Browse Source

fix 修改删除附件

Administrator 1 year ago
parent
commit
2971cd3f93

+ 21 - 19
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TaskService.java

@@ -421,40 +421,42 @@ public class TaskService extends Thread {
                 memberAssessmentInfoListNew.add(memberAssessmentInf);
             }
             List<MemberAssessmentInfo> collect = memberAssessmentInfoListNew.stream().sorted(Comparator.comparing(MemberAssessmentInfo::getTotalScore).reversed()).collect(Collectors.toList());
+            //计算排名
+            int index = 0;
+            //最近的一次分数
+            Long lastScore = -1L;
+            //执行任务
+            for (int i = 0; i < collect.size(); i++) {
+                MemberAssessmentInfo memberAssessmentInfoNew = collect.get(i);
+                Long totalScore = memberAssessmentInfoNew.getTotalScore();
+                if (!lastScore.equals(totalScore)) {
+                    lastScore = totalScore;
+                    index++;
+                }
+                memberAssessmentInfoNew.setRank(String.valueOf(index));
+            }
             //开启多线程处理
             //获取线程池中的@bean
             ThreadPoolTaskExecutor executor = SpringUtils.getBean("threadPoolTaskExecutor");
             //定义每个线程处理多少用户
-            Integer count = 50;
+            int count = 50;
             //根据用户数确定需要多少个线程
             List<List<MemberAssessmentInfo>> lists = BranchThreadUtils.splitList(collect, count);
             for (List<MemberAssessmentInfo> list : lists) {
                 executor.execute(() -> {
                     System.out.println("线程" + Thread.currentThread().getId() + "启动");
-                    //计算排名
-                    int index = 0;
-                    //最近的一次分数
-                    Long lastScore = 0L;
-                    //执行任务
-                    for (int i = 0; i < list.size(); i++) {
-                        MemberAssessmentInfo memberAssessmentInfoNew = list.get(i);
-                        Long totalScore = memberAssessmentInfoNew.getTotalScore();
-                        if (!lastScore.equals(totalScore)) {
-                            lastScore = totalScore;
-                            index++;
-                        }
-                        memberAssessmentInfoNew.setRank(String.valueOf(index));
+                    for (MemberAssessmentInfo assessmentInfo : list) {
                         //判断是更新还是新增
                         if (memberAssessmentInfoList != null && memberAssessmentInfoList.size() > 0) {
                             //更新
-                            memberAssessmentInfoMapper.updateMemberAssessmentInfo(memberAssessmentInfoNew);
+                            memberAssessmentInfoMapper.updateMemberAssessmentInfo(assessmentInfo);
                         } else {
-                            memberAssessmentInfoMapper.insertMemberAssessmentInfo(memberAssessmentInfoNew);
+                            memberAssessmentInfoMapper.insertMemberAssessmentInfo(assessmentInfo);
                         }
                         MemberInfo memberInfo = new MemberInfo();
-                        memberInfo.setUserId(memberAssessmentInfoNew.getUserId());
-                        memberInfo.setScore(memberAssessmentInfoNew.getTotalScore());
-                        memberInfo.setRanking(memberAssessmentInfoNew.getRank());
+                        memberInfo.setUserId(assessmentInfo.getUserId());
+                        memberInfo.setScore(assessmentInfo.getTotalScore());
+                        memberInfo.setRanking(assessmentInfo.getRank());
                         //更新委员主表
                         memberInfoMapper.updateMemberInfoByUserId(memberInfo);
                     }

+ 2 - 7
ruoyi-system/src/main/resources/mapper/system/MemberInfoMapper.xml

@@ -136,13 +136,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         where member_id = #{memberId}
     </update>
 
-    <update id="updateMemberInfoByUserId" parameterType="MemberInfo">
-        update member_info
-        <trim prefix="SET" suffixOverrides=",">
-            <if test="score != null and score != ''">score = #{score},</if>
-            <if test="ranking != null and ranking != ''">ranking = #{ranking},</if>
-        </trim>
-        where user_id = #{userId}
+    <update id="updateMemberInfoByUserId">
+        update member_info set score = #{score},ranking = #{ranking} where user_id = #{userId}
     </update>
 
     <delete id="deleteMemberInfoByMemberId" parameterType="Long">