Просмотр исходного кода

解决单个学生索引越界bug

liu 3 лет назад
Родитель
Сommit
752f4c6cb9

+ 2 - 2
src/main/java/com/chuanghai/student_portrait/service/impl/AccessServiceImpl.java

@@ -62,8 +62,8 @@ public class AccessServiceImpl extends ServiceImpl<AccessMapper, Access> impleme
     /**
      * 每3小时拉取一次门禁的数据
      */
-    @Scheduled(cron = "0 0 0/3 * * ? ")
-//    @Scheduled(cron = "0 0/3 * * * ? ")
+//    @Scheduled(cron = "0 0 0/3 * * ? ")
+    @Scheduled(cron = "0 0/3 * * * ? ")
     public void autoQueryOrder() {
         getQRCode();
     }

+ 12 - 16
src/main/java/com/chuanghai/student_portrait/service/impl/ConsumeServicelmpl.java

@@ -242,13 +242,13 @@ public class ConsumeServicelmpl extends ServiceImpl<ConsumeMapper, Consume> impl
             List<Electricity> list3 = electricityService.list(Wrappers.<Electricity>lambdaQuery().eq(Electricity::getDom, dormNumber).eq(Electricity::getDateTime, format));
             for (ColdWater coldWater : list2) {
                 Double totalMoney = coldWater.getTotalMoney();
-                BigDecimal b1 = new BigDecimal(totalMoney/4);
+                BigDecimal b1 = new BigDecimal(totalMoney / 4);
                 double f2 = b1.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
                 coldWaterAndElectricityMoney = coldWaterAndElectricityMoney + f2;
             }
             for (Electricity electricity : list3) {
                 Double totalMoney = electricity.getTotalMoney();
-                BigDecimal b1 = new BigDecimal(totalMoney/4);
+                BigDecimal b1 = new BigDecimal(totalMoney / 4);
                 double f2 = b1.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
                 coldWaterAndElectricityMoney = coldWaterAndElectricityMoney + f2;
             }
@@ -273,7 +273,8 @@ public class ConsumeServicelmpl extends ServiceImpl<ConsumeMapper, Consume> impl
             if (v1 > 100 - v || coldWaterAndElectricityMoney == 0) {
                 BigDecimal bd1 = new BigDecimal(Double.toString(100));
                 BigDecimal bd2 = new BigDecimal(Double.toString(v));
-                v1 = bd1.subtract(bd2).doubleValue();;
+                v1 = bd1.subtract(bd2).doubleValue();
+                ;
                 p = v1 + "" + "%";
             } else {
                 p = v1 + "" + "%";
@@ -285,18 +286,21 @@ public class ConsumeServicelmpl extends ServiceImpl<ConsumeMapper, Consume> impl
             if (hotWaterMoney == 0 || v2 > 100 - v) {
                 BigDecimal bd1 = new BigDecimal(Double.toString(100));
                 BigDecimal bd2 = new BigDecimal(Double.toString(v));
-                v2 = bd1.subtract(bd2).doubleValue();;
+                v2 = bd1.subtract(bd2).doubleValue();
+                ;
                 p1 = v2 + "" + "%";
             } else if (consumeMoney == 0 || v2 > 100 - v1) {
                 BigDecimal bd1 = new BigDecimal(Double.toString(100));
                 BigDecimal bd2 = new BigDecimal(Double.toString(v1));
-                v2 = bd1.subtract(bd2).doubleValue();;
+                v2 = bd1.subtract(bd2).doubleValue();
+                ;
                 p1 = v2 + "" + "%";
             } else {
                 BigDecimal bd1 = new BigDecimal(Double.toString(100));
                 BigDecimal bd2 = new BigDecimal(Double.toString(v));
                 BigDecimal bd3 = new BigDecimal(Double.toString(v1));
-                v2 = bd1.subtract(bd2).subtract(bd3).doubleValue();;
+                v2 = bd1.subtract(bd2).subtract(bd3).doubleValue();
+                ;
                 p1 = v2 + "" + "%";
             }
             personConsumDto1.setPercentage(p1);
@@ -313,13 +317,6 @@ public class ConsumeServicelmpl extends ServiceImpl<ConsumeMapper, Consume> impl
         return BaseResponse.ok(StatusEnum.SUCCESS, dtos);
     }
 
-    public static void main(String[] args) {
-        BigDecimal bd1 = new BigDecimal(Double.toString(33.33));
-        BigDecimal bd2 = new BigDecimal(Double.toString(22.191));
-        BigDecimal bd3 = new BigDecimal(Double.toString(9.9999));
-        double v = bd1.subtract(bd2).subtract(bd3).doubleValue();
-        System.out.println("v = " + v);
-    }
 
     @Autowired
     private TokenConfig tokenConfig;
@@ -332,9 +329,8 @@ public class ConsumeServicelmpl extends ServiceImpl<ConsumeMapper, Consume> impl
         return tokenConfig.getToken();
     }
 
-
-    //    @Scheduled(cron = "0 0 0/2 * * ? ")
-    @Scheduled(cron = "0 0/2 * * * ? ")
+    //    @Scheduled(cron = "0 0/2 * * * ? ")
+    @Scheduled(cron = "0 0 0/2 * * ? ")
     public void autoQueryOrder() {
 
         DateUtils dateUtils = new DateUtils();

+ 13 - 6
src/main/java/com/chuanghai/student_portrait/service/impl/NewSchooluserServiceImpl.java

@@ -146,13 +146,20 @@ public class NewSchooluserServiceImpl extends ServiceImpl<NewSchooluserMapper, N
         String[] labels = label.split(",");
         schooluser.setLabel(labels);
 
+
         List<AffinityScore> list1 = affinityScoreService.list(Wrappers.<AffinityScore>lambdaQuery().eq(AffinityScore::getSchooluserId, id).orderByDesc(AffinityScore::getCount));
-        AffinityScore affinityScore = list1.get(0);
-        String name = affinityScore.getName();
-        AffinityScore affinityScore1 = list1.get(1);
-        String name1 = affinityScore1.getName();
-        String[] affinityScoreName={name,name1};
-        schooluser.setAffinityScoreName(affinityScoreName);
+        if (ObjectUtils.isNotEmpty(list1)) {
+            AffinityScore affinityScore = list1.get(0);
+            String name = affinityScore.getName();
+            AffinityScore affinityScore1 = list1.get(1);
+            String name1 = affinityScore1.getName();
+            String[] affinityScoreName={name,name1};
+            schooluser.setAffinityScoreName(affinityScoreName);
+        }else {
+            String[] affinityScoreName={};
+            schooluser.setAffinityScoreName(affinityScoreName);
+        }
+
 
         return BaseResponse.ok(StatusEnum.SUCCESS_SELECT, schooluser);
     }