Procházet zdrojové kódy

应资源库需要,系统人员相关功能修改

honorfire před 7 měsíci
rodič
revize
c59bdeb2c3

+ 27 - 27
snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/mapper/mapping/CourseAuditRecordMapper.xml

@@ -5,11 +5,11 @@
     <select id="queryList" resultType="java.util.Map">
         SELECT
             t1.ID as id,
-            t1.USERFILE_ID AS fileId,
-            t2.FILE_NAME AS fileName,
-            rf.FILE_URL AS fileUrl,
-            TO_CHAR(t1.CREATE_TIME, 'YYYY-MM-DD HH24:MI:SS')  as uploadTime,
-            t2.EXTEND_NAME AS suffix,
+            IFNULL (t1.USERFILE_ID,'') AS fileId,
+            IFNULL (t2.FILE_NAME,'') AS fileName,
+            IFNULL (rf.FILE_URL,'') AS fileUrl,
+            IFNULL (TO_CHAR(t1.CREATE_TIME, 'YYYY-MM-DD HH24:MI:SS'),'')  as uploadTime,
+            IFNULL (t2.EXTEND_NAME,'') AS suffix,
             IFNULL (t1.VERIFY_STATUS,'') as verifyStatus,
             IFNULL(( SELECT dd1.DICT_LABEL FROM (SELECT d1.DICT_LABEL,d1.DICT_VALUE  FROM  DEV_DICT d1 WHERE PARENT_ID = (SELECT d2.ID  FROM  DEV_DICT d2 WHERE d2.DICT_VALUE='COURSE_VERIFY_STATUS') )dd1 WHERE dd1.DICT_VALUE = TRIM(t1.VERIFY_STATUS) ),'') AS verifyStatusName,
             IFNULL (t1.COLLEGE_ID,'') AS collegeId,
@@ -18,16 +18,16 @@
             IFNULL (t42.NAME,'') AS collegeTwoIdName,
             IFNULL (t1.COLLEGE_THREE_ID,'') AS collegeThreeId,
             IFNULL (t43.NAME,'') AS collegeThreeIdName,
-            CONCAT(t1.COLLEGE_ID,',',t1.COLLEGE_TWO_ID,',',t1.COLLEGE_THREE_ID) AS collegeAllId,
-            CONCAT(t4.NAME,',',t42.NAME,',',t43.NAME) AS collegeAllIdName,
+            IFNULL (CONCAT(t1.COLLEGE_ID,',',t1.COLLEGE_TWO_ID,',',t1.COLLEGE_THREE_ID),'') AS collegeAllId,
+            IFNULL (CONCAT(t4.NAME,',',t42.NAME,',',t43.NAME),'') AS collegeAllIdName,
             IFNULL (t1.MAJOR_ID,'') AS majorId,
             IFNULL (t5.major_name,'') AS majorIdName,
             IFNULL (t1.RESOURCE_TYPE,'') AS resourceType,
             IFNULL (rt.NAME,'') AS resourceTypeName,
             IFNULL (t1.RESOURCE_TWO_TYPE,'') AS resourceTwoType,
             IFNULL (rt2.NAME,'') AS resourceTwoTypeName,
-            CONCAT(t1.RESOURCE_TYPE,',',t1.RESOURCE_TWO_TYPE) AS resourceAllType,
-            CONCAT(rt.NAME,',',rt2.NAME) AS resourceALLTypeName,
+            IFNULL (CONCAT(t1.RESOURCE_TYPE,',',t1.RESOURCE_TWO_TYPE),'') AS resourceAllType,
+            IFNULL (CONCAT(rt.NAME,',',rt2.NAME),'') AS resourceALLTypeName,
             IFNULL (t1.COURSE_ID,'') as courseId,
             IFNULL (t3.COURSE_NAME,'') AS courseIdName
         FROM RESOURCE_RECORD t1
@@ -84,14 +84,14 @@
     <select id="queryResourceCentreList" resultType="java.util.Map">
         SELECT
         t1.ID as id,
