Przeglądaj źródła

重开卡时恢复vip身份

mingfu 1 miesiąc temu
rodzic
commit
38b662c8dd

+ 13 - 0
ie-admin/src/main/java/com/ruoyi/web/controller/dz/DzCardsController.java

@@ -7,6 +7,7 @@ import javax.validation.ValidationException;
 
 import com.ruoyi.common.core.domain.entity.SysUser;
 import com.ruoyi.common.enums.ExamType;
+import com.ruoyi.common.enums.UserRegStatus;
 import com.ruoyi.common.utils.NumberUtils;
 import com.ruoyi.common.utils.SecurityUtils;
 import com.ruoyi.dz.domain.DzAgent;
@@ -19,6 +20,7 @@ import com.ruoyi.web.service.SysLoginService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
+import org.apache.commons.compress.utils.Lists;
 import org.apache.commons.lang3.ArrayUtils;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -204,6 +206,17 @@ public class DzCardsController extends BaseController
         dzCardsService.changeCard(action, cardIds);
         if (CardAction.Close.equals(action) && ArrayUtils.isNotEmpty(cardIds)) {
             sysLoginService.resetTokens(sysUserService.selectUserByCardIds(Arrays.asList(cardIds)));
+        } else if (CardAction.ReOpen.equals(action) && ArrayUtils.isNotEmpty(cardIds)) {
+            List<SysUser> sysUsers = sysUserService.selectUserByCardIds(Arrays.asList(cardIds));
+            for (SysUser user : sysUsers) {
+                if(UserRegStatus.User.equals(user.getRegStatus())) {
+                    SysUser upUser = new SysUser();
+                    upUser.setUserId(user.getUserId());
+                    upUser.setRegStatus(UserRegStatus.Student);
+                    sysUserService.updateUserProfile(upUser);
+                }
+            }
+            sysLoginService.resetTokens(sysUsers);
         }
         return AjaxResult.success();
     }

+ 1 - 1
ie-admin/src/main/java/com/ruoyi/web/service/LearnStatService.java

@@ -73,7 +73,7 @@ public class LearnStatService {
         List<JSONObject> list = answerMapper.selectKnowledgeStats(Dict.create().set("studentId", studentId).set("knowIds", knowledgeIdSet));
         list.forEach(o -> {
             CommonUtils.normalRate(o);
-            o.put("directed", "1".equals(o.get("directed")));
+            o.put("directed", "1".equals(o.getString("directed")));
         });
         return list;
     }

+ 3 - 0
ie-admin/src/main/java/com/ruoyi/web/service/LearnTeacherService.java

@@ -521,6 +521,9 @@ public class LearnTeacherService {
         if(null != (directedKnowledge = getBestLearnDirectedKnowledge(curr, directedKnowledgeMap)) && StringUtils.isNotBlank(directedKnowledge.getKnowledges())) {
             knowledgeIdSet.addAll(Stream.of(directedKnowledge.getKnowledges().split(",")).map(t -> Long.parseLong(t.trim())).collect(Collectors.toList()));
         }
+        if(!knowledgeIdSet.isEmpty()) {
+            knowledgeIdSet.addAll(learnKnowledgeTreeMapper.selectLearnKnowledgeTreeByParentIds(knowledgeIdSet).stream().map(LearnKnowledgeTree::getId).collect(Collectors.toSet()));
+        }
         return knowledgeIdSet;
     }