diff --git a/honeycom-spdm/src/main/java/com/honeycombis/honeycom/spdm/controller/SpdmTenantController.java b/honeycom-spdm/src/main/java/com/honeycombis/honeycom/spdm/controller/SpdmTenantController.java index 963ab32..425d779 100644 --- a/honeycom-spdm/src/main/java/com/honeycombis/honeycom/spdm/controller/SpdmTenantController.java +++ b/honeycom-spdm/src/main/java/com/honeycombis/honeycom/spdm/controller/SpdmTenantController.java @@ -93,7 +93,7 @@ public class SpdmTenantController { } @PostMapping("/queryUserList") - public R> queryUserList(@RequestParam String workType) { + public R> queryUserList(@RequestParam(required = false) String workType) { ResponseR sdmResponse = spdmServiceFeignClient.queryUserList(workType); log.info("[queryUserList] sdmResponse:{}", sdmResponse); if (sdmResponse.isSuccess() && sdmResponse.getData() != null) { diff --git a/honeycom-spdm/src/main/java/com/honeycombis/honeycom/spdm/controller/SpdmUserController.java b/honeycom-spdm/src/main/java/com/honeycombis/honeycom/spdm/controller/SpdmUserController.java index 9059910..0ecc6e1 100644 --- a/honeycom-spdm/src/main/java/com/honeycombis/honeycom/spdm/controller/SpdmUserController.java +++ b/honeycom-spdm/src/main/java/com/honeycombis/honeycom/spdm/controller/SpdmUserController.java @@ -80,21 +80,31 @@ public class SpdmUserController { @Operation(summary = "条件查询用户列表") @PostMapping(value = "/listUser") public ResponseR listUser(@RequestBody UserPageQueryDto userPageQueryDto) { - R> sysStaffPageR = remoteTenantServiceFeign.listStaffForPage( - StaffPageQueryDto.builder() - .tenantId(userPageQueryDto.getTenantId()) - .nickname(userPageQueryDto.getNickname()) - .current(userPageQueryDto.getCurrent()).size(userPageQueryDto.getSize()) - .build(), - userPageQueryDto.getTenantId()); - Page staffPage = sysStaffPageR.getData(); - if (staffPage != null) { - List userVOList = new ArrayList<>(); - staffPage.getRecords().forEach(i -> { - R sysUserVO = remoteUserServiceFeign.getUserByUserId(Long.valueOf(i.getUserId()), SecurityConstants.FROM_IN, userPageQueryDto.getTenantId()); - userVOList.add(sysUserVO.getData()); - }); - return ResponseR.ok(PageResult.of(staffPage.getTotal(), staffPage.getCurrent(), staffPage.getSize(), userVOList)); +// R> sysStaffPageR = remoteTenantServiceFeign.listStaffForPage( +// StaffPageQueryDto.builder() +// .tenantId(userPageQueryDto.getTenantId()) +// .nickname(userPageQueryDto.getNickname()) +// .current(userPageQueryDto.getCurrent()).size(userPageQueryDto.getSize()) +// .build(), +// userPageQueryDto.getTenantId()); +// Page staffPage = sysStaffPageR.getData(); +// if (staffPage != null) { +// List userVOList = new ArrayList<>(); +// staffPage.getRecords().forEach(i -> { +// R sysUserVO = remoteUserServiceFeign.getUserByUserId(Long.valueOf(i.getUserId()), SecurityConstants.FROM_IN, userPageQueryDto.getTenantId()); +// userVOList.add(sysUserVO.getData()); +// }); +// return ResponseR.ok(PageResult.of(staffPage.getTotal(), staffPage.getCurrent(), staffPage.getSize(), userVOList)); +// } + UserPageQueryDto queryDto = new UserPageQueryDto(); + queryDto.setNickname(userPageQueryDto.getNickname()); + queryDto.setTenantId(userPageQueryDto.getTenantId()); + queryDto.setCurrent(userPageQueryDto.getCurrent()); + queryDto.setSize(userPageQueryDto.getSize()); + R> listUserForPageR = remoteUserServiceFeign.listUserForPage(queryDto, userPageQueryDto.getTenantId()); + if (listUserForPageR.isSuccess() && listUserForPageR.getData() != null) { + Page listUserForPage = listUserForPageR.getData(); + return ResponseR.ok(PageResult.of(listUserForPage.getTotal(), listUserForPage.getCurrent(), listUserForPage.getSize(), listUserForPage.getRecords())); } return ResponseR.ok(); } diff --git a/honeycom-spdm/src/main/java/com/honeycombis/honeycom/spdm/feign/RemoteUserServiceFeign.java b/honeycom-spdm/src/main/java/com/honeycombis/honeycom/spdm/feign/RemoteUserServiceFeign.java index 9dc4207..fa10aa6 100644 --- a/honeycom-spdm/src/main/java/com/honeycombis/honeycom/spdm/feign/RemoteUserServiceFeign.java +++ b/honeycom-spdm/src/main/java/com/honeycombis/honeycom/spdm/feign/RemoteUserServiceFeign.java @@ -25,7 +25,7 @@ public interface RemoteUserServiceFeign { @GetMapping("/user/infoByAccount/{phone}") R infoByAccount(@PathVariable String phone, @RequestHeader(SecurityConstants.FROM) String from, @RequestHeader(CommonConstants.TENANT_ID) String tenantId); @GetMapping("/user/page/inner") - R> listUserForPage(@SpringQueryMap UserPageQueryDto sysUser); + R> listUserForPage(@SpringQueryMap UserPageQueryDto sysUser, @RequestHeader(CommonConstants.TENANT_ID) String tenantId); @GetMapping("/user/getUserListByUserName") R> getUserListByUserName(@RequestParam("username") String userName); diff --git a/honeycom-spdm/src/main/java/com/honeycombis/honeycom/spdm/feign/SpdmServiceFeignClient.java b/honeycom-spdm/src/main/java/com/honeycombis/honeycom/spdm/feign/SpdmServiceFeignClient.java index 016f68e..51ba5b4 100644 --- a/honeycom-spdm/src/main/java/com/honeycombis/honeycom/spdm/feign/SpdmServiceFeignClient.java +++ b/honeycom-spdm/src/main/java/com/honeycombis/honeycom/spdm/feign/SpdmServiceFeignClient.java @@ -23,6 +23,6 @@ public interface SpdmServiceFeignClient { ResponseR initNewTenant(@RequestParam Long tenantId); @PostMapping("/lyricUser/queryUserList") - ResponseR queryUserList(@RequestParam String workType); + ResponseR queryUserList(@RequestParam(required = false) String workType); } diff --git a/honeycom-tenant/honeycom-tenant-api/src/main/java/com/honeycombis/honeycom/tenant/feign/RemoteSpdmService.java b/honeycom-tenant/honeycom-tenant-api/src/main/java/com/honeycombis/honeycom/tenant/feign/RemoteSpdmService.java index 3b92e9e..562c879 100644 --- a/honeycom-tenant/honeycom-tenant-api/src/main/java/com/honeycombis/honeycom/tenant/feign/RemoteSpdmService.java +++ b/honeycom-tenant/honeycom-tenant-api/src/main/java/com/honeycombis/honeycom/tenant/feign/RemoteSpdmService.java @@ -17,6 +17,6 @@ public interface RemoteSpdmService { void initNewTenant(@RequestParam Long tenantId); @PostMapping("/honeycom-spdm/spdm-tenant/queryUserList") - R> queryUserList(@RequestParam String workType); + R> queryUserList(@RequestParam(required = false) String workType); } diff --git a/honeycom-tenant/honeycom-tenant-biz/src/main/java/com/honeycombis/honeycom/tenant/controller/SysHrSyncController.java b/honeycom-tenant/honeycom-tenant-biz/src/main/java/com/honeycombis/honeycom/tenant/controller/SysHrSyncController.java index 16ac677..9e28b20 100644 --- a/honeycom-tenant/honeycom-tenant-biz/src/main/java/com/honeycombis/honeycom/tenant/controller/SysHrSyncController.java +++ b/honeycom-tenant/honeycom-tenant-biz/src/main/java/com/honeycombis/honeycom/tenant/controller/SysHrSyncController.java @@ -11,6 +11,7 @@ import com.honeycombis.honeycom.common.core.exception.HoneycomException; import com.honeycombis.honeycom.common.core.util.R; import com.honeycombis.honeycom.common.security.annotation.Inner; import com.honeycombis.honeycom.tenant.entity.SysHrSyncLogEntity; +import com.honeycombis.honeycom.tenant.feign.RemoteSpdmService; import com.honeycombis.honeycom.tenant.service.SysHrSyncLogService; import com.honeycombis.honeycom.tenant.service.SysTKMoldService; import com.honeycombis.honeycom.tenant.vo.hr.HrUserInfoAddDataVO; @@ -28,6 +29,7 @@ import org.springframework.web.bind.annotation.*; import java.util.Arrays; import java.util.List; import java.util.Map; +import java.util.stream.Collectors; @Slf4j @RestController @@ -39,10 +41,11 @@ public class SysHrSyncController { private final SysTKMoldService tkMoldService; private final SysHrSyncLogService sysHrSyncLogService; + private final RemoteSpdmService remoteSpdmService; - public static final List WORK_TYPES = Arrays.asList( - "设计", "仿真", "产品工艺", "方案", "程序", "激光" - ); +// public static final List WORK_TYPES = Arrays.asList( +// "设计", "仿真", "产品工艺", "方案", "程序", "激光" +// ); /** * 分页查询 * @param page 分页对象 @@ -111,12 +114,18 @@ public class SysHrSyncController { @Inner(value = false) @PostMapping("/allSyncLyricUsers") public R allSyncLyricUsers(@RequestBody List userDtoList) { - for (String workType : WORK_TYPES) { - try { - tkMoldService.allSyncLyricUsers(userDtoList, workType); - } catch (Exception e) { - log.error("全量同步用户数据失败", e); - throw new HoneycomException(e.getMessage()); + // 获取利元亨用户数据(带部门) + R> userListR = remoteSpdmService.queryUserList(null); + if (userListR.getData() != null) { + Map> userMapByWorkType = userListR.getData().stream().collect(Collectors.groupingBy(LyricUserDto::getWork_type_name)); + for (String workType : userMapByWorkType.keySet()) { + log.info("-------------------------开始同步{}的用户数据----------------------", workType); + try { + tkMoldService.allSyncLyricUsers(userDtoList, workType); + } catch (Exception e) { + log.error("全量同步用户数据失败", e); + throw new HoneycomException(e.getMessage()); + } } } return R.ok(); diff --git a/honeycom-tenant/honeycom-tenant-biz/src/main/java/com/honeycombis/honeycom/tenant/service/impl/SysTKMoldServiceImpl.java b/honeycom-tenant/honeycom-tenant-biz/src/main/java/com/honeycombis/honeycom/tenant/service/impl/SysTKMoldServiceImpl.java index 13f4a24..8667778 100644 --- a/honeycom-tenant/honeycom-tenant-biz/src/main/java/com/honeycombis/honeycom/tenant/service/impl/SysTKMoldServiceImpl.java +++ b/honeycom-tenant/honeycom-tenant-biz/src/main/java/com/honeycombis/honeycom/tenant/service/impl/SysTKMoldServiceImpl.java @@ -52,7 +52,6 @@ public class SysTKMoldServiceImpl implements SysTKMoldService { private final SysHrSyncLogService sysHrSyncLogService; private final SysRoleService sysRoleService; private final SysStaffRoleService sysStaffRoleService; - private final RemoteSpdmService remoteSpdmService; @Async("tenantAsyncTask") @Override @@ -362,88 +361,87 @@ public class SysTKMoldServiceImpl implements SysTKMoldService { sysHrSyncLogService.save(sysHrSyncLogEntity); } -// @Async("tenantAsyncTask") + @Async("tenantAsyncTask") @Override @Transactional(rollbackFor = Exception.class) public void allSyncLyricUsers(List userList, String workType) { // Long tenantId = 2001184963854700545L; Long tenantId = 7244250568405852160L; - // 获取利元亨用户数据(带部门) -// R> userListR = remoteSpdmService.queryUserList(workType); -// List userList = userListR.getData(); + if (!userList.isEmpty()) { // 筛选新用户 userList = filerNewUserList(userList); + if (userList.size() > 0) { + log.info("开始同步,租户{}",tenantId); + StringBuilder message = new StringBuilder("全量同步:"); - log.info("开始同步,租户{}",tenantId); - StringBuilder message = new StringBuilder("全量同步:"); + SysRoleVO sysRole = sysRoleService.getByRoleCodeAndTenantId(TenantConstants.ROLE_NORMAL_USER_CODE, tenantId); + if (sysRole != null) { + Map empIdAndUserIds = new HashMap<>(); + List tenantUserDtos = tkMoldHrConverter.lyricUserToTenantUserDto(userList, empIdAndUserIds); + List> lists = ListUtil.split(tenantUserDtos, 500); + int index = 0; + for (List tenantUserDtoList : lists) { + log.info("执行第{}到{}用户",index+1,index += tenantUserDtoList.size()); + //生成用户信息 + honeycomUserServiceFeign.hrBatchAdd(tenantUserDtoList, SecurityConstants.FROM_IN, new Request.Options(300, TimeUnit.SECONDS, 300, TimeUnit.SECONDS, true)); + } + message.append(String.format("新增用户%s;",tenantUserDtos.size())); + log.info("新增用户{}",tenantUserDtos.size()); - SysRoleVO sysRole = sysRoleService.getByRoleCodeAndTenantId(TenantConstants.ROLE_NORMAL_USER_CODE, tenantId); - if (sysRole != null) { - Map empIdAndUserIds = new HashMap<>(); - List tenantUserDtos = tkMoldHrConverter.lyricUserToTenantUserDto(userList, empIdAndUserIds); - List> lists = ListUtil.split(tenantUserDtos, 500); - int index = 0; - for (List tenantUserDtoList : lists) { - log.info("执行第{}到{}用户",index+1,index += tenantUserDtoList.size()); - //生成用户信息 - honeycomUserServiceFeign.hrBatchAdd(tenantUserDtoList, SecurityConstants.FROM_IN, new Request.Options(300, TimeUnit.SECONDS, 300, TimeUnit.SECONDS, true)); - } - message.append(String.format("新增用户%s;",tenantUserDtos.size())); - log.info("新增用户{}",tenantUserDtos.size()); - - // 生成部门信息 按工种分组 挂租户下面 - // 获取去重后的一级部门列表 + // 生成部门信息 按工种分组 挂租户下面 + // 获取去重后的一级部门列表 // List deptList = getDistinctDeptByDeptCode1(userList); - Map deptIdAndDeptIds = new HashMap<>(); - List sysDeptEntities = tkMoldHrConverter.lyricDeptToTenantDept2(workType, deptIdAndDeptIds, tenantId); - sysDeptService.saveBatch(sysDeptEntities); - message.append(String.format("新增部门%s;",sysDeptEntities.size())); - log.info("新增部门{}",sysDeptEntities.size()); + Map deptIdAndDeptIds = new HashMap<>(); + List sysDeptEntities = tkMoldHrConverter.lyricDeptToTenantDept2(workType, deptIdAndDeptIds, tenantId); + sysDeptService.saveBatch(sysDeptEntities); + message.append(String.format("新增部门%s;",sysDeptEntities.size())); + log.info("新增部门{}",sysDeptEntities.size()); - //生成岗位信息 - List jobList = getDistinctJobByJobCode(userList); - Map jobIdAndPostIds = new HashMap<>(); - List sysPostEntities = tkMoldHrConverter.lyricJobToPost(jobList, jobIdAndPostIds, tenantId); - sysPostService.saveBatch(sysPostEntities); - message.append(String.format("新增职位%s;",sysPostEntities.size())); - log.info("新增职位{}",sysPostEntities.size()); + //生成岗位信息 + List jobList = getDistinctJobByJobCode(userList); + Map jobIdAndPostIds = new HashMap<>(); + List sysPostEntities = tkMoldHrConverter.lyricJobToPost(jobList, jobIdAndPostIds, tenantId); + sysPostService.saveBatch(sysPostEntities); + message.append(String.format("新增职位%s;",sysPostEntities.size())); + log.info("新增职位{}",sysPostEntities.size()); - //生成员工信息 - List sysStaffEntities = new ArrayList<>(userList.size()); - // cid部门id和员工id映射 - Map deptMap = new HashMap<>(); - Map postMap = new HashMap<>(); - List staffRoleList = new ArrayList<>(); - userList.forEach(emp -> { - SysStaffEntity sysStaffEntity = new SysStaffEntity(); - sysStaffEntity.setUserId(empIdAndUserIds.get(emp.getPsn_code())); - sysStaffEntity.setLoginDefault(CommonConstants.FALSE_S); - sysStaffEntity.setTenantId(tenantId); - // 用户状态默认正常 - sysStaffEntity.setStatus(CommonConstants.STATUS_NORMAL); - long staffId = IdWorker.getId(sysStaffEntity); - sysStaffEntity.setStaffId(staffId); - sysStaffEntity.setStaffCode(TenantConstants.STAFF_CODE_PREFIX + staffId); - sysStaffEntity.setCreateBy(0L); - sysStaffEntity.setUpdateBy(0L); + //生成员工信息 + List sysStaffEntities = new ArrayList<>(userList.size()); + // cid部门id和员工id映射 + Map deptMap = new HashMap<>(); + Map postMap = new HashMap<>(); + List staffRoleList = new ArrayList<>(); + userList.forEach(emp -> { + SysStaffEntity sysStaffEntity = new SysStaffEntity(); + sysStaffEntity.setUserId(empIdAndUserIds.get(emp.getPsn_code())); + sysStaffEntity.setLoginDefault(CommonConstants.FALSE_S); + sysStaffEntity.setTenantId(tenantId); + // 用户状态默认正常 + sysStaffEntity.setStatus(CommonConstants.STATUS_NORMAL); + long staffId = IdWorker.getId(sysStaffEntity); + sysStaffEntity.setStaffId(staffId); + sysStaffEntity.setStaffCode(TenantConstants.STAFF_CODE_PREFIX + staffId); + sysStaffEntity.setCreateBy(0L); + sysStaffEntity.setUpdateBy(0L); // deptMap.put(staffId, deptIdAndDeptIds.get(emp.getDept_grp_code1())); - deptMap.put(staffId, deptIdAndDeptIds.get(workType)); - postMap.put(staffId, jobIdAndPostIds.get(emp.getJob_code())); - sysStaffEntities.add(sysStaffEntity); - SysStaffRoleEntity sysStaffRoleEntity = new SysStaffRoleEntity(); - sysStaffRoleEntity.setStaffId(staffId); - sysStaffRoleEntity.setRoleId(sysRole.getRoleId()); - staffRoleList.add(sysStaffRoleEntity); - }); - //保存员工信息 - sysStaffService.saveBatch(sysStaffEntities); - //处理员工关联关系 - List sysStaffDeptEntities = tkMoldHrConverter.convertStaffDept(deptMap); - List sysStaffPostEntities = tkMoldHrConverter.convertStaffPost(postMap); - sysStaffDeptService.saveBatch(sysStaffDeptEntities); - sysStaffPostService.saveBatch(sysStaffPostEntities); - sysStaffRoleService.saveBatch(staffRoleList); + deptMap.put(staffId, deptIdAndDeptIds.get(workType)); + postMap.put(staffId, jobIdAndPostIds.get(emp.getJob_code())); + sysStaffEntities.add(sysStaffEntity); + SysStaffRoleEntity sysStaffRoleEntity = new SysStaffRoleEntity(); + sysStaffRoleEntity.setStaffId(staffId); + sysStaffRoleEntity.setRoleId(sysRole.getRoleId()); + staffRoleList.add(sysStaffRoleEntity); + }); + //保存员工信息 + sysStaffService.saveBatch(sysStaffEntities); + //处理员工关联关系 + List sysStaffDeptEntities = tkMoldHrConverter.convertStaffDept(deptMap); + List sysStaffPostEntities = tkMoldHrConverter.convertStaffPost(postMap); + sysStaffDeptService.saveBatch(sysStaffDeptEntities); + sysStaffPostService.saveBatch(sysStaffPostEntities); + sysStaffRoleService.saveBatch(staffRoleList); + } } } } @@ -489,8 +487,8 @@ public class SysTKMoldServiceImpl implements SysTKMoldService { LyricUserDto::getJob_code, dto -> { LyricUserDto newDto = new LyricUserDto(); - newDto.setDept_grp_code1(dto.getJob_code()); - newDto.setDept_grp_name1(dto.getJob_name()); + newDto.setJob_code(dto.getJob_code()); + newDto.setJob_name(dto.getJob_name()); return newDto; }, (existing, replacement) -> existing // 重复时保留第一个,避免覆盖 diff --git a/honeycom-user/honeycom-user-biz/src/main/java/com/honeycombis/honeycom/user/config/UserApiProperties.java b/honeycom-user/honeycom-user-biz/src/main/java/com/honeycombis/honeycom/user/config/UserApiProperties.java index ef9be2f..1e4dd73 100644 --- a/honeycom-user/honeycom-user-biz/src/main/java/com/honeycombis/honeycom/user/config/UserApiProperties.java +++ b/honeycom-user/honeycom-user-biz/src/main/java/com/honeycombis/honeycom/user/config/UserApiProperties.java @@ -14,4 +14,6 @@ public class UserApiProperties { */ private String defaultPassword = "honeycom@2025."; + private String defaultLyricPassword = "lyric@2026."; + } diff --git a/honeycom-user/honeycom-user-biz/src/main/java/com/honeycombis/honeycom/user/controller/SysUserController.java b/honeycom-user/honeycom-user-biz/src/main/java/com/honeycombis/honeycom/user/controller/SysUserController.java index a65904a..56162c6 100644 --- a/honeycom-user/honeycom-user-biz/src/main/java/com/honeycombis/honeycom/user/controller/SysUserController.java +++ b/honeycom-user/honeycom-user-biz/src/main/java/com/honeycombis/honeycom/user/controller/SysUserController.java @@ -87,8 +87,8 @@ public class SysUserController { @Inner(false) @Operation(summary = "分页查询" , description = "分页查询" ) @GetMapping("/page/inner" ) - public R> getSysUserPageInner(@ParameterObject Page page, @ParameterObject SysUserPageQueryDTO sysUser) { - return R.ok(sysUserService.page(page, sysUser)); + public R> getSysUserPageInner(@ParameterObject Page page, @ParameterObject SysUserPageQueryDTO sysUser) { + return R.ok(sysUserService.pageInner(page, sysUser)); } /** diff --git a/honeycom-user/honeycom-user-biz/src/main/java/com/honeycombis/honeycom/user/service/SysUserService.java b/honeycom-user/honeycom-user-biz/src/main/java/com/honeycombis/honeycom/user/service/SysUserService.java index ffe39b0..8e610a0 100644 --- a/honeycom-user/honeycom-user-biz/src/main/java/com/honeycombis/honeycom/user/service/SysUserService.java +++ b/honeycom-user/honeycom-user-biz/src/main/java/com/honeycombis/honeycom/user/service/SysUserService.java @@ -32,6 +32,8 @@ public interface SysUserService extends IService { IPage page(Page page, SysUserPageQueryDTO sysUser); + IPage pageInner(Page page, SysUserPageQueryDTO sysUser); + void changeStatus(SysUserChangeStatusDTO sysUser); List findLikeUsername(String username); diff --git a/honeycom-user/honeycom-user-biz/src/main/java/com/honeycombis/honeycom/user/service/impl/SysHrSyncUserServiceImpl.java b/honeycom-user/honeycom-user-biz/src/main/java/com/honeycombis/honeycom/user/service/impl/SysHrSyncUserServiceImpl.java index fca6816..ba27132 100644 --- a/honeycom-user/honeycom-user-biz/src/main/java/com/honeycombis/honeycom/user/service/impl/SysHrSyncUserServiceImpl.java +++ b/honeycom-user/honeycom-user-biz/src/main/java/com/honeycombis/honeycom/user/service/impl/SysHrSyncUserServiceImpl.java @@ -185,7 +185,7 @@ public class SysHrSyncUserServiceImpl extends ServiceImpl tenantUserDtoList) { List sysUserEntitySaveList = new ArrayList<>(); List sysPersonSaveOrUpdateDTOList = new ArrayList<>(); - String password = ENCODER.encode(userApiProperties.getDefaultPassword()); + String password = ENCODER.encode(userApiProperties.getDefaultLyricPassword()); for (TenantUserDto tenantUserDto : tenantUserDtoList) { SysUserEntity sysUserEntity = new SysUserEntity(); if(tenantUserDto.getUserId()!=null){ diff --git a/honeycom-user/honeycom-user-biz/src/main/java/com/honeycombis/honeycom/user/service/impl/SysUserServiceImpl.java b/honeycom-user/honeycom-user-biz/src/main/java/com/honeycombis/honeycom/user/service/impl/SysUserServiceImpl.java index 108a9ad..69162c8 100644 --- a/honeycom-user/honeycom-user-biz/src/main/java/com/honeycombis/honeycom/user/service/impl/SysUserServiceImpl.java +++ b/honeycom-user/honeycom-user-biz/src/main/java/com/honeycombis/honeycom/user/service/impl/SysUserServiceImpl.java @@ -264,6 +264,54 @@ public class SysUserServiceImpl extends ServiceImpl pageInner(Page page, SysUserPageQueryDTO sysUser) { + if (Objects.isNull(page)) { + throw new HoneycomException(ErrorType.PARAM_ERROR.getCode()); + } + + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + if (!Objects.isNull(sysUser)) { + if (ObjectUtil.isNotNull(sysUser.getUserId())) { + queryWrapper.like(SysUserEntity::getUserId, sysUser.getUserId()); + } + if (ObjectUtil.isNotNull(sysUser.getUserName())) { + queryWrapper.like(SysUserEntity::getUsername, sysUser.getUserName()); + } + if (StringUtils.isNotBlank(sysUser.getPhone())) { + queryWrapper.like(SysUserEntity::getPhone, sysUser.getPhone()); + } + if (StringUtils.isNotBlank(sysUser.getNickname())) { + queryWrapper.like(SysUserEntity::getNickname, sysUser.getNickname()); + } + if (StringUtils.isNotBlank(sysUser.getEmail())) { + queryWrapper.like(SysUserEntity::getEmail, sysUser.getEmail()); + } + if (StringUtils.isNotBlank(sysUser.getStatus())) { + queryWrapper.like(SysUserEntity::getStatus, sysUser.getStatus()); + } + if (!Objects.isNull(sysUser.getStartCreateTime())) { + queryWrapper.ge(SysUserEntity::getCreateTime, sdf.format(new Date(sysUser.getStartCreateTime()))); + } + if (!Objects.isNull(sysUser.getEndCreateTime())) { + queryWrapper.le(SysUserEntity::getCreateTime, sdf.format(new Date(sysUser.getEndCreateTime()))); + } + if (!Objects.isNull(sysUser.getStartUpdateTime())) { + queryWrapper.ge(SysUserEntity::getUpdateTime, sdf.format(new Date(sysUser.getStartUpdateTime()))); + } + if (!Objects.isNull(sysUser.getEndUpdateTime())) { + queryWrapper.le(SysUserEntity::getUpdateTime, sdf.format(new Date(sysUser.getEndUpdateTime()))); + } + } + + Page pageData = this.page(page, queryWrapper); + if (Objects.isNull(pageData)) { + throw new HoneycomException(UserErrorType.QUERY_USER_PAGE_ERROR.getCode()); + } + + return pageData.convert(SysUserVO::new); + } + @Override @Transactional(rollbackFor = Exception.class) public void changeStatus(SysUserChangeStatusDTO sysUser) {