Browse Source

7.17导出优化

huangqizheng/feature-20250717200321-优化导出
huangqizhen 1 month ago
parent
commit
5ac78b6bb0
  1. 21
      src/main/java/com/example/demo/domain/vo/ConsumeUser.java
  2. 21
      src/main/java/com/example/demo/domain/vo/GoldDetail.java
  3. 17
      src/main/java/com/example/demo/domain/vo/GoldUser.java
  4. 1
      src/main/java/com/example/demo/domain/vo/Page.java
  5. 41
      src/main/java/com/example/demo/domain/vo/RechargeUser.java
  6. 22
      src/main/java/com/example/demo/domain/vo/RefundUser.java
  7. 3
      src/main/java/com/example/demo/mapper/ExportMapper.java
  8. 38
      src/main/java/com/example/demo/serviceImpl/ExportExcelServiceImpl.java
  9. 8
      src/main/java/com/example/demo/serviceImpl/GoldDetailServiceImpl.java
  10. 4
      src/main/resources/application.yml
  11. 3
      src/main/resources/mapper/ExportMapper.xml
  12. 2
      src/main/resources/mapper/GoldDetailMapper.xml

21
src/main/java/com/example/demo/domain/vo/ConsumeUser.java

@ -1,5 +1,7 @@
package com.example.demo.domain.vo; package com.example.demo.domain.vo;
import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import jakarta.validation.constraints.PositiveOrZero; import jakarta.validation.constraints.PositiveOrZero;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
@ -25,27 +27,44 @@ public class ConsumeUser implements Serializable {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
@ExcelProperty("客户姓名")
private String name; // 客户姓名 private String name; // 客户姓名
@ExcelProperty("精网号")
private Integer jwcode; // 精网号 private Integer jwcode; // 精网号
@ExcelProperty("所属地区")
private String market; // 所属地区 private String market; // 所属地区
@ExcelProperty("商品名称")
private String goodsName; // 商品名称 private String goodsName; // 商品名称
@ExcelProperty("消费平台")
private String payPlatform; // 消费平台 private String payPlatform; // 消费平台
@ExcelProperty("金币总数")
private Integer sumGold; // 金币总数 private Integer sumGold; // 金币总数
@ExcelProperty("永久金币")
private Integer permanentGold; // 永久金币 private Integer permanentGold; // 永久金币
@ExcelProperty("免费金币")
private Integer freeGold; // 免费金币 private Integer freeGold; // 免费金币
@ExcelProperty("任务金币")
private Integer taskGold; // 任务金币 private Integer taskGold; // 任务金币
@ExcelProperty("备注")
private String remark; // 备注 private String remark; // 备注
@ExcelProperty("提交人ID")
private Integer adminId; //提交人Id private Integer adminId; //提交人Id
@ExcelProperty("提交人姓名")
private String adminName; //提交人姓名 private String adminName; //提交人姓名
@ExcelProperty("是否退款")
private Integer isRefund; //是否退款 private Integer isRefund; //是否退款
@ExcelProperty("消费时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai")
private Date createTime; // 消费时间 private Date createTime; // 消费时间
@ExcelIgnore
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai")
private Date startTime; // 开始时间 private Date startTime; // 开始时间
@ExcelIgnore
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai")
private Date endTime; // 结束时间 private Date endTime; // 结束时间
@ExcelIgnore
private String sortField; //排序字段 private String sortField; //排序字段
@ExcelIgnore
private String sortOrder; //排序顺序 private String sortOrder; //排序顺序
} }

21
src/main/java/com/example/demo/domain/vo/GoldDetail.java

