Merge remote-tracking branch 'origin/main'

dev_xiangguanfang
huangyuxuan 2025-11-07 11:04:07 +08:00
commit 2d957fca4c
95 changed files with 2663 additions and 304 deletions

View File

@ -1,5 +1,6 @@
package com.zcloud.basic.info.facade;
import com.alibaba.cola.dto.MultiResponse;
import com.alibaba.cola.dto.PageResponse;
import com.alibaba.cola.dto.SingleResponse;
import com.zcloud.basic.info.api.CorpInfoServiceI;
@ -8,15 +9,18 @@ import com.zcloud.basic.info.dto.CorpInfoAddCmd;
import com.zcloud.basic.info.dto.CorpInfoPageQry;
import com.zcloud.basic.info.dto.CorpInfoUpdateCmd;
import com.zcloud.basic.info.dto.clientobject.CorpInfoCO;
import com.zcloud.basic.info.dto.clientobject.DepartmentCO;
import com.zcloud.gbscommon.zcloudcorp.face.ZcloudCorpFacade;
import com.zcloud.gbscommon.zcloudcorp.request.ZcloudCorpInfoAddCmd;
import com.zcloud.gbscommon.zcloudcorp.request.ZcloudCorpInfoPageQry;
import com.zcloud.gbscommon.zcloudcorp.request.ZcloudCorpInfoUpdateCmd;
import com.zcloud.gbscommon.zcloudcorp.response.ZcloudCorpInfoCO;
import com.zcloud.gbscommon.zclouddepartment.response.ZcloudDepartmentInfoCo;
import org.apache.dubbo.config.annotation.DubboService;
import org.springframework.beans.BeanUtils;
import javax.annotation.Resource;
import java.util.Collection;
import java.util.List;
@DubboService
@ -56,4 +60,18 @@ public class ZcloudCorpFacadeImpl implements ZcloudCorpFacade {
corpInfoService.edit(updateCmd);
return SingleResponse.buildSuccess();
}
@Override
public MultiResponse<ZcloudCorpInfoCO> getCorpList() {
List<CorpInfoCO> list = corpInfoService.getCorpList();
List<ZcloudCorpInfoCO> zcloudCorpCo = corpInfoCoConvertor.converCOsToDubboCOs(list);
return MultiResponse.of(zcloudCorpCo);
}
@Override
public MultiResponse<ZcloudCorpInfoCO> listByCorpIds(Collection<Long> collection) {
List<CorpInfoCO> list = corpInfoService.listByCorpIds(collection);
List<ZcloudCorpInfoCO> zcloudCorpCo = corpInfoCoConvertor.converCOsToDubboCOs(list);
return MultiResponse.of(zcloudCorpCo);
}
}

View File

