Selaa lähdekoodia

质控核查登录接口添加用户角色列表,获取生成核查任务列表修改

songxinlu 4 vuotta sitten
vanhempi
commit
0d6a89647a

+ 5 - 0
src/main/java/com/diagbot/dto/JwtDTO.java

@@ -1,8 +1,11 @@
 package com.diagbot.dto;
 
+import io.swagger.annotations.ApiModelProperty;
 import lombok.Getter;
 import lombok.Setter;
 
+import java.util.List;
+
 /**
  * @Description: jwt 输出类
  * @author: gaodm
@@ -15,4 +18,6 @@ public class JwtDTO {
     private String refreshToken;
     private Integer type; //用户类型
     private String typeCn; //用户类型中文
+    @ApiModelProperty("用户权限列表")
+    private List<SysRoleDTO> selRoles;
 }

+ 46 - 1
src/main/java/com/diagbot/facade/SysUserFacade.java

@@ -129,6 +129,21 @@ public class SysUserFacade extends SysUserServiceImpl {
         data.setRefreshToken(jwt.getRefresh_token());
         data.setType(user.getType());
         data.setTypeCn(ConstantEnum.getName(user.getType()));//返回中文
+        //获取用户角色
+        try {
+            SysUserBaseVO sysUserBaseVO = new SysUserBaseVO();
+            sysUserBaseVO.setUserId(user.getId());
+            List<SysRoleDTO> selRoles =getlocalUserRoles(sysUserBaseVO);
+            if(selRoles!=null&&!selRoles.isEmpty())
+            {
+                data.setSelRoles(selRoles);
+            }
+
+        }
+        catch (Exception e)
+        {
+            e.printStackTrace();
+        }
         //token存入redis
         JwtStore jwtStore = new JwtStore();
         jwtStore.setAccessToken(jwt.getAccess_token());
@@ -285,7 +300,7 @@ public class SysUserFacade extends SysUserServiceImpl {
         List<SysUserRole> sysUserRoleList = sysUserRoleFacade.list(sysUserRoleQueryWrapper);
         if(ListUtil.isNotEmpty(sysUserRoleList)){
             sysUserRoleList.forEach(sysUserRole ->{
-                    roleSet.add(sysUserRole.getRoleId()+"");
+                roleSet.add(sysUserRole.getRoleId()+"");
             } );
         }
         if (user == null) {
@@ -466,6 +481,36 @@ public class SysUserFacade extends SysUserServiceImpl {
 
         return sysUserRoleDTO;
     }
+    /**
+     * 获取用户角色
+     *
+     * @param sysUserBaseVO 获取用户角色入参
+     * @return 用户角色信息
+     */
+    private List<SysRoleDTO> getlocalUserRoles(SysUserBaseVO sysUserBaseVO) {
+        SysUserRoleDTO sysUserRoleDTO = new SysUserRoleDTO();
+        sysUserRoleDTO.setUserId(sysUserBaseVO.getUserId());
+        List<SysRoleDTO> sysRoleDTOList = sysRoleFacade.listFac();
+        List<SysUserRole> sysUserRoleList
+                = sysUserRoleService.list(new QueryWrapper<SysUserRole>()
+                .eq("is_deleted", IsDeleteEnum.N.getKey())
+                .eq("user_id", sysUserBaseVO.getUserId())
+        );
+        List<SysRoleDTO> selRoles = new ArrayList<>();
+        if (ListUtil.isNotEmpty(sysUserRoleList)) {
+            Set<Long> selRoleIds = sysUserRoleList.stream()
+                    .map(SysUserRole::getRoleId)
+                    .collect(Collectors.toSet());
+            for (SysRoleDTO sysRoleDTO : sysRoleDTOList) {
+                if (selRoleIds.contains(sysRoleDTO.getId())) {
+                    selRoles.add(sysRoleDTO);
+                }
+            }
+            sysUserRoleDTO.setSelRoles(selRoles);
+        }
+
+        return selRoles;
+    }
 
     /**
      * 用户启用

+ 7 - 7
src/main/resources/mapper/MedCheckInfoMapper.xml

@@ -156,15 +156,15 @@
     </select>
     <select id="getCheckWorkPage" resultType="com.diagbot.dto.CheckWorkDTO">
         SELECT
-        mbi.behospital_code,
+        mbi.behospital_code behospitalCode,
         mbi.name,
-        mbi.file_code,
+        mbi.file_code fileCode,
         mbi.sex,
         mhp.age,
-        mbi.beh_dept_name,
-        mbi.leave_hospital_date,
-        mhp.behospital_day_num,
-        mbi.doctor_name,
+        mbi.beh_dept_name behospitalDept,
+        mbi.leave_hospital_date leaveHospitalDate,
+        mhp.behospital_day_num behospitalDayNum,
+        mbi.doctor_name attendingDoctor,
         mqi.level,
         mbi.diagnose,
         CASE WHEN mbt.behospital_type='出院病人' THEN '6'
@@ -175,7 +175,7 @@
         WHEN mbt.behospital_type='疑难病人' THEN '3'
         WHEN mbt.behospital_type='输血病人' THEN '4' ELSE '0' END AS score,
         CASE WHEN ISNULL(mci.job_create_time) THEN '未生成' ELSE '已生成' END AS creatStatus,
-        mci.job_create_time
+        mci.job_create_time gmtCreate
         FROM
         med_behospital_info mbi
         LEFT JOIN med_home_page mhp