gaodm преди 5 години
родител
ревизия
04d1ebbc87

+ 153 - 0
src/main/java/com/diagbot/entity/SysUserHospital.java

@@ -0,0 +1,153 @@
+package com.diagbot.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * <p>
+ * 用户-机构表映射表
+ * </p>
+ *
+ * @author gaodm
+ * @since 2020-04-28
+ */
+public class SysUserHospital implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    /**
+     * 是否删除,N:未删除,Y:删除
+     */
+    private String isDeleted;
+
+    /**
+     * 记录创建时间
+     */
+    private Date gmtCreate;
+
+    /**
+     * 记录修改时间,如果时间是1970年则表示纪录未修改
+     */
+    private Date gmtModified;
+
+    /**
+     * 创建人,0表示无创建人值
+     */
+    private String creator;
+
+    /**
+     * 修改人,如果为0则表示纪录未修改
+     */
+    private String modifier;
+
+    /**
+     * 用户主键
+     */
+    private Long userId;
+
+    /**
+     * 医院ID
+     */
+    private Long hospitalId;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public String getIsDeleted() {
+        return isDeleted;
+    }
+
+    public void setIsDeleted(String isDeleted) {
+        this.isDeleted = isDeleted;
+    }
+
+    public Date getGmtCreate() {
+        return gmtCreate;
+    }
+
+    public void setGmtCreate(Date gmtCreate) {
+        this.gmtCreate = gmtCreate;
+    }
+
+    public Date getGmtModified() {
+        return gmtModified;
+    }
+
+    public void setGmtModified(Date gmtModified) {
+        this.gmtModified = gmtModified;
+    }
+
+    public String getCreator() {
+        return creator;
+    }
+
+    public void setCreator(String creator) {
+        this.creator = creator;
+    }
+
+    public String getModifier() {
+        return modifier;
+    }
+
+    public void setModifier(String modifier) {
+        this.modifier = modifier;
+    }
+
+    public Long getUserId() {
+        return userId;
+    }
+
+    public void setUserId(Long userId) {
+        this.userId = userId;
+    }
+
+    public Long getHospitalId() {
+        return hospitalId;
+    }
+
+    public void setHospitalId(Long hospitalId) {
+        this.hospitalId = hospitalId;
+    }
+
+    public String getRemark() {
+        return remark;
+    }
+
+    public void setRemark(String remark) {
+        this.remark = remark;
+    }
+
+    @Override
+    public String toString() {
+        return "SysUserHospital{" +
+                "id=" + id +
+                ", isDeleted=" + isDeleted +
+                ", gmtCreate=" + gmtCreate +
+                ", gmtModified=" + gmtModified +
+                ", creator=" + creator +
+                ", modifier=" + modifier +
+                ", userId=" + userId +
+                ", hospitalId=" + hospitalId +
+                ", remark=" + remark +
+                "}";
+    }
+}

+ 37 - 9
src/main/java/com/diagbot/facade/SysUserFacade.java

@@ -19,6 +19,7 @@ import com.diagbot.entity.JWT;
 import com.diagbot.entity.JwtStore;
 import com.diagbot.entity.SysUser;
 import com.diagbot.entity.SysUserDept;
+import com.diagbot.entity.SysUserHospital;
 import com.diagbot.entity.SysUserRole;
 import com.diagbot.entity.wrapper.SysMenuWrapper;
 import com.diagbot.enums.ConstantEnum;
@@ -36,7 +37,6 @@ import com.diagbot.util.EntityUtil;
 import com.diagbot.util.ListUtil;
 import com.diagbot.util.StringUtil;
 import com.diagbot.util.SysUserUtils;
-import com.diagbot.vo.SysRoleQueryVO;
 import com.diagbot.vo.SysUserBaseVO;
 import com.diagbot.vo.SysUserDeptVO;
 import com.diagbot.vo.SysUserQueryVO;