-        t1.USERFILE_ID AS fileId,
-        t2.FILE_NAME AS fileName,
-        TO_CHAR(t1.CREATE_TIME, 'YYYY-MM-DD HH24:MI:SS')  as uploadTime,
+        IFNULL (t1.USERFILE_ID,'') AS fileId,
+        IFNULL (t2.FILE_NAME,'') AS fileName,
+        IFNULL (TO_CHAR(t1.CREATE_TIME, 'YYYY-MM-DD HH24:MI:SS'),'')  as uploadTime,
         IFNULL (t1.VERIFY_STATUS,'') as verifyStatus,
         IFNULL(( SELECT dd1.DICT_LABEL FROM (SELECT d1.DICT_LABEL,d1.DICT_VALUE  FROM  DEV_DICT d1 WHERE PARENT_ID = (SELECT d2.ID  FROM  DEV_DICT d2 WHERE d2.DICT_VALUE='COURSE_VERIFY_STATUS') )dd1 WHERE dd1.DICT_VALUE = TRIM(t1.VERIFY_STATUS) ),'') AS verifyStatusName,
         IFNULL (t1.COLLEGE_ID,'') AS collegeId,
         IFNULL (t4.NAME,'') AS collegeIdName,
-        t1.VIEW_COUNT as viewCount,
+        IFNULL (t1.VIEW_COUNT,0) as viewCount,
         IFNULL (t7.NAME,'') AS resourceCreaterUserName,
         IFNULL (CAST(t6.DOWNLOAD_PATH AS VARCHAR),'') AS coverImagePath
         FROM RESOURCE_RECORD t1
@@ -165,24 +165,24 @@
     <select id="queryInfo" resultType="java.util.Map">
         SELECT
             t1.ID as id,
-            t1.USERFILE_ID AS fileId,
-            t2.FILE_NAME AS fileName,
-            rf.FILE_URL AS fileUrl,
-            rf.PRIVIEW_FILE_URL as priviewFileUrl,
-            rf.FILE_SIZE AS fileSize,
-            TO_CHAR(t1.CREATE_TIME, 'YYYY-MM-DD HH24:MI:SS')  as uploadTime,
-            t2.EXTEND_NAME AS suffix,
+            IFNULL (t1.USERFILE_ID,'') AS fileId,
+            IFNULL (t2.FILE_NAME,'') AS fileName,
+            IFNULL (rf.FILE_URL,'') AS fileUrl,
+            IFNULL (rf.PRIVIEW_FILE_URL,'') as priviewFileUrl,
+            IFNULL (rf.FILE_SIZE,0) AS fileSize,
+            IFNULL (TO_CHAR(t1.CREATE_TIME, 'YYYY-MM-DD HH24:MI:SS'),'')  as uploadTime,
+            IFNULL (t2.EXTEND_NAME,'') AS suffix,
             IFNULL (t1.VERIFY_STATUS,'') as verifyStatus,
             IFNULL(( SELECT dd1.DICT_LABEL FROM (SELECT d1.DICT_LABEL,d1.DICT_VALUE  FROM  DEV_DICT d1 WHERE PARENT_ID = (SELECT d2.ID  FROM  DEV_DICT d2 WHERE d2.DICT_VALUE='COURSE_VERIFY_STATUS') )dd1 WHERE dd1.DICT_VALUE = TRIM(t1.VERIFY_STATUS) ),'') AS verifyStatusName,
-            t1.VIEW_COUNT as viewCount,
+            IFNULL (t1.VIEW_COUNT,0) as viewCount,
             IFNULL (t1.COLLEGE_ID,'') AS collegeId,
             IFNULL (t4.NAME,'') AS collegeIdName,
             IFNULL (t1.COLLEGE_TWO_ID,'') AS collegeTwoId,
             IFNULL (t42.NAME,'') AS collegeTwoIdName,
             IFNULL (t1.COLLEGE_THREE_ID,'') AS collegeThreeId,
             IFNULL (t43.NAME,'') AS collegeThreeIdName,
-            CONCAT(t1.COLLEGE_ID,',',t1.COLLEGE_TWO_ID,',',t1.COLLEGE_THREE_ID) AS collegeAllId,
-            CONCAT(t4.NAME,',',t42.NAME,',',t43.NAME) AS collegeAllIdName,
+            IFNULL (CONCAT(t1.COLLEGE_ID,',',t1.COLLEGE_TWO_ID,',',t1.COLLEGE_THREE_ID),'') AS collegeAllId,
+            IFNULL (CONCAT(t4.NAME,',',t42.NAME,',',t43.NAME),'') AS collegeAllIdName,
             IFNULL (t1.MAJOR_ID,'') AS majorId,
             IFNULL (t5.major_name,'') AS majorIdName,
             IFNULL (t1.RESOURCE_TYPE,'') AS resourceType,
