Bladeren bron

代码走查优化代码(BigDecimal.valueOf)

wangliang 1 jaar geleden
bovenliggende
commit
f27d82f44a

+ 1 - 1
themis-admin/src/main/java/com/qmth/themis/admin/api/TEExamController.java

@@ -517,7 +517,7 @@ public class TEExamController {
             }
             teExamSummaryAllList.addAll(themisCacheService.getExamSummaryCache(examId));
         }
-        ExamPropCountDto examPropCountDto = new ExamPropCountDto(examId, 0, 0, 0, 0, 0, new BigDecimal(0));
+        ExamPropCountDto examPropCountDto = new ExamPropCountDto(examId, 0, 0, 0, 0, 0, BigDecimal.valueOf(0));
         if (!CollectionUtils.isEmpty(teExamSummaryAllList)) {
             Integer allCount = 0, prepareCount = 0, examCount = 0, alreadyComplete = 0, notComplete = 0;
             for (TEExamSummary t : teExamSummaryAllList) {

+ 3 - 3
themis-business/src/main/java/com/qmth/themis/business/dto/ExamPropCountDto.java

@@ -48,7 +48,7 @@ public class ExamPropCountDto implements Serializable {
     private Set<String> roomCodes;//虚拟考场代码
 
     @ApiModelProperty(name = "完成率")
-    private BigDecimal completionRate = new BigDecimal(0);//完成率
+    private BigDecimal completionRate = BigDecimal.valueOf(0);//完成率
 
     @ApiModelProperty(name = "重考审核")
     private Integer reexamCount = 0;//重考审核
@@ -105,8 +105,8 @@ public class ExamPropCountDto implements Serializable {
         this.alreadyComplete = alreadyComplete;
         this.notComplete = notComplete;
         if (this.allCount.intValue() > 0) {
-            BigDecimal completionRate = new BigDecimal(this.alreadyComplete)
-                    .divide(new BigDecimal(this.allCount), 2, BigDecimal.ROUND_HALF_UP)
+            BigDecimal completionRate = BigDecimal.valueOf(this.alreadyComplete)
+                    .divide(BigDecimal.valueOf(this.allCount), 2, BigDecimal.ROUND_HALF_UP)
                     .setScale(2, BigDecimal.ROUND_HALF_UP);
             this.completionRate = completionRate;
         }

+ 4 - 4
themis-business/src/main/java/com/qmth/themis/business/service/impl/TBAttachmentServiceImpl.java

@@ -83,8 +83,8 @@ public class TBAttachmentServiceImpl extends ServiceImpl<TBAttachmentMapper, TBA
                 throw new BusinessException("文件名长度不能超过64个字符");
             }
             long size = file.getSize();
-            BigDecimal b = new BigDecimal(size);
-            BigDecimal num = new BigDecimal(1024);
+            BigDecimal b = BigDecimal.valueOf(size);
+            BigDecimal num = BigDecimal.valueOf(1024);
             b = b.divide(num, 2, BigDecimal.ROUND_HALF_UP).divide(num, 2, BigDecimal.ROUND_HALF_UP)
                     .setScale(2, BigDecimal.ROUND_HALF_UP);
             if (b.doubleValue() > 200) {
@@ -177,8 +177,8 @@ public class TBAttachmentServiceImpl extends ServiceImpl<TBAttachmentMapper, TBA
                 }
             }
             long size = file.length();
-            BigDecimal b = new BigDecimal(size);
-            BigDecimal num = new BigDecimal(1024);
+            BigDecimal b = BigDecimal.valueOf(size);
+            BigDecimal num = BigDecimal.valueOf(1024);
             b = b.divide(num).divide(num).setScale(2, BigDecimal.ROUND_HALF_UP);
             if (b.doubleValue() > 200) {
                 throw new BusinessException("文件大小不能超过200MB");

+ 4 - 4
themis-business/src/main/java/com/qmth/themis/business/service/impl/TEExamServiceImpl.java

@@ -415,9 +415,9 @@ public class TEExamServiceImpl extends ServiceImpl<TEExamMapper, TEExam> impleme
      * 根据设定几率取出一套试卷
      */
     private int getPaperByWeight(List<Double> paperWeight) {
-        BigDecimal r = new BigDecimal(new Random().nextInt(101));
+        BigDecimal r = BigDecimal.valueOf(new Random().nextInt(101));
         for (int i = 0; i < paperWeight.size(); i++) {
-            r = r.subtract(new BigDecimal(paperWeight.get(i)));
+            r = r.subtract(BigDecimal.valueOf(paperWeight.get(i)));
             if (r.doubleValue() <= 0.0d) {
                 return i;// 选中
             }
@@ -773,7 +773,7 @@ public class TEExamServiceImpl extends ServiceImpl<TEExamMapper, TEExam> impleme
                     if (r == 1) {
                         answer.setScore(cb.getScore());
                     } else if (r == 0) {
-                        BigDecimal b = new BigDecimal(cb.getScore()).divide(new BigDecimal("2"), 1, BigDecimal.ROUND_UP);
+                        BigDecimal b = BigDecimal.valueOf(cb.getScore()).divide(new BigDecimal("2"), 1, BigDecimal.ROUND_UP);
                         answer.setScore(b.doubleValue());
                     } else {
                         answer.setScore(0.0);
@@ -1618,7 +1618,7 @@ public class TEExamServiceImpl extends ServiceImpl<TEExamMapper, TEExam> impleme
         }
         Double da = Double.valueOf(a * 100);
         Double db = Double.valueOf(b);
-        BigDecimal bd = new BigDecimal(da / db);
+        BigDecimal bd = BigDecimal.valueOf(da / db);
         Double tem = bd.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
         return tem;
     }

+ 3 - 9
themis-business/src/main/java/com/qmth/themis/business/service/impl/TOeExamRecordServiceImpl.java

@@ -1098,11 +1098,11 @@ public class TOeExamRecordServiceImpl extends ServiceImpl<TOeExamRecordMapper, T
             log.info("no ObjectiveAnswer for calculateObjectiveScore recordId:" + recordId);
             return;
         }
-        BigDecimal tatolscore = new BigDecimal(0.0);
+        BigDecimal tatolscore = BigDecimal.valueOf(0.0);
         for (TOeExamAnswer answer : answers) {
             Double score = calculateScoreForQuestion(answer, map);
             if (score != null) {
-                tatolscore = tatolscore.add(new BigDecimal(score));
+                tatolscore = tatolscore.add(BigDecimal.valueOf(score));
             }
         }
 
@@ -1147,7 +1147,7 @@ public class TOeExamRecordServiceImpl extends ServiceImpl<TOeExamRecordMapper, T
                     if (r == 1) {
                         answer.setScore(cb.getScore());
                     } else if (r == 0) {
-                        BigDecimal b = new BigDecimal(cb.getScore()).divide(new BigDecimal("2"), 1, BigDecimal.ROUND_UP);
+                        BigDecimal b = BigDecimal.valueOf(cb.getScore()).divide(new BigDecimal("2"), 1, BigDecimal.ROUND_UP);
                         answer.setScore(b.doubleValue());
                     } else {
                         answer.setScore(0.0);
@@ -1292,12 +1292,6 @@ public class TOeExamRecordServiceImpl extends ServiceImpl<TOeExamRecordMapper, T
         return tOeExamRecord;
     }
 
-    public static void main(String[] args) {
-        Integer i = 0;
-//        System.out.println(i++);
-        System.out.println(i + 1);
-    }
-
     /**
      * 设置断点信息
      *

+ 8 - 8
themis-business/src/main/java/com/qmth/themis/business/templete/impl/TaskExamPaperImportTemplete.java

@@ -216,8 +216,8 @@ public class TaskExamPaperImportTemplete implements TaskImportTemplete {
     }
 
     private Map<Long, Double> paperWeight(List<TEExamPaper> list) {
-        BigDecimal b1 = new BigDecimal(100.0);// 基数总数
-        BigDecimal b2 = new BigDecimal(list.size());// 份数
+        BigDecimal b1 = BigDecimal.valueOf(100.0);// 基数总数
+        BigDecimal b2 = BigDecimal.valueOf(list.size());// 份数
         BigDecimal b3 = b1.divide(b2, 0, BigDecimal.ROUND_FLOOR);// 平均数
         BigDecimal b4 = b1.subtract(b3.multiply(b2).setScale(0, BigDecimal.ROUND_FLOOR));// 余数
         Map<Long, Double> map = new HashMap<Long, Double>();
@@ -406,8 +406,8 @@ public class TaskExamPaperImportTemplete implements TaskImportTemplete {
     }
 
     private void disposeStruct(String rootDir, TEExamPaper paper, File paperFile) throws IOException {
-        BigDecimal obTotal = new BigDecimal(0);
-        BigDecimal subTotal = new BigDecimal(0);
+        BigDecimal obTotal = BigDecimal.valueOf(0);
+        BigDecimal subTotal = BigDecimal.valueOf(0);
         if (paperFile == null) {
             return;
         }
@@ -426,9 +426,9 @@ public class TaskExamPaperImportTemplete implements TaskImportTemplete {
                 Integer structType = question.getInteger(SystemConstant.STRUCT_TYPE);
                 if (structType.intValue() != 1 && structType.intValue() != 2 && structType.intValue() != 3
                         && structType.intValue() != 6 && structType.intValue() != 8) {//主观题
-                    subTotal = subTotal.add(new BigDecimal(score));
+                    subTotal = subTotal.add(BigDecimal.valueOf(score));
                 } else {//客观题
-                    obTotal = obTotal.add(new BigDecimal(score));
+                    obTotal = obTotal.add(BigDecimal.valueOf(score));
                 }
                 if (structType.intValue() == 6 || structType.intValue() == 8) {
                     JSONArray subQuestions = question.getJSONArray(SystemConstant.SUB_QUESTIONS);
@@ -443,9 +443,9 @@ public class TaskExamPaperImportTemplete implements TaskImportTemplete {
                         Integer subStructType = subquestion.getInteger(SystemConstant.STRUCT_TYPE);
                         if (subStructType.intValue() != 1 && subStructType.intValue() != 2
                                 && subStructType.intValue() != 3) {//主观题
-                            subTotal = subTotal.add(new BigDecimal(subScore));
+                            subTotal = subTotal.add(BigDecimal.valueOf(subScore));
                         } else {//客观题
-                            obTotal = obTotal.add(new BigDecimal(subScore));
+                            obTotal = obTotal.add(BigDecimal.valueOf(subScore));
                         }
                     }
                 }

+ 14 - 14
themis-business/src/main/java/com/qmth/themis/business/templete/service/impl/TempleteLogicServiceImpl.java

@@ -446,9 +446,9 @@ public class TempleteLogicServiceImpl implements TempleteLogicService {
             Integer totalTaskSize = jsonObject.getInteger("totalTaskSize");
             Integer currentTaskSize = jsonObject.getInteger("currentTaskSize");
 
-            BigDecimal progress = new BigDecimal(0);
-            BigDecimal b = new BigDecimal(100);
-            progress = new BigDecimal(currentTaskSize).divide(new BigDecimal(totalTaskSize), 2, BigDecimal.ROUND_HALF_UP).multiply(b);
+            BigDecimal progress = BigDecimal.valueOf(0);
+            BigDecimal b = BigDecimal.valueOf(100);
+            progress = BigDecimal.valueOf(currentTaskSize).divide(BigDecimal.valueOf(totalTaskSize), 2, BigDecimal.ROUND_HALF_UP).multiply(b);
             if (Objects.isNull(tbTaskHistory.getProgress()) || (Objects.nonNull(tbTaskHistory.getProgress()) && tbTaskHistory.getProgress().doubleValue() < progress.doubleValue())) {
                 tbTaskHistory.setProgress(progress.doubleValue());
                 tbTaskHistoryService.updateById(tbTaskHistory);
@@ -520,8 +520,8 @@ public class TempleteLogicServiceImpl implements TempleteLogicService {
         TBTaskHistory tbTaskHistory = (TBTaskHistory) map.get("tbTaskHistory");
         Boolean objectiveScorePush = (Boolean) map.get(SystemConstant.OBJECTIVE_SCORE_PUSH);
 
-        BigDecimal progress = new BigDecimal(0);
-        BigDecimal b = new BigDecimal(100);
+        BigDecimal progress = BigDecimal.valueOf(0);
+        BigDecimal b = BigDecimal.valueOf(100);
         TBOrg tbOrg = themisCacheService.addOrgCache(orgId);
 
         Integer totalTaskSize = jsonObject.getInteger("totalTaskSize");
@@ -591,7 +591,7 @@ public class TempleteLogicServiceImpl implements TempleteLogicService {
                     }
                 }
             }
-            progress = new BigDecimal(currentTaskSize).divide(new BigDecimal(totalTaskSize), 2, BigDecimal.ROUND_HALF_UP).multiply(b);
+            progress = BigDecimal.valueOf(currentTaskSize).divide(BigDecimal.valueOf(totalTaskSize), 2, BigDecimal.ROUND_HALF_UP).multiply(b);
             if (Objects.isNull(tbTaskHistory.getProgress()) || (Objects.nonNull(tbTaskHistory.getProgress()) && tbTaskHistory.getProgress().doubleValue() < progress.doubleValue())) {
                 tbTaskHistory.setProgress(progress.doubleValue());
                 tbTaskHistoryService.updateById(tbTaskHistory);
@@ -723,8 +723,8 @@ public class TempleteLogicServiceImpl implements TempleteLogicService {
             map.put("paperJsonList", paperJsonList);
             examPaperIdSet = new HashSet<>(teExamPaperList.size());
 
-            BigDecimal progress = new BigDecimal(0);
-            BigDecimal b = new BigDecimal(100);
+            BigDecimal progress = BigDecimal.valueOf(0);
+            BigDecimal b = BigDecimal.valueOf(100);
 
             int min = 0;
             int max = SystemConstant.MAX_IMPORT_SIZE, size = teExamPaperList.size();
@@ -787,7 +787,7 @@ public class TempleteLogicServiceImpl implements TempleteLogicService {
                         tbTaskHistory.setRemark(jsonObject.toJSONString());
                     }
                 }
-                progress = new BigDecimal(currentTaskSize).divide(new BigDecimal(totalTaskSize), 2, BigDecimal.ROUND_HALF_UP).multiply(b);
+                progress = BigDecimal.valueOf(currentTaskSize).divide(BigDecimal.valueOf(totalTaskSize), 2, BigDecimal.ROUND_HALF_UP).multiply(b);
                 if (Objects.isNull(tbTaskHistory.getProgress()) || (Objects.nonNull(tbTaskHistory.getProgress()) && tbTaskHistory.getProgress().doubleValue() < progress.doubleValue())) {
                     tbTaskHistory.setProgress(progress.doubleValue());
                     tbTaskHistoryService.updateById(tbTaskHistory);
@@ -910,8 +910,8 @@ public class TempleteLogicServiceImpl implements TempleteLogicService {
      * @return
      */
     public List<String> importProgress(int max, int min, int size, List<String> txtList, TBTaskHistory tbTaskHistory) {
-        BigDecimal bigDecimal = new BigDecimal(100);
-        BigDecimal progress = new BigDecimal(Double.valueOf(new BigDecimal(max).divide(new BigDecimal(size), 2, BigDecimal.ROUND_HALF_UP).multiply(bigDecimal).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue())).setScale(0, BigDecimal.ROUND_HALF_UP);
+        BigDecimal bigDecimal = BigDecimal.valueOf(100);
+        BigDecimal progress = BigDecimal.valueOf(Double.valueOf(BigDecimal.valueOf(max).divide(BigDecimal.valueOf(size), 2, BigDecimal.ROUND_HALF_UP).multiply(bigDecimal).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue())).setScale(0, BigDecimal.ROUND_HALF_UP);
         if (progress.intValue() == 100) {
             tbTaskHistory.setStatus(TaskStatusEnum.FINISH);
             tbTaskHistory.setSummary("共处理了" + size + "条数据");
@@ -937,12 +937,12 @@ public class TempleteLogicServiceImpl implements TempleteLogicService {
      * @return
      */
     public List<String> exportProgress(int max, int min, int size, List<String> txtList, TBTaskHistory tbTaskHistory) {
-        BigDecimal bigDecimal = new BigDecimal(100);
+        BigDecimal bigDecimal = BigDecimal.valueOf(100);
         BigDecimal progress = null;
         if (size > 0) {
-            progress = new BigDecimal(Double.valueOf(new BigDecimal(max).divide(new BigDecimal(size), 2, BigDecimal.ROUND_HALF_UP).multiply(bigDecimal).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue())).setScale(0, BigDecimal.ROUND_HALF_UP);
+            progress = BigDecimal.valueOf(Double.valueOf(BigDecimal.valueOf(max).divide(BigDecimal.valueOf(size), 2, BigDecimal.ROUND_HALF_UP).multiply(bigDecimal).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue())).setScale(0, BigDecimal.ROUND_HALF_UP);
         } else {
-            progress = new BigDecimal(-1);
+            progress = BigDecimal.valueOf(-1);
         }
         if (progress.intValue() == 100) {
             tbTaskHistory.setStatus(TaskStatusEnum.FINISH);