@ -1,5 +1,6 @@
package com.zcloud.basic.info.facade;
import com.alibaba.cola.dto.MultiResponse;
import com.alibaba.cola.dto.PageResponse;
import com.alibaba.cola.dto.SingleResponse;
import com.zcloud.basic.info.api.DepartmentServiceI;
@ -8,32 +9,35 @@ import com.zcloud.basic.info.dto.DepartmentAddCmd;
import com.zcloud.basic.info.dto.DepartmentPageQry;
import com.zcloud.basic.info.dto.DepartmentUpdateCmd;
import com.zcloud.basic.info.dto.clientobject.DepartmentCO;
import com.zcloud.basic.info.dto.clientobject.DepartmentInfoCO;
import com.zcloud.basic.info.dto.clientobject.PostCO;
import com.zcloud.gbscommon.zclouddepartment.face.ZcloudDepartmentFacade;
import com.zcloud.gbscommon.zclouddepartment.request.ZcloudDepartmentAddCmd;
import com.zcloud.gbscommon.zclouddepartment.request.ZcloudDepartmentPageQry;
import com.zcloud.gbscommon.zclouddepartment.request.ZcloudDepartmentUpdateCmd;
import com.zcloud.gbscommon.zclouddepartment.response.ZcloudDepartmentInfoCo;
import com.zcloud.gbscommon.zcloudpost.response.ZcloudPostCO;
import org.apache.dubbo.config.annotation.DubboService;
import org.springframework.beans.BeanUtils;
import javax.annotation.Resource;
import java.util.Collection;
import java.util.List;
/**
*
* @author lin
*/
@DubboService
public class ZcloudDepartmentFacadeImpl implements ZcloudDepartmentFacade {
@Resource
private DepartmentServiceI departmentService;
private DepartmentServiceI departmentService;
@Resource
private DepartmentCoConvertor departmentCoConvertor;
@Override
public SingleResponse<ZcloudDepartmentInfoCo> getDepartmentInfoById(Long id) {
DepartmentCO info = departmentService.info(id);
DepartmentInfoCO info = departmentService.info(id);
ZcloudDepartmentInfoCo zcloudDepartmentInfoCo = new ZcloudDepartmentInfoCo();
BeanUtils.copyProperties(info, zcloudDepartmentInfoCo);
return SingleResponse.of(zcloudDepartmentInfoCo);
@ -50,16 +54,30 @@ public class ZcloudDepartmentFacadeImpl implements ZcloudDepartmentFacade {
@Override
public SingleResponse addDepartment(ZcloudDepartmentAddCmd zcloudDepartmentAddCmd) {
DepartmentAddCmd addCmd =new DepartmentAddCmd();
DepartmentAddCmd addCmd = new DepartmentAddCmd();
BeanUtils.copyProperties(zcloudDepartmentAddCmd, addCmd);
return departmentService.add(addCmd);
}
@Override
public SingleResponse editDepartment(ZcloudDepartmentUpdateCmd zcloudDepartmentUpdateCmd) {
DepartmentUpdateCmd updateCmd =new DepartmentUpdateCmd();
DepartmentUpdateCmd updateCmd = new DepartmentUpdateCmd();
BeanUtils.copyProperties(zcloudDepartmentUpdateCmd, updateCmd);
departmentService.edit(updateCmd);
return SingleResponse.buildSuccess();
}
@Override
public MultiResponse<ZcloudDepartmentInfoCo> getDeptList() {
List<DepartmentCO> list = departmentService.getDeptList();
List<ZcloudDepartmentInfoCo> zcloudUserCo = departmentCoConvertor.converCOsToDubboCOs(list);
return MultiResponse.of(zcloudUserCo);
}
@Override
public MultiResponse<ZcloudDepartmentInfoCo> listByDeptIds(Collection<Long> collection) {
List<DepartmentCO> listed = departmentService.listByDepartIds(collection);
List<ZcloudDepartmentInfoCo> zcloudPostCo = departmentCoConvertor.converCOsToDubboCOs(listed);
return MultiResponse.of(zcloudPostCo);
}
}

View File

@ -3,22 +3,22 @@ package com.zcloud.basic.info.facade;
import com.alibaba.cola.dto.MultiResponse;
import com.alibaba.cola.dto.SingleResponse;
import com.zcloud.basic.info.api.PostServiceI;
import com.zcloud.basic.info.command.convertor.PostCoConvertor;
import com.zcloud.basic.info.dto.PostListQry;
import com.zcloud.basic.info.dto.clientobject.PostCO;
import com.zcloud.basic.info.dto.clientobject.PostDepartmentCO;
import com.zcloud.basic.info.dto.clientobject.UserCO;
import com.zcloud.gbscommon.utils.DeepCopyUtil;
import com.zcloud.gbscommon.zcloudpost.facade.ZcloudPostFacade;
import com.zcloud.gbscommon.zcloudpost.request.ZcloudPostQry;
import com.zcloud.gbscommon.zcloudpost.response.ZcloudPostCO;
import com.zcloud.gbscommon.zcloudpost.response.ZcloudPostDepartmentCO;
import com.zcloud.gbscommon.zclouduser.response.ZcloudUserCo;
import org.apache.dubbo.config.annotation.DubboService;
import org.springframework.beans.BeanUtils;
import javax.annotation.Resource;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.*;
/**
* @author SondonYong
@ -30,7 +30,11 @@ public class ZcloudPostFacadeImpl implements ZcloudPostFacade {
@Resource
private PostServiceI postService;
@Resource
private PostCoConvertor postCoConvertor;
@Override
public SingleResponse<ZcloudPostCO> listByPostId(ZcloudPostQry qry){
if(Objects.isNull(qry) || Objects.isNull(qry.getPostId())){
return null;
@ -50,6 +54,7 @@ public class ZcloudPostFacadeImpl implements ZcloudPostFacade {
return SingleResponse.of(zcloudPostCO);
}
@Override
public MultiResponse<ZcloudPostCO> listByPostIds(ZcloudPostQry qry){
if(qry == null || qry.getPostIds() == null || qry.getPostIds().length == 0){
@ -73,4 +78,18 @@ public class ZcloudPostFacadeImpl implements ZcloudPostFacade {
return MultiResponse.of(zcloudPostCOList);
}
@Override
public MultiResponse<ZcloudPostCO> listByPostIds(Collection<Long> collection) {
List<PostCO> postCOS = postService.listByPostIds(collection);
List<ZcloudPostCO> zcloudPostCo = postCoConvertor.converCOsToDubboCOs(postCOS);
return MultiResponse.of(zcloudPostCo);
}
@Override
public MultiResponse<ZcloudPostCO> getPostList() {
List<PostCO> list = postService.getPostList();
List<ZcloudPostCO> zcloudUserCo = postCoConvertor.converCOsToDubboCOs(list);
return MultiResponse.of(zcloudUserCo);
}
}

View File

@ -2,18 +2,31 @@ package com.zcloud.basic.info.facade;
import com.alibaba.cola.dto.MultiResponse;
import com.alibaba.cola.dto.SingleResponse;
import com.zcloud.basic.info.api.CorpInfoServiceI;
import com.zcloud.basic.info.api.UserServiceI;
import com.zcloud.basic.info.command.convertor.CorpInfoCoConvertor;
import com.zcloud.basic.info.command.convertor.UserCoConvertor;
import com.zcloud.basic.info.dto.clientobject.UserCO;
import com.zcloud.gbscommon.zclouduser.facade.ZcloudUserFacade;
import com.zcloud.gbscommon.zclouduser.response.ZcloudUserCo;
import org.apache.dubbo.config.annotation.DubboService;
import org.springframework.beans.BeanUtils;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
/**
*
* @author lin
*/
@DubboService
public class ZcloudUserFacadeImpl implements ZcloudUserFacade {
@Resource
private UserServiceI userServiceI;
@Resource
private UserCoConvertor userCoConvertor;
@Override
public MultiResponse<ZcloudUserCo> listByUserIdAndDeptId() {
System.out.println("listByUserIdAndDeptId");
@ -26,6 +39,23 @@ public class ZcloudUserFacadeImpl implements ZcloudUserFacade {
@Override
public SingleResponse<ZcloudUserCo> getInfoByUserId(Long aLong) {
return null;
UserCO user = userServiceI.getInfoByUserId(aLong);
ZcloudUserCo zcloudUserCo = new ZcloudUserCo();
BeanUtils.copyProperties(user, zcloudUserCo);
return SingleResponse.of(zcloudUserCo);
}
@Override
public MultiResponse<ZcloudUserCo> listByUserIds(Collection<Long> collection) {
List<UserCO> users = userServiceI.listByUserIds(collection);
List<ZcloudUserCo> zcloudUserCo = userCoConvertor.converCOsToDubboCOs(users);
return MultiResponse.of(zcloudUserCo);
}
@Override
public MultiResponse<ZcloudUserCo> getUserList() {
List<UserCO> users = userServiceI.getUserList();
List<ZcloudUserCo> zcloudUserCo = userCoConvertor.converCOsToDubboCOs(users);
return MultiResponse.of(zcloudUserCo);
}
}

View File

@ -11,6 +11,7 @@ import com.zcloud.basic.info.api.CorpInfoServiceI;
import com.zcloud.basic.info.dto.*;
import com.zcloud.basic.info.dto.clientobject.CorpDepartmentCO;
import com.zcloud.basic.info.dto.clientobject.CorpInfoCO;
import com.zcloud.basic.info.dto.clientobject.CorpUserMiddleCO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
@ -42,7 +43,7 @@ public class CorpInfoController {
@ApiOperation("分页")
@PostMapping("/list")
public PageResponse<CorpInfoCO> page(@RequestBody CorpInfoPageQry qry) {
public PageResponse<CorpInfoCO> page(@Validated @RequestBody CorpInfoPageQry qry) {
return corpInfoService.listPage(qry);
}
@ -109,5 +110,11 @@ public class CorpInfoController {
return SingleResponse.buildSuccess();
}
@ApiOperation("企业用户中台-首页分页列表")
@PostMapping("/corpUserMiddlePage")
public PageResponse<CorpUserMiddleCO> corpUserMiddlePage(@Validated @RequestBody CorpUserMiddleQry qry) {
return corpInfoService.corpUserMiddlePage(qry);
}
}

View File

@ -11,6 +11,7 @@ import com.jjb.saas.system.client.dept.facade.DeptFacade;
import com.zcloud.basic.info.api.DepartmentServiceI;
import com.zcloud.basic.info.dto.*;
import com.zcloud.basic.info.dto.clientobject.DepartmentCO;
import com.zcloud.basic.info.dto.clientobject.DepartmentInfoCO;
import com.zcloud.basic.info.dto.clientobject.DepartmentTreeInfoCO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@ -62,7 +63,7 @@ public class DepartmentController {
@ApiOperation("部门详情")
@PostMapping("/info/{id}")
public SingleResponse<DepartmentCO> getInfoById(@PathVariable("id") Long id) {
public SingleResponse<DepartmentInfoCO> getInfoById(@PathVariable("id") Long id) {
return SingleResponse.of(departmentService.info(id));
}

View File

@ -1,6 +1,7 @@
package com.zcloud.basic.info.web;
import cn.hutool.core.util.StrUtil;
import com.alibaba.cola.exception.BizException;
import com.zcloud.basic.info.api.PostServiceI;
import com.zcloud.basic.info.dto.*;
@ -16,6 +17,9 @@ import lombok.AllArgsConstructor;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.Arrays;
import java.util.Objects;
/**
* web-adapter
@ -49,6 +53,11 @@ public class PostController {
if(qry.getCorpFlag() == 2){
qry.setEqCorpinfoId(AuthContext.getTenantId());
}
// 数据类型转换
if(StrUtil.isNotBlank(qry.getDepartmentIdString())){
qry.setEqDepartmentId(Long.parseLong(qry.getDepartmentIdString()));
}
return postService.listPage(qry);
}
@ -58,6 +67,17 @@ public class PostController {
if(qry.getCorpFlag() == 2){
qry.setCorpinfoId(AuthContext.getTenantId());
}
// 数据类型转换
if(StrUtil.isNotBlank(qry.getDepartmentIdString())){
qry.setDepartmentId(Long.parseLong(qry.getDepartmentIdString()));
}
if(qry.getPostIdsString() != null && qry.getPostIdsString().length > 0){
qry.setPostIds(Arrays.stream(qry.getPostIdsString())
.filter(Objects::nonNull) // 过滤掉null
.filter(str -> !str.trim().isEmpty()) // 过滤掉空字符串
.map(Long::valueOf)
.toArray(Long[]::new));
}
return postService.list(qry);
}
@ -79,6 +99,20 @@ public class PostController {
@ApiOperation("删除多个")
@PutMapping("/removeBatch")
public Response removeBatch(@Validated @RequestBody PostRemoveCmd cmd) {
if(cmd.getIdsString()== null || cmd.getIdsString().length == 0){
throw new BizException("请选择要删除的项。");
}
// 数据类型转换
if(cmd.getIdsString() != null && cmd.getIdsString().length > 0){
cmd.setIds(Arrays.stream(cmd.getIdsString())
.filter(Objects::nonNull) // 过滤掉null
.filter(str -> !str.trim().isEmpty()) // 过滤掉空字符串
.map(Long::valueOf)
.toArray(Long[]::new));
}
postService.removeBatch(cmd.getIds());
return SingleResponse.buildSuccess();
}

View File

@ -7,11 +7,13 @@ 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.jjb.saas.system.client.role.response.RoleCO;
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.*;
import com.zcloud.basic.info.dto.clientobject.UserCO;
import com.zcloud.gbscommon.translateaop.TranslateField;
import com.zcloud.gbscommon.zclouddepartment.response.ZcloudDepartmentInfoCo;
import com.zcloud.gbscommon.zclouduser.response.ZcloudUserCo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
@ -19,26 +21,55 @@ import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
/**
* web-adapter
* @Author zhangyue
* @Date 2025-11-04 14:07:33
*/
* 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;
private final TranslateField translateField;
@ApiOperation("新增用户")
@PostMapping("/test")
public SingleResponse<UserCO> test(@RequestBody UserCO cmd) {
SSOUser ssoUser = AuthContext.getCurrentUser();
List<UserCO> userCOS = translateField.translateZcloudCommonInformation(Arrays.asList(cmd), UserCO.class);
ZcloudDepartmentInfoCo zcloudDpetInfoById = translateField.getZcloudDpetInfoById(1985993429287899137L);
ZcloudUserCo zcloudUserInfoById = translateField.getZcloudUserInfoById(1985906883444662274L);
@ApiOperation("新增")
return SingleResponse.of(cmd);
}
@ApiOperation("验证用户是否存在")
@PostMapping("/verifyUser")
public Response verifyUser(@Validated @RequestBody UserVerifyQryCmd userVerifyQryCmd) {
return userService.verifyUser(userVerifyQryCmd);
}
@ApiOperation("新增用户")
@PostMapping("/save")
public SingleResponse<UserCO> add(@Validated @RequestBody UserAddCmd cmd) {
SSOUser ssoUser = AuthContext.getCurrentUser();
return userService.add(cmd);
}
@ApiOperation("新增相关方用户")
@PostMapping("/saveXgf")
public SingleResponse<UserCO> addXgf(@Validated @RequestBody UserXgfAddCmd cmd) {
SSOUser ssoUser = AuthContext.getCurrentUser();
return userService.addXgf(cmd);
}
@ApiOperation("分页")
@PostMapping("/list")
public PageResponse<UserCO> page(@RequestBody UserPageQry qry) {
@ -47,14 +78,15 @@ public class UserController {
@ApiOperation("所有数据")
@GetMapping("/listAll")
public MultiResponse<UserCO> listAll() {
return MultiResponse.of(new ArrayList<UserCO>());
public MultiResponse<UserCO> listAll(UserQryCmd userQryCmd) {
return userService.listAll(userQryCmd);
}
@ApiOperation("详情")
@GetMapping("/{id}")
public SingleResponse<UserCO> getInfoById(@PathVariable("id") Long id) {
return SingleResponse.of(new UserCO());
return userService.getInfoById(id);
}
@ApiOperation("删除")
@ -66,7 +98,7 @@ public class UserController {
@ApiOperation("删除多个")
@DeleteMapping("/ids")
public Response removeBatch(@RequestParam Long[] ids) {
public Response removeBatch(@RequestParam Long[] ids) {
userService.removeBatch(ids);
return SingleResponse.buildSuccess();
}

View File

@ -0,0 +1,83 @@
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.UserEmploymentLogServiceI;
import com.zcloud.basic.info.dto.UserEmploymentLogAddCmd;
import com.zcloud.basic.info.dto.UserEmploymentLogPageQry;
import com.zcloud.basic.info.dto.UserEmploymentLogQryCmd;
import com.zcloud.basic.info.dto.UserEmploymentLogUpdateCmd;
import com.zcloud.basic.info.dto.clientobject.UserEmploymentLogCO;
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-06 19:15:37
*/
@Api(tags = "用户资质信息")
@RequestMapping("/${application.gateway}/userEmploymentLog")
@RestController
@AllArgsConstructor
public class UserEmploymentLogController {
private final UserEmploymentLogServiceI userEmploymentLogService;
@ApiOperation("新增")
@PostMapping("/save")
public SingleResponse<UserEmploymentLogCO> add(@Validated @RequestBody UserEmploymentLogAddCmd cmd) {
SSOUser ssoUser = AuthContext.getCurrentUser();
return userEmploymentLogService.add(cmd);
}
@ApiOperation("分页")
@PostMapping("/list")
public PageResponse<UserEmploymentLogCO> page(@RequestBody UserEmploymentLogPageQry qry) {
return userEmploymentLogService.listPage(qry);
}
@ApiOperation("所有数据")
@GetMapping("/listAll")
public MultiResponse<UserEmploymentLogCO> listAll(UserEmploymentLogQryCmd qry) {
return userEmploymentLogService.listAll(qry);
}
@ApiOperation("详情")
@GetMapping("/{id}")
public SingleResponse<UserEmploymentLogCO> getInfoById(@PathVariable("id") Long id) {
return SingleResponse.of(new UserEmploymentLogCO());
}
@ApiOperation("删除")
@DeleteMapping("/{id}")
public Response remove(@PathVariable("id") Long id) {
userEmploymentLogService.remove(id);
return SingleResponse.buildSuccess();
}
@ApiOperation("删除多个")
@DeleteMapping("/ids")
public Response removeBatch(@RequestParam Long[] ids) {
userEmploymentLogService.removeBatch(ids);
return SingleResponse.buildSuccess();
}
@ApiOperation("修改")
@PutMapping("/edit")
public SingleResponse edit(@Validated @RequestBody UserEmploymentLogUpdateCmd userEmploymentLogUpdateCmd) {
userEmploymentLogService.edit(userEmploymentLogUpdateCmd);
return SingleResponse.buildSuccess();
}
}

View File

@ -2,7 +2,10 @@ package com.zcloud.basic.info.command;
import com.alibaba.cola.exception.BizException;
import com.zcloud.basic.info.domain.gateway.CorpInfoGateway;
import com.zcloud.gbscommon.utils.Const;
import com.zcloud.gbscommon.utils.ZcloudRedisUtil;
import lombok.AllArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
@ -17,6 +20,8 @@ import org.springframework.transaction.annotation.Transactional;
@AllArgsConstructor
public class CorpInfoRemoveExe {
private final CorpInfoGateway corpInfoGateway;
@Autowired
private ZcloudRedisUtil zcloudRedisUtil;
@Transactional(rollbackFor = Exception.class)
public boolean execute(Long id) {
@ -24,6 +29,8 @@ public class CorpInfoRemoveExe {
if (!res) {
throw new BizException("删除失败");
}
//删除redis数据
zcloudRedisUtil.del(Const.REDIS_CORP_PREFIX+id);
return true;
}
@ -33,6 +40,9 @@ public class CorpInfoRemoveExe {
if (!res) {
throw new BizException("删除失败");
}
for (Long id : ids) {
zcloudRedisUtil.del(Const.REDIS_CORP_PREFIX+id);
}
return true;
}
}

View File

@ -10,9 +10,12 @@ import com.zcloud.basic.info.dto.CorpInfoUpdateCmd;
import com.zcloud.basic.info.dto.CorpInfoUpdateUseFlagCmd;
import com.zcloud.basic.info.persistence.dataobject.CorpInfoDO;
import com.zcloud.basic.info.persistence.repository.CorpInfoRepository;
import com.zcloud.gbscommon.utils.Const;
import com.zcloud.gbscommon.utils.ZcloudRedisUtil;
import lombok.AllArgsConstructor;
import org.apache.dubbo.config.annotation.DubboReference;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
import lombok.extern.slf4j.Slf4j;
@ -31,6 +34,8 @@ public class CorpInfoUpdateExe {
private final CorpInfoRepository corpInfoRepository;
@DubboReference
private TenantFacade tenantFacade;
@Autowired
private ZcloudRedisUtil zcloudRedisUtil;
@Transactional(rollbackFor = Exception.class)
public void execute(CorpInfoUpdateCmd corpInfoUpdateCmd) {
@ -40,6 +45,8 @@ public class CorpInfoUpdateExe {
if (!res) {
throw new BizException("修改失败");
}
//删除redis数据
zcloudRedisUtil.del(Const.REDIS_CORP_PREFIX+corpInfoUpdateCmd.getId());
}
public void changeCompanyName(CorpInfoUpdateCmd corpInfoUpdateCmd) {
@ -49,6 +56,8 @@ public class CorpInfoUpdateExe {
BeanUtils.copyProperties(corpInfoUpdateCmd, corpInfoE);
corpInfoGateway.changeCompanyName(corpInfoE);
//删除redis数据
zcloudRedisUtil.del(Const.REDIS_CORP_PREFIX+corpInfoUpdateCmd.getId());
// OtaPlatformUserUpdateCmd otaUpdateCmd = new OtaPlatformUserUpdateCmd();
// otaUpdateCmd.setAccount(corpInfoE.getCorpName());

View File

@ -3,20 +3,27 @@ package com.zcloud.basic.info.command;
import cn.hutool.core.collection.CollUtil;
import com.alibaba.cola.dto.PageResponse;
import com.alibaba.cola.exception.BizException;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.jjb.saas.system.client.dept.facade.DeptFacade;
import com.zcloud.basic.info.domain.gateway.DepartmentGateway;
import com.zcloud.basic.info.dto.clientobject.DepartmentCO;
import com.zcloud.basic.info.persistence.dataobject.DepartmentDO;
import com.zcloud.basic.info.persistence.repository.DepartmentRepository;
import com.zcloud.basic.info.persistence.repository.UserRepository;
import com.zcloud.gbscommon.utils.Const;
import com.zcloud.gbscommon.utils.PageQueryHelper;
import com.zcloud.gbscommon.utils.ZcloudRedisUtil;
import lombok.AllArgsConstructor;
import org.apache.dubbo.config.annotation.DubboReference;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
@ -30,33 +37,57 @@ import java.util.Map;
public class DepartmentRemoveExe {
private final DepartmentGateway departmentGateway;
private final DepartmentRepository departmentRepository;
private final UserRepository userRepository;
@DubboReference
private DeptFacade deptFacade;
@Autowired
private ZcloudRedisUtil zcloudRedisUtil;
@Transactional(rollbackFor = Exception.class)
public boolean execute(Long id) {
DepartmentDO departmentDO = departmentRepository.getById(id);
if(departmentDO == null){
throw new BizException("部门信息不存在");
}
// departmentGateway
Map<String, Object> parmas =new HashMap<>();
parmas.put("eqParentId", id);
PageResponse<DepartmentDO> pageResponse = departmentRepository.listPage(parmas);
if(CollUtil.isNotEmpty(pageResponse.getData())){
Long departmentCount = departmentRepository.countByParams(parmas);
if(departmentCount>0){
throw new BizException("请先删除下级部门");
}
Boolean b = userRepository.checkUserDepartment(id);
if(b){
throw new BizException("部门有相应人员,请解除相关部门信息后删除");
}
boolean res = departmentGateway.deletedDepartmentById(id);
if (!res) {
throw new BizException("删除失败");
}
//删除redis数据
zcloudRedisUtil.del(Const.REDIS_DEPT_PREFIX+id);
return true;
}
@Transactional(rollbackFor = Exception.class)
public boolean execute(Long[] ids) {
if (ids == null || ids.length == 0) {
return true;
}
Boolean b = userRepository.checkUserDepartment(ids);
if(b){
throw new BizException("部门有相应人员,请解除相关部门信息后删除");
}
boolean res = departmentGateway.deletedDepartmentByIds(ids);
if (!res) {
throw new BizException("删除失败");
}
// 批量删除 Redis 缓存 - 循环处理每个ID
for (Long id : ids) {
zcloudRedisUtil.del(Const.REDIS_DEPT_PREFIX + id);
}
return true;
}
}

View File

@ -9,10 +9,13 @@ import com.zcloud.basic.info.domain.model.FacadeDepartmentE;
import com.zcloud.basic.info.dto.DepartmentUpdateCmd;
import com.zcloud.basic.info.persistence.dataobject.DepartmentDO;
import com.zcloud.basic.info.persistence.repository.DepartmentRepository;
import com.zcloud.gbscommon.utils.Const;
import com.zcloud.gbscommon.utils.ZcloudRedisUtil;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.dubbo.config.annotation.DubboReference;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
@ -33,6 +36,8 @@ public class DepartmentUpdateExe {
private final DepartmentRepository departmentRepository;
@DubboReference
private DeptFacade deptFacade;
@Autowired
private ZcloudRedisUtil zcloudRedisUtil;
@Transactional(rollbackFor = Exception.class)
public void execute(DepartmentUpdateCmd departmentUpdateCmd) {
@ -51,7 +56,11 @@ public class DepartmentUpdateExe {
FacadeUpdateDeptCmd deptCmd = new FacadeUpdateDeptCmd();
BeanUtils.copyProperties(deptE, deptCmd);
deptFacade.updateDept(deptCmd);
//删除redis数据
zcloudRedisUtil.del(Const.REDIS_DEPT_PREFIX+departmentDO.getCorpinfoId()+":"+departmentUpdateCmd.getId());
// deptFacade.updateDept(deptCmd);
if(!departmentDO.getName().equals(departmentE.getName())){
//TODO 名字不一样发送mq

View File

@ -1,6 +1,7 @@
package com.zcloud.basic.info.command;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil;
import com.zcloud.basic.info.domain.gateway.PostDepartmentGateway;
import com.zcloud.basic.info.domain.gateway.PostGateway;
import com.zcloud.basic.info.domain.model.PostDepartmentE;
@ -12,6 +13,7 @@ import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
import java.util.Arrays;
import java.util.List;
import java.util.Objects;
@ -30,6 +32,19 @@ public class PostAddExe {
@Transactional(rollbackFor = Exception.class)
public boolean execute(PostAddCmd cmd) {
// 数据类型转换
if(StrUtil.isNotBlank(cmd.getDepartmentIdString())){
cmd.setDepartmentId(Long.parseLong(cmd.getDepartmentIdString()));
}
if(cmd.getDepartmentIdsString() != null && cmd.getDepartmentIdsString().length > 0){
cmd.setDepartmentIds(Arrays.stream(cmd.getDepartmentIdsString())
.filter(Objects::nonNull) // 过滤掉null
.filter(str -> !str.trim().isEmpty()) // 过滤掉空字符串
.map(Long::valueOf)
.toArray(Long[]::new));
}
PostE postE = new PostE();
BeanUtils.copyProperties(cmd, postE);
boolean res = false;

View File

@ -1,16 +1,25 @@
package com.zcloud.basic.info.command;
import cn.hutool.core.collection.CollUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.zcloud.basic.info.domain.gateway.PostDepartmentGateway;
import com.zcloud.basic.info.domain.gateway.PostGateway;
import com.alibaba.cola.exception.BizException;
import com.zcloud.basic.info.persistence.dataobject.DepartmentDO;
import com.zcloud.basic.info.persistence.dataobject.PostDO;
import com.zcloud.basic.info.persistence.dataobject.UserDO;
import com.zcloud.basic.info.persistence.repository.PostRepository;
import com.zcloud.basic.info.persistence.repository.UserRepository;
import com.zcloud.gbscommon.utils.Const;
import com.zcloud.gbscommon.utils.ZcloudRedisUtil;
import lombok.AllArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
/**
@ -25,47 +34,54 @@ public class PostRemoveExe {
private final PostGateway postGateway;
private final PostDepartmentGateway postDepartmentGateway;
private final UserRepository userRepository;
private final PostRepository postRepository;
@Autowired
private ZcloudRedisUtil zcloudRedisUtil;
@Transactional(rollbackFor = Exception.class)
public boolean execute(Long id) {
// 这段代码后续放到user的方法中, 校验是否有人员使用该岗位
QueryWrapper queryWrapper = new QueryWrapper();
queryWrapper.eq("post_id", id);
queryWrapper.eq("delete_enum", "FALSE");
List userPostList = userRepository.list(queryWrapper);
if (userPostList != null && userPostList.size() > 0) {
throw new BizException("岗位有相应人员,请解除相关岗位信息后删除。");
}
// QueryWrapper queryWrapper = new QueryWrapper();
// queryWrapper.eq("post_id", id);
// queryWrapper.eq("delete_enum", "FALSE");
// List userPostList = userRepository.list(queryWrapper);
// if (userPostList != null && userPostList.size() > 0) {
// throw new BizException("岗位有相应人员,请解除相关岗位信息后删除。");
// }
boolean res = postGateway.deletedPostById(id);
postDepartmentGateway.deletedPostDepartment(id);
if (!res) {
throw new BizException("删除失败");
}
//删除redis数据
zcloudRedisUtil.del(Const.REDIS_POST_PREFIX+id);
return true;
}
@Transactional(rollbackFor = Exception.class)
public boolean execute(Long[] ids) {
if (ids == null || ids.length == 0) {
throw new BizException("岗位ID不能为空");
}
// 这段代码后续放到user的方法中, 校验是否有人员使用该岗位
QueryWrapper<UserDO> queryWrapper = new QueryWrapper();
queryWrapper.in("post_id", ids);
queryWrapper.eq("delete_enum", "FALSE");
List<UserDO> userPostList = userRepository.list(queryWrapper);
if (userPostList != null && userPostList.size() > 0) {
throw new BizException("岗位有相应人员,请解除相关岗位信息后删除。");
}
// QueryWrapper<UserDO> queryWrapper = new QueryWrapper();
// queryWrapper.in("post_id", ids);
// queryWrapper.eq("delete_enum", "FALSE");
// List<UserDO> userPostList = userRepository.list(queryWrapper);
// if (userPostList != null && userPostList.size() > 0) {
// throw new BizException("岗位有相应人员,请解除相关岗位信息后删除。");
// }
boolean res = postGateway.deletedPostByIds(ids);
postDepartmentGateway.deletedPostDepartment(ids);
if (!res) {
throw new BizException("删除失败");
}
for (Long id : ids) {
zcloudRedisUtil.del(Const.REDIS_POST_PREFIX+id);
}
return true;
}
}

View File

@ -1,18 +1,26 @@
package com.zcloud.basic.info.command;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil;
import com.alibaba.cola.exception.BizException;
import com.zcloud.basic.info.domain.gateway.PostDepartmentGateway;
import com.zcloud.basic.info.domain.gateway.PostGateway;
import com.zcloud.basic.info.domain.model.PostDepartmentE;
import com.zcloud.basic.info.domain.model.PostE;
import com.zcloud.basic.info.dto.PostUpdateCmd;
import com.zcloud.basic.info.persistence.dataobject.PostDO;
import com.zcloud.basic.info.persistence.repository.PostRepository;
import com.zcloud.gbscommon.utils.Const;
import com.zcloud.gbscommon.utils.ZcloudRedisUtil;
import lombok.AllArgsConstructor;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
import java.util.Arrays;
import java.util.List;
import java.util.Objects;
/**
@ -26,9 +34,32 @@ import java.util.List;
public class PostUpdateExe {
private final PostGateway postGateway;
private final PostDepartmentGateway postDepartmentGateway;
private final PostRepository postRepository;
@Autowired
private ZcloudRedisUtil zcloudRedisUtil;
@Transactional(rollbackFor = Exception.class)
public void execute(PostUpdateCmd postUpdateCmd) {
// 数据类型转换
if(StrUtil.isNotBlank(postUpdateCmd.getIdString())){
postUpdateCmd.setId(Long.parseLong(postUpdateCmd.getIdString()));
}
if(StrUtil.isNotBlank(postUpdateCmd.getDepartmentIdString())){
postUpdateCmd.setDepartmentId(Long.parseLong(postUpdateCmd.getDepartmentIdString()));
}
if(postUpdateCmd.getDepartmentIdsString() != null && postUpdateCmd.getDepartmentIdsString().length > 0){
postUpdateCmd.setDepartmentIds(Arrays.stream(postUpdateCmd.getDepartmentIdsString())
.filter(Objects::nonNull) // 过滤掉null
.filter(str -> !str.trim().isEmpty()) // 过滤掉空字符串
.map(Long::valueOf)
.toArray(Long[]::new));
}
PostDO postDO = postRepository.getById(postUpdateCmd.getId());
if (postDO == null) {
throw new BizException("岗位不存在");
}
PostE postE = new PostE();
BeanUtils.copyProperties(postUpdateCmd, postE);
boolean res = postGateway.update(postE);
@ -48,25 +79,12 @@ public class PostUpdateExe {
}
}
// if(res && postUpdateCmd.getSupervisionFlag() != null && postUpdateCmd.getSupervisionFlag() == 1){
// postDepartmentGateway.deletedPostDepartment(postE.getId());
// List<PostDepartmentE> postDepartmentEList = postE.addDepartmentIds(postE.getId(), postUpdateCmd.getDepartmentIds());
// if(CollUtil.isNotEmpty(postDepartmentEList)){
// res = postDepartmentGateway.addList(postDepartmentEList);
// }
// }else {
// // 修改时如果改为不是监管岗位, 则删除岗位-部门关联表数据
// if(res && postUpdateCmd.getSupervisionFlag() != null && postUpdateCmd.getSupervisionFlag() == 0){
// postDepartmentGateway.deletedPostDepartment(postE.getId());
// }
// if(res && postUpdateCmd.getSupervisionFlag() == null){
// postDepartmentGateway.deletedPostDepartment(postE.getId());
// }
// }
if (!res) {
throw new BizException("修改失败");
}
//删除redis数据
zcloudRedisUtil.del(Const.REDIS_POST_PREFIX+postDO.getId());
}
}

View File

@ -1,11 +1,25 @@
package com.zcloud.basic.info.command;
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.role.facade.RoleFacade;
import com.jjb.saas.system.client.user.facade.UserFacade;
import com.jjb.saas.system.client.user.request.FacadeUserAddCmd;
import com.zcloud.basic.info.command.convertor.UserCoConvertor;
import com.zcloud.basic.info.domain.gateway.UserEmploymentLogGateway;
import com.zcloud.basic.info.domain.gateway.UserGateway;
import com.zcloud.basic.info.domain.model.UserE;
import com.zcloud.basic.info.domain.model.UserEmploymentLogE;
import com.zcloud.basic.info.dto.UserAddCmd;
import com.zcloud.basic.info.dto.UserXgfAddCmd;
import com.zcloud.basic.info.persistence.dataobject.UserEmploymentLogDO;
import com.zcloud.gbscommon.utils.Tools;
import lombok.AllArgsConstructor;
import org.apache.dubbo.config.annotation.DubboReference;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
@ -21,14 +35,56 @@ import org.springframework.transaction.annotation.Transactional;
@AllArgsConstructor
public class UserAddExe {
private final UserGateway userGateway;
private UserCoConvertor userCoConvertor;
private final UserEmploymentLogGateway userEmploymentLogGateway;
// @Autowired
// private RedisTemplate<String, Object> redisTemplate;
@DubboReference(check = false)
private UserFacade userFacade;
@DubboReference
private RoleFacade roleFacade;
@Transactional(rollbackFor = Exception.class)
public boolean execute(UserAddCmd cmd) {
SSOUser ssoUser = AuthContext.getCurrentUser();
Long tenantId = ssoUser.getTenantId();
UserE userE = new UserE();
BeanUtils.copyProperties(cmd, userE);
userE.initAdd(tenantId, userE);
UserEmploymentLogE userEmploymentLogE = new UserEmploymentLogE();
BeanUtils.copyProperties(userE, userEmploymentLogE);
userEmploymentLogE.initAdd(userEmploymentLogE);
boolean res = false;
try {
res = userGateway.add(userE);
userEmploymentLogGateway.add(userEmploymentLogE);
// FacadeUserAddCmd facadeUserAddCmd = new FacadeUserAddCmd();
// facadeUserAddCmd.setAccount(userE.getUsername());
// FacadeUserAddCmd facadeUserAddCmd = userCoConvertor.converEToFacadeUserAddCmd(userE);
// userFacade.addUser(facadeUserAddCmd);
} catch (Exception e) {
throw new RuntimeException(e);
}
if (!res) {
throw new BizException("保存失败");
}
return true;
}
@Transactional(rollbackFor = Exception.class)
public boolean executeXgf(UserXgfAddCmd cmd) {
SSOUser ssoUser = AuthContext.getCurrentUser();
Long tenantId = ssoUser.getTenantId();
UserE userE = new UserE();
BeanUtils.copyProperties(cmd, userE);
userE.initAdd(tenantId, userE);
boolean res = false;
try {
res = userGateway.add(userE);
// FacadeUserAddCmd facadeUserAddCmd = new FacadeUserAddCmd();
// facadeUserAddCmd.setAccount(userE.getUsername());
// FacadeUserAddCmd facadeUserAddCmd = userCoConvertor.converEToFacadeUserAddCmd(userE);
// userFacade.addUser(facadeUserAddCmd);
} catch (Exception e) {
throw new RuntimeException(e);
}

View File

@ -0,0 +1,40 @@
package com.zcloud.basic.info.command;
import com.alibaba.cola.exception.BizException;
import com.zcloud.basic.info.domain.gateway.UserEmploymentLogGateway;
import com.zcloud.basic.info.domain.model.UserEmploymentLogE;
import com.zcloud.basic.info.dto.UserEmploymentLogAddCmd;
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-06 19:15:36
*/
@Component
@AllArgsConstructor
public class UserEmploymentLogAddExe {
private final UserEmploymentLogGateway userEmploymentLogGateway;
@Transactional(rollbackFor = Exception.class)
public boolean execute(UserEmploymentLogAddCmd cmd) {
UserEmploymentLogE userEmploymentLogE = new UserEmploymentLogE();
BeanUtils.copyProperties(cmd, userEmploymentLogE);
boolean res = false;
try {
res = userEmploymentLogGateway.add(userEmploymentLogE);
} catch (Exception e) {
throw new RuntimeException(e);
}
if (!res) {
throw new BizException("保存失败");
}
return true;
}
}

View File

@ -0,0 +1,39 @@
package com.zcloud.basic.info.command;
import com.alibaba.cola.exception.BizException;
import com.zcloud.basic.info.domain.gateway.UserEmploymentLogGateway;
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
/**
* web-app
*
* @Author zhangyue
* @Date 2025-11-06 19:15:37
*/
@Component
@AllArgsConstructor
public class UserEmploymentLogRemoveExe {
private final UserEmploymentLogGateway userEmploymentLogGateway;
@Transactional(rollbackFor = Exception.class)
public boolean execute(Long id) {
boolean res = userEmploymentLogGateway.deletedUserEmploymentLogById(id);
if (!res) {
throw new BizException("删除失败");
}
return true;
}
@Transactional(rollbackFor = Exception.class)
public boolean execute(Long[] ids) {
boolean res = userEmploymentLogGateway.deletedUserEmploymentLogByIds(ids);
if (!res) {
throw new BizException("删除失败");
}
return true;
}
}

View File

@ -0,0 +1,34 @@
package com.zcloud.basic.info.command;
import com.alibaba.cola.exception.BizException;
import com.zcloud.basic.info.domain.gateway.UserEmploymentLogGateway;
import com.zcloud.basic.info.domain.model.UserEmploymentLogE;
import com.zcloud.basic.info.dto.UserEmploymentLogUpdateCmd;
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-06 19:15:38
*/
@Component
@AllArgsConstructor
public class UserEmploymentLogUpdateExe {
private final UserEmploymentLogGateway userEmploymentLogGateway;
@Transactional(rollbackFor = Exception.class)
public void execute(UserEmploymentLogUpdateCmd userEmploymentLogUpdateCmd) {
UserEmploymentLogE userEmploymentLogE = new UserEmploymentLogE();
BeanUtils.copyProperties(userEmploymentLogUpdateCmd, userEmploymentLogE);
boolean res = userEmploymentLogGateway.update(userEmploymentLogE);
if (!res) {
throw new BizException("修改失败");
}
}
}

View File

@ -2,7 +2,10 @@ package com.zcloud.basic.info.command;
import com.alibaba.cola.exception.BizException;
import com.zcloud.basic.info.domain.gateway.UserGateway;
import com.zcloud.gbscommon.utils.Const;
import com.zcloud.gbscommon.utils.ZcloudRedisUtil;
import lombok.AllArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
@ -18,6 +21,8 @@ import org.springframework.transaction.annotation.Transactional;
@AllArgsConstructor
public class UserRemoveExe {
private final UserGateway userGateway;
@Autowired
private ZcloudRedisUtil zcloudRedisUtil;
@Transactional(rollbackFor = Exception.class)
public boolean execute(Long id) {
@ -25,6 +30,7 @@ public class UserRemoveExe {
if(!res){
throw new BizException("删除失败");
}
zcloudRedisUtil.del(Const.REDIS_USER_PREFIX+id);
return true;
}
@ -34,6 +40,9 @@ public class UserRemoveExe {
if(!res){
throw new BizException("删除失败");
}
for (Long id : ids) {
zcloudRedisUtil.del(Const.REDIS_USER_PREFIX+id);
}
return true;
}
}

View File

@ -4,8 +4,11 @@ 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 com.zcloud.gbscommon.utils.Const;
import com.zcloud.gbscommon.utils.ZcloudRedisUtil;
import lombok.AllArgsConstructor;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
@ -21,6 +24,8 @@ import org.springframework.transaction.annotation.Transactional;
@AllArgsConstructor
public class UserUpdateExe {
private final UserGateway userGateway;
@Autowired
private ZcloudRedisUtil zcloudRedisUtil;
@Transactional(rollbackFor = Exception.class)
public void execute(UserUpdateCmd userUpdateCmd) {
@ -30,6 +35,8 @@ public class UserUpdateExe {
if (!res) {
throw new BizException("修改失败");
}
//删除redis数据
zcloudRedisUtil.del(Const.REDIS_USER_PREFIX+userUpdateCmd.getId());
}
}

View File

@ -4,6 +4,7 @@ import com.zcloud.basic.info.domain.model.CorpDepartmentE;
import com.zcloud.basic.info.domain.model.DepartmentE;
import com.zcloud.basic.info.dto.clientobject.CorpDepartmentCO;
import com.zcloud.basic.info.dto.clientobject.CorpInfoCO;
import com.zcloud.basic.info.dto.clientobject.CorpUserMiddleCO;
import com.zcloud.basic.info.persistence.dataobject.CorpInfoDO;
import com.zcloud.basic.info.persistence.dataobject.DepartmentDO;
import com.zcloud.gbscommon.zcloudcorp.response.ZcloudCorpInfoCO;
@ -33,5 +34,7 @@ public interface CorpInfoCoConvertor {
List<CorpDepartmentCO> converCorpInfoToCorpDepartCOs(List<CorpDepartmentE> corpInfoList);
List<ZcloudCorpInfoCO> converCOsToDubboCOs(List<CorpInfoCO> data);
List<CorpUserMiddleCO> converDOsToMiddleCOs(List<CorpInfoDO> data);
}

View File

@ -28,5 +28,7 @@ public interface DepartmentCoConvertor {
List<ZcloudDepartmentInfoCo> converCOsToDoubbpCOs(List<DepartmentCO> departmentCOList);
List<ZcloudDepartmentInfoCo> converCOsToDubboCOs(List<DepartmentCO> listed);
}

View File

@ -1,7 +1,10 @@
package com.zcloud.basic.info.command.convertor;
import com.zcloud.basic.info.dto.clientobject.CorpInfoCO;
import com.zcloud.basic.info.dto.clientobject.PostCO;
import com.zcloud.basic.info.persistence.dataobject.PostDO;
import com.zcloud.gbscommon.zcloudcorp.response.ZcloudCorpInfoCO;
import com.zcloud.gbscommon.zcloudpost.response.ZcloudPostCO;
import org.mapstruct.Mapper;
import java.util.List;
@ -20,5 +23,6 @@ public interface PostCoConvertor {
* @return
*/
List<PostCO> converDOsToCOs(List<PostDO> postDOs);
List<ZcloudPostCO> converCOsToDubboCOs(List<PostCO> data);
}

View File

@ -1,7 +1,10 @@
package com.zcloud.basic.info.command.convertor;
import com.jjb.saas.system.client.user.request.FacadeUserAddCmd;
import com.zcloud.basic.info.domain.model.UserE;
import com.zcloud.basic.info.dto.clientobject.UserCO;
import com.zcloud.basic.info.persistence.dataobject.UserDO;
import com.zcloud.gbscommon.zclouduser.response.ZcloudUserCo;
import org.mapstruct.Mapper;
import java.util.List;
@ -20,5 +23,8 @@ public interface UserCoConvertor {
* @return
*/
List<UserCO> converDOsToCOs(List<UserDO> userDOs);
FacadeUserAddCmd converEToFacadeUserAddCmd(UserE userE);
List<ZcloudUserCo> converCOsToDubboCOs(List<UserCO> userCOList);
}

View File

@ -0,0 +1,24 @@
package com.zcloud.basic.info.command.convertor;
import com.zcloud.basic.info.dto.clientobject.UserEmploymentLogCO;
import com.zcloud.basic.info.persistence.dataobject.UserEmploymentLogDO;
import org.mapstruct.Mapper;
import java.util.List;
/**
* web-app
*
* @Author zhangyue
* @Date 2025-11-06 19:15:37
*/
@Mapper(componentModel = "spring")
public interface UserEmploymentLogCoConvertor {
/**
* @param userEmploymentLogDOs
* @return
*/
List<UserEmploymentLogCO> converDOsToCOs(List<UserEmploymentLogDO> userEmploymentLogDOs);
}

View File

@ -2,6 +2,7 @@ package com.zcloud.basic.info.command.query;
import cn.hutool.core.collection.CollUtil;
import com.alibaba.cola.dto.PageResponse;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.jjb.saas.system.client.tenant.request.TenantAddCmd;
import com.zcloud.basic.info.command.convertor.CorpInfoCoConvertor;
import com.zcloud.basic.info.domain.model.CorpDepartmentE;
@ -9,22 +10,23 @@ import com.zcloud.basic.info.domain.model.CorpInfoE;
import com.zcloud.basic.info.domain.model.DepartmentE;
import com.zcloud.basic.info.dto.CorpDepartmentQry;
import com.zcloud.basic.info.dto.CorpInfoPageQry;
import com.zcloud.basic.info.dto.CorpUserMiddleQry;
import com.zcloud.basic.info.dto.clientobject.CorpDepartmentCO;
import com.zcloud.basic.info.dto.clientobject.CorpInfoCO;
import com.zcloud.basic.info.dto.clientobject.CorpUserMiddleCO;
import com.zcloud.basic.info.persistence.dataobject.CorpInfoDO;
import com.zcloud.basic.info.persistence.dataobject.DepartmentDO;
import com.zcloud.basic.info.persistence.repository.CorpInfoRepository;
import com.zcloud.basic.info.persistence.repository.DepartmentRepository;
import com.zcloud.basic.info.persistence.repository.PostRepository;
import com.zcloud.basic.info.persistence.repository.UserRepository;
import com.zcloud.gbscommon.utils.PageQueryHelper;
import lombok.AllArgsConstructor;
import org.apache.dubbo.config.annotation.DubboReference;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Component;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.*;
/**
@ -39,6 +41,8 @@ public class CorpInfoQueryExe {
private final CorpInfoRepository corpInfoRepository;
private final CorpInfoCoConvertor corpInfoCoConvertor;
private final DepartmentRepository departmentRepository;
private final PostRepository postRepository;
private final UserRepository userRepository;
/**
@ -85,5 +89,32 @@ public class CorpInfoQueryExe {
return PageResponse.of(corpDepartmentCOList, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex());
}
public PageResponse<CorpUserMiddleCO> corpUserMiddlePage(CorpUserMiddleQry qry) {
Map<String, Object> parmas = PageQueryHelper.toHashMap(qry);
PageResponse<CorpInfoDO> pageResponse = corpInfoRepository.listPage(parmas);
List<CorpUserMiddleCO> examCenterCOS = corpInfoCoConvertor.converDOsToMiddleCOs(pageResponse.getData());
examCenterCOS.forEach(info->{
info.setDepartMentCount(departmentRepository.getCountByCorpInfoId(info.getId()));
info.setPostCount(postRepository.getCountByCorpInfoId(info.getId()));
info.setUserCount(userRepository.getCountByCorpInfoId(info.getId()));
// info.setMiddleUserCount(departmentRepository.getCountByCorpInfoId(info.getId()));
});
return PageResponse.of(examCenterCOS, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex());
}
public List<CorpInfoCO> getCorpList() {
List<CorpInfoDO> list = corpInfoRepository.list();
return corpInfoCoConvertor.converDOsToCOs(list);
}
public List<CorpInfoCO> listByCorpIds(Collection<Long> collection) {
QueryWrapper<CorpInfoDO> dOQueryWrapper = new QueryWrapper<>();
dOQueryWrapper.in("id", collection);
List<CorpInfoDO> list = corpInfoRepository.list(dOQueryWrapper);
return corpInfoCoConvertor.converDOsToCOs(list);
}
}

View File

@ -2,6 +2,7 @@ package com.zcloud.basic.info.command.query;
import cn.hutool.core.collection.CollUtil;
import com.alibaba.cola.dto.PageResponse;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.jjb.saas.framework.auth.utils.AuthContext;
import com.zcloud.basic.info.command.convertor.DepartmentCoConvertor;
import com.zcloud.basic.info.domain.model.DepartmentE;
@ -11,8 +12,10 @@ import com.zcloud.basic.info.dto.DepartmentQry;
import com.zcloud.basic.info.dto.DepartmentTreeQry;
import com.zcloud.basic.info.dto.clientobject.CorpDepartmentCO;
import com.zcloud.basic.info.dto.clientobject.DepartmentCO;
import com.zcloud.basic.info.dto.clientobject.DepartmentInfoCO;
import com.zcloud.basic.info.dto.clientobject.DepartmentTreeInfoCO;
import com.zcloud.basic.info.persistence.dataobject.DepartmentDO;
import com.zcloud.basic.info.persistence.dataobject.PostDO;
import com.zcloud.basic.info.persistence.repository.DepartmentRepository;
import com.zcloud.gbscommon.utils.PageQueryHelper;
import com.zcloud.gbscommon.utils.Tools;
@ -44,6 +47,9 @@ public class DepartmentQueryExe {
* @return
*/
public PageResponse<DepartmentCO> execute(DepartmentPageQry departmentPageQry) {
if(departmentPageQry.getEqCorpinfoId() == null){
departmentPageQry.setEqCorpinfoId(AuthContext.getTenantId());
}
Map<String, Object> parmas = PageQueryHelper.toHashMap(departmentPageQry);
PageResponse<DepartmentDO> pageResponse = departmentRepository.listPage(parmas);
List<DepartmentCO> examCenterCOS = departmentCoConvertor.converDOsToCOs(pageResponse.getData());
@ -60,18 +66,42 @@ public class DepartmentQueryExe {
return Collections.emptyList();
}
List<DepartmentTreeInfoCO> examCenterCOS = departmentCoConvertor.converDOsToInfoCOs(pageResponse);
//GBS部门第一次是1
//GBS部门根节点父部门是1
return Tools.buildEntityTree(examCenterCOS, "id", "parentId", "childrenList");
}
public DepartmentCO info(Long id) {
public DepartmentInfoCO info(Long id) {
DepartmentDO info = departmentRepository.getById(id);
DepartmentCO departmentCO = new DepartmentCO();
if (info == null) {
return null;
}
DepartmentInfoCO departmentCO = new DepartmentInfoCO();
BeanUtils.copyProperties(info, departmentCO);
// 获取父部门名称
if (departmentCO.getParentId() != null) {
DepartmentDO departmentDO = departmentRepository.getById(departmentCO.getParentId());
if (departmentDO != null) {
departmentCO.setParentName(departmentDO.getName());
}
}
return departmentCO;
}
public List<DepartmentCO> listByDepartIds(Collection<Long> collection) {
QueryWrapper<DepartmentDO> dOQueryWrapper = new QueryWrapper<>();
dOQueryWrapper.in("id", collection);
List<DepartmentDO> list = departmentRepository.list(dOQueryWrapper);
return departmentCoConvertor.converDOsToCOs(list);
}
public List<DepartmentCO> getDeptList() {
List<DepartmentDO> list = departmentRepository.list();
return departmentCoConvertor.converDOsToCOs(list);
}
}

View File

@ -36,8 +36,8 @@ public class ImgFilesQueryExe {
* @return
*/
public PageResponse<ImgFilesCO> execute(ImgFilesPageQry imgFilesPageQry) {
Map<String,Object> parmas = PageQueryHelper.toHashMap(imgFilesPageQry);
PageResponse<ImgFilesDO> pageResponse = imgFilesRepository.listPage(parmas);
Map<String,Object> params = PageQueryHelper.toHashMap(imgFilesPageQry);
PageResponse<ImgFilesDO> pageResponse = imgFilesRepository.listPage(params);
List<ImgFilesCO> examCenterCOS = imgFilesCoConvertor.converDOsToCOs(pageResponse.getData());
return PageResponse.of(examCenterCOS, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex());
}
@ -48,8 +48,8 @@ public class ImgFilesQueryExe {
* @return
*/
public MultiResponse<ImgFilesCO> executeList(ImgFilesQryCmd imgFilesQryCmd) {
Map<String,Object> parmas = PageQueryHelper.toHashMap(imgFilesQryCmd);
List<ImgFilesDO> imgFilesDOList = imgFilesRepository.listAll(parmas);
Map<String,Object> params = PageQueryHelper.toHashMap(imgFilesQryCmd);
List<ImgFilesDO> imgFilesDOList = imgFilesRepository.listAll(params);
List<ImgFilesCO> imgFilesCOList = imgFilesCoConvertor.converDOsToCOs(imgFilesDOList);
return MultiResponse.of(imgFilesCOList);
}

View File

@ -2,6 +2,7 @@ package com.zcloud.basic.info.command.query;
import cn.hutool.core.collection.CollUtil;
import com.alibaba.cola.dto.MultiResponse;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.zcloud.basic.info.command.convertor.DepartmentCoConvertor;
import com.zcloud.basic.info.command.convertor.PostCoConvertor;
import com.zcloud.basic.info.command.convertor.PostDepartmentCoConvertor;
@ -14,6 +15,7 @@ import com.zcloud.basic.info.dto.clientobject.PostDepartmentCO;
import com.zcloud.basic.info.persistence.dataobject.DepartmentDO;
import com.zcloud.basic.info.persistence.dataobject.PostDO;
import com.zcloud.basic.info.persistence.dataobject.PostDepartmentDO;
import com.zcloud.basic.info.persistence.dataobject.UserDO;
import com.zcloud.basic.info.persistence.repository.DepartmentRepository;
import com.zcloud.basic.info.persistence.repository.PostDepartmentRepository;
import com.zcloud.basic.info.persistence.repository.PostRepository;
@ -24,10 +26,7 @@ import lombok.AllArgsConstructor;
import org.springframework.stereotype.Component;
import org.springframework.beans.BeanUtils;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.*;
import java.util.stream.Collectors;
@ -57,23 +56,25 @@ public class PostQueryExe {
Map<String, Object> params = PageQueryHelper.toHashMap(postPageQry);
PageResponse<PostDO> pageResponse = postRepository.listPage(params);
if (CollUtil.isEmpty(pageResponse.getData())) {
List<PostCO> postCOList = new ArrayList<>();
return PageResponse.of(postCOList, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex());
}
Long[] departmentIds = pageResponse.getData().stream().map(PostDO::getDepartmentId).toArray(Long[]::new);
List<DepartmentDO> departmentDOList = departmentRepository.listByIds(Arrays.asList(departmentIds));
// Map<部门id, 部门名称>
Map<Long, String> departmentMap = new HashMap<>();
if(CollUtil.isNotEmpty(departmentDOList)) {
if (CollUtil.isNotEmpty(departmentDOList)) {
List<DepartmentCO> departmentCOList = departmentCoConvertor.converDOsToCOs(departmentDOList);
departmentMap = departmentCOList.stream().collect(Collectors.toMap(
DepartmentCO::getId,
DepartmentCO::getName
));
departmentMap = departmentCOList.stream().collect(Collectors.toMap(DepartmentCO::getId, DepartmentCO::getName));
}
List<PostCO> postCOList = postCoConvertor.converDOsToCOs(pageResponse.getData());
if(CollUtil.isNotEmpty(postCOList)) {
if (CollUtil.isNotEmpty(postCOList)) {
for (PostCO postCO : postCOList) {
if(CollUtil.isNotEmpty(departmentMap)) {
if (CollUtil.isNotEmpty(departmentMap)) {
postCO.setDepartmentName(departmentMap.get(postCO.getDepartmentId()));
}
}
@ -84,6 +85,7 @@ public class PostQueryExe {
/**
*
*
* @param qry
* @return
*/
@ -92,7 +94,7 @@ public class PostQueryExe {
// 岗位集合
MultiResponse<PostDO> postMRDO = postRepository.list(params);
if(postMRDO == null || CollUtil.isEmpty(postMRDO.getData())) {
if (postMRDO == null || CollUtil.isEmpty(postMRDO.getData())) {
return new MultiResponse<>();
}
Long[] postIds = postMRDO.getData().stream().map(PostDO::getId).toArray(Long[]::new);
@ -103,29 +105,26 @@ public class PostQueryExe {
// Map<岗位id, List<岗位部门对象>>
Map<Long, List<PostDepartmentCO>> postDepartmentMap = new HashMap<>();
if(CollUtil.isNotEmpty(postDepartmentDOList)) {
if (CollUtil.isNotEmpty(postDepartmentDOList)) {
List<PostDepartmentCO> postDepartmentCOList = postDepartmentCoConvertor.converDOsToCOs(postDepartmentDOList);
postDepartmentMap = postDepartmentCOList.stream().collect(Collectors.groupingBy(PostDepartmentCO::getPostId));
}
// Map<部门id, 部门名称>
Map<Long, String> departmentMap = new HashMap<>();
if(CollUtil.isNotEmpty(departmentDOList)) {
if (CollUtil.isNotEmpty(departmentDOList)) {
List<DepartmentCO> departmentCOList = departmentCoConvertor.converDOsToCOs(departmentDOList);
departmentMap = departmentCOList.stream().collect(Collectors.toMap(
DepartmentCO::getId,
DepartmentCO::getName
));
departmentMap = departmentCOList.stream().collect(Collectors.toMap(DepartmentCO::getId, DepartmentCO::getName));
}
// 赋值
List<PostDO> postDOList = postMRDO.getData();
List<PostCO> postCOList = postCoConvertor.converDOsToCOs(postDOList);
if(CollUtil.isNotEmpty(postCOList)) {
if (CollUtil.isNotEmpty(postCOList)) {
for (PostCO postCO : postCOList) {
if(CollUtil.isNotEmpty(postDepartmentMap) && CollUtil.isNotEmpty(postDepartmentMap.get(postCO.getId()))) {
if (CollUtil.isNotEmpty(postDepartmentMap) && CollUtil.isNotEmpty(postDepartmentMap.get(postCO.getId()))) {
postCO.setDepartmentList(postDepartmentMap.get(postCO.getId()));
}
if(CollUtil.isNotEmpty(departmentMap)) {
if (CollUtil.isNotEmpty(departmentMap)) {
postCO.setDepartmentName(departmentMap.get(postCO.getDepartmentId()));
}
}
@ -139,6 +138,7 @@ public class PostQueryExe {
/**
*
*
* @param id
* @return
*/
@ -154,7 +154,7 @@ public class PostQueryExe {
postCO.getData().setDepartmentName(departmentDO.getName());
// 岗位-部门权限关联代码
if(co.getSupervisionFlag() == 1){
if (co.getSupervisionFlag() == 1) {
PostDepartmentPageQry qry = new PostDepartmentPageQry();
qry.setEqPostId(id);
Map<String, Object> params = PageQueryHelper.toHashMap(qry);
@ -166,5 +166,17 @@ public class PostQueryExe {
return postCO;
}
public List<PostCO> listByPostIds(Collection<Long> collection) {
QueryWrapper<PostDO> dOQueryWrapper = new QueryWrapper<>();
dOQueryWrapper.in("id", collection);
List<PostDO> list = postRepository.list(dOQueryWrapper);
return postCoConvertor.converDOsToCOs(list);
}
public List<PostCO> getPostList() {
List<PostDO> list = postRepository.list();
return postCoConvertor.converDOsToCOs(list);
}
}

View File

@ -0,0 +1,59 @@
package com.zcloud.basic.info.command.query;
import com.alibaba.cola.dto.MultiResponse;
import com.alibaba.cola.dto.PageResponse;
import com.zcloud.basic.info.command.convertor.UserEmploymentLogCoConvertor;
import com.zcloud.basic.info.dto.UserEmploymentLogPageQry;
import com.zcloud.basic.info.dto.UserEmploymentLogQryCmd;
import com.zcloud.basic.info.dto.clientobject.UserEmploymentLogCO;
import com.zcloud.basic.info.persistence.dataobject.UserEmploymentLogDO;
import com.zcloud.basic.info.persistence.repository.UserEmploymentLogRepository;
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-06 19:15:37
*/
@Component
@AllArgsConstructor
public class UserEmploymentLogQueryExe {
private final UserEmploymentLogRepository userEmploymentLogRepository;
private final UserEmploymentLogCoConvertor userEmploymentLogCoConvertor;
/**
*
*
* @param userEmploymentLogPageQry
* @return
*/
public PageResponse<UserEmploymentLogCO> execute(UserEmploymentLogPageQry userEmploymentLogPageQry) {
Map<String, Object> params = PageQueryHelper.toHashMap(userEmploymentLogPageQry);
PageResponse<UserEmploymentLogDO> pageResponse = userEmploymentLogRepository.listPage(params);
List<UserEmploymentLogCO> examCenterCOS = userEmploymentLogCoConvertor.converDOsToCOs(pageResponse.getData());
return PageResponse.of(examCenterCOS, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex());
}
/**
*
*
* @param userEmploymentLogQryCmd
* @return
*/
public MultiResponse<UserEmploymentLogCO> executeListAll(UserEmploymentLogQryCmd userEmploymentLogQryCmd) {
Map<String, Object> params = PageQueryHelper.toHashMap(userEmploymentLogQryCmd);
List<UserEmploymentLogDO> userEmploymentLogDOList = userEmploymentLogRepository.listAll(params);
List<UserEmploymentLogCO> userEmploymentLogCOList = userEmploymentLogCoConvertor.converDOsToCOs(userEmploymentLogDOList);
return MultiResponse.of(userEmploymentLogCOList);
}
}

View File

@ -1,42 +1,120 @@
package com.zcloud.basic.info.command.query;
import com.alibaba.cola.dto.MultiResponse;
import com.alibaba.cola.dto.PageResponse;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.alibaba.cola.dto.Response;
import com.alibaba.cola.dto.SingleResponse;
import com.jjb.saas.system.client.role.facade.RoleFacade;
import com.zcloud.basic.info.command.convertor.UserCoConvertor;
import com.zcloud.basic.info.domain.gateway.UserGateway;
import com.zcloud.basic.info.domain.model.UserE;
import com.zcloud.basic.info.dto.UserPageQry;
import com.zcloud.basic.info.dto.UserQryCmd;
import com.zcloud.basic.info.dto.UserVerifyQryCmd;
import com.zcloud.basic.info.dto.clientobject.ImgFilesCO;
import com.zcloud.basic.info.dto.clientobject.UserCO;
import com.zcloud.basic.info.persistence.dataobject.ImgFilesDO;
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.beans.BeanUtils;
import org.springframework.stereotype.Component;
import org.springframework.web.multipart.MultipartFile;
import java.util.Collection;
import java.util.List;
import java.util.Map;
/**
* web-app
* @Author zhangyue
* @Date 2025-11-04 14:07:36
*/
* web-app
*
* @Author zhangyue
* @Date 2025-11-04 14:07:36
*/
@Component
@AllArgsConstructor
public class UserQueryExe {
private final UserRepository userRepository;
private final UserGateway userGateway;
private final UserCoConvertor userCoConvertor;
private final RoleFacade roleFacade;
/**
*
*
* @param userPageQry
* @return
*/
*
*
* @param userPageQry
* @return
*/
public PageResponse<UserCO> execute(UserPageQry userPageQry) {
Map<String,Object> params = PageQueryHelper.toHashMap(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());
List<UserCO> examCenterCOS = userCoConvertor.converDOsToCOs(pageResponse.getData());
return PageResponse.of(examCenterCOS, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex());
}
/**
*
*
* @param userQryCmd
* @return
*/
public MultiResponse<UserCO> executeListAll(UserQryCmd userQryCmd) {
Map<String, Object> params = PageQueryHelper.toHashMap(userQryCmd);
List<UserDO> imgFilesDOList = userRepository.listAll(params);
List<UserCO> imgFilesCOList = userCoConvertor.converDOsToCOs(imgFilesDOList);
return MultiResponse.of(imgFilesCOList);
}
/**
*
*
* @param id
* @return
*/
public SingleResponse<UserCO> executeGetInfo(Long id) {
UserDO userDO = userRepository.getInfoById(id);
UserCO userCO = new UserCO();
BeanUtils.copyProperties(userDO, userCO);
return SingleResponse.of(userCO);
}
/**
*
*
* @param userVerifyQryCmd
* @return
*/
public Response executeVerifyUser(UserVerifyQryCmd userVerifyQryCmd) {
Map<String, Object> params = PageQueryHelper.toHashMap(userVerifyQryCmd);
Long count = userGateway.countUserByUsername(params);
UserE userE = new UserE();
return userE.verifyUser(count);
}
public List<UserCO> listByUserIds(Collection<Long> collection) {
QueryWrapper<UserDO> userDOQueryWrapper = new QueryWrapper<>();
userDOQueryWrapper.in("id",collection);
List<UserDO> list = userRepository.list(userDOQueryWrapper);
return userCoConvertor.converDOsToCOs(list);
}
public List<UserCO> getUserList() {
List<UserDO> list = userRepository.list();
return userCoConvertor.converDOsToCOs(list);
}
public UserCO getInfoByUserId(Long aLong) {
UserDO byId = userRepository.getById(aLong);
UserCO userCO = new UserCO();
BeanUtils.copyProperties(byId,userCO);
return userCO;
}
}

View File

@ -10,11 +10,16 @@ import com.zcloud.basic.info.dto.*;
import com.zcloud.basic.info.dto.clientobject.CorpDepartmentCO;
import com.zcloud.basic.info.dto.clientobject.CorpInfoCO;
import com.zcloud.basic.info.domain.enums.UserTypeEnum;
import com.zcloud.basic.info.dto.clientobject.CorpUserMiddleCO;
import com.zcloud.gbscommon.utils.Tools;
import org.apache.shiro.crypto.hash.SimpleHash;
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Service;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
/**
* web-app
*
@ -89,5 +94,22 @@ public class CorpInfoServiceImpl implements CorpInfoServiceI {
public void changeEnableFlag(CorpInfoUpdateUseFlagCmd corpInfoUpdateUseFlagCmd) {
corpInfoUpdateExe.changeEnableFlag(corpInfoUpdateUseFlagCmd);
}
@Override
public PageResponse<CorpUserMiddleCO> corpUserMiddlePage(CorpUserMiddleQry qry) {
return corpInfoQueryExe.corpUserMiddlePage(qry);
}
@Override
public List<CorpInfoCO> getCorpList() {
return corpInfoQueryExe.getCorpList();
}
@Override
public List<CorpInfoCO> listByCorpIds(Collection<Long> collection) {
return corpInfoQueryExe.listByCorpIds(collection);
}
}

View File

@ -10,11 +10,14 @@ import com.zcloud.basic.info.command.query.DepartmentQueryExe;
import com.zcloud.basic.info.dto.*;
import com.zcloud.basic.info.dto.clientobject.CorpDepartmentCO;
import com.zcloud.basic.info.dto.clientobject.DepartmentCO;
import com.zcloud.basic.info.dto.clientobject.DepartmentInfoCO;
import com.zcloud.basic.info.dto.clientobject.DepartmentTreeInfoCO;
import lombok.AllArgsConstructor;
import org.checkerframework.checker.units.qual.A;
import org.springframework.stereotype.Service;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
/**
@ -65,10 +68,19 @@ public class DepartmentServiceImpl implements DepartmentServiceI {
}
@Override
public DepartmentCO info(Long id) {
public DepartmentInfoCO info(Long id) {
return departmentQueryExe.info(id);
}
@Override
public List<DepartmentCO> listByDepartIds(Collection<Long> collection) {
return departmentQueryExe.listByDepartIds(collection);
}
@Override
public List<DepartmentCO> getDeptList() {
return departmentQueryExe.getDeptList();
}
}

View File

@ -17,6 +17,10 @@ import com.alibaba.cola.dto.SingleResponse;
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Service;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
/**
* web-app
*
@ -67,5 +71,15 @@ public class PostServiceImpl implements PostServiceI {
public void removeBatch(Long[] ids) {
postRemoveExe.execute(ids);
}
@Override
public List<PostCO> listByPostIds(Collection<Long> collection) {
return postQueryExe.listByPostIds(collection);
}
@Override
public List<PostCO> getPostList() {
return postQueryExe.getPostList();
}
}

View File

@ -0,0 +1,66 @@
package com.zcloud.basic.info.service;
import com.alibaba.cola.dto.MultiResponse;
import com.alibaba.cola.dto.PageResponse;
import com.alibaba.cola.dto.SingleResponse;
import com.zcloud.basic.info.api.UserEmploymentLogServiceI;
import com.zcloud.basic.info.command.UserEmploymentLogAddExe;
import com.zcloud.basic.info.command.UserEmploymentLogRemoveExe;
import com.zcloud.basic.info.command.UserEmploymentLogUpdateExe;
import com.zcloud.basic.info.command.query.UserEmploymentLogQueryExe;
import com.zcloud.basic.info.dto.UserEmploymentLogAddCmd;
import com.zcloud.basic.info.dto.UserEmploymentLogPageQry;
import com.zcloud.basic.info.dto.UserEmploymentLogQryCmd;
import com.zcloud.basic.info.dto.UserEmploymentLogUpdateCmd;
import com.zcloud.basic.info.dto.clientobject.UserEmploymentLogCO;
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Service;
/**
* web-app
*
* @Author zhangyue
* @Date 2025-11-06 19:15:37
*/
@Service
@AllArgsConstructor
public class UserEmploymentLogServiceImpl implements UserEmploymentLogServiceI {
private final UserEmploymentLogAddExe userEmploymentLogAddExe;
private final UserEmploymentLogUpdateExe userEmploymentLogUpdateExe;
private final UserEmploymentLogRemoveExe userEmploymentLogRemoveExe;
private final UserEmploymentLogQueryExe userEmploymentLogQueryExe;
@Override
public PageResponse<UserEmploymentLogCO> listPage(UserEmploymentLogPageQry qry) {
return userEmploymentLogQueryExe.execute(qry);
}
@Override
public SingleResponse add(UserEmploymentLogAddCmd cmd) {
userEmploymentLogAddExe.execute(cmd);
return SingleResponse.buildSuccess();
}
@Override
public void edit(UserEmploymentLogUpdateCmd userEmploymentLogUpdateCmd) {
userEmploymentLogUpdateExe.execute(userEmploymentLogUpdateCmd);
}
@Override
public void remove(Long id) {
userEmploymentLogRemoveExe.execute(id);
}
@Override
public void removeBatch(Long[] ids) {
userEmploymentLogRemoveExe.execute(ids);
}
@Override
public MultiResponse<UserEmploymentLogCO> listAll(UserEmploymentLogQryCmd qry) {
return userEmploymentLogQueryExe.executeListAll(qry);
}
}

View File

@ -1,24 +1,28 @@
package com.zcloud.basic.info.service;
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.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.*;
import com.zcloud.basic.info.dto.clientobject.UserCO;
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Service;
import java.util.Collection;
import java.util.List;
/**
* web-app
* @Author zhangyue
* @Date 2025-11-04 14:07:37
*/
* web-app
*
* @Author zhangyue
* @Date 2025-11-04 14:07:37
*/
@Service
@AllArgsConstructor
public class UserServiceImpl implements UserServiceI {
@ -28,7 +32,7 @@ public class UserServiceImpl implements UserServiceI {
private final UserQueryExe userQueryExe;
@Override
public PageResponse<UserCO> listPage(UserPageQry qry){
public PageResponse<UserCO> listPage(UserPageQry qry) {
return userQueryExe.execute(qry);
}
@ -40,6 +44,13 @@ public class UserServiceImpl implements UserServiceI {
return SingleResponse.buildSuccess();
}
@Override
public SingleResponse addXgf(UserXgfAddCmd cmd) {
userAddExe.executeXgf(cmd);
return SingleResponse.buildSuccess();
}
@Override
public void edit(UserUpdateCmd userUpdateCmd) {
userUpdateExe.execute(userUpdateCmd);
@ -54,5 +65,37 @@ public class UserServiceImpl implements UserServiceI {
public void removeBatch(Long[] ids) {
userRemoveExe.execute(ids);
}
@Override
public MultiResponse<UserCO> listAll(UserQryCmd userQryCmd) {
return userQueryExe.executeListAll(userQryCmd);
}
@Override
public List<UserCO> listByUserIds(Collection<Long> collection) {
return userQueryExe.listByUserIds(collection);
}
@Override
public List<UserCO> getUserList() {
return userQueryExe.getUserList();
}
@Override
public UserCO getInfoByUserId(Long aLong) {
return userQueryExe.getInfoByUserId(aLong);
}
@Override
public SingleResponse<UserCO> getInfoById(Long id) {
return userQueryExe.executeGetInfo(id);
}
@Override
public Response verifyUser(UserVerifyQryCmd userVerifyQryCmd) {
return userQueryExe.executeVerifyUser(userVerifyQryCmd);
}
}

View File

@ -5,7 +5,9 @@ import com.alibaba.cola.dto.SingleResponse;
import com.zcloud.basic.info.dto.*;
import com.zcloud.basic.info.dto.clientobject.CorpDepartmentCO;
import com.zcloud.basic.info.dto.clientobject.CorpInfoCO;
import com.zcloud.basic.info.dto.clientobject.CorpUserMiddleCO;
import java.util.Collection;
import java.util.List;
/**
@ -34,5 +36,11 @@ public interface CorpInfoServiceI {
void changeCompanyName(CorpInfoUpdateCmd corpInfoUpdateCmd);
void changeEnableFlag(CorpInfoUpdateUseFlagCmd corpInfoUpdateUseFlagCmd);
PageResponse<CorpUserMiddleCO> corpUserMiddlePage(CorpUserMiddleQry qry);
List<CorpInfoCO> getCorpList();
List<CorpInfoCO> listByCorpIds(Collection<Long> collection);
}

View File

@ -5,8 +5,10 @@ import com.alibaba.cola.dto.SingleResponse;
import com.zcloud.basic.info.dto.*;
import com.zcloud.basic.info.dto.clientobject.CorpDepartmentCO;
import com.zcloud.basic.info.dto.clientobject.DepartmentCO;
import com.zcloud.basic.info.dto.clientobject.DepartmentInfoCO;
import com.zcloud.basic.info.dto.clientobject.DepartmentTreeInfoCO;
import java.util.Collection;
import java.util.List;
/**
@ -28,7 +30,10 @@ public interface DepartmentServiceI {
List<DepartmentTreeInfoCO> listTree(DepartmentTreeQry qry);
DepartmentCO info(Long id);
DepartmentInfoCO info(Long id);
List<DepartmentCO> listByDepartIds(Collection<Long> collection);
List<DepartmentCO> getDeptList();
}

View File

@ -10,6 +10,9 @@ import com.zcloud.basic.info.dto.clientobject.PostCO;
import com.alibaba.cola.dto.PageResponse;
import com.alibaba.cola.dto.SingleResponse;
import java.util.Collection;
import java.util.List;
/**
* web-client
*
@ -30,5 +33,9 @@ public interface PostServiceI {
void remove(Long id);
void removeBatch(Long[] ids);
List<PostCO> listByPostIds(Collection<Long> collection);
List<PostCO> getPostList();
}

View File

@ -0,0 +1,31 @@
package com.zcloud.basic.info.api;
import com.alibaba.cola.dto.MultiResponse;
import com.alibaba.cola.dto.PageResponse;
import com.alibaba.cola.dto.SingleResponse;
import com.zcloud.basic.info.dto.UserEmploymentLogAddCmd;
import com.zcloud.basic.info.dto.UserEmploymentLogPageQry;
import com.zcloud.basic.info.dto.UserEmploymentLogQryCmd;
import com.zcloud.basic.info.dto.UserEmploymentLogUpdateCmd;
import com.zcloud.basic.info.dto.clientobject.UserEmploymentLogCO;
/**
* web-client
*
* @Author zhangyue
* @Date 2025-11-06 19:15:37
*/
public interface UserEmploymentLogServiceI {
PageResponse<UserEmploymentLogCO> listPage(UserEmploymentLogPageQry qry);
SingleResponse<UserEmploymentLogCO> add(UserEmploymentLogAddCmd cmd);
void edit(UserEmploymentLogUpdateCmd cmd);
void remove(Long id);
void removeBatch(Long[] ids);
MultiResponse<UserEmploymentLogCO> listAll(UserEmploymentLogQryCmd qry);
}

View File

@ -1,13 +1,16 @@
package com.zcloud.basic.info.api;
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.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.*;
import com.zcloud.basic.info.dto.clientobject.UserCO;
import java.util.Collection;
import java.util.List;
/**
* web-client
* @Author zhangyue
@ -18,10 +21,26 @@ public interface UserServiceI {
SingleResponse<UserCO> add(UserAddCmd cmd);
SingleResponse<UserCO> addXgf(UserXgfAddCmd cmd);
void edit(UserUpdateCmd cmd);
void remove(Long id);
void removeBatch(Long[] ids);
MultiResponse<UserCO> listAll(UserQryCmd userQryCmd);
List<UserCO> listByUserIds(Collection<Long> collection);
List<UserCO> getUserList();
SingleResponse<UserCO> getInfoById(Long id);
Response verifyUser(UserVerifyQryCmd userVerifyQryCmd);
UserCO getInfoByUserId(Long aLong);
}

View File

@ -1,8 +1,12 @@
package com.zcloud.basic.info.dto;
import com.alibaba.cola.dto.PageQuery;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
/**
* web-client
@ -23,15 +27,17 @@ public class CorpInfoPageQry extends PageQuery {
* - `le`:
* - `ne`: SQL!=
*/
private String likeCorpinfoId;
private Long eqcorpinfoId;
@ApiModelProperty(value = "企业名称", name = "eqCorpinfoId")
private Long eqCorpinfoId;
@ApiModelProperty(value = "企业名称", name = "likecorpName")
private String likecorpName;
private String eqtype;
/**
*
* 2025-11-05
* 0 1 2
* 1 2 3
*/
private String enterpriseType;
@ApiModelProperty(value = "企业类型1监管 2企业 3相关方", name = "enterpriseType", required = true)
@NotNull(message = "企业类型不能为空")
private Integer enterpriseType;
}

View File

@ -0,0 +1,38 @@
package com.zcloud.basic.info.dto;
import com.alibaba.cola.dto.PageQuery;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* web-client
*
* @Author zhaokai
* @Date 2025-10-30 10:10:48
*/
@Data
public class CorpUserMiddleQry extends PageQuery {
/**
* ,
* - `like`: SQLLIKE
* - `eq`: SQL=
* - `gt`:
* - `lt`:
* - `ge`:
* - `le`:
* - `ne`: SQL!=
*/
/**
*
*/
@ApiModelProperty(value = "分公司名称", name = "likeCorpName")
private String likeCorpName;
@ApiModelProperty(value = "企业类型0-普通企业1-集团单位2-股份单位3-相关方企业4-货主单位5-驻港单位", name = "eqType")
private String eqType;
}

View File

@ -29,10 +29,10 @@ public class DepartmentAddCmd extends Command {
@NotEmpty(message = "名称不能为空")
private String name;
@ApiModelProperty(value = "父部门id", name = "parentId", required = true)
// @NotNull(message = "父部门id不能为空")
@NotNull(message = "父部门id不能为空")
private Long parentId;
@ApiModelProperty(value = "所属企业", name = "corpinfoId", required = true)
@ApiModelProperty(value = "所属企业", name = "corpinfoId")
private Long corpinfoId;
@ApiModelProperty(value = "部门级别编码", name = "level", required = true)
@NotEmpty(message = "部门级别编码不能为空")
@ -43,8 +43,12 @@ public class DepartmentAddCmd extends Command {
@ApiModelProperty(value = "部门排序", name = "depOrder", required = true)
@NotNull(message = "部门排序不能为空")
private Integer depOrder;
@ApiModelProperty(value = "是否监管部门 0-否 1-是", name = "superviseFlag", required = true)
@ApiModelProperty(value = "是否监管部门 0-否 1-是", name = "superviseFlag")
private Integer superviseFlag;
@ApiModelProperty(value = "是否安全管理部门 0-否 1-是", name = "securityFlag")
private Integer securityFlag;
@ApiModelProperty(value = "备注", name = "remarks")
private String remarks;
}

View File

@ -32,7 +32,7 @@ public class DepartmentPageQry extends PageQuery {
@ApiModelProperty(value = "名称模糊查询", name = "likeName")
private String likeName;
@ApiModelProperty(value = "企业id", name = "eqCorpInfoId")
private Long eqCorpInfoId;
private Long eqCorpinfoId;
@ApiModelProperty(value = "父id", name = "eqParentId")
private Long eqParentId;
/**

View File

@ -41,9 +41,12 @@ public class DepartmentUpdateCmd extends Command {
private String levelName;
@ApiModelProperty(value = "部门排序", name = "depOrder", required = true)
private Integer depOrder;
@ApiModelProperty(value = "是否监管部门 0-否 1-是", name = "superviseFlag", required = true)
@ApiModelProperty(value = "是否监管部门 0-否 1-是", name = "superviseFlag")
private Integer superviseFlag;
@ApiModelProperty(value = "是否安全管理部门 0-否 1-是", name = "securityFlag")
private Integer securityFlag;
@ApiModelProperty(value = "备注", name = "remarks")
private String remarks;
}

View File

@ -20,15 +20,17 @@ import javax.validation.constraints.*;
@NoArgsConstructor
@AllArgsConstructor
public class PostAddCmd extends Command {
@ApiModelProperty(value = "部门id", name = "departmentId", required = true)
@NotNull(message = "部门id不能为空")
@ApiModelProperty(value = "部门id", name = "departmentIdString", required = true)
@NotEmpty(message = "部门id不能为空")
private String departmentIdString;
private Long departmentId;
@ApiModelProperty(value = "岗位名称", name = "postName", required = true)
@NotEmpty(message = "岗位名称不能为空")
private String postName;
@ApiModelProperty(value = "岗位职责", name = "remarks")
@ApiModelProperty(value = "岗位职责", name = "remarks", required = true)
@NotEmpty(message = "岗位职责不能为空")
private String remarks;
// @ApiModelProperty(value = "状态 1-启用, 2-禁用", name = "status", required = true)
@ -46,10 +48,11 @@ public class PostAddCmd extends Command {
@ApiModelProperty(value = "是否监管岗位 0-否, 1-是", name = "supervisionFlag")
private Integer supervisionFlag;
@ApiModelProperty(value = "岗位-部门权限", name = "departmentIds")
@ApiModelProperty(value = "岗位-部门权限", name = "departmentIdsString")
private String[] departmentIdsString;
private Long[] departmentIds;
@ApiModelProperty(value = "监管端/企业端标识,1-监管端, 2-企业端", name = "corpFlag")
@ApiModelProperty(value = "监管端/企业端标识,1-监管端, 2-企业端", name = "corpFlag", required = true)
@NotNull(message = "监管端/企业端标识不能为空")
private Integer corpFlag;
}

View File

@ -3,6 +3,7 @@ package com.zcloud.basic.info.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
@ -31,13 +32,15 @@ public class PostListQry {
// 监管端/企业端标识,1-监管端, 2-企业端
private Integer corpFlag;
@ApiModelProperty(value = "主键id集合", name = "postIds", required = true)
@ApiModelProperty(value = "主键id集合", name = "postIdsString")
// 主键id集合
private String[] postIdsString;
private Long[] postIds;
@ApiModelProperty(value = "部门id", name = "departmentId", required = true)
@NotNull(message = "部门id不能为空")
@ApiModelProperty(value = "部门id", name = "departmentIdString", required = true)
@NotEmpty(message = "部门id不能为空")
// 部门id
private String departmentIdString;
private Long departmentId;
@ApiModelProperty(value = "企业id", name = "corpinfoId", required = true)

View File

@ -4,6 +4,7 @@ import com.alibaba.cola.dto.PageQuery;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
@ -32,9 +33,10 @@ public class PostPageQry extends PageQuery {
// 监管端/企业端标识,1-监管端, 2-企业端
private Integer corpFlag;
@ApiModelProperty(value = "部门id", name = "eqDepartmentId", required = true)
@NotNull(message = "部门id不能为空")
@ApiModelProperty(value = "部门id", name = "departmentIdString", required = true)
@NotEmpty(message = "部门id不能为空")
// 部门id
private String departmentIdString;
private Long eqDepartmentId;
@ApiModelProperty(value = "企业id", name = "eqCorpinfoId")

View File

@ -21,8 +21,9 @@ import javax.validation.constraints.*;
@AllArgsConstructor
public class PostRemoveCmd extends Command {
@ApiModelProperty(value = "主键", name = "ids", required = true)
@NotNull(message = "主键不能为空")
@ApiModelProperty(value = "主键", name = "idsString", required = true)
@NotEmpty(message = "主键不能为空")
private String[] idsString;
private Long[] ids;
}

View File

@ -20,19 +20,22 @@ import javax.validation.constraints.*;
@NoArgsConstructor
@AllArgsConstructor
public class PostUpdateCmd extends Command {
@ApiModelProperty(value = "主键", name = "id", required = true)
@NotNull(message = "主键不能为空")
@ApiModelProperty(value = "主键", name = "idString", required = true)
@NotEmpty(message = "主键不能为空")
private String idString;
private Long id;
@ApiModelProperty(value = "部门id", name = "departmentId", required = true)
@NotNull(message = "部门id不能为空")
@ApiModelProperty(value = "部门id", name = "departmentIdString", required = true)
@NotEmpty(message = "部门id不能为空")
private String departmentIdString;
private Long departmentId;
@ApiModelProperty(value = "岗位名称", name = "postName", required = true)
@NotEmpty(message = "岗位名称不能为空")
private String postName;
@ApiModelProperty(value = "岗位职责", name = "remarks")
@ApiModelProperty(value = "岗位职责", name = "remarks", required = true)
@NotEmpty(message = "岗位职责不能为空")
private String remarks;
// @ApiModelProperty(value = "状态 1-启用, 2-禁用", name = "status", required = true)
@ -50,7 +53,8 @@ public class PostUpdateCmd extends Command {
@ApiModelProperty(value = "是否监管岗位 0-否, 1-是", name = "supervisionFlag")
private Integer supervisionFlag;
@ApiModelProperty(value = "岗位 部门权限", name = "departmentIds")
@ApiModelProperty(value = "岗位 部门权限", name = "departmentIdsString")
private String[] departmentIdsString;
private Long[] departmentIds;
@ApiModelProperty(value = "监管端/企业端标识,1-监管端, 2-企业端", name = "corpFlag", required = true)

View File

@ -21,8 +21,7 @@ import javax.validation.constraints.NotNull;
@NoArgsConstructor
@AllArgsConstructor
public class UserAddCmd extends Command {
@ApiModelProperty(value = "业务主键id老系统id", name = "userId", required = true)
@NotEmpty(message = "业务主键id老系统id不能为空")
@ApiModelProperty(value = "业务主键id老系统id", name = "userId")
private String userId;
@ApiModelProperty(value = "登录账号", name = "username", required = true)
@ -34,7 +33,6 @@ public class UserAddCmd extends Command {
private String name;
@ApiModelProperty(value = "企业id", name = "corpinfoId", required = true)
@NotNull(message = "企业id不能为空")
private Long corpinfoId;
@ApiModelProperty(value = "是否主账号1是0否", name = "mainCorpFlag", required = true)
@ -49,84 +47,77 @@ public class UserAddCmd extends Command {
@NotNull(message = "部门id不能为空")
private Long departmentId;
@ApiModelProperty(value = "岗位id", name = "postId", required = true)
@NotNull(message = "岗位id不能为空")
@ApiModelProperty(value = "岗位id", name = "postId")
private Long postId;
@ApiModelProperty(value = "角色id", name = "roleId", required = true)
@NotNull(message = "角色id不能为空")
private Long roleId;
@ApiModelProperty(value = "邮箱", name = "email", required = true)
@NotEmpty(message = "邮箱不能为空")
@ApiModelProperty(value = "邮箱", name = "email")
private String email;
@ApiModelProperty(value = "手机号", name = "phone")
private String phone;
@ApiModelProperty(value = "人员类型编码(主要负责人等)", name = "personnelType", required = true)
@NotEmpty(message = "人员类型编码(主要负责人等)不能为空")
@NotEmpty(message = "人员类型不能为空")
private String personnelType;
@ApiModelProperty(value = "人员类型翻译", name = "personnelTypeName", required = true)
@NotEmpty(message = "人员类型翻译不能为空")
@NotEmpty(message = "人员类型不能为空")
private String personnelTypeName;
@ApiModelProperty(value = "民族编码问一下有没有组件", name = "nation", required = true)
@NotEmpty(message = "民族编码问一下有没有组件不能为空")
@ApiModelProperty(value = "民族编码", name = "nation")
private String nation;
@ApiModelProperty(value = "民族名称", name = "nationName", required = true)
@NotEmpty(message = "民族名称不能为空")
@ApiModelProperty(value = "民族名称", name = "nationName")
private String nationName;
@ApiModelProperty(value = "身份证号", name = "userIdCard", required = true)
@NotEmpty(message = "身份证号不能为空")
@ApiModelProperty(value = "身份证号", name = "userIdCard")
private String userIdCard;
@ApiModelProperty(value = "人脸头像url", name = "userAvatarUrl", required = true)
@NotEmpty(message = "人脸头像url不能为空")
@ApiModelProperty(value = "人脸头像url", name = "userAvatarUrl")
private String userAvatarUrl;
@ApiModelProperty(value = "现住址", name = "currentAddress", required = true)
@NotEmpty(message = "现住址不能为空")
@ApiModelProperty(value = "现住址", name = "currentAddress")
private String currentAddress;
@ApiModelProperty(value = "户口所在地", name = "locationAddress", required = true)
@NotEmpty(message = "户口所在地不能为空")
@ApiModelProperty(value = "户口所在地", name = "locationAddress")
private String locationAddress;
@ApiModelProperty(value = "职级", name = "rankLevel")
private String rankLevel;
@ApiModelProperty(value = "职级名称", name = "rankLevelName")
private String rankLevelName;
@ApiModelProperty(value = "人员在部门中的排序", name = "sort", required = true)
@NotNull(message = "人员在部门中的排序不能为空")
// TODO 待确认企业端和监管端是否必填
@ApiModelProperty(value = "人员在部门中的排序", name = "sort")
private Integer sort;
@ApiModelProperty(value = "是否部门领导0否1是", name = "departmentLeaderFlag", required = true)
@NotNull(message = "是否部门领导0否1是不能为空")
@ApiModelProperty(value = "描述", name = "remarks")
private String remarks;
@ApiModelProperty(value = "是否部门领导0否1是", name = "departmentLeaderFlag")
private Integer departmentLeaderFlag;
@ApiModelProperty(value = "是否分管领导0否1是", name = "deputyLeaderFlag", required = true)
@NotNull(message = "是否分管领导0否1是不能为空")
@ApiModelProperty(value = "是否分管领导0否1是", name = "deputyLeaderFlag")
private Integer deputyLeaderFlag;
@ApiModelProperty(value = "文化程度 数据字典", name = "culturalLevel", required = true)
@NotEmpty(message = "文化程度 数据字典不能为空")
@ApiModelProperty(value = "文化程度 数据字典", name = "culturalLevel")
private String culturalLevel;
@ApiModelProperty(value = "文化程度名称", name = "culturalLevelName", required = true)
@NotEmpty(message = "文化程度名称不能为空")
@ApiModelProperty(value = "文化程度名称", name = "culturalLevelName")
private String culturalLevelName;
@ApiModelProperty(value = "婚姻状态", name = "maritalStatus", required = true)
@NotEmpty(message = "婚姻状态不能为空")
@ApiModelProperty(value = "婚姻状态", name = "maritalStatus")
private String maritalStatus;
@ApiModelProperty(value = "婚姻状态名称", name = "maritalStatusName", required = true)
@NotEmpty(message = "婚姻状态名称不能为空")
@ApiModelProperty(value = "婚姻状态名称", name = "maritalStatusName")
private String maritalStatusName;
@ApiModelProperty(value = "政治面貌", name = "politicalAffiliation", required = true)
@NotEmpty(message = "政治面貌不能为空")
@ApiModelProperty(value = "政治面貌", name = "politicalAffiliation")
private String politicalAffiliation;
@ApiModelProperty(value = "政治面貌名称", name = "politicalAffiliationName", required = true)
@NotEmpty(message = "政治面貌名称不能为空")
@ApiModelProperty(value = "政治面貌名称", name = "politicalAffiliationName")
private String politicalAffiliationName;
}

View File

@ -0,0 +1,57 @@
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-06 19:15:36
*/
@EqualsAndHashCode(callSuper = true)
@Data
@NoArgsConstructor
@AllArgsConstructor
public class UserEmploymentLogAddCmd extends Command {
@ApiModelProperty(value = "用户id", name = "userId", required = true)
@NotNull(message = "用户id不能为空")
private Long userId;
@ApiModelProperty(value = "企业id", name = "corpinfoId", required = true)
@NotNull(message = "企业id不能为空")
private Long corpinfoId;
@ApiModelProperty(value = "企业名称", name = "corpinfoName", required = true)
@NotEmpty(message = "企业名称不能为空")
private String corpinfoName;
@ApiModelProperty(value = "部门id", name = "departmentId", required = true)
@NotNull(message = "部门id不能为空")
private Long departmentId;
@ApiModelProperty(value = "部门名称", name = "departmentName", required = true)
@NotEmpty(message = "部门名称不能为空")
private String departmentName;
@ApiModelProperty(value = "岗位id", name = "postId", required = true)
@NotNull(message = "岗位id不能为空")
private Long postId;
@ApiModelProperty(value = "岗位名称", name = "postName", required = true)
@NotEmpty(message = "岗位名称不能为空")
private String postName;
@ApiModelProperty(value = "入职状态1-入职 0-离职", name = "employmentFlag", required = true)
@NotNull(message = "入职状态1-入职 0-离职不能为空")
private Integer employmentFlag;
}

View File

@ -0,0 +1,28 @@
package com.zcloud.basic.info.dto;
import com.alibaba.cola.dto.PageQuery;
import lombok.Data;
/**
* web-client
*
* @Author zhangyue
* @Date 2025-11-06 19:15:37
*/
@Data
public class UserEmploymentLogPageQry extends PageQuery {
/**
* ,
* - `like`: SQLLIKE
* - `eq`: SQL=
* - `gt`:
* - `lt`:
* - `ge`:
* - `le`:
* - `ne`: SQL!=
*/
private String likeUserEmploymentLogId;
}

View File

@ -0,0 +1,18 @@
package com.zcloud.basic.info.dto;
import com.alibaba.cola.dto.PageQuery;
import lombok.Data;
/**
* web-client
*
* @Author zhangyue
* @Date 2025-11-06 19:15:37
*/
@Data
public class UserEmploymentLogQryCmd{
private String likeUserEmploymentLogId;
}

View File

@ -0,0 +1,55 @@
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-06 19:15:37
*/
@EqualsAndHashCode(callSuper = true)
@Data
@NoArgsConstructor
@AllArgsConstructor
public class UserEmploymentLogUpdateCmd extends Command {
@ApiModelProperty(value = "主键", name = "id", required = true)
@NotNull(message = "主键不能为空")
private Long id;
@ApiModelProperty(value = "业务主键id", name = "userEmploymentLogId", required = true)
@NotEmpty(message = "业务主键id不能为空")
private String userEmploymentLogId;
@ApiModelProperty(value = "用户id", name = "userId", required = true)
@NotNull(message = "用户id不能为空")
private Long userId;
@ApiModelProperty(value = "企业id", name = "corpinfoId", required = true)
@NotNull(message = "企业id不能为空")
private Long corpinfoId;
@ApiModelProperty(value = "企业名称", name = "corpinfoName", required = true)
@NotEmpty(message = "企业名称不能为空")
private String corpinfoName;
@ApiModelProperty(value = "部门id", name = "departmentId", required = true)
@NotNull(message = "部门id不能为空")
private Long departmentId;
@ApiModelProperty(value = "部门名称", name = "departmentName", required = true)
@NotEmpty(message = "部门名称不能为空")
private String departmentName;
@ApiModelProperty(value = "岗位id", name = "postId", required = true)
@NotNull(message = "岗位id不能为空")
private Long postId;
@ApiModelProperty(value = "岗位名称", name = "postName", required = true)
@NotEmpty(message = "岗位名称不能为空")
private String postName;
@ApiModelProperty(value = "入职状态1-入职 0-离职", name = "employmentFlag", required = true)
@NotNull(message = "入职状态1-入职 0-离职不能为空")
private Integer employmentFlag;
}

View File

@ -23,6 +23,10 @@ public class UserPageQry extends PageQuery {
* - `le`:
* - `ne`: SQL!=
*/
private String likeUserId;
private Long eqCorpinfoId;
private Long eqDepartmentId;
private Long eqPostId;
private String likeName;
}

View File

@ -0,0 +1,35 @@
package com.zcloud.basic.info.dto;
import com.alibaba.cola.dto.PageQuery;
import lombok.Data;
/**
* web-client
*
* @Author zhangyue
* @Date 2025-11-04 14:07:36
*/
@Data
public class UserQryCmd {
/**
* ,
* - `like`: SQLLIKE
* - `eq`: SQL=
* - `gt`:
* - `lt`:
* - `ge`:
* - `le`:
* - `ne`: SQL!=
*/
private String eqCorpinfoId;
private String eqDepartmentId;
private String eqPostId;
private Long corpinfoId;
private Long departmentId;
private Long postId;
private String username;
}

View File

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

View File

@ -0,0 +1,25 @@
package com.zcloud.basic.info.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
/**
* web-client
*
* @Author zhangyue
* @Date 2025-11-04 14:07:36
*/
@Data
public class UserVerifyQryCmd {
@ApiModelProperty(value = "登录账号", name = "username", required = true)
@NotEmpty(message = "登录账号不能为空")
private String username;
@ApiModelProperty(value = "用户id", name = "id", required = true)
@NotNull(message = "用户id不能为空")
private Long id;
}

View File

@ -0,0 +1,132 @@
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 UserXgfAddCmd extends Command {
@ApiModelProperty(value = "业务主键id老系统id", name = "userId")
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)
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")
private Long postId;
@ApiModelProperty(value = "角色id", name = "roleId")
private Long roleId;
@ApiModelProperty(value = "邮箱", name = "email")
private String email;
@ApiModelProperty(value = "手机号", name = "phone")
private String phone;
@ApiModelProperty(value = "人员类型编码", name = "personnelType")
private String personnelType;
@ApiModelProperty(value = "人员类型翻译", name = "personnelTypeName")
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 = "rankLevel")
private String rankLevel;
@ApiModelProperty(value = "职级名称", name = "rankLevelName")
private String rankLevelName;
@ApiModelProperty(value = "人员在部门中的排序", name = "sort")
private Integer sort;
@ApiModelProperty(value = "描述", name = "remarks")
private String remarks;
@ApiModelProperty(value = "是否部门领导0否1是", name = "departmentLeaderFlag")
private Integer departmentLeaderFlag;
@ApiModelProperty(value = "是否分管领导0否1是", name = "deputyLeaderFlag")
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

@ -0,0 +1,39 @@
package com.zcloud.basic.info.dto.clientobject;
import com.alibaba.cola.dto.ClientObject;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* web-client
*
* @Author zhaokai
* @Date 2025-10-30 10:10:48
*/
@Data
public class CorpUserMiddleCO extends ClientObject {
//主键
@ApiModelProperty(value = "企业主键")
private Long id;
@ApiModelProperty(value = "企业名称")
private String corpName;
//企业类型(0-普通企业1-集团单位2-股份单位3-相关方企业4-货主单位5-驻港单位)
@ApiModelProperty(value = "企业类型(0-普通企业1-集团单位2-股份单位3-相关方企业4-货主单位5-驻港单位)")
private Integer type;
@ApiModelProperty(value = "部门数")
private Long departMentCount;
@ApiModelProperty(value = "岗位数")
private Long postCount;
@ApiModelProperty(value = "用户数")
private Long userCount;
@ApiModelProperty(value = "中台用户数")
private Long middleUserCount;
}

View File

@ -27,6 +27,7 @@ public class DepartmentCO extends ClientObject {
//父部门id
@ApiModelProperty(value = "父部门id")
private Long parentId;
//所属企业
@ApiModelProperty(value = "所属企业")
private Long corpinfoId;
@ -42,6 +43,8 @@ public class DepartmentCO extends ClientObject {
//是否监管部门 0-否 1-是
@ApiModelProperty(value = "是否监管部门 0-否 1-是")
private Integer superviseFlag;
@ApiModelProperty(value = "是否安全管理部门 0-否 1-是", name = "securityFlag")
private Integer securityFlag;
//乐观锁
@ApiModelProperty(value = "乐观锁")

View File

@ -0,0 +1,87 @@
package com.zcloud.basic.info.dto.clientobject;
import com.alibaba.cola.dto.ClientObject;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.time.LocalDateTime;
/**
* web-client
*
* @Author zhaokai
* @Date 2025-10-30 10:10:48
*/
@Data
public class DepartmentInfoCO extends ClientObject {
//主键
@ApiModelProperty(value = "主键")
private Long id;
//部门id
@ApiModelProperty(value = "部门id")
private String departmentId;
//名称
@ApiModelProperty(value = "名称")
private String name;
//父部门id
@ApiModelProperty(value = "父部门id")
private Long parentId;
@ApiModelProperty(value = "父部门名称")
private String parentName;
//所属企业
@ApiModelProperty(value = "所属企业")
private Long corpinfoId;
//部门级别编码
@ApiModelProperty(value = "部门级别编码")
private String level;
//部门级别名称
@ApiModelProperty(value = "部门级别名称")
private String levelName;
//部门排序
@ApiModelProperty(value = "部门排序")
private Integer depOrder;
//是否监管部门 0-否 1-是
@ApiModelProperty(value = "是否监管部门 0-否 1-是")
private Integer superviseFlag;
@ApiModelProperty(value = "是否安全管理部门 0-否 1-是", name = "securityFlag")
private Integer securityFlag;
//乐观锁
@ApiModelProperty(value = "乐观锁")
private Integer version;
//创建人
@ApiModelProperty(value = "创建人")
private Long createId;
//创建人姓名
@ApiModelProperty(value = "创建人姓名")
private String createName;
//创建时间
@ApiModelProperty(value = "创建时间")
private LocalDateTime createTime;
//更新人
@ApiModelProperty(value = "更新人")
private Long updateId;
//修改人名称
@ApiModelProperty(value = "修改人名称")
private String updateName;
//更新时间
@ApiModelProperty(value = "更新时间")
private LocalDateTime 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;
}

View File

@ -1,7 +1,11 @@
package com.zcloud.basic.info.dto.clientobject;
import com.alibaba.cola.dto.ClientObject;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.zcloud.gbscommon.translateaop.TranslateEunm;
import com.zcloud.gbscommon.translateaop.ZCloudTranslate;
import com.zcloud.gbscommon.translateaop.ZCloudTranslates;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@ -15,6 +19,13 @@ import java.util.Date;
* @Date 2025-11-04 14:07:33
*/
@Data
@ZCloudTranslates(
{
@ZCloudTranslate(primaryKeyType = TranslateEunm.USER, primaryKey = "id", mappedFields = {"mappingName:name", "mappingUserName:username"}),
@ZCloudTranslate(primaryKeyType = TranslateEunm.DEPT, primaryKey = "departmentId", mappedFields = {"mappingDeptName:name"}),
@ZCloudTranslate(primaryKeyType = TranslateEunm.CORP, primaryKey = "corpinfoId", mappedFields = {"mappingCorpName:corpName"}),
@ZCloudTranslate(primaryKeyType = TranslateEunm.POST, primaryKey = "postId", mappedFields = {"mappingPostName:postName"})
})
public class UserCO extends ClientObject {
//GBS用户id
@ApiModelProperty(value = "GBS用户id")
@ -31,6 +42,8 @@ public class UserCO extends ClientObject {
//企业id
@ApiModelProperty(value = "企业id")
private Long corpinfoId;
@ApiModelProperty(value = "企业名称")
private String corpinfoName;
//是否主账号1是0否
@ApiModelProperty(value = "是否主账号1是0否")
private Integer mainCorpFlag;
@ -40,9 +53,15 @@ public class UserCO extends ClientObject {
//部门id
@ApiModelProperty(value = "部门id")
private Long departmentId;
//部门id
@ApiModelProperty(value = "部门名称")
private String departmentName;
//岗位id
@ApiModelProperty(value = "岗位id")
private Long postId;
//岗位id
@ApiModelProperty(value = "岗位名称")
private String postName;
//角色id
@ApiModelProperty(value = "角色id")
private Long roleId;
@ -73,6 +92,13 @@ public class UserCO extends ClientObject {
//户口所在地
@ApiModelProperty(value = "户口所在地")
private String locationAddress;
@ApiModelProperty(value = "职级")
private String rankLevel;
@ApiModelProperty(value = "职级名称")
private String rankLevelName;
@ApiModelProperty(value = "手机号")
private String phone;
//人员在部门中的排序
@ApiModelProperty(value = "人员在部门中的排序")
private Integer sort;
@ -138,5 +164,12 @@ public class UserCO extends ClientObject {
//政治面貌名称
@ApiModelProperty(value = "政治面貌名称")
private String politicalAffiliationName;
private String mappingName;
private String mappingUserName;
private String mappingPostName;
private String mappingDeptName;
// 入职状态
@ApiModelProperty(value = "入职状态")
private Integer employmentFlag;
}

View File

@ -0,0 +1,83 @@
package com.zcloud.basic.info.dto.clientobject;
import com.alibaba.cola.dto.ClientObject;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* web-client
*
* @Author zhangyue
* @Date 2025-11-06 19:15:37
*/
@Data
public class UserEmploymentLogCO extends ClientObject {
//主键
@ApiModelProperty(value = "主键")
private Long id;
//业务主键id
@ApiModelProperty(value = "业务主键id")
private String userEmploymentLogId;
//用户id
@ApiModelProperty(value = "用户id")
private Long userId;
//企业id
@ApiModelProperty(value = "企业id")
private Long corpinfoId;
//企业名称
@ApiModelProperty(value = "企业名称")
private String corpinfoName;
//部门id
@ApiModelProperty(value = "部门id")
private Long departmentId;
//部门名称
@ApiModelProperty(value = "部门名称")
private String departmentName;
//岗位id
@ApiModelProperty(value = "岗位id")
private Long postId;
//岗位名称
@ApiModelProperty(value = "岗位名称")
private String postName;
//入职状态1-入职 0-离职
@ApiModelProperty(value = "入职状态1-入职 0-离职")
private Integer employmentFlag;
//是否删除
@ApiModelProperty(value = "是否删除")
private String deleteEnum;
//租户id
@ApiModelProperty(value = "租户id")
private Long tenantId;
//组织id
@ApiModelProperty(value = "组织id")
private Long orgId;
//版本号
@ApiModelProperty(value = "版本号")
private Integer version;
//创建时间
@ApiModelProperty(value = "创建时间")
private String createTime;
//修改时间
@ApiModelProperty(value = "修改时间")
private String updateTime;
//创建人id
@ApiModelProperty(value = "创建人id")
private Long createId;
//修改人id
@ApiModelProperty(value = "修改人id")
private Long updateId;
//创建人
@ApiModelProperty(value = "创建人")
private String createName;
//修改人
@ApiModelProperty(value = "修改人")
private String updateName;
//备注
@ApiModelProperty(value = "备注")
private String remarks;
//环境
@ApiModelProperty(value = "环境")
private String env;
}

View File

@ -2,22 +2,48 @@ package com.zcloud.basic.info.domain.enums;
import lombok.Getter;
import java.util.*;
import java.util.stream.Collectors;
/**
* corp_info type(0-1-2-3-4-5-)
* enterpriseType
*/
@Getter
public enum CorpTypeEnum {
OrdinaryEnterprises(0,"普通企业"),
groupUnits(1, "集团单位"),
share(2,"股份单位"),
serviceProvider(3, "相关方企业"),
cargoOwner(4, "货主单位"),
portUnit(5, "驻港单位");
OrdinaryEnterprises(0,"普通企业",2),
groupUnits(1, "集团单位",1),
share(2,"股份单位",2),
serviceProvider(3, "相关方企业",3),
cargoOwner(4, "货主单位",3),
portUnit(5, "驻港单位",3);
private static final Map<Integer, List<Integer>> ENTERPRISE_TYPE_CODE_MAP = new HashMap<>();
private final Integer code;
private final String name;
//传入的企业类型企业类型 1监管 2企业 3相关方
private final Integer enterpriseType;
CorpTypeEnum(Integer code, String name) {
CorpTypeEnum(Integer code, String name,Integer enterpriseType) {
this.code = code;
this.name = name;
this.enterpriseType = enterpriseType;
}
static {
Arrays.stream(CorpTypeEnum.values())
.collect(Collectors.groupingBy(CorpTypeEnum::getEnterpriseType))
.forEach((enterpriseType, corpTypes) ->
ENTERPRISE_TYPE_CODE_MAP.put(
enterpriseType,
corpTypes.stream().map(CorpTypeEnum::getCode).collect(Collectors.toList())
)
);
}
public static List<Integer> getCodesByEnterpriseType(Integer enterpriseType) {
return ENTERPRISE_TYPE_CODE_MAP.getOrDefault(enterpriseType, Collections.emptyList());
}
}

View File

@ -0,0 +1,31 @@
package com.zcloud.basic.info.domain.gateway;
import com.zcloud.basic.info.domain.model.UserEmploymentLogE;
/**
* web-domain
*
* @Author zhangyue
* @Date 2025-11-06 19:15:37
*/
public interface UserEmploymentLogGateway {
/**
*
*/
Boolean add(UserEmploymentLogE userEmploymentLogE);
/**
*
*/
Boolean update(UserEmploymentLogE userEmploymentLogE);
/**
*
*/
Boolean deletedUserEmploymentLogById(Long id);
Boolean deletedUserEmploymentLogByIds(Long[] id);
}

View File

@ -3,6 +3,8 @@ package com.zcloud.basic.info.domain.gateway;
import com.zcloud.basic.info.domain.model.UserE;
import java.util.Map;
/**
* web-domain
*
@ -27,5 +29,7 @@ public interface UserGateway {
Boolean deletedUserById(Long id);
Boolean deletedUserByIds(Long[] id);
Long countUserByUsername(Map<String,Object> params);
}

View File

@ -2,6 +2,7 @@ package com.zcloud.basic.info.domain.model;
import com.alibaba.cola.domain.Entity;
import com.jjb.saas.framework.domain.model.BaseE;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
@ -35,6 +36,8 @@ public class DepartmentE extends BaseE {
private Integer depOrder;
//是否监管部门 0-否 1-是
private Integer superviseFlag;
//是否安全管理部门 0-否 1-是
private Integer securityFlag;
}

View File

@ -70,7 +70,7 @@ public class ImgFilesE extends BaseE {
MultipartFile[] files = baseImgFilesE.getFiles();
Long corpinfoId = ObjectUtils.isEmpty(baseImgFilesE.getCorpinfoId()) ? tenantId : baseImgFilesE.getCorpinfoId();
String filePath = corpinfoId.toString() + "/" + DateUtil.getMonth() + "/" + baseImgFilesE.getPath()+ "/";
String filePath = corpinfoId.toString() + "/" + DateUtil.getMonth() + "/" + baseImgFilesE.getPath() + "/";
// 文件上传并获取上传路径
String resultFilePath = FileUpload.fileUp(files[0], filePath, Tools.get32UUID());
return filePath + resultFilePath;
@ -105,8 +105,9 @@ public class ImgFilesE extends BaseE {
public void deleteFile(String filePath) throws Exception {
Smb.deleteFile(filePath);
}
public void deleteFileList(List<ImgFilesE> imgFilesEList) throws Exception {
for (ImgFilesE imgFilesE: imgFilesEList) {
for (ImgFilesE imgFilesE : imgFilesEList) {
Smb.deleteFile(imgFilesE.getFilePath());
}
}

View File

@ -1,10 +1,16 @@
package com.zcloud.basic.info.domain.model;
import com.alibaba.cola.dto.Response;
import com.jjb.saas.framework.domain.model.BaseE;
import com.zcloud.gbscommon.utils.DateUtil;
import com.zcloud.gbscommon.utils.FileUpload;
import com.zcloud.gbscommon.utils.Tools;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.util.ObjectUtils;
import org.springframework.web.multipart.MultipartFile;
import java.time.LocalDateTime;
import java.util.Date;
/**
* web-domain
@ -52,6 +58,11 @@ public class UserE extends BaseE {
private String currentAddress;
//户口所在地
private String locationAddress;
private String rankLevel;
private String phone;
private String rankLevelName;
//人员在部门中的排序
private Integer sort;
//乐观锁
@ -94,5 +105,24 @@ public class UserE extends BaseE {
private String politicalAffiliation;
//政治面貌名称
private String politicalAffiliationName;
// 入职状态
private Integer employmentFlag;
public void initAdd(Long tenantId, UserE userE) {
userE.setUserId(Tools.get32UUID());
userE.setTenantId(!ObjectUtils.isEmpty(userE.getTenantId())? userE.getTenantId() : tenantId);
userE.setCorpinfoId(!ObjectUtils.isEmpty(userE.getCorpinfoId())? userE.getCorpinfoId() : tenantId);
userE.setEmploymentFlag(1);
}
public Response verifyUser(Long userCount) {
if (userCount > 0) {
return Response.buildFailure("用户名已经存在,请联系管理员");
} else {
return Response.buildSuccess();
}
}
}

View File

@ -0,0 +1,66 @@
package com.zcloud.basic.info.domain.model;
import com.jjb.saas.framework.domain.model.BaseE;
import com.zcloud.gbscommon.utils.Tools;
import lombok.Data;
import java.time.LocalDateTime;
/**
* web-domain
*
* @Author zhangyue
* @Date 2025-11-06 19:15:37
*/
@Data
public class UserEmploymentLogE extends BaseE {
//主键
private Long id;
//业务主键id
private String userEmploymentLogId;
//用户id
private Long userId;
//企业id
private Long corpinfoId;
//企业名称
private String corpinfoName;
//部门id
private Long departmentId;
//部门名称
private String departmentName;
//岗位id
private Long postId;
//岗位名称
private String postName;
//入职状态1-入职 0-离职
private Integer employmentFlag;
//是否删除
private String deleteEnum;
//租户id
private Long tenantId;
//组织id
private Long orgId;
//版本号
private Integer version;
//创建时间
private LocalDateTime createTime;
//修改时间
private LocalDateTime updateTime;
//创建人id
private Long createId;
//修改人id
private Long updateId;
//创建人
private String createName;
//修改人
private String updateName;
//备注
private String remarks;
//环境
private String env;
public void initAdd(UserEmploymentLogE userEmploymentLogE) {
userEmploymentLogE.setUserEmploymentLogId(Tools.get32UUID());
}
}

View File

@ -0,0 +1,50 @@
package com.zcloud.basic.info.gatewayimpl;
import com.zcloud.basic.info.domain.gateway.UserEmploymentLogGateway;
import com.zcloud.basic.info.domain.model.UserEmploymentLogE;
import com.zcloud.basic.info.persistence.dataobject.UserEmploymentLogDO;
import com.zcloud.basic.info.persistence.repository.UserEmploymentLogRepository;
import lombok.AllArgsConstructor;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import java.util.Collections;
/**
* web-infrastructure
*
* @Author zhangyue
* @Date 2025-11-06 19:15:37
*/
@Service
@AllArgsConstructor
public class UserEmploymentLogGatewayImpl implements UserEmploymentLogGateway {
private final UserEmploymentLogRepository userEmploymentLogRepository;
@Override
public Boolean add(UserEmploymentLogE userEmploymentLogE) {
UserEmploymentLogDO d = new UserEmploymentLogDO();
BeanUtils.copyProperties(userEmploymentLogE, d);
userEmploymentLogRepository.save(d);
return true;
}
@Override
public Boolean update(UserEmploymentLogE userEmploymentLogE) {
UserEmploymentLogDO d = new UserEmploymentLogDO();
BeanUtils.copyProperties(userEmploymentLogE, d);
userEmploymentLogRepository.updateById(d);
return true;
}
@Override
public Boolean deletedUserEmploymentLogById(Long id) {
return userEmploymentLogRepository.removeById(id);
}
@Override
public Boolean deletedUserEmploymentLogByIds(Long[] ids) {
return userEmploymentLogRepository.removeByIds(Collections.singletonList(ids));
}
}

View File

@ -1,5 +1,6 @@
package com.zcloud.basic.info.gatewayimpl;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.zcloud.basic.info.domain.gateway.UserGateway;
import com.zcloud.basic.info.domain.model.UserE;
import com.zcloud.basic.info.persistence.dataobject.UserDO;
@ -9,6 +10,7 @@ import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import java.util.Arrays;
import java.util.Map;
/**
* web-infrastructure
@ -38,12 +40,22 @@ public class UserGatewayImpl implements UserGateway {
@Override
public Boolean deletedUserById(Long id) {
return userRepository.removeById(id);
UpdateWrapper<UserDO> updateWrapper = new UpdateWrapper<>();
updateWrapper.eq("id", id)
.eq("delete_enum", "FALSE")
.set("delete_enum", "TRUE");
return userRepository.update(updateWrapper);
}
@Override
public Boolean deletedUserByIds(Long[] ids) {
return userRepository.removeByIds(Arrays.asList(ids));
}
@Override
public Long countUserByUsername(Map<String,Object> params) {
Long userCount = userRepository.countUserByUsername(params);
return userCount;
}
}

View File

@ -45,6 +45,8 @@ public class DepartmentDO extends BaseDO {
//是否监管部门 0-否 1-是
@ApiModelProperty(value = "是否监管部门 0-否 1-是")
private Integer superviseFlag;
@ApiModelProperty(value = "是否安全管理部门 0-否 1-是")
private Integer securityFlag;
}

View File

@ -1,5 +1,6 @@
package com.zcloud.basic.info.persistence.dataobject;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.jjb.saas.framework.repository.basedo.BaseDO;
import io.swagger.annotations.ApiModelProperty;
@ -30,6 +31,10 @@ public class UserDO extends BaseDO {
//企业id
@ApiModelProperty(value = "企业id")
private Long corpinfoId;
//企业id
@ApiModelProperty(value = "企业名称")
@TableField(exist = false)
private String corpinfoName;
//是否主账号1是0否
@ApiModelProperty(value = "是否主账号1是0否")
private Integer mainCorpFlag;
@ -39,9 +44,18 @@ public class UserDO extends BaseDO {
//部门id
@ApiModelProperty(value = "部门id")
private Long departmentId;
//部门id
@ApiModelProperty(value = "部门名称")
@TableField(exist = false)
private String departmentName;
//岗位id
@ApiModelProperty(value = "岗位id")
private Long postId;
//岗位id
@ApiModelProperty(value = "岗位名称")
@TableField(exist = false)
private String postName;
//角色id
@ApiModelProperty(value = "角色id")
private Long roleId;
@ -69,9 +83,17 @@ public class UserDO extends BaseDO {
//现住址
@ApiModelProperty(value = "现住址")
private String currentAddress;
@ApiModelProperty(value = "描述")
private String remarks;
//户口所在地
@ApiModelProperty(value = "户口所在地")
private String locationAddress;
@ApiModelProperty(value = "职级")
private String rankLevel;
@ApiModelProperty(value = "职级名称")
private String rankLevelName;
@ApiModelProperty(value = "手机号")
private String phone;
//人员在部门中的排序
@ApiModelProperty(value = "人员在部门中的排序")
private Integer sort;
@ -100,6 +122,10 @@ public class UserDO extends BaseDO {
@ApiModelProperty(value = "政治面貌名称")
private String politicalAffiliationName;
// 入职状态
@ApiModelProperty(value = "入职状态")
private Integer employmentFlag;
public UserDO(String userId) {
this.userId = userId;
}

View File

@ -0,0 +1,54 @@
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-06 19:15:37
*/
@Data
@TableName("user_employment_log")
@NoArgsConstructor
@EqualsAndHashCode(callSuper = true)
public class UserEmploymentLogDO extends BaseDO {
//业务主键id
@ApiModelProperty(value = "业务主键id")
private String userEmploymentLogId;
//用户id
@ApiModelProperty(value = "用户id")
private Long userId;
//企业id
@ApiModelProperty(value = "企业id")
private Long corpinfoId;
//企业名称
@ApiModelProperty(value = "企业名称")
private String corpinfoName;
//部门id
@ApiModelProperty(value = "部门id")
private Long departmentId;
//部门名称
@ApiModelProperty(value = "部门名称")
private String departmentName;
//岗位id
@ApiModelProperty(value = "岗位id")
private Long postId;
//岗位名称
@ApiModelProperty(value = "岗位名称")
private String postName;
//入职状态1-入职 0-离职
@ApiModelProperty(value = "入职状态1-入职 0-离职")
private Integer employmentFlag;
public UserEmploymentLogDO(String userEmploymentLogId) {
this.userEmploymentLogId = userEmploymentLogId;
}
}

View File

@ -0,0 +1,17 @@
package com.zcloud.basic.info.persistence.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.zcloud.basic.info.persistence.dataobject.UserEmploymentLogDO;
import org.apache.ibatis.annotations.Mapper;
/**
* web-infrastructure
*
* @Author zhangyue
* @Date 2025-11-06 19:15:37
*/
@Mapper
public interface UserEmploymentLogMapper extends BaseMapper<UserEmploymentLogDO> {
}

View File

@ -1,8 +1,14 @@
package com.zcloud.basic.info.persistence.mapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.zcloud.basic.info.persistence.dataobject.UserDO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;
/**
* web-infrastructure
@ -12,6 +18,10 @@ import org.apache.ibatis.annotations.Mapper;
*/
@Mapper
public interface UserMapper extends BaseMapper<UserDO> {
List<UserDO> selectListAll(@Param("params") Map<String, Object> params);
IPage<UserDO> selectUserPage(IPage<UserDO> page, @Param("ew") QueryWrapper<UserDO> queryWrapper);
UserDO getInfoById(@Param("id") Long id);
}

View File

@ -20,5 +20,10 @@ public interface DepartmentRepository extends BaseRepository<DepartmentDO> {
List<DepartmentDO> listTree(Map<String, Object> parmas);
List<DepartmentDO> listByParams(Map<String, Object> departParmas);
Long countByParams(Map<String, Object> parmas);
Long getCountByCorpInfoId(Long id);
}

View File

@ -14,10 +14,10 @@ import java.util.Map;
* @Date 2025-10-30 16:10:07
*/
public interface ImgFilesRepository extends BaseRepository<ImgFilesDO> {
PageResponse<ImgFilesDO> listPage(Map<String,Object> parmas);
PageResponse<ImgFilesDO> listPage(Map<String,Object> params);
List<ImgFilesDO> listAll(Map<String,Object> parmas);
List<ImgFilesDO> listAll(Map<String,Object> params);
void deleteList(Long[] ids);

View File

@ -21,5 +21,7 @@ public interface PostRepository extends BaseRepository<PostDO> {
MultiResponse<PostDO> list(Map<String, Object> params);
SingleResponse<PostDO> getInfoById(Long id);
Long getCountByCorpInfoId(Long id);
}

View File

@ -0,0 +1,21 @@
package com.zcloud.basic.info.persistence.repository;
import com.alibaba.cola.dto.MultiResponse;
import com.alibaba.cola.dto.PageResponse;
import com.jjb.saas.framework.repository.repo.BaseRepository;
import com.zcloud.basic.info.persistence.dataobject.UserEmploymentLogDO;
import java.util.List;
import java.util.Map;
/**
* web-infrastructure
*
* @Author zhangyue
* @Date 2025-11-06 19:15:37
*/
public interface UserEmploymentLogRepository extends BaseRepository<UserEmploymentLogDO> {
PageResponse<UserEmploymentLogDO> listPage(Map<String, Object> params);
List<UserEmploymentLogDO> listAll(Map<String, Object> params);
}

View File

@ -1,9 +1,11 @@
package com.zcloud.basic.info.persistence.repository;
import com.alibaba.cola.dto.MultiResponse;
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.List;
import java.util.Map;
/**
@ -13,5 +15,18 @@ import java.util.Map;
*/
public interface UserRepository extends BaseRepository<UserDO> {
PageResponse<UserDO> listPage(Map<String,Object> params);
List<UserDO> listAll(Map<String,Object> params);
Long getCountByCorpInfoId(Long id);
Boolean checkUserDepartment(Long id);
Boolean checkUserDepartment(Long[] ids);
UserDO getInfoById(Long id);
Long countUserByUsername(Map<String,Object> params);
}

View File

@ -1,11 +1,13 @@
package com.zcloud.basic.info.persistence.repository.impl;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.ObjectUtil;
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.domain.enums.CorpTypeEnum;
import com.zcloud.basic.info.persistence.dataobject.CorpInfoDO;
import com.zcloud.basic.info.persistence.mapper.CorpInfoMapper;
import com.zcloud.basic.info.persistence.repository.CorpInfoRepository;
@ -34,12 +36,9 @@ public class CorpInfoRepositoryImpl extends BaseRepositoryImpl<CorpInfoMapper, C
IPage<CorpInfoDO> iPage = new Query<CorpInfoDO>().getPage(params);
QueryWrapper<CorpInfoDO> queryWrapper = new QueryWrapper<>();
queryWrapper = PageQueryHelper.createPageQueryWrapper(queryWrapper, params);
if ("0".equals(params.get("enterpriseType"))){
queryWrapper.eq("type", "2");
} else if ("1".equals(params.get("enterpriseType"))) {
queryWrapper.in("type", Arrays.asList("0", "1"));
}else {
queryWrapper.in("type", Arrays.asList("3", "4","5"));
List<Integer> enterpriseType = CorpTypeEnum.getCodesByEnterpriseType((Integer) params.get("enterpriseType"));
if(CollUtil.isNotEmpty(enterpriseType)){
queryWrapper.in("type",enterpriseType );
}
IPage<CorpInfoDO> result = corpInfoMapper.selectPage(iPage, queryWrapper);
return PageHelper.pageToResponse(result, result.getRecords());

View File

@ -62,5 +62,21 @@ public class DepartmentRepositoryImpl extends BaseRepositoryImpl<DepartmentMappe
List<DepartmentDO> departmentDOList = departmentMapper.selectList(queryWrapper);
return departmentDOList;
}
@Override
public Long countByParams(Map<String, Object> parmas) {
IPage<DepartmentDO> iPage = new Query<DepartmentDO>().getPage(parmas);
QueryWrapper<DepartmentDO> queryWrapper = new QueryWrapper<>();
queryWrapper = PageQueryHelper.createPageQueryWrapper(queryWrapper, parmas);
queryWrapper.orderByDesc("create_time");
return departmentMapper.selectCount(queryWrapper);
}
@Override
public Long getCountByCorpInfoId(Long id) {
QueryWrapper<DepartmentDO> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("corpinfo_id", id);
return departmentMapper.selectCount(queryWrapper);
}
}

View File

@ -30,19 +30,19 @@ public class ImgFilesRepositoryImpl extends BaseRepositoryImpl<ImgFilesMapper, I
private final ImgFilesMapper imgFilesMapper;
@Override
public PageResponse<ImgFilesDO> listPage(Map<String, Object> parmas) {
IPage<ImgFilesDO> iPage = new Query<ImgFilesDO>().getPage(parmas);
public PageResponse<ImgFilesDO> listPage(Map<String, Object> params) {
IPage<ImgFilesDO> iPage = new Query<ImgFilesDO>().getPage(params);
QueryWrapper<ImgFilesDO> queryWrapper = new QueryWrapper<>();
queryWrapper = PageQueryHelper.createPageQueryWrapper(queryWrapper, parmas);
queryWrapper = PageQueryHelper.createPageQueryWrapper(queryWrapper, params);
queryWrapper.orderByDesc("create_time");
IPage<ImgFilesDO> result = imgFilesMapper.selectPage(iPage, queryWrapper);
return PageHelper.pageToResponse(result, result.getRecords());
}
@Override
public List<ImgFilesDO> listAll(Map<String, Object> parmas) {
public List<ImgFilesDO> listAll(Map<String, Object> params) {
QueryWrapper<ImgFilesDO> queryWrapper = new QueryWrapper<>();
queryWrapper = PageQueryHelper.createPageQueryWrapper(queryWrapper, parmas);
queryWrapper = PageQueryHelper.createPageQueryWrapper(queryWrapper, params);
queryWrapper.orderByDesc("create_time");
// queryWrapper.select("id", "img_files_id", "file_path", "type", "foreign_key", "file_name", "corpinfo_id");
return imgFilesMapper.selectList(queryWrapper);

View File

@ -2,6 +2,7 @@ package com.zcloud.basic.info.persistence.repository.impl;
import com.alibaba.cola.dto.MultiResponse;
import com.jjb.saas.framework.repository.common.PageHelper;
import com.zcloud.basic.info.persistence.dataobject.DepartmentDO;
import com.zcloud.basic.info.persistence.dataobject.PostDO;
import com.zcloud.basic.info.persistence.mapper.PostMapper;
import com.zcloud.basic.info.persistence.repository.PostRepository;
@ -63,5 +64,12 @@ public class PostRepositoryImpl extends BaseRepositoryImpl<PostMapper, PostDO> i
public SingleResponse<PostDO> getInfoById(Long id) {
return SingleResponse.of(postMapper.selectById(id));
}
@Override
public Long getCountByCorpInfoId(Long id) {
QueryWrapper<PostDO> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("corpinfo_id", id);
return postMapper.selectCount(queryWrapper);
}
}

View File

@ -0,0 +1,50 @@
package com.zcloud.basic.info.persistence.repository.impl;
import com.alibaba.cola.dto.MultiResponse;
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.UserEmploymentLogDO;
import com.zcloud.basic.info.persistence.mapper.UserEmploymentLogMapper;
import com.zcloud.basic.info.persistence.repository.UserEmploymentLogRepository;
import com.zcloud.gbscommon.utils.PageQueryHelper;
import com.zcloud.gbscommon.utils.Query;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Map;
/**
* web-infrastructure
*
* @Author zhangyue
* @Date 2025-11-06 19:15:37
*/
@Service
@RequiredArgsConstructor
public class UserEmploymentLogRepositoryImpl extends BaseRepositoryImpl<UserEmploymentLogMapper, UserEmploymentLogDO> implements UserEmploymentLogRepository {
private final UserEmploymentLogMapper userEmploymentLogMapper;
@Override
public PageResponse<UserEmploymentLogDO> listPage(Map<String, Object> params) {
IPage<UserEmploymentLogDO> iPage = new Query<UserEmploymentLogDO>().getPage(params);
QueryWrapper<UserEmploymentLogDO> queryWrapper = new QueryWrapper<>();
queryWrapper = PageQueryHelper.createPageQueryWrapper(queryWrapper, params);
queryWrapper.orderByDesc("create_time");
IPage<UserEmploymentLogDO> result = userEmploymentLogMapper.selectPage(iPage, queryWrapper);
return PageHelper.pageToResponse(result, result.getRecords());
}
@Override
public List<UserEmploymentLogDO> listAll(Map<String, Object> params) {
QueryWrapper<UserEmploymentLogDO> queryWrapper = new QueryWrapper<>();
queryWrapper = PageQueryHelper.createPageQueryWrapper(queryWrapper, params);
queryWrapper.orderByDesc("create_time");
queryWrapper.eq("delete_enum","FALSE");
return userEmploymentLogMapper.selectList(queryWrapper);
}
}

View File

@ -1,10 +1,14 @@
package com.zcloud.basic.info.persistence.repository.impl;
import cn.hutool.core.collection.CollUtil;
import com.alibaba.cola.dto.MultiResponse;
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.DepartmentDO;
import com.zcloud.basic.info.persistence.dataobject.ImgFilesDO;
import com.zcloud.basic.info.persistence.dataobject.UserDO;
import com.zcloud.basic.info.persistence.mapper.UserMapper;
import com.zcloud.basic.info.persistence.repository.UserRepository;
@ -13,6 +17,7 @@ import com.zcloud.gbscommon.utils.Query;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Map;
/**
@ -29,10 +34,60 @@ public class UserRepositoryImpl extends BaseRepositoryImpl<UserMapper, UserDO> i
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);
queryWrapper = PageQueryHelper.createPageQueryWrapper(queryWrapper, params, "u.");
queryWrapper.orderByDesc("u.create_time");
queryWrapper.eq("u.delete_enum", "FALSE");
IPage<UserDO> result = userMapper.selectUserPage(iPage, queryWrapper);
return PageHelper.pageToResponse(result, result.getRecords());
}
@Override
public List<UserDO> listAll(Map<String, Object> params) {
return userMapper.selectListAll(params);
}
@Override
public Long getCountByCorpInfoId(Long id) {
QueryWrapper<UserDO> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("corpinfo_id", id);
return userMapper.selectCount(queryWrapper);
}
@Override
public Boolean checkUserDepartment(Long id) {
QueryWrapper queryWrapper = new QueryWrapper();
queryWrapper.eq("department_id", id);
Long userCount = userMapper.selectCount(queryWrapper);
if(userCount>0){
return true;
}
return false;
}
@Override
public Boolean checkUserDepartment(Long[] ids) {
QueryWrapper queryWrapper = new QueryWrapper();
queryWrapper.in("department_id", ids);
Long userCount = userMapper.selectCount(queryWrapper);
if(userCount>0){
return true;
}
return false;
}
@Override
public UserDO getInfoById(Long id) {
UserDO d = userMapper.getInfoById(id);
System.out.println("getInfoById");
return userMapper.getInfoById(id);
}
@Override
public Long countUserByUsername(Map<String, Object> params) {
QueryWrapper<UserDO> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("username", params.get("username"));
queryWrapper.ne("id", params.get("id"));
return userMapper.selectCount(queryWrapper);
}
}

View File

@ -0,0 +1,8 @@
<?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.ImgFilesMapper">
</mapper>

View File

@ -0,0 +1,200 @@
<?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.UserMapper">
<select id="selectListAll" resultType="com.zcloud.basic.info.persistence.dataobject.UserDO">
select
d.name as department_name,
p.post_name,
u.id,
u.user_id,
u.username,
u.name,
u.corpinfo_id,
u.main_corp_flag,
u.user_type,
u.department_id,
u.post_id,
u.role_id,
u.email,
u.phone,
u.personnel_type,
u.personnel_type_name,
u.nation,
u.nation_name,
u.user_id_card,
u.user_avatar_url,
u.current_address,
u.location_address,
u.rank_level,
u.rank_level_name,
u.sort,
u.version,
u.create_id,
u.create_name,
u.create_time,
u.update_id,
u.update_name,
u.update_time,
u.remarks,
u.delete_enum,
u.tenant_id,
u.org_id,
u.env,
u.department_leader_flag,
u.deputy_leader_flag,
u.cultural_level,
u.cultural_level_name,
u.marital_status,
u.marital_status_name,
u.political_affiliation,
u.political_affiliation_name,
u.employment_flag,
CASE
WHEN MOD(SUBSTRING( u.user_id_card, 17, 1), 2) = 1 THEN '男'
ELSE '女'
END AS sex
from user u
left join corp_info c on c.id = u.corpinfo_id
left join department d on d.id = u.department_id
left join post p on p.id = u.post_id
<where>
u.delete_enum = 'FALSE'
<if test="params.corpinfoId != null">
and u.corpinfo_id = #{params.corpinfoId}
</if>
<if test="params.departmentId != null">
and u.department_id = #{params.departmentId}
</if>
<if test="params.postId != null">
and u.post_id = #{params.postId}
</if>
</where>
order by
u.create_time desc
</select>
<select id="selectUserPage" resultType="com.zcloud.basic.info.persistence.dataobject.UserDO">
select
d.name as department_name,
p.post_name,
u.id,
u.user_id,
u.username,
u.name,
u.corpinfo_id,
u.main_corp_flag,
u.user_type,
u.department_id,
u.post_id,
u.role_id,
u.email,
u.phone,
u.personnel_type,
u.personnel_type_name,
u.nation,
u.nation_name,
u.user_id_card,
u.user_avatar_url,
u.current_address,
u.location_address,
u.rank_level,
u.rank_level_name,
u.sort,
u.version,
u.create_id,
u.create_name,
u.create_time,
u.update_id,
u.update_name,
u.update_time,
u.remarks,
u.delete_enum,
u.tenant_id,
u.org_id,
u.env,
u.department_leader_flag,
u.deputy_leader_flag,
u.cultural_level,
u.cultural_level_name,
u.marital_status,
u.marital_status_name,
u.political_affiliation,
u.political_affiliation_name,
u.employment_flag,
CASE
WHEN MOD(SUBSTRING( u.user_id_card, 17, 1), 2) = 1 THEN '男'
ELSE '女'
END AS sex
from user u
left join corp_info c on c.id = u.corpinfo_id
left join department d on d.id = u.department_id
left join post p on p.id = u.post_id
${ew.customSqlSegment}
</select>
<select id="getInfoById" resultType="com.zcloud.basic.info.persistence.dataobject.UserDO">
select
d.name as department_name,
p.post_name,
u.id,
u.user_id,
u.username,
u.name,
u.corpinfo_id,
u.main_corp_flag,
u.user_type,
u.department_id,
u.post_id,
u.role_id,
u.email,
u.phone,
u.personnel_type,
u.personnel_type_name,
u.nation,
u.nation_name,
u.user_id_card,
u.user_avatar_url,
u.current_address,
u.location_address,
u.rank_level,
u.rank_level_name,
u.sort,
u.version,
u.create_id,
u.create_name,
u.create_time,
u.update_id,
u.update_name,
u.update_time,
u.remarks,
u.delete_enum,
u.tenant_id,
u.org_id,
u.env,
u.department_leader_flag,
u.deputy_leader_flag,
u.cultural_level,
u.cultural_level_name,
u.marital_status,
u.marital_status_name,
u.political_affiliation,
u.political_affiliation_name,
u.employment_flag,
CASE
WHEN MOD(SUBSTRING( u.user_id_card, 17, 1), 2) = 1 THEN '男'
ELSE '女'
END AS sex
from user u
left join corp_info c on c.id = u.corpinfo_id
left join department d on d.id = u.department_id
left join post p on p.id = u.post_id
<where>
u.id = #{id}
</where>
</select>
</mapper>