Quellcode durchsuchen

fix(game): 修复成绩提交中的时间字段处理问题

- 将 Yongshi 字段类型从 BigDecimal 更改为 String
- 修复 convertDecimalToTimeScore 方法调用时的参数传递逻辑
- 添加 parsePerformanceValue 方法来正确解析性能值
- 确保时间字段在成绩提交流程中的正确转换
zhou vor 1 Woche
Ursprung
Commit
f599d21769

+ 1 - 1
ruoyi-modules/ruoyi-game-event/src/main/java/org/dromara/system/domain/bo/ScoreSubmitItemBo.java

@@ -34,7 +34,7 @@ public class ScoreSubmitItemBo implements Serializable {
     /** 失误次数 */
     private Integer shiwu;
     /** 完成用时 */
-    private BigDecimal yongshi;
+    private String yongshi;
 
     /** 成绩明细列表 (APP传回已有明细ID以避免冗余) */
     private List<ScoreSubmitDetailBo> chengji;

+ 2 - 2
ruoyi-modules/ruoyi-game-event/src/main/java/org/dromara/system/service/impl/app/ToClientServiceImpl.java

@@ -350,7 +350,7 @@ public class ToClientServiceImpl implements IToClientService {
                     item.setScore(convertDecimalToTimeScore(item.getScore(), vo.getGuize()));
                 }
                 if (StringUtils.isNotBlank(item.getYongshi())){
-                    item.setYongshi(convertDecimalToTimeScore(item.getYongshi(), vo.getGuize()));
+                    item.setYongshi(convertDecimalToTimeScore(item.getYongshi(), "0"));
                 }
                 // 格式化明细成绩
                 if (CollectionUtils.isNotEmpty(item.getChengji()) && vo.getChengjiType().contains("计时")) {
@@ -576,7 +576,7 @@ public class ToClientServiceImpl implements IToClientService {
             scoreBo.setAthleteId(athleteId);
             scoreBo.setTeamId(teamId);
             scoreBo.setFaultA(item.getShiwu());
-            scoreBo.setCompleteTime(item.getYongshi());
+            scoreBo.setCompleteTime(parsePerformanceValue(item.getYongshi()));
 
             // 统一模式:优先处理明细列表
             if (CollectionUtils.isNotEmpty(item.getChengji())) {