@@ -228,16 +228,16 @@
             IFNULL (t42.NAME,'') AS collegeTwoIdName,
             IFNULL (t1.COLLEGE_THREE_ID,'') AS collegeThreeId,
             IFNULL (t43.NAME,'') AS collegeThreeIdName,
-            CONCAT(t1.COLLEGE_ID,',',t1.COLLEGE_TWO_ID,',',t1.COLLEGE_THREE_ID) AS collegeAllId,
-            CONCAT(t4.NAME,',',t42.NAME,',',t43.NAME) AS collegeAllIdName,
+            IFNULL (CONCAT(t1.COLLEGE_ID,',',t1.COLLEGE_TWO_ID,',',t1.COLLEGE_THREE_ID),'') AS collegeAllId,
+            IFNULL (CONCAT(t4.NAME,',',t42.NAME,',',t43.NAME),'') AS collegeAllIdName,
             IFNULL (t1.MAJOR_ID,'') AS majorId,
             IFNULL (t5.major_name,'') AS majorIdName,
             IFNULL (t1.RESOURCE_TYPE,'') AS resourceType,
             IFNULL (rt.NAME,'') AS resourceTypeName,
             IFNULL (t1.RESOURCE_TWO_TYPE,'') AS resourceTwoType,
             IFNULL (rt2.NAME,'') AS resourceTwoTypeName,
-            CONCAT(t1.RESOURCE_TYPE,',',t1.RESOURCE_TWO_TYPE) AS resourceAllType,
-            CONCAT(rt.NAME,',',rt2.NAME) AS resourceALLTypeName,
+            IFNULL (CONCAT(t1.RESOURCE_TYPE,',',t1.RESOURCE_TWO_TYPE),'') AS resourceAllType,
+            IFNULL (CONCAT(rt.NAME,',',rt2.NAME),'') AS resourceALLTypeName,
             IFNULL (t1.AUTH_TYPE,'') AS authType,
             IFNULL(( SELECT dd1.DICT_LABEL FROM (SELECT d1.DICT_LABEL,d1.DICT_VALUE  FROM  DEV_DICT d1 WHERE PARENT_ID = (SELECT d2.ID  FROM  DEV_DICT d2 WHERE d2.DICT_VALUE='RESOURCE_RECORD_AUTH_TYPE') )dd1 WHERE dd1.DICT_VALUE = TRIM(t1.AUTH_TYPE) ),'') AS authTypeName,
             IFNULL (t1.KEYWORD ,'') as keyword,

+ 15 - 0
snowy-plugin/snowy-plugin-sys/snowy-plugin-sys-func/src/main/java/vip/xiaonuo/sys/modular/user/entity/SysUser.java

@@ -305,4 +305,19 @@ public class SysUser extends CommonEntity {
     /** 三级院系ID */
     @ApiModelProperty(value = "三级院系ID", position = 7)
     private String collegeThreeId;
+
+    /** 院系所有ID */
+    @ApiModelProperty(value = "院系所有ID", position = 7)
+    @TableField(exist = false,insertStrategy = FieldStrategy.IGNORED, updateStrategy = FieldStrategy.IGNORED)
+    private String collegeAllId;
+
+    /** 院系所有名称 */
+    @ApiModelProperty(value = "院系所有名称", position = 7)
+    @TableField(exist = false,insertStrategy = FieldStrategy.IGNORED, updateStrategy = FieldStrategy.IGNORED)
+    private String collegeAllIdName;
+
+    /** 教育身份名称 */
+    @ApiModelProperty(value = "教育身份名称", position = 7)
+    @TableField(exist = false,insertStrategy = FieldStrategy.IGNORED, updateStrategy = FieldStrategy.IGNORED)
+    private String eduIdentityName;
 }

+ 12 - 0
snowy-plugin/snowy-plugin-sys/snowy-plugin-sys-func/src/main/java/vip/xiaonuo/sys/modular/user/mapper/SysUserMapper.java