@@ -89,6 +89,9 @@ public class SysUserFacade extends SysUserServiceImpl {
     @Autowired
     private SysRoleFacade sysRoleFacade;
 
+    @Autowired
+    private SysUserHospitalFacade sysUserHospitalFacade;
+
     /**
      * 获取jwt
      *
@@ -332,11 +335,13 @@ public class SysUserFacade extends SysUserServiceImpl {
     }
 
     //-------------用户维护BEGAIN------------------------
-    public IPage<SysUserQueryDTO> usetPageFac(SysUserQueryVO sysUserQueryVO) {
+    public IPage<SysUserQueryDTO> userPageFac(SysUserQueryVO sysUserQueryVO) {
+        sysUserQueryVO.setHospitalId(Long.valueOf(SysUserUtils.getCurrentHospitalID()));
         return this.userPage(sysUserQueryVO);
     }
 
     public SysUserDeptDTO getUserDepts(SysUserBaseVO sysUserBaseVO) {
+        checkUser(sysUserBaseVO.getUserId());
         SysUserDeptDTO sysUserDeptDTO = new SysUserDeptDTO();
         sysUserDeptDTO.setUserId(sysUserBaseVO.getUserId());
         List<BasDeptInfoDTO> basDeptInfoDTOList = basDeptInfoFacade.listForUser();
@@ -359,8 +364,8 @@ public class SysUserFacade extends SysUserServiceImpl {
                     notSelDepts.add(basDeptInfoDTO);
                 }
             }
-            sysUserDeptDTO.setNotSelDepts(selDepts);
-            sysUserDeptDTO.setSelDepts(notSelDepts);
+            sysUserDeptDTO.setNotSelDepts(notSelDepts);
+            sysUserDeptDTO.setSelDepts(selDepts);
 
         } else {
             sysUserDeptDTO.setNotSelDepts(basDeptInfoDTOList);
@@ -370,6 +375,7 @@ public class SysUserFacade extends SysUserServiceImpl {
     }
 
     public SysUserRoleDTO getUserRoles(SysUserBaseVO sysUserBaseVO) {
+        checkUser(sysUserBaseVO.getUserId());
         SysUserRoleDTO sysUserRoleDTO = new SysUserRoleDTO();
         sysUserRoleDTO.setUserId(sysUserBaseVO.getUserId());
         List<SysRoleDTO> sysRoleDTOList = sysRoleFacade.listForUser();
@@ -392,8 +398,8 @@ public class SysUserFacade extends SysUserServiceImpl {
                     notSelRoles.add(sysRoleDTO);
                 }
             }
-            sysUserRoleDTO.setNotSelRoles(selRoles);
-            sysUserRoleDTO.setSelRoles(notSelRoles);
+            sysUserRoleDTO.setNotSelRoles(notSelRoles);
+            sysUserRoleDTO.setSelRoles(selRoles);
 
         } else {
             sysUserRoleDTO.setNotSelRoles(sysRoleDTOList);
@@ -403,17 +409,21 @@ public class SysUserFacade extends SysUserServiceImpl {
     }
 
     public Boolean enable(SysUserBaseVO sysUserBaseVO) {
+        checkUser(sysUserBaseVO.getUserId());
+        Date now = DateUtil.now();
+        String userId = SysUserUtils.getCurrentPrincipleID();
         return this.update(new UpdateWrapper<SysUser>()
                 .eq("is_deleted", IsDeleteEnum.N.getKey())
                 .eq("id", sysUserBaseVO.getUserId())
                 .eq("status", StatusEnum.Disable.getKey())
-                .set("modifier", SysUserUtils.getCurrentPrincipleID())
-                .set("gmt_modified", DateUtil.now())
+                .set("modifier", userId)
+                .set("gmt_modified", now)
                 .set("status", StatusEnum.Enable.getKey())
         );
     }
 
     public Boolean disable(SysUserBaseVO sysUserBaseVO) {
+        checkUser(sysUserBaseVO.getUserId());
         Date now = DateUtil.now();
         String userId = SysUserUtils.getCurrentPrincipleID();
         return this.update(new UpdateWrapper<SysUser>()
@@ -427,6 +437,7 @@ public class SysUserFacade extends SysUserServiceImpl {
     }
 
     public Boolean editUserDepts(SysUserDeptVO sysUserDeptVO) {
+        checkUser(sysUserDeptVO.getUserId());
         Date now = DateUtil.now();
         String userId = SysUserUtils.getCurrentPrincipleID();
         //删除原部门
@@ -443,6 +454,7 @@ public class SysUserFacade extends SysUserServiceImpl {
             for (String deptId : sysUserDeptVO.getDeptIds()) {
                 SysUserDept sysUserDept = new SysUserDept();
                 sysUserDept.setUserId(sysUserDeptVO.getUserId());
+                sysUserDept.setHospitalId(Long.valueOf(SysUserUtils.getCurrentHospitalID()));
                 sysUserDept.setDeptId(deptId);
                 sysUserDept.setCreator(userId);
                 sysUserDept.setModifier(userId);
@@ -462,6 +474,7 @@ public class SysUserFacade extends SysUserServiceImpl {
     }
 
     public Boolean editUserRoles(SysUserRoleVO sysUserRoleVO) {
+        checkUser(sysUserRoleVO.getUserId());
         Date now = DateUtil.now();
         String userId = SysUserUtils.getCurrentPrincipleID();
         //删除原角色
@@ -488,12 +501,27 @@ public class SysUserFacade extends SysUserServiceImpl {
             sysUserRoleService.saveBatch(sysUserRoleList);
         }
         //更新用户表
-        return this.update(new UpdateWrapper<SysUser>()
+        this.update(new UpdateWrapper<SysUser>()
                 .eq("is_deleted", IsDeleteEnum.N.getKey())
                 .eq("id", sysUserRoleVO.getUserId())
                 .set("modifier", userId)
                 .set("gmt_modified", now)
         );
+        //删除Token
+        tokenFacade.deleteToken(sysUserRoleVO.getUserId().toString());
+        return true;
+    }
+
+    private void checkUser(Long userId) {
+        //确认用户是否是管理员下的用户
+        Integer cnt = sysUserHospitalFacade.count(new QueryWrapper<SysUserHospital>()
+                .eq("is_deleted", IsDeleteEnum.N.getKey())
+                .eq("user_id", userId)
+                .eq("hospital_id", SysUserUtils.getCurrentHospitalID())
+        );
+        if (cnt < 1) {
+            throw new CommonException(CommonErrorCode.PARAM_IS_ERROR, "该医院下无该用户");
+        }
     }
     //-------------用户维护END---------------------------
 

+ 13 - 0
src/main/java/com/diagbot/facade/SysUserHospitalFacade.java

@@ -0,0 +1,13 @@
+package com.diagbot.facade;
+
+import com.diagbot.service.impl.SysUserHospitalServiceImpl;
+import org.springframework.stereotype.Component;
+
+/**
+ * @Description:
+ * @author: gaodm
+ * @time: 2020/4/28 15:03
+ */
+@Component
+public class SysUserHospitalFacade extends SysUserHospitalServiceImpl {
+}

+ 16 - 0
src/main/java/com/diagbot/mapper/SysUserHospitalMapper.java

@@ -0,0 +1,16 @@
+package com.diagbot.mapper;
+
+import com.diagbot.entity.SysUserHospital;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 用户-机构表映射表 Mapper 接口
+ * </p>
+ *
+ * @author gaodm
+ * @since 2020-04-28
+ */
+public interface SysUserHospitalMapper extends BaseMapper<SysUserHospital> {
+
+}

+ 16 - 0
src/main/java/com/diagbot/service/SysUserHospitalService.java

@@ -0,0 +1,16 @@
+package com.diagbot.service;
+
+import com.diagbot.entity.SysUserHospital;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 用户-机构表映射表 服务类
+ * </p>
+ *
+ * @author gaodm
+ * @since 2020-04-28
+ */
+public interface SysUserHospitalService extends IService<SysUserHospital> {
+
+}

+ 20 - 0
src/main/java/com/diagbot/service/impl/SysUserHospitalServiceImpl.java

@@ -0,0 +1,20 @@
+package com.diagbot.service.impl;
+
+import com.diagbot.entity.SysUserHospital;
+import com.diagbot.mapper.SysUserHospitalMapper;
+import com.diagbot.service.SysUserHospitalService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 用户-机构表映射表 服务实现类
+ * </p>
+ *
+ * @author gaodm
+ * @since 2020-04-28
+ */
+@Service
+public class SysUserHospitalServiceImpl extends ServiceImpl<SysUserHospitalMapper, SysUserHospital> implements SysUserHospitalService {
+
+}

+ 4 - 4
src/main/java/com/diagbot/web/SysUserController.java

@@ -109,10 +109,10 @@ public class SysUserController {
     //-------------用户维护BEGAIN------------------------
     @ApiOperation(value = "用户列表翻页信息查询[by:gaodm]",
             notes = "")
-    @PostMapping("/usetPage")
-    @SysLogger("usetPage")
-    public RespDTO<IPage<SysUserQueryDTO>> usetPage(@RequestBody SysUserQueryVO sysUserQueryVO) {
-        return RespDTO.onSuc(userFacade.usetPageFac(sysUserQueryVO));
+    @PostMapping("/userPage")
+    @SysLogger("userPage")
+    public RespDTO<IPage<SysUserQueryDTO>> userPage(@RequestBody SysUserQueryVO sysUserQueryVO) {
+        return RespDTO.onSuc(userFacade.userPageFac(sysUserQueryVO));
     }
 
     @ApiOperation(value = "获取用户科室[by:gaodm]",

+ 18 - 0
src/main/resources/mapper/SysUserHospitalMapper.xml

@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.diagbot.mapper.SysUserHospitalMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.diagbot.entity.SysUserHospital">
+        <id column="id" property="id" />
+        <result column="is_deleted" property="isDeleted" />
+        <result column="gmt_create" property="gmtCreate" />
+        <result column="gmt_modified" property="gmtModified" />
+        <result column="creator" property="creator" />
+        <result column="modifier" property="modifier" />
+        <result column="user_id" property="userId" />
+        <result column="hospital_id" property="hospitalId" />
+        <result column="remark" property="remark" />
+    </resultMap>
+
+</mapper>

+ 1 - 1
src/main/resources/mapper/SysUserMapper.xml

@@ -85,7 +85,7 @@
         </choose>
         <choose>
             <when test="roleId !=null">
-                LEFT JOIN (
+                INNER JOIN (
                 SELECT
                 t8.user_id AS userId,
                 group_concat(t9.`name`) AS roleName

+ 1 - 1
src/test/java/com/diagbot/CodeGeneration.java

@@ -56,7 +56,7 @@ public class CodeGeneration {
         StrategyConfig strategy = new StrategyConfig();
 //        strategy.setTablePrefix(new String[] { "med_" });// 此处可以修改为您的表前缀
         strategy.setNaming(NamingStrategy.underline_to_camel);// 表名生成策略
-        strategy.setInclude(new String[] { "sys_user_dept","sys_user_role"}); // 需要生成的表
+        strategy.setInclude(new String[] { "sys_user_hospital"}); // 需要生成的表
 
         strategy.setSuperServiceClass(null);
         strategy.setSuperServiceImplClass(null);