Commit 2deb6056 authored by sunyuhua's avatar sunyuhua

成绩审核的后台代码,提交成绩计算配速,里程的代码

parent 0438868b
......@@ -8,10 +8,9 @@ import java.util.List;
@Data
public class UserScore {
//报名iD
private String markNo;
//报名iD
private Integer cmptId;
private Integer roadId;
private Integer indexId;
......
......@@ -97,10 +97,10 @@ public class CmptScoreRuleScoreInfoService {
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;
// //将成绩插入到计时系统,以便出完赛证书
// String records=markNo+","+DateUtil.formatDate((Long)scoreResult.get("userTotalScore"))+",3";
// boolean timeFlag=remoteService.uploadTimeScore(cmptId,records);
return enrollFlag;
}
return false;
}
......
......@@ -564,5 +564,33 @@ public class RemoteService {
return false;
}
/**
* 获取赛程的信息
* @param cmptId
* @param roadId
* @return
*/
public HashMap<String,Object> getTimeSegInfoByRoadId(Integer cmptId,Integer roadId) {
ResponseEntity<String> forEntity = restTemplate.getForEntity(timerURL + "getRoad.do?cmptId="+ cmptId + "&roadId="+roadId, String.class);
HashMap<String,Object> segInfo=new HashMap<>();
if (forEntity.getStatusCode() == HttpStatus.OK) {
List<RoadsGpsCheckpointMap> roadsGpsCheckpointMapList = new ArrayList<>();
String resultString = forEntity.getBody();
log.info("计时打卡点:" + resultString);
JSONObject object = JSONObject.parseObject(resultString);
JSONObject roadJsonObject=object.getJSONObject("road");
JSONArray segsResult = roadJsonObject.getJSONArray("segs");
if(segsResult == null || segsResult.isEmpty()) return null;
//支持多日赛
for(int j=0;j<segsResult.size();j++) {
JSONObject resultObject = (JSONObject) segsResult.get(j);
int distance=resultObject.getInteger("distance");
segInfo.put("distance",distance);
}
return segInfo;
} else {
return null;
}
}
}
......@@ -880,10 +880,25 @@ public class MicroApiController {
.setRuleId(rule.getId())
.setScoreItemId(scoreItemResult.getContent().getId()));
*/
//根据里程计算配速,里程来自用户自己填写的里程或者来自项目的里程
int duration=score.getScore().getDuration();
int cmptPace=0;
int mileage=0;
FuncSetting settingByCmptId = funcSettingService.getSettingByCmptId(score.getCmptId());
int isHasMileage=settingByCmptId.getMileage();
if(isHasMileage==1){
mileage=score.getScore().getMileage();
cmptPace=duration/mileage;
}else{
int distance=(int)remoteService.getTimeSegInfoByRoadId(score.getCmptId(),score.getRoadId()).get("distance");
mileage=distance;
cmptPace=duration/mileage;
}
//前端上传json中取出里程,耗时,提交时间,赛事地,规则id,markNo
int mileage=score.getScore().getMileage();
CmptScoreRuleScoreInfo CmptScoreRuleScoreInfo = new CmptScoreRuleScoreInfo()
.setSubsectionscore(score.getScore().getDuration()).setSubsectionMileage(mileage)
.setSubsectionscore(score.getScore().getDuration()).setSubsectionMileage(mileage).setCmptPace(cmptPace)
.setSubsectionTime(score.getScore().getDate())
.setCmptId(score.getCmptId()).setRuleId(rule.getId()).setMarkNo(score.getMarkNo());
// 保存校验通过的成绩
......@@ -897,7 +912,6 @@ public class MicroApiController {
// 提交成绩保存设置附加项(照片等)
cmptScoreFieldValueService.saveOrUpdate(score.getFields());
//查看自动审核是否开启,如果开启直接将总成绩存入到计时系统remark1,如果没有开启走手动审核的逻辑
FuncSetting settingByCmptId = funcSettingService.getSettingByCmptId(score.getCmptId());
cmptScoreRuleScoreInfoService.scoreReviewByMarkNo(score.getCmptId(),score.getMarkNo(),settingByCmptId.getSwitchScoreReview());
return Result.success().setContent(score);
}
......
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