@@ -48,4 +48,16 @@ public interface SysUserMapper extends BaseMapper<SysUser> {
      * 获取院系人员树-人员部分
      * */
     List<Map<String, Object>> getOrgUserChildList(Map param);
+
+    /**
+     * 获取人员其他信息
+     * (用于补全信息)
+     * */
+    Map<String,Object> getOtherInfo(Map param);
+
+    /**
+     * 获取人员其他信息-列表
+     * (用于补全信息)
+     * */
+    List<Map<String,Object>> getOtherInfoList(Map param);
 }

+ 47 - 0
snowy-plugin/snowy-plugin-sys/snowy-plugin-sys-func/src/main/java/vip/xiaonuo/sys/modular/user/mapper/mapping/SysUserMapper.xml

@@ -34,4 +34,51 @@
             AND t1.COLLEGE_THREE_ID =#{collegeParentId}
         </if>
     </select>
+    <select id="getOtherInfo" resultType="java.util.Map">
+        SELECT
+            t1.ID as id,
+            IFNULL(t1.EDU_IDENTITY,'') AS eduIdentity,
+            IFNULL(( SELECT dd1.DICT_LABEL FROM (SELECT d1.DICT_LABEL,d1.DICT_VALUE  FROM  DEV_DICT d1 WHERE PARENT_ID = (SELECT d2.ID  FROM  DEV_DICT d2 WHERE d2.DICT_VALUE='SYS_USER_EDU_IDENTITY') )dd1 WHERE dd1.DICT_VALUE = TRIM(t1.EDU_IDENTITY) ),'') AS eduIdentityName,
+            IFNULL (t1.COLLEGE_ID,'') AS collegeId,
+            IFNULL (co1.NAME,'') AS collegeIdName,
+            IFNULL (t1.COLLEGE_TWO_ID,'') AS collegeTwoId,
+            IFNULL (co2.NAME,'') AS collegeTwoIdName,
+            IFNULL (t1.COLLEGE_THREE_ID,'') AS collegeThreeId,
+            IFNULL (co3.NAME,'') AS collegeThreeIdName,
+            IFNULL (CONCAT(t1.COLLEGE_ID,',',t1.COLLEGE_TWO_ID,',',t1.COLLEGE_THREE_ID),'') AS collegeAllId,
+            IFNULL (CONCAT(co1.NAME,',',co2.NAME,',',co3.NAME),'') AS collegeAllIdName
+        FROM SYS_USER t1
+        LEFT JOIN college co1 ON t1.COLLEGE_ID=co1.id AND co1.DELETE_FLAG ='NOT_DELETE'
+        LEFT JOIN college co2 ON t1.COLLEGE_TWO_ID=co2.id AND co2.DELETE_FLAG ='NOT_DELETE'
+        LEFT JOIN college co3 ON t1.COLLEGE_THREE_ID=co3.id AND co3.DELETE_FLAG ='NOT_DELETE'
+        WHERE 1=1
+        <if test="id !=null and id != ''">
+            AND t1.ID =#{id}
+        </if>
+    </select>
+    <select id="getOtherInfoList" resultType="java.util.Map">
+        SELECT
+            t1.ID as id,
+            IFNULL(t1.EDU_IDENTITY,'') AS eduIdentity,
+            IFNULL(( SELECT dd1.DICT_LABEL FROM (SELECT d1.DICT_LABEL,d1.DICT_VALUE  FROM  DEV_DICT d1 WHERE PARENT_ID = (SELECT d2.ID  FROM  DEV_DICT d2 WHERE d2.DICT_VALUE='SYS_USER_EDU_IDENTITY') )dd1 WHERE dd1.DICT_VALUE = TRIM(t1.EDU_IDENTITY) ),'') AS eduIdentityName,
+            IFNULL (t1.COLLEGE_ID,'') AS collegeId,
+            IFNULL (co1.NAME,'') AS collegeIdName,
+            IFNULL (t1.COLLEGE_TWO_ID,'') AS collegeTwoId,
+            IFNULL (co2.NAME,'') AS collegeTwoIdName,
+            IFNULL (t1.COLLEGE_THREE_ID,'') AS collegeThreeId,
+            IFNULL (co3.NAME,'') AS collegeThreeIdName,
+            IFNULL (CONCAT(t1.COLLEGE_ID,',',t1.COLLEGE_TWO_ID,',',t1.COLLEGE_THREE_ID),'') AS collegeAllId,
+            IFNULL (CONCAT(co1.NAME,',',co2.NAME,',',co3.NAME),'') AS collegeAllIdName
+        FROM SYS_USER t1
+        LEFT JOIN college co1 ON t1.COLLEGE_ID=co1.id AND co1.DELETE_FLAG ='NOT_DELETE'
+        LEFT JOIN college co2 ON t1.COLLEGE_TWO_ID=co2.id AND co2.DELETE_FLAG ='NOT_DELETE'
+        LEFT JOIN college co3 ON t1.COLLEGE_THREE_ID=co3.id AND co3.DELETE_FLAG ='NOT_DELETE'
+        WHERE 1=1
+        <if test="idList !=null and idList.size()>0">
+            and t1.ID in
+            <foreach collection=" idList" close=")" index="index" item="item" open="(" separator=",">
+                #{item}
+            </foreach>
+        </if>
+    </select>
 </mapper>

