Browse Source

12月11日现金管理多语言配置,导出时显示对应语言(修复)

huangqizheng/feature-20260106155423-红包修改
wangguorui 4 weeks ago
parent
commit
5201530b32
  1. 30
      src/main/java/com/example/demo/Export/ExportServiceImpl.java
  2. 18
      src/main/java/com/example/demo/controller/coin/ExportController.java
  3. 1
      src/main/java/com/example/demo/domain/DTO/ArticleDTO.java
  4. 1
      src/main/java/com/example/demo/domain/DTO/BeanRechargeDTO.java
  5. 1
      src/main/java/com/example/demo/domain/DTO/CashDTO.java
  6. 1
      src/main/java/com/example/demo/domain/DTO/ConsumeDTO.java
  7. 1
      src/main/java/com/example/demo/domain/DTO/FanDTO.java
  8. 1
      src/main/java/com/example/demo/domain/DTO/FinanceDTO.java
  9. 1
      src/main/java/com/example/demo/domain/DTO/LiveDTO.java
  10. 1
      src/main/java/com/example/demo/domain/DTO/OnlineDTO.java
  11. 1
      src/main/java/com/example/demo/domain/DTO/RechargeDTO.java
  12. 1
      src/main/java/com/example/demo/domain/DTO/RefundDTO.java

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

