Ver código fonte

Merge branch 'master' of http://gogs.gisvg.com/YDM/graduate

47 4 meses atrás
pai
commit
5c4ec8630c

+ 9 - 3
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/UserController.java

@@ -72,8 +72,14 @@ public class UserController {
 
     @PutMapping("/updateInnerSupervisor")
     @Operation(summary = "修改校内导师")
-    public CommonResult<Boolean> updateInnerSupervisor(@RequestParam("updateVO") List<Map<String, Long>> updateVO ) {
-        userService.updateInnerSupervisor(updateVO);
+    public CommonResult<Boolean> updateInnerSupervisor(@RequestBody Map<String, List<Map<String, Long>>> request) {
+        List<Map<String, Long>> updateVO = request.get("updateVO");
+        if (updateVO == null) {
+            return error(1,"更新失败");
+        }
+        for (Map<String, Long> re:updateVO){
+            userService.updateInnerSupervisor(re.get("studentId"),re.get("supervisorId"));
+        }
         return success(true);
     }
 
@@ -384,7 +390,7 @@ public class UserController {
             if ((user.getGrade() != null && !user.getGrade().isEmpty())&&user.getUserType().equals("3")||user.getUserType().equals("5")){
                 //导师学生成果要求
                 supervisorSelectionSettingDO settingDO = supervisorSelectionSettingService.getSettingBySupervisorIdAndProjectId(id,project.getId());
-                if (settingDO!=null) {
+                if(settingDO != null){
                     user.setStudentAchievementRequirement(settingDO.getStudentAchievementRequirement());
                 }
             }

+ 2 - 12
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/user/AdminUserMapper.java

@@ -21,18 +21,8 @@ public interface AdminUserMapper extends BaseMapperX<AdminUserDO> {
 
     List<AdminUserDO> getStudentSelectExternalSupervisorsList(@Param("projectId")Long projectId) ;
 
-    @Update("<script>" +
-            "UPDATE system_users " +
-            "SET supervisor_id = CASE id " +
-            "<foreach collection='updateVO' item='entry' separator=' '>" +
-            "WHEN #{entry.studentId} THEN #{entry.supervisorId} " +
-            "</foreach>" +
-            "WHERE id IN " +
-            "<foreach collection='updateVO' item='entry' open='(' separator=',' close=')'>" +
-            "#{entry.studentId}" +
-            "</foreach>" +
-            "</script>")
-    void updateInnerSupervisors(@Param("updateVO") List<Map<String, Long>> updateVO);
+    @Update("UPDATE system_users SET supervisor_id = #{supervisorId} WHERE id = #{studentId}")
+    void updateInnerSupervisor(@Param("studentId") Long studentId, @Param("supervisorId") Long supervisorId);
 
     default AdminUserDO selectByUsername(String username) {
         return selectOne(AdminUserDO::getUsername, username);

+ 13 - 3
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/supervisorSelectionSetting/supervisorSelectionSettingServiceImpl.java

@@ -99,9 +99,19 @@ public class supervisorSelectionSettingServiceImpl implements supervisorSelectio
             re.setOccupiedAcademicSlots(occupiedAcademicSlots);
             re.setOccupiedProfessionalSlots(occupiedProfessionalSlots);
             if (roleIds.contains(112L)){
-                studentSelectSupervisorRecordDO record = studentSelectSupervisorRecordService.getRecordByStudentIdAndSupervisorId(pageReqVO.getProjectId(),loginId, Long.valueOf(supervisorId),1);//待处理的
-                if (record!=null){
-                    re.setSelectType(1);
+                studentSelectSupervisorRecordDO record1 = studentSelectSupervisorRecordService.getRecordByStudentIdAndSupervisorId(pageReqVO.getProjectId(),loginId,supervisorId,1);//待处理的
+                studentSelectSupervisorRecordDO record2 = studentSelectSupervisorRecordService.getRecordByStudentIdAndSupervisorId(pageReqVO.getProjectId(),loginId,supervisorId,2);//同意的
+                studentSelectSupervisorRecordDO record3 = studentSelectSupervisorRecordService.getRecordByStudentIdAndSupervisorId(pageReqVO.getProjectId(),loginId,supervisorId,4);//学院编辑的
+                studentSelectSupervisorRecordDO record = null; // 初始化record为null
+                if (record1 != null) {
+                    record = record1;
+                } else if (record2 != null) {
+                    record = record2;
+                } else if (record3 != null) {
+                    record = record3;
+                }
+                if (record != null) {
+                    re.setSelectType(record.getSelectType());
                 }
             }
         });

+ 1 - 1
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/user/AdminUserService.java

@@ -24,7 +24,7 @@ public interface AdminUserService {
     /**
      * 修改校内导师
      */
-    void updateInnerSupervisor(List<Map<String, Long>> updateVO);
+    void updateInnerSupervisor(Long studentId ,Long supervisorId);
 
     /**
      * 创建用户

+ 2 - 2
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/user/AdminUserServiceImpl.java

@@ -89,8 +89,8 @@ public class AdminUserServiceImpl implements AdminUserService {
     private FileApi fileApi;
 
     @Override
-    public void updateInnerSupervisor(List<Map<String, Long>> updateVO){
-        userMapper.updateInnerSupervisors(updateVO);
+    public void updateInnerSupervisor(Long studentId ,Long supervisorId){
+        userMapper.updateInnerSupervisor(studentId,supervisorId);
     }
 
     @Override