AppCustomerManagementImpl.java 4.1 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 = new BaseController().getDeptId();
  32. SysDept dept = sysDeptService.getById(deptId);
  33. Page<SysUser> page = new Page<>(managementQueryVo.getPageNum(), managementQueryVo.getPageSize());
  34. String userId = new BaseController().getUserId();
  35. if (OrganizationSource.OS_1.getCode().equals(dept.getManagementSource())) {
  36. Page<SysUser> sysUserPage = sysUserService.lambdaQuery()
  37. .eq(SysUser::getOperatorCode, userId)
  38. .or(x-> x.eq(StringUtils.isEmpty(managementQueryVo.getCriteria()), SysUser::getMobile, managementQueryVo.getCriteria()))
  39. .or(x-> x.eq(StringUtils.isEmpty(managementQueryVo.getCriteria()), SysUser::getId, managementQueryVo.getCriteria()))
  40. .or(x-> x.eq(StringUtils.isEmpty(managementQueryVo.getCriteria()), SysUser::getName, managementQueryVo.getCriteria()))
  41. .eq(StringUtils.isEmpty(managementQueryVo.getAuthenticationStatus()), SysUser::getName, managementQueryVo.getAuthenticationStatus())
  42. .page(page);
  43. List<SysUserTeamDto> sysUserTeamDtos = sysUserPage.getRecords().stream().map(SysUserTeamDto::new).collect(Collectors.toList());
  44. BasePageResult<SysUserTeamDto> sysUserBasePageResult = new BasePageResult<>(managementQueryVo.getPageNum(), managementQueryVo.getPageSize(), sysUserPage.getTotal(),
  45. sysUserPage.getPages()
  46. , sysUserTeamDtos);
  47. return HttpResult.ok(sysUserBasePageResult);
  48. }
  49. BasePageResult<SysUserTeamDto> sysUserBasePageResult = esmUserReferrerService.getTeamUser(managementQueryVo, userId);
  50. return HttpResult.ok(sysUserBasePageResult);
  51. }
  52. @Override
  53. public HttpResult<SysUserTeamInfoDto> getUserInfo(String userId) {
  54. // 人员信息
  55. SysUser sysUser = sysUserService.getById(userId);
  56. // 团队信息
  57. SysDept dept = sysDeptService.getById(sysUser.getDeptId());
  58. // 机构信息
  59. SysDept organization = sysDeptService.getById(dept.getParentId());
  60. SysUserInfo sysUserInfo = sysUserInfoService.getById(userId);
  61. SysUserTeamInfoDto sysUserTeamInfoDto = new SysUserTeamInfoDto(sysUser, dept, organization, sysUserInfo);
  62. SysUserTrack sysUserTrack = sysUserTrackService.getLastTime(userId);
  63. if (sysUserTrack != null) {
  64. sysUserTeamInfoDto.setApproveTime(sysUserTrack.getApproveTime());
  65. sysUserTeamInfoDto.setApproveBy(sysUserTrack.getApproveBy());
  66. }
  67. return HttpResult.ok(sysUserTeamInfoDto);
  68. }
  69. }