@ -45,9 +45,10 @@ public class ExportServiceImpl implements ExportService {
* @param exportType 导出类型 ("充值明细", "退款明细", "消耗明细")
* @param queueName Redis 队列名称
* @param requestData 请求数据字段名 ("rechargeUser", "refundUser", "consumeUser","liveUser")
* @param lang 语言参数
* @return Result
*/
private Result addExport(Object dto, String exportType, String queueName, String requestData) {
private Result addExport(Object dto, String exportType, String queueName, String requestData, String lang) {
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
String token = request.getHeader("token");
@ -66,7 +67,7 @@ public class ExportServiceImpl implements ExportService {
Long recordId = idHolder.getId();
// 构造完整的 JSON 数据
Map<String, Object> exportData = constructExportData(recordId, token, dto, requestData);
Map<String, Object> exportData = constructExportData(recordId, token, dto, requestData, lang);
// 发送到 Redis 消息队列
String jsonData = new ObjectMapper().writeValueAsString(exportData);
@ -247,10 +248,11 @@ public class ExportServiceImpl implements ExportService {
/**
* 构造导出数据
*/
private Map<String, Object> constructExportData(Long recordId, String token, Object dto, String requestDataKey) throws Exception {
private Map<String, Object> constructExportData(Long recordId, String token, Object dto, String requestDataKey, String lang) throws Exception {
Map<String, Object> exportData = new HashMap<>();
exportData.put("recordId", recordId);
exportData.put("token", token);
exportData.put("lang", lang); // 添加语言参数
Map<String, Object> requestData = new HashMap<>();
if (dto instanceof RechargeDTO rechargeDTO) {
@ -291,51 +293,51 @@ public class ExportServiceImpl implements ExportService {
@Override
public Result addExportRecharge(RechargeDTO dto) {
return addExport(dto, "充值明细", "recharge:queue:export_queue", "rechargeUser");
return addExport(dto, "充值明细", "recharge:queue:export_queue", "rechargeUser", dto.getLang());
}
@Override
public Result addExportRefund(RefundDTO dto) {
return addExport(dto, "退款明细", "refund:queue:export_queue", "refundUser");
return addExport(dto, "退款明细", "refund:queue:export_queue", "refundUser", dto.getLang());
}
@Override
public Result addExportConsume(ConsumeDTO dto) {
return addExport(dto, "消耗明细", "consume:queue:export_queue", "consumeUser");
return addExport(dto, "消耗明细", "consume:queue:export_queue", "consumeUser", dto.getLang());
}
@Override
public Result addExportLive(LiveDTO dto) {
return addExport(dto, "打赏明细", "lives:queue:export_queue", "beanConsumeLive");
return addExport(dto, "打赏明细", "lives:queue:export_queue", "beanConsumeLive", dto.getLang());
}
@Override
public Result addExportFan(FanDTO dto) {
return addExport(dto, "铁粉明细", "fan:queue:export_queue", "beanConsumeFan");
return addExport(dto, "铁粉明细", "fan:queue:export_queue", "beanConsumeFan", dto.getLang());
}
@Override
public Result addExportArticle(ArticleDTO dto) {
return addExport(dto, "文章明细", "article:queue:export_queue", "beanConsumeArticle");
return addExport(dto, "文章明细", "article:queue:export_queue", "beanConsumeArticle", dto.getLang());
}
@Override
public Result addExportBean(BeanRechargeDTO dto) {
return addExport(dto, "金豆明细", "bean:queue:export_queue", "beanSystemRechargeInfo");
return addExport(dto, "金豆明细", "bean:queue:export_queue", "beanSystemRechargeInfo", dto.getLang());
}
@Override
public Result addExportOnline(OnlineDTO dto) {
return addExport(dto, "在线明细", "online:queue:export_queue", "beanOnlineRechargeInfo");
return addExport(dto, "在线明细", "online:queue:export_queue", "beanOnlineRechargeInfo", dto.getLang());
}
@Override
public Result addExportFinance(FinanceDTO dto) {
return addExport(dto, "现金退款明细", "finance:queue:export_queue", "cashRecordDTO");
return addExport(dto, "现金退款明细", "finance:queue:export_queue", "cashRecordDTO", dto.getLang());
}
@Override
public Result addExportCash(CashDTO dto) {
return addExport(dto, "现金收款明细", "cash:queue:export_queue", "cashCollection");
return addExport(dto, "现金收款明细", "cash:queue:export_queue", "cashCollection", dto.getLang());
}
}
}

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

@ -75,6 +75,7 @@ public class ExportController {
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
String token = request.getHeader("token");
dto.setToken(token);
dto.setLang(lang); // 设置语言参数
// 解析语言代码
String languageCode = parseLanguageCode(lang);
@ -106,6 +107,7 @@ public class ExportController {
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
String token = request.getHeader("token");
dto.setToken(token);
dto.setLang(lang); // 设置语言参数
// 解析语言代码
String languageCode = parseLanguageCode(lang);
@ -137,6 +139,7 @@ public class ExportController {
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
String token = request.getHeader("token");
dto.setToken(token);
dto.setLang(lang); // 设置语言参数
// 解析语言代码
String languageCode = parseLanguageCode(lang);
@ -159,6 +162,8 @@ public class ExportController {
String lockKey = "export:lock:" + dto.getToken();
String requestId = UUID.randomUUID().toString();
long expireTime = 5000;
dto.setLang(lang); // 设置语言参数
try {
// 尝试获取锁
if (!redisLockUtil.tryLock(lockKey, requestId, expireTime)) {
@ -178,6 +183,8 @@ public class ExportController {
String lockKey = "export:lock:" + dto.getToken();
String requestId = UUID.randomUUID().toString();
long expireTime = 5000;
dto.setLang(lang); // 设置语言参数
try {
// 尝试获取锁
if (!redisLockUtil.tryLock(lockKey, requestId, expireTime)) {
@ -197,6 +204,8 @@ public class ExportController {
String lockKey = "export:lock:" + dto.getToken();
String requestId = UUID.randomUUID().toString();
long expireTime = 5000;
dto.setLang(lang); // 设置语言参数
try {
// 尝试获取锁
if (!redisLockUtil.tryLock(lockKey, requestId, expireTime)) {
@ -216,6 +225,8 @@ public class ExportController {
String lockKey = "export:lock:" + dto.getToken();
String requestId = UUID.randomUUID().toString();
long expireTime = 5000;
dto.setLang(lang); // 设置语言参数
try {
// 尝试获取锁
if (!redisLockUtil.tryLock(lockKey, requestId, expireTime)) {
@ -235,6 +246,8 @@ public class ExportController {
String lockKey = "export:lock:" + dto.getToken();
String requestId = UUID.randomUUID().toString();
long expireTime = 5000;
dto.setLang(lang); // 设置语言参数
try {
// 尝试获取锁
if (!redisLockUtil.tryLock(lockKey, requestId, expireTime)) {
@ -257,6 +270,8 @@ public class ExportController {
String lockKey = "export:lock:" + dto.getToken();
String requestId = UUID.randomUUID().toString();
long expireTime = 5000;
dto.setLang(lang); // 设置语言参数
try {
// 尝试获取锁
if (!redisLockUtil.tryLock(lockKey, requestId, expireTime)) {
@ -276,6 +291,8 @@ public class ExportController {
String lockKey = "export:lock:" + dto.getToken();
String requestId = UUID.randomUUID().toString();
long expireTime = 5000;
dto.setLang(lang); // 设置语言参数
try {
// 尝试获取锁
if (!redisLockUtil.tryLock(lockKey, requestId, expireTime)) {
@ -290,6 +307,7 @@ public class ExportController {
}
}
/**
* 解析语言代码
*/

1
src/main/java/com/example/demo/domain/DTO/ArticleDTO.java

@ -28,6 +28,7 @@ public class ArticleDTO {
private String text = ""; //关键词搜索
private Integer dataNum = 0;
private String deptid = "";
private String lang;
@NotNull(message = "page不能为空")
private Integer page = 1;

1
src/main/java/com/example/demo/domain/DTO/BeanRechargeDTO.java

@ -29,6 +29,7 @@ public class BeanRechargeDTO {
private String text = ""; //关键词搜索
private Integer dataNum = 0;
private String deptid = "";
private String lang;
@NotNull(message = "page不能为空")
private Integer page = 1;

1
src/main/java/com/example/demo/domain/DTO/CashDTO.java

@ -30,6 +30,7 @@ public class CashDTO {
private String text = ""; //关键词搜索
private Integer dataNum = 0;
private String deptid = "";
private String lang;
@NotNull(message = "page不能为空")
private Integer page = 1;

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

@ -27,6 +27,7 @@ public class ConsumeDTO {
private String text = ""; //关键词搜索
private Integer dataNum = 0;
private String deptid = "";
private String lang;
@NotNull(message = "page不能为空")
private Integer page = 1;

1
src/main/java/com/example/demo/domain/DTO/FanDTO.java

@ -28,6 +28,7 @@ public class FanDTO {
private String text = ""; //关键词搜索
private Integer dataNum = 0;
private String deptid = "";
private String lang;
@NotNull(message = "page不能为空")
private Integer page = 1;

1
src/main/java/com/example/demo/domain/DTO/FinanceDTO.java

@ -28,6 +28,7 @@ public class FinanceDTO {
private Integer dataNum = 0;
private String deptid = "";
private CashRecordDTO cashRecordDTO;
private String lang;
@NotNull(message = "page不能为空")
private Integer page = 1;

1
src/main/java/com/example/demo/domain/DTO/LiveDTO.java

@ -28,6 +28,7 @@ public class LiveDTO {
private String text = ""; //关键词搜索
private Integer dataNum = 0;
private String deptid = "";
private String lang;
@NotNull(message = "page不能为空")
private Integer page = 1;

1
src/main/java/com/example/demo/domain/DTO/OnlineDTO.java

@ -27,6 +27,7 @@ public class OnlineDTO {
private String text = ""; //关键词搜索
private Integer dataNum = 0;
private String deptid = "";
private String lang;
@NotNull(message = "page不能为空")
private Integer page = 1;

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

@ -29,6 +29,7 @@ public class RechargeDTO {
private Integer dataNum = 0;
private String deptid = "";
private RechargeUser rechargeUser;
private String lang;
@NotNull(message = "page不能为空")
private Integer page = 1;

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

@ -28,6 +28,7 @@ public class RefundDTO {
private Integer dataNum = 0;
private String deptid = "";
private RefundUser refundUser;
private String lang;
@NotNull(message = "page不能为空")
private Integer page = 1;

Loading…
Cancel
Save