Browse Source

fix: 修改admin的租户增删改查

new-ays
wzz 3 months ago
parent
commit
cb9b3e3e29
  1. 85
      acupuncture-admin/src/main/java/com/acupuncture/web/controller/web/AdminDmsUserController.java
  2. 20
      acupuncture-generator/src/main/resources/mbg.xml
  3. 24
      acupuncture-system/src/main/java/com/acupuncture/system/domain/dto/AdminTenantUserDto.java
  4. 17
      acupuncture-system/src/main/java/com/acupuncture/system/domain/po/DmsUser.java
  5. 80
      acupuncture-system/src/main/java/com/acupuncture/system/domain/po/DmsUserExample.java
  6. 2
      acupuncture-system/src/main/java/com/acupuncture/system/domain/vo/AdminTenantUserVo.java
  7. 4
      acupuncture-system/src/main/java/com/acupuncture/system/persist/mapper/DmsUserMapper.java
  8. 1
      acupuncture-system/src/main/java/com/acupuncture/system/service/AdminTenantUserService.java
  9. 2
      acupuncture-system/src/main/java/com/acupuncture/system/service/DmsLoginService.java
  10. 10
      acupuncture-system/src/main/java/com/acupuncture/system/service/impl/AdminTenantUserServiceImpl.java
  11. 19
      acupuncture-system/src/main/java/com/acupuncture/system/service/impl/DmsLoginServiceImpl.java
  12. 2
      acupuncture-system/src/main/resources/mapper/dao/AdminDmsUserDao.xml
  13. 57
      acupuncture-system/src/main/resources/mapper/system/DmsUserMapper.xml
  14. 6
      acupuncture-system/src/main/resources/mapper/system/SysUserMapper.xml

85
acupuncture-admin/src/main/java/com/acupuncture/web/controller/web/AdminDmsUserController.java

