Browse Source

7.8导出筛选修复

huangqizheng/feature-20250708175155-7.8bug修复
huangqizhen 1 month ago
parent
commit
e598198d4b
  1. 4
      src/main/java/com/example/demo/Export/ExportServiceImpl.java
  2. 14
      src/main/java/com/example/demo/domain/DTO/ConsumeDTO.java
  3. 14
      src/main/java/com/example/demo/domain/DTO/GoldDetailDTO.java
  4. 16
      src/main/java/com/example/demo/domain/DTO/GoldUserDTO.java
  5. 16
      src/main/java/com/example/demo/domain/DTO/RechargeDTO.java
  6. 16
      src/main/java/com/example/demo/domain/DTO/RefundDTO.java
  7. 47
      src/main/java/com/example/demo/serviceImpl/ExportExcelServiceImpl.java
  8. 3
      src/main/java/com/example/demo/serviceImpl/GoldDetailServiceImpl.java

4
src/main/java/com/example/demo/Export/ExportServiceImpl.java

@ -57,6 +57,7 @@ public class ExportServiceImpl implements ExportService{
dto.setUrl("");
dto.setFileName(fileName);
dto.setDataNum(0);
try{
// 调用方式
GoldDetailMapper.ExportRecordIdHolder idHolder = new GoldDetailMapper.ExportRecordIdHolder();
@ -81,6 +82,7 @@ public class ExportServiceImpl implements ExportService{
requestData.put("sort", dto.getSort());
requestData.put("field", dto.getField());
requestData.put("deptId", dto.getDeptid());
requestData.put("RechargeUser", dto.getRechargeUser());
exportData.put("requestData", requestData);
// 3. 发送到 Redis 消息队列
@ -137,6 +139,7 @@ public class ExportServiceImpl implements ExportService{
requestData.put("sort", dto.getSort());
requestData.put("field", dto.getField());
requestData.put("deptId", dto.getDeptid());
requestData.put("RefundUser", dto.getRefundUser());
exportData.put("requestData", requestData);
// 3. 发送到 Redis 消息队列
@ -193,6 +196,7 @@ public class ExportServiceImpl implements ExportService{
requestData.put("sort", dto.getSort());
requestData.put("field", dto.getField());
requestData.put("deptId", dto.getDeptid());
requestData.put("ConsumeUser", dto.getConsumeUser());
exportData.put("requestData", requestData);
// 3. 发送到 Redis 消息队列

14
src/main/java/com/example/demo/domain/DTO/ConsumeDTO.java

@ -34,11 +34,11 @@ public class ConsumeDTO {
private Integer pageSize = 20;
private ConsumeUser consumeUser;
@Override
public String toString() {
return String.format(
"AiEmotionExport(account=%d, type=%d, state=%d, dataNum=%d)",
account, type, state, dataNum
);
}
// @Override
// public String toString() {
// return String.format(
// "AiEmotionExport(account=%d, type=%d, state=%d, dataNum=%d)",
// account, type, state, dataNum
// );
// }
}

14
src/main/java/com/example/demo/domain/DTO/GoldDetailDTO.java

@ -36,11 +36,11 @@ public class GoldDetailDTO {
@NotNull(message = "pageSize不能为空")
private Integer pageSize = 20;
@Override
public String toString() {
return String.format(
"AiEmotionExport(account=%d, type=%d, state=%d, dataNum=%d)",
account, type, state, dataNum
);
}
// @Override
// public String toString() {
// return String.format(
// "AiEmotionExport(account=%d, type=%d, state=%d, dataNum=%d)",
// account, type, state, dataNum
// );
// }
}

16
src/main/java/com/example/demo/domain/DTO/GoldUserDTO.java

@ -1,5 +1,6 @@
package com.example.demo.domain.DTO;
import com.example.demo.domain.entity.User;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import lombok.NoArgsConstructor;
@ -26,17 +27,18 @@ public class GoldUserDTO {
private String text = ""; //关键词搜索
private Integer dataNum = 0;
private String deptid = "";
private User user;
@NotNull(message = "page不能为空")
private Integer page = 1;
@NotNull(message = "pageSize不能为空")
private Integer pageSize = 20;
@Override
public String toString() {
return String.format(
"AiEmotionExport(account=%d, type=%d, state=%d, dataNum=%d)",
account, type, state, dataNum
);
}
// @Override
// public String toString() {
// return String.format(
// "AiEmotionExport(account=%d, type=%d, state=%d, dataNum=%d)",
// account, type, state, dataNum
// );
// }
}

16
src/main/java/com/example/demo/domain/DTO/RechargeDTO.java

@ -1,5 +1,6 @@
package com.example.demo.domain.DTO;
import com.example.demo.domain.vo.RechargeUser;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import lombok.NoArgsConstructor;
@ -27,17 +28,18 @@ public class RechargeDTO {
private String text = ""; //关键词搜索
private Integer dataNum = 0;
private String deptid = "";
private RechargeUser rechargeUser;
@NotNull(message = "page不能为空")
private Integer page = 1;
@NotNull(message = "pageSize不能为空")
private Integer pageSize = 20;
@Override
public String toString() {
return String.format(
"AiEmotionExport(account=%d, type=%d, state=%d, dataNum=%d)",
account, type, state, dataNum
);
}
// @Override
// public String toString() {
// return String.format(
// "AiEmotionExport(account=%d, type=%d, state=%d, dataNum=%d)",
// account, type, state, dataNum
// );
// }
}

16
src/main/java/com/example/demo/domain/DTO/RefundDTO.java

@ -1,5 +1,6 @@
package com.example.demo.domain.DTO;
import com.example.demo.domain.vo.RefundUser;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import lombok.NoArgsConstructor;
@ -26,17 +27,18 @@ public class RefundDTO {
private String text = ""; //关键词搜索
private Integer dataNum = 0;
private String deptid = "";
private RefundUser refundUser;
@NotNull(message = "page不能为空")
private Integer page = 1;
@NotNull(message = "pageSize不能为空")
private Integer pageSize = 20;
@Override
public String toString() {
return String.format(
"AiEmotionExport(account=%d, type=%d, state=%d, dataNum=%d)",
account, type, state, dataNum
);
}
// @Override
// public String toString() {
// return String.format(
// "AiEmotionExport(account=%d, type=%d, state=%d, dataNum=%d)",
// account, type, state, dataNum
// );
// }
}

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

@ -79,6 +79,9 @@ public class ExportExcelServiceImpl implements ExportExcelService {
// 2. 获取基本参数
recordId = rootNode.path("recordId").asLong();
JsonNode requestDataNode = rootNode.path("requestData");
JsonNode goldDetailNode = requestDataNode.path("goldDetail");
GoldDetail goldDetail = objectMapper.treeToValue(goldDetailNode, GoldDetail.class);
// 3. 验证导出记录
AiEmotionExportRecordVO record = validateExportRecord(recordId);
if (record == null) return null;
@ -95,10 +98,10 @@ public class ExportExcelServiceImpl implements ExportExcelService {
// 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;
Integer jwcode = requestDataNode.has("jwcode") ? requestDataNode.get("jwcode").asInt() : null;
String payPlatform = requestDataNode.has("payPlatform") ? requestDataNode.get("payPlatform").asText() : null;
Integer type = requestDataNode.has("type") ? requestDataNode.get("type").asInt() : null;
String market = requestDataNode.has("market") ? requestDataNode.get("market").asText() : null;
// Integer jwcode = requestDataNode.has("jwcode") ? requestDataNode.get("jwcode").asInt() : null;
// String payPlatform = requestDataNode.has("payPlatform") ? requestDataNode.get("payPlatform").asText() : null;
// Integer type = requestDataNode.has("type") ? requestDataNode.get("type").asInt() : null;
// String market = requestDataNode.has("market") ? requestDataNode.get("market").asText() : null;
Date startTime = null;
if (requestDataNode.has("startTime")) {
String startTimeStr = requestDataNode.get("startTime").asText();
@ -131,13 +134,6 @@ public class ExportExcelServiceImpl implements ExportExcelService {
page.setPageNum(1);
page.setPageSize(1000);
Integer totalCount = 0;
GoldDetail goldDetail = new GoldDetail();
goldDetail.setJwcode(jwcode);
goldDetail.setPayPlatform(payPlatform);
goldDetail.setType(type);
goldDetail.setMarket(market);
goldDetail.setStartTime(startTime);
goldDetail.setEndTime(endTime);
page.setGoldDetail(goldDetail);
boolean hasMore = true;
while (hasMore) {
@ -315,6 +311,8 @@ public class ExportExcelServiceImpl implements ExportExcelService {
// 2. 获取基本参数
recordId = rootNode.path("recordId").asLong();
JsonNode requestDataNode = rootNode.path("requestData");
JsonNode userNode = requestDataNode.path("user");
User user = objectMapper.treeToValue(userNode, User.class);
// 3. 验证导出记录
AiEmotionExportRecordVO record = validateExportRecord(recordId);
if (record == null) return null;
@ -326,10 +324,11 @@ public class ExportExcelServiceImpl implements ExportExcelService {
tempFile = File.createTempFile("export_", ".xlsx");
outputStream = new FileOutputStream(tempFile); // 使用文件输出流
// 从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;
// 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 {
// 6. 初始化Excel写入器指向本地文件流
@ -339,6 +338,7 @@ public class ExportExcelServiceImpl implements ExportExcelService {
Page page = new Page();
page.setPageNum(1);
page.setPageSize(1000);
page.setUser(user);
Integer totalCount = 0;
boolean hasMore = true;
while (hasMore) {
@ -514,6 +514,8 @@ public class ExportExcelServiceImpl implements ExportExcelService {
// 2. 获取基本参数
recordId = rootNode.path("recordId").asLong();
JsonNode requestDataNode = rootNode.path("requestData");
JsonNode rechargeNode = requestDataNode.path("rechargeUser");
RechargeUser rechargeUser = objectMapper.treeToValue(rechargeNode, RechargeUser.class);
// 3. 验证导出记录
AiEmotionExportRecordVO record = validateExportRecord(recordId);
if (record == null) return null;
@ -525,10 +527,10 @@ public class ExportExcelServiceImpl implements ExportExcelService {
tempFile = File.createTempFile("export_", ".xlsx");
outputStream = new FileOutputStream(tempFile); // 使用文件输出流
// 从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;
// 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 {
// 6. 初始化Excel写入器指向本地文件流
@ -539,6 +541,7 @@ public class ExportExcelServiceImpl implements ExportExcelService {
page.setPageNum(1);
page.setPageSize(1000);
Integer totalCount = 0;
page.setRechargeUser(rechargeUser);
boolean hasMore = true;
while (hasMore) {
Result pageResult = rechargeController.selcetBy( page);
@ -713,6 +716,8 @@ public class ExportExcelServiceImpl implements ExportExcelService {
// 2. 获取基本参数
recordId = rootNode.path("recordId").asLong();
JsonNode requestDataNode = rootNode.path("requestData");
JsonNode consumeUserNode = requestDataNode.path("consumeUser");
ConsumeUser consumeUser = objectMapper.treeToValue(consumeUserNode, ConsumeUser.class);
// 3. 验证导出记录
AiEmotionExportRecordVO record = validateExportRecord(recordId);
if (record == null) return null;
@ -737,6 +742,7 @@ public class ExportExcelServiceImpl implements ExportExcelService {
Page page = new Page();
page.setPageNum(1);
page.setPageSize(1000);
page.setConsumeUser(consumeUser);
Integer totalCount = 0;
boolean hasMore = true;
while (hasMore) {
@ -912,6 +918,8 @@ public class ExportExcelServiceImpl implements ExportExcelService {
// 2. 获取基本参数
recordId = rootNode.path("recordId").asLong();
JsonNode requestDataNode = rootNode.path("requestData");
JsonNode refundUserNode = requestDataNode.path("refundUser");
RefundUser refundUser = objectMapper.treeToValue(refundUserNode, RefundUser.class);
// 3. 验证导出记录
AiEmotionExportRecordVO record = validateExportRecord(recordId);
if (record == null) return null;
@ -936,6 +944,7 @@ public class ExportExcelServiceImpl implements ExportExcelService {
Page page = new Page();
page.setPageNum(1);
page.setPageSize(1000);
page.setRefundUser(refundUser);
Integer totalCount = 0;
boolean hasMore = true;
while (hasMore) {

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

@ -133,6 +133,7 @@ public class GoldDetailServiceImpl implements GoldDetailService {
dto.setUrl("");
dto.setFileName(fileName);
dto.setDataNum(0);
try{
// 调用方式
GoldDetailMapper.ExportRecordIdHolder idHolder = new GoldDetailMapper.ExportRecordIdHolder();
@ -157,6 +158,7 @@ public class GoldDetailServiceImpl implements GoldDetailService {
requestData.put("sort", dto.getSort());
requestData.put("field", dto.getField());
requestData.put("deptId", dto.getDeptid());
requestData.put("goldDetail", dto.getGoldDetail());
exportData.put("requestData", requestData);
// 3. 发送到 Redis 消息队列
@ -213,6 +215,7 @@ public class GoldDetailServiceImpl implements GoldDetailService {
requestData.put("sort", dto.getSort());
requestData.put("field", dto.getField());
requestData.put("deptId", dto.getDeptid());
requestData.put("user", dto.getUser());
exportData.put("requestData", requestData);
// 3. 发送到 Redis 消息队列

Loading…
Cancel
Save