AppCustomerManagementImpl.java 4.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  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.model.EsmUserReferrer;
  15. import com.ydtech.modules.esm.service.EsmUserReferrerService;
  16. import com.ydtech.modules.order.entity.BasePageResult;
  17. import com.ydtech.utils.StringUtils;
  18. import lombok.RequiredArgsConstructor;
  19. import org.springframework.stereotype.Service;
  20. import java.util.List;
  21. import java.util.stream.Collectors;
  22. @Service
  23. @RequiredArgsConstructor
  24. public class AppCustomerManagementImpl implements AppCustomerManagementService {
  25. private final SysUserService sysUserService;
  26. private final SysDeptService sysDeptService;
  27. private final EsmUserReferrerService esmUserReferrerService;
  28. private final SysUserInfoService sysUserInfoService;
  29. private final SysUserTrackService sysUserTrackService;
  30. @Override
  31. public HttpResult<BasePageResult<SysUserTeamDto>> authenticationQuery(AppCustomerManagementQueryVo managementQueryVo) {
  32. String deptId = BaseController.getDeptId();
  33. SysDept dept = sysDeptService.getById(deptId);
  34. Page<SysUser> page = new Page<>(managementQueryVo.getPageNum(), managementQueryVo.getPageSize());
  35. String userId = BaseController.getUserId();
  36. if (OrganizationSource.OS_1.getCode().equals(dept.getManagementSource())) {
  37. boolean notEmpty = StringUtils.isNotEmpty(managementQueryVo.getCriteria());
  38. Page<SysUser> sysUserPage = sysUserService.lambdaQuery()
  39. .eq(SysUser::getOperatorCode, userId)
  40. .eq(StringUtils.isNotEmpty(managementQueryVo.getAuthenticationStatus()), SysUser::getStatus, managementQueryVo.getAuthenticationStatus())
  41. .and(notEmpty, x -> x.eq(SysUser::getMobile, managementQueryVo.getCriteria())
  42. .or().eq(SysUser::getId, managementQueryVo.getCriteria())
  43. .or().eq(SysUser::getName, managementQueryVo.getCriteria()))
  44. .page(page);
  45. List<SysUserTeamDto> sysUserTeamDtos = sysUserPage.getRecords().stream().map(SysUserTeamDto::new).collect(Collectors.toList());
  46. BasePageResult<SysUserTeamDto> sysUserBasePageResult = new BasePageResult<>(managementQueryVo.getPageNum(), managementQueryVo.getPageSize(), sysUserPage.getTotal(),
  47. sysUserPage.getPages()
  48. , sysUserTeamDtos);
  49. return HttpResult.ok(sysUserBasePageResult);
  50. }
  51. BasePageResult<SysUserTeamDto> sysUserBasePageResult = esmUserReferrerService.getTeamUser(managementQueryVo, userId);
  52. return HttpResult.ok(sysUserBasePageResult);
  53. }
  54. @Override
  55. public HttpResult<SysUserTeamInfoDto> getUserInfo(String userId) {
  56. // 人员信息
  57. SysUser sysUser = sysUserService.getById(userId);
  58. // 团队信息
  59. SysDept dept = sysDeptService.getById(sysUser.getDeptId());
  60. // 机构信息
  61. SysDept organization = sysDeptService.getById(dept.getParentId());
  62. SysUserInfo sysUserInfo = sysUserInfoService.getById(userId);
  63. SysUserTeamInfoDto sysUserTeamInfoDto = new SysUserTeamInfoDto(sysUser, dept, organization, sysUserInfo);
  64. SysUserTrack sysUserTrack = sysUserTrackService.getLastTime(userId);
  65. if (sysUserTrack != null) {
  66. sysUserTeamInfoDto.setApproveTime(sysUserTrack.getApproveTime());
  67. sysUserTeamInfoDto.setApproveBy(sysUserTrack.getApproveBy());
  68. }
  69. EsmUserReferrer esmUserReferrer = esmUserReferrerService.getById(userId);
  70. // 推荐人信息
  71. if (esmUserReferrer != null) {
  72. sysUserTeamInfoDto.setReferrersId(esmUserReferrer.getReferrerId());
  73. sysUserTeamInfoDto.setReferrersName(esmUserReferrer.getReferrerName());
  74. }
  75. return HttpResult.ok(sysUserTeamInfoDto);
  76. }
  77. }