删除sysuser

main
zhangyue 2025-11-04 15:12:42 +08:00
parent a3502a6283
commit 50dc7e9a91
21 changed files with 11 additions and 1265 deletions

View File

@ -1,57 +0,0 @@
package com.zcloud.basic.info.command;
import com.alibaba.cola.exception.BizException;
import com.zcloud.basic.info.domain.gateway.SysUserGateway;
import com.zcloud.basic.info.domain.model.SysUserE;
import com.zcloud.basic.info.dto.SysCorpUserAddCmd;
import com.zcloud.basic.info.dto.SysUserAddCmd;
import com.zcloud.basic.info.persistence.dataobject.SysUserDO;
import com.zcloud.basic.info.persistence.repository.SysUserRepository;
import com.zcloud.gbscommon.utils.UuidUtil;
import lombok.AllArgsConstructor;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
/**
* web-app
*
* @Author zhaokai
* @Date 2025-10-28 16:42:36
*/
@Component
@AllArgsConstructor
public class SysUserAddExe {
private final SysUserGateway sysUserGateway;
private final SysUserRepository sysUserRepository;
@Transactional(rollbackFor = Exception.class)
public boolean execute(SysUserAddCmd cmd) {
SysUserE examTypeE = new SysUserE();
BeanUtils.copyProperties(cmd, examTypeE);
examTypeE.setId(cmd.getUid());
boolean res = false;
try {
res = sysUserGateway.add(examTypeE);
} catch (Exception e) {
throw new RuntimeException(e);
}
if (!res) {
throw new BizException("保存失败");
}
return true;
}
@Transactional(rollbackFor = Exception.class)
public void addCorpAccount(SysCorpUserAddCmd cmd) {
SysUserDO sysUserDO = new SysUserDO();
sysUserDO.setUserId(UuidUtil.get32UUID());
sysUserDO.setName(cmd.getName());
sysUserDO.setUsername(cmd.getName());
sysUserDO.setUserType(cmd.getUserType());
sysUserDO.setMainCorp(1);
sysUserRepository.save(sysUserDO);
}
}

View File

@ -1,39 +0,0 @@
package com.zcloud.basic.info.command;
import com.alibaba.cola.exception.BizException;
import com.zcloud.basic.info.domain.gateway.SysUserGateway;
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
/**
* web-app
*
* @Author zhaokai
* @Date 2025-10-28 16:42:37
*/
@Component
@AllArgsConstructor
public class SysUserRemoveExe {
private final SysUserGateway sysUserGateway;
@Transactional(rollbackFor = Exception.class)
public boolean execute(Long id) {
boolean res = sysUserGateway.deletedSysUserById(id);
if (!res) {
throw new BizException("删除失败");
}
return true;
}
@Transactional(rollbackFor = Exception.class)
public boolean execute(Long[] ids) {
boolean res = sysUserGateway.deletedSysUserByIds(ids);
if (!res) {
throw new BizException("删除失败");
}
return true;
}
}

View File

@ -1,45 +0,0 @@
package com.zcloud.basic.info.command;
import com.alibaba.cola.exception.BizException;
import com.zcloud.basic.info.domain.gateway.SysUserGateway;
import com.zcloud.basic.info.domain.model.SysUserE;
import com.zcloud.basic.info.dto.CorpInfoUpdateCmd;
import com.zcloud.basic.info.dto.SysUserUpdateCmd;
import lombok.AllArgsConstructor;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
import javax.validation.constraints.NotEmpty;
/**
* web-app
*
* @Author zhaokai
* @Date 2025-10-28 16:42:37
*/
@Component
@AllArgsConstructor
public class SysUserUpdateExe {
private final SysUserGateway sysUserGateway;
@Transactional(rollbackFor = Exception.class)
public void execute(SysUserUpdateCmd sysUserUpdateCmd) {
SysUserE sysUserE = new SysUserE();
BeanUtils.copyProperties(sysUserUpdateCmd, sysUserE);
boolean res = sysUserGateway.update(sysUserE);
if (!res) {
throw new BizException("修改失败");
}
}
public void changePassword(Long id) {
sysUserGateway.changePassword(id);
}
public void changeCompanyName(Long userId,String corpName) {
sysUserGateway.changeCompanyName(userId,corpName);
}
}

View File

@ -1,24 +0,0 @@
package com.zcloud.basic.info.command.convertor;
import com.zcloud.basic.info.dto.clientobject.SysUserCO;
import com.zcloud.basic.info.persistence.dataobject.SysUserDO;
import org.mapstruct.Mapper;
import java.util.List;
/**
* web-app
*
* @Author zhaokai
* @Date 2025-10-28 16:42:36
*/
@Mapper(componentModel = "spring")
public interface SysUserCoConvertor {
/**
* @param sysUserDOs
* @return
*/
List<SysUserCO> converDOsToCOs(List<SysUserDO> sysUserDOs);
}

View File

@ -1,42 +0,0 @@
package com.zcloud.basic.info.command.query;
import com.alibaba.cola.dto.PageResponse;
import com.zcloud.basic.info.command.convertor.SysUserCoConvertor;
import com.zcloud.basic.info.dto.SysUserPageQry;
import com.zcloud.basic.info.dto.clientobject.SysUserCO;
import com.zcloud.basic.info.persistence.dataobject.SysUserDO;
import com.zcloud.basic.info.persistence.repository.SysUserRepository;
import com.zcloud.gbscommon.utils.PageQueryHelper;
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Component;
import java.util.List;
import java.util.Map;
/**
* web-app
*
* @Author zhaokai
* @Date 2025-10-28 16:42:37
*/
@Component
@AllArgsConstructor
public class SysUserQueryExe {
private final SysUserRepository sysUserRepository;
private final SysUserCoConvertor sysUserCoConvertor;
/**
*
*
* @param sysUserPageQry
* @return
*/
public PageResponse<SysUserCO> execute(SysUserPageQry sysUserPageQry) {
Map<String, Object> parmas = PageQueryHelper.toHashMap(sysUserPageQry);
PageResponse<SysUserDO> pageResponse = sysUserRepository.listPage(parmas);
List<SysUserCO> examCenterCOS = sysUserCoConvertor.converDOsToCOs(pageResponse.getData());
return PageResponse.of(examCenterCOS, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex());
}
}

View File

@ -28,8 +28,9 @@ public class CorpInfoServiceImpl implements CorpInfoServiceI {
private final CorpInfoUpdateExe corpInfoUpdateExe;
private final CorpInfoRemoveExe corpInfoRemoveExe;
private final CorpInfoQueryExe corpInfoQueryExe;
private final SysUserAddExe sysUserAddExe;
private final SysUserUpdateExe sysUserUpdateExe;
// TODO 下面的sysUser废弃了后续写完写的执行器需要重新完善
// private final SysUserAddExe sysUserAddExe;
// private final SysUserUpdateExe sysUserUpdateExe;
@Override
public PageResponse<CorpInfoCO> listPage(CorpInfoPageQry qry) {
@ -44,13 +45,13 @@ public class CorpInfoServiceImpl implements CorpInfoServiceI {
Long id = corpInfoAddExe.execute(cmd);
//新增企业成功后新增企业主账号用户(企业主账号的gbsId与企业的gbsId一致) 2025-10-31 huangyuxuan
SysUserAddCmd user = new SysUserAddCmd();
// SysUserAddCmd user = new SysUserAddCmd();
// to do 完善
// user.setId(userId).setUserId(Tools.get32UUID()).setUsername(cmd.getCorpName()).setName(cmd.getCorpName())
// .setPassword(new SimpleHash("SHA-1",user.getUsername(),"Aa@123456789").toHex())
// .setCorpinfoId(id).setUserType(UserTypeEnum.getUserType(cmd.getType())).setStatus("0")
// .setDepartmentId(id);
sysUserAddExe.execute(user);
// sysUserAddExe.execute(user);
return SingleResponse.buildSuccess();
}
@ -81,14 +82,14 @@ public class CorpInfoServiceImpl implements CorpInfoServiceI {
@Override
public void changePassword(Long id) {
sysUserUpdateExe.changePassword(id);
// sysUserUpdateExe.changePassword(id);
}
@Override
public void changeCompanyName(CorpInfoUpdateCmd corpInfoUpdateCmd) {
corpInfoUpdateExe.changeCompanyName(corpInfoUpdateCmd);
Long userId = AuthContext.getUserId();
sysUserUpdateExe.changeCompanyName(userId,corpInfoUpdateCmd.getCorpName());
// sysUserUpdateExe.changeCompanyName(userId,corpInfoUpdateCmd.getCorpName());
}
}

View File

@ -7,17 +7,12 @@ import com.zcloud.basic.info.api.CorpInfoXgfServiceI;
import com.zcloud.basic.info.command.CorpInfoXgfAddExe;
import com.zcloud.basic.info.command.CorpInfoXgfRemoveExe;
import com.zcloud.basic.info.command.CorpInfoXgfUpdateExe;
import com.zcloud.basic.info.command.SysUserAddExe;
import com.zcloud.basic.info.command.query.CorpInfoXgfQueryExe;
import com.zcloud.basic.info.domain.enums.UserTypeEnum;
import com.zcloud.basic.info.dto.CorpInfoXgfAddCmd;
import com.zcloud.basic.info.dto.CorpInfoXgfPageQry;
import com.zcloud.basic.info.dto.CorpInfoXgfUpdateCmd;
import com.zcloud.basic.info.dto.SysUserAddCmd;
import com.zcloud.basic.info.dto.clientobject.CorpInfoXgfCO;
import com.zcloud.gbscommon.utils.Tools;
import lombok.AllArgsConstructor;
import org.apache.shiro.crypto.hash.SimpleHash;
import org.springframework.stereotype.Service;
/**
@ -33,7 +28,8 @@ public class CorpInfoXgfServiceImpl implements CorpInfoXgfServiceI {
private final CorpInfoXgfUpdateExe corpInfoXgfUpdateExe;
private final CorpInfoXgfRemoveExe corpInfoXgfRemoveExe;
private final CorpInfoXgfQueryExe corpInfoXgfQueryExe;
private final SysUserAddExe sysUserAddExe;
// TODO 下面的sysUser废弃了后续写完写的执行器需要重新完善
// private final SysUserAddExe sysUserAddExe;
@Override
public PageResponse<CorpInfoXgfCO> listPage(CorpInfoXgfPageQry qry) {
@ -45,13 +41,13 @@ public class CorpInfoXgfServiceImpl implements CorpInfoXgfServiceI {
Long userId = AuthContext.getUserId();
Long id = corpInfoXgfAddExe.execute(cmd);
//新增企业成功后新增企业主账号用户(企业主账号的gbsId与企业的gbsId一致) 2025-10-31 huangyuxuan
SysUserAddCmd user = new SysUserAddCmd();
// SysUserAddCmd user = new SysUserAddCmd();
// todo 再完善
// user.setId(userId).setUserId(Tools.get32UUID()).setUsername(cmd.getCorpName()).setName(cmd.getCorpName())
// .setPassword(new SimpleHash("SHA-1",user.getUsername(),"Aa@123456789").toHex())
// .setCorpinfoId(id).setUserType(UserTypeEnum.getUserType(cmd.getType())).setStatus("0")
// .setDepartmentId(id);
sysUserAddExe.execute(user);
// sysUserAddExe.execute(user);
return SingleResponse.buildSuccess();
}

View File

@ -1,65 +0,0 @@
package com.zcloud.basic.info.service;
import com.alibaba.cola.dto.PageResponse;
import com.alibaba.cola.dto.SingleResponse;
import com.zcloud.basic.info.api.SysUserServiceI;
import com.zcloud.basic.info.command.SysUserAddExe;
import com.zcloud.basic.info.command.SysUserRemoveExe;
import com.zcloud.basic.info.command.SysUserUpdateExe;
import com.zcloud.basic.info.command.query.SysUserQueryExe;
import com.zcloud.basic.info.dto.SysCorpUserAddCmd;
import com.zcloud.basic.info.dto.SysUserAddCmd;
import com.zcloud.basic.info.dto.SysUserPageQry;
import com.zcloud.basic.info.dto.SysUserUpdateCmd;
import com.zcloud.basic.info.dto.clientobject.SysUserCO;
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Service;
/**
* web-app
*
* @Author zhaokai
* @Date 2025-10-28 16:42:37
*/
@Service
@AllArgsConstructor
public class SysUserServiceImpl implements SysUserServiceI {
private final SysUserAddExe sysUserAddExe;
private final SysUserUpdateExe sysUserUpdateExe;
private final SysUserRemoveExe sysUserRemoveExe;
private final SysUserQueryExe sysUserQueryExe;
@Override
public PageResponse<SysUserCO> listPage(SysUserPageQry qry) {
return sysUserQueryExe.execute(qry);
}
@Override
public SingleResponse add(SysUserAddCmd cmd) {
sysUserAddExe.execute(cmd);
return SingleResponse.buildSuccess();
}
@Override
public void edit(SysUserUpdateCmd sysUserUpdateCmd) {
sysUserUpdateExe.execute(sysUserUpdateCmd);
}
@Override
public void remove(Long id) {
sysUserRemoveExe.execute(id);
}
@Override
public void removeBatch(Long[] ids) {
sysUserRemoveExe.execute(ids);
}
@Override
public void addCorpAccount(SysCorpUserAddCmd cmd) {
sysUserAddExe.addCorpAccount(cmd);
}
}

View File

@ -1,30 +0,0 @@
package com.zcloud.basic.info.api;
import com.alibaba.cola.dto.PageResponse;
import com.alibaba.cola.dto.SingleResponse;
import com.zcloud.basic.info.dto.SysCorpUserAddCmd;
import com.zcloud.basic.info.dto.SysUserAddCmd;
import com.zcloud.basic.info.dto.SysUserPageQry;
import com.zcloud.basic.info.dto.SysUserUpdateCmd;
import com.zcloud.basic.info.dto.clientobject.SysUserCO;
/**
* web-client
*
* @Author zhaokai
* @Date 2025-10-28 16:42:37
*/
public interface SysUserServiceI {
PageResponse<SysUserCO> listPage(SysUserPageQry qry);
SingleResponse<SysUserCO> add(SysUserAddCmd cmd);
void edit(SysUserUpdateCmd cmd);
void remove(Long id);
void removeBatch(Long[] ids);
void addCorpAccount(SysCorpUserAddCmd cmd);
}

View File

@ -1,121 +0,0 @@
package com.zcloud.basic.info.dto;
import com.alibaba.cola.dto.Command;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.time.LocalDateTime;
/**
* web-client
*
* @Author zhaokai
* @Date 2025-10-28 16:42:36
*/
@EqualsAndHashCode(callSuper = true)
@Data
@NoArgsConstructor
@AllArgsConstructor
public class SysUserAddCmd extends Command {
@ApiModelProperty(value = "用户名", name = "username", required = true)
@NotEmpty(message = "用户名不能为空")
private String username;
@ApiModelProperty(value = "姓名", name = "name", required = true)
@NotEmpty(message = "姓名不能为空")
private String name;
@ApiModelProperty(value = "部门id", name = "departmentId", required = true)
@NotEmpty(message = "部门id不能为空")
private String departmentId;
@ApiModelProperty(value = "角色id", name = "roleIds", required = true)
@NotEmpty(message = "角色id不能为空")
private String roleIds;
@ApiModelProperty(value = "岗位", name = "postId", required = true)
@NotNull(message = "岗位不能为空")
private Long postId;
@ApiModelProperty(value = "身份证号", name = "userIdCard", required = true)
@NotEmpty(message = "身份证号不能为空")
private String userIdCard;
@ApiModelProperty(value = "民族", name = "nation", required = true)
@NotEmpty(message = "民族不能为空")
private String nation;
@ApiModelProperty(value = "性别0男1女", name = "sex", required = true)
@NotEmpty(message = "性别0男1女不能为空")
private String sex;
@ApiModelProperty(value = "1监管2企业3相关方", name = "userType", required = true)
@NotEmpty(message = "1监管2企业3相关方不能为空")
private String userType;
@ApiModelProperty(value = "状态0.正常 99.锁定 2密码错误次数超过当天限制", name = "status", required = true)
@NotEmpty(message = "状态0.正常 99.锁定 2密码错误次数超过当天限制不能为空")
private String status;
@ApiModelProperty(value = "邮箱", name = "email", required = true)
@NotEmpty(message = "邮箱不能为空")
private String email;
@ApiModelProperty(value = "编码", name = "number", required = true)
@NotEmpty(message = "编码不能为空")
private String number;
@ApiModelProperty(value = "电话", name = "phone", required = true)
@NotEmpty(message = "电话不能为空")
private String phone;
@ApiModelProperty(value = "政治面貌", name = "politicalOutlook", required = true)
@NotEmpty(message = "政治面貌不能为空")
private String politicalOutlook;
@ApiModelProperty(value = "出生年月", name = "dateOfBirth", required = true)
@NotEmpty(message = "出生年月不能为空")
private String dateOfBirth;
@ApiModelProperty(value = "婚姻状况", name = "maritalstatus", required = true)
@NotEmpty(message = "婚姻状况不能为空")
private String maritalstatus;
@ApiModelProperty(value = "入党时间", name = "politicalTime", required = true)
@NotEmpty(message = "入党时间不能为空")
private String politicalTime;
@ApiModelProperty(value = "政治面貌", name = "politicalStatus", required = true)
@NotEmpty(message = "政治面貌不能为空")
private String politicalStatus;
@ApiModelProperty(value = "人员头像数据前缀", name = "useravatarprefix", required = true)
@NotEmpty(message = "人员头像数据前缀不能为空")
private String useravatarprefix;
@ApiModelProperty(value = "人员头像数据", name = "useravatarurl", required = true)
@NotEmpty(message = "人员头像数据不能为空")
private String useravatarurl;
@ApiModelProperty(value = "文化程度", name = "degreeOfEducation", required = true)
@NotEmpty(message = "文化程度不能为空")
private String degreeOfEducation;
@ApiModelProperty(value = "职务", name = "duties", required = true)
@NotEmpty(message = "职务不能为空")
private String duties;
@ApiModelProperty(value = "职务级别", name = "dutiesLevel", required = true)
@NotEmpty(message = "职务级别不能为空")
private String dutiesLevel;
@ApiModelProperty(value = "入职日期", name = "entryDate", required = true)
@NotEmpty(message = "入职日期不能为空")
private String entryDate;
@ApiModelProperty(value = "参加工作日期", name = "workingDate", required = true)
@NotEmpty(message = "参加工作日期不能为空")
private String workingDate;
@ApiModelProperty(value = "在职情况", name = "incumbency", required = true)
@NotEmpty(message = "在职情况不能为空")
private String incumbency;
@ApiModelProperty(value = "户口所在地", name = "hklocal", required = true)
@NotEmpty(message = "户口所在地不能为空")
private String hklocal;
@ApiModelProperty(value = "现住址", name = "address", required = true)
@NotEmpty(message = "现住址不能为空")
private String address;
@ApiModelProperty(value = "职称", name = "title", required = true)
@NotEmpty(message = "职称不能为空")
private String title;
@ApiModelProperty(value = "人员在部门中的排序", name = "sort", required = true)
@NotNull(message = "人员在部门中的排序不能为空")
private Integer sort;
private Long uid;
}

View File

@ -1,29 +0,0 @@
package com.zcloud.basic.info.dto;
import com.alibaba.cola.dto.PageQuery;
import lombok.Data;
/**
* web-client
*
* @Author zhaokai
* @Date 2025-10-28 16:42:37
*/
@Data
public class SysUserPageQry extends PageQuery {
/**
* ,
* - `like`: SQLLIKE
* - `eq`: SQL=
* - `gt`:
* - `lt`:
* - `ge`:
* - `le`:
* - `ne`: SQL!=
*/
private String likeUserId;
private boolean needTotalCount = false;
}

View File

@ -1,176 +0,0 @@
package com.zcloud.basic.info.dto;
import com.alibaba.cola.dto.Command;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.time.LocalDateTime;
/**
* web-client
*
* @Author zhaokai
* @Date 2025-10-28 16:42:37
*/
@EqualsAndHashCode(callSuper = true)
@Data
@NoArgsConstructor
@AllArgsConstructor
public class SysUserUpdateCmd extends Command {
@ApiModelProperty(value = "GBS用户id", name = "id", required = true)
@NotNull(message = "GBS用户id不能为空")
private Long id;
@ApiModelProperty(value = "用户id", name = "userId", required = true)
@NotEmpty(message = "用户id不能为空")
private String userId;
@ApiModelProperty(value = "用户名", name = "username", required = true)
@NotEmpty(message = "用户名不能为空")
private String username;
@ApiModelProperty(value = "密码", name = "password", required = true)
@NotEmpty(message = "密码不能为空")
private String password;
@ApiModelProperty(value = "姓名", name = "name", required = true)
@NotEmpty(message = "姓名不能为空")
private String name;
@ApiModelProperty(value = "企业", name = "corpinfoId", required = true)
@NotNull(message = "企业不能为空")
private Long corpinfoId;
@ApiModelProperty(value = "部门id", name = "departmentId", required = true)
@NotNull(message = "部门id不能为空")
private Long departmentId;
@ApiModelProperty(value = "角色id", name = "roleIds", required = true)
@NotEmpty(message = "角色id不能为空")
private String roleIds;
@ApiModelProperty(value = "1监管2企业3相关方", name = "userType", required = true)
@NotEmpty(message = "1监管2企业3相关方不能为空")
private Integer userType;
@ApiModelProperty(value = "状态0.正常 99.锁定 2密码错误次数超过当天限制", name = "status", required = true)
@NotEmpty(message = "状态0.正常 99.锁定 2密码错误次数超过当天限制不能为空")
private String status;
@ApiModelProperty(value = "邮箱", name = "email", required = true)
@NotEmpty(message = "邮箱不能为空")
private String email;
@ApiModelProperty(value = "编码", name = "number", required = true)
@NotEmpty(message = "编码不能为空")
private String number;
@ApiModelProperty(value = "电话", name = "phone", required = true)
@NotEmpty(message = "电话不能为空")
private String phone;
@ApiModelProperty(value = "性别0男1女", name = "sex", required = true)
@NotEmpty(message = "性别0男1女不能为空")
private String sex;
@ApiModelProperty(value = "民族", name = "nation", required = true)
@NotEmpty(message = "民族不能为空")
private String nation;
@ApiModelProperty(value = "政治面貌", name = "politicalOutlook", required = true)
@NotEmpty(message = "政治面貌不能为空")
private String politicalOutlook;
@ApiModelProperty(value = "身份证号", name = "userIdCard", required = true)
@NotEmpty(message = "身份证号不能为空")
private String userIdCard;
@ApiModelProperty(value = "出生年月", name = "dateOfBirth", required = true)
@NotEmpty(message = "出生年月不能为空")
private String dateOfBirth;
@ApiModelProperty(value = "婚姻状况", name = "maritalstatus", required = true)
@NotEmpty(message = "婚姻状况不能为空")
private String maritalstatus;
@ApiModelProperty(value = "入党时间", name = "politicalTime", required = true)
@NotEmpty(message = "入党时间不能为空")
private String politicalTime;
@ApiModelProperty(value = "政治面貌", name = "politicalStatus", required = true)
@NotEmpty(message = "政治面貌不能为空")
private String politicalStatus;
@ApiModelProperty(value = "人员头像数据前缀", name = "useravatarprefix", required = true)
@NotEmpty(message = "人员头像数据前缀不能为空")
private String useravatarprefix;
@ApiModelProperty(value = "人员头像数据", name = "useravatarurl", required = true)
@NotEmpty(message = "人员头像数据不能为空")
private String useravatarurl;
@ApiModelProperty(value = "文化程度", name = "degreeOfEducation", required = true)
@NotEmpty(message = "文化程度不能为空")
private String degreeOfEducation;
@ApiModelProperty(value = "职务", name = "duties", required = true)
@NotEmpty(message = "职务不能为空")
private String duties;
@ApiModelProperty(value = "职务级别", name = "dutiesLevel", required = true)
@NotEmpty(message = "职务级别不能为空")
private String dutiesLevel;
@ApiModelProperty(value = "入职日期", name = "entryDate", required = true)
@NotEmpty(message = "入职日期不能为空")
private String entryDate;
@ApiModelProperty(value = "参加工作日期", name = "workingDate", required = true)
@NotEmpty(message = "参加工作日期不能为空")
private String workingDate;
@ApiModelProperty(value = "在职情况", name = "incumbency", required = true)
@NotEmpty(message = "在职情况不能为空")
private String incumbency;
@ApiModelProperty(value = "户口所在地", name = "hklocal", required = true)
@NotEmpty(message = "户口所在地不能为空")
private String hklocal;
@ApiModelProperty(value = "现住址", name = "address", required = true)
@NotEmpty(message = "现住址不能为空")
private String address;
@ApiModelProperty(value = "职称", name = "title", required = true)
@NotEmpty(message = "职称不能为空")
private String title;
@ApiModelProperty(value = "岗位", name = "postId", required = true)
@NotEmpty(message = "岗位不能为空")
private String postId;
@ApiModelProperty(value = "人员在部门中的排序", name = "sort", required = true)
@NotEmpty(message = "人员在部门中的排序不能为空")
private Integer sort;
@ApiModelProperty(value = "所属省", name = "province", required = true)
@NotEmpty(message = "所属省不能为空")
private String province;
@ApiModelProperty(value = "所属市", name = "city", required = true)
@NotEmpty(message = "所属市不能为空")
private String city;
@ApiModelProperty(value = "所属区县", name = "country", required = true)
@NotEmpty(message = "所属区县不能为空")
private String country;
@ApiModelProperty(value = "所属乡镇", name = "village", required = true)
@NotEmpty(message = "所属乡镇不能为空")
private String village;
@ApiModelProperty(value = "乐观锁", name = "version", required = true)
@NotEmpty(message = "乐观锁不能为空")
private Integer version;
@ApiModelProperty(value = "创建人", name = "createId", required = true)
@NotEmpty(message = "创建人不能为空")
private Integer createId;
@ApiModelProperty(value = "创建人姓名", name = "createName", required = true)
@NotEmpty(message = "创建人姓名不能为空")
private String createName;
@ApiModelProperty(value = "创建时间", name = "createTime", required = true)
@NotEmpty(message = "创建时间不能为空")
private LocalDateTime createTime;
@ApiModelProperty(value = "更新人", name = "updateId", required = true)
@NotEmpty(message = "更新人不能为空")
private Integer updateId;
@ApiModelProperty(value = "修改人名称", name = "updateName", required = true)
@NotEmpty(message = "修改人名称不能为空")
private String updateName;
@ApiModelProperty(value = "更新时间", name = "updateTime", required = true)
@NotEmpty(message = "更新时间不能为空")
private LocalDateTime updateTime;
@ApiModelProperty(value = "描述", name = "remarks", required = true)
@NotEmpty(message = "描述不能为空")
private String remarks;
@ApiModelProperty(value = "是否删除", name = "deleteEnum", required = true)
@NotEmpty(message = "是否删除不能为空")
private String deleteEnum;
@ApiModelProperty(value = "租户ID", name = "tenantId", required = true)
@NotEmpty(message = "租户ID不能为空")
private Integer tenantId;
@ApiModelProperty(value = "机构ID", name = "orgId", required = true)
@NotEmpty(message = "机构ID不能为空")
private Integer orgId;
@ApiModelProperty(value = "环境", name = "env", required = true)
@NotEmpty(message = "环境不能为空")
private String env;
}

View File

@ -1,166 +0,0 @@
package com.zcloud.basic.info.dto.clientobject;
import com.alibaba.cola.dto.ClientObject;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
* web-client
*
* @Author zhaokai
* @Date 2025-10-28 16:42:36
*/
@Data
public class SysUserCO extends ClientObject {
//GBS用户id
@ApiModelProperty(value = "GBS用户id")
private Integer id;
//用户名
@ApiModelProperty(value = "用户名")
private String username;
//密码
@ApiModelProperty(value = "密码")
private String password;
//姓名
@ApiModelProperty(value = "姓名")
private String name;
//企业
@ApiModelProperty(value = "企业")
private String corpinfoId;
//部门id
@ApiModelProperty(value = "部门id")
private String departmentId;
//角色id
@ApiModelProperty(value = "角色id")
private String roleIds;
//1监管2企业3相关方
@ApiModelProperty(value = "1监管2企业3相关方")
private String userType;
//状态0.正常 99.锁定 2密码错误次数超过当天限制
@ApiModelProperty(value = "状态0.正常 99.锁定 2密码错误次数超过当天限制")
private String status;
//邮箱
@ApiModelProperty(value = "邮箱")
private String email;
//编码
@ApiModelProperty(value = "编码")
private String number;
//电话
@ApiModelProperty(value = "电话")
private String phone;
//性别0男1女
@ApiModelProperty(value = "性别0男1女")
private String sex;
//民族
@ApiModelProperty(value = "民族")
private String nation;
//政治面貌
@ApiModelProperty(value = "政治面貌")
private String politicalOutlook;
//身份证号
@ApiModelProperty(value = "身份证号")
private String userIdCard;
//出生年月
@ApiModelProperty(value = "出生年月")
private String dateOfBirth;
//婚姻状况
@ApiModelProperty(value = "婚姻状况")
private String maritalstatus;
//入党时间
@ApiModelProperty(value = "入党时间")
private String politicalTime;
//政治面貌
@ApiModelProperty(value = "政治面貌")
private String politicalStatus;
//人员头像数据前缀
@ApiModelProperty(value = "人员头像数据前缀")
private String useravatarprefix;
//人员头像数据
@ApiModelProperty(value = "人员头像数据")
private String useravatarurl;
//文化程度
@ApiModelProperty(value = "文化程度")
private String degreeOfEducation;
//职务
@ApiModelProperty(value = "职务")
private String duties;
//职务级别
@ApiModelProperty(value = "职务级别")
private String dutiesLevel;
//入职日期
@ApiModelProperty(value = "入职日期")
private String entryDate;
//参加工作日期
@ApiModelProperty(value = "参加工作日期")
private String workingDate;
//在职情况
@ApiModelProperty(value = "在职情况")
private String incumbency;
//户口所在地
@ApiModelProperty(value = "户口所在地")
private String hklocal;
//现住址
@ApiModelProperty(value = "现住址")
private String address;
//职称
@ApiModelProperty(value = "职称")
private String title;
//岗位
@ApiModelProperty(value = "岗位")
private String postId;
//人员在部门中的排序
@ApiModelProperty(value = "人员在部门中的排序")
private Integer sort;
//所属省
@ApiModelProperty(value = "所属省")
private String province;
//所属市
@ApiModelProperty(value = "所属市")
private String city;
//所属区县
@ApiModelProperty(value = "所属区县")
private String country;
//所属乡镇
@ApiModelProperty(value = "所属乡镇")
private String village;
//乐观锁
@ApiModelProperty(value = "乐观锁")
private Integer version;
//创建人
@ApiModelProperty(value = "创建人")
private Integer createId;
//创建人姓名
@ApiModelProperty(value = "创建人姓名")
private String createName;
//创建时间
@ApiModelProperty(value = "创建时间")
private Date createTime;
//更新人
@ApiModelProperty(value = "更新人")
private Integer updateId;
//修改人名称
@ApiModelProperty(value = "修改人名称")
private String updateName;
//更新时间
@ApiModelProperty(value = "更新时间")
private Date updateTime;
//描述
@ApiModelProperty(value = "描述")
private String remarks;
//是否删除
@ApiModelProperty(value = "是否删除")
private String deleteEnum;
//租户ID
@ApiModelProperty(value = "租户ID")
private Integer tenantId;
//机构ID
@ApiModelProperty(value = "机构ID")
private Integer orgId;
//环境
@ApiModelProperty(value = "环境")
private String env;
}

View File

@ -1,35 +0,0 @@
package com.zcloud.basic.info.domain.gateway;
import com.zcloud.basic.info.domain.model.SysUserE;
/**
* web-domain
*
* @Author zhaokai
* @Date 2025-10-28 16:42:36
*/
public interface SysUserGateway {
/**
*
*/
Boolean add(SysUserE sysUserE);
/**
*
*/
Boolean update(SysUserE sysUserE);
/**
*
*/
Boolean deletedSysUserById(Long id);
Boolean deletedSysUserByIds(Long[] id);
void changePassword(Long id);
void changeCompanyName(Long userId, String corpName);
}

View File

@ -1,121 +0,0 @@
package com.zcloud.basic.info.domain.model;
import com.alibaba.cola.domain.Entity;
import com.jjb.saas.framework.domain.model.BaseE;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.time.LocalDateTime;
import java.util.Date;
/**
*
*
* @author lin
*/
@Data
@Entity
@EqualsAndHashCode(callSuper = true)
public class SysUserE extends BaseE {
//GBS用户id
private Long id;
//用户id
private String userId;
//用户名
private String username;
//密码
private String password;
//姓名
private String name;
//企业
private Long corpinfoId;
//部门id
private Long departmentId;
//角色id
private String roleIds;
//1监管2企业3相关方
private Integer userType;
//状态0.正常 99.锁定 2密码错误次数超过当天限制
private String status;
//邮箱
private String email;
//编码
private String number;
//电话
private String phone;
//性别0男1女
private String sex;
//民族
private String nation;
//政治面貌
private String politicalOutlook;
//身份证号
private String userIdCard;
//出生年月
private String dateOfBirth;
//婚姻状况
private String maritalstatus;
//入党时间
private String politicalTime;
//政治面貌
private String politicalStatus;
//人员头像数据前缀
private String useravatarprefix;
//人员头像数据
private String useravatarurl;
//文化程度
private String degreeOfEducation;
//职务
private String duties;
//职务级别
private String dutiesLevel;
//入职日期
private String entryDate;
//参加工作日期
private String workingDate;
//在职情况
private String incumbency;
//户口所在地
private String hklocal;
//现住址
private String address;
//职称
private String title;
//岗位
private String postId;
//人员在部门中的排序
private Integer sort;
//所属省
private String province;
//所属市
private String city;
//所属区县
private String country;
//所属乡镇
private String village;
//乐观锁
private Integer version;
//创建人
private Long createId;
//创建人姓名
private String createName;
//创建时间
private LocalDateTime createTime;
//更新人
private Long updateId;
//修改人名称
private String updateName;
//更新时间
private LocalDateTime updateTime;
//描述
private String remarks;
//是否删除
private String deleteEnum;
//租户ID
private Long tenantId;
//机构ID
private Long orgId;
//环境
private String env;
}

View File

@ -1,81 +0,0 @@
package com.zcloud.basic.info.gatewayimpl;
import com.alibaba.cola.dto.Response;
import com.jjb.saas.system.client.tenant.facade.TenantFacade;
import com.jjb.saas.system.client.tenant.request.OtaPlatformUserUpdateCmd;
import com.zcloud.basic.info.domain.gateway.SysUserGateway;
import com.zcloud.basic.info.domain.model.SysUserE;
import com.zcloud.basic.info.persistence.dataobject.SysUserDO;
import com.zcloud.basic.info.persistence.repository.SysUserRepository;
import lombok.AllArgsConstructor;
import org.apache.dubbo.config.annotation.DubboReference;
import org.apache.shiro.crypto.hash.SimpleHash;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import lombok.extern.slf4j.Slf4j;
import java.util.Collections;
/**
* web-infrastructure
*
* @Author zhaokai
* @Date 2025-10-28 16:42:36
*/
@Service
@AllArgsConstructor
@Slf4j
public class SysUserGatewayImpl implements SysUserGateway {
private final SysUserRepository sysUserRepository;
@DubboReference
private TenantFacade tenantFacade;
@Override
public Boolean add(SysUserE sysUserE) {
SysUserDO d = new SysUserDO();
BeanUtils.copyProperties(sysUserE, d);
sysUserRepository.save(d);
return true;
}
@Override
public Boolean update(SysUserE sysUserE) {
SysUserDO d = new SysUserDO();
BeanUtils.copyProperties(sysUserE, d);
sysUserRepository.updateById(d);
return true;
}
@Override
public Boolean deletedSysUserById(Long id) {
return sysUserRepository.removeById(id);
}
@Override
public Boolean deletedSysUserByIds(Long[] ids) {
return sysUserRepository.removeByIds(Collections.singletonList(ids));
}
@Override
public void changePassword(Long id) {
SysUserDO user = sysUserRepository.getById(id);
user.setPassword(new SimpleHash("SHA-1",user.getUsername(),"Aa@123456789").toHex());
sysUserRepository.updateById(user);
OtaPlatformUserUpdateCmd otaUpdateCmd = new OtaPlatformUserUpdateCmd();
otaUpdateCmd.setAccount(user.getUsername());
otaUpdateCmd.setTenantName(user.getUsername());
otaUpdateCmd.setPassword(user.getPassword());
log.info("修改用戶信息调用GBS请求:{}",otaUpdateCmd.toString());
Response response = tenantFacade.updateOtaPlatformUser(otaUpdateCmd);
log.info("修改用戶信息调用GBS请求返回:{}",response.toString());
}
@Override
public void changeCompanyName(Long userId, String newCorpName) {
SysUserDO user = sysUserRepository.getById(userId);
user.setName(newCorpName);
user.setPassword(new SimpleHash("SHA-1",newCorpName,"Aa@123456789").toHex());
sysUserRepository.updateById(user);
}
}

View File

@ -1,138 +0,0 @@
package com.zcloud.basic.info.persistence.dataobject;
import com.baomidou.mybatisplus.annotation.*;
import com.jjb.saas.framework.repository.basedo.BaseDO;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
* web-infrastructure
*
* @Author zhaokai
* @Date 2025-10-28 16:42:36
*/
@Data
@TableName("user")
//@EqualsAndHashCode(callSuper = true)
public class SysUserDO extends BaseDO {
//用户id
@ApiModelProperty(value = "用户id")
private String userId;
//用户名
@ApiModelProperty(value = "用户名")
private String username;
//密码
@ApiModelProperty(value = "密码")
private String password;
//姓名
@ApiModelProperty(value = "姓名")
private String name;
//企业
@ApiModelProperty(value = "企业")
private Long corpinfoId;
//部门id
@ApiModelProperty(value = "部门id")
private Long departmentId;
//角色id
@ApiModelProperty(value = "角色id")
private String roleIds;
//1监管2企业3相关方
@ApiModelProperty(value = "1监管2企业3相关方")
private String userType;
//状态0.正常 99.锁定 2密码错误次数超过当天限制
@ApiModelProperty(value = "状态0.正常 99.锁定 2密码错误次数超过当天限制")
private int status;
@ApiModelProperty(value = "1主账号0个人账户")
private int mainCorp;
//邮箱
@ApiModelProperty(value = "邮箱")
private String email;
//编码
@ApiModelProperty(value = "编码")
private String number;
//电话
@ApiModelProperty(value = "电话")
private String phone;
//性别0男1女
@ApiModelProperty(value = "性别0男1女")
private String sex;
//民族
@ApiModelProperty(value = "民族")
private String nation;
//政治面貌
@ApiModelProperty(value = "政治面貌")
private String politicalOutlook;
//身份证号
@ApiModelProperty(value = "身份证号")
private String userIdCard;
//出生年月
@ApiModelProperty(value = "出生年月")
private String dateOfBirth;
//婚姻状况
@ApiModelProperty(value = "婚姻状况")
private String maritalstatus;
//入党时间
@ApiModelProperty(value = "入党时间")
private String politicalTime;
//政治面貌
@ApiModelProperty(value = "政治面貌")
private String politicalStatus;
//人员头像数据前缀
@ApiModelProperty(value = "人员头像数据前缀")
private String useravatarprefix;
//人员头像数据
@ApiModelProperty(value = "人员头像数据")
private String useravatarurl;
//文化程度
@ApiModelProperty(value = "文化程度")
private String degreeOfEducation;
//职务
@ApiModelProperty(value = "职务")
private String duties;
//职务级别
@ApiModelProperty(value = "职务级别")
private String dutiesLevel;
//入职日期
@ApiModelProperty(value = "入职日期")
private String entryDate;
//参加工作日期
@ApiModelProperty(value = "参加工作日期")
private String workingDate;
//在职情况
@ApiModelProperty(value = "在职情况")
private String incumbency;
//户口所在地
@ApiModelProperty(value = "户口所在地")
private String hklocal;
//现住址
@ApiModelProperty(value = "现住址")
private String address;
//职称
@ApiModelProperty(value = "职称")
private String title;
//岗位
@ApiModelProperty(value = "岗位")
private String postId;
//人员在部门中的排序
@ApiModelProperty(value = "人员在部门中的排序")
private Integer sort;
//所属省
@ApiModelProperty(value = "所属省")
private String province;
//所属市
@ApiModelProperty(value = "所属市")
private String city;
//所属区县
@ApiModelProperty(value = "所属区县")
private String country;
//所属乡镇
@ApiModelProperty(value = "所属乡镇")
private String village;
}

View File

@ -1,17 +0,0 @@
package com.zcloud.basic.info.persistence.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.zcloud.basic.info.persistence.dataobject.SysUserDO;
import org.apache.ibatis.annotations.Mapper;
/**
* web-infrastructure
*
* @Author zhaokai
* @Date 2025-10-28 16:42:36
*/
@Mapper
public interface SysUserMapper extends BaseMapper<SysUserDO> {
}

View File

@ -1,18 +0,0 @@
package com.zcloud.basic.info.persistence.repository;
import com.alibaba.cola.dto.PageResponse;
import com.jjb.saas.framework.repository.repo.BaseRepository;
import com.zcloud.basic.info.persistence.dataobject.SysUserDO;
import java.util.Map;
/**
* web-infrastructure
*
* @Author zhaokai
* @Date 2025-10-28 16:42:37
*/
public interface SysUserRepository extends BaseRepository<SysUserDO> {
PageResponse<SysUserDO> listPage(Map<String, Object> parmas);
}

View File

@ -1,39 +0,0 @@
package com.zcloud.basic.info.persistence.repository.impl;
import com.alibaba.cola.dto.PageResponse;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.jjb.saas.framework.repository.common.PageHelper;
import com.jjb.saas.framework.repository.repo.impl.BaseRepositoryImpl;
import com.zcloud.basic.info.persistence.dataobject.SysUserDO;
import com.zcloud.basic.info.persistence.mapper.SysUserMapper;
import com.zcloud.basic.info.persistence.repository.SysUserRepository;
import com.zcloud.basic.info.utils.Query;
import com.zcloud.gbscommon.utils.PageQueryHelper;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import java.util.Map;
/**
* web-infrastructure
*
* @Author zhaokai
* @Date 2025-10-28 16:42:37
*/
@Service
@RequiredArgsConstructor
public class SysUserRepositoryImpl extends BaseRepositoryImpl<SysUserMapper, SysUserDO> implements SysUserRepository {
private final SysUserMapper sysUserMapper;
@Override
public PageResponse<SysUserDO> listPage(Map<String, Object> parmas) {
IPage<SysUserDO> iPage = new Query<SysUserDO>().getPage(parmas);
QueryWrapper<SysUserDO> queryWrapper = new QueryWrapper<>();
queryWrapper = PageQueryHelper.createPageQueryWrapper(queryWrapper, parmas);
queryWrapper.orderByDesc("create_time");
IPage<SysUserDO> result = sysUserMapper.selectPage(iPage, queryWrapper);
return PageHelper.pageToResponse(result, result.getRecords());
}
}

View File

@ -1,8 +0,0 @@
<?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.zcloud.basic.info.persistence.mapper.SysUserMapper">
</mapper>