Crazy 4 mesi fa
parent
commit
372f720689
10 ha cambiato i file con 113 aggiunte e 40 eliminazioni
  1. 15 13
      yudao-module-md/yudao-module-md-biz/src/main/java/cn/iocoder/yudao/module/md/controller/admin/AcsController.java
  2. 8 0
      yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dept/DeptController.java
  3. 14 2
      yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/UserController.java
  4. 32 0
      yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/vo/profile/UserProfileUpdateReqVO.java
  5. 2 2
      yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/vo/user/UserPageReqVO.java
  6. 3 0
      yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/vo/user/graduateStudentExportExcelVO.java
  7. 2 2
      yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/vo/user/graduateStudentImportExcelVO.java
  8. 5 2
      yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/userAchievement/UserAchievementController.java
  9. 3 3
      yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/user/AdminUserMapper.java
  10. 29 16
      yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/user/AdminUserServiceImpl.java

+ 15 - 13
yudao-module-md/yudao-module-md-biz/src/main/java/cn/iocoder/yudao/module/md/controller/admin/AcsController.java

@@ -295,20 +295,22 @@ public class AcsController {
     @PreAuthorize("@ss.hasPermission('md:acs:user-face:delete')")
     public CommonResult<String> deleteStudentFace(@RequestParam String userNumber) throws JSONException {
         AdminUserDO user = adminUserService.findUserByUserNumber(userNumber);
-        String result = acsService.getUser(userNumber);
-        Gson gson = new Gson();
-        JsonObject jsonObject = gson.fromJson(result, JsonObject.class);
-        JsonArray userInfoArray = jsonObject
-                .getAsJsonObject("UserInfoSearch")
-                .getAsJsonArray("UserInfo");
-        if (userInfoArray!=null&&user.getPhotoUrl()!=null){
-            acsService.deleteFace(userNumber);
-            user.setPhotoUpdateTime(LocalDateTime.now());
-            user.setPhotoUrl("");//同步更新user表里的
-            adminUserService.updateUser(BeanUtils.toBean(user, UserSaveReqVO.class));
-            return success("删除照片成功");
+        if (user!=null) {
+            String result = acsService.getUser(userNumber);
+            Gson gson = new Gson();
+            JsonObject jsonObject = gson.fromJson(result, JsonObject.class);
+            JsonArray userInfoArray = jsonObject
+                    .getAsJsonObject("UserInfoSearch")
+                    .getAsJsonArray("UserInfo");
+            if (userInfoArray != null && user.getPhotoUrl() != null) {
+                acsService.deleteFace(userNumber);
+                user.setPhotoUpdateTime(LocalDateTime.now());
+                user.setPhotoUrl("");//同步更新user表里的
+                adminUserService.updateUser(BeanUtils.toBean(user, UserSaveReqVO.class));
+                return success("删除照片成功");
+            }
         }
-       return error(1,"删除照片失败");
+        return error(1, "删除照片失败");
     }
 
     @DeleteMapping("/deleteGraduateStudentInfo")

+ 8 - 0
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dept/DeptController.java

@@ -123,6 +123,14 @@ public class DeptController {
     @PreAuthorize("@ss.hasPermission('system:dept:delete')")
     public CommonResult<Boolean> deleteDept(@RequestParam("id") Long id) {
         deptService.deleteDept(id);
+        UserPageReqVO reqVO =new UserPageReqVO();
+        reqVO.setDeptId(id);
+        List<AdminUserDO> userList =adminUserService.selectAllList(reqVO);
+        userList.forEach(user -> {
+                user.setDeptId(0L);
+                adminUserService.updateUser(BeanUtils.toBean(user,UserSaveReqVO.class));
+        });
+
         return success(true);
     }
 

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

@@ -102,10 +102,10 @@ public class UserController {
     public CommonResult<Boolean> deleteUser(@RequestParam("id") Long id) {
         AdminUserDO user =userService.getUser(id);
         userService.deleteUser(id);
-        if ("3".equals(user.getUserType())) {//是导师删除其工作间负责人id
+        if ("3".equals(user.getUserType())) {
+            //是导师删除其工作间负责人id
             DeptDO originDept = deptService.getDept(user.getDeptId());
             DeptSaveReqVO originNewDept = BeanUtils.toBean(originDept, DeptSaveReqVO.class);
-
             if (originDept != null) {
                 List<Long> originLeaderIdList = originNewDept.getLeaderUserId();
                 if (originLeaderIdList == null) {
@@ -115,6 +115,18 @@ public class UserController {
                 originNewDept.setLeaderUserId(originLeaderIdList);  // 设置更新后的负责人列表
                 deptService.updateDept(originNewDept);
             }
+            //初始化学生supervisorId字段
+            UserPageReqVO reqVO =new UserPageReqVO();
+            reqVO.setUserType("1");
+            reqVO.setSupervisorId(id);
+            List<AdminUserDO> studentList =userService.selectAllList(reqVO);
+            if (studentList!=null&&!studentList.isEmpty()){
+                studentList.forEach(student->{
+                    //TODO设置为0需要判断很多
+                    student.setSupervisorId(0L);
+                    userService.updateUser(BeanUtils.toBean(student,UserSaveReqVO.class));
+                });
+            }
         }
 
         return success(true);

+ 32 - 0
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/vo/profile/UserProfileUpdateReqVO.java

@@ -28,4 +28,36 @@ public class UserProfileUpdateReqVO {
     @Schema(description = "用户性别,参见 SexEnum 枚举类", example = "1")
     private Integer sex;
 
+
+    //新加的
+    @Schema(description = "简介")
+    private String remark;
+
+    @Schema(description = "1本科生,2毕业生,3导师", example = "1")
+    private String userType;
+
+    @Schema(description = "专业名称")
+    private String major;
+
+    @Schema(description = "专硕(学硕)名称", example = "2")
+    private String masterType;
+
+    @Schema(description = "导师id", example = "21284")
+    private Long supervisorId;
+
+    @Schema(description = "学号")
+    private String userNumber;
+
+    @Schema(description = "年级")
+    private String grade;
+
+    @Schema(description = "导师名称")
+    private String supervisor;
+
+    @Schema(description = "照片url")
+    private String photoUrl;
+
+    @Schema(description = "用户头像")
+    private String avatar;
+
 }

+ 2 - 2
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/vo/user/UserPageReqVO.java

@@ -62,8 +62,8 @@ public class UserPageReqVO extends PageParam {
     @Schema(description = "导师名称")
     private String supervisor;
 
-    @Schema(description = "导师名称")
-    private String supervisorId;
+    @Schema(description = "导师id")
+    private Long supervisorId;
 
     @Schema(description = "工作地点")
     private String workPlace;

+ 3 - 0
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/vo/user/graduateStudentExportExcelVO.java

@@ -34,6 +34,9 @@ public class graduateStudentExportExcelVO {
     @ExcelProperty("专业名称")
     private String major;
 
+    @ExcelProperty("专硕类型")
+    private String masterType;
+
     @ExcelProperty("学号")
     private String userNumber;
 

+ 2 - 2
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/vo/user/graduateStudentImportExcelVO.java

@@ -42,8 +42,8 @@ public class graduateStudentImportExcelVO {
     @ExcelProperty("专业名称")
     private String major;
 
-//    @ExcelProperty("专硕名称")
-//    private String masterType;
+    @ExcelProperty("专硕类型")
+    private String masterType;
 
     @ExcelProperty("学号")
     private String userNumber;

+ 5 - 2
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/userAchievement/UserAchievementController.java

@@ -135,8 +135,11 @@ public class UserAchievementController {
         List<UserAchievementDO> list = userAchievementService.getUserAchievementPage(pageReqVO).getList();
         list = list.stream()
                 .map(userAchievement -> {
-                    // 根据sort值设置对应的作者类型
-                    switch (userAchievement.getSort()) {
+                    String sort = userAchievement.getSort();
+                    if (sort == null) {
+                        sort = "未知"; // 或者其他你想要的默认值
+                    }
+                    switch (sort) {
                         case "1":
                             userAchievement.setSort("第一作者");
                             break;

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

@@ -88,7 +88,7 @@ public interface AdminUserMapper extends BaseMapperX<AdminUserDO> {
                 // 添加子查询条件,查找有教师权限的人
                 .eqIfPresent(AdminUserDO::getUserType,3)
                 .orderByDesc(AdminUserDO::getId);
-        if (roleIds.contains(113L)){//如果是教师,只找导师是登录
+        if (roleIds.contains(113L)){//如果是教师,只找导师工作间下
             queryWrapperX.eqIfPresent(AdminUserDO::getDeptId,deptId);
         }else if (roleIds.contains(114L)) {//学院
 
@@ -275,11 +275,11 @@ public interface AdminUserMapper extends BaseMapperX<AdminUserDO> {
 
 
     //通过学号查找用户
-    @Select("SELECT * FROM system_users WHERE user_number = #{userNumber}")
+    @Select("SELECT * FROM system_users WHERE user_number = #{userNumber} AND deleted = 0 ")
     AdminUserDO findUserByUserNumber(String userNumber);
     //通过昵称查找用户
 
-    @Select("SELECT * FROM system_users WHERE nickname = #{nickname}")
+    @Select("SELECT * FROM system_users WHERE nickname = #{nickname} AND deleted = 0")
     AdminUserDO getUserByNickName(String nickname);
 
     //获取所有用户列表

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

@@ -342,7 +342,7 @@ public class AdminUserServiceImpl implements AdminUserService {
         for (AdminUserDO student : pageResult.getList()) {
             // 根据 supervisorId
             if ("1".equals(student.getUserType()) ||"2".equals(student.getUserType())) {
-                if (student.getSupervisorId() != null) {
+                if (student.getSupervisorId() != null&&student.getSupervisorId()!=0L) {
                     AdminUserDO supervisorUser = getUser(student.getSupervisorId());
                     String supervisor = supervisorUser.getNickname();
                     String mobile = supervisorUser.getMobile();
@@ -362,7 +362,7 @@ public class AdminUserServiceImpl implements AdminUserService {
         for (AdminUserDO student : listResult) {
             // 根据 supervisorId
             if ("1".equals(student.getUserType()) ||"2".equals(student.getUserType())) {
-                if (student.getSupervisorId() != null) {
+                if (student.getSupervisorId() != null&&student.getSupervisorId()!=0L) {
                     AdminUserDO supervisorUser = getUser(student.getSupervisorId());
                     if(supervisorUser != null){
                         String supervisor = supervisorUser.getNickname();
@@ -390,7 +390,6 @@ public class AdminUserServiceImpl implements AdminUserService {
         Long deptId = SecurityFrameworkUtils.getLoginUserDeptId();
         Set<Long> roleIds = permissionService.getUserRoleIdListByUserId(loginId);
         int offset;
-        System.out.println("KDASOD"+reqVO.getPageSize());
         if (reqVO.getPageSize() == -1) {
             offset =-1;  //
         } else {
@@ -444,7 +443,7 @@ public class AdminUserServiceImpl implements AdminUserService {
         Long loginId = SecurityFrameworkUtils.getLoginUserId();
         Set<Long> roleIds = permissionService.getUserRoleIdListByUserId(loginId);
         PageResult<AdminUserDO> result =userMapper.selectPage0(reqVO, getDeptCondition(reqVO.getDeptId()),roleIds,loginId);
-        result.getList().stream().forEach(user -> {
+        result.getList().forEach(user -> {
             if (user.getDeptId()==null||user.getDeptId()==0L){
                 user.setDeptName("测绘学院");
             }
@@ -466,13 +465,15 @@ public class AdminUserServiceImpl implements AdminUserService {
         // 循环处理每个毕业生
         for (AdminUserDO student : pageResult.getList()) {
             // 根据 supervisorId 查询导师信息
-            if (student.getSupervisorId() != null) {
+            if (student.getSupervisorId() != null&&student.getSupervisorId()!=0) {
                 AdminUserDO supervisorUser = getUser(student.getSupervisorId());
-                String supervisor = supervisorUser.getNickname();
-                String mobile = supervisorUser.getMobile();
-                // 赋值给 对应 字段
-                student.setSupervisor(supervisor);
-                student.setSupervisorMobile(mobile);
+                if (supervisorUser!=null) {
+                    String supervisor = supervisorUser.getNickname();
+                    String mobile = supervisorUser.getMobile();
+                    // 赋值给 对应 字段
+                    student.setSupervisor(supervisor);
+                    student.setSupervisorMobile(mobile);
+                }
             }
         }
         return pageResult;
@@ -929,7 +930,7 @@ public class AdminUserServiceImpl implements AdminUserService {
                 }
                 UserSaveReqVO newUser = BeanUtils.toBean(importUser, UserSaveReqVO.class);
 
-                if (UserRoleIds.contains(113L)&&importUser.getSupervisor()==null){//是导师
+                if (UserRoleIds.contains(113L)&&importUser.getSupervisor()==null){//是导师导入毕业生
                     newUser.setSupervisorId(loginId);
                 } else if (UserRoleIds.contains(114L) &&importUser.getSupervisor()!=null){//是学院
                     newUser.setSupervisorId(userMapper.getUserByNickName(importUser.getSupervisor()).getId());
@@ -1018,8 +1019,12 @@ public class AdminUserServiceImpl implements AdminUserService {
 
                 if (UserRoleIds.contains(113L)&&importUser.getSupervisor()==null){//是导师
                     newUser.setSupervisorId(loginId);
-                } else if (UserRoleIds.contains(114L) &&importUser.getSupervisor()!=null){//是学院
-                    newUser.setSupervisorId(userMapper.getUserByNickName(importUser.getSupervisor()).getId());
+                } else if (UserRoleIds.contains(114L)){//是学院
+                    if (importUser.getSupervisor()!=null){
+                        newUser.setSupervisorId(userMapper.getUserByNickName(importUser.getSupervisor()).getId());
+                    }else{
+                        newUser.setSupervisorId(0L);
+                    }
                 }else if (UserRoleIds.contains(113L) &&importUser.getSupervisor()!=null){
                     newUser.setSupervisorId(userMapper.getUserByNickName(importUser.getSupervisor()).getId());
                 }
@@ -1059,8 +1064,12 @@ public class AdminUserServiceImpl implements AdminUserService {
 
             if (UserRoleIds.contains(113L)&&importUser.getSupervisor()==null){//是导师直接在下面
                 updateUser.setSupervisorId(loginId);
-            } else if (UserRoleIds.contains(114L) &&importUser.getSupervisor()!=null){//是学院
-                updateUser.setSupervisorId(userMapper.getUserByNickName(importUser.getSupervisor()).getId());
+            } else if (UserRoleIds.contains(114L)){//是学院
+                if (importUser.getSupervisor()!=null){
+                    updateUser.setSupervisorId(userMapper.getUserByNickName(importUser.getSupervisor()).getId());
+                }else{
+                    updateUser.setSupervisorId(0L);
+                }
             } else if (UserRoleIds.contains(113L) &&importUser.getSupervisor()!=null){
                 updateUser.setSupervisorId(userMapper.getUserByNickName(importUser.getSupervisor()).getId());
             }
@@ -1101,7 +1110,11 @@ public class AdminUserServiceImpl implements AdminUserService {
     @Override
     public AdminUserDO findUserByUserNumber(String userNumber){
         if (userNumber!=null) {
-            return userMapper.findUserByUserNumber(userNumber);
+          AdminUserDO user =userMapper.findUserByUserNumber(userNumber);
+          if (user!=null){
+              return user;
+          }
+          return null;
         }
         return null;
     }