选装售后
Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

AflCenterUserInfoFindPageHandler.java 6.3KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131
  1. package com.qtzl.alterSales.manager.handler;
  2. import cn.com.taiji.common.manager.net.http.ServiceHandleException;
  3. import cn.hutool.core.bean.BeanUtil;
  4. import cn.hutool.core.util.DesensitizedUtil;
  5. import com.google.common.collect.Lists;
  6. import com.qtzl.alterSales.dao.entity.second.AflCenterUserInfo;
  7. import com.qtzl.alterSales.dao.repo.jpa.second.AflCenterUserInfoRepo;
  8. import com.qtzl.alterSales.manager.abstracts.AbstractAfterSalesManager;
  9. import com.qtzl.alterSales.manager.model.protocol.UcServiceError;
  10. import com.qtzl.alterSales.manager.model.protocol.sales.AflCenterUserInfoFindPageViewRequest;
  11. import com.qtzl.alterSales.manager.model.protocol.sales.AflCenterUserInfoFindPageViewResponse;
  12. import com.qtzl.alterSales.manager.service.AfterSalesCmd;
  13. import com.qtzl.alterSales.manager.vo.AflCenterUserInfoVo;
  14. import com.txffp.api.core.manager.comm.annotation.ApiHandler;
  15. import org.apache.commons.lang3.StringUtils;
  16. import org.springframework.data.domain.Page;
  17. import org.springframework.data.domain.PageRequest;
  18. import org.springframework.data.domain.Sort;
  19. import org.springframework.stereotype.Service;
  20. import javax.annotation.Resource;
  21. import javax.persistence.criteria.Predicate;
  22. import java.time.LocalDateTime;
  23. import java.util.List;
  24. import java.util.stream.Collectors;
  25. /**
  26. *账户管理查询
  27. */
  28. @Service
  29. @ApiHandler
  30. public class AflCenterUserInfoFindPageHandler extends AbstractAfterSalesManager<AflCenterUserInfoFindPageViewRequest> {
  31. @Resource
  32. private AflCenterUserInfoRepo aflCenterUserInfoRepo;
  33. public AflCenterUserInfoFindPageHandler() {
  34. super(AfterSalesCmd.FINDPAGECENTERUSERINFO, AflCenterUserInfoFindPageViewRequest.class);
  35. }
  36. @Override
  37. public String handleInternal(String filename, AflCenterUserInfoFindPageViewRequest request) throws ServiceHandleException {
  38. try {
  39. Page<AflCenterUserInfo> page = select(request);
  40. return toResponse(page, request).toJson();
  41. } catch (Exception e) {
  42. if (e instanceof ServiceHandleException) {
  43. throw e;
  44. }
  45. logger.error("选装-账户管理查询失败:{}", e.getMessage());
  46. throw UcServiceError.BUSINESS_VALIDATE_ERR.toHandleException("账户管理查询失败");
  47. }
  48. }
  49. private AflCenterUserInfoFindPageViewResponse toResponse(Page<AflCenterUserInfo> page, AflCenterUserInfoFindPageViewRequest request) {
  50. final AflCenterUserInfoFindPageViewResponse response = new AflCenterUserInfoFindPageViewResponse();
  51. response.setCurrentPage(request.getPageNo());
  52. response.setPageSize(request.getPageSize());
  53. response.setPageCount(page.getTotalPages());
  54. response.setTotalCount(page.getTotalElements());
  55. if (isEmpty(page.getContent())) {
  56. response.setData(Lists.newArrayList());
  57. return response;
  58. }
  59. List<AflCenterUserInfoVo> formVoList = page.getContent().stream().map(this::toVo).collect(Collectors.toList());
  60. response.setData(formVoList);
  61. return response;
  62. }
  63. private Page<AflCenterUserInfo> select(AflCenterUserInfoFindPageViewRequest request) throws ServiceHandleException {
  64. if (request.getPageSize() > 100) {
  65. throw UcServiceError.BUSINESS_VALIDATE_ERR.toHandleException("请求每页数量过大 " + request.getPageSize());
  66. }
  67. return aflCenterUserInfoRepo.findAll(((root, query, cb) -> {
  68. List<Predicate> list = Lists.newArrayList();
  69. if (!StringUtils.isEmpty(request.getAccountId())) {
  70. list.add(cb.equal(root.<String>get("accountId"), request.getAccountId()));
  71. }
  72. if (!StringUtils.isEmpty(request.getName())) {
  73. list.add(cb.like(root.<String>get("name"), "%"+request.getName()+"%"));
  74. }
  75. if (!StringUtils.isEmpty(request.getAccountType())) {
  76. list.add(cb.equal(root.<String>get("accountType"), request.getAccountType()));
  77. }
  78. if (!StringUtils.isEmpty(request.getIdType())) {
  79. list.add(cb.equal(root.<String>get("idType"), request.getIdType()));
  80. }
  81. if (!StringUtils.isEmpty(request.getIdNum())) {
  82. list.add(cb.equal(root.<String>get("idNum"), request.getIdNum()));
  83. }
  84. if (!StringUtils.isEmpty(request.getMobile())) {
  85. list.add(cb.equal(root.<String>get("mobile"), request.getMobile()));
  86. }
  87. if (!StringUtils.isEmpty(request.getAgentName())) {
  88. list.add(cb.like(root.<String>get("agentName"), "%"+request.getAgentName()+"%"));
  89. }
  90. if (!StringUtils.isEmpty(request.getAgentIdType())) {
  91. list.add(cb.equal(root.<String>get("agentIdType"), request.getAgentIdType()));
  92. }
  93. if (!StringUtils.isEmpty(request.getAgentIdNum())) {
  94. list.add(cb.equal(root.<String>get("agentIdNum"), request.getAgentIdNum()));
  95. }
  96. if (!StringUtils.isEmpty(request.getStatus())) {
  97. list.add(cb.equal(root.<String>get("status"), request.getStatus()));
  98. }
  99. if (request.getInsertTimeStart() != null) {
  100. list.add(cb.greaterThanOrEqualTo(root.<LocalDateTime>get("insertTime"), request.getInsertTimeStart()));
  101. }
  102. if (request.getInsertTimeEnd() != null) {
  103. list.add(cb.lessThanOrEqualTo(root.<LocalDateTime>get("insertTime"), request.getInsertTimeEnd()));
  104. }
  105. Predicate[] p = new Predicate[list.size()];
  106. return cb.and(list.toArray(p));
  107. }), PageRequest.of(request.getPageNo() - 1, request.getPageSize(),
  108. Sort.by(Sort.Direction.DESC, "insertTime")));
  109. }
  110. private AflCenterUserInfoVo toVo(AflCenterUserInfo aflCenterUserInfo) {
  111. AflCenterUserInfoVo aflCenterUserInfoVo = new AflCenterUserInfoVo();
  112. BeanUtil.copyProperties(aflCenterUserInfo, aflCenterUserInfoVo);
  113. if (!StringUtils.isEmpty(aflCenterUserInfoVo.getIdNum())&&aflCenterUserInfoVo.getIdNum().length()==18){
  114. aflCenterUserInfoVo.setIdNum(DesensitizedUtil.idCardNum(aflCenterUserInfoVo.getIdNum(), 3, 4));
  115. }
  116. if (!StringUtils.isEmpty(aflCenterUserInfoVo.getMobile())&&aflCenterUserInfoVo.getMobile().length()==11){
  117. aflCenterUserInfoVo.setIdNum(DesensitizedUtil.mobilePhone(aflCenterUserInfoVo.getMobile()));
  118. }
  119. return aflCenterUserInfoVo;
  120. }
  121. }