AgentAuthorizeModelingServiceImpl.java 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  1. package com.fdkankan.agent.service.impl;
  2. import cn.hutool.core.date.DateUtil;
  3. import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
  4. import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
  5. import com.fdkankan.agent.common.PageInfo;
  6. import com.fdkankan.agent.common.util.DateUtils;
  7. import com.fdkankan.agent.config.AgentConfig;
  8. import com.fdkankan.agent.entity.AgentAuthorizeModeling;
  9. import com.fdkankan.agent.entity.AgentNew;
  10. import com.fdkankan.agent.entity.IncrementUseType;
  11. import com.fdkankan.agent.entity.User;
  12. import com.fdkankan.agent.mapper.IAgentAuthorizeModelingMapper;
  13. import com.fdkankan.agent.request.AuthorizeParam;
  14. import com.fdkankan.agent.service.*;
  15. import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
  16. import com.fdkankan.common.util.DataUtils;
  17. import org.apache.commons.lang3.StringUtils;
  18. import org.springframework.beans.factory.annotation.Autowired;
  19. import org.springframework.stereotype.Service;
  20. import java.time.LocalDate;
  21. import java.time.format.DateTimeFormatter;
  22. import java.util.HashMap;
  23. import java.util.HashSet;
  24. import java.util.List;
  25. import java.util.Set;
  26. import java.util.stream.Collectors;
  27. /**
  28. * <p>
  29. * 服务实现类
  30. * </p>
  31. *
  32. * @author
  33. * @since 2025-03-17
  34. */
  35. @Service
  36. public class AgentAuthorizeModelingServiceImpl extends ServiceImpl<IAgentAuthorizeModelingMapper, AgentAuthorizeModeling> implements IAgentAuthorizeModelingService {
  37. @Autowired
  38. IUserService userService;
  39. @Autowired
  40. IAgentNewService agentNewService;
  41. @Autowired
  42. IIncrementUseTypeService iIncrementUseTypeService;
  43. @Override
  44. public Object pageList(AuthorizeParam param) {
  45. LambdaQueryWrapper<AgentAuthorizeModeling> wrapper = new LambdaQueryWrapper<>();
  46. if(StringUtils.isNotBlank(param.getCustomerName())){
  47. wrapper.like(AgentAuthorizeModeling::getCustomerName,param.getCustomerName());
  48. }
  49. if(param.getCustomerType() != null){
  50. wrapper.eq(AgentAuthorizeModeling::getCustomerType,param.getCustomerType());
  51. }
  52. if(param.getUseType() != null){
  53. wrapper.eq(AgentAuthorizeModeling::getUseType,param.getUseType());
  54. }
  55. if(StringUtils.isNotBlank(param.getAuthorizeKey())){
  56. wrapper.like(AgentAuthorizeModeling::getAuthorizeKey,param.getAuthorizeKey());
  57. }
  58. wrapper.and(e -> e.eq(AgentAuthorizeModeling::getCreateAgentId,param.getAgentId())
  59. .or()
  60. .eq(AgentAuthorizeModeling::getAgentId,param.getAgentId()));
  61. wrapper.orderByDesc(AgentAuthorizeModeling::getId);
  62. Page<AgentAuthorizeModeling> page = this.page(new Page<>(param.getPageNum(), param.getPageSize()), wrapper);
  63. List<Integer> sysIds = page.getRecords().stream().map(AgentAuthorizeModeling::getAgentId).collect(Collectors.toList());
  64. HashMap<Integer, AgentNew> userMap = agentNewService.getMapByIds(sysIds);
  65. HashMap<Integer, IncrementUseType> typeMap = iIncrementUseTypeService.getTypeMap();
  66. for (AgentAuthorizeModeling record : page.getRecords()) {
  67. if(userMap.get(record.getAgentId())!=null){
  68. record.setAgentName(userMap.get(record.getAgentId()).getNickName());
  69. }
  70. if(typeMap.get(record.getUseType()) !=null){
  71. record.setUseTypeStr(typeMap.get(record.getUseType()).getName());
  72. }
  73. }
  74. return PageInfo.PageInfo(page);
  75. }
  76. @Override
  77. public Object addOrUpdate(AgentAuthorizeModeling param) {
  78. this.saveOrUpdate(param);
  79. return param;
  80. }
  81. @Autowired
  82. IMailTemplateService mailTemplateService;
  83. @Autowired
  84. AgentConfig agentConfig;
  85. @Override
  86. public void checkExpTime() {
  87. LambdaQueryWrapper<AgentAuthorizeModeling> wrapper = new LambdaQueryWrapper<>();
  88. wrapper.isNotNull(AgentAuthorizeModeling::getAuthorizeEndTime);
  89. wrapper.eq(AgentAuthorizeModeling::getAuthorizeEndTime,DateUtils.getPlusDay(agentConfig.getAuthExpDay()));
  90. List<AgentAuthorizeModeling> list = this.list(wrapper);
  91. HashSet<Integer> agentIds = new HashSet<>();
  92. for (AgentAuthorizeModeling agentAuthorizeModeling : list) {
  93. if(agentAuthorizeModeling.getAgentId() != null){
  94. agentIds.add( agentAuthorizeModeling.getAgentId());
  95. }
  96. }
  97. List<AgentNew> agentNews = agentNewService.listByIds(agentIds);
  98. for (AgentNew agentNew : agentNews) {
  99. mailTemplateService.sendAuthExpMail(agentNew.getUserName());
  100. }
  101. }
  102. }