AppCustomerManagementImpl.java 4.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. package com.ydtech.modules.admin.service.impl;
  2. import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
  3. import com.ydtech.constants.enums.dict.organization.OrganizationSource;
  4. import com.ydtech.core.page.HttpResult;
  5. import com.ydtech.modules.admin.model.SysDept;
  6. import com.ydtech.modules.admin.model.SysUser;
  7. import com.ydtech.modules.admin.model.SysUserInfo;
  8. import com.ydtech.modules.admin.model.SysUserTrack;
  9. import com.ydtech.modules.admin.model.dto.SysUserTeamDto;
  10. import com.ydtech.modules.admin.model.dto.SysUserTeamInfoDto;
  11. import com.ydtech.modules.admin.model.vo.AppCustomerManagementQueryVo;
  12. import com.ydtech.modules.admin.service.*;
  13. import com.ydtech.modules.base.controller.BaseController;
  14. import com.ydtech.modules.esm.service.EsmUserReferrerService;
  15. import com.ydtech.modules.order.entity.BasePageResult;
  16. import com.ydtech.utils.StringUtils;
  17. import lombok.RequiredArgsConstructor;
  18. import org.springframework.stereotype.Service;
  19. import java.util.List;
  20. import java.util.stream.Collectors;
  21. @Service
  22. @RequiredArgsConstructor
  23. public class AppCustomerManagementImpl implements AppCustomerManagementService {
  24. private final SysUserService sysUserService;
  25. private final SysDeptService sysDeptService;
  26. private final EsmUserReferrerService esmUserReferrerService;
  27. private final SysUserInfoService sysUserInfoService;
  28. private final SysUserTrackService sysUserTrackService;
  29. @Override
  30. public HttpResult<BasePageResult<SysUserTeamDto>> authenticationQuery(AppCustomerManagementQueryVo managementQueryVo) {
  31. String deptId = BaseController.getDeptId();
  32. SysDept dept = sysDeptService.getById(deptId);
  33. Page<SysUser> page = new Page<>(managementQueryVo.getPageNum(), managementQueryVo.getPageSize());
  34. String userId = BaseController.getUserId();
  35. if (OrganizationSource.OS_1.getCode().equals(dept.getManagementSource())) {
  36. boolean notEmpty = StringUtils.isNotEmpty(managementQueryVo.getCriteria());
  37. Page<SysUser> sysUserPage = sysUserService.lambdaQuery()
  38. .eq(SysUser::getOperatorCode, userId)
  39. .eq(StringUtils.isNotEmpty(managementQueryVo.getAuthenticationStatus()), SysUser::getStatus, managementQueryVo.getAuthenticationStatus())
  40. .and(notEmpty, x -> x.eq(SysUser::getMobile, managementQueryVo.getCriteria())
  41. .or().eq(SysUser::getId, managementQueryVo.getCriteria())
  42. .or().eq(SysUser::getName, managementQueryVo.getCriteria()))
  43. .page(page);
  44. List<SysUserTeamDto> sysUserTeamDtos = sysUserPage.getRecords().stream().map(SysUserTeamDto::new).collect(Collectors.toList());
  45. BasePageResult<SysUserTeamDto> sysUserBasePageResult = new BasePageResult<>(managementQueryVo.getPageNum(), managementQueryVo.getPageSize(), sysUserPage.getTotal(),
  46. sysUserPage.getPages()
  47. , sysUserTeamDtos);
  48. return HttpResult.ok(sysUserBasePageResult);
  49. }
  50. BasePageResult<SysUserTeamDto> sysUserBasePageResult = esmUserReferrerService.getTeamUser(managementQueryVo, userId);
  51. return HttpResult.ok(sysUserBasePageResult);
  52. }
  53. @Override
  54. public HttpResult<SysUserTeamInfoDto> getUserInfo(String userId) {
  55. // 人员信息
  56. SysUser sysUser = sysUserService.getById(userId);
  57. // 团队信息
  58. SysDept dept = sysDeptService.getById(sysUser.getDeptId());
  59. // 机构信息
  60. SysDept organization = sysDeptService.getById(dept.getParentId());
  61. SysUserInfo sysUserInfo = sysUserInfoService.getById(userId);
  62. SysUserTeamInfoDto sysUserTeamInfoDto = new SysUserTeamInfoDto(sysUser, dept, organization, sysUserInfo);
  63. SysUserTrack sysUserTrack = sysUserTrackService.getLastTime(userId);
  64. if (sysUserTrack != null) {
  65. sysUserTeamInfoDto.setApproveTime(sysUserTrack.getApproveTime());
  66. sysUserTeamInfoDto.setApproveBy(sysUserTrack.getApproveBy());
  67. }
  68. return HttpResult.ok(sysUserTeamInfoDto);
  69. }
  70. }