AgentNewLogServiceImpl.java 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148
  1. package com.fdkankan.agent.service.impl;
  2. import com.alibaba.excel.EasyExcel;
  3. import com.alibaba.excel.ExcelWriter;
  4. import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
  5. import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
  6. import com.fdkankan.agent.common.PageInfo;
  7. import com.fdkankan.agent.common.ResultCode;
  8. import com.fdkankan.agent.entity.AgentNewLog;
  9. import com.fdkankan.agent.entity.User;
  10. import com.fdkankan.agent.exception.BusinessException;
  11. import com.fdkankan.agent.mapper.IAgentNewLogMapper;
  12. import com.fdkankan.agent.request.DownParam;
  13. import com.fdkankan.agent.request.IncrementParam;
  14. import com.fdkankan.agent.request.LogListParam;
  15. import com.fdkankan.agent.response.AgentNewVo;
  16. import com.fdkankan.agent.response.DownLogVo;
  17. import com.fdkankan.agent.response.LogDataVo;
  18. import com.fdkankan.agent.response.LogListVo;
  19. import com.fdkankan.agent.service.IAgentNewLogService;
  20. import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
  21. import com.fdkankan.agent.service.IAgentNewService;
  22. import com.fdkankan.agent.service.IExcelService;
  23. import com.fdkankan.agent.service.IUserService;
  24. import com.fdkankan.common.util.DateUtil;
  25. import org.apache.commons.lang3.StringUtils;
  26. import org.springframework.beans.BeanUtils;
  27. import org.springframework.beans.factory.annotation.Autowired;
  28. import org.springframework.stereotype.Service;
  29. import javax.servlet.http.HttpServletRequest;
  30. import javax.servlet.http.HttpServletResponse;
  31. import java.util.ArrayList;
  32. import java.util.Date;
  33. import java.util.List;
  34. import java.util.UUID;
  35. /**
  36. * <p>
  37. * 服务实现类
  38. * </p>
  39. *
  40. * @author
  41. * @since 2022-11-10
  42. */
  43. @Service
  44. public class AgentNewLogServiceImpl extends ServiceImpl<IAgentNewLogMapper, AgentNewLog> implements IAgentNewLogService {
  45. @Autowired
  46. IUserService userService;
  47. @Autowired
  48. IAgentNewService agentNewService;
  49. @Autowired
  50. IExcelService excelService;
  51. @Override
  52. public Object downLogList(DownParam param) {
  53. Page<DownLogVo> downLogVoPage = this.getBaseMapper().downLogList(new Page<>(param.getPageNum(),param.getPageSize()),param);
  54. return PageInfo.PageInfo(downLogVoPage);
  55. }
  56. @Override
  57. public void addDown(IncrementParam param, AgentNewVo agent) {
  58. if(StringUtils.isBlank(param.getUserName())
  59. || param.getCount() == null ){
  60. throw new BusinessException(ResultCode.PARAM_MISS);
  61. }
  62. User user = userService.getByUserName(param.getUserName());
  63. if(user == null){
  64. throw new BusinessException(ResultCode.USER_NOT_EXIST);
  65. }
  66. if(agent.getDownSubNum() <=0 ){
  67. throw new BusinessException(ResultCode.DOWN_NUM_EMPTY);
  68. }
  69. user.setDownloadNumTotal(user.getDownloadNumTotal() + param.getCount() );
  70. userService.updateById(user);
  71. agentNewService.subNum(agent,user.getId(),null,param.getCount(),0);
  72. }
  73. @Override
  74. public LogDataVo getLogDataM() {
  75. List<AgentNewLog> logDataM = this.getBaseMapper().getLogDataM();
  76. LogDataVo logDataVo = new LogDataVo();
  77. for (AgentNewLog log : logDataM) {
  78. switch (log.getType()){
  79. case 0 : logDataVo.setLastMajorNum(log.getCount() + logDataVo.getLastMajorNum()); break;
  80. case 1 : logDataVo.setLastHighNum(log.getCount() + logDataVo.getLastHighNum()); break;
  81. case 2 : logDataVo.setLastDownNum(log.getCount() + logDataVo.getLastDownNum()); break;
  82. }
  83. }
  84. return logDataVo;
  85. }
  86. static LogListParam logListParam = new LogListParam();
  87. @Override
  88. public PageInfo pageUnList(LogListParam param) {
  89. logListParam = param;
  90. LambdaQueryWrapper<AgentNewLog> wrapper = new LambdaQueryWrapper<>();
  91. wrapper.eq(AgentNewLog::getAgentId,param.getAgentId());
  92. if(param.getType()!=null){
  93. wrapper.eq(AgentNewLog::getType,param.getType());
  94. }
  95. if(param.getGiveType() != null){
  96. wrapper.eq(AgentNewLog::getGiveType,param.getGiveType());
  97. }
  98. if(StringUtils.isNotBlank(param.getStartTime())){
  99. wrapper.between(AgentNewLog::getCreateTime,param.getStartTime(),param.getEndTime());
  100. }
  101. Page<AgentNewLog> page = this.page(new Page<>(param.getPageNum(), param.getPageSize()), wrapper);
  102. List<LogListVo> vos = new ArrayList<>();
  103. for (AgentNewLog record : page.getRecords()) {
  104. LogListVo vo = new LogListVo();
  105. BeanUtils.copyProperties(record,vo);
  106. User user = userService.getById(record.getUserId());
  107. if(user != null){
  108. vo.setNickName(user.getNickName());
  109. vo.setUserName(user.getUserName());
  110. vo.setEmail(user.getEmail());
  111. }
  112. vos.add(vo);
  113. }
  114. Page<LogListVo> voPage = new Page<>(param.getPageNum(), param.getPageSize());
  115. voPage.setRecords(vos);
  116. voPage.setTotal(page.getTotal());
  117. return PageInfo.PageInfo(voPage);
  118. }
  119. @Override
  120. public void export(HttpServletRequest req, HttpServletResponse resp) {
  121. logListParam.setPageSize(100000);
  122. List<LogListVo> list = (List<LogListVo>) this.pageUnList(logListParam).getList();
  123. ExcelWriter excelWriter = null;
  124. try {
  125. excelWriter = EasyExcel.write(resp.getOutputStream(),LogListVo.class).build();
  126. excelService.commonExport(req,resp,"经销商结算统计",list,excelWriter);
  127. }catch (Exception e){
  128. e.printStackTrace();
  129. }finally {
  130. if(excelWriter != null){
  131. excelWriter.finish();
  132. }
  133. }
  134. }
  135. }