Browse Source

1月22日.业绩归属导出优化

lijianlin/feature-20260113-现金管理0109^2
wangguorui 1 month ago
parent
commit
e5933e1739
  1. 3
      src/main/java/com/example/demo/Export/ExportServiceImpl.java
  2. 15
      src/main/java/com/example/demo/controller/coin/ExportController.java
  3. 10
      src/main/java/com/example/demo/serviceImpl/coin/ExportExcelServiceImpl.java

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

@ -11,6 +11,7 @@ import com.example.demo.Util.RedisUtil;
import com.example.demo.service.coin.AdminService; import com.example.demo.service.coin.AdminService;
import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectMapper;
import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletRequest;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.core.userdetails.UserDetails; import org.springframework.security.core.userdetails.UserDetails;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -309,7 +310,7 @@ public class ExportServiceImpl implements ExportService {
}else if (dto instanceof CashDTO cashDTO){ }else if (dto instanceof CashDTO cashDTO){
requestData.put(requestDataKey, cashDTO.getCashCollection()); requestData.put(requestDataKey, cashDTO.getCashCollection());
}else if (dto instanceof PerformanceDTO performanceDTO){ }else if (dto instanceof PerformanceDTO performanceDTO){
requestData.put(requestDataKey, performanceDTO.getPerformanceVO());
requestData.put(requestDataKey, performanceDTO);
}else if (dto instanceof FundDTO fundDTO){ }else if (dto instanceof FundDTO fundDTO){
requestData.put(requestDataKey, fundDTO.getFundsDTO()); requestData.put(requestDataKey, fundDTO.getFundsDTO());
} }

15
src/main/java/com/example/demo/controller/coin/ExportController.java

@ -13,10 +13,7 @@ import com.example.demo.domain.vo.cash.CashCollection;
import com.example.demo.domain.vo.cash.CashRecordDTO; import com.example.demo.domain.vo.cash.CashRecordDTO;
import com.example.demo.domain.vo.cash.FundsDTO; import com.example.demo.domain.vo.cash.FundsDTO;
import com.example.demo.domain.vo.cash.PerformanceVO; import com.example.demo.domain.vo.cash.PerformanceVO;
import com.example.demo.domain.vo.coin.ConsumeUser;
import com.example.demo.domain.vo.coin.RechargeUser;
import com.example.demo.domain.vo.coin.RefundUser;
import com.example.demo.domain.vo.coin.Result;
import com.example.demo.domain.vo.coin.*;
import com.example.demo.service.coin.ExportExcelService; import com.example.demo.service.coin.ExportExcelService;
import com.example.demo.Export.ExportService; import com.example.demo.Export.ExportService;
import com.example.demo.service.coin.TranslationService; import com.example.demo.service.coin.TranslationService;
@ -372,18 +369,18 @@ public class ExportController {
} }
@PostMapping("/exportPerformance") @PostMapping("/exportPerformance")
public Result exportPerformance(@Valid @RequestBody PerformanceDTO dto, @RequestHeader(defaultValue = "zh_CN") String lang) {
String lockKey = "export:lock:" + dto.getToken();
public Result exportPerformance(@Valid @RequestBody Page page, @RequestHeader(defaultValue = "zh_CN") String lang) {
String lockKey = "export:lock:" + page.getPerformanceDTO().getToken();
String requestId = UUID.randomUUID().toString(); String requestId = UUID.randomUUID().toString();
long expireTime = 5000; long expireTime = 5000;
dto.setLang(lang);// 设置语言参数
page.getPerformanceDTO().setLang(lang);// 设置语言参数
// 解析语言代码 // 解析语言代码
String languageCode = parseLanguageCode(lang); String languageCode = parseLanguageCode(lang);
// 如果非中文环境将查询条件中的翻译文本转换为中文简体 // 如果非中文环境将查询条件中的翻译文本转换为中文简体
if (!"zh".equalsIgnoreCase(languageCode) && !"zh_cn".equalsIgnoreCase(languageCode)) { if (!"zh".equalsIgnoreCase(languageCode) && !"zh_cn".equalsIgnoreCase(languageCode)) {
convertPerformanceTranslatedFieldsToChinese(dto.getPerformanceVO(), languageCode);
convertPerformanceTranslatedFieldsToChinese(page.getPerformanceDTO().getPerformanceVO(), languageCode);
} }
try { try {
@ -393,7 +390,7 @@ public class ExportController {
throw new BusinessException(errorMsg); throw new BusinessException(errorMsg);
} }
// 执行业务逻辑 // 执行业务逻辑
return exportService.addExportPerformance(dto);
return exportService.addExportPerformance(page.getPerformanceDTO());
} finally { } finally {
// 释放锁 // 释放锁
redisLockUtil.unlock(lockKey, requestId); redisLockUtil.unlock(lockKey, requestId);

10
src/main/java/com/example/demo/serviceImpl/coin/ExportExcelServiceImpl.java

@ -419,12 +419,12 @@ public class ExportExcelServiceImpl implements ExportExcelService {
try { try {
JsonNode rootNode = objectMapper.readTree(message); JsonNode rootNode = objectMapper.readTree(message);
JsonNode requestDataNode = rootNode.path("requestData"); JsonNode requestDataNode = rootNode.path("requestData");
JsonNode beanRechargeNode = requestDataNode.path("performanceDTO");
PerformanceDTO performanceDTO = objectMapper.treeToValue(beanRechargeNode, PerformanceDTO.class);
JsonNode performanceDTONode = requestDataNode.path("performanceDTO");
PerformanceDTO performanceDTO = objectMapper.treeToValue(performanceDTONode, PerformanceDTO.class);
page.setPerformanceDTO(performanceDTO); page.setPerformanceDTO(performanceDTO);
// 从请求数据中获取语言设置如果没有则使用默认值
// 从请求数据中获取语言设置
String lang = "zh_CN"; String lang = "zh_CN";
JsonNode langNode = requestDataNode.path("lang");
JsonNode langNode = rootNode.path("lang");
if (langNode != null && !langNode.asText().isEmpty()) { if (langNode != null && !langNode.asText().isEmpty()) {
lang = langNode.asText(); lang = langNode.asText();
} }
@ -1048,7 +1048,7 @@ public class ExportExcelServiceImpl implements ExportExcelService {
case "cashUser": case "cashUser":
return CashCollection.class; return CashCollection.class;
case "performanceUser": case "performanceUser":
return PerformanceDTO.class;
return PerformanceVO.class;
case "fundUser": case "fundUser":
return FundsDTO.class; return FundsDTO.class;
default: default:

Loading…
Cancel
Save