+ 35 - 3
snowy-plugin/snowy-plugin-sys/snowy-plugin-sys-func/src/main/java/vip/xiaonuo/sys/modular/user/service/impl/SysUserServiceImpl.java

@@ -239,7 +239,30 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
         } else {
             queryWrapper.lambda().orderByAsc(SysUser::getSortCode);
         }
-        return this.page(CommonPageRequest.defaultPage(), queryWrapper);
+        Page<SysUser> page=this.page(CommonPageRequest.defaultPage(), queryWrapper);
+        //补全其他基础信息
+        Map param=new HashMap();
+        List<SysUser> sysUserList = page.getRecords();
+        List<String> sysUserIdList=CollStreamUtil.toList(sysUserList, SysUser::getId);
+        param.put("idList",sysUserIdList);
+        List<Map<String, Object>> otherInfoList=sysUserMapper.getOtherInfoList(param);
+        // 将 otherInfoList 转为 Map<用户ID, 附加信息> 方便快速查找
+        Map<String, Map<String, Object>> otherInfoMap = otherInfoList.stream()
+                .collect(Collectors.toMap(
+                        info -> info.get("id").toString(), // 假设 Map 中有 userId 字段
+                        info -> info
+                ));
+
+        // 遍历用户列表并赋值
+        sysUserList.forEach(sysUser -> {
+            Map<String, Object> otherInfo = otherInfoMap.get(sysUser.getId());
+            if (otherInfo != null) {
+                sysUser.setCollegeAllId(otherInfo.get("collegeAllId").toString());
+                sysUser.setCollegeAllIdName(otherInfo.get("collegeAllIdName").toString());
+                sysUser.setEduIdentityName(otherInfo.get("eduIdentityName").toString());
+            }
+        });
+        return page;
     }
 
     /**
@@ -435,7 +458,15 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
 
     @Override
     public SysUser detail(SysUserIdParam sysUserIdParam) {
-        return this.queryEntity(sysUserIdParam.getId());
+        SysUser sysUser=this.queryEntity(sysUserIdParam.getId());
+        Map param=new HashMap();
+        param.put("id",sysUserIdParam.getId());
+        //补全其他基础信息
+        Map<String,Object> otherInfo=sysUserMapper.getOtherInfo(param);
+        sysUser.setCollegeAllId(otherInfo.get("collegeAllId").toString());
+        sysUser.setCollegeAllIdName(otherInfo.get("collegeAllIdName").toString());
+        sysUser.setEduIdentityName(otherInfo.get("eduIdentityName").toString());
+        return sysUser;
     }
 
     @Override
@@ -1497,7 +1528,8 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
                 SysUser::getSortCode, SysUser::getGender, SysUser::getEntryDate).orderByAsc(SysUser::getSortCode);
         //查人员时不查出资源库的特殊表时“人员”,如公共资源和群组
         lambdaQueryWrapper.eq(SysUser::getIsResourceaccount, "0");
-        return this.page(CommonPageRequest.defaultPage(), lambdaQueryWrapper);
+        Page<SysUser> page=this.page(CommonPageRequest.defaultPage(), lambdaQueryWrapper);
+        return page;
     }
 
     /* ====用户部分所需要用到的选择器==== */