Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
G
gk
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
micro_app
gk
Commits
0fda7af5
Commit
0fda7af5
authored
May 15, 2020
by
sunyuhua
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
成绩自动提交后台代码
parent
c8709f7c
Hide whitespace changes
Inline
Side-by-side
Showing
20 changed files
with
424 additions
and
45 deletions
+424
-45
pom.xml
pom.xml
+6
-0
ScoreService.java
src/main/java/com/dlbridge/feign/ScoreService.java
+3
-0
ScoreItem.java
src/main/java/com/dlbridge/feign/bean/ScoreItem.java
+6
-4
CmptScoreRuleScoreInfo.java
...bridge/jadp/plugins/cmpt/bean/CmptScoreRuleScoreInfo.java
+28
-0
FuncSetting.java
...java/com/dlbridge/jadp/plugins/cmpt/bean/FuncSetting.java
+2
-0
UserScoreExcelBean.java
...m/dlbridge/jadp/plugins/cmpt/bean/UserScoreExcelBean.java
+1
-1
CmptScoreRuleMapper.java
...dge/jadp/plugins/cmpt/dao/mapper/CmptScoreRuleMapper.java
+15
-0
CmptScoreRuleMapper.xml
...idge/jadp/plugins/cmpt/dao/mapper/CmptScoreRuleMapper.xml
+6
-0
CmptScoreRuleScoreInfoMapper.java
...plugins/cmpt/dao/mapper/CmptScoreRuleScoreInfoMapper.java
+35
-0
CmptScoreRuleScoreInfoMapper.xml
.../plugins/cmpt/dao/mapper/CmptScoreRuleScoreInfoMapper.xml
+16
-0
FuncSettingMapper.xml
...bridge/jadp/plugins/cmpt/dao/mapper/FuncSettingMapper.xml
+6
-3
ScoreReviewMapper.java
...ridge/jadp/plugins/cmpt/dao/mapper/ScoreReviewMapper.java
+4
-0
ScoreReviewMapper.xml
...bridge/jadp/plugins/cmpt/dao/mapper/ScoreReviewMapper.xml
+34
-0
CmptScoreRuleScoreInfoService.java
...p/plugins/cmpt/service/CmptScoreRuleScoreInfoService.java
+69
-0
CmptScoreRuleService.java
...ridge/jadp/plugins/cmpt/service/CmptScoreRuleService.java
+10
-0
RemoteService.java
...com/dlbridge/jadp/plugins/cmpt/service/RemoteService.java
+40
-3
ScoreReviewService.java
...lbridge/jadp/plugins/cmpt/service/ScoreReviewService.java
+52
-0
FuncSettingController.java
...dlbridge/jadp/plugins/cmpt/web/FuncSettingController.java
+24
-0
MicroApiController.java
...om/dlbridge/jadp/plugins/cmpt/web/MicroApiController.java
+50
-34
ScoreReviewController.java
...dlbridge/jadp/plugins/cmpt/web/ScoreReviewController.java
+17
-0
No files found.
pom.xml
View file @
0fda7af5
...
...
@@ -310,6 +310,12 @@
<artifactId>
javase
</artifactId>
<version>
3.4.0
</version>
</dependency>
<!--分页插架-->
<dependency>
<groupId>
com.github.pagehelper
</groupId>
<artifactId>
pagehelper-spring-boot-starter
</artifactId>
<version>
1.2.13
</version>
</dependency>
</dependencies>
<repositories>
...
...
src/main/java/com/dlbridge/feign/ScoreService.java
View file @
0fda7af5
...
...
@@ -10,6 +10,9 @@ import org.springframework.web.bind.annotation.PathVariable;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestMethod
;
/**
* 废弃单独处理成绩工程
*/
@FeignClient
(
name
=
"SCORE-SERVICE"
,
configuration
=
FeignConfig
.
class
,
fallbackFactory
=
ScoreFallbackFactory
.
class
)
@RequestMapping
(
"score"
)
public
interface
ScoreService
{
...
...
src/main/java/com/dlbridge/feign/bean/ScoreItem.java
View file @
0fda7af5
...
...
@@ -6,20 +6,22 @@ import com.fasterxml.jackson.annotation.JsonIgnore;
import
lombok.Data
;
import
lombok.experimental.Accessors
;
/**
* 规则提交成绩的
* gk_cmpt_score_rule_scoreinfo
*/
@Data
@Accessors
(
chain
=
true
)
public
class
ScoreItem
{
private
Integer
id
;
private
Integer
cmptId
;
private
Integer
cmptScor
eId
;
private
String
subsectionName
;
private
Integer
rul
eId
;
private
String
markNo
;
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
)
private
String
subsectionTime
;
private
Integer
subsectionscore
;
private
Integer
subsectionMileage
;
private
Integer
subsectionRankNo
;
private
String
subsectionRemark
;
private
Integer
isDelete
;
private
String
insertTime
;
private
String
updateTime
;
...
...
src/main/java/com/dlbridge/jadp/plugins/cmpt/bean/CmptScoreRuleScoreInfo.java
0 → 100644
View file @
0fda7af5
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
;
}
src/main/java/com/dlbridge/jadp/plugins/cmpt/bean/FuncSetting.java
View file @
0fda7af5
...
...
@@ -26,6 +26,8 @@ public class FuncSetting {
private
Integer
banner
;
@ApiModelProperty
(
value
=
"里程开关,小程序成绩提交页面"
)
private
Integer
mileage
;
@ApiModelProperty
(
value
=
"成绩自动审核开关,后台成绩审核页面"
)
private
Integer
switchScoreReview
;
@JsonIgnore
private
String
newsAlias
;
}
src/main/java/com/dlbridge/jadp/plugins/cmpt/bean/UserScoreExcelBean.java
View file @
0fda7af5
package
com
.
dlbridge
.
jadp
.
plugins
.
cmpt
.
bean
;
import
com.fasterxml.jackson.annotation.JsonIgnore
;
import
lombok.Data
;
import
java.util.List
;
public
class
UserScoreExcelBean
{
@JsonIgnore
...
...
src/main/java/com/dlbridge/jadp/plugins/cmpt/dao/mapper/CmptScoreRuleMapper.java
View file @
0fda7af5
...
...
@@ -31,12 +31,27 @@ public interface CmptScoreRuleMapper {
*/
public
void
update
(
@Param
(
"cmptScoreRule"
)
CmptScoreRule
cmptScoreRule
);
/**
* 数据库根据indexId获取是本赛事的规则详情
* @param cmptId
* @param indexId
* @return
*/
CmptScoreRule
getCmptScoreRulesByCmptIdAndIndex
(
@Param
(
"cmptId"
)
Integer
cmptId
,
@Param
(
"indexId"
)
Integer
indexId
);
int
saveScoreRuleMap
(
@Param
(
"scoreRuleMap"
)
ScoreRuleMap
scoreRuleMap
);
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
);
void
delete
(
int
id
);
...
...
src/main/java/com/dlbridge/jadp/plugins/cmpt/dao/mapper/CmptScoreRuleMapper.xml
View file @
0fda7af5
...
...
@@ -44,11 +44,17 @@
)
</insert>
<!--2020-05-14合并表gk_cmpt_score_rule_map不在使用
<select id="getCmptScoreRulesMapBymarkNoAndRuleId" resultType="java.lang.Integer">
select score_item_id scoreItemId
from gk_cmpt_score_rule_map
where mark_no=#{markNo} and rule_id=#{ruleId}
</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 from gk_cmpt_score_rule where id = #{id}
...
...
src/main/java/com/dlbridge/jadp/plugins/cmpt/dao/mapper/CmptScoreRuleScoreInfoMapper.java
0 → 100644
View file @
0fda7af5
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
);
}
src/main/java/com/dlbridge/jadp/plugins/cmpt/dao/mapper/CmptScoreRuleScoreInfoMapper.xml
0 → 100644
View file @
0fda7af5
<?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
src/main/java/com/dlbridge/jadp/plugins/cmpt/dao/mapper/FuncSettingMapper.xml
View file @
0fda7af5
...
...
@@ -3,8 +3,8 @@
<mapper
namespace=
"com.dlbridge.jadp.plugins.cmpt.dao.mapper.FuncSettingMapper"
>
<insert
id=
"saveSetting"
>
insert into gk_cmpt_func(cmpt_id,switch_mobile,switch_countdown,switch_news,switch_banner,switch_mileage,create_date)
values (#{setting.cmptId},#{setting.mobile},#{setting.countDown},#{setting.news},#{setting.banner},
0
,now())
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},
#{setting.mileage},#{setting.switchScoreReview}
,now())
</insert>
...
...
@@ -29,6 +29,9 @@
<if
test=
"setting.mileage != null"
>
switch_mileage=#{setting.mileage}
</if>
<if
test=
"setting.switchScoreReview != null"
>
switch_scoreReview=#{setting.switchScoreReview}
</if>
</set>
where cmpt_id = #{setting.cmptId}
</update>
...
...
@@ -36,7 +39,7 @@
<select
id=
"getSettingByCmptId"
resultType=
"com.dlbridge.jadp.plugins.cmpt.bean.FuncSetting"
>
select cmpt_id cmptId,switch_mobile mobile,
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
where cmpt_id=#{cmptId}
</select>
...
...
src/main/java/com/dlbridge/jadp/plugins/cmpt/dao/mapper/ScoreReviewMapper.java
0 → 100644
View file @
0fda7af5
package
com
.
dlbridge
.
jadp
.
plugins
.
cmpt
.
dao
.
mapper
;
public
interface
ScoreReviewMapper
{
}
src/main/java/com/dlbridge/jadp/plugins/cmpt/dao/mapper/ScoreReviewMapper.xml
0 → 100644
View file @
0fda7af5
<?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
src/main/java/com/dlbridge/jadp/plugins/cmpt/service/CmptScoreRuleScoreInfoService.java
0 → 100644
View file @
0fda7af5
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
);
}
}
src/main/java/com/dlbridge/jadp/plugins/cmpt/service/CmptScoreRuleService.java
View file @
0fda7af5
...
...
@@ -42,6 +42,12 @@ public class CmptScoreRuleService {
return
cmptScoreRuleMapper
.
getCmptScoreRuleByCmptId
(
cmptId
);
}
/**
* 获取第几条成绩上传规则,数据库是否存在
* @param cmptId
* @param indexId
* @return
*/
public
CmptScoreRule
getCmptScoreRulesByCmptIdAndIndex
(
Integer
cmptId
,
Integer
indexId
)
{
return
cmptScoreRuleMapper
.
getCmptScoreRulesByCmptIdAndIndex
(
cmptId
,
indexId
);
}
...
...
@@ -50,6 +56,7 @@ public class CmptScoreRuleService {
return
cmptScoreRuleMapper
.
saveScoreRuleMap
(
scoreRuleMap
);
}
public
Integer
getCmptScoreRulesMapByMarkNoAndRuleId
(
String
markNo
,
Integer
ruleid
)
{
return
cmptScoreRuleMapper
.
getCmptScoreRulesMapBymarkNoAndRuleId
(
markNo
,
ruleid
);
}
...
...
@@ -81,4 +88,7 @@ public class CmptScoreRuleService {
public
Integer
getCmptScoreRulesMapByMarkNoAndScoreId
(
String
markNo
,
Integer
scoreItemId
)
{
return
cmptScoreRuleMapper
.
getCmptScoreRulesMapByMarkNoAndScoreId
(
markNo
,
scoreItemId
);
}
}
src/main/java/com/dlbridge/jadp/plugins/cmpt/service/RemoteService.java
View file @
0fda7af5
package
com
.
dlbridge
.
jadp
.
plugins
.
cmpt
.
service
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONArray
;
import
com.alibaba.fastjson.JSONObject
;
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
io.swagger.annotations.ApiModelProperty
;
import
lombok.extern.log4j.Log4j2
;
import
org.apache.commons.lang3.math.NumberUtils
;
import
org.springframework.beans.factory.annotation.Value
;
...
...
@@ -16,7 +15,6 @@ import org.springframework.web.client.RestTemplate;
import
javax.annotation.Resource
;
import
java.util.ArrayList
;
import
java.util.Arrays
;
import
java.util.HashMap
;
import
java.util.List
;
...
...
@@ -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
;
}
}
src/main/java/com/dlbridge/jadp/plugins/cmpt/service/ScoreReviewService.java
0 → 100644
View file @
0fda7af5
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"
)/
100
d
)/
10
d
));
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
;
}
}
src/main/java/com/dlbridge/jadp/plugins/cmpt/web/FuncSettingController.java
View file @
0fda7af5
...
...
@@ -13,6 +13,9 @@ import org.springframework.web.bind.annotation.RestController;
import
javax.annotation.Resource
;
import
java.util.List
;
/**
* 广告位,倒计时,小程序提交成绩里程,自动审核成绩的开关设置controller
*/
@RestController
@RequestMapping
(
"/setting"
)
public
class
FuncSettingController
{
...
...
@@ -64,4 +67,25 @@ public class FuncSettingController {
}
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
();
}
}
src/main/java/com/dlbridge/jadp/plugins/cmpt/web/MicroApiController.java
View file @
0fda7af5
...
...
@@ -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.service.*
;
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.gson.Gson
;
import
com.dlbridge.feign.bean.News
;
...
...
@@ -120,6 +121,11 @@ public class MicroApiController {
private
FuncSettingService
funcSettingService
;
@Resource
private
RoadsGpsCheckpointService
roadsGpsCheckpointService
;
@Resource
private
ScoreReviewService
scoreReviewService
;
@Resource
private
CmptScoreRuleScoreInfoService
cmptScoreRuleScoreInfoService
;
/**
* @return
*/
...
...
@@ -839,50 +845,64 @@ public class MicroApiController {
log
.
info
(
"contentType:"
+
contentType
+
",body:"
+
sb
.
toString
());
UserScore
score
=
JSONObject
.
parseObject
(
sb
.
toString
(),
UserScore
.
class
);
log
.
info
(
score
);
//接受前端提交的成绩,校验是否符合规则,并取出本条规则
CmptScoreRule
rule
=
cmptScoreRuleService
.
getCmptScoreRulesByCmptIdAndIndex
(
score
.
getCmptId
(),
score
.
getIndexId
());
if
(
rule
==
null
)
return
Result
.
fail
().
setMsg
(
"未找到规则"
);
//判断此条规则是否提交过成绩
Integer
scoreId
=
cmptScoreRuleService
.
getCmptScoreRulesMapByMarkNoAndRuleId
(
score
.
get
MarkNo
(),
rule
.
getId
());
Integer
scoreId
=
cmptScoreRuleService
.
getCmptScoreRulesMapByMarkNoAndRuleId
(
score
.
get
CmptId
(),
score
.
getMarkNo
(),
rule
.
getId
());
if
(
scoreId
!=
null
){
return
Result
.
fail
().
setMsg
(
"已经上传过成绩!"
);
}
//前端上传的里程数
int
mileage
=
score
.
getScore
().
getMileage
();
ScoreItem
scoreItem
=
new
ScoreItem
()
.
setSubsectionscore
(
score
.
getScore
().
getDuration
()).
setSubsectionMileage
(
mileage
)
.
setSubsectionTime
(
score
.
getScore
().
getDate
())
.
setCmptId
(
score
.
getCmptId
())
.
setCmptScoreId
(
1
);
/*Date date1 = new Date();
Date endTime = rule.getEndTime();
Date startTime = rule.getStartTime();
if(date1.before(startTime) || date1.after(endTime)){
return Result.fail().setMsg("上传的时间不符合设定的时间范围,需上传时间范围:"+format.format(startTime)+"~"+format.format(endTime));
}*/
// 保存成绩
/**
* 2020-05-14废弃了通过其他微服务存储成绩的方法
*
*
int mileage=score.getScore().getMileage();
ScoreItem scoreItem = new ScoreItem()
.setSubsectionscore(score.getScore().getDuration()).setSubsectionMileage(mileage)
.setSubsectionTime(score.getScore().getDate())
.setCmptId(score.getCmptId()).setRuleId(rule.getId()).setMarkNo(score.getMarkNo());
//前端小程序只提交日期
String date = score.getScore().getDate()+" 12:00:00";
Date date1 = DateUtils.parseDate(date);
Date endTime = rule.getEndTime();
Date startTime = rule.getStartTime();
//规则的校验
if(date1.before(startTime) || date1.after(endTime)){
return Result.fail().setMsg("上传的时间不符合设定的时间范围,需上传时间范围:"+format.format(startTime)+"~"+format.format(endTime));
}
Result<ScoreItem> scoreItemResult = scoreService.saveItem(scoreItem);
log.info(scoreItemResult);
if(!scoreItemResult.isStatus()){
log.info("调用失败");
return Result.fail().setMsg("feign fail");
}
// 保存成绩和用户关系
cmptScoreRuleService
.
saveScoreRuleMap
(
new
ScoreRuleMap
()
.
setMarkNo
(
score
.
getMarkNo
())
.
setRuleId
(
rule
.
getId
())
.
setScoreItemId
(
scoreItemResult
.
getContent
().
getId
()));
// 保存成绩和用户关系
cmptScoreRuleService.saveScoreRuleMap(new ScoreRuleMap()
.setMarkNo(score.getMarkNo())
.setRuleId(rule.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
()){
value
.
setCmptId
(
score
.
getCmptId
());
value
.
setMarkNo
(
score
.
getMarkNo
());
value
.
setRuleId
(
rule
.
getId
());
}
//
保存设置附加项
//
提交成绩保存设置附加项(照片等)
cmptScoreFieldValueService
.
saveOrUpdate
(
score
.
getFields
());
//查看自动审核是否开启,如果开启直接将总成绩存入到计时系统remark1,如果没有开启走手动审核的逻辑
FuncSetting
settingByCmptId
=
funcSettingService
.
getSettingByCmptId
(
score
.
getCmptId
());
scoreReviewService
.
scoreReviewByMarkNo
(
score
.
getCmptId
(),
score
.
getMarkNo
(),
settingByCmptId
.
getSwitchScoreReview
());
return
Result
.
success
().
setContent
(
score
);
}
...
...
@@ -907,8 +927,8 @@ public class MicroApiController {
Integer
scoreItemId
=
cmptScoreRuleService
.
getCmptScoreRulesMapByMarkNoAndRuleId
(
userInfo
.
getMarkNo
(),
rule
.
getId
());
//小程序添加里程的是否需要用户填写
FuncSetting
funcSetting
=
funcSettingService
.
getSettingByCmptId
(
score
.
getCmptId
());
Integer
switchMileage
=
funcSetting
.
getMileage
();
FuncSetting
funcSetting
=
funcSettingService
.
getSettingByCmptId
(
score
.
getCmptId
());
Integer
switchMileage
=
funcSetting
.
getMileage
();
Integer
subsectionMileage
=
0
;
if
(
scoreItemId
!=
null
){
...
...
@@ -919,13 +939,9 @@ public class MicroApiController {
}
else
{
subsectionMileage
=
content
.
getSubsectionMileage
();
}
result
.
put
(
"score"
,
new
Score
().
setDate
(
content
.
getSubsectionTime
().
substring
(
0
,
10
))
.
setDuration
(
content
.
getSubsectionscore
())
.
setMileage
(
subsectionMileage
).
setSwitchMileage
(
switchMileage
));
result
.
put
(
"score"
,
new
Score
().
setDate
(
content
.
getSubsectionTime
().
substring
(
0
,
10
)).
setDuration
(
content
.
getSubsectionscore
()).
setMileage
(
subsectionMileage
).
setSwitchMileage
(
switchMileage
));
}
else
{
//初始阶段没有上传成绩,json也显示score,方便前端判断
result
.
put
(
"score"
,
new
Score
().
setDate
(
"0000-00-00"
)
.
setDuration
(
0
).
setMileage
(
subsectionMileage
)
.
setSwitchMileage
(
switchMileage
));
result
.
put
(
"score"
,
new
Score
().
setDate
(
"0000-00-00"
).
setDuration
(
0
).
setMileage
(
subsectionMileage
).
setSwitchMileage
(
switchMileage
));
}
...
...
src/main/java/com/dlbridge/jadp/plugins/cmpt/web/ScoreReviewController.java
0 → 100644
View file @
0fda7af5
package
com
.
dlbridge
.
jadp
.
plugins
.
cmpt
.
web
;
import
lombok.extern.log4j.Log4j2
;
import
org.springframework.stereotype.Controller
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
springfox.documentation.annotations.ApiIgnore
;
/**
* 成绩审核功能
*/
@Controller
@Log4j2
@RequestMapping
(
"gk/scoreReview/"
)
@ApiIgnore
public
class
ScoreReviewController
{
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment