Merge remote-tracking branch 'origin/main' into main

main
SondonYong 2025-11-04 15:34:36 +08:00
commit fe244d3596
40 changed files with 1068 additions and 1404 deletions

View File

@ -1,182 +0,0 @@
package com.zcloud.basic.info.web;
import com.alibaba.cola.dto.MultiResponse;
import com.alibaba.cola.dto.PageResponse;
import com.alibaba.cola.dto.Response;
import com.alibaba.cola.dto.SingleResponse;
import com.alibaba.cola.exception.BizException;
import com.jjb.saas.framework.auth.model.SSOUser;
import com.jjb.saas.framework.auth.utils.AuthContext;
import com.jjb.saas.system.client.dept.request.DeptAddCmd;
import com.jjb.saas.system.client.role.facade.RoleFacade;
import com.jjb.saas.system.client.role.response.RoleCO;
import com.jjb.saas.system.client.user.facade.UserFacade;
import com.jjb.saas.system.client.user.request.FacadeUserAddCmd;
import com.zcloud.basic.info.api.SysUserServiceI;
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 com.zcloud.gbscommon.utils.Smb;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
import org.apache.dubbo.config.annotation.DubboReference;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* web-adapter
*
* @Author zhaokai
* @Date 2025-10-28 15:44:24
*/
@Api(tags = "用户信息表")
@RequestMapping("/${application.gateway}/sysUser")
@RestController
@AllArgsConstructor
public class SysUserController {
private final SysUserServiceI sysUserService;
@DubboReference(check = false)
private UserFacade userFacade;
@DubboReference(check = false)
private RoleFacade roleFacade;
@ApiOperation("新增-企业主账号")
@PostMapping("/saveCorpAccount")
// public SingleResponse<SysUserCO> add(@Validated @RequestBody SysUserAddCmd cmd) {
public Response saveCorpAccount(@Validated @RequestBody SysCorpUserAddCmd cmd) {
MultiResponse<RoleCO> roleCOMultiResponse = roleFacade.listRoles();
// List<RoleCO> data = roleCOMultiResponse.getData();
// FacadeUserAddCmd facadeUserAddCmd = new FacadeUserAddCmd();
// facadeUserAddCmd.setAccount("wxsaas");
// facadeUserAddCmd.setName("wx");
// facadeUserAddCmd.setAppKey("722091ff53dd4abba078c2a00efd4a42");
// facadeUserAddCmd.setPassword("wxsaas");
// facadeUserAddCmd.setRoleTypeEnum("ORG_ADMIN");
// todo 设置 用户id 用于登录
// SingleResponse<Long> longSingleResponse = userFacade.addUser(facadeUserAddCmd);
// longSingleResponse.getData();
System.out.println(cmd);
List<RoleCO> data = roleCOMultiResponse.getData();
FacadeUserAddCmd facadeUserAddCmd = new FacadeUserAddCmd();
facadeUserAddCmd.setAccount(cmd.getUsername());
facadeUserAddCmd.setName(cmd.getUsername());
facadeUserAddCmd.setAppKey("e6ab3c9abda747b39d7cc12b6dc0f5a0");
facadeUserAddCmd.setPassword("Aa12345678");
try {
Map<String, String> collect = data.stream().collect(Collectors.toMap(RoleCO::getRoleName, RoleCO::getRoleTypeEnum));
facadeUserAddCmd.setRoleTypeEnum("2".equals(cmd.getUserType()) ? collect.get("分公司主账号") : collect.get("相关方主账号"));
// todo 新增用户 GBS不适配功能
// todo 新增二级租户
} catch (Exception e) {
// 有重复的角色名称 抛异常 联系管理员
throw new BizException("监测到角色名称重复,请联系管理员。");
}
sysUserService.addCorpAccount(cmd);
return Response.buildSuccess();
}
@ApiOperation("重置-企业主账号密码")
@PutMapping("/resetCorpAccountPassword/{corpinfoId}")
// public SingleResponse<SysUserCO> add(@Validated @RequestBody SysUserAddCmd cmd) {
public Response resetCorpAccountPassword(@PathVariable("corpinfoId") Long corpinfoId) {
// todo GBS不适配功能
// FacadeUserAddCmd facadeUserAddCmd = new FacadeUserAddCmd();
// facadeUserAddCmd.setAccount(cmd.getUsername());
// facadeUserAddCmd.setName(cmd.getUsername());
// facadeUserAddCmd.setAppKey("e6ab3c9abda747b39d7cc12b6dc0f5a0");
// facadeUserAddCmd.setPassword("Aa12345678");
return Response.buildSuccess();
}
@ApiOperation("删除-企业主账号")
@PutMapping("/removeCorpAccount/{corpinfoId}")
public Response removeCorpAccount(@PathVariable("corpinfoId") Long corpinfoId) {
// todo GBS不适配功能
return Response.buildSuccess();
}
@ApiOperation("修改停用启用状态-企业主账号")
@PutMapping("/enabledCorpAccount/{corpinfoId}")
public Response enabledCorpAccount(@PathVariable("corpinfoId") Long corpinfoId) {
// todo GBS不适配功能
return Response.buildSuccess();
}
@ApiOperation("新增")
@PostMapping("/save")
// public SingleResponse<SysUserCO> add(@Validated @RequestBody SysUserAddCmd cmd) {
public SingleResponse<SysUserCO> add(@RequestBody SysUserAddCmd cmd) {
SSOUser ssoUser = AuthContext.getCurrentUser();
MultiResponse<RoleCO> roleCOMultiResponse = roleFacade.listRoles();
List<RoleCO> data = roleCOMultiResponse.getData();
FacadeUserAddCmd facadeUserAddCmd = new FacadeUserAddCmd();
facadeUserAddCmd.setAccount("wxsaas");
facadeUserAddCmd.setName("wx");
facadeUserAddCmd.setAppKey("e6ab3c9abda747b39d7cc12b6dc0f5a0");
facadeUserAddCmd.setPassword("Aa12345678");
facadeUserAddCmd.setRoleTypeEnum("FGS_DEPART_ADMIN");
// todo 设置 用户id 用于登录
SingleResponse<Long> longSingleResponse = userFacade.addUser(facadeUserAddCmd);
cmd.setUid(longSingleResponse.getData());
return sysUserService.add(cmd);
}
@ApiOperation("分页")
@PostMapping("/list")
public PageResponse<SysUserCO> page(@RequestBody SysUserPageQry qry) {
return sysUserService.listPage(qry);
}
@ApiOperation("所有数据")
@GetMapping("/listAll")
public MultiResponse<SysUserCO> listAll() {
return MultiResponse.of(new ArrayList<SysUserCO>());
}
@ApiOperation("详情")
@GetMapping("/{id}")
public SingleResponse<SysUserCO> getInfoById(@PathVariable("id") Long id) {
return SingleResponse.of(new SysUserCO());
}
@ApiOperation("删除")
@DeleteMapping("/{id}")
public Response remove(@PathVariable("id") Long id) {
sysUserService.remove(id);
return SingleResponse.buildSuccess();
}
@ApiOperation("删除多个")
@DeleteMapping("/ids")
public Response removeBatch(@RequestParam Long[] ids) {
sysUserService.removeBatch(ids);
return SingleResponse.buildSuccess();
}
@ApiOperation("修改")
@PutMapping("/edit")
public SingleResponse edit(@Validated @RequestBody SysUserUpdateCmd sysUserUpdateCmd) {
sysUserService.edit(sysUserUpdateCmd);
return SingleResponse.buildSuccess();
}
}

View File

@ -0,0 +1,81 @@
package com.zcloud.basic.info.web;
import com.alibaba.cola.dto.MultiResponse;
import com.alibaba.cola.dto.PageResponse;
import com.alibaba.cola.dto.Response;
import com.alibaba.cola.dto.SingleResponse;
import com.jjb.saas.framework.auth.model.SSOUser;
import com.jjb.saas.framework.auth.utils.AuthContext;
import com.zcloud.basic.info.api.UserServiceI;
import com.zcloud.basic.info.dto.UserAddCmd;
import com.zcloud.basic.info.dto.UserPageQry;
import com.zcloud.basic.info.dto.UserUpdateCmd;
import com.zcloud.basic.info.dto.clientobject.UserCO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
/**
* web-adapter
* @Author zhangyue
* @Date 2025-11-04 14:07:33
*/
@Api(tags = "用户信息表")
@RequestMapping("/${application.gateway}/user")
@RestController
@AllArgsConstructor
public class UserController {
private final UserServiceI userService;
@ApiOperation("新增")
@PostMapping("/save")
public SingleResponse<UserCO> add(@Validated @RequestBody UserAddCmd cmd) {
SSOUser ssoUser = AuthContext.getCurrentUser();
return userService.add(cmd);
}
@ApiOperation("分页")
@PostMapping("/list")
public PageResponse<UserCO> page(@RequestBody UserPageQry qry) {
return userService.listPage(qry);
}
@ApiOperation("所有数据")
@GetMapping("/listAll")
public MultiResponse<UserCO> listAll() {
return MultiResponse.of(new ArrayList<UserCO>());
}
@ApiOperation("详情")
@GetMapping("/{id}")
public SingleResponse<UserCO> getInfoById(@PathVariable("id") Long id) {
return SingleResponse.of(new UserCO());
}
@ApiOperation("删除")
@DeleteMapping("/{id}")
public Response remove(@PathVariable("id") Long id) {
userService.remove(id);
return SingleResponse.buildSuccess();
}
@ApiOperation("删除多个")
@DeleteMapping("/ids")
public Response removeBatch(@RequestParam Long[] ids) {
userService.removeBatch(ids);
return SingleResponse.buildSuccess();
}
@ApiOperation("修改")
@PutMapping("/edit")
public SingleResponse edit(@Validated @RequestBody UserUpdateCmd userUpdateCmd) {
userService.edit(userUpdateCmd);
return SingleResponse.buildSuccess();
}
}

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,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

@ -0,0 +1,41 @@
package com.zcloud.basic.info.command;
import com.alibaba.cola.exception.BizException;
import com.zcloud.basic.info.domain.gateway.UserGateway;
import com.zcloud.basic.info.domain.model.UserE;
import com.zcloud.basic.info.dto.UserAddCmd;
import lombok.AllArgsConstructor;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
/**
* web-app
* @Author zhangyue
* @Date 2025-11-04 14:07:21
*/
@Component
@AllArgsConstructor
public class UserAddExe {
private final UserGateway userGateway;
@Transactional(rollbackFor = Exception.class)
public boolean execute(UserAddCmd cmd) {
UserE userE = new UserE();
BeanUtils.copyProperties(cmd, userE);
boolean res = false;
try {
res = userGateway.add(userE);
} catch (Exception e) {
throw new RuntimeException(e);
}
if (!res) {
throw new BizException("保存失败");
}
return true;
}
}

View File

@ -1,27 +1,28 @@
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.gateway.UserGateway;
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
*/
* web-app
* @Author zhangyue
* @Date 2025-11-04 14:07:36
*/
@Component
@AllArgsConstructor
public class SysUserRemoveExe {
private final SysUserGateway sysUserGateway;
public class UserRemoveExe {
private final UserGateway userGateway;
@Transactional(rollbackFor = Exception.class)
public boolean execute(Long id) {
boolean res = sysUserGateway.deletedSysUserById(id);
if (!res) {
boolean res = userGateway.deletedUserById(id);
if(!res){
throw new BizException("删除失败");
}
return true;
@ -29,8 +30,8 @@ public class SysUserRemoveExe {
@Transactional(rollbackFor = Exception.class)
public boolean execute(Long[] ids) {
boolean res = sysUserGateway.deletedSysUserByIds(ids);
if (!res) {
boolean res = userGateway.deletedUserByIds(ids);
if(!res){
throw new BizException("删除失败");
}
return true;

View File

@ -0,0 +1,35 @@
package com.zcloud.basic.info.command;
import com.alibaba.cola.exception.BizException;
import com.zcloud.basic.info.domain.gateway.UserGateway;
import com.zcloud.basic.info.domain.model.UserE;
import com.zcloud.basic.info.dto.UserUpdateCmd;
import lombok.AllArgsConstructor;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
/**
* web-app
* @Author zhangyue
* @Date 2025-11-04 14:07:38
*/
@Component
@AllArgsConstructor
public class UserUpdateExe {
private final UserGateway userGateway;
@Transactional(rollbackFor = Exception.class)
public void execute(UserUpdateCmd userUpdateCmd) {
UserE userE = new UserE();
BeanUtils.copyProperties(userUpdateCmd, userE);
boolean res = userGateway.update(userE);
if (!res) {
throw new BizException("修改失败");
}
}
}

View File

@ -5,6 +5,7 @@ import com.zcloud.basic.info.dto.clientobject.DepartmentTreeInfoCO;
import com.zcloud.basic.info.persistence.dataobject.DepartmentDO;
import com.zcloud.gbscommon.zclouddepartment.response.ZcloudDepartmentInfoCo;
import org.mapstruct.Mapper;
import org.mapstruct.Mapping;
import java.util.List;

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

@ -0,0 +1,24 @@
package com.zcloud.basic.info.command.convertor;
import com.zcloud.basic.info.dto.clientobject.UserCO;
import com.zcloud.basic.info.persistence.dataobject.UserDO;
import org.mapstruct.Mapper;
import java.util.List;
/**
* web-app
* @Author zhangyue
* @Date 2025-11-04 14:07:34
*/
@Mapper(componentModel = "spring")
public interface UserCoConvertor {
/**
* @param userDOs
* @return
*/
List<UserCO> converDOsToCOs(List<UserDO> userDOs);
}

View File

@ -15,6 +15,7 @@ import com.zcloud.basic.info.dto.clientobject.DepartmentTreeInfoCO;
import com.zcloud.basic.info.persistence.dataobject.DepartmentDO;
import com.zcloud.basic.info.persistence.repository.DepartmentRepository;
import com.zcloud.gbscommon.utils.PageQueryHelper;
import com.zcloud.gbscommon.utils.Tools;
import lombok.AllArgsConstructor;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
@ -50,37 +51,18 @@ public class DepartmentQueryExe {
}
public List<DepartmentTreeInfoCO> listTree(DepartmentTreeQry departmentQry) {
if(Objects.isNull(departmentQry.getEqCorpinfoId())){
if (Objects.isNull(departmentQry.getEqCorpinfoId())) {
departmentQry.setEqCorpinfoId(AuthContext.getTenantId());
}
Map<String, Object> parmas = PageQueryHelper.toHashMap(departmentQry);
List<DepartmentDO> pageResponse = departmentRepository.listTree(parmas);
if(CollUtil.isEmpty(pageResponse)) {
if (CollUtil.isEmpty(pageResponse)) {
return Collections.emptyList();
}
List<DepartmentTreeInfoCO> examCenterCOS = departmentCoConvertor.converDOsToInfoCOs(pageResponse);
Map<Long, List<DepartmentTreeInfoCO>> childrenMap = new HashMap<>();
for (DepartmentTreeInfoCO dept : examCenterCOS) {
childrenMap
.computeIfAbsent(dept.getParentId(), k -> new ArrayList<>())
.add(dept);
}
return buildTree(childrenMap, 0L);
return Tools.buildEntityTree(examCenterCOS, "id", "parentId", "childrenList");
}
private List<DepartmentTreeInfoCO> buildTree(Map<Long, List<DepartmentTreeInfoCO>> childrenMap, Long parentId) {
List<DepartmentTreeInfoCO> nodes = childrenMap.get(parentId);
if (nodes == null) {
return Collections.emptyList();
}
for (DepartmentTreeInfoCO node : nodes) {
// 递归构建子节点
List<DepartmentTreeInfoCO> children = buildTree(childrenMap, node.getId());
node.setChildrenList(children);
}
return nodes;
}
public DepartmentCO info(Long id) {
DepartmentDO info = departmentRepository.getById(id);

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

@ -0,0 +1,42 @@
package com.zcloud.basic.info.command.query;
import com.alibaba.cola.dto.PageResponse;
import com.zcloud.basic.info.command.convertor.UserCoConvertor;
import com.zcloud.basic.info.dto.UserPageQry;
import com.zcloud.basic.info.dto.clientobject.UserCO;
import com.zcloud.basic.info.persistence.dataobject.UserDO;
import com.zcloud.basic.info.persistence.repository.UserRepository;
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 zhangyue
* @Date 2025-11-04 14:07:36
*/
@Component
@AllArgsConstructor
public class UserQueryExe {
private final UserRepository userRepository;
private final UserCoConvertor userCoConvertor;
/**
*
*
* @param userPageQry
* @return
*/
public PageResponse<UserCO> execute(UserPageQry userPageQry) {
Map<String,Object> params = PageQueryHelper.toHashMap(userPageQry);
PageResponse<UserDO> pageResponse = userRepository.listPage(params);
List<UserCO> examCenterCOS = userCoConvertor.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

@ -0,0 +1,58 @@
package com.zcloud.basic.info.service;
import com.alibaba.cola.dto.PageResponse;
import com.alibaba.cola.dto.SingleResponse;
import com.zcloud.basic.info.api.UserServiceI;
import com.zcloud.basic.info.command.UserAddExe;
import com.zcloud.basic.info.command.UserRemoveExe;
import com.zcloud.basic.info.command.UserUpdateExe;
import com.zcloud.basic.info.command.query.UserQueryExe;
import com.zcloud.basic.info.dto.UserAddCmd;
import com.zcloud.basic.info.dto.UserPageQry;
import com.zcloud.basic.info.dto.UserUpdateCmd;
import com.zcloud.basic.info.dto.clientobject.UserCO;
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Service;
/**
* web-app
* @Author zhangyue
* @Date 2025-11-04 14:07:37
*/
@Service
@AllArgsConstructor
public class UserServiceImpl implements UserServiceI {
private final UserAddExe userAddExe;
private final UserUpdateExe userUpdateExe;
private final UserRemoveExe userRemoveExe;
private final UserQueryExe userQueryExe;
@Override
public PageResponse<UserCO> listPage(UserPageQry qry){
return userQueryExe.execute(qry);
}
@Override
public SingleResponse add(UserAddCmd cmd) {
userAddExe.execute(cmd);
return SingleResponse.buildSuccess();
}
@Override
public void edit(UserUpdateCmd userUpdateCmd) {
userUpdateExe.execute(userUpdateCmd);
}
@Override
public void remove(Long id) {
userRemoveExe.execute(id);
}
@Override
public void removeBatch(Long[] ids) {
userRemoveExe.execute(ids);
}
}

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

@ -0,0 +1,27 @@
package com.zcloud.basic.info.api;
import com.alibaba.cola.dto.PageResponse;
import com.alibaba.cola.dto.SingleResponse;
import com.zcloud.basic.info.dto.UserAddCmd;
import com.zcloud.basic.info.dto.UserPageQry;
import com.zcloud.basic.info.dto.UserUpdateCmd;
import com.zcloud.basic.info.dto.clientobject.UserCO;
/**
* web-client
* @Author zhangyue
* @Date 2025-11-04 14:07:37
*/
public interface UserServiceI {
PageResponse<UserCO> listPage(UserPageQry qry);
SingleResponse<UserCO> add(UserAddCmd cmd);
void edit(UserUpdateCmd cmd);
void remove(Long id);
void removeBatch(Long[] ids);
}

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,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

@ -0,0 +1,133 @@
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;
/**
* web-client
*
* @Author zhangyue
* @Date 2025-11-04 14:07:12
*/
@EqualsAndHashCode(callSuper = true)
@Data
@NoArgsConstructor
@AllArgsConstructor
public class UserAddCmd extends Command {
@ApiModelProperty(value = "业务主键id老系统id", name = "userId", required = true)
@NotEmpty(message = "业务主键id老系统id不能为空")
private String userId;
@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 = "corpinfoId", required = true)
@NotNull(message = "企业id不能为空")
private Long corpinfoId;
@ApiModelProperty(value = "是否主账号1是0否", name = "mainCorpFlag", required = true)
@NotNull(message = "是否主账号1是0否不能为空")
private Integer mainCorpFlag;
@ApiModelProperty(value = "用户类型,1监管2企业3相关方", name = "userType", required = true)
@NotNull(message = "用户类型,1监管2企业3相关方不能为空")
private Integer userType;
@ApiModelProperty(value = "部门id", name = "departmentId", required = true)
@NotNull(message = "部门id不能为空")
private Long departmentId;
@ApiModelProperty(value = "岗位id", name = "postId", required = true)
@NotNull(message = "岗位id不能为空")
private Long postId;
@ApiModelProperty(value = "角色id", name = "roleId", required = true)
@NotNull(message = "角色id不能为空")
private Long roleId;
@ApiModelProperty(value = "邮箱", name = "email", required = true)
@NotEmpty(message = "邮箱不能为空")
private String email;
@ApiModelProperty(value = "人员类型编码(主要负责人等)", name = "personnelType", required = true)
@NotEmpty(message = "人员类型编码(主要负责人等)不能为空")
private String personnelType;
@ApiModelProperty(value = "人员类型翻译", name = "personnelTypeName", required = true)
@NotEmpty(message = "人员类型翻译不能为空")
private String personnelTypeName;
@ApiModelProperty(value = "民族编码问一下有没有组件", name = "nation", required = true)
@NotEmpty(message = "民族编码问一下有没有组件不能为空")
private String nation;
@ApiModelProperty(value = "民族名称", name = "nationName", required = true)
@NotEmpty(message = "民族名称不能为空")
private String nationName;
@ApiModelProperty(value = "身份证号", name = "userIdCard", required = true)
@NotEmpty(message = "身份证号不能为空")
private String userIdCard;
@ApiModelProperty(value = "人脸头像url", name = "userAvatarUrl", required = true)
@NotEmpty(message = "人脸头像url不能为空")
private String userAvatarUrl;
@ApiModelProperty(value = "现住址", name = "currentAddress", required = true)
@NotEmpty(message = "现住址不能为空")
private String currentAddress;
@ApiModelProperty(value = "户口所在地", name = "locationAddress", required = true)
@NotEmpty(message = "户口所在地不能为空")
private String locationAddress;
@ApiModelProperty(value = "人员在部门中的排序", name = "sort", required = true)
@NotNull(message = "人员在部门中的排序不能为空")
private Integer sort;
@ApiModelProperty(value = "是否部门领导0否1是", name = "departmentLeaderFlag", required = true)
@NotNull(message = "是否部门领导0否1是不能为空")
private Integer departmentLeaderFlag;
@ApiModelProperty(value = "是否分管领导0否1是", name = "deputyLeaderFlag", required = true)
@NotNull(message = "是否分管领导0否1是不能为空")
private Integer deputyLeaderFlag;
@ApiModelProperty(value = "文化程度 数据字典", name = "culturalLevel", required = true)
@NotEmpty(message = "文化程度 数据字典不能为空")
private String culturalLevel;
@ApiModelProperty(value = "文化程度名称", name = "culturalLevelName", required = true)
@NotEmpty(message = "文化程度名称不能为空")
private String culturalLevelName;
@ApiModelProperty(value = "婚姻状态", name = "maritalStatus", required = true)
@NotEmpty(message = "婚姻状态不能为空")
private String maritalStatus;
@ApiModelProperty(value = "婚姻状态名称", name = "maritalStatusName", required = true)
@NotEmpty(message = "婚姻状态名称不能为空")
private String maritalStatusName;
@ApiModelProperty(value = "政治面貌", name = "politicalAffiliation", required = true)
@NotEmpty(message = "政治面貌不能为空")
private String politicalAffiliation;
@ApiModelProperty(value = "政治面貌名称", name = "politicalAffiliationName", required = true)
@NotEmpty(message = "政治面貌名称不能为空")
private String politicalAffiliationName;
}

View File

@ -7,11 +7,11 @@ import lombok.Data;
/**
* web-client
*
* @Author zhaokai
* @Date 2025-10-28 16:42:37
* @Author zhangyue
* @Date 2025-11-04 14:07:36
*/
@Data
public class SysUserPageQry extends PageQuery {
public class UserPageQry extends PageQuery {
/**
* ,
@ -24,6 +24,5 @@ public class SysUserPageQry extends PageQuery {
* - `ne`: SQL!=
*/
private String likeUserId;
private boolean needTotalCount = false;
}

View File

@ -0,0 +1,108 @@
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;
/**
* web-client
* @Author zhangyue
* @Date 2025-11-04 14:07:38
*/
@EqualsAndHashCode(callSuper = true)
@Data
@NoArgsConstructor
@AllArgsConstructor
public class UserUpdateCmd extends Command {
@ApiModelProperty(value = "GBS用户id", name = "id", required = true)
@NotNull(message = "GBS用户id不能为空")
private Long id;
@ApiModelProperty(value = "业务主键id老系统id", name = "userId", required = true)
@NotEmpty(message = "业务主键id老系统id不能为空")
private String userId;
@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 = "corpinfoId", required = true)
@NotNull(message = "企业id不能为空")
private Long corpinfoId;
@ApiModelProperty(value = "是否主账号1是0否", name = "mainCorpFlag", required = true)
@NotNull(message = "是否主账号1是0否不能为空")
private Integer mainCorpFlag;
@ApiModelProperty(value = "用户类型,1监管2企业3相关方", name = "userType", required = true)
@NotNull(message = "用户类型,1监管2企业3相关方不能为空")
private Integer userType;
@ApiModelProperty(value = "部门id", name = "departmentId", required = true)
@NotNull(message = "部门id不能为空")
private Long departmentId;
@ApiModelProperty(value = "岗位id", name = "postId", required = true)
@NotNull(message = "岗位id不能为空")
private Long postId;
@ApiModelProperty(value = "角色id", name = "roleId", required = true)
@NotNull(message = "角色id不能为空")
private Long roleId;
@ApiModelProperty(value = "邮箱", name = "email", required = true)
@NotEmpty(message = "邮箱不能为空")
private String email;
@ApiModelProperty(value = "人员类型编码(主要负责人等)", name = "personnelType", required = true)
@NotEmpty(message = "人员类型编码(主要负责人等)不能为空")
private String personnelType;
@ApiModelProperty(value = "人员类型翻译", name = "personnelTypeName", required = true)
@NotEmpty(message = "人员类型翻译不能为空")
private String personnelTypeName;
@ApiModelProperty(value = "民族编码问一下有没有组件", name = "nation", required = true)
@NotEmpty(message = "民族编码问一下有没有组件不能为空")
private String nation;
@ApiModelProperty(value = "民族名称", name = "nationName", required = true)
@NotEmpty(message = "民族名称不能为空")
private String nationName;
@ApiModelProperty(value = "身份证号", name = "userIdCard", required = true)
@NotEmpty(message = "身份证号不能为空")
private String userIdCard;
@ApiModelProperty(value = "人脸头像url", name = "userAvatarUrl", required = true)
@NotEmpty(message = "人脸头像url不能为空")
private String userAvatarUrl;
@ApiModelProperty(value = "现住址", name = "currentAddress", required = true)
@NotEmpty(message = "现住址不能为空")
private String currentAddress;
@ApiModelProperty(value = "户口所在地", name = "locationAddress", required = true)
@NotEmpty(message = "户口所在地不能为空")
private String locationAddress;
@ApiModelProperty(value = "人员在部门中的排序", name = "sort", required = true)
@NotNull(message = "人员在部门中的排序不能为空")
private Integer sort;
@ApiModelProperty(value = "是否部门领导0否1是", name = "departmentLeaderFlag", required = true)
@NotNull(message = "是否部门领导0否1是不能为空")
private Integer departmentLeaderFlag;
@ApiModelProperty(value = "是否分管领导0否1是", name = "deputyLeaderFlag", required = true)
@NotNull(message = "是否分管领导0否1是不能为空")
private Integer deputyLeaderFlag;
@ApiModelProperty(value = "文化程度 数据字典", name = "culturalLevel", required = true)
@NotEmpty(message = "文化程度 数据字典不能为空")
private String culturalLevel;
@ApiModelProperty(value = "文化程度名称", name = "culturalLevelName", required = true)
@NotEmpty(message = "文化程度名称不能为空")
private String culturalLevelName;
@ApiModelProperty(value = "婚姻状态", name = "maritalStatus", required = true)
@NotEmpty(message = "婚姻状态不能为空")
private String maritalStatus;
@ApiModelProperty(value = "婚姻状态名称", name = "maritalStatusName", required = true)
@NotEmpty(message = "婚姻状态名称不能为空")
private String maritalStatusName;
@ApiModelProperty(value = "政治面貌", name = "politicalAffiliation", required = true)
@NotEmpty(message = "政治面貌不能为空")
private String politicalAffiliation;
@ApiModelProperty(value = "政治面貌名称", name = "politicalAffiliationName", required = true)
@NotEmpty(message = "政治面貌名称不能为空")
private String politicalAffiliationName;
}

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

@ -0,0 +1,142 @@
package com.zcloud.basic.info.dto.clientobject;
import com.alibaba.cola.dto.ClientObject;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
* web-client
*
* @Author zhangyue
* @Date 2025-11-04 14:07:33
*/
@Data
public class UserCO extends ClientObject {
//GBS用户id
@ApiModelProperty(value = "GBS用户id")
private Long id;
//业务主键id老系统id
@ApiModelProperty(value = "业务主键id老系统id")
private String userId;
//登录账号
@ApiModelProperty(value = "登录账号")
private String username;
//姓名
@ApiModelProperty(value = "姓名")
private String name;
//企业id
@ApiModelProperty(value = "企业id")
private Long corpinfoId;
//是否主账号1是0否
@ApiModelProperty(value = "是否主账号1是0否")
private Integer mainCorpFlag;
//用户类型,1监管2企业3相关方
@ApiModelProperty(value = "用户类型,1监管2企业3相关方")
private Integer userType;
//部门id
@ApiModelProperty(value = "部门id")
private Long departmentId;
//岗位id
@ApiModelProperty(value = "岗位id")
private Long postId;
//角色id
@ApiModelProperty(value = "角色id")
private Long roleId;
//邮箱
@ApiModelProperty(value = "邮箱")
private String email;
//人员类型编码(主要负责人等)
@ApiModelProperty(value = "人员类型编码(主要负责人等)")
private String personnelType;
//人员类型翻译
@ApiModelProperty(value = "人员类型翻译")
private String personnelTypeName;
//民族编码问一下有没有组件
@ApiModelProperty(value = "民族编码问一下有没有组件")
private String nation;
//民族名称
@ApiModelProperty(value = "民族名称")
private String nationName;
//身份证号
@ApiModelProperty(value = "身份证号")
private String userIdCard;
//人脸头像url
@ApiModelProperty(value = "人脸头像url")
private String userAvatarUrl;
//现住址
@ApiModelProperty(value = "现住址")
private String currentAddress;
//户口所在地
@ApiModelProperty(value = "户口所在地")
private String locationAddress;
//人员在部门中的排序
@ApiModelProperty(value = "人员在部门中的排序")
private Integer sort;
//乐观锁
@ApiModelProperty(value = "乐观锁")
private Integer version;
//创建人
@ApiModelProperty(value = "创建人")
private Long createId;
//创建人姓名
@ApiModelProperty(value = "创建人姓名")
private String createName;
//创建时间
@ApiModelProperty(value = "创建时间")
@JsonFormat(pattern = "yyyy-MM-dd")
private Date createTime;
//更新人
@ApiModelProperty(value = "更新人")
private Long updateId;
//修改人名称
@ApiModelProperty(value = "修改人名称")
private String updateName;
//更新时间
@ApiModelProperty(value = "更新时间")
@JsonFormat(pattern = "yyyy-MM-dd")
private Date updateTime;
//描述
@ApiModelProperty(value = "描述")
private String remarks;
//是否删除
@ApiModelProperty(value = "是否删除")
private String deleteEnum;
//租户ID
@ApiModelProperty(value = "租户ID")
private Long tenantId;
//机构ID
@ApiModelProperty(value = "机构ID")
private Long orgId;
//环境
@ApiModelProperty(value = "环境")
private String env;
//是否部门领导0否1是
@ApiModelProperty(value = "是否部门领导0否1是")
private Integer departmentLeaderFlag;
//是否分管领导0否1是
@ApiModelProperty(value = "是否分管领导0否1是")
private Integer deputyLeaderFlag;
//文化程度 数据字典
@ApiModelProperty(value = "文化程度 数据字典")
private String culturalLevel;
//文化程度名称
@ApiModelProperty(value = "文化程度名称")
private String culturalLevelName;
//婚姻状态
@ApiModelProperty(value = "婚姻状态")
private String maritalStatus;
//婚姻状态名称
@ApiModelProperty(value = "婚姻状态名称")
private String maritalStatusName;
//政治面貌
@ApiModelProperty(value = "政治面貌")
private String politicalAffiliation;
//政治面貌名称
@ApiModelProperty(value = "政治面貌名称")
private String politicalAffiliationName;
}

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

@ -0,0 +1,31 @@
package com.zcloud.basic.info.domain.gateway;
import com.zcloud.basic.info.domain.model.UserE;
/**
* web-domain
*
* @Author zhangyue
* @Date 2025-11-04 14:07:35
*/
public interface UserGateway {
/**
*
*/
Boolean add(UserE userE);
/**
*
*/
Boolean update(UserE userE);
/**
*
*/
Boolean deletedUserById(Long id);
Boolean deletedUserByIds(Long[] id);
}

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

@ -0,0 +1,98 @@
package com.zcloud.basic.info.domain.model;
import com.jjb.saas.framework.domain.model.BaseE;
import lombok.Data;
import java.time.LocalDateTime;
import java.util.Date;
/**
* web-domain
*
* @Author zhangyue
* @Date 2025-11-04 14:07:34
*/
@Data
public class UserE extends BaseE {
//GBS用户id
private Long id;
//业务主键id老系统id
private String userId;
//登录账号
private String username;
//姓名
private String name;
//企业id
private Long corpinfoId;
//是否主账号1是0否
private Integer mainCorpFlag;
//用户类型,1监管2企业3相关方
private Integer userType;
//部门id
private Long departmentId;
//岗位id
private Long postId;
//角色id
private Long roleId;
//邮箱
private String email;
//人员类型编码(主要负责人等)
private String personnelType;
//人员类型翻译
private String personnelTypeName;
//民族编码问一下有没有组件
private String nation;
//民族名称
private String nationName;
//身份证号
private String userIdCard;
//人脸头像url
private String userAvatarUrl;
//现住址
private String currentAddress;
//户口所在地
private String locationAddress;
//人员在部门中的排序
private Integer sort;
//乐观锁
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;
//是否部门领导0否1是
private Integer departmentLeaderFlag;
//是否分管领导0否1是
private Integer deputyLeaderFlag;
//文化程度 数据字典
private String culturalLevel;
//文化程度名称
private String culturalLevelName;
//婚姻状态
private String maritalStatus;
//婚姻状态名称
private String maritalStatusName;
//政治面貌
private String politicalAffiliation;
//政治面貌名称
private String politicalAffiliationName;
}

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

@ -0,0 +1,49 @@
package com.zcloud.basic.info.gatewayimpl;
import com.zcloud.basic.info.domain.gateway.UserGateway;
import com.zcloud.basic.info.domain.model.UserE;
import com.zcloud.basic.info.persistence.dataobject.UserDO;
import com.zcloud.basic.info.persistence.repository.UserRepository;
import lombok.AllArgsConstructor;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import java.util.Arrays;
/**
* web-infrastructure
* @Author zhangyue
* @Date 2025-11-04 14:07:35
*/
@Service
@AllArgsConstructor
public class UserGatewayImpl implements UserGateway {
private final UserRepository userRepository;
@Override
public Boolean add(UserE userE) {
UserDO d = new UserDO();
BeanUtils.copyProperties(userE, d);
userRepository.save(d);
return true;
}
@Override
public Boolean update(UserE userE) {
UserDO d = new UserDO();
BeanUtils.copyProperties(userE, d);
userRepository.updateById(d);
return true;
}
@Override
public Boolean deletedUserById(Long id) {
return userRepository.removeById(id);
}
@Override
public Boolean deletedUserByIds(Long[] ids) {
return userRepository.removeByIds(Arrays.asList(ids));
}
}

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

@ -0,0 +1,108 @@
package com.zcloud.basic.info.persistence.dataobject;
import com.baomidou.mybatisplus.annotation.TableName;
import com.jjb.saas.framework.repository.basedo.BaseDO;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
/**
* web-infrastructure
*
* @Author zhangyue
* @Date 2025-11-04 14:07:35
*/
@Data
@TableName("user")
@NoArgsConstructor
@EqualsAndHashCode(callSuper = true)
public class UserDO extends BaseDO {
//业务主键id老系统id
@ApiModelProperty(value = "业务主键id老系统id")
private String userId;
//登录账号
@ApiModelProperty(value = "登录账号")
private String username;
//姓名
@ApiModelProperty(value = "姓名")
private String name;
//企业id
@ApiModelProperty(value = "企业id")
private Long corpinfoId;
//是否主账号1是0否
@ApiModelProperty(value = "是否主账号1是0否")
private Integer mainCorpFlag;
//用户类型,1监管2企业3相关方
@ApiModelProperty(value = "用户类型,1监管2企业3相关方")
private Integer userType;
//部门id
@ApiModelProperty(value = "部门id")
private Long departmentId;
//岗位id
@ApiModelProperty(value = "岗位id")
private Long postId;
//角色id
@ApiModelProperty(value = "角色id")
private Long roleId;
//邮箱
@ApiModelProperty(value = "邮箱")
private String email;
//人员类型编码(主要负责人等)
@ApiModelProperty(value = "人员类型编码(主要负责人等)")
private String personnelType;
//人员类型翻译
@ApiModelProperty(value = "人员类型翻译")
private String personnelTypeName;
//民族编码问一下有没有组件
@ApiModelProperty(value = "民族编码问一下有没有组件")
private String nation;
//民族名称
@ApiModelProperty(value = "民族名称")
private String nationName;
//身份证号
@ApiModelProperty(value = "身份证号")
private String userIdCard;
//人脸头像url
@ApiModelProperty(value = "人脸头像url")
private String userAvatarUrl;
//现住址
@ApiModelProperty(value = "现住址")
private String currentAddress;
//户口所在地
@ApiModelProperty(value = "户口所在地")
private String locationAddress;
//人员在部门中的排序
@ApiModelProperty(value = "人员在部门中的排序")
private Integer sort;
//是否部门领导0否1是
@ApiModelProperty(value = "是否部门领导0否1是")
private Integer departmentLeaderFlag;
//是否分管领导0否1是
@ApiModelProperty(value = "是否分管领导0否1是")
private Integer deputyLeaderFlag;
//文化程度 数据字典
@ApiModelProperty(value = "文化程度 数据字典")
private String culturalLevel;
//文化程度名称
@ApiModelProperty(value = "文化程度名称")
private String culturalLevelName;
//婚姻状态
@ApiModelProperty(value = "婚姻状态")
private String maritalStatus;
//婚姻状态名称
@ApiModelProperty(value = "婚姻状态名称")
private String maritalStatusName;
//政治面貌
@ApiModelProperty(value = "政治面貌")
private String politicalAffiliation;
//政治面貌名称
@ApiModelProperty(value = "政治面貌名称")
private String politicalAffiliationName;
public UserDO(String userId) {
this.userId = userId;
}
}

View File

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

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

@ -0,0 +1,17 @@
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.UserDO;
import java.util.Map;
/**
* web-infrastructure
* @Author zhangyue
* @Date 2025-11-04 14:07:36
*/
public interface UserRepository extends BaseRepository<UserDO> {
PageResponse<UserDO> listPage(Map<String,Object> params);
}

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

@ -0,0 +1,38 @@
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.UserDO;
import com.zcloud.basic.info.persistence.mapper.UserMapper;
import com.zcloud.basic.info.persistence.repository.UserRepository;
import com.zcloud.gbscommon.utils.PageQueryHelper;
import com.zcloud.gbscommon.utils.Query;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import java.util.Map;
/**
* web-infrastructure
* @Author zhangyue
* @Date 2025-11-04 14:07:37
*/
@Service
@RequiredArgsConstructor
public class UserRepositoryImpl extends BaseRepositoryImpl<UserMapper, UserDO> implements UserRepository {
private final UserMapper userMapper;
@Override
public PageResponse<UserDO> listPage(Map<String,Object> params) {
IPage<UserDO> iPage = new Query<UserDO>().getPage(params);
QueryWrapper<UserDO> queryWrapper = new QueryWrapper<>();
queryWrapper = PageQueryHelper.createPageQueryWrapper(queryWrapper, params);
queryWrapper.orderByDesc("create_time");
IPage<UserDO> result = userMapper.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>