Commit 1f91ddf2 authored by yangshuxing's avatar yangshuxing

Merge remote-tracking branch 'origin/master'

# Conflicts:
#	src/main/java/com/dlbridge/jadp/plugins/cmpt/web/ScoreReviewController.java
parents 6c63343e 0fda7af5
...@@ -310,6 +310,12 @@ ...@@ -310,6 +310,12 @@
<artifactId>javase</artifactId> <artifactId>javase</artifactId>
<version>3.4.0</version> <version>3.4.0</version>
</dependency> </dependency>
<!--分页插架-->
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>1.2.13</version>
</dependency>
</dependencies> </dependencies>
<repositories> <repositories>
......
...@@ -10,6 +10,9 @@ import org.springframework.web.bind.annotation.PathVariable; ...@@ -10,6 +10,9 @@ import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestMethod;
/**
* 废弃单独处理成绩工程
*/
@FeignClient(name = "SCORE-SERVICE", configuration = FeignConfig.class, fallbackFactory = ScoreFallbackFactory.class) @FeignClient(name = "SCORE-SERVICE", configuration = FeignConfig.class, fallbackFactory = ScoreFallbackFactory.class)
@RequestMapping("score") @RequestMapping("score")
public interface ScoreService { public interface ScoreService {
......
...@@ -6,20 +6,22 @@ import com.fasterxml.jackson.annotation.JsonIgnore; ...@@ -6,20 +6,22 @@ import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data; import lombok.Data;
import lombok.experimental.Accessors; import lombok.experimental.Accessors;
/**
* 规则提交成绩的
* gk_cmpt_score_rule_scoreinfo
*/
@Data @Data
@Accessors(chain = true) @Accessors(chain = true)
public class ScoreItem { public class ScoreItem {
private Integer id; private Integer id;
private Integer cmptId; private Integer cmptId;
private Integer cmptScoreId; private Integer ruleId;
private String subsectionName; private String markNo;
@JsonFormat(pattern = "yyyy-MM-dd") @JsonFormat(pattern = "yyyy-MM-dd")
private String subsectionTime; private String subsectionTime;
private Integer subsectionscore; private Integer subsectionscore;
private Integer subsectionMileage; private Integer subsectionMileage;
private Integer subsectionRankNo;
private String subsectionRemark;
private Integer isDelete; private Integer isDelete;
private String insertTime; private String insertTime;
private String updateTime; private String updateTime;
......
package com.dlbridge.jadp.plugins.cmpt.bean;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import lombok.experimental.Accessors;
@Setter
@Getter
@Accessors(chain = true)
@ApiModel(value = "用户提交的成绩", description = "用户提交的成绩")
@ToString
public class CmptScoreRuleScoreInfo {
private int cmptId;
private int ruleId;
private String markNo;
@JsonFormat(pattern = "yyyy-MM-dd")
private String subsectionTime;
private Integer subsectionscore;
private Integer subsectionMileage;
private Integer isDelete;
private String insertTime;
private String updateTime;
}
...@@ -26,6 +26,8 @@ public class FuncSetting { ...@@ -26,6 +26,8 @@ public class FuncSetting {
private Integer banner; private Integer banner;
@ApiModelProperty(value = "里程开关,小程序成绩提交页面") @ApiModelProperty(value = "里程开关,小程序成绩提交页面")
private Integer mileage; private Integer mileage;
@ApiModelProperty(value = "成绩自动审核开关,后台成绩审核页面")
private Integer switchScoreReview;
@JsonIgnore @JsonIgnore
private String newsAlias; private String newsAlias;
} }
package com.dlbridge.jadp.plugins.cmpt.bean; package com.dlbridge.jadp.plugins.cmpt.bean;
import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data;
import java.util.List; import java.util.List;
public class UserScoreExcelBean { public class UserScoreExcelBean {
@JsonIgnore @JsonIgnore
......
...@@ -31,12 +31,27 @@ public interface CmptScoreRuleMapper { ...@@ -31,12 +31,27 @@ public interface CmptScoreRuleMapper {
*/ */
public void update(@Param("cmptScoreRule") CmptScoreRule cmptScoreRule); public void update(@Param("cmptScoreRule") CmptScoreRule cmptScoreRule);
/**
* 数据库根据indexId获取是本赛事的规则详情
* @param cmptId
* @param indexId
* @return
*/
CmptScoreRule getCmptScoreRulesByCmptIdAndIndex(@Param("cmptId") Integer cmptId,@Param("indexId") Integer indexId); CmptScoreRule getCmptScoreRulesByCmptIdAndIndex(@Param("cmptId") Integer cmptId,@Param("indexId") Integer indexId);
int saveScoreRuleMap(@Param("scoreRuleMap") ScoreRuleMap scoreRuleMap); int saveScoreRuleMap(@Param("scoreRuleMap") ScoreRuleMap scoreRuleMap);
Integer getCmptScoreRulesMapBymarkNoAndRuleId(@Param("markNo") String markNo,@Param("ruleId") Integer ruleId); Integer getCmptScoreRulesMapBymarkNoAndRuleId(@Param("markNo") String markNo,@Param("ruleId") Integer ruleId);
/**
* 根据markNO和ruleId,检查本条规则,这个号码牌是否提交过成绩
* @param cmptId
* @param markNo
* @param ruleId
* @return
*/
Integer getCmptScoreRulesMapBymarkNoAndRuleId(@Param("cmptId") Integer cmptId,@Param("markNo") String markNo,@Param("ruleId") Integer ruleId);
CmptScoreRule getCmptScoreRulesById(int id); CmptScoreRule getCmptScoreRulesById(int id);
void delete(int id); void delete(int id);
......
...@@ -44,11 +44,17 @@ ...@@ -44,11 +44,17 @@
) )
</insert> </insert>
<!--2020-05-14合并表gk_cmpt_score_rule_map不在使用
<select id="getCmptScoreRulesMapBymarkNoAndRuleId" resultType="java.lang.Integer"> <select id="getCmptScoreRulesMapBymarkNoAndRuleId" resultType="java.lang.Integer">
select score_item_id scoreItemId select score_item_id scoreItemId
from gk_cmpt_score_rule_map from gk_cmpt_score_rule_map
where mark_no=#{markNo} and rule_id=#{ruleId} where mark_no=#{markNo} and rule_id=#{ruleId}
</select> </select>
-->
<select id="getCmptScoreRulesMapBymarkNoAndRuleId" resultType="java.lang.Integer">
select rule_id as scoreItemId from gk_cmpt_score_rule_scoreinfo where mark_no=#{markNo} and rule_id=#{ruleId} and cmptId=#{cmptId}
</select>
<delete id="delete"> <delete id="delete">
delete from gk_cmpt_score_rule where id = #{id} delete from gk_cmpt_score_rule where id = #{id}
......
package com.dlbridge.jadp.plugins.cmpt.dao.mapper;
import com.dlbridge.feign.bean.ScoreItem;
import com.dlbridge.jadp.plugins.cmpt.bean.CmptScoreRuleScoreInfo;
import com.dlbridge.jadp.plugins.cmpt.bean.UserScoreExcelBean;
import java.util.List;
public interface CmptScoreRuleScoreInfoMapper {
/**
* 保存用户提交的成绩
* @param cmptScoreRuleScoreInfo
*/
void saveScoreRuleScoreInfo(CmptScoreRuleScoreInfo cmptScoreRuleScoreInfo);
/**
* 根据号码牌获取用户的成绩
* @param cmptId
* @param markNo
* @return
*/
List<CmptScoreRuleScoreInfo> getScoreRuleScoreInfoByMarkNo(Integer cmptId, String markNo);
/**
*
* 根据号码牌,ruleID,查询是否已经提交过成绩
* @param cmptId
* @param markNo
* @param ruleId
* @return
*/
Integer getCmptScoreRuleScoreInfoIdByruleIdAndMarkNo(Integer cmptId,String markNo,int ruleId);
}
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.dlbridge.jadp.plugins.cmpt.dao.mapper.CmptScoreRuleScoreInfoMapper">
<insert id="saveScoreRuleScoreInfo" useGeneratedKeys="true" keyProperty="id" keyColumn="id">
INSERT INTO gk_cmpt_score_rule_scoreinfo(cmptId,rule_id,mark_no,subsectionTime,subsectionscore,subsectionMileage,insertTime,updateTime)
VALUES(#{scoreItem.cmptId},#{scoreItem.ruleId},#{scoreItem.markNo},#{scoreItem.subsectionTime},#{scoreItem.subsectionscore},#{scoreItem.subsectionMileage},now(),now())
</insert>
<select id="getUserScoreinfoByMarkNo" resultType="com.dlbridge.jadp.plugins.cmpt.bean.CmptScoreRuleScoreInfo">
select id,cmptId,rule_id as ruleId,mark_no as markNo,subsectionTime,subsectionscore,subsectionMileage from gk_cmpt_score_rule_scoreinfo where cmptId=#{cmptId} and mark_no=#{markNo}
</select>
<select id="getCmptScoreRuleScoreInfoIdByruleIdAndMarkNo" resultType="int">
select id from gk_cmpt_score_rule_scoreinfo where cmptId=#{cmptId} and rule_id=#{ruleId} and mark_no=#{markNo}
</select>
</mapper>
\ No newline at end of file
...@@ -3,8 +3,8 @@ ...@@ -3,8 +3,8 @@
<mapper namespace="com.dlbridge.jadp.plugins.cmpt.dao.mapper.FuncSettingMapper"> <mapper namespace="com.dlbridge.jadp.plugins.cmpt.dao.mapper.FuncSettingMapper">
<insert id="saveSetting"> <insert id="saveSetting">
insert into gk_cmpt_func(cmpt_id,switch_mobile,switch_countdown,switch_news,switch_banner,switch_mileage,create_date) insert into gk_cmpt_func(cmpt_id,switch_mobile,switch_countdown,switch_news,switch_banner,switch_mileage,switch_scoreReview,create_date)
values (#{setting.cmptId},#{setting.mobile},#{setting.countDown},#{setting.news},#{setting.banner},0,now()) values (#{setting.cmptId},#{setting.mobile},#{setting.countDown},#{setting.news},#{setting.banner},#{setting.mileage},#{setting.switchScoreReview},now())
</insert> </insert>
...@@ -29,6 +29,9 @@ ...@@ -29,6 +29,9 @@
<if test="setting.mileage != null"> <if test="setting.mileage != null">
switch_mileage=#{setting.mileage} switch_mileage=#{setting.mileage}
</if> </if>
<if test="setting.switchScoreReview != null">
switch_scoreReview=#{setting.switchScoreReview}
</if>
</set> </set>
where cmpt_id = #{setting.cmptId} where cmpt_id = #{setting.cmptId}
</update> </update>
...@@ -36,7 +39,7 @@ ...@@ -36,7 +39,7 @@
<select id="getSettingByCmptId" resultType="com.dlbridge.jadp.plugins.cmpt.bean.FuncSetting"> <select id="getSettingByCmptId" resultType="com.dlbridge.jadp.plugins.cmpt.bean.FuncSetting">
select cmpt_id cmptId,switch_mobile mobile, select cmpt_id cmptId,switch_mobile mobile,
switch_countdown countdown, switch_countdown countdown,
switch_news news,switch_banner banner,news_alias newsAlias,switch_mileage mileage switch_news news,switch_banner banner,news_alias newsAlias,switch_mileage mileage,switch_scoreReview switchScoreReview
from gk_cmpt_func from gk_cmpt_func
where cmpt_id=#{cmptId} where cmpt_id=#{cmptId}
</select> </select>
......
package com.dlbridge.jadp.plugins.cmpt.dao.mapper;
public interface ScoreReviewMapper {
}
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.dlbridge.jadp.plugins.cmpt.dao.mapper.ScoreReviewMapper">
<select id="queryRoads" resultType="com.dlbridge.jadp.plugins.cmpt.bean.Road">
select road_id roadId,cmpt_id cmptId,road_name name,file_name fileName,file_url fileUrl,times,file_size fileSize
from gk_road
where cmpt_id = #{cmptId} and is_delete = 0
</select>
<update id="delete">
update gk_road set is_delete = 1 where road_id = #{roadId}
</update>
<update id="update">
update gk_road
<set>
<if test="road.name != null">
road_name = #{road.name},
</if>
<if test="road.fileSize > 0">
file_size = #{road.fileSize},
</if>
<if test="road.fileName != null">
file_name = #{road.fileName},
</if>
<if test="road.fileUrl != null">
file_url = #{road.fileUrl}
</if>
</set>
where road_id = #{road.roadId}
</update>
</mapper>
\ No newline at end of file
package com.dlbridge.jadp.plugins.cmpt.service;
import com.dlbridge.feign.bean.ScoreItem;
import com.dlbridge.jadp.plugins.cmpt.bean.CmptScoreRuleScoreInfo;
import com.dlbridge.jadp.plugins.cmpt.bean.UserScoreExcelBean;
import com.dlbridge.jadp.plugins.cmpt.dao.mapper.CmptScoreRuleScoreInfoMapper;
import com.dlbridge.jadp.plugins.cmpt.utils.date.DateUtil;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.HashMap;
import java.util.List;
/**
* 保存各个规则下用户提交的成绩
*/
@Service
@Transactional
public class CmptScoreRuleScoreInfoService {
@Resource
CmptScoreRuleScoreInfoMapper cmptScoreRuleScoreInfoMapper;
@Resource
RemoteService remoteService;
/**
* 保存用户提交的成绩,每一天规则对应一条成绩
* @param cmptScoreRuleScoreInfo
*/
public void saveScoreRuleScoreInfo(CmptScoreRuleScoreInfo cmptScoreRuleScoreInfo){
cmptScoreRuleScoreInfoMapper.saveScoreRuleScoreInfo(cmptScoreRuleScoreInfo);
}
/**
* 根据markNo获取用户成绩
* @param cmptId
* @param markNo
* @return
*/
public HashMap<String,Object> getUserScoreByMarkNo(Integer cmptId,String markNo){
//根据号码牌获取所有成绩记录
List<CmptScoreRuleScoreInfo> cmptScoreRuleScoreInfoList=cmptScoreRuleScoreInfoMapper.getScoreRuleScoreInfoByMarkNo(cmptId,markNo);
//计算成绩之和
long userTotalScore=cmptScoreRuleScoreInfoList.stream().mapToInt(CmptScoreRuleScoreInfo::getSubsectionscore).sum();
//计算里程之和
int userTotalMileage=cmptScoreRuleScoreInfoList.stream().mapToInt(CmptScoreRuleScoreInfo::getSubsectionMileage).sum();
HashMap<String,Object> userScore=new HashMap<>();
userScore.put("userTotalScore",userTotalScore);
userScore.put("userTotalMileage",userTotalMileage);
return userScore;
}
/**
* 根据赛事ID,号码牌,成绩提交的规则,查看是否已经提交过成绩
* @param cmptId
* @param markNo
* @param ruleId
* @return
*/
public Integer getCmptScoreRuleScoreInfoIdByruleIdAndMarkNo(Integer cmptId,String markNo,int ruleId){
return cmptScoreRuleScoreInfoMapper.getCmptScoreRuleScoreInfoIdByruleIdAndMarkNo(cmptId,markNo,ruleId);
}
}
...@@ -42,6 +42,12 @@ public class CmptScoreRuleService { ...@@ -42,6 +42,12 @@ public class CmptScoreRuleService {
return cmptScoreRuleMapper.getCmptScoreRuleByCmptId(cmptId); return cmptScoreRuleMapper.getCmptScoreRuleByCmptId(cmptId);
} }
/**
* 获取第几条成绩上传规则,数据库是否存在
* @param cmptId
* @param indexId
* @return
*/
public CmptScoreRule getCmptScoreRulesByCmptIdAndIndex(Integer cmptId, Integer indexId) { public CmptScoreRule getCmptScoreRulesByCmptIdAndIndex(Integer cmptId, Integer indexId) {
return cmptScoreRuleMapper.getCmptScoreRulesByCmptIdAndIndex(cmptId,indexId); return cmptScoreRuleMapper.getCmptScoreRulesByCmptIdAndIndex(cmptId,indexId);
} }
...@@ -50,6 +56,7 @@ public class CmptScoreRuleService { ...@@ -50,6 +56,7 @@ public class CmptScoreRuleService {
return cmptScoreRuleMapper.saveScoreRuleMap(scoreRuleMap); return cmptScoreRuleMapper.saveScoreRuleMap(scoreRuleMap);
} }
public Integer getCmptScoreRulesMapByMarkNoAndRuleId(String markNo, Integer ruleid) { public Integer getCmptScoreRulesMapByMarkNoAndRuleId(String markNo, Integer ruleid) {
return cmptScoreRuleMapper.getCmptScoreRulesMapBymarkNoAndRuleId(markNo,ruleid); return cmptScoreRuleMapper.getCmptScoreRulesMapBymarkNoAndRuleId(markNo,ruleid);
} }
...@@ -81,4 +88,7 @@ public class CmptScoreRuleService { ...@@ -81,4 +88,7 @@ public class CmptScoreRuleService {
public Integer getCmptScoreRulesMapByMarkNoAndScoreId(String markNo, Integer scoreItemId) { public Integer getCmptScoreRulesMapByMarkNoAndScoreId(String markNo, Integer scoreItemId) {
return cmptScoreRuleMapper.getCmptScoreRulesMapByMarkNoAndScoreId(markNo,scoreItemId); return cmptScoreRuleMapper.getCmptScoreRulesMapByMarkNoAndScoreId(markNo,scoreItemId);
} }
} }
package com.dlbridge.jadp.plugins.cmpt.service; package com.dlbridge.jadp.plugins.cmpt.service;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.dlbridge.jadp.plugins.cmpt.bean.*; import com.dlbridge.jadp.plugins.cmpt.bean.*;
import com.dlbridge.jadp.plugins.cmpt.dao.mapper.CmptMapper;
import com.dlbridge.jadp.plugins.cmpt.dao.model.Cmpt; import com.dlbridge.jadp.plugins.cmpt.dao.model.Cmpt;
import io.swagger.annotations.ApiModelProperty;
import lombok.extern.log4j.Log4j2; import lombok.extern.log4j.Log4j2;
import org.apache.commons.lang3.math.NumberUtils; import org.apache.commons.lang3.math.NumberUtils;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
...@@ -16,7 +15,6 @@ import org.springframework.web.client.RestTemplate; ...@@ -16,7 +15,6 @@ import org.springframework.web.client.RestTemplate;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
...@@ -527,5 +525,44 @@ public class RemoteService { ...@@ -527,5 +525,44 @@ public class RemoteService {
} }
/**
* 根据号码牌更新计时系统的remark值,以便方便做完赛证书。
* http://testtimerbackend.geexek.cn/updateUserEnroll.do?personEnroll
* ={"cmptId":"11849","markNo":"A001","deviceId":"A001","remark":"2","remark3":"1","remark2":"3","remark4":"4","remark5":"5","remark6":"6","remark7":"7"}
* @param cmptEnrollInfo
* @return
*/
public boolean mergePersonEnrollByMarkNo(HashMap<String,Object> cmptEnrollInfo){
String cmptEnrolljson= JSON.toJSONString(cmptEnrollInfo);
ResponseEntity<String> forEntity = restTemplate.getForEntity(timerURL + "updateUserEnroll.do?personEnroll="+cmptEnrolljson, String.class);
if (forEntity.getStatusCode() == HttpStatus.OK) {
String resultString = forEntity.getBody();
JSONObject object = JSONObject.parseObject(resultString);
if(object.getInteger("status")==0){
return true;
}
}
return false;
}
/**
* 调用计时系统的接口,将成绩上传,以作为证书的完赛标志
* http://testtimerbackend.geexek.cn/cmpt/recordUploadExtend.do?cmptId=11849&records=A001,00:35:15.223,3,27489
* @param cmptId
* @param records
* @return
*/
public boolean uploadTimeScore(int cmptId,String records){
ResponseEntity<String> forEntity = restTemplate.getForEntity(timerURL + "cmpt/recordUploadExtend.do?cmptId"+cmptId+"&records="+records, String.class);
if (forEntity.getStatusCode() == HttpStatus.OK) {
String resultString = forEntity.getBody();
JSONObject object = JSONObject.parseObject(resultString);
if(object.getInteger("message")==0){
return true;
}
}
return false;
}
} }
package com.dlbridge.jadp.plugins.cmpt.service;
import com.dlbridge.jadp.plugins.cmpt.bean.ScoreExcelBean;
import com.dlbridge.jadp.plugins.cmpt.utils.date.DateUtil;
import lombok.extern.log4j.Log4j2;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.HashMap;
/**
* 成绩审核的service
*/
@Service
@Log4j2
public class ScoreReviewService {
@Resource
RemoteService remoteService;
@Resource
CmptScoreRuleScoreInfoService cmptScoreRuleScoreInfoService;
/**
* 根据号码牌自动审核成绩
* 查出总成绩,并把成绩发送给计时系统
* @param cmptId
* @param markNo
*/
public boolean scoreReviewByMarkNo(int cmptId, String markNo, int SwitchScoreReview){
//成绩自动审核开启SwitchScoreReview==1
if(SwitchScoreReview==1){
//根据赛事id和号码牌查出总成绩
HashMap<String,Object> scoreResult=cmptScoreRuleScoreInfoService.getUserScoreByMarkNo(cmptId,markNo);
//将数据都插入计时系统的名单中
HashMap<String,Object> cmptEnrollInfo=new HashMap<>();
cmptEnrollInfo.put("cmptId",cmptId);
cmptEnrollInfo.put("markNo",markNo);
cmptEnrollInfo.put("deviceId",markNo);
cmptEnrollInfo.put("remark", DateUtil.formatDate((Long)scoreResult.get("userTotalScore")));
cmptEnrollInfo.put("remark2",String.valueOf(((int)scoreResult.get("userTotalMileage")/100d)/10d));
boolean enrollFlag=remoteService.mergePersonEnrollByMarkNo(cmptEnrollInfo);
//将成绩插入到计时系统,以便出完赛证书
String records=markNo+","+DateUtil.formatDate((Long)scoreResult.get("userTotalScore"))+",3";
boolean timeFlag=remoteService.uploadTimeScore(cmptId,records);
return enrollFlag&timeFlag;
}
return false;
}
}
...@@ -13,6 +13,9 @@ import org.springframework.web.bind.annotation.RestController; ...@@ -13,6 +13,9 @@ import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.List; import java.util.List;
/**
* 广告位,倒计时,小程序提交成绩里程,自动审核成绩的开关设置controller
*/
@RestController @RestController
@RequestMapping("/setting") @RequestMapping("/setting")
public class FuncSettingController { public class FuncSettingController {
...@@ -64,4 +67,25 @@ public class FuncSettingController { ...@@ -64,4 +67,25 @@ public class FuncSettingController {
} }
return Result.success(); return Result.success();
} }
/**
* 成绩审核页面的成绩审核开关,1为开,0为关,开启之后用户提交成绩直接出完赛证书
* @param cmptId
* @param switchScoreReview
* @return
*/
@RequestMapping("/upSwitchScoreReview/{cmptId}/{switchScoreReview}")
public Result upSwitchScoreReview(@PathVariable("cmptId") int cmptId,@PathVariable("switchScoreReview") int switchScoreReview){
FuncSetting setting=new FuncSetting();
setting.setCmptId(cmptId);
setting.setSwitchScoreReview(switchScoreReview);
FuncSetting settingByCmptId = funcSettingService.getSettingByCmptId(cmptId);
if (settingByCmptId == null) {
funcSettingService.saveSetting(setting);
}else {
funcSettingService.updateSetting(setting);
}
return Result.success();
}
} }
...@@ -15,6 +15,7 @@ import com.dlbridge.jadp.plugins.cmpt.dao.model.Manual; ...@@ -15,6 +15,7 @@ import com.dlbridge.jadp.plugins.cmpt.dao.model.Manual;
import com.dlbridge.jadp.plugins.cmpt.dao.model.NameList; import com.dlbridge.jadp.plugins.cmpt.dao.model.NameList;
import com.dlbridge.jadp.plugins.cmpt.service.*; import com.dlbridge.jadp.plugins.cmpt.service.*;
import com.dlbridge.jadp.plugins.cmpt.utils.*; import com.dlbridge.jadp.plugins.cmpt.utils.*;
import com.dlbridge.jadp.plugins.cmpt.utils.date.DateUtil;
import com.google.common.reflect.TypeToken; import com.google.common.reflect.TypeToken;
import com.google.gson.Gson; import com.google.gson.Gson;
import com.dlbridge.feign.bean.News; import com.dlbridge.feign.bean.News;
...@@ -120,6 +121,11 @@ public class MicroApiController { ...@@ -120,6 +121,11 @@ public class MicroApiController {
private FuncSettingService funcSettingService; private FuncSettingService funcSettingService;
@Resource @Resource
private RoadsGpsCheckpointService roadsGpsCheckpointService; private RoadsGpsCheckpointService roadsGpsCheckpointService;
@Resource
private ScoreReviewService scoreReviewService;
@Resource
private CmptScoreRuleScoreInfoService cmptScoreRuleScoreInfoService;
/** /**
* @return * @return
*/ */
...@@ -839,50 +845,64 @@ public class MicroApiController { ...@@ -839,50 +845,64 @@ public class MicroApiController {
log.info("contentType:"+contentType+",body:"+sb.toString()); log.info("contentType:"+contentType+",body:"+sb.toString());
UserScore score = JSONObject.parseObject(sb.toString(), UserScore.class); UserScore score = JSONObject.parseObject(sb.toString(), UserScore.class);
log.info(score); log.info(score);
//接受前端提交的成绩,校验是否符合规则,并取出本条规则
CmptScoreRule rule = cmptScoreRuleService.getCmptScoreRulesByCmptIdAndIndex(score.getCmptId(),score.getIndexId()); CmptScoreRule rule = cmptScoreRuleService.getCmptScoreRulesByCmptIdAndIndex(score.getCmptId(),score.getIndexId());
if(rule == null) return Result.fail().setMsg("未找到规则"); if(rule == null) return Result.fail().setMsg("未找到规则");
//判断此条规则是否提交过成绩
Integer scoreId = cmptScoreRuleService.getCmptScoreRulesMapByMarkNoAndRuleId(score.getMarkNo(), rule.getId()); Integer scoreId = cmptScoreRuleService.getCmptScoreRulesMapByMarkNoAndRuleId(score.getCmptId(),score.getMarkNo(),rule.getId());
if(scoreId != null){ if(scoreId != null){
return Result.fail().setMsg("已经上传过成绩!"); return Result.fail().setMsg("已经上传过成绩!");
} }
//前端上传的里程数 /**
* 2020-05-14废弃了通过其他微服务存储成绩的方法
*
*
int mileage=score.getScore().getMileage(); int mileage=score.getScore().getMileage();
ScoreItem scoreItem = new ScoreItem() ScoreItem scoreItem = new ScoreItem()
.setSubsectionscore(score.getScore().getDuration()).setSubsectionMileage(mileage) .setSubsectionscore(score.getScore().getDuration()).setSubsectionMileage(mileage)
.setSubsectionTime(score.getScore().getDate()) .setSubsectionTime(score.getScore().getDate())
.setCmptId(score.getCmptId()) .setCmptId(score.getCmptId()).setRuleId(rule.getId()).setMarkNo(score.getMarkNo());
.setCmptScoreId(1); //前端小程序只提交日期
String date = score.getScore().getDate()+" 12:00:00";
/*Date date1 = new Date(); Date date1 = DateUtils.parseDate(date);
Date endTime = rule.getEndTime(); Date endTime = rule.getEndTime();
Date startTime = rule.getStartTime(); Date startTime = rule.getStartTime();
//规则的校验
if(date1.before(startTime) || date1.after(endTime)){ if(date1.before(startTime) || date1.after(endTime)){
return Result.fail().setMsg("上传的时间不符合设定的时间范围,需上传时间范围:"+format.format(startTime)+"~"+format.format(endTime)); return Result.fail().setMsg("上传的时间不符合设定的时间范围,需上传时间范围:"+format.format(startTime)+"~"+format.format(endTime));
}*/ }
// 保存成绩
Result<ScoreItem> scoreItemResult = scoreService.saveItem(scoreItem); Result<ScoreItem> scoreItemResult = scoreService.saveItem(scoreItem);
log.info(scoreItemResult); log.info(scoreItemResult);
if(!scoreItemResult.isStatus()){ if(!scoreItemResult.isStatus()){
log.info("调用失败"); log.info("调用失败");
return Result.fail().setMsg("feign fail"); return Result.fail().setMsg("feign fail");
} }
// 保存成绩和用户关系 // 保存成绩和用户关系
cmptScoreRuleService.saveScoreRuleMap(new ScoreRuleMap() cmptScoreRuleService.saveScoreRuleMap(new ScoreRuleMap()
.setMarkNo(score.getMarkNo()) .setMarkNo(score.getMarkNo())
.setRuleId(rule.getId()) .setRuleId(rule.getId())
.setScoreItemId(scoreItemResult.getContent().getId())); .setScoreItemId(scoreItemResult.getContent().getId()));
*/
//前端上传json中取出里程,耗时,提交时间,赛事地,规则id,markNo
int mileage=score.getScore().getMileage();
CmptScoreRuleScoreInfo CmptScoreRuleScoreInfo = new CmptScoreRuleScoreInfo()
.setSubsectionscore(score.getScore().getDuration()).setSubsectionMileage(mileage)
.setSubsectionTime(score.getScore().getDate())
.setCmptId(score.getCmptId()).setRuleId(rule.getId()).setMarkNo(score.getMarkNo());
// 保存校验通过的成绩
cmptScoreRuleScoreInfoService.saveScoreRuleScoreInfo(CmptScoreRuleScoreInfo);
//设置附加项的参数,并保存附加项
for(CmptScoreFieldValue value : score.getFields()){ for(CmptScoreFieldValue value : score.getFields()){
value.setCmptId(score.getCmptId()); value.setCmptId(score.getCmptId());
value.setMarkNo(score.getMarkNo()); value.setMarkNo(score.getMarkNo());
value.setRuleId(rule.getId()); value.setRuleId(rule.getId());
} }
// 保存设置附加项 // 提交成绩保存设置附加项(照片等)
cmptScoreFieldValueService.saveOrUpdate(score.getFields()); cmptScoreFieldValueService.saveOrUpdate(score.getFields());
//查看自动审核是否开启,如果开启直接将总成绩存入到计时系统remark1,如果没有开启走手动审核的逻辑
FuncSetting settingByCmptId = funcSettingService.getSettingByCmptId(score.getCmptId());
scoreReviewService.scoreReviewByMarkNo(score.getCmptId(),score.getMarkNo(),settingByCmptId.getSwitchScoreReview());
return Result.success().setContent(score); return Result.success().setContent(score);
} }
...@@ -907,8 +927,8 @@ public class MicroApiController { ...@@ -907,8 +927,8 @@ public class MicroApiController {
Integer scoreItemId = cmptScoreRuleService.getCmptScoreRulesMapByMarkNoAndRuleId(userInfo.getMarkNo(),rule.getId()); Integer scoreItemId = cmptScoreRuleService.getCmptScoreRulesMapByMarkNoAndRuleId(userInfo.getMarkNo(),rule.getId());
//小程序添加里程的是否需要用户填写 //小程序添加里程的是否需要用户填写
FuncSetting funcSetting = funcSettingService.getSettingByCmptId(score.getCmptId()); FuncSetting funcSetting =funcSettingService.getSettingByCmptId(score.getCmptId());
Integer switchMileage = funcSetting.getMileage(); Integer switchMileage=funcSetting.getMileage();
Integer subsectionMileage=0; Integer subsectionMileage=0;
if(scoreItemId != null){ if(scoreItemId != null){
...@@ -919,13 +939,9 @@ public class MicroApiController { ...@@ -919,13 +939,9 @@ public class MicroApiController {
}else{ }else{
subsectionMileage=content.getSubsectionMileage(); subsectionMileage=content.getSubsectionMileage();
} }
result.put("score",new Score().setDate(content.getSubsectionTime().substring(0,10)) result.put("score",new Score().setDate(content.getSubsectionTime().substring(0,10)).setDuration(content.getSubsectionscore()).setMileage(subsectionMileage).setSwitchMileage(switchMileage));
.setDuration(content.getSubsectionscore())
.setMileage(subsectionMileage).setSwitchMileage(switchMileage));
}else{ //初始阶段没有上传成绩,json也显示score,方便前端判断 }else{ //初始阶段没有上传成绩,json也显示score,方便前端判断
result.put("score",new Score().setDate("0000-00-00") result.put("score",new Score().setDate("0000-00-00").setDuration(0).setMileage(subsectionMileage).setSwitchMileage(switchMileage));
.setDuration(0).setMileage(subsectionMileage)
.setSwitchMileage(switchMileage));
} }
......
package com.dlbridge.jadp.plugins.cmpt.web; package com.dlbridge.jadp.plugins.cmpt.web;
import com.dlbridge.jadp.common.interceptor.PageView;
import com.dlbridge.jadp.plugins.cmpt.dao.model.Cmpt;
import com.dlbridge.jadp.plugins.cmpt.service.CmptService;
import lombok.extern.log4j.Log4j2; import lombok.extern.log4j.Log4j2;
import org.springframework.stereotype.Controller; import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
import springfox.documentation.annotations.ApiIgnore; import springfox.documentation.annotations.ApiIgnore;
import javax.annotation.Resource; /**
* 成绩审核功能
*/
@Controller @Controller
@Log4j2 @Log4j2
@RequestMapping("gk/review/") @RequestMapping("gk/scoreReview/")
@ApiIgnore @ApiIgnore
public class ScoreReviewController { public class ScoreReviewController {
@Resource
private CmptService cmptService;
@RequestMapping("index/{cmptId}")
@PageView
public ModelAndView index(@PathVariable("cmptId") Integer cmptId, ModelAndView mv) {
Cmpt cmpt = cmptService.queryCmptBycmptId(cmptId);
mv.setViewName("cmpt/score_review");
mv.addObject("cmpt", cmpt);
return mv;
}
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment