提交 2c3c33be 编写于 作者: wenhao.qin's avatar wenhao.qin

saas系统人员+角色后台信息维护(初次提交,不完善)

上级 5f975051
流水线 #42784 已取消 于阶段
...@@ -58,6 +58,12 @@ ...@@ -58,6 +58,12 @@
<artifactId>mybatis-spring-boot-starter</artifactId> <artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.2</version> <version>1.3.2</version>
</dependency> </dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
<version>1.18.4</version>
</dependency>
<!--pica dependencies begin--> <!--pica dependencies begin-->
<dependency> <dependency>
...@@ -89,14 +95,14 @@ ...@@ -89,14 +95,14 @@
</exclusions> </exclusions>
</dependency> </dependency>
<!--<dependency>--> <!--<dependency>-->
<!--<groupId>io.springfox</groupId>--> <!--<groupId>io.springfox</groupId>-->
<!--<artifactId>springfox-swagger2</artifactId>--> <!--<artifactId>springfox-swagger2</artifactId>-->
<!--<version>2.8.0</version>--> <!--<version>2.8.0</version>-->
<!--</dependency>--> <!--</dependency>-->
<!--<dependency>--> <!--<dependency>-->
<!--<groupId>io.springfox</groupId>--> <!--<groupId>io.springfox</groupId>-->
<!--<artifactId>springfox-swagger-ui</artifactId>--> <!--<artifactId>springfox-swagger-ui</artifactId>-->
<!--<version>2.8.0</version>--> <!--<version>2.8.0</version>-->
<!--</dependency>--> <!--</dependency>-->
<!--<dependency> <!--<dependency>
...@@ -241,17 +247,17 @@ ...@@ -241,17 +247,17 @@
<version>1.2.73</version> <version>1.2.73</version>
</dependency> </dependency>
<!-- <dependency>--> <!-- <dependency>-->
<!-- <groupId>com.pica.cloud.foundation</groupId>--> <!-- <groupId>com.pica.cloud.foundation</groupId>-->
<!-- <artifactId>pica-cloud-redis</artifactId>--> <!-- <artifactId>pica-cloud-redis</artifactId>-->
<!-- <version>1.4.0</version>--> <!-- <version>1.4.0</version>-->
<!-- <exclusions>--> <!-- <exclusions>-->
<!-- <exclusion>--> <!-- <exclusion>-->
<!-- <artifactId>jedis</artifactId>--> <!-- <artifactId>jedis</artifactId>-->
<!-- <groupId>redis.clients</groupId>--> <!-- <groupId>redis.clients</groupId>-->
<!-- </exclusion>--> <!-- </exclusion>-->
<!-- </exclusions>--> <!-- </exclusions>-->
<!-- </dependency>--> <!-- </dependency>-->
<dependency> <dependency>
<groupId>com.pica.cloud.foundation</groupId> <groupId>com.pica.cloud.foundation</groupId>
...@@ -279,14 +285,13 @@ ...@@ -279,14 +285,13 @@
</dependency> </dependency>
</dependencies> </dependencies>
</dependencyManagement> </dependencyManagement>
<repositories> <repositories>
<repository> <repository>
<id>nexus</id> <id>nexus</id>
<!-- <url>http://192.168.141.133:8082/repository/maven-public/</url>--> <!-- <url>http://192.168.141.133:8082/repository/maven-public/</url>-->
<url>http://nexus.picahealth.com:8082/repository/maven-public/</url> <url>http://nexus.picahealth.com:8082/repository/maven-public/</url>
<releases> <releases>
<enabled>true</enabled> <enabled>true</enabled>
...@@ -302,7 +307,7 @@ ...@@ -302,7 +307,7 @@
<pluginRepositories> <pluginRepositories>
<pluginRepository> <pluginRepository>
<id>nexus</id> <id>nexus</id>
<!-- <url>http://192.168.141.133:8082/repository/maven-public/</url>--> <!-- <url>http://192.168.141.133:8082/repository/maven-public/</url>-->
<url>http://nexus.picahealth.com:8082/repository/maven-public/</url> <url>http://nexus.picahealth.com:8082/repository/maven-public/</url>
<releases> <releases>
<enabled>true</enabled> <enabled>true</enabled>
......
// Copyright 2016-2101 Pica.
package com.pica.cloud.account.account.server.controller;
import com.pica.cloud.account.account.server.req.HospitalRoleDetailReq;
import com.pica.cloud.account.account.server.req.HospitalRoleListReq;
import com.pica.cloud.account.account.server.resp.HospitalRoleResp;
import com.pica.cloud.account.account.server.service.HospitalSaasRoleService;
import com.pica.cloud.foundation.entity.PicaResponse;
import com.pica.cloud.foundation.service.starter.interceptor.EnabledLoginValidate;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
/**
* @Author qinwh
* @Date 2022/3/1 15:54
*/
@Api(description = "机构saas角色资源")
@RestController("/saas")
public class HospitalSaasRoleController extends AccountBaseController {
@Autowired
HospitalSaasRoleService hospitalSaasRoleService;
@ApiOperation("机构saas角色-新增或更新")
@PostMapping(value = "/hospital/role/insertAndModify")
@EnabledLoginValidate
public PicaResponse<Integer> insertAndModify(HospitalRoleDetailReq req) {
return PicaResponse.toResponse(hospitalSaasRoleService.insertAndModify(req, getPicaUser()));
}
@ApiOperation("机构saas角色-删除")
@DeleteMapping(value = "/hospital/role/delete")
@EnabledLoginValidate
public PicaResponse<Integer> delete(@RequestParam("id") Long id) {
return PicaResponse.toResponse(hospitalSaasRoleService.delete(id));
}
@ApiOperation("机构saas平台角色列表")
@GetMapping(value = "/hospital/role/listByPage")
@EnabledLoginValidate
public PicaResponse<HospitalRoleResp> ListByPage(@RequestBody HospitalRoleListReq req) {
HospitalRoleResp hospitalRoleResp = hospitalSaasRoleService.ListByPage(req);
return PicaResponse.toResponse(hospitalRoleResp);
}
}
// Copyright 2016-2101 Pica.
package com.pica.cloud.account.account.server.controller;
import com.pica.cloud.account.account.server.req.HospitalSaasUserListReq;
import com.pica.cloud.account.account.server.req.HospitalSaasUserReq;
import com.pica.cloud.account.account.server.resp.HospitalRoleResp;
import com.pica.cloud.account.account.server.resp.HospitalSaasUserDetailResp;
import com.pica.cloud.account.account.server.resp.HospitalSaasUserResp;
import com.pica.cloud.account.account.server.service.HospitalSaasRoleService;
import com.pica.cloud.account.account.server.service.HospitalSaasUserService;
import com.pica.cloud.foundation.entity.PicaResponse;
import com.pica.cloud.foundation.service.starter.interceptor.EnabledLoginValidate;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
/**
* @Author qinwh
* @Date 2022/3/1 14:45
*/
@Api(description = "机构saas人员资源")
@RestController
@RequestMapping("/saas")
public class HospitalSaasUserController extends AccountBaseController {
@Autowired
private HospitalSaasUserService hospitalSaasUserService;
@Autowired
private HospitalSaasRoleService hospitalSaasRoleService;
@ApiOperation("机构saas平台人员注册 0失败 1成功")
@PostMapping(value = "/hospital/register")
@EnabledLoginValidate
public PicaResponse<Integer> Register(@Validated @RequestBody HospitalSaasUserReq req) {
return PicaResponse.toResponse(hospitalSaasUserService.register(req, super.getProductType(), super.getSourceType(), getPicaUser()));
}
@ApiOperation("机构saas平台人员更新 0失败 1成功")
@PostMapping(value = "/hospital/upsert")
@EnabledLoginValidate
public PicaResponse<Integer> Upsert(@RequestBody HospitalSaasUserReq req) {
return PicaResponse.toResponse(hospitalSaasUserService.upsert(req, getPicaUser()));
}
@ApiOperation("机构saas平台人员列表查询")
@GetMapping(value = "/hospital/list")
@EnabledLoginValidate
public PicaResponse<HospitalSaasUserResp> List(@RequestBody HospitalSaasUserListReq req) {
return PicaResponse.toResponse(hospitalSaasUserService.listByPage(req));
}
@ApiOperation("机构saas平台人员删除 0失败 1成功")
@DeleteMapping(value = "/hospital/delete")
@EnabledLoginValidate
public PicaResponse<Integer> Delete(@RequestParam("id") Long id) {
return PicaResponse.toResponse(hospitalSaasUserService.delete(id));
}
@ApiOperation("机构saas平台人员账户")
@GetMapping(value = "/hospital/userDetail")
@EnabledLoginValidate
public PicaResponse<HospitalSaasUserDetailResp> userDetail(@RequestHeader("token") String token) {
return PicaResponse.toResponse(new HospitalSaasUserDetailResp());
}
@ApiOperation("机构saas平台人员-角色列表")
@GetMapping(value = "/hospital/role/listByPage")
@EnabledLoginValidate
public PicaResponse<HospitalRoleResp> ListByPage() {
return PicaResponse.toResponse(hospitalSaasRoleService.querySaasRoles());
}
}
...@@ -6,6 +6,7 @@ import java.util.Date; ...@@ -6,6 +6,7 @@ import java.util.Date;
/** /**
* 账号 * 账号
*
* @author andong * @author andong
* @create 2019/5/20 * @create 2019/5/20
*/ */
...@@ -77,6 +78,16 @@ public class Account { ...@@ -77,6 +78,16 @@ public class Account {
private Long hospitalId; private Long hospitalId;
private Integer hospitalId;
public Integer getHospitalId() {
return hospitalId;
}
public void setHospitalId(Integer hospitalId) {
this.hospitalId = hospitalId;
}
public String getNativePlace() { public String getNativePlace() {
return nativePlace; return nativePlace;
} }
......
package com.pica.cloud.account.account.server.entity; package com.pica.cloud.account.account.server.entity;
import java.util.Date; import lombok.Builder;
import java.util.Date;
public class PUserRole { public class PUserRole {
private Integer id; private Integer id;
......
package com.pica.cloud.account.account.server.entity;
import java.util.Date;
public class PermissionRole {
private Long id;
private String roleCode;
private String roleName;
private Integer deleteFlag;
private Long createdId;
private Date createdTime;
private Long modifiedId;
private Date modifiedTime;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getRoleCode() {
return roleCode;
}
public void setRoleCode(String roleCode) {
this.roleCode = roleCode == null ? null : roleCode.trim();
}
public String getRoleName() {
return roleName;
}
public void setRoleName(String roleName) {
this.roleName = roleName == null ? null : roleName.trim();
}
public Integer getDeleteFlag() {
return deleteFlag;
}
public void setDeleteFlag(Integer deleteFlag) {
this.deleteFlag = deleteFlag;
}
public Long getCreatedId() {
return createdId;
}
public void setCreatedId(Long createdId) {
this.createdId = createdId;
}
public Date getCreatedTime() {
return createdTime;
}
public void setCreatedTime(Date createdTime) {
this.createdTime = createdTime;
}
public Long getModifiedId() {
return modifiedId;
}
public void setModifiedId(Long modifiedId) {
this.modifiedId = modifiedId;
}
public Date getModifiedTime() {
return modifiedTime;
}
public void setModifiedTime(Date modifiedTime) {
this.modifiedTime = modifiedTime;
}
}
\ No newline at end of file
package com.pica.cloud.account.account.server.mapper; package com.pica.cloud.account.account.server.mapper;
import com.pica.cloud.account.account.server.entity.Account; import com.pica.cloud.account.account.server.entity.Account;
import com.pica.cloud.account.account.server.resp.HospitalSaasUserDto;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
...@@ -9,6 +10,7 @@ import java.util.Map; ...@@ -9,6 +10,7 @@ import java.util.Map;
/** /**
* 账号Mapper * 账号Mapper
*
* @author andong * @author andong
* @create 2019/5/20 * @create 2019/5/20
*/ */
...@@ -33,4 +35,8 @@ public interface AccountMapper { ...@@ -33,4 +35,8 @@ public interface AccountMapper {
Account getByUnionid(@Param("unionid") String unionid); Account getByUnionid(@Param("unionid") String unionid);
List<Map<String, Object>> getHospitalInfoByPage(@Param("id") Long id, @Param("offset") int offset, @Param("size") int size); List<Map<String, Object>> getHospitalInfoByPage(@Param("id") Long id, @Param("offset") int offset, @Param("size") int size);
Integer listCountByPage( Map<String, Object> map);
List<HospitalSaasUserDto> listByPage(Map<String, Object> map);
} }
...@@ -3,6 +3,9 @@ package com.pica.cloud.account.account.server.mapper; ...@@ -3,6 +3,9 @@ package com.pica.cloud.account.account.server.mapper;
import com.pica.cloud.account.account.server.entity.PermissionDoctorRole; import com.pica.cloud.account.account.server.entity.PermissionDoctorRole;
import java.util.List;
public interface PermissionDoctorRoleMapper { public interface PermissionDoctorRoleMapper {
int deleteByPrimaryKey(Long id); int deleteByPrimaryKey(Long id);
...@@ -22,4 +25,11 @@ public interface PermissionDoctorRoleMapper { ...@@ -22,4 +25,11 @@ public interface PermissionDoctorRoleMapper {
* @return * @return
*/ */
Integer updatePermissionModifyRecord(); Integer updatePermissionModifyRecord();
int deleteByDoctorId(Long id);
List<PermissionDoctorRole> selectByRoleId(Long id);
int upsertDefaultRole( Long id);
} }
\ No newline at end of file
package com.pica.cloud.account.account.server.mapper;
import com.pica.cloud.account.account.server.entity.PermissionRole;
import com.pica.cloud.account.account.server.req.HospitalRoleListReq;
import com.pica.cloud.account.account.server.resp.HospitalRoleDto;
import com.pica.cloud.account.account.server.resp.HospitalSaasRoleResp;
import com.pica.cloud.account.account.server.resp.RoleDto;
import java.util.List;
import java.util.Map;
public interface PermissionRoleMapper {
int deleteByPrimaryKey(Long id);
int insert(PermissionRole record);
int insertSelective(PermissionRole record);
PermissionRole selectByPrimaryKey(Long id);
int updateByPrimaryKeySelective(PermissionRole record);
int updateByPrimaryKey(PermissionRole record);
List<HospitalRoleDto> ListByPage(Map<String, Object> map);
int ListCountByPage(Map<String, Object> map);
int deleteById(Long id);
List<RoleDto> querySaasRoles();
}
\ No newline at end of file
// Copyright 2016-2101 Pica.
package com.pica.cloud.account.account.server.req;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @Author qinwh
* @Date 2022/3/1 20:27
*/
@Data
@ApiModel
public class HospitalRoleDetailReq {
@ApiModelProperty("角色id")
private Long id;
@ApiModelProperty("角色name")
private String name;
@ApiModelProperty("角色描述")
private String describe;
}
// Copyright 2016-2101 Pica.
package com.pica.cloud.account.account.server.req;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @Author qinwh
* @Date 2022/3/1 19:52
*/
@Data
@ApiModel
public class HospitalRoleListReq {
@ApiModelProperty("姓名")
private String name;
@ApiModelProperty("每页显示记录数")
private Integer pageSize;
@ApiModelProperty("页码")
private Integer pageNo;
}
// Copyright 2016-2101 Pica.
package com.pica.cloud.account.account.server.req;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @Author qinwh
* @Date 2022/3/1 16:22
*/
@ApiModel
@Data
public class HospitalSaasUserListReq {
@ApiModelProperty("机构id")
private Integer hospitalId;
@ApiModelProperty("姓名")
private String name;
@ApiModelProperty("手机号")
private String mobile;
@ApiModelProperty("角色id")
private Integer roleId;
@ApiModelProperty("每页显示记录数")
private Integer pageSize;
@ApiModelProperty("页码")
private Integer pageNo;
}
// Copyright 2016-2101 Pica.
package com.pica.cloud.account.account.server.req;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.NonNull;
import org.hibernate.validator.constraints.NotBlank;
import javax.validation.constraints.Max;
import javax.validation.constraints.Pattern;
/**
* @Author qinwh
* @Date 2022/3/1 10:45
*/
@ApiModel
@Data
public class HospitalSaasUserReq {
@ApiModelProperty("人员id")
private Long id;
@ApiModelProperty("姓名")
@NotBlank(message = "姓名不能为空!")
@Max(value = 16, message = "长度≤16字符!")
private String name;
@ApiModelProperty("机构id")
private Integer hospitalId;
@ApiModelProperty("手机号")
@NotBlank(message = "手机号不能为空!")
private String mobile;
@ApiModelProperty("密码")
@NotBlank(message = "密码不能为空!")
private String password;
@ApiModelProperty("备注")
private String comment;
@ApiModelProperty("角色id")
@NotBlank(message = "角色id不能为空!")
private Long roleId;
}
// Copyright 2016-2101 Pica.
package com.pica.cloud.account.account.server.resp;
import lombok.Data;
/**
* @Author qinwh
* @Date 2022/3/1 19:54
*/
@Data
public class HospitalRoleDto {
private String roleName;
private Long roleId;
private String describe;
private String createId;
private Long createTime;
}
// Copyright 2016-2101 Pica.
package com.pica.cloud.account.account.server.resp;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/**
* @Author qinwh
* @Date 2022/3/1 19:54
*/
@Data
@AllArgsConstructor
public class HospitalRoleResp {
private List<HospitalRoleDto> list = new ArrayList();
@ApiModelProperty("总条数")
private Integer totalCount = 0;
}
// Copyright 2016-2101 Pica.
package com.pica.cloud.account.account.server.resp;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/**
* @Author qinwh
* @Date 2022/3/1 15:26
*/
@Data
@AllArgsConstructor
public class HospitalSaasRoleResp {
@ApiModelProperty("列表数据")
private List<RoleDto> list = new ArrayList<>();
}
// Copyright 2016-2101 Pica.
package com.pica.cloud.account.account.server.resp;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @Author qinwh
* @Date 2022/3/1 17:43
*/
@Data
public class HospitalSaasUserDetailResp {
@ApiModelProperty("id")
private Long id;
@ApiModelProperty("姓名")
private String name;
@ApiModelProperty("机构id")
private Long hospitalId;
@ApiModelProperty("机构名称")
private Long hospitalName;
@ApiModelProperty("机构地址")
private Long hospitalAddress;
@ApiModelProperty("手机号")
private String mobile;
@ApiModelProperty("角色id")
private Integer roleId;
@ApiModelProperty("角色名称")
private String roleName;
@ApiModelProperty("验证是否通过(1未认证,2认证中,3认证通过,4认证不通过,5验证码认证,6 重新认证中,7 重新认证失败)")
private Integer status;
}
// Copyright 2016-2101 Pica.
package com.pica.cloud.account.account.server.resp;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @Author qinwh
* @Date 2022/3/1 15:13
*/
@ApiModel
@Data
public class HospitalSaasUserDto {
@ApiModelProperty("id")
private Long id;
@ApiModelProperty("姓名")
private String name;
@ApiModelProperty("机构id")
private Long hospitalId;
@ApiModelProperty("手机号")
private String mobile;
@ApiModelProperty("备注")
private String comment;
@ApiModelProperty("角色id")
private Integer roleId;
@ApiModelProperty("角色名称")
private String roleName;
}
// Copyright 2016-2101 Pica.
package com.pica.cloud.account.account.server.resp;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/**
* @Author qinwh
* @Date 2022/3/1 15:10
*/
@ApiModel
@Data
@AllArgsConstructor
public class HospitalSaasUserResp {
@ApiModelProperty("列表数据")
private List<HospitalSaasUserDto> list = new ArrayList<>();
@ApiModelProperty("总条数")
private Integer totalCount = 0;
}
// Copyright 2016-2101 Pica.
package com.pica.cloud.account.account.server.resp;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @Author qinwh
* @Date 2022/3/1 15:30
*/
@Data
public class RoleDto {
@ApiModelProperty("id")
private Long id;
@ApiModelProperty("姓名")
private String name;
}
// Copyright 2016-2101 Pica.
package com.pica.cloud.account.account.server.service;
import com.pica.cloud.account.account.server.req.HospitalRoleDetailReq;
import com.pica.cloud.account.account.server.req.HospitalRoleListReq;
import com.pica.cloud.account.account.server.resp.HospitalRoleResp;
import com.pica.cloud.account.account.server.resp.HospitalSaasRoleResp;
import com.pica.cloud.account.account.server.resp.RoleDto;
import com.pica.cloud.foundation.utils.entity.PicaUser;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* @Author qinwh
* @Date 2022/3/1 19:32
*/
public interface HospitalSaasRoleService {
int insertAndModify(HospitalRoleDetailReq req, PicaUser user);
HospitalRoleResp ListByPage(HospitalRoleListReq req);
int delete(Long id);
HospitalSaasRoleResp querySaasRoles();
}
// Copyright 2016-2101 Pica.
package com.pica.cloud.account.account.server.service;
import com.pica.cloud.account.account.server.entity.LoginResult;
import com.pica.cloud.account.account.server.req.BaseRequest;
import com.pica.cloud.account.account.server.req.HospitalSaasUserListReq;
import com.pica.cloud.account.account.server.req.HospitalSaasUserReq;
import com.pica.cloud.account.account.server.resp.HospitalSaasUserResp;
import com.pica.cloud.foundation.entity.PicaResponse;
import com.pica.cloud.foundation.utils.entity.PicaUser;
import java.util.List;
/**
* @Author Pica
* @Date 2022/3/1 15:50
*/
public interface HospitalSaasUserService {
int register(HospitalSaasUserReq baseRequest, Integer productType, Integer sourceType, PicaUser user);
HospitalSaasUserResp listByPage(HospitalSaasUserListReq req);
int upsert(HospitalSaasUserReq req, PicaUser user);
int delete(Long id);
}
// Copyright 2016-2101 Pica.
package com.pica.cloud.account.account.server.service.impl;
import com.pica.cloud.account.account.server.entity.PermissionDoctorRole;
import com.pica.cloud.account.account.server.entity.PermissionRole;
import com.pica.cloud.account.account.server.mapper.PermissionDoctorRoleMapper;
import com.pica.cloud.account.account.server.mapper.PermissionRoleMapper;
import com.pica.cloud.account.account.server.req.HospitalRoleDetailReq;
import com.pica.cloud.account.account.server.req.HospitalRoleListReq;
import com.pica.cloud.account.account.server.resp.HospitalRoleResp;
import com.pica.cloud.account.account.server.resp.HospitalSaasRoleResp;
import com.pica.cloud.account.account.server.resp.RoleDto;
import com.pica.cloud.account.account.server.service.HospitalSaasRoleService;
import com.pica.cloud.account.account.server.util.captcha.CommonUtils;
import com.pica.cloud.foundation.utils.entity.PicaUser;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.*;
/**
* @Author qinwh
* @Date 2022/3/1 19:33
*/
@Service
public class HospitalSaasRoleServiceImpl implements HospitalSaasRoleService {
@Autowired
PermissionRoleMapper permissionRoleMapper;
@Autowired
PermissionDoctorRoleMapper permissionDoctorRoleMapper;
@Override
public int insertAndModify(HospitalRoleDetailReq req, PicaUser user) {
PermissionRole role = permissionRoleMapper.selectByPrimaryKey(req.getId());
//新增
if (Objects.isNull(role)) {
//新增
role = new PermissionRole();
BeanUtils.copyProperties(req, role);
CommonUtils.setCommonParam(role, user.getId(), Calendar.getInstance().getTime());
permissionRoleMapper.insert(role);
} else {
//更新
// todo roleCode 字段格式定义
role.setRoleName(req.getName());
// todo 描述信息 需新增字段
permissionRoleMapper.updateByPrimaryKeySelective(role);
}
return 1;
}
@Override
public HospitalRoleResp ListByPage(HospitalRoleListReq req) {
ArrayList<Object> list = new ArrayList<>(3);
list.add(1);
list.add(2);
//todo 过滤当前人员的角色信息
//list.add();
Map<String, Object> map = new HashMap(2);
map.put("list", list);
map.put("name", req.getName());
int count = permissionRoleMapper.ListCountByPage(map);
if (count < 1) {
return new HospitalRoleResp(Collections.emptyList(), 0);
}
map.put("pageNo", (req.getPageNo() - 1) * req.getPageSize());
map.put("pageSize", req.getPageSize());
return new HospitalRoleResp(permissionRoleMapper.ListByPage(map), count);
}
@Override
@Transactional
public int delete(Long id) {
permissionRoleMapper.deleteById(id);
//把这个角色下的人员信息 调整为默认角色
permissionDoctorRoleMapper.upsertDefaultRole(id);
return 1;
}
@Override
public HospitalSaasRoleResp querySaasRoles() {
List<RoleDto> roleDtos = permissionRoleMapper.querySaasRoles();
return new HospitalSaasRoleResp(roleDtos);
}
}
// Copyright 2016-2101 Pica.
package com.pica.cloud.account.account.server.util.captcha;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.util.Date;
/**
* @Author Pica
* @Date 2022/3/1 18:41
*/
public class CommonUtils {
public static <T> void setCommonParam(T o, int doctorId, Date date) {
Class classes = o.getClass();
Method[] methods = classes.getMethods();
if (methods != null) {
for (Method method : methods) {
if (method.getParameterCount() == 1) {
try {
switch (method.getName()) {
case "setDeleteFlag":
if (method.getParameterTypes()[0].getName().contains("Byte")) {
method.invoke(o, new Byte("1"));
} else if (method.getParameterTypes()[0].getName().contains("Integer")) {
method.invoke(o, 1);
}
break;
case "setCreatedId":
method.invoke(o, doctorId);
break;
case "setCreatedTime":
method.invoke(o, date);
break;
case "setModifiedId":
method.invoke(o, doctorId);
break;
case "setModifiedTime":
method.invoke(o, date);
break;
default:
break;
}
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
}
}
...@@ -13,38 +13,49 @@ ...@@ -13,38 +13,49 @@
<result column="modified_time" property="modifiedTime" jdbcType="TIMESTAMP"/> <result column="modified_time" property="modifiedTime" jdbcType="TIMESTAMP"/>
</resultMap> </resultMap>
<sql id="Base_Column_List"> <sql id="Base_Column_List">
id, doctor_id, hospital_id, role_id, delete_flag, created_id, created_time, modified_id, id, doctor_id, hospital_id, role_id, delete_flag, created_id, created_time, modified_id,
modified_time modified_time
</sql> </sql>
<select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Long"> <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Long">
select select
<include refid="Base_Column_List"/> <include refid="Base_Column_List"/>
from permission_doctor_role from permission_doctor_role
where id = #{id,jdbcType=BIGINT} where id = #{id,jdbcType=BIGINT}
</select> </select>
<select id="selectByRoleId" resultType="com.pica.cloud.account.account.server.entity.PermissionDoctorRole">
select
<include refid="Base_Column_List"/>
from permission_doctor_role
where role_id = #{id,jdbcType=BIGINT}
</select>
<delete id="deleteByPrimaryKey" parameterType="java.lang.Long"> <delete id="deleteByPrimaryKey" parameterType="java.lang.Long">
delete from permission_doctor_role delete
where id = #{id,jdbcType=BIGINT} from permission_doctor_role
</delete> where id = #{id,jdbcType=BIGINT}
</delete>
<!--用户权限记录表的变更--> <!--用户权限记录表的变更-->
<insert id="updatePermissionModifyRecord"> <insert id="updatePermissionModifyRecord">
insert into log_permission_doctor_role(`id`, `doctor_id`, `hospital_id`, `role_id`, `delete_flag`, `created_id`, insert into log_permission_doctor_role(`id`, `doctor_id`, `hospital_id`, `role_id`, `delete_flag`, `created_id`,
`created_time`, `modified_id`, `modified_time`) `created_time`, `modified_id`, `modified_time`)
SELECT * FROM permission_doctor_role where modified_time &gt; DATE_SUB(DATE_FORMAT(NOW(),'%Y-%m-%d SELECT *
%H:00:00'),INTERVAL 1 hour) and modified_time &lt; DATE_FORMAT(NOW(), '%Y-%m-%d %H:00:00') FROM permission_doctor_role
where modified_time &gt; DATE_SUB(DATE_FORMAT(NOW(), '%Y-%m-%d
%H:00:00'), INTERVAL 1 hour)
and modified_time &lt; DATE_FORMAT(NOW(), '%Y-%m-%d %H:00:00')
</insert> </insert>
<insert id="insert" parameterType="com.pica.cloud.account.account.server.entity.PermissionDoctorRole"> <insert id="insert" parameterType="com.pica.cloud.account.account.server.entity.PermissionDoctorRole">
insert into permission_doctor_role (id, doctor_id, hospital_id, insert into permission_doctor_role (id, doctor_id, hospital_id,
role_id, delete_flag, created_id, role_id, delete_flag, created_id,
created_time, modified_id, modified_time created_time, modified_id, modified_time)
) values (#{id,jdbcType=BIGINT}, #{doctorId,jdbcType=BIGINT}, #{hospitalId,jdbcType=BIGINT},
values (#{id,jdbcType=BIGINT}, #{doctorId,jdbcType=BIGINT}, #{hospitalId,jdbcType=BIGINT}, #{roleId,jdbcType=BIGINT}, #{deleteFlag,jdbcType=INTEGER}, #{createdId,jdbcType=BIGINT},
#{roleId,jdbcType=BIGINT}, #{deleteFlag,jdbcType=INTEGER}, #{createdId,jdbcType=BIGINT}, #{createdTime,jdbcType=TIMESTAMP}, #{modifiedId,jdbcType=BIGINT}, #{modifiedTime,jdbcType=TIMESTAMP})
#{createdTime,jdbcType=TIMESTAMP}, #{modifiedId,jdbcType=BIGINT}, #{modifiedTime,jdbcType=TIMESTAMP} </insert>
)
</insert>
<insert id="insertSelective" parameterType="com.pica.cloud.account.account.server.entity.PermissionDoctorRole"> <insert id="insertSelective" parameterType="com.pica.cloud.account.account.server.entity.PermissionDoctorRole">
insert into permission_doctor_role insert into permission_doctor_role
<trim prefix="(" suffix=")" suffixOverrides=","> <trim prefix="(" suffix=")" suffixOverrides=",">
...@@ -138,15 +149,30 @@ ...@@ -138,15 +149,30 @@
where id = #{id,jdbcType=BIGINT} where id = #{id,jdbcType=BIGINT}
</update> </update>
<update id="updateByPrimaryKey" parameterType="com.pica.cloud.account.account.server.entity.PermissionDoctorRole"> <update id="updateByPrimaryKey" parameterType="com.pica.cloud.account.account.server.entity.PermissionDoctorRole">
update permission_doctor_role update permission_doctor_role
set doctor_id = #{doctorId,jdbcType=BIGINT}, set doctor_id = #{doctorId,jdbcType=BIGINT},
hospital_id = #{hospitalId,jdbcType=BIGINT}, hospital_id = #{hospitalId,jdbcType=BIGINT},
role_id = #{roleId,jdbcType=BIGINT}, role_id = #{roleId,jdbcType=BIGINT},
delete_flag = #{deleteFlag,jdbcType=INTEGER}, delete_flag = #{deleteFlag,jdbcType=INTEGER},
created_id = #{createdId,jdbcType=BIGINT}, created_id = #{createdId,jdbcType=BIGINT},
created_time = #{createdTime,jdbcType=TIMESTAMP}, created_time = #{createdTime,jdbcType=TIMESTAMP},
modified_id = #{modifiedId,jdbcType=BIGINT}, modified_id = #{modifiedId,jdbcType=BIGINT},
modified_time = #{modifiedTime,jdbcType=TIMESTAMP} modified_time = #{modifiedTime,jdbcType=TIMESTAMP}
where id = #{id,jdbcType=BIGINT} where id = #{id,jdbcType=BIGINT}
</update> </update>
<update id="deleteByDoctorId" parameterType="java.lang.Integer">
update permission_doctor_role
set delete_flag = 2
where doctor_id = #{id,jdbcType=BIGINT}
</update>
<update id="upsertDefaultRole" parameterType="java.lang.Integer">
update permission_doctor_role
set role_id = 2
where role_id = #{id,jdbcType=BIGINT}
and delete_flag = 1
</update>
</mapper> </mapper>
\ No newline at end of file
<?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.pica.cloud.account.account.server.mapper.PermissionRoleMapper">
<resultMap id="BaseResultMap" type="com.pica.cloud.account.account.server.entity.PermissionRole">
<id column="id" property="id" jdbcType="BIGINT"/>
<result column="role_code" property="roleCode" jdbcType="VARCHAR"/>
<result column="role_name" property="roleName" jdbcType="VARCHAR"/>
<result column="delete_flag" property="deleteFlag" jdbcType="INTEGER"/>
<result column="created_id" property="createdId" jdbcType="BIGINT"/>
<result column="created_time" property="createdTime" jdbcType="TIMESTAMP"/>
<result column="modified_id" property="modifiedId" jdbcType="BIGINT"/>
<result column="modified_time" property="modifiedTime" jdbcType="TIMESTAMP"/>
</resultMap>
<sql id="Base_Column_List">
id, role_code, role_name, delete_flag, created_id, created_time, modified_id, modified_time
</sql>
<select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Long">
select
<include refid="Base_Column_List"/>
from permission_role
where id = #{id,jdbcType=BIGINT}
</select>
<delete id="deleteByPrimaryKey" parameterType="java.lang.Long">
delete
from permission_role
where id = #{id,jdbcType=BIGINT}
</delete>
<insert id="insert" parameterType="com.pica.cloud.account.account.server.entity.PermissionRole">
insert into permission_role (id, role_code, role_name,
delete_flag, created_id, created_time,
modified_id, modified_time)
values (#{id,jdbcType=BIGINT}, #{roleCode,jdbcType=VARCHAR}, #{roleName,jdbcType=VARCHAR},
#{deleteFlag,jdbcType=INTEGER}, #{createdId,jdbcType=BIGINT}, #{createdTime,jdbcType=TIMESTAMP},
#{modifiedId,jdbcType=BIGINT}, #{modifiedTime,jdbcType=TIMESTAMP})
</insert>
<insert id="insertSelective" parameterType="com.pica.cloud.account.account.server.entity.PermissionRole">
insert into permission_role
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="id != null">
id,
</if>
<if test="roleCode != null">
role_code,
</if>
<if test="roleName != null">
role_name,
</if>
<if test="deleteFlag != null">
delete_flag,
</if>
<if test="createdId != null">
created_id,
</if>
<if test="createdTime != null">
created_time,
</if>
<if test="modifiedId != null">
modified_id,
</if>
<if test="modifiedTime != null">
modified_time,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="id != null">
#{id,jdbcType=BIGINT},
</if>
<if test="roleCode != null">
#{roleCode,jdbcType=VARCHAR},
</if>
<if test="roleName != null">
#{roleName,jdbcType=VARCHAR},
</if>
<if test="deleteFlag != null">
#{deleteFlag,jdbcType=INTEGER},
</if>
<if test="createdId != null">
#{createdId,jdbcType=BIGINT},
</if>
<if test="createdTime != null">
#{createdTime,jdbcType=TIMESTAMP},
</if>
<if test="modifiedId != null">
#{modifiedId,jdbcType=BIGINT},
</if>
<if test="modifiedTime != null">
#{modifiedTime,jdbcType=TIMESTAMP},
</if>
</trim>
</insert>
<update id="updateByPrimaryKeySelective"
parameterType="com.pica.cloud.account.account.server.entity.PermissionRole">
update permission_role
<set>
<if test="roleCode != null">
role_code = #{roleCode,jdbcType=VARCHAR},
</if>
<if test="roleName != null">
role_name = #{roleName,jdbcType=VARCHAR},
</if>
<if test="deleteFlag != null">
delete_flag = #{deleteFlag,jdbcType=INTEGER},
</if>
<if test="createdId != null">
created_id = #{createdId,jdbcType=BIGINT},
</if>
<if test="createdTime != null">
created_time = #{createdTime,jdbcType=TIMESTAMP},
</if>
<if test="modifiedId != null">
modified_id = #{modifiedId,jdbcType=BIGINT},
</if>
<if test="modifiedTime != null">
modified_time = #{modifiedTime,jdbcType=TIMESTAMP},
</if>
</set>
where id = #{id,jdbcType=BIGINT}
</update>
<update id="updateByPrimaryKey" parameterType="com.pica.cloud.account.account.server.entity.PermissionRole">
update permission_role
set role_code = #{roleCode,jdbcType=VARCHAR},
role_name = #{roleName,jdbcType=VARCHAR},
delete_flag = #{deleteFlag,jdbcType=INTEGER},
created_id = #{createdId,jdbcType=BIGINT},
created_time = #{createdTime,jdbcType=TIMESTAMP},
modified_id = #{modifiedId,jdbcType=BIGINT},
modified_time = #{modifiedTime,jdbcType=TIMESTAMP}
where id = #{id,jdbcType=BIGINT}
</update>
<sql id="list_by_page">
<if test="list!=null and list.size>0">
and pr.id not in (
<foreach collection="list" item="item" separator=","></foreach>
)
</if>
<if test="name != null and name != ''">
and pr.role_name like concat('%',trim(#{name,jdbcType=VARCHAR}),'%')
</if>
</sql>
<select id="ListCountByPage" resultType="java.lang.Integer">
select count(*)
from permission_role as pr
where pr.delete_flag = 1
<include refid="list_by_page"></include>
</select>
<select id="ListByPage" resultType="com.pica.cloud.account.account.server.resp.HospitalRoleDto">
select pr.created_time c
from permission_role as pr
where pr.delete_flag = 1
<include refid="list_by_page"></include>
ORDER BY pr.created_time ASC
Limit #{pageNo},#{pageSize}
</select>
<select id="querySaasRoles" resultType="com.pica.cloud.account.account.server.resp.RoleDto">
select p.id as id, p.role_name as name
from permission_role as p
# todo id暂不确定
where p.id not in (1, 2, 3)
</select>
<update id="deleteById">
update permission_role
set delete_flag = 2
where id = #{id,jdbcType=BIGINT}
</update>
</mapper>
\ No newline at end of file
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册