lyhzzz 2 年之前
父节点
当前提交
9bfd22bdf2

+ 5 - 0
pom.xml

@@ -89,6 +89,11 @@
             <version>1.2.83</version>
         </dependency>
 
+        <dependency>
+            <groupId>com.alibaba</groupId>
+            <artifactId>easyexcel</artifactId>
+            <version>3.1.0</version>
+        </dependency>
 
 
         <dependency>

+ 5 - 4
src/main/java/com/fdkankan/agent/controller/AgentNewLogController.java

@@ -10,6 +10,8 @@ import com.fdkankan.agent.service.IAgentNewLogService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
 import java.util.List;
 
 @RestController
@@ -25,13 +27,12 @@ public class AgentNewLogController {
     }
     @PostMapping("/logList")
     public ResultData logList(@RequestBody LogListParam param){
-        agentNewLogService.pageUnList(param);
-        return ResultData.ok();
+        return ResultData.ok(agentNewLogService.pageUnList(param));
     }
 
     @GetMapping("/export")
-    public ResultData export(){
-        return ResultData.ok(new LogDataVo());
+    public void export(HttpServletRequest req, HttpServletResponse resp) throws Exception {
+        agentNewLogService.export(req,resp);
     }
 
 }

+ 0 - 1
src/main/java/com/fdkankan/agent/controller/CameraController.java

@@ -40,7 +40,6 @@ public class CameraController extends BaseController {
     @PostMapping("/list")
     public ResultData list(@RequestBody CameraParam param){
         param.setAgentId(getAgent().getId());
-        log.info("agent:{}",param);
         return ResultData.ok(cameraService.pageList(param));
     }
 }

+ 2 - 2
src/main/java/com/fdkankan/agent/entity/AgentNewLog.java