@ -1,5 +1,7 @@
package com.example.demo.domain.vo; package com.example.demo.domain.vo;
import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
@ -20,24 +22,41 @@ import java.util.Date;
public class GoldDetail { public class GoldDetail {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
@ExcelIgnore
private String token; private String token;
@ExcelProperty("名称")
private String name; // 名称 private String name; // 名称
@ExcelProperty("精网号")
private Integer jwcode; // 精网号 private Integer jwcode; // 精网号
@ExcelProperty("所属地区")
private String market; // 所属地区 private String market; // 所属地区
@ExcelProperty("支付平台")
private String payPlatform; // 支付平台 private String payPlatform; // 支付平台
@ExcelProperty("类型")
private Integer type; // 类型 private Integer type; // 类型
@ExcelProperty("总金币")
private Integer sumGold; // 总金币 private Integer sumGold; // 总金币
@ExcelProperty("永久金币")
private Integer permanentGold; //永久金币 private Integer permanentGold; //永久金币
@ExcelProperty("免费金币六月到期")
private Integer freeJune; // 免费金币六月到期 private Integer freeJune; // 免费金币六月到期
private Integer freeDecember; // 免费金币七月到期
@ExcelProperty("免费金币十二月到期")
private Integer freeDecember; // 免费金币十二月到期
@ExcelProperty("任务金币")
private Integer taskGold; // 任务金币 private Integer taskGold; // 任务金币
@ExcelProperty("提交人")
private String adminName; //提交人 private String adminName; //提交人
@ExcelProperty("开始时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai")
private Date startTime; // 开始时间 private Date startTime; // 开始时间
@ExcelProperty("结束时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai")
private Date endTime; // 结束时间 private Date endTime; // 结束时间
@ExcelIgnore
private String sortField; //排序字段 private String sortField; //排序字段
@ExcelIgnore
private String sortOrder; //排序顺序 private String sortOrder; //排序顺序
@ExcelIgnore
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai")
private Date auditTime; private Date auditTime;

17
src/main/java/com/example/demo/domain/vo/GoldUser.java

@ -1,5 +1,6 @@
package com.example.demo.domain.vo; package com.example.demo.domain.vo;
import com.alibaba.excel.annotation.ExcelProperty;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
@ -20,21 +21,37 @@ import java.util.Date;
@NoArgsConstructor @NoArgsConstructor
@AllArgsConstructor @AllArgsConstructor
public class GoldUser { public class GoldUser {
@ExcelProperty("客户姓名")
private String name; // 客户姓名 private String name; // 客户姓名
@ExcelProperty("精网号")
private Integer jwcode; // 精网号 private Integer jwcode; // 精网号
@ExcelProperty("所属地区")
private String market; // 所属地区 private String market; // 所属地区
@ExcelProperty("当前金币总数")
private Integer NowSumGold; // 当前金币总数 private Integer NowSumGold; // 当前金币总数
@ExcelProperty("当前永久金币")
private Integer NowPermanentGold; // 当前永久金币 private Integer NowPermanentGold; // 当前永久金币
@ExcelProperty("当前免费金币")
private Integer NowFreeGold; // 当前免费金币 private Integer NowFreeGold; // 当前免费金币
@ExcelProperty("当前免费金币6月")
private Integer NowFreeJune; // 免费金币6月 private Integer NowFreeJune; // 免费金币6月
@ExcelProperty("当前免费金币12月")
private Integer NowFreeDecember; // 免费金币12月 private Integer NowFreeDecember; // 免费金币12月
@ExcelProperty("当前任务金币")
private Integer NowTaskGold; // 当前任务金币 private Integer NowTaskGold; // 当前任务金币
@ExcelProperty("历史金币总数")
private Integer historySumGold; // 历史金币总数 private Integer historySumGold; // 历史金币总数
@ExcelProperty("历史永久金币")
private Integer historyPermanentGold; // 历史永久金币 private Integer historyPermanentGold; // 历史永久金币
@ExcelProperty("历史免费金币")
private Integer historyFreeGold; // 历史免费金币 private Integer historyFreeGold; // 历史免费金币
@ExcelProperty("历史任务金币")
private Integer historyTaskGold; // 历史任务金币 private Integer historyTaskGold; // 历史任务金币
@ExcelProperty("充值次数")
private Integer rechargeNum; // 充值次数 private Integer rechargeNum; // 充值次数
@ExcelProperty("消费次数")
private Integer consumeNum; // 消费次数 private Integer consumeNum; // 消费次数
@ExcelProperty("首充日期")
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "Asia/Shanghai") @JsonFormat(pattern = "yyyy-MM-dd", timezone = "Asia/Shanghai")
private Date firstRecharge; // 首充日期 private Date firstRecharge; // 首充日期

1
src/main/java/com/example/demo/domain/vo/Page.java

@ -17,6 +17,7 @@ import lombok.NoArgsConstructor;
public class Page { public class Page {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
private Integer pageNum; private Integer pageNum;
private Integer pageSize; private Integer pageSize;
private GoldDetail goldDetail; private GoldDetail goldDetail;

41
src/main/java/com/example/demo/domain/vo/RechargeUser.java

@ -1,5 +1,7 @@
package com.example.demo.domain.vo; package com.example.demo.domain.vo;
import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
@ -22,29 +24,62 @@ public class RechargeUser {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
@ExcelProperty("客户姓名")
private String name; // 客户姓名 private String name; // 客户姓名
@ExcelProperty("精网号")
private Integer jwcode; // 精网号 private Integer jwcode; // 精网号
@ExcelProperty("所属地区")
private String market; // 所属地区 private String market; // 所属地区
@ExcelProperty("活动名称")
private String activity; // 活动名称 private String activity; // 活动名称
@ExcelProperty("汇率ID")
private Integer rateId; // 汇率ID private Integer rateId; // 汇率ID
@ExcelProperty("汇率名称")
private String rateName; // 汇率名称 private String rateName; // 汇率名称
@ExcelProperty("金额[分]")
private Integer money; // 金额[] private Integer money; // 金额[]
@ExcelProperty("永久金币")
private Integer permanentGold; // 永久金币 private Integer permanentGold; // 永久金币
@ExcelProperty("免费金币")
private Integer freeGold; // 免费金币 private Integer freeGold; // 免费金币
@ExcelProperty("支付方式")
private String payModel; // 支付方式 private String payModel; // 支付方式
@ExcelProperty("支付平台")
private String payPlatform; // 支付平台 private String payPlatform; // 支付平台
@ExcelProperty("支付凭证")
private String voucher; // 支付凭证 private String voucher; // 支付凭证
@ExcelProperty("备注")
private String remark; // 备注 private String remark; // 备注
private Integer adminId; //提交人Id
private String adminName; //提交人姓名
@ExcelProperty("提交人Id")
private Integer adminId; // 提交人Id
@ExcelProperty("提交人姓名")
private String adminName; // 提交人姓名
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai")
@ExcelProperty("创建时间")
private Date payTime; // 创建时间 private Date payTime; // 创建时间
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai")
@ExcelIgnore
private Date startTime; // 开始时间 private Date startTime; // 开始时间
@ExcelIgnore
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai")
private Date endTime; // 结束时间 private Date endTime; // 结束时间
@ExcelIgnore
private String sortField; //排序字段 private String sortField; //排序字段
@ExcelIgnore
private String sortOrder; //排序顺序 private String sortOrder; //排序顺序
} }

22
src/main/java/com/example/demo/domain/vo/RefundUser.java

@ -1,5 +1,7 @@
package com.example.demo.domain.vo; package com.example.demo.domain.vo;
import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
@ -23,28 +25,46 @@ public class RefundUser {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
@ExcelProperty("订单号")
private String orderCode; // 订单号 private String orderCode; // 订单号
@ExcelProperty("客户姓名")
private String name; // 客户姓名 private String name; // 客户姓名
@ExcelProperty("精网号")
private Integer jwcode; // 精网号 private Integer jwcode; // 精网号
@ExcelProperty("所属地区")
private String market; // 所属地区 private String market; // 所属地区
@ExcelProperty("商品名称")
private String goodsName; // 商品名称 private String goodsName; // 商品名称
@ExcelProperty("退款类型")
private String refundType; // 退款类型 private String refundType; // 退款类型
@ExcelProperty("退款方式")
private Byte refundModel; // 退款方式0全部/1部分退款 private Byte refundModel; // 退款方式0全部/1部分退款
@ExcelProperty("金币总数")
private Integer sumGold; // 金币总数 private Integer sumGold; // 金币总数
@ExcelProperty("永久金币")
private Integer permanentGold; // 永久金币 private Integer permanentGold; // 永久金币
@ExcelProperty("免费金币")
private Integer freeGold; // 免费金币 private Integer freeGold; // 免费金币
@ExcelProperty("任务金币")
private Integer taskGold; // 任务金币 private Integer taskGold; // 任务金币
@ExcelProperty("退款原因")
private String remark; // 退款原因 private String remark; // 退款原因
@ExcelProperty("提交人ID")
private Integer adminId; //提交人Id private Integer adminId; //提交人Id
@ExcelProperty("提交人姓名")
private String adminName; //提交人姓名 private String adminName; //提交人姓名
@ExcelProperty("创建时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai")
private Date createTime; // 创建时间 private Date createTime; // 创建时间
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai")
@ExcelIgnore
private Date startTime; // 开始时间 private Date startTime; // 开始时间
@ExcelIgnore
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai")
private Date endTime; // 结束时间 private Date endTime; // 结束时间
@ExcelIgnore
private String sortField; //排序字段 private String sortField; //排序字段
@ExcelIgnore
private String sortOrder; //排序顺序 private String sortOrder; //排序顺序
} }

3
src/main/java/com/example/demo/mapper/ExportMapper.java

@ -2,6 +2,7 @@ package com.example.demo.mapper;
import com.example.demo.domain.entity.Export; import com.example.demo.domain.entity.Export;
import com.example.demo.domain.vo.ExportVo; import com.example.demo.domain.vo.ExportVo;
import io.lettuce.core.StrAlgoArgs;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import java.util.List; import java.util.List;
@ -18,6 +19,6 @@ import java.util.List;
public interface ExportMapper { public interface ExportMapper {
ExportVo getExportData(Integer id); ExportVo getExportData(Integer id);
int updateExportData(Long recordId, Integer state, String url, String reason, Integer dataNum); int updateExportData(Long recordId, Integer state, String url, String reason, Integer dataNum);
List<Export> getExportRecord(Integer account);
List<Export> getExportRecord(Integer account, Byte type);
} }

38
src/main/java/com/example/demo/serviceImpl/ExportExcelServiceImpl.java

@ -27,6 +27,7 @@ import com.github.pagehelper.PageInfo;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
@ -43,6 +44,8 @@ public class ExportExcelServiceImpl implements ExportExcelService {
private static final ObjectMapper objectMapper = new ObjectMapper(); private static final ObjectMapper objectMapper = new ObjectMapper();
@Value("${file.upload.url}")
private String uploadUrl;
//注入AiEmotionService //注入AiEmotionService
@Autowired @Autowired
private AiEmotionService aiEmotionService; private AiEmotionService aiEmotionService;
@ -132,7 +135,7 @@ public class ExportExcelServiceImpl implements ExportExcelService {
// 7. 分页查询并写入数据 // 7. 分页查询并写入数据
Page page = new Page(); Page page = new Page();
page.setPageNum(1); page.setPageNum(1);
page.setPageSize(1000);
page.setPageSize(5000);
Integer totalCount = 0; Integer totalCount = 0;
page.setGoldDetail(goldDetail); page.setGoldDetail(goldDetail);
boolean hasMore = true; boolean hasMore = true;
@ -184,7 +187,7 @@ public class ExportExcelServiceImpl implements ExportExcelService {
if (tempFile != null && tempFile.exists() && tempFile.length() > 0) { if (tempFile != null && tempFile.exists() && tempFile.length() > 0) {
// 8. 上传到OSS读取本地临时文件 // 8. 上传到OSS读取本地临时文件
// 获取接口的基础 URL // 获取接口的基础 URL
String uploadUrl = "http://39.101.133.168:8828/hljw/api/aws/upload";
String uploadUrl = this.uploadUrl;
try { try {
// 1. 创建上传工具实例 // 1. 创建上传工具实例
ExcelUploadUtil uploadUtil = new ExcelUploadUtil(uploadUrl); ExcelUploadUtil uploadUtil = new ExcelUploadUtil(uploadUrl);
@ -337,7 +340,7 @@ public class ExportExcelServiceImpl implements ExportExcelService {
// 7. 分页查询并写入数据 // 7. 分页查询并写入数据
Page page = new Page(); Page page = new Page();
page.setPageNum(1); page.setPageNum(1);
page.setPageSize(1000);
page.setPageSize(5000);
page.setUser(user); page.setUser(user);
Integer totalCount = 0; Integer totalCount = 0;
boolean hasMore = true; boolean hasMore = true;
@ -389,7 +392,7 @@ public class ExportExcelServiceImpl implements ExportExcelService {
if (tempFile != null && tempFile.exists() && tempFile.length() > 0) { if (tempFile != null && tempFile.exists() && tempFile.length() > 0) {
// 8. 上传到OSS读取本地临时文件 // 8. 上传到OSS读取本地临时文件
// 获取接口的基础 URL // 获取接口的基础 URL
String uploadUrl = "http://39.101.133.168:8828/hljw/api/aws/upload";
String uploadUrl = this.uploadUrl;
try { try {
// 1. 创建上传工具实例 // 1. 创建上传工具实例
ExcelUploadUtil uploadUtil = new ExcelUploadUtil(uploadUrl); ExcelUploadUtil uploadUtil = new ExcelUploadUtil(uploadUrl);
@ -534,12 +537,17 @@ public class ExportExcelServiceImpl implements ExportExcelService {
try { try {
// 6. 初始化Excel写入器指向本地文件流 // 6. 初始化Excel写入器指向本地文件流
excelWriter = RechargeExcelWriter(outputStream, "user");
try {
excelWriter = EasyExcel.write(outputStream, GoldDetail.class).build();
} catch (Exception e) {
log.error("Excel 写入器初始化失败", e);
throw new RuntimeException("Excel 写入器初始化失败", e);
}
WriteSheet writeSheet = EasyExcel.writerSheet("Sheet1").build(); WriteSheet writeSheet = EasyExcel.writerSheet("Sheet1").build();
// 7. 分页查询并写入数据 // 7. 分页查询并写入数据
Page page = new Page(); Page page = new Page();
page.setPageNum(1); page.setPageNum(1);
page.setPageSize(1000);
page.setPageSize(5000);
Integer totalCount = 0; Integer totalCount = 0;
page.setRechargeUser(rechargeUser); page.setRechargeUser(rechargeUser);
boolean hasMore = true; boolean hasMore = true;
@ -591,7 +599,7 @@ public class ExportExcelServiceImpl implements ExportExcelService {
if (tempFile != null && tempFile.exists() && tempFile.length() > 0) { if (tempFile != null && tempFile.exists() && tempFile.length() > 0) {
// 8. 上传到OSS读取本地临时文件 // 8. 上传到OSS读取本地临时文件
// 获取接口的基础 URL // 获取接口的基础 URL
String uploadUrl = "http://39.101.133.168:8828/hljw/api/aws/upload";
String uploadUrl = this.uploadUrl;
try { try {
// 1. 创建上传工具实例 // 1. 创建上传工具实例
ExcelUploadUtil uploadUtil = new ExcelUploadUtil(uploadUrl); ExcelUploadUtil uploadUtil = new ExcelUploadUtil(uploadUrl);
@ -725,14 +733,12 @@ public class ExportExcelServiceImpl implements ExportExcelService {
aiEmotionService.updateStatus(recordId, 1, "", "", 0); aiEmotionService.updateStatus(recordId, 1, "", "", 0);
// 5. 准备Excel文件 // 5. 准备Excel文件
fileName = record.getFileName(); fileName = record.getFileName();
log.info("到这了---------------------------------------------");
// 初始化临时文件保存到本地临时目录 // 初始化临时文件保存到本地临时目录
tempFile = File.createTempFile("export_", ".xlsx"); tempFile = File.createTempFile("export_", ".xlsx");
outputStream = new FileOutputStream(tempFile); // 使用文件输出流 outputStream = new FileOutputStream(tempFile); // 使用文件输出流
// 从JSON中提取单个值 // 从JSON中提取单个值
String text = requestDataNode.has("text") ? requestDataNode.get("text").asText() : null;
Integer sort = requestDataNode.has("sort") ? requestDataNode.get("sort").asInt() : null;
String field = requestDataNode.has("field") ? requestDataNode.get("field").asText() : null;
String deptId = requestDataNode.has("deptId") ? requestDataNode.get("deptId").asText() : null;
try { try {
// 6. 初始化Excel写入器指向本地文件流 // 6. 初始化Excel写入器指向本地文件流
@ -741,7 +747,7 @@ public class ExportExcelServiceImpl implements ExportExcelService {
// 7. 分页查询并写入数据 // 7. 分页查询并写入数据
Page page = new Page(); Page page = new Page();
page.setPageNum(1); page.setPageNum(1);
page.setPageSize(1000);
page.setPageSize(5000);
page.setConsumeUser(consumeUser); page.setConsumeUser(consumeUser);
Integer totalCount = 0; Integer totalCount = 0;
boolean hasMore = true; boolean hasMore = true;
@ -793,7 +799,7 @@ public class ExportExcelServiceImpl implements ExportExcelService {
if (tempFile != null && tempFile.exists() && tempFile.length() > 0) { if (tempFile != null && tempFile.exists() && tempFile.length() > 0) {
// 8. 上传到OSS读取本地临时文件 // 8. 上传到OSS读取本地临时文件
// 获取接口的基础 URL // 获取接口的基础 URL
String uploadUrl = "http://39.101.133.168:8828/hljw/api/aws/upload";
String uploadUrl = this.uploadUrl;
try { try {
// 1. 创建上传工具实例 // 1. 创建上传工具实例
ExcelUploadUtil uploadUtil = new ExcelUploadUtil(uploadUrl); ExcelUploadUtil uploadUtil = new ExcelUploadUtil(uploadUrl);
@ -943,7 +949,7 @@ public class ExportExcelServiceImpl implements ExportExcelService {
// 7. 分页查询并写入数据 // 7. 分页查询并写入数据
Page page = new Page(); Page page = new Page();
page.setPageNum(1); page.setPageNum(1);
page.setPageSize(1000);
page.setPageSize(5000);
page.setRefundUser(refundUser); page.setRefundUser(refundUser);
Integer totalCount = 0; Integer totalCount = 0;
boolean hasMore = true; boolean hasMore = true;
@ -995,7 +1001,7 @@ public class ExportExcelServiceImpl implements ExportExcelService {
if (tempFile != null && tempFile.exists() && tempFile.length() > 0) { if (tempFile != null && tempFile.exists() && tempFile.length() > 0) {
// 8. 上传到OSS读取本地临时文件 // 8. 上传到OSS读取本地临时文件
// 获取接口的基础 URL // 获取接口的基础 URL
String uploadUrl = "http://39.101.133.168:8828/hljw/api/aws/upload";
String uploadUrl = this.uploadUrl;
try { try {
// 1. 创建上传工具实例 // 1. 创建上传工具实例
ExcelUploadUtil uploadUtil = new ExcelUploadUtil(uploadUrl); ExcelUploadUtil uploadUtil = new ExcelUploadUtil(uploadUrl);
@ -1106,7 +1112,7 @@ public class ExportExcelServiceImpl implements ExportExcelService {
@Override @Override
public List<Export> getExcel(Export export) { public List<Export> getExcel(Export export) {
List<Export> list = exportMapper.getExportRecord(export.getAccount());
List<Export> list = exportMapper.getExportRecord(export.getAccount(),export.getType());
System.out.println(list+"-------------------------------"); System.out.println(list+"-------------------------------");
return list; return list;
} }

8
src/main/java/com/example/demo/serviceImpl/GoldDetailServiceImpl.java

@ -158,10 +158,6 @@ public class GoldDetailServiceImpl implements GoldDetailService {
// 手动构造请求数据避免 toString() 只返回部分字段 // 手动构造请求数据避免 toString() 只返回部分字段
Map<String, Object> requestData = new HashMap<>(); Map<String, Object> requestData = new HashMap<>();
requestData.put("text", dto.getText());
requestData.put("sort", dto.getSort());
requestData.put("field", dto.getField());
requestData.put("deptId", dto.getDeptid());
requestData.put("goldDetail", dto.getGoldDetail()); requestData.put("goldDetail", dto.getGoldDetail());
exportData.put("requestData", requestData); exportData.put("requestData", requestData);
@ -216,10 +212,6 @@ public class GoldDetailServiceImpl implements GoldDetailService {
// 手动构造请求数据避免 toString() 只返回部分字段 // 手动构造请求数据避免 toString() 只返回部分字段
Map<String, Object> requestData = new HashMap<>(); Map<String, Object> requestData = new HashMap<>();
requestData.put("text", dto.getText());
requestData.put("sort", dto.getSort());
requestData.put("field", dto.getField());
requestData.put("deptId", dto.getDeptid());
requestData.put("user", dto.getUser()); requestData.put("user", dto.getUser());
exportData.put("requestData", requestData); exportData.put("requestData", requestData);

4
src/main/resources/application.yml

@ -95,7 +95,9 @@ mybatis:
upload: upload:
path: D:\upload path: D:\upload
file:
upload:
url: http://39.101.133.168:8828/hljw/api/aws/upload
server: server:

3
src/main/resources/mapper/ExportMapper.xml

@ -21,6 +21,9 @@
<if test="account != null"> <if test="account != null">
and account = #{account} and account = #{account}
</if> </if>
<if test="type != null">
and type = #{type}
</if>
</where> </where>
order by create_time desc order by create_time desc
</select> </select>

2
src/main/resources/mapper/GoldDetailMapper.xml

@ -43,7 +43,7 @@
</select> </select>
<select id="getTotal" resultType="com.example.demo.domain.vo.Total"> <select id="getTotal" resultType="com.example.demo.domain.vo.Total">
select sum(sum_gold) as Goldtotal, sum(permanent_gold) as permanentGold, sum(free_june+free_december) as freeGold, sum(task_gold) as taskGold select sum(sum_gold) as Goldtotal, sum(permanent_gold) as permanentGold, sum(free_june+free_december) as freeGold, sum(task_gold) as taskGold
from user_gold_record
from user_gold_record ugr
<where> <where>
ugr.flag = 1 and ugr.flag = 1 and
ugr.audit_status IN (1,3) ugr.audit_status IN (1,3)

Loading…
Cancel
Save