@ -3,9 +3,14 @@ package com.acupuncture.web.controller.web;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.acupuncture.common.annotation.DataSource;
import com.acupuncture.common.annotation.Log;
import com.acupuncture.common.core.domain.AjaxResult;
import com.acupuncture.common.core.domain.BaseDto; import com.acupuncture.common.core.domain.BaseDto;
import com.acupuncture.common.core.domain.JsonResponse; import com.acupuncture.common.core.domain.JsonResponse;
import com.acupuncture.common.core.domain.entity.SysUser; import com.acupuncture.common.core.domain.entity.SysUser;
import com.acupuncture.common.enums.BusinessType;
import com.acupuncture.common.enums.DataSourceType;
import com.acupuncture.common.utils.SecurityUtils; import com.acupuncture.common.utils.SecurityUtils;
import com.acupuncture.common.utils.StringUtils; import com.acupuncture.common.utils.StringUtils;
import com.acupuncture.framework.datasource.DynamicDataSourceContextHolder; import com.acupuncture.framework.datasource.DynamicDataSourceContextHolder;
@ -30,11 +35,9 @@ import com.github.pagehelper.PageInfo;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.List; import java.util.List;
@ -68,6 +71,7 @@ public class AdminDmsUserController {
@ApiOperation("添加租户用户") @ApiOperation("添加租户用户")
@PostMapping("/add") @PostMapping("/add")
@DataSource(DataSourceType.MASTER)
public JsonResponse<Integer> insert(@RequestBody @Validated AdminTenantUserDto.AddDto dto) { public JsonResponse<Integer> insert(@RequestBody @Validated AdminTenantUserDto.AddDto dto) {
//判定租户及数据源是否存在 //判定租户及数据源是否存在
DmsTenant dmsTenant = dmsTenantMapper.selectByPrimaryKey(dto.getTenantId()); DmsTenant dmsTenant = dmsTenantMapper.selectByPrimaryKey(dto.getTenantId());
@ -90,6 +94,7 @@ public class AdminDmsUserController {
//切换至从库 //切换至从库
DynamicDataSourceContextHolder.setDataSourceType(umsDataSource.getDataSourceKey()); DynamicDataSourceContextHolder.setDataSourceType(umsDataSource.getDataSourceKey());
//新增从库数据 //新增从库数据
SysUser user = BeanUtil.copyProperties(dto, SysUser.class); SysUser user = BeanUtil.copyProperties(dto, SysUser.class);
if (!userService.checkUserNameUnique(user)) { if (!userService.checkUserNameUnique(user)) {
@ -113,44 +118,39 @@ public class AdminDmsUserController {
@ApiOperation("修改租户用户") @ApiOperation("修改租户用户")
@PostMapping("/upd") @PostMapping("/upd")
@DataSource(DataSourceType.MASTER)
public JsonResponse<Integer> update(@RequestBody @Validated AdminTenantUserDto.UpdDto dto) { public JsonResponse<Integer> update(@RequestBody @Validated AdminTenantUserDto.UpdDto dto) {
updSysUser(dto); //判定租户及数据源是否存在
return JsonResponse.ok(adminTenantUserService.update(dto)); DmsTenant dmsTenant = dmsTenantMapper.selectByPrimaryKey(dto.getTenantId());
} if (dmsTenant == null) {
return JsonResponse.ok().fail("租户不存在");
private void updSysUser(AdminTenantUserDto.UpdDto dto) { }
//查询租户数据源,删除分库数据 UmsDataSource umsDataSource = umsDataSourceMapper.selectByPrimaryKey(dmsTenant.getDataSourceId());
DmsUserExample dmsUserExample = new DmsUserExample(); if (umsDataSource == null || StrUtil.isEmpty(umsDataSource.getDataSourceKey())) {
dmsUserExample.createCriteria().andDelFlagEqualTo((byte) 0).andIdEqualTo(dto.getId()); return JsonResponse.ok().fail("数据源不存在");
List<DmsUser> dmsUsers = dmsUserMapper.selectByExample(dmsUserExample);
if (CollectionUtil.isNotEmpty(dmsUsers)) {
DmsUser dmsUser = dmsUsers.get(0);
AdminTenantsDto.Query query = new AdminTenantsDto.Query();
query.setId(dmsUser.getTenantId());
List<AdminTenantsVo.Result> tenantList = adminTenantsService.query(query);
if (CollectionUtil.isNotEmpty(tenantList)) {
for (AdminTenantsVo.Result result : tenantList) {
//切换数据源 删除分库数据
DynamicDataSourceContextHolder.setDataSourceType(result.getDataSourceKey());
//修改分库用户
SysUser sysUser = BeanUtil.copyProperties(dto, SysUser.class);
sysUser.setPhonenumber(dto.getContactPhone());
userService.updateUser(sysUser);
//销毁切换数据源
DynamicDataSourceContextHolder.clearDataSourceType();
}
}
} }
//修改主库租户用户
int rows = adminTenantUserService.update(dto);
//切换至从库
DynamicDataSourceContextHolder.setDataSourceType(umsDataSource.getDataSourceKey());
//修改从库用户信息
SysUser sysUser = BeanUtil.copyProperties(dto, SysUser.class);
sysUser.setPhonenumber(dto.getContactPhone());
userService.updateUser(sysUser);
//销毁切换数据源
DynamicDataSourceContextHolder.clearDataSourceType();
return JsonResponse.ok(rows);
} }
@ApiOperation("删除租户用户") @ApiOperation("删除租户用户")
@PostMapping("/del") @PostMapping("/del")
@DataSource(DataSourceType.MASTER)
public JsonResponse<Integer> delete(@RequestBody @Validated AdminTenantUserDto.DeleteDto dto) { public JsonResponse<Integer> delete(@RequestBody @Validated AdminTenantUserDto.DeleteDto dto) {
delSysUser(dto);
return JsonResponse.ok(adminTenantUserService.delete(dto));
}
private void delSysUser(AdminTenantUserDto.DeleteDto dto) {
//查询租户数据源,删除分库数据 //查询租户数据源,删除分库数据
DmsUserExample dmsUserExample = new DmsUserExample(); DmsUserExample dmsUserExample = new DmsUserExample();
dmsUserExample.createCriteria().andDelFlagEqualTo((byte) 0).andIdIn(dto.getIdList()); dmsUserExample.createCriteria().andDelFlagEqualTo((byte) 0).andIdIn(dto.getIdList());
@ -166,14 +166,18 @@ public class AdminDmsUserController {
DynamicDataSourceContextHolder.setDataSourceType(result.getDataSourceKey()); DynamicDataSourceContextHolder.setDataSourceType(result.getDataSourceKey());
//删除分库用户 //删除分库用户
userService.deleteUserByUsername(dmsUser.getUserName()); userService.deleteUserByUsername(dmsUser.getUserName());
//销毁切换数据源
DynamicDataSourceContextHolder.clearDataSourceType();
} }
} }
} }
} }
return JsonResponse.ok(adminTenantUserService.delete(dto));
} }
@ApiOperation("查询租户用户") @ApiOperation("查询租户用户")
@PostMapping("/list") @PostMapping("/list")
@DataSource(DataSourceType.MASTER)
public JsonResponse<PageInfo<AdminTenantUserVo.Result>> query(@RequestBody @Validated BaseDto<AdminTenantUserDto.Query> dto) { public JsonResponse<PageInfo<AdminTenantUserVo.Result>> query(@RequestBody @Validated BaseDto<AdminTenantUserDto.Query> dto) {
if (dto.getPageNum() > 0) { if (dto.getPageNum() > 0) {
PageHelper.startPage(dto.getPageNum(), dto.getPageSize()); PageHelper.startPage(dto.getPageNum(), dto.getPageSize());
@ -181,4 +185,15 @@ public class AdminDmsUserController {
return JsonResponse.ok(new PageInfo<>(adminTenantUserService.query(dto.getParam()))); return JsonResponse.ok(new PageInfo<>(adminTenantUserService.query(dto.getParam())));
} }
/**
* 重置密码
*/
@Log(title = "用户管理", businessType = BusinessType.UPDATE)
@PostMapping("/resetPwd")
@DataSource(DataSourceType.MASTER)
public JsonResponse<Integer> resetPwd(@RequestBody @Validated AdminTenantUserDto.ResetPwd dto) {
//只修改主库密码,修改从库密码没有任何意义。
return JsonResponse.ok(adminTenantUserService.resetPwd(dto));
}
} }

20
acupuncture-generator/src/main/resources/mbg.xml

@ -20,7 +20,7 @@
</commentGenerator> </commentGenerator>
<jdbcConnection driverClass="com.mysql.jdbc.Driver" <jdbcConnection driverClass="com.mysql.jdbc.Driver"
connectionURL="jdbc:mysql://sd.tall.wiki:3306/acupuncture_yfyy?useUnicode=true&amp;characterEncoding=UTF-8&amp;serverTimezone=GMT%2B8&amp;tinyInt1isBit=false" connectionURL="jdbc:mysql://sd.tall.wiki:3306/acupuncture?useUnicode=true&amp;characterEncoding=UTF-8&amp;serverTimezone=GMT%2B8&amp;tinyInt1isBit=false"
userId="root" userId="root"
password="po3OynBO[M3579p6L7)o"> password="po3OynBO[M3579p6L7)o">
<!--仅仅查询当前库的表,不查询其他库--> <!--仅仅查询当前库的表,不查询其他库-->
@ -57,16 +57,16 @@
<property name="enableSubPackages" value="false"/> <property name="enableSubPackages" value="false"/>
</javaClientGenerator> </javaClientGenerator>
<table tableName="upl_rtcf_info" domainObjectName="UplRtcfInfo" enableDeleteByExample="false"/> <!-- <table tableName="upl_rtcf_info" domainObjectName="UplRtcfInfo" enableDeleteByExample="false"/>-->
<table tableName="upl_report_image" domainObjectName="UplReportImage" enableDeleteByExample="false"/> <!-- <table tableName="upl_report_image" domainObjectName="UplReportImage" enableDeleteByExample="false"/>-->
<table tableName="scr_screening" domainObjectName="ScrScreening" enableDeleteByExample="false"/> <!-- <table tableName="scr_screening" domainObjectName="ScrScreening" enableDeleteByExample="false"/>-->
<table tableName="scr_screening_detail" domainObjectName="ScrScreeningDetail" enableDeleteByExample="false"/> <!-- <table tableName="scr_screening_detail" domainObjectName="ScrScreeningDetail" enableDeleteByExample="false"/>-->
<table tableName="scr_screening_draw" domainObjectName="ScrScreeningDraw" enableDeleteByExample="false"/> <!-- <table tableName="scr_screening_draw" domainObjectName="ScrScreeningDraw" enableDeleteByExample="false"/>-->
<table tableName="scr_screening_record" domainObjectName="ScrScreeningRecord" enableDeleteByExample="false"/> <!-- <table tableName="scr_screening_record" domainObjectName="ScrScreeningRecord" enableDeleteByExample="false"/>-->
<table tableName="scr_screening_sound" domainObjectName="ScrScreeningSound" enableDeleteByExample="false"/> <!-- <table tableName="scr_screening_sound" domainObjectName="ScrScreeningSound" enableDeleteByExample="false"/>-->
<table tableName="ams_screen_wx_qr_code" domainObjectName="AmsScreenWxQrCode" enableDeleteByExample="false"/> <!-- <table tableName="ams_screen_wx_qr_code" domainObjectName="AmsScreenWxQrCode" enableDeleteByExample="false"/>-->
<!-- <table tableName="dms_user" domainObjectName="DmsUser" enableDeleteByExample="false"/>--> <table tableName="dms_user" domainObjectName="DmsUser" enableDeleteByExample="false"/>
<!-- <table tableName="fms_followup_queue" domainObjectName="FmsFollowupQueue" enableDeleteByExample="false"/>--> <!-- <table tableName="fms_followup_queue" domainObjectName="FmsFollowupQueue" enableDeleteByExample="false"/>-->
<!-- <table tableName="fms_followup_task" domainObjectName="FmsFollowupTask" enableDeleteByExample="false"/>--> <!-- <table tableName="fms_followup_task" domainObjectName="FmsFollowupTask" enableDeleteByExample="false"/>-->
<!-- <table tableName="fms_patient_queue_relation" domainObjectName="FmsPatientQueueRelation" enableDeleteByExample="false"/>--> <!-- <table tableName="fms_patient_queue_relation" domainObjectName="FmsPatientQueueRelation" enableDeleteByExample="false"/>-->

24
acupuncture-system/src/main/java/com/acupuncture/system/domain/dto/AdminTenantUserDto.java

@ -5,7 +5,10 @@ import com.acupuncture.system.domain.po.DmsUser;
import com.acupuncture.system.service.AdminTenantUserService; import com.acupuncture.system.service.AdminTenantUserService;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import org.hibernate.validator.constraints.Length;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.util.List; import java.util.List;
/** /**
@ -18,7 +21,7 @@ public class AdminTenantUserDto {
@Data @Data
public static class AddDto { public static class AddDto {
private Integer id; private Long id;
private Long tenantId; private Long tenantId;
@ -39,16 +42,12 @@ public class AdminTenantUserDto {
private String contactPhone; private String contactPhone;
@ApiModelProperty("是否具有审核权限(0不具有; 1具有)") @ApiModelProperty("是否具有审核权限(0不具有; 1具有)")
private Byte slaverAdmin; private Byte slaverAdmin = 0;
//
// public Long getTenantId() {
// return SecurityUtils.getTenantId();
// }
} }
@Data @Data
public static class UpdDto { public static class UpdDto {
private Integer id; private Long id;
private Long tenantId; private Long tenantId;
@ -71,14 +70,21 @@ public class AdminTenantUserDto {
@Data @Data
public static class DeleteDto { public static class DeleteDto {
private List<Integer> idList; private List<Long> idList;
} }
@Data @Data
public static class Query { public static class Query {
private Long tenantId; private Long tenantId;
private String tenantName; private String tenantName;
} }
@Data
public static class ResetPwd {
@NotNull
private Long id;
@NotBlank
@Length(min = 6, max = 20)
private String password;
}
} }

17
acupuncture-system/src/main/java/com/acupuncture/system/domain/po/DmsUser.java

@ -4,7 +4,7 @@ import java.io.Serializable;
import java.util.Date; import java.util.Date;
public class DmsUser implements Serializable { public class DmsUser implements Serializable {
private Integer id; private Long id;
private Long tenantId; private Long tenantId;
@ -20,6 +20,8 @@ public class DmsUser implements Serializable {
private String sex; private String sex;
private Byte slaverAdmin;
private String status; private String status;
private Byte delFlag; private Byte delFlag;
@ -36,11 +38,11 @@ public class DmsUser implements Serializable {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
public Integer getId() { public Long getId() {
return id; return id;
} }
public void setId(Integer id) { public void setId(Long id) {
this.id = id; this.id = id;
} }
@ -100,6 +102,14 @@ public class DmsUser implements Serializable {
this.sex = sex == null ? null : sex.trim(); this.sex = sex == null ? null : sex.trim();
} }
public Byte getSlaverAdmin() {
return slaverAdmin;
}
public void setSlaverAdmin(Byte slaverAdmin) {
this.slaverAdmin = slaverAdmin;
}
public String getStatus() { public String getStatus() {
return status; return status;
} }
@ -170,6 +180,7 @@ public class DmsUser implements Serializable {
sb.append(", email=").append(email); sb.append(", email=").append(email);
sb.append(", phonenumber=").append(phonenumber); sb.append(", phonenumber=").append(phonenumber);
sb.append(", sex=").append(sex); sb.append(", sex=").append(sex);
sb.append(", slaverAdmin=").append(slaverAdmin);
sb.append(", status=").append(status); sb.append(", status=").append(status);
sb.append(", delFlag=").append(delFlag); sb.append(", delFlag=").append(delFlag);
sb.append(", createBy=").append(createBy); sb.append(", createBy=").append(createBy);

80
acupuncture-system/src/main/java/com/acupuncture/system/domain/po/DmsUserExample.java

@ -115,52 +115,52 @@ public class DmsUserExample {
return (Criteria) this; return (Criteria) this;
} }
public Criteria andIdEqualTo(Integer value) { public Criteria andIdEqualTo(Long value) {
addCriterion("id =", value, "id"); addCriterion("id =", value, "id");
return (Criteria) this; return (Criteria) this;
} }
public Criteria andIdNotEqualTo(Integer value) { public Criteria andIdNotEqualTo(Long value) {
addCriterion("id <>", value, "id"); addCriterion("id <>", value, "id");
return (Criteria) this; return (Criteria) this;
} }
public Criteria andIdGreaterThan(Integer value) { public Criteria andIdGreaterThan(Long value) {
addCriterion("id >", value, "id"); addCriterion("id >", value, "id");
return (Criteria) this; return (Criteria) this;
} }
public Criteria andIdGreaterThanOrEqualTo(Integer value) { public Criteria andIdGreaterThanOrEqualTo(Long value) {
addCriterion("id >=", value, "id"); addCriterion("id >=", value, "id");
return (Criteria) this; return (Criteria) this;
} }
public Criteria andIdLessThan(Integer value) { public Criteria andIdLessThan(Long value) {
addCriterion("id <", value, "id"); addCriterion("id <", value, "id");
return (Criteria) this; return (Criteria) this;
} }
public Criteria andIdLessThanOrEqualTo(Integer value) { public Criteria andIdLessThanOrEqualTo(Long value) {
addCriterion("id <=", value, "id"); addCriterion("id <=", value, "id");
return (Criteria) this; return (Criteria) this;
} }
public Criteria andIdIn(List<Integer> values) { public Criteria andIdIn(List<Long> values) {
addCriterion("id in", values, "id"); addCriterion("id in", values, "id");
return (Criteria) this; return (Criteria) this;
} }
public Criteria andIdNotIn(List<Integer> values) { public Criteria andIdNotIn(List<Long> values) {
addCriterion("id not in", values, "id"); addCriterion("id not in", values, "id");
return (Criteria) this; return (Criteria) this;
} }
public Criteria andIdBetween(Integer value1, Integer value2) { public Criteria andIdBetween(Long value1, Long value2) {
addCriterion("id between", value1, value2, "id"); addCriterion("id between", value1, value2, "id");
return (Criteria) this; return (Criteria) this;
} }
public Criteria andIdNotBetween(Integer value1, Integer value2) { public Criteria andIdNotBetween(Long value1, Long value2) {
addCriterion("id not between", value1, value2, "id"); addCriterion("id not between", value1, value2, "id");
return (Criteria) this; return (Criteria) this;
} }
@ -645,6 +645,66 @@ public class DmsUserExample {
return (Criteria) this; return (Criteria) this;
} }
public Criteria andSlaverAdminIsNull() {
addCriterion("slaver_admin is null");
return (Criteria) this;
}
public Criteria andSlaverAdminIsNotNull() {
addCriterion("slaver_admin is not null");
return (Criteria) this;
}
public Criteria andSlaverAdminEqualTo(Byte value) {
addCriterion("slaver_admin =", value, "slaverAdmin");
return (Criteria) this;
}
public Criteria andSlaverAdminNotEqualTo(Byte value) {
addCriterion("slaver_admin <>", value, "slaverAdmin");
return (Criteria) this;
}
public Criteria andSlaverAdminGreaterThan(Byte value) {
addCriterion("slaver_admin >", value, "slaverAdmin");
return (Criteria) this;
}
public Criteria andSlaverAdminGreaterThanOrEqualTo(Byte value) {
addCriterion("slaver_admin >=", value, "slaverAdmin");
return (Criteria) this;
}
public Criteria andSlaverAdminLessThan(Byte value) {
addCriterion("slaver_admin <", value, "slaverAdmin");
return (Criteria) this;
}
public Criteria andSlaverAdminLessThanOrEqualTo(Byte value) {
addCriterion("slaver_admin <=", value, "slaverAdmin");
return (Criteria) this;
}
public Criteria andSlaverAdminIn(List<Byte> values) {
addCriterion("slaver_admin in", values, "slaverAdmin");
return (Criteria) this;
}
public Criteria andSlaverAdminNotIn(List<Byte> values) {
addCriterion("slaver_admin not in", values, "slaverAdmin");
return (Criteria) this;
}
public Criteria andSlaverAdminBetween(Byte value1, Byte value2) {
addCriterion("slaver_admin between", value1, value2, "slaverAdmin");
return (Criteria) this;
}
public Criteria andSlaverAdminNotBetween(Byte value1, Byte value2) {
addCriterion("slaver_admin not between", value1, value2, "slaverAdmin");
return (Criteria) this;
}
public Criteria andStatusIsNull() { public Criteria andStatusIsNull() {
addCriterion("status is null"); addCriterion("status is null");
return (Criteria) this; return (Criteria) this;

2
acupuncture-system/src/main/java/com/acupuncture/system/domain/vo/AdminTenantUserVo.java

@ -38,6 +38,8 @@ public class AdminTenantUserVo {
private Date createTime; private Date createTime;
private String tenantName; private String tenantName;
private Byte slaverAdmin;
} }
} }

4
acupuncture-system/src/main/java/com/acupuncture/system/persist/mapper/DmsUserMapper.java

@ -8,7 +8,7 @@ import org.apache.ibatis.annotations.Param;
public interface DmsUserMapper { public interface DmsUserMapper {
long countByExample(DmsUserExample example); long countByExample(DmsUserExample example);
int deleteByPrimaryKey(Integer id); int deleteByPrimaryKey(Long id);
int insert(DmsUser record); int insert(DmsUser record);
@ -16,7 +16,7 @@ public interface DmsUserMapper {
List<DmsUser> selectByExample(DmsUserExample example); List<DmsUser> selectByExample(DmsUserExample example);
DmsUser selectByPrimaryKey(Integer id); DmsUser selectByPrimaryKey(Long id);
int updateByExampleSelective(@Param("record") DmsUser record, @Param("example") DmsUserExample example); int updateByExampleSelective(@Param("record") DmsUser record, @Param("example") DmsUserExample example);

1
acupuncture-system/src/main/java/com/acupuncture/system/service/AdminTenantUserService.java

@ -21,4 +21,5 @@ public interface AdminTenantUserService {
List<AdminTenantUserVo.Result> query(AdminTenantUserDto.Query dto); List<AdminTenantUserVo.Result> query(AdminTenantUserDto.Query dto);
int resetPwd(AdminTenantUserDto.ResetPwd dto);
} }

2
acupuncture-system/src/main/java/com/acupuncture/system/service/DmsLoginService.java

@ -52,4 +52,6 @@ public interface DmsLoginService {
DmsTenant queryById(Long id); DmsTenant queryById(Long id);
DmsLoginUserVo.DmsUserVo selectTenantUserById(Long userId); DmsLoginUserVo.DmsUserVo selectTenantUserById(Long userId);
int updateTenantUserById(AdminTenantUserDto.UpdDto updDto);
} }

10
acupuncture-system/src/main/java/com/acupuncture/system/service/impl/AdminTenantUserServiceImpl.java

@ -35,7 +35,7 @@ public class AdminTenantUserServiceImpl implements AdminTenantUserService {
@Override @Override
public int insert(AdminTenantUserDto.AddDto dto) { public int insert(AdminTenantUserDto.AddDto dto) {
DmsUser dmsUser = BeanUtil.copyProperties(dto, DmsUser.class); DmsUser dmsUser = BeanUtil.copyProperties(dto, DmsUser.class);
dmsUser.setId((int) IdUtil.getSnowflakeNextId()); dmsUser.setId(IdUtil.getSnowflakeNextId());
dmsUser.setCreateBy(SecurityUtils.getUsername()); dmsUser.setCreateBy(SecurityUtils.getUsername());
dmsUser.setCreateTime(new Date()); dmsUser.setCreateTime(new Date());
return dmsUserMapper.insertSelective(dmsUser); return dmsUserMapper.insertSelective(dmsUser);
@ -62,4 +62,12 @@ public class AdminTenantUserServiceImpl implements AdminTenantUserService {
public List<AdminTenantUserVo.Result> query(AdminTenantUserDto.Query dto) { public List<AdminTenantUserVo.Result> query(AdminTenantUserDto.Query dto) {
return adminDmsUserDao.query(dto); return adminDmsUserDao.query(dto);
} }
@Override
public int resetPwd(AdminTenantUserDto.ResetPwd dto) {
DmsUser dmsUser = new DmsUser();
dmsUser.setId(dto.getId());
dmsUser.setPassword(SecurityUtils.encryptPassword(dto.getPassword()));
return dmsUserMapper.updateByPrimaryKeySelective(dmsUser);
}
} }

19
acupuncture-system/src/main/java/com/acupuncture/system/service/impl/DmsLoginServiceImpl.java

@ -1,5 +1,6 @@
package com.acupuncture.system.service.impl; package com.acupuncture.system.service.impl;
import cn.hutool.core.bean.BeanUtil;
import com.acupuncture.common.constant.UserConstants; import com.acupuncture.common.constant.UserConstants;
import com.acupuncture.common.core.domain.entity.SysUser; import com.acupuncture.common.core.domain.entity.SysUser;
import com.acupuncture.common.utils.StringUtils; import com.acupuncture.common.utils.StringUtils;
@ -10,6 +11,7 @@ import com.acupuncture.system.domain.po.UmsDataSource;
import com.acupuncture.system.domain.vo.DmsLoginUserVo; import com.acupuncture.system.domain.vo.DmsLoginUserVo;
import com.acupuncture.system.persist.dao.DmsUserDao; import com.acupuncture.system.persist.dao.DmsUserDao;
import com.acupuncture.system.persist.mapper.DmsTenantMapper; import com.acupuncture.system.persist.mapper.DmsTenantMapper;
import com.acupuncture.system.persist.mapper.DmsUserMapper;
import com.acupuncture.system.persist.mapper.UmsDataSourceMapper; import com.acupuncture.system.persist.mapper.UmsDataSourceMapper;
import com.acupuncture.system.service.DmsLoginService; import com.acupuncture.system.service.DmsLoginService;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -28,6 +30,9 @@ public class DmsLoginServiceImpl implements DmsLoginService {
@Resource @Resource
private DmsUserDao dmsUserDao; private DmsUserDao dmsUserDao;
@Resource
private DmsUserMapper dmsUserMapper;
@Resource @Resource
private DmsTenantMapper dmsTenantMapper; private DmsTenantMapper dmsTenantMapper;
@ -106,5 +111,17 @@ public class DmsLoginServiceImpl implements DmsLoginService {
return dmsUserDao.queryTenantUserById(userId); return dmsUserDao.queryTenantUserById(userId);
} }
@Override
public int updateTenantUserById(AdminTenantUserDto.UpdDto updDto) {
DmsUser dmsUser = new DmsUser();
dmsUser.setId(updDto.getId());
dmsUser.setUserName(updDto.getUserName());
dmsUser.setNickName(updDto.getNickName());
dmsUser.setEmail(updDto.getEmail());
dmsUser.setPhonenumber(updDto.getPhonenumber());
dmsUser.setSex(updDto.getSex());
dmsUser.setTenantId(updDto.getTenantId());
dmsUser.setSlaverAdmin(updDto.getSlaverAdmin());
return dmsUserMapper.updateByPrimaryKeySelective(dmsUser);
}
} }

2
acupuncture-system/src/main/resources/mapper/dao/AdminDmsUserDao.xml

@ -20,6 +20,7 @@
u.update_by as updateBy, u.update_by as updateBy,
u.update_time as updateTime, u.update_time as updateTime,
u.remark, u.remark,
u.slaver_admin as slaverAdmin,
t.name as tenantName t.name as tenantName
FROM FROM
dms_user u dms_user u
@ -34,6 +35,7 @@
AND t.name like concat('%',#{dto.tenantName},'%') AND t.name like concat('%',#{dto.tenantName},'%')
</if> </if>
</where> </where>
order by u.tenant_id desc, u.id desc
</select> </select>
</mapper> </mapper>

57
acupuncture-system/src/main/resources/mapper/system/DmsUserMapper.xml

@ -2,7 +2,7 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.acupuncture.system.persist.mapper.DmsUserMapper"> <mapper namespace="com.acupuncture.system.persist.mapper.DmsUserMapper">
<resultMap id="BaseResultMap" type="com.acupuncture.system.domain.po.DmsUser"> <resultMap id="BaseResultMap" type="com.acupuncture.system.domain.po.DmsUser">
<id column="id" jdbcType="INTEGER" property="id" /> <id column="id" jdbcType="BIGINT" property="id" />
<result column="tenant_id" jdbcType="BIGINT" property="tenantId" /> <result column="tenant_id" jdbcType="BIGINT" property="tenantId" />
<result column="user_name" jdbcType="VARCHAR" property="userName" /> <result column="user_name" jdbcType="VARCHAR" property="userName" />
<result column="password" jdbcType="VARCHAR" property="password" /> <result column="password" jdbcType="VARCHAR" property="password" />
@ -10,6 +10,7 @@
<result column="email" jdbcType="VARCHAR" property="email" /> <result column="email" jdbcType="VARCHAR" property="email" />
<result column="phonenumber" jdbcType="VARCHAR" property="phonenumber" /> <result column="phonenumber" jdbcType="VARCHAR" property="phonenumber" />
<result column="sex" jdbcType="CHAR" property="sex" /> <result column="sex" jdbcType="CHAR" property="sex" />
<result column="slaver_admin" jdbcType="TINYINT" property="slaverAdmin" />
<result column="status" jdbcType="CHAR" property="status" /> <result column="status" jdbcType="CHAR" property="status" />
<result column="del_flag" jdbcType="TINYINT" property="delFlag" /> <result column="del_flag" jdbcType="TINYINT" property="delFlag" />
<result column="create_by" jdbcType="VARCHAR" property="createBy" /> <result column="create_by" jdbcType="VARCHAR" property="createBy" />
@ -77,8 +78,8 @@
</where> </where>
</sql> </sql>
<sql id="Base_Column_List"> <sql id="Base_Column_List">
id, tenant_id, user_name, password, nick_name, email, phonenumber, sex, status, del_flag, id, tenant_id, user_name, password, nick_name, email, phonenumber, sex, slaver_admin,
create_by, create_time, update_by, update_time, remark status, del_flag, create_by, create_time, update_by, update_time, remark
</sql> </sql>
<select id="selectByExample" parameterType="com.acupuncture.system.domain.po.DmsUserExample" resultMap="BaseResultMap"> <select id="selectByExample" parameterType="com.acupuncture.system.domain.po.DmsUserExample" resultMap="BaseResultMap">
select select
@ -94,29 +95,29 @@
order by ${orderByClause} order by ${orderByClause}
</if> </if>
</select> </select>
<select id="selectByPrimaryKey" parameterType="java.lang.Integer" resultMap="BaseResultMap"> <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap">
select select
<include refid="Base_Column_List" /> <include refid="Base_Column_List" />
from dms_user from dms_user
where id = #{id,jdbcType=INTEGER} where id = #{id,jdbcType=BIGINT}
</select> </select>
<delete id="deleteByPrimaryKey" parameterType="java.lang.Integer"> <delete id="deleteByPrimaryKey" parameterType="java.lang.Long">
delete from dms_user delete from dms_user
where id = #{id,jdbcType=INTEGER} where id = #{id,jdbcType=BIGINT}
</delete> </delete>
<insert id="insert" parameterType="com.acupuncture.system.domain.po.DmsUser"> <insert id="insert" parameterType="com.acupuncture.system.domain.po.DmsUser">
insert into dms_user (id, tenant_id, user_name, insert into dms_user (id, tenant_id, user_name,
password, nick_name, email, password, nick_name, email,
phonenumber, sex, status, phonenumber, sex, slaver_admin,
del_flag, create_by, create_time, status, del_flag, create_by,
update_by, update_time, remark create_time, update_by, update_time,
) remark)
values (#{id,jdbcType=INTEGER}, #{tenantId,jdbcType=BIGINT}, #{userName,jdbcType=VARCHAR}, values (#{id,jdbcType=BIGINT}, #{tenantId,jdbcType=BIGINT}, #{userName,jdbcType=VARCHAR},
#{password,jdbcType=VARCHAR}, #{nickName,jdbcType=VARCHAR}, #{email,jdbcType=VARCHAR}, #{password,jdbcType=VARCHAR}, #{nickName,jdbcType=VARCHAR}, #{email,jdbcType=VARCHAR},
#{phonenumber,jdbcType=VARCHAR}, #{sex,jdbcType=CHAR}, #{status,jdbcType=CHAR}, #{phonenumber,jdbcType=VARCHAR}, #{sex,jdbcType=CHAR}, #{slaverAdmin,jdbcType=TINYINT},
#{delFlag,jdbcType=TINYINT}, #{createBy,jdbcType=VARCHAR}, #{createTime,jdbcType=TIMESTAMP}, #{status,jdbcType=CHAR}, #{delFlag,jdbcType=TINYINT}, #{createBy,jdbcType=VARCHAR},
#{updateBy,jdbcType=VARCHAR}, #{updateTime,jdbcType=TIMESTAMP}, #{remark,jdbcType=VARCHAR} #{createTime,jdbcType=TIMESTAMP}, #{updateBy,jdbcType=VARCHAR}, #{updateTime,jdbcType=TIMESTAMP},
) #{remark,jdbcType=VARCHAR})
</insert> </insert>
<insert id="insertSelective" parameterType="com.acupuncture.system.domain.po.DmsUser"> <insert id="insertSelective" parameterType="com.acupuncture.system.domain.po.DmsUser">
insert into dms_user insert into dms_user
@ -145,6 +146,9 @@
<if test="sex != null"> <if test="sex != null">
sex, sex,
</if> </if>
<if test="slaverAdmin != null">
slaver_admin,
</if>
<if test="status != null"> <if test="status != null">
status, status,
</if> </if>
@ -169,7 +173,7 @@
</trim> </trim>
<trim prefix="values (" suffix=")" suffixOverrides=","> <trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="id != null"> <if test="id != null">
#{id,jdbcType=INTEGER}, #{id,jdbcType=BIGINT},
</if> </if>
<if test="tenantId != null"> <if test="tenantId != null">
#{tenantId,jdbcType=BIGINT}, #{tenantId,jdbcType=BIGINT},
@ -192,6 +196,9 @@
<if test="sex != null"> <if test="sex != null">
#{sex,jdbcType=CHAR}, #{sex,jdbcType=CHAR},
</if> </if>
<if test="slaverAdmin != null">
#{slaverAdmin,jdbcType=TINYINT},
</if>
<if test="status != null"> <if test="status != null">
#{status,jdbcType=CHAR}, #{status,jdbcType=CHAR},
</if> </if>
@ -225,7 +232,7 @@
update dms_user update dms_user
<set> <set>
<if test="record.id != null"> <if test="record.id != null">
id = #{record.id,jdbcType=INTEGER}, id = #{record.id,jdbcType=BIGINT},
</if> </if>
<if test="record.tenantId != null"> <if test="record.tenantId != null">
tenant_id = #{record.tenantId,jdbcType=BIGINT}, tenant_id = #{record.tenantId,jdbcType=BIGINT},
@ -248,6 +255,9 @@
<if test="record.sex != null"> <if test="record.sex != null">
sex = #{record.sex,jdbcType=CHAR}, sex = #{record.sex,jdbcType=CHAR},
</if> </if>
<if test="record.slaverAdmin != null">
slaver_admin = #{record.slaverAdmin,jdbcType=TINYINT},
</if>
<if test="record.status != null"> <if test="record.status != null">
status = #{record.status,jdbcType=CHAR}, status = #{record.status,jdbcType=CHAR},
</if> </if>
@ -276,7 +286,7 @@
</update> </update>
<update id="updateByExample" parameterType="map"> <update id="updateByExample" parameterType="map">
update dms_user update dms_user
set id = #{record.id,jdbcType=INTEGER}, set id = #{record.id,jdbcType=BIGINT},
tenant_id = #{record.tenantId,jdbcType=BIGINT}, tenant_id = #{record.tenantId,jdbcType=BIGINT},
user_name = #{record.userName,jdbcType=VARCHAR}, user_name = #{record.userName,jdbcType=VARCHAR},
password = #{record.password,jdbcType=VARCHAR}, password = #{record.password,jdbcType=VARCHAR},
@ -284,6 +294,7 @@
email = #{record.email,jdbcType=VARCHAR}, email = #{record.email,jdbcType=VARCHAR},
phonenumber = #{record.phonenumber,jdbcType=VARCHAR}, phonenumber = #{record.phonenumber,jdbcType=VARCHAR},
sex = #{record.sex,jdbcType=CHAR}, sex = #{record.sex,jdbcType=CHAR},
slaver_admin = #{record.slaverAdmin,jdbcType=TINYINT},
status = #{record.status,jdbcType=CHAR}, status = #{record.status,jdbcType=CHAR},
del_flag = #{record.delFlag,jdbcType=TINYINT}, del_flag = #{record.delFlag,jdbcType=TINYINT},
create_by = #{record.createBy,jdbcType=VARCHAR}, create_by = #{record.createBy,jdbcType=VARCHAR},
@ -319,6 +330,9 @@
<if test="sex != null"> <if test="sex != null">
sex = #{sex,jdbcType=CHAR}, sex = #{sex,jdbcType=CHAR},
</if> </if>
<if test="slaverAdmin != null">
slaver_admin = #{slaverAdmin,jdbcType=TINYINT},
</if>
<if test="status != null"> <if test="status != null">
status = #{status,jdbcType=CHAR}, status = #{status,jdbcType=CHAR},
</if> </if>
@ -341,7 +355,7 @@
remark = #{remark,jdbcType=VARCHAR}, remark = #{remark,jdbcType=VARCHAR},
</if> </if>
</set> </set>
where id = #{id,jdbcType=INTEGER} where id = #{id,jdbcType=BIGINT}
</update> </update>
<update id="updateByPrimaryKey" parameterType="com.acupuncture.system.domain.po.DmsUser"> <update id="updateByPrimaryKey" parameterType="com.acupuncture.system.domain.po.DmsUser">
update dms_user update dms_user
@ -352,6 +366,7 @@
email = #{email,jdbcType=VARCHAR}, email = #{email,jdbcType=VARCHAR},
phonenumber = #{phonenumber,jdbcType=VARCHAR}, phonenumber = #{phonenumber,jdbcType=VARCHAR},
sex = #{sex,jdbcType=CHAR}, sex = #{sex,jdbcType=CHAR},
slaver_admin = #{slaverAdmin,jdbcType=TINYINT},
status = #{status,jdbcType=CHAR}, status = #{status,jdbcType=CHAR},
del_flag = #{delFlag,jdbcType=TINYINT}, del_flag = #{delFlag,jdbcType=TINYINT},
create_by = #{createBy,jdbcType=VARCHAR}, create_by = #{createBy,jdbcType=VARCHAR},
@ -359,6 +374,6 @@
update_by = #{updateBy,jdbcType=VARCHAR}, update_by = #{updateBy,jdbcType=VARCHAR},
update_time = #{updateTime,jdbcType=TIMESTAMP}, update_time = #{updateTime,jdbcType=TIMESTAMP},
remark = #{remark,jdbcType=VARCHAR} remark = #{remark,jdbcType=VARCHAR}
where id = #{id,jdbcType=INTEGER} where id = #{id,jdbcType=BIGINT}
</update> </update>
</mapper> </mapper>

6
acupuncture-system/src/main/resources/mapper/system/SysUserMapper.xml

@ -168,7 +168,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="status != null and status != ''">status,</if> <if test="status != null and status != ''">status,</if>
<if test="createBy != null and createBy != ''">create_by,</if> <if test="createBy != null and createBy != ''">create_by,</if>
<if test="remark != null and remark != ''">remark,</if> <if test="remark != null and remark != ''">remark,</if>
<if test="slaverAdmin != null">slaver_admin,</if> <if test="slaverAdmin != null">slaver_admin,</if>
create_time create_time
)values( )values(
<if test="userId != null and userId != ''">#{userId},</if> <if test="userId != null and userId != ''">#{userId},</if>
@ -184,7 +184,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="status != null and status != ''">#{status},</if> <if test="status != null and status != ''">#{status},</if>
<if test="createBy != null and createBy != ''">#{createBy},</if> <if test="createBy != null and createBy != ''">#{createBy},</if>
<if test="remark != null and remark != ''">#{remark},</if> <if test="remark != null and remark != ''">#{remark},</if>
<if test="slaverAdmin != null">#{slaverAdmin},</if> <if test="slaverAdmin != null">#{slaverAdmin},</if>
sysdate() sysdate()
) )
</insert> </insert>
@ -192,6 +192,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<update id="updateUser" parameterType="SysUser"> <update id="updateUser" parameterType="SysUser">
update sys_user update sys_user
<set> <set>
<if test="tenantId != null and tenantId != 0">tenant_id = #{tenantId},</if>
<if test="slaverAdmin != null">slaver_admin = #{slaverAdmin},</if>
<if test="deptId != null and deptId != 0">dept_id = #{deptId},</if> <if test="deptId != null and deptId != 0">dept_id = #{deptId},</if>
<if test="userName != null and userName != ''">user_name = #{userName},</if> <if test="userName != null and userName != ''">user_name = #{userName},</if>
<if test="nickName != null and nickName != ''">nick_name = #{nickName},</if> <if test="nickName != null and nickName != ''">nick_name = #{nickName},</if>

Loading…
Cancel
Save