@@ -41,8 +41,8 @@ public class AgentNewLog implements Serializable {
     /**
      * 0专业会员,1高级会员,2场景下载
      */
-    @TableField("add_type")
-    private Integer addType;
+    @TableField("give_type")
+    private Integer giveType;
 
     /**
      * 授权对象id

+ 0 - 1
src/main/java/com/fdkankan/agent/mapper/IAgentNewLogMapper.java

@@ -27,5 +27,4 @@ public interface IAgentNewLogMapper extends BaseMapper<AgentNewLog> {
 
     List<AgentNewLog> getLogDataM();
 
-    Page<LogListVo> pageUnList(Page<Object> page, LogListParam param);
 }

+ 45 - 1
src/main/java/com/fdkankan/agent/response/LogListVo.java

@@ -1,16 +1,60 @@
 package com.fdkankan.agent.response;
 
+import com.alibaba.excel.annotation.ExcelProperty;
 import lombok.Data;
 
 @Data
 public class LogListVo {
+
     private Integer type;           //权益类型
     private Integer giveType;       //授权方式
     private Integer userId;         //用户id
+
+    @ExcelProperty("授权时间")
+    private String creatTime;
+
+    @ExcelProperty("权益类型")
+    private String typeStr;
+
+    @ExcelProperty("授予方式")
+    private String giveTypeStr;
+
+    @ExcelProperty("账号")
     private String userName;
+
+    @ExcelProperty("昵称")
     private String nickName;
+
+    @ExcelProperty("邮箱")
     private String email;
+
+    @ExcelProperty("授权数量")
     private Integer count;
-    private String creatTime;
+
+
+    public String getTypeStr() {
+        if(type == null){
+            return null;
+        }
+        switch (type){
+            case 0 :return "专业会员(年)";
+            case 1 :return "高级会员(月)";
+            case 2 :return "场景下载";
+        }
+        return typeStr;
+    }
+
+    public String getGiveTypeStr() {
+        if(giveType == null){
+            return null;
+        }
+        switch (giveType){
+            case 0 :return "经销商授权";
+            case 1 :return "经销商续费";
+            case 2 :return "官网自购";
+            case 3 :return "平台授权";
+        }
+        return giveTypeStr;
+    }
 
 }

+ 7 - 1
src/main/java/com/fdkankan/agent/service/IAgentNewLogService.java

@@ -1,5 +1,6 @@
 package com.fdkankan.agent.service;
 
+import com.fdkankan.agent.common.PageInfo;
 import com.fdkankan.agent.entity.AgentNewLog;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.fdkankan.agent.request.DownParam;
@@ -8,6 +9,9 @@ import com.fdkankan.agent.request.LogListParam;
 import com.fdkankan.agent.response.AgentNewVo;
 import com.fdkankan.agent.response.LogDataVo;
 
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
 /**
  * <p>
  *  服务类
@@ -24,5 +28,7 @@ public interface IAgentNewLogService extends IService<AgentNewLog> {
 
     LogDataVo getLogDataM();
 
-    Object pageUnList(LogListParam param);
+    PageInfo pageUnList(LogListParam param);
+
+    void export(HttpServletRequest req, HttpServletResponse resp);
 }

+ 25 - 0
src/main/java/com/fdkankan/agent/service/IExcelService.java

@@ -0,0 +1,25 @@
+package com.fdkankan.agent.service;
+
+import com.alibaba.excel.ExcelWriter;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * <p>
+ * TODO
+ * </p>
+ *
+ * @author dengsixing
+ * @since 2022/6/6
+ **/
+public interface IExcelService {
+
+    void commonExport(HttpServletRequest request, HttpServletResponse response, String name, List<?> result, ExcelWriter excelWriter) throws Exception ;
+
+    void commonExport(HttpServletRequest request, HttpServletResponse response,String name,List<?> result,Class<?> clazz) throws Exception;
+
+}

+ 56 - 5
src/main/java/com/fdkankan/agent/service/impl/AgentNewLogServiceImpl.java

@@ -1,13 +1,13 @@
 package com.fdkankan.agent.service.impl;
 
+import com.alibaba.excel.EasyExcel;
+import com.alibaba.excel.ExcelWriter;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.fdkankan.agent.common.PageInfo;
 import com.fdkankan.agent.common.ResultCode;
 import com.fdkankan.agent.entity.AgentNewLog;
-import com.fdkankan.agent.entity.IncrementType;
 import com.fdkankan.agent.entity.User;
-import com.fdkankan.agent.entity.UserIncrement;
 import com.fdkankan.agent.exception.BusinessException;
 import com.fdkankan.agent.mapper.IAgentNewLogMapper;
 import com.fdkankan.agent.request.DownParam;
@@ -20,12 +20,16 @@ import com.fdkankan.agent.response.LogListVo;
 import com.fdkankan.agent.service.IAgentNewLogService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.fdkankan.agent.service.IAgentNewService;
+import com.fdkankan.agent.service.IExcelService;
 import com.fdkankan.agent.service.IUserService;
 import com.fdkankan.common.util.DateUtil;
 import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
@@ -47,6 +51,8 @@ public class AgentNewLogServiceImpl extends ServiceImpl<IAgentNewLogMapper, Agen
     IUserService userService;
     @Autowired
     IAgentNewService  agentNewService;
+    @Autowired
+    IExcelService excelService;
 
     @Override
     public Object downLogList(DownParam param) {
@@ -88,9 +94,54 @@ public class AgentNewLogServiceImpl extends ServiceImpl<IAgentNewLogMapper, Agen
         return logDataVo;
     }
 
+    static  LogListParam logListParam = new LogListParam();
+    @Override
+    public PageInfo pageUnList(LogListParam param) {
+        logListParam = param;
+        LambdaQueryWrapper<AgentNewLog> wrapper = new LambdaQueryWrapper<>();
+        if(param.getType()!=null){
+            wrapper.eq(AgentNewLog::getType,param.getType());
+        }
+        if(param.getGiveType() != null){
+            wrapper.eq(AgentNewLog::getGive_type,param.getGiveType());
+        }
+        if(StringUtils.isNotBlank(param.getStartTime())){
+            wrapper.between(AgentNewLog::getCreateTime,param.getStartTime(),param.getEndTime());
+        }
+        Page<AgentNewLog> page = this.page(new Page<>(param.getPageNum(), param.getPageSize()), wrapper);
+        List<LogListVo> vos = new ArrayList<>();
+        for (AgentNewLog record : page.getRecords()) {
+            LogListVo vo = new LogListVo();
+            BeanUtils.copyProperties(record,vo);
+            User user = userService.getById(vo.getUserId());
+            if(user != null){
+                vo.setNickName(user.getNickName());
+                vo.setUserName(user.getUserName());
+                vo.setEmail(user.getEmail());
+            }
+            vos.add(vo);
+        }
+
+        Page<LogListVo> voPage = new Page<>(param.getPageNum(), param.getPageSize());
+        voPage.setRecords(vos);
+        voPage.setTotal(page.getTotal());
+        return PageInfo.PageInfo(voPage);
+    }
+
     @Override
-    public Object pageUnList(LogListParam param) {
-        Page<LogListVo> page = this.getBaseMapper().pageUnList(new Page<>(param.getPageNum(),param.getPageSize()),param);
-        return PageInfo.PageInfo(page);
+    public void export(HttpServletRequest req, HttpServletResponse resp) {
+        logListParam.setPageSize(100000);
+        List<LogListVo> list = (List<LogListVo>) this.pageUnList(logListParam).getList();
+        ExcelWriter excelWriter = null;
+        try {
+            excelWriter = EasyExcel.write(resp.getOutputStream(),LogListVo.class).build();
+            excelService.commonExport(req,resp,"经销商结算统计",list,excelWriter);
+        }catch (Exception e){
+            e.printStackTrace();
+        }finally {
+            if(excelWriter != null){
+                excelWriter.finish();
+            }
+        }
     }
 }

+ 1 - 1
src/main/java/com/fdkankan/agent/service/impl/AgentNewServiceImpl.java

@@ -62,7 +62,7 @@ public class AgentNewServiceImpl extends ServiceImpl<IAgentNewMapper, AgentNew>
         agentNewLog.setAgentId(agentNewVo.getId());
         agentNewLog.setUserId(userId);
         agentNewLog.setCount(count);
-        agentNewLog.setAddType(addType);
+        agentNewLog.setGiveType(addType);
 
         LambdaUpdateWrapper<AgentNew> wrapper = new LambdaUpdateWrapper<>();
         wrapper.eq(AgentNew::getId,agentNewVo.getId());

+ 60 - 0
src/main/java/com/fdkankan/agent/service/impl/ExcelServiceImpl.java

@@ -0,0 +1,60 @@
+package com.fdkankan.agent.service.impl;
+
+import com.alibaba.excel.EasyExcel;
+import com.alibaba.excel.ExcelWriter;
+import com.alibaba.excel.write.metadata.WriteSheet;
+import com.fdkankan.agent.service.IExcelService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.net.URLEncoder;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+
+/**
+ * <p>
+ * TODO
+ * </p>
+ *
+ * @author dengsixing
+ * @since 2022/6/6
+ **/
+@Service
+public class ExcelServiceImpl implements IExcelService {
+
+
+    public void commonExport(HttpServletRequest request, HttpServletResponse response,String name,List<?> result,ExcelWriter excelWriter) throws Exception {
+        response.setContentType("application/vnd.ms-excel");
+        response.setCharacterEncoding("utf-8");
+        String fileName = name  + ".xlsx";
+        fileName = URLEncoder.encode(fileName, "UTF-8");
+        response.setHeader("Content-disposition", "attachment;filename=" + fileName);
+        WriteSheet writeSheet = EasyExcel.writerSheet(name).build();
+        excelWriter.write(result, writeSheet);
+    }
+
+    public void commonExport(HttpServletRequest request, HttpServletResponse response,String name,List<?> result,Class<?> clazz) throws Exception {
+        response.setContentType("application/vnd.ms-excel");
+        response.setCharacterEncoding("utf-8");
+        String fileName = name  + ".xlsx";
+        fileName = URLEncoder.encode(fileName, "UTF-8");
+        response.setHeader("Content-disposition", "attachment;filename=" + fileName);
+        ExcelWriter excelWriter = null;
+        try {
+            excelWriter = EasyExcel.write(response.getOutputStream(), clazz).build();
+            WriteSheet writeSheet = EasyExcel.writerSheet(name).build();
+            excelWriter.write(result, writeSheet);
+        }catch (Exception e){
+            e.printStackTrace();
+        }finally {
+            if(excelWriter != null){
+                excelWriter.finish();
+            }
+        }
+    }
+
+}

+ 0 - 3
src/main/resources/mapper/agent/AgentNewLogMapper.xml

@@ -18,7 +18,4 @@
 
     </select>
 
-    <select id="pageUnList" resultType="com.fdkankan.agent.response.LogListVo">
-
-    </select>
 </mapper>