Crazy преди 5 месеца
родител
ревизия
0e2c910872

+ 8 - 2
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);
     }
 

+ 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);

+ 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