|
|
@ -9,10 +9,7 @@ import com.example.demo.domain.entity.Admin; |
|
|
import com.example.demo.domain.entity.Export; |
|
|
import com.example.demo.domain.entity.Export; |
|
|
import com.example.demo.domain.DTO.CashDTO; |
|
|
import com.example.demo.domain.DTO.CashDTO; |
|
|
import com.example.demo.domain.vo.bean.*; |
|
|
import com.example.demo.domain.vo.bean.*; |
|
|
import com.example.demo.domain.vo.cash.CashCollection; |
|
|
|
|
|
import com.example.demo.domain.vo.cash.CashRecordDTO; |
|
|
|
|
|
import com.example.demo.domain.vo.cash.FundsDTO; |
|
|
|
|
|
import com.example.demo.domain.vo.cash.PerformanceVO; |
|
|
|
|
|
|
|
|
import com.example.demo.domain.vo.cash.*; |
|
|
import com.example.demo.domain.vo.coin.*; |
|
|
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; |
|
|
@ -57,7 +54,7 @@ public class ExportController { |
|
|
@PostMapping("/export") |
|
|
@PostMapping("/export") |
|
|
public Result export(@Valid @RequestBody Export export, @RequestHeader("token") String token) throws Exception { |
|
|
public Result export(@Valid @RequestBody Export export, @RequestHeader("token") String token) throws Exception { |
|
|
try { |
|
|
try { |
|
|
UserDetails token1= JWTUtil.getUserDetailsList(String.valueOf(token), Admin.class); |
|
|
|
|
|
|
|
|
UserDetails token1 = JWTUtil.getUserDetailsList(String.valueOf(token), Admin.class); |
|
|
export.setAccount(Integer.valueOf(token1.getUsername())); |
|
|
export.setAccount(Integer.valueOf(token1.getUsername())); |
|
|
return Result.success(exportExcelService.getExcel(export)); |
|
|
return Result.success(exportExcelService.getExcel(export)); |
|
|
} catch (Exception e) { |
|
|
} catch (Exception e) { |
|
|
@ -75,20 +72,10 @@ public class ExportController { |
|
|
String token = request.getHeader("token"); |
|
|
String token = request.getHeader("token"); |
|
|
dto.setToken(token); |
|
|
dto.setToken(token); |
|
|
dto.setLang(lang); // 设置语言参数 |
|
|
dto.setLang(lang); // 设置语言参数 |
|
|
|
|
|
|
|
|
// 解析语言代码 |
|
|
|
|
|
String languageCode = parseLanguageCode(lang); |
|
|
|
|
|
|
|
|
|
|
|
// 如果不是中文环境,将查询条件中的翻译文本转换为中文简体 |
|
|
|
|
|
if (!"zh".equalsIgnoreCase(languageCode) && !"zh_cn".equalsIgnoreCase(languageCode)) { |
|
|
|
|
|
convertRechargeTranslatedFieldsToChinese(dto.getRechargeUser(), languageCode); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
try { |
|
|
try { |
|
|
// 尝试获取锁 |
|
|
// 尝试获取锁 |
|
|
if (!redisLockUtil.tryLock(lockKey, requestId, expireTime)) { |
|
|
if (!redisLockUtil.tryLock(lockKey, requestId, expireTime)) { |
|
|
String errorMsg = languageTranslationUtil.translate("操作太频繁,请稍后重试", lang); |
|
|
|
|
|
throw new BusinessException(errorMsg); |
|
|
|
|
|
|
|
|
throw new BusinessException("操作太频繁,请稍后重试"); |
|
|
} |
|
|
} |
|
|
// 执行业务逻辑 |
|
|
// 执行业务逻辑 |
|
|
return exportService.addExportRecharge(dto); |
|
|
return exportService.addExportRecharge(dto); |
|
|
@ -107,20 +94,10 @@ public class ExportController { |
|
|
String token = request.getHeader("token"); |
|
|
String token = request.getHeader("token"); |
|
|
dto.setToken(token); |
|
|
dto.setToken(token); |
|
|
dto.setLang(lang); // 设置语言参数 |
|
|
dto.setLang(lang); // 设置语言参数 |
|
|
|
|
|
|
|
|
// 解析语言代码 |
|
|
|
|
|
String languageCode = parseLanguageCode(lang); |
|
|
|
|
|
|
|
|
|
|
|
// 如果不是中文环境,将查询条件中的翻译文本转换为中文简体 |
|
|
|
|
|
if (!"zh".equalsIgnoreCase(languageCode) && !"zh_cn".equalsIgnoreCase(languageCode)) { |
|
|
|
|
|
convertRefundTranslatedFieldsToChinese(dto.getRefundUser(), languageCode); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
try { |
|
|
try { |
|
|
// 尝试获取锁 |
|
|
// 尝试获取锁 |
|
|
if (!redisLockUtil.tryLock(lockKey, requestId, expireTime)) { |
|
|
if (!redisLockUtil.tryLock(lockKey, requestId, expireTime)) { |
|
|
String errorMsg = languageTranslationUtil.translate("操作太频繁,请稍后重试", lang); |
|
|
|
|
|
throw new BusinessException(errorMsg); |
|
|
|
|
|
|
|
|
throw new BusinessException("操作太频繁,请稍后重试"); |
|
|
} |
|
|
} |
|
|
// 执行业务逻辑 |
|
|
// 执行业务逻辑 |
|
|
return exportService.addExportRefund(dto); |
|
|
return exportService.addExportRefund(dto); |
|
|
@ -139,20 +116,10 @@ public class ExportController { |
|
|
String token = request.getHeader("token"); |
|
|
String token = request.getHeader("token"); |
|
|
dto.setToken(token); |
|
|
dto.setToken(token); |
|
|
dto.setLang(lang); // 设置语言参数 |
|
|
dto.setLang(lang); // 设置语言参数 |
|
|
|
|
|
|
|
|
// 解析语言代码 |
|
|
|
|
|
String languageCode = parseLanguageCode(lang); |
|
|
|
|
|
|
|
|
|
|
|
// 如果不是中文环境,将查询条件中的翻译文本转换为中文简体 |
|
|
|
|
|
if (!"zh".equalsIgnoreCase(languageCode) && !"zh_cn".equalsIgnoreCase(languageCode)) { |
|
|
|
|
|
convertConsumeTranslatedFieldsToChinese(dto.getConsumeUser(), languageCode); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
try { |
|
|
try { |
|
|
// 尝试获取锁 |
|
|
// 尝试获取锁 |
|
|
if (!redisLockUtil.tryLock(lockKey, requestId, expireTime)) { |
|
|
if (!redisLockUtil.tryLock(lockKey, requestId, expireTime)) { |
|
|
String errorMsg = languageTranslationUtil.translate("操作太频繁,请稍后重试", lang); |
|
|
|
|
|
throw new BusinessException(errorMsg); |
|
|
|
|
|
|
|
|
throw new BusinessException("操作太频繁,请稍后重试"); |
|
|
} |
|
|
} |
|
|
// 执行业务逻辑 |
|
|
// 执行业务逻辑 |
|
|
return exportService.addExportConsume(dto); |
|
|
return exportService.addExportConsume(dto); |
|
|
@ -168,20 +135,10 @@ public class ExportController { |
|
|
String requestId = UUID.randomUUID().toString(); |
|
|
String requestId = UUID.randomUUID().toString(); |
|
|
long expireTime = 5000; |
|
|
long expireTime = 5000; |
|
|
dto.setLang(lang); // 设置语言参数 |
|
|
dto.setLang(lang); // 设置语言参数 |
|
|
|
|
|
|
|
|
// 解析语言代码 |
|
|
|
|
|
String languageCode = parseLanguageCode(lang); |
|
|
|
|
|
|
|
|
|
|
|
// 如果不是中文环境,将查询条件中的翻译文本转换为中文简体 |
|
|
|
|
|
if (!"zh".equalsIgnoreCase(languageCode) && !"zh_cn".equalsIgnoreCase(languageCode)) { |
|
|
|
|
|
convertLiveTranslatedFieldsToChinese(dto.getBeanConsumeLive(), languageCode); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
try { |
|
|
try { |
|
|
// 尝试获取锁 |
|
|
// 尝试获取锁 |
|
|
if (!redisLockUtil.tryLock(lockKey, requestId, expireTime)) { |
|
|
if (!redisLockUtil.tryLock(lockKey, requestId, expireTime)) { |
|
|
String errorMsg = languageTranslationUtil.translate("操作太频繁,请稍后重试", lang); |
|
|
|
|
|
throw new BusinessException(errorMsg); |
|
|
|
|
|
|
|
|
throw new BusinessException("操作太频繁,请稍后重试"); |
|
|
} |
|
|
} |
|
|
// 执行业务逻辑 |
|
|
// 执行业务逻辑 |
|
|
return exportService.addExportLive(dto); |
|
|
return exportService.addExportLive(dto); |
|
|
@ -192,25 +149,15 @@ public class ExportController { |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
@PostMapping("/exportFan") |
|
|
@PostMapping("/exportFan") |
|
|
public Result export(@Valid @RequestBody FanDTO dto, @RequestHeader(defaultValue = "zh_CN") String lang){ |
|
|
|
|
|
|
|
|
public Result export(@Valid @RequestBody FanDTO dto, @RequestHeader(defaultValue = "zh_CN") String lang) { |
|
|
String lockKey = "export:lock:" + dto.getToken(); |
|
|
String lockKey = "export:lock:" + dto.getToken(); |
|
|
String requestId = UUID.randomUUID().toString(); |
|
|
String requestId = UUID.randomUUID().toString(); |
|
|
long expireTime = 5000; |
|
|
long expireTime = 5000; |
|
|
dto.setLang(lang); // 设置语言参数 |
|
|
dto.setLang(lang); // 设置语言参数 |
|
|
|
|
|
|
|
|
// 解析语言代码 |
|
|
|
|
|
String languageCode = parseLanguageCode(lang); |
|
|
|
|
|
|
|
|
|
|
|
// 如果不是中文环境,将查询条件中的翻译文本转换为中文简体 |
|
|
|
|
|
if (!"zh".equalsIgnoreCase(languageCode) && !"zh_cn".equalsIgnoreCase(languageCode)) { |
|
|
|
|
|
convertFanTranslatedFieldsToChinese(dto.getBeanConsumeFan(), languageCode); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
try { |
|
|
try { |
|
|
// 尝试获取锁 |
|
|
// 尝试获取锁 |
|
|
if (!redisLockUtil.tryLock(lockKey, requestId, expireTime)) { |
|
|
if (!redisLockUtil.tryLock(lockKey, requestId, expireTime)) { |
|
|
String errorMsg = languageTranslationUtil.translate("操作太频繁,请稍后重试", lang); |
|
|
|
|
|
throw new BusinessException(errorMsg); |
|
|
|
|
|
|
|
|
throw new BusinessException("操作太频繁,请稍后重试"); |
|
|
} |
|
|
} |
|
|
// 执行业务逻辑 |
|
|
// 执行业务逻辑 |
|
|
return exportService.addExportFan(dto); |
|
|
return exportService.addExportFan(dto); |
|
|
@ -221,25 +168,15 @@ public class ExportController { |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
@PostMapping("/exportArticle") |
|
|
@PostMapping("/exportArticle") |
|
|
public Result export(@Valid @RequestBody ArticleDTO dto, @RequestHeader(defaultValue = "zh_CN") String lang){ |
|
|
|
|
|
|
|
|
public Result export(@Valid @RequestBody ArticleDTO dto, @RequestHeader(defaultValue = "zh_CN") String lang) { |
|
|
String lockKey = "export:lock:" + dto.getToken(); |
|
|
String lockKey = "export:lock:" + dto.getToken(); |
|
|
String requestId = UUID.randomUUID().toString(); |
|
|
String requestId = UUID.randomUUID().toString(); |
|
|
long expireTime = 5000; |
|
|
long expireTime = 5000; |
|
|
dto.setLang(lang); // 设置语言参数 |
|
|
dto.setLang(lang); // 设置语言参数 |
|
|
|
|
|
|
|
|
// 解析语言代码 |
|
|
|
|
|
String languageCode = parseLanguageCode(lang); |
|
|
|
|
|
|
|
|
|
|
|
// 如果不是中文环境,将查询条件中的翻译文本转换为中文简体 |
|
|
|
|
|
if (!"zh".equalsIgnoreCase(languageCode) && !"zh_cn".equalsIgnoreCase(languageCode)) { |
|
|
|
|
|
convertArticleTranslatedFieldsToChinese(dto.getBeanConsumeArticle(), languageCode); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
try { |
|
|
try { |
|
|
// 尝试获取锁 |
|
|
// 尝试获取锁 |
|
|
if (!redisLockUtil.tryLock(lockKey, requestId, expireTime)) { |
|
|
if (!redisLockUtil.tryLock(lockKey, requestId, expireTime)) { |
|
|
String errorMsg = languageTranslationUtil.translate("操作太频繁,请稍后重试", lang); |
|
|
|
|
|
throw new BusinessException(errorMsg); |
|
|
|
|
|
|
|
|
throw new BusinessException("操作太频繁,请稍后重试"); |
|
|
} |
|
|
} |
|
|
// 执行业务逻辑 |
|
|
// 执行业务逻辑 |
|
|
return exportService.addExportArticle(dto); |
|
|
return exportService.addExportArticle(dto); |
|
|
@ -250,25 +187,15 @@ public class ExportController { |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
@PostMapping("/exportBean") |
|
|
@PostMapping("/exportBean") |
|
|
public Result export(@Valid @RequestBody BeanRechargeDTO dto, @RequestHeader(defaultValue = "zh_CN") String lang){ |
|
|
|
|
|
|
|
|
public Result export(@Valid @RequestBody BeanRechargeDTO dto, @RequestHeader(defaultValue = "zh_CN") String lang) { |
|
|
String lockKey = "export:lock:" + dto.getToken(); |
|
|
String lockKey = "export:lock:" + dto.getToken(); |
|
|
String requestId = UUID.randomUUID().toString(); |
|
|
String requestId = UUID.randomUUID().toString(); |
|
|
long expireTime = 5000; |
|
|
long expireTime = 5000; |
|
|
dto.setLang(lang); // 设置语言参数 |
|
|
dto.setLang(lang); // 设置语言参数 |
|
|
|
|
|
|
|
|
// 解析语言代码 |
|
|
|
|
|
String languageCode = parseLanguageCode(lang); |
|
|
|
|
|
|
|
|
|
|
|
// 如果不是中文环境,将查询条件中的翻译文本转换为中文简体 |
|
|
|
|
|
if (!"zh".equalsIgnoreCase(languageCode) && !"zh_cn".equalsIgnoreCase(languageCode)) { |
|
|
|
|
|
convertBeanTranslatedFieldsToChinese(dto.getBeanSystemRechargeInfo(), languageCode); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
try { |
|
|
try { |
|
|
// 尝试获取锁 |
|
|
// 尝试获取锁 |
|
|
if (!redisLockUtil.tryLock(lockKey, requestId, expireTime)) { |
|
|
if (!redisLockUtil.tryLock(lockKey, requestId, expireTime)) { |
|
|
String errorMsg = languageTranslationUtil.translate("操作太频繁,请稍后重试", lang); |
|
|
|
|
|
throw new BusinessException(errorMsg); |
|
|
|
|
|
|
|
|
throw new BusinessException("操作太频繁,请稍后重试"); |
|
|
} |
|
|
} |
|
|
// 执行业务逻辑 |
|
|
// 执行业务逻辑 |
|
|
return exportService.addExportBean(dto); |
|
|
return exportService.addExportBean(dto); |
|
|
@ -279,25 +206,15 @@ public class ExportController { |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
@PostMapping("/exportol") |
|
|
@PostMapping("/exportol") |
|
|
public Result exportol(@Valid @RequestBody OnlineDTO dto, @RequestHeader(defaultValue = "zh_CN") String lang) throws Exception { |
|
|
|
|
|
|
|
|
public Result exportol(@Valid @RequestBody OnlineDTO dto, @RequestHeader(defaultValue = "zh_CN") String lang) { |
|
|
String lockKey = "export:lock:" + dto.getToken(); |
|
|
String lockKey = "export:lock:" + dto.getToken(); |
|
|
String requestId = UUID.randomUUID().toString(); |
|
|
String requestId = UUID.randomUUID().toString(); |
|
|
long expireTime = 5000; |
|
|
long expireTime = 5000; |
|
|
dto.setLang(lang); // 设置语言参数 |
|
|
dto.setLang(lang); // 设置语言参数 |
|
|
|
|
|
|
|
|
// 解析语言代码 |
|
|
|
|
|
String languageCode = parseLanguageCode(lang); |
|
|
|
|
|
|
|
|
|
|
|
// 如果不是中文环境,将查询条件中的翻译文本转换为中文简体 |
|
|
|
|
|
if (!"zh".equalsIgnoreCase(languageCode) && !"zh_cn".equalsIgnoreCase(languageCode)) { |
|
|
|
|
|
convertOnlineTranslatedFieldsToChinese(dto.getBeanOnlineRechargeInfo(), languageCode); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
try { |
|
|
try { |
|
|
// 尝试获取锁 |
|
|
// 尝试获取锁 |
|
|
if (!redisLockUtil.tryLock(lockKey, requestId, expireTime)) { |
|
|
if (!redisLockUtil.tryLock(lockKey, requestId, expireTime)) { |
|
|
String errorMsg = languageTranslationUtil.translate("操作太频繁,请稍后重试", lang); |
|
|
|
|
|
throw new BusinessException(errorMsg); |
|
|
|
|
|
|
|
|
throw new BusinessException("操作太频繁,请稍后重试"); |
|
|
} |
|
|
} |
|
|
// 执行业务逻辑 |
|
|
// 执行业务逻辑 |
|
|
return exportService.addExportOnline(dto); |
|
|
return exportService.addExportOnline(dto); |
|
|
@ -316,20 +233,10 @@ public class ExportController { |
|
|
String requestId = UUID.randomUUID().toString(); |
|
|
String requestId = UUID.randomUUID().toString(); |
|
|
long expireTime = 5000; |
|
|
long expireTime = 5000; |
|
|
dto.setLang(lang); // 设置语言参数 |
|
|
dto.setLang(lang); // 设置语言参数 |
|
|
|
|
|
|
|
|
// 解析语言代码 |
|
|
|
|
|
String languageCode = parseLanguageCode(lang); |
|
|
|
|
|
|
|
|
|
|
|
// 如果不是中文环境,将查询条件中的翻译文本转换为中文简体 |
|
|
|
|
|
if (!"zh".equalsIgnoreCase(languageCode) && !"zh_cn".equalsIgnoreCase(languageCode)) { |
|
|
|
|
|
convertFinanceTranslatedFieldsToChinese(dto.getCashRecordDTO(), languageCode); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
try { |
|
|
try { |
|
|
// 尝试获取锁 |
|
|
// 尝试获取锁 |
|
|
if (!redisLockUtil.tryLock(lockKey, requestId, expireTime)) { |
|
|
if (!redisLockUtil.tryLock(lockKey, requestId, expireTime)) { |
|
|
String errorMsg = languageTranslationUtil.translate("操作太频繁,请稍后重试", lang); |
|
|
|
|
|
throw new BusinessException(errorMsg); |
|
|
|
|
|
|
|
|
throw new BusinessException("操作太频繁,请稍后重试"); |
|
|
} |
|
|
} |
|
|
// 执行业务逻辑 |
|
|
// 执行业务逻辑 |
|
|
return exportService.addExportFinance(dto); |
|
|
return exportService.addExportFinance(dto); |
|
|
@ -345,24 +252,14 @@ public class ExportController { |
|
|
String requestId = UUID.randomUUID().toString(); |
|
|
String requestId = UUID.randomUUID().toString(); |
|
|
long expireTime = 5000; |
|
|
long expireTime = 5000; |
|
|
dto.setLang(lang); // 设置语言参数 |
|
|
dto.setLang(lang); // 设置语言参数 |
|
|
|
|
|
|
|
|
// 解析语言代码 |
|
|
|
|
|
String languageCode = parseLanguageCode(lang); |
|
|
|
|
|
|
|
|
|
|
|
// 如果不是中文环境,将查询条件中的翻译文本转换为中文简体 |
|
|
|
|
|
if (!"zh".equalsIgnoreCase(languageCode) && !"zh_cn".equalsIgnoreCase(languageCode)) { |
|
|
|
|
|
convertCashTranslatedFieldsToChinese(dto.getCashCollection(), languageCode); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
try { |
|
|
try { |
|
|
// 尝试获取锁 |
|
|
// 尝试获取锁 |
|
|
if (!redisLockUtil.tryLock(lockKey, requestId, expireTime)) { |
|
|
if (!redisLockUtil.tryLock(lockKey, requestId, expireTime)) { |
|
|
String errorMsg = languageTranslationUtil.translate("操作太频繁,请稍后重试", lang); |
|
|
|
|
|
throw new BusinessException(errorMsg); |
|
|
|
|
|
|
|
|
throw new BusinessException("操作太频繁,请稍后重试"); |
|
|
} |
|
|
} |
|
|
// 执行业务逻辑 |
|
|
// 执行业务逻辑 |
|
|
return exportService.addExportCash(dto); |
|
|
return exportService.addExportCash(dto); |
|
|
}finally { |
|
|
|
|
|
|
|
|
} finally { |
|
|
// 释放锁 |
|
|
// 释放锁 |
|
|
redisLockUtil.unlock(lockKey, requestId); |
|
|
redisLockUtil.unlock(lockKey, requestId); |
|
|
} |
|
|
} |
|
|
@ -374,20 +271,10 @@ public class ExportController { |
|
|
String requestId = UUID.randomUUID().toString(); |
|
|
String requestId = UUID.randomUUID().toString(); |
|
|
long expireTime = 5000; |
|
|
long expireTime = 5000; |
|
|
page.getPerformanceDTO().setLang(lang);// 设置语言参数 |
|
|
page.getPerformanceDTO().setLang(lang);// 设置语言参数 |
|
|
|
|
|
|
|
|
// 解析语言代码 |
|
|
|
|
|
String languageCode = parseLanguageCode(lang); |
|
|
|
|
|
|
|
|
|
|
|
// 如果非中文环境,将查询条件中的翻译文本转换为中文简体 |
|
|
|
|
|
if (!"zh".equalsIgnoreCase(languageCode) && !"zh_cn".equalsIgnoreCase(languageCode)) { |
|
|
|
|
|
convertPerformanceTranslatedFieldsToChinese(page.getPerformanceDTO().getPerformanceVO(), languageCode); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
try { |
|
|
try { |
|
|
// 尝试获取锁 |
|
|
// 尝试获取锁 |
|
|
if (!redisLockUtil.tryLock(lockKey, requestId, expireTime)) { |
|
|
if (!redisLockUtil.tryLock(lockKey, requestId, expireTime)) { |
|
|
String errorMsg = languageTranslationUtil.translate("操作太频繁,请稍后重试", lang); |
|
|
|
|
|
throw new BusinessException(errorMsg); |
|
|
|
|
|
|
|
|
throw new BusinessException("操作太频繁,请稍后重试"); |
|
|
} |
|
|
} |
|
|
// 执行业务逻辑 |
|
|
// 执行业务逻辑 |
|
|
return exportService.addExportPerformance(page.getPerformanceDTO()); |
|
|
return exportService.addExportPerformance(page.getPerformanceDTO()); |
|
|
@ -396,6 +283,7 @@ public class ExportController { |
|
|
redisLockUtil.unlock(lockKey, requestId); |
|
|
redisLockUtil.unlock(lockKey, requestId); |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
/** |
|
|
/** |
|
|
* 资金导出 |
|
|
* 资金导出 |
|
|
*/ |
|
|
*/ |
|
|
@ -405,20 +293,10 @@ public class ExportController { |
|
|
String requestId = UUID.randomUUID().toString(); |
|
|
String requestId = UUID.randomUUID().toString(); |
|
|
long expireTime = 5000; |
|
|
long expireTime = 5000; |
|
|
dto.setLang(lang);// 设置语言参数 |
|
|
dto.setLang(lang);// 设置语言参数 |
|
|
|
|
|
|
|
|
// 解析语言代码 |
|
|
|
|
|
String languageCode = parseLanguageCode(lang); |
|
|
|
|
|
|
|
|
|
|
|
// 如果非中文环境,将查询条件中的翻译文本转换为中文简体 |
|
|
|
|
|
if (!"zh".equalsIgnoreCase(languageCode) && !"zh_cn".equalsIgnoreCase(languageCode)) { |
|
|
|
|
|
convertFundsTranslatedFieldsToChinese(dto.getFundsDTO(), languageCode); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
try { |
|
|
try { |
|
|
// 尝试获取锁 |
|
|
// 尝试获取锁 |
|
|
if (!redisLockUtil.tryLock(lockKey, requestId, expireTime)) { |
|
|
if (!redisLockUtil.tryLock(lockKey, requestId, expireTime)) { |
|
|
String errorMsg = languageTranslationUtil.translate("操作太频繁,请稍后重试", lang); |
|
|
|
|
|
throw new BusinessException(errorMsg); |
|
|
|
|
|
|
|
|
throw new BusinessException("操作太频繁,请稍后重试"); |
|
|
} |
|
|
} |
|
|
// 执行业务逻辑 |
|
|
// 执行业务逻辑 |
|
|
return exportService.addExportFundDTO(dto); |
|
|
return exportService.addExportFundDTO(dto); |
|
|
@ -428,417 +306,25 @@ public class ExportController { |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
|
* 解析语言代码 |
|
|
|
|
|
*/ |
|
|
|
|
|
private String parseLanguageCode(String langHeader) { |
|
|
|
|
|
if (langHeader == null || langHeader.isEmpty()) { |
|
|
|
|
|
return "zh"; |
|
|
|
|
|
} |
|
|
|
|
|
// 处理类似 "en-US" 或 "zh-TW" 的情况 |
|
|
|
|
|
if (langHeader.contains("-")) { |
|
|
|
|
|
String[] parts = langHeader.split("-"); |
|
|
|
|
|
// 特殊处理中文繁体 |
|
|
|
|
|
if ("zh".equalsIgnoreCase(parts[0]) && "TW".equalsIgnoreCase(parts[1])) { |
|
|
|
|
|
return "zh_TW"; |
|
|
|
|
|
} |
|
|
|
|
|
return parts[0].toLowerCase(); |
|
|
|
|
|
} |
|
|
|
|
|
return langHeader.toLowerCase(); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
|
* 将充值查询条件中的翻译字段转换为中文简体 |
|
|
|
|
|
*/ |
|
|
|
|
|
private void convertRechargeTranslatedFieldsToChinese(RechargeUser rechargeUser, String languageCode) { |
|
|
|
|
|
if (rechargeUser != null) { |
|
|
|
|
|
// 转换市场名称 |
|
|
|
|
|
if (rechargeUser.getMarket() != null && !rechargeUser.getMarket().isEmpty()) { |
|
|
|
|
|
String chineseMarket = translationService.findChineseSimplifiedByTranslation( |
|
|
|
|
|
rechargeUser.getMarket(), languageCode); |
|
|
|
|
|
rechargeUser.setMarket(chineseMarket); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// 转换汇率名称 |
|
|
|
|
|
if (rechargeUser.getRateName() != null && !rechargeUser.getRateName().isEmpty()) { |
|
|
|
|
|
String chineseRateName = translationService.findChineseSimplifiedByTranslation( |
|
|
|
|
|
rechargeUser.getRateName(), languageCode); |
|
|
|
|
|
rechargeUser.setRateName(chineseRateName); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// 转换支付方式 |
|
|
|
|
|
if (rechargeUser.getPayModel() != null && !rechargeUser.getPayModel().isEmpty()) { |
|
|
|
|
|
String chinesePayModel = translationService.findChineseSimplifiedByTranslation( |
|
|
|
|
|
rechargeUser.getPayModel(), languageCode); |
|
|
|
|
|
rechargeUser.setPayModel(chinesePayModel); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// 转换备注 |
|
|
|
|
|
if (rechargeUser.getRemark() != null && !rechargeUser.getRemark().isEmpty()) { |
|
|
|
|
|
String chineseRemark = translationService.findChineseSimplifiedByTranslation( |
|
|
|
|
|
rechargeUser.getRemark(), languageCode); |
|
|
|
|
|
rechargeUser.setRemark(chineseRemark); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
|
* 将退款查询条件中的翻译字段转换为中文简体 |
|
|
|
|
|
*/ |
|
|
|
|
|
private void convertRefundTranslatedFieldsToChinese(RefundUser refundUser, String languageCode) { |
|
|
|
|
|
if (refundUser != null) { |
|
|
|
|
|
// 转换市场名称 |
|
|
|
|
|
if (refundUser.getMarket() != null && !refundUser.getMarket().isEmpty()) { |
|
|
|
|
|
String chineseMarket = translationService.findChineseSimplifiedByTranslation( |
|
|
|
|
|
refundUser.getMarket(), languageCode); |
|
|
|
|
|
refundUser.setMarket(chineseMarket); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// 转换商品名称 |
|
|
|
|
|
if (refundUser.getGoodsName() != null && !refundUser.getGoodsName().isEmpty()) { |
|
|
|
|
|
String chineseGoodsName = translationService.findChineseSimplifiedByTranslation( |
|
|
|
|
|
refundUser.getGoodsName(), languageCode); |
|
|
|
|
|
refundUser.setGoodsName(chineseGoodsName); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// 转换退款类型 |
|
|
|
|
|
if (refundUser.getRefundType() != null && !refundUser.getRefundType().isEmpty()) { |
|
|
|
|
|
String chineseRefundType = translationService.findChineseSimplifiedByTranslation( |
|
|
|
|
|
refundUser.getRefundType(), languageCode); |
|
|
|
|
|
refundUser.setRefundType(chineseRefundType); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// 转换备注 |
|
|
|
|
|
if (refundUser.getRemark() != null && !refundUser.getRemark().isEmpty()) { |
|
|
|
|
|
String chineseRemark = translationService.findChineseSimplifiedByTranslation( |
|
|
|
|
|
refundUser.getRemark(), languageCode); |
|
|
|
|
|
refundUser.setRemark(chineseRemark); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
|
* 将消费查询条件中的翻译字段转换为中文简体 |
|
|
|
|
|
*/ |
|
|
|
|
|
private void convertConsumeTranslatedFieldsToChinese(ConsumeUser consumeUser, String languageCode) { |
|
|
|
|
|
if (consumeUser != null) { |
|
|
|
|
|
// 转换商品名称 |
|
|
|
|
|
if (consumeUser.getGoodsName() != null && !consumeUser.getGoodsName().isEmpty()) { |
|
|
|
|
|
String chineseName = translationService.findChineseSimplifiedByTranslation( |
|
|
|
|
|
consumeUser.getGoodsName(), languageCode); |
|
|
|
|
|
consumeUser.setGoodsName(chineseName); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// 转换市场名称 |
|
|
|
|
|
if (consumeUser.getMarket() != null && !consumeUser.getMarket().isEmpty()) { |
|
|
|
|
|
String chineseMarket = translationService.findChineseSimplifiedByTranslation( |
|
|
|
|
|
consumeUser.getMarket(), languageCode); |
|
|
|
|
|
consumeUser.setMarket(chineseMarket); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
|
* 将直播查询条件中的翻译字段转换为中文简体 |
|
|
|
|
|
*/ |
|
|
|
|
|
private void convertLiveTranslatedFieldsToChinese(BeanConsumeLive beanConsumeLive, String languageCode) { |
|
|
|
|
|
if (beanConsumeLive != null) { |
|
|
|
|
|
//转换地区 |
|
|
|
|
|
if (beanConsumeLive.getDept() != null && !beanConsumeLive.getDept().isEmpty()) { |
|
|
|
|
|
String chineseDept = translationService.findChineseSimplifiedByTranslation( |
|
|
|
|
|
beanConsumeLive.getDept(), languageCode); |
|
|
|
|
|
beanConsumeLive.setDept(chineseDept); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
//转换礼物名称 |
|
|
|
|
|
if (beanConsumeLive.getGift() != null && !beanConsumeLive.getGift().isEmpty()) { |
|
|
|
|
|
String chineseGift = translationService.findChineseSimplifiedByTranslation( |
|
|
|
|
|
beanConsumeLive.getGift(), languageCode); |
|
|
|
|
|
beanConsumeLive.setGift(chineseGift); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
//转换直播频道 |
|
|
|
|
|
if (beanConsumeLive.getLiveChannel() != null && !beanConsumeLive.getLiveChannel().isEmpty()) { |
|
|
|
|
|
String chineseChannel = translationService.findChineseSimplifiedByTranslation( |
|
|
|
|
|
beanConsumeLive.getLiveChannel(), languageCode); |
|
|
|
|
|
beanConsumeLive.setLiveChannel(chineseChannel); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
//转换直播名称 |
|
|
|
|
|
if (beanConsumeLive.getLiveName() != null && !beanConsumeLive.getLiveName().isEmpty()) { |
|
|
|
|
|
String chineseName = translationService.findChineseSimplifiedByTranslation( |
|
|
|
|
|
beanConsumeLive.getLiveName(), languageCode); |
|
|
|
|
|
beanConsumeLive.setLiveName(chineseName); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
|
* 将粉丝查询条件中的翻译字段转换为中文简体 |
|
|
|
|
|
*/ |
|
|
|
|
|
private void convertFanTranslatedFieldsToChinese(BeanConsumeFan beanConsumeFan, String languageCode) { |
|
|
|
|
|
if (beanConsumeFan != null) { |
|
|
|
|
|
// 转换地区 |
|
|
|
|
|
if (beanConsumeFan.getDept() != null && !beanConsumeFan.getDept().isEmpty()) { |
|
|
|
|
|
String chineseDept = translationService.findChineseSimplifiedByTranslation( |
|
|
|
|
|
beanConsumeFan.getDept(), languageCode); |
|
|
|
|
|
beanConsumeFan.setDept(chineseDept); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// 转换频道 |
|
|
|
|
|
if (beanConsumeFan.getChannel() != null && !beanConsumeFan.getChannel().isEmpty()) { |
|
|
|
|
|
String chineseChannel = translationService.findChineseSimplifiedByTranslation( |
|
|
|
|
|
beanConsumeFan.getChannel(), languageCode); |
|
|
|
|
|
beanConsumeFan.setChannel(chineseChannel); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// 转换会员类型 |
|
|
|
|
|
if (beanConsumeFan.getTypeDesc() != null && !beanConsumeFan.getTypeDesc().isEmpty()) { |
|
|
|
|
|
String chineseType = translationService.findChineseSimplifiedByTranslation( |
|
|
|
|
|
beanConsumeFan.getTypeDesc(), languageCode); |
|
|
|
|
|
beanConsumeFan.setTypeDesc(chineseType); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
|
* 将文章查询条件中的翻译字段转换为中文简体 |
|
|
|
|
|
*/ |
|
|
|
|
|
private void convertArticleTranslatedFieldsToChinese(BeanConsumeArticle beanConsumeArticle, String languageCode) { |
|
|
|
|
|
if (beanConsumeArticle != null) { |
|
|
|
|
|
// 转换文章名称 |
|
|
|
|
|
if (beanConsumeArticle.getArticleName() != null && !beanConsumeArticle.getArticleName().isEmpty()) { |
|
|
|
|
|
String chineseName = translationService.findChineseSimplifiedByTranslation( |
|
|
|
|
|
beanConsumeArticle.getArticleName(), languageCode); |
|
|
|
|
|
beanConsumeArticle.setArticleName(chineseName); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// 转换地区 |
|
|
|
|
|
if (beanConsumeArticle.getDept() != null && !beanConsumeArticle.getDept().isEmpty()) { |
|
|
|
|
|
String chineseDept = translationService.findChineseSimplifiedByTranslation( |
|
|
|
|
|
beanConsumeArticle.getDept(), languageCode); |
|
|
|
|
|
beanConsumeArticle.setDept(chineseDept); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// 转换类型 |
|
|
|
|
|
if (beanConsumeArticle.getTypeDesc() != null && !beanConsumeArticle.getTypeDesc().isEmpty()) { |
|
|
|
|
|
String chineseType = translationService.findChineseSimplifiedByTranslation( |
|
|
|
|
|
beanConsumeArticle.getTypeDesc(), languageCode); |
|
|
|
|
|
beanConsumeArticle.setTypeDesc(chineseType); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
|
* 将金豆充值查询条件中的翻译字段转换为中文简体 |
|
|
|
|
|
*/ |
|
|
|
|
|
private void convertBeanTranslatedFieldsToChinese(BeanSystemRechargeInfo beanSystemRechargeInfo, String languageCode) { |
|
|
|
|
|
if (beanSystemRechargeInfo != null) { |
|
|
|
|
|
// 转换市场 |
|
|
|
|
|
if (beanSystemRechargeInfo.getMarket() != null && !beanSystemRechargeInfo.getMarket().isEmpty()) { |
|
|
|
|
|
String chineseMarket = translationService.findChineseSimplifiedByTranslation( |
|
|
|
|
|
beanSystemRechargeInfo.getMarket(), languageCode); |
|
|
|
|
|
beanSystemRechargeInfo.setMarket(chineseMarket); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// 转换备注 |
|
|
|
|
|
if (beanSystemRechargeInfo.getRemark() != null && !beanSystemRechargeInfo.getRemark().isEmpty()) { |
|
|
|
|
|
String chineseRemark = translationService.findChineseSimplifiedByTranslation( |
|
|
|
|
|
beanSystemRechargeInfo.getRemark(), languageCode); |
|
|
|
|
|
beanSystemRechargeInfo.setRemark(chineseRemark); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
|
* 将导出查询条件中的翻译字段转换为中文简体 |
|
|
|
|
|
*/ |
|
|
|
|
|
private void convertOnlineTranslatedFieldsToChinese(BeanOnlineRechargeInfo beanOnlineRechargeInfo, String languageCode) { |
|
|
|
|
|
if (beanOnlineRechargeInfo != null) { |
|
|
|
|
|
// 转换市场 |
|
|
|
|
|
if (beanOnlineRechargeInfo.getMarket() != null && !beanOnlineRechargeInfo.getMarket().isEmpty()) { |
|
|
|
|
|
String chineseMarket = translationService.findChineseSimplifiedByTranslation( |
|
|
|
|
|
beanOnlineRechargeInfo.getMarket(), languageCode); |
|
|
|
|
|
beanOnlineRechargeInfo.setMarket(chineseMarket); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// 转换充值平台 |
|
|
|
|
|
if (beanOnlineRechargeInfo.getPlatformDesc() != null && !beanOnlineRechargeInfo.getPlatformDesc().isEmpty()) { |
|
|
|
|
|
String chinesePlatform = translationService.findChineseSimplifiedByTranslation( |
|
|
|
|
|
beanOnlineRechargeInfo.getPlatformDesc(), languageCode); |
|
|
|
|
|
beanOnlineRechargeInfo.setPlatformDesc(chinesePlatform); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
/** |
|
|
* 将负责人导出查询条件中的翻译字段转换为中文简体 |
|
|
|
|
|
|
|
|
* 用户钱包明细导出 |
|
|
*/ |
|
|
*/ |
|
|
private void convertFinanceTranslatedFieldsToChinese(CashRecordDTO cashRecordDTO, String languageCode) { |
|
|
|
|
|
if (cashRecordDTO != null) { |
|
|
|
|
|
// 转换商品名称 |
|
|
|
|
|
if (cashRecordDTO.getGoodsName() != null && !cashRecordDTO.getGoodsName().isEmpty()) { |
|
|
|
|
|
String chineseGoodsName = translationService.findChineseSimplifiedByTranslation( |
|
|
|
|
|
cashRecordDTO.getGoodsName(), languageCode); |
|
|
|
|
|
cashRecordDTO.setGoodsName(chineseGoodsName); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// 转换备注 |
|
|
|
|
|
if (cashRecordDTO.getRemark() != null && !cashRecordDTO.getRemark().isEmpty()) { |
|
|
|
|
|
String chineseRemark = translationService.findChineseSimplifiedByTranslation( |
|
|
|
|
|
cashRecordDTO.getRemark(), languageCode); |
|
|
|
|
|
cashRecordDTO.setRemark(chineseRemark); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// 转换退款理由 |
|
|
|
|
|
if (cashRecordDTO.getRefundReason() != null && !cashRecordDTO.getRefundReason().isEmpty()) { |
|
|
|
|
|
String chineseRefundReason = translationService.findChineseSimplifiedByTranslation( |
|
|
|
|
|
cashRecordDTO.getRefundReason(), languageCode); |
|
|
|
|
|
cashRecordDTO.setRefundReason(chineseRefundReason); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// 转换驳回理由 |
|
|
|
|
|
if (cashRecordDTO.getRejectReason() != null && !cashRecordDTO.getRejectReason().isEmpty()) { |
|
|
|
|
|
String chineseRejectReason = translationService.findChineseSimplifiedByTranslation( |
|
|
|
|
|
cashRecordDTO.getRejectReason(), languageCode); |
|
|
|
|
|
cashRecordDTO.setRejectReason(chineseRejectReason); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
|
* 将现金导出查询条件中的翻译字段转换为中文简体 |
|
|
|
|
|
*/ |
|
|
|
|
|
private void convertCashTranslatedFieldsToChinese(CashCollection cashCollection, String languageCode) { |
|
|
|
|
|
if (cashCollection != null) { |
|
|
|
|
|
// 转换地区 |
|
|
|
|
|
if (cashCollection.getMarket() != null && !cashCollection.getMarket().isEmpty()) { |
|
|
|
|
|
String chineseMarket = translationService.findChineseSimplifiedByTranslation( |
|
|
|
|
|
cashCollection.getMarket(), languageCode); |
|
|
|
|
|
cashCollection.setMarket(chineseMarket); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// 转换活动名称 |
|
|
|
|
|
if (cashCollection.getActivity() != null && !cashCollection.getActivity().isEmpty()) { |
|
|
|
|
|
String chineseActivity = translationService.findChineseSimplifiedByTranslation( |
|
|
|
|
|
cashCollection.getActivity(), languageCode); |
|
|
|
|
|
cashCollection.setActivity(chineseActivity); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// 转换商品名称 |
|
|
|
|
|
if (cashCollection.getGoodsName() != null && !cashCollection.getGoodsName().isEmpty()) { |
|
|
|
|
|
String chineseGoodsName = translationService.findChineseSimplifiedByTranslation( |
|
|
|
|
|
cashCollection.getGoodsName(), languageCode); |
|
|
|
|
|
cashCollection.setGoodsName(chineseGoodsName); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// 转换单位 |
|
|
|
|
|
if (cashCollection.getNumUnit() != null && !cashCollection.getNumUnit().isEmpty()) { |
|
|
|
|
|
String chineseNumUnit = translationService.findChineseSimplifiedByTranslation( |
|
|
|
|
|
cashCollection.getNumUnit(), languageCode); |
|
|
|
|
|
cashCollection.setNumUnit(chineseNumUnit); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// 转换支付方式 |
|
|
|
|
|
if (cashCollection.getPayType() != null && !cashCollection.getPayType().isEmpty()) { |
|
|
|
|
|
String chinesePayType = translationService.findChineseSimplifiedByTranslation( |
|
|
|
|
|
cashCollection.getPayType(), languageCode); |
|
|
|
|
|
cashCollection.setPayType(chinesePayType); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// 转换到账地区 |
|
|
|
|
|
if (cashCollection.getReceivedMarket() != null && !cashCollection.getReceivedMarket().isEmpty()) { |
|
|
|
|
|
String chineseReceivedMarket = translationService.findChineseSimplifiedByTranslation( |
|
|
|
|
|
cashCollection.getReceivedMarket(), languageCode); |
|
|
|
|
|
cashCollection.setReceivedMarket(chineseReceivedMarket); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// 转换币种 |
|
|
|
|
|
if (cashCollection.getPaymentCurrency() != null && !cashCollection.getPaymentCurrency().isEmpty()) { |
|
|
|
|
|
String chineseCurrency = translationService.findChineseSimplifiedByTranslation( |
|
|
|
|
|
cashCollection.getPaymentCurrency(), languageCode); |
|
|
|
|
|
cashCollection.setPaymentCurrency(chineseCurrency); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// 转换币种 |
|
|
|
|
|
if (cashCollection.getReceivedCurrency() != null && !cashCollection.getReceivedCurrency().isEmpty()) { |
|
|
|
|
|
String chineseCurrency = translationService.findChineseSimplifiedByTranslation( |
|
|
|
|
|
cashCollection.getReceivedCurrency(), languageCode); |
|
|
|
|
|
cashCollection.setReceivedCurrency(chineseCurrency); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// 转换备注 |
|
|
|
|
|
if (cashCollection.getRemark() != null && !cashCollection.getRemark().isEmpty()) { |
|
|
|
|
|
String chineseRemark = translationService.findChineseSimplifiedByTranslation( |
|
|
|
|
|
cashCollection.getRemark(), languageCode); |
|
|
|
|
|
cashCollection.setRemark(chineseRemark); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// 转换拒绝理由 |
|
|
|
|
|
if (cashCollection.getRejectReason() != null && !cashCollection.getRejectReason().isEmpty()) { |
|
|
|
|
|
String chineseRejectReason = translationService.findChineseSimplifiedByTranslation( |
|
|
|
|
|
cashCollection.getRejectReason(), languageCode); |
|
|
|
|
|
cashCollection.setRejectReason(chineseRejectReason); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// 转换提交人地区 |
|
|
|
|
|
if (cashCollection.getSubmitterMarket() != null && !cashCollection.getSubmitterMarket().isEmpty()) { |
|
|
|
|
|
String chineseMarket = translationService.findChineseSimplifiedByTranslation( |
|
|
|
|
|
cashCollection.getSubmitterMarket(), languageCode); |
|
|
|
|
|
cashCollection.setSubmitterMarket(chineseMarket); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
|
* 将业绩归属条件中的翻译字段转换为中文简体 |
|
|
|
|
|
*/ |
|
|
|
|
|
private void convertPerformanceTranslatedFieldsToChinese(PerformanceVO performanceVO, String languageCode) { |
|
|
|
|
|
if (performanceVO != null) { |
|
|
|
|
|
// 翻译地区 |
|
|
|
|
|
if (performanceVO.getMarketName() != null && !performanceVO.getMarketName().isEmpty()) { |
|
|
|
|
|
String chineseMarketName = translationService.findChineseSimplifiedByTranslation( |
|
|
|
|
|
performanceVO.getMarketName(), languageCode); |
|
|
|
|
|
performanceVO.setMarketName(chineseMarketName); |
|
|
|
|
|
} |
|
|
|
|
|
// 翻译付款币种 |
|
|
|
|
|
if (performanceVO.getPaymentCurrency() != null && !performanceVO.getPaymentCurrency().isEmpty()) { |
|
|
|
|
|
String chinesePaymentCurrency = translationService.findChineseSimplifiedByTranslation( |
|
|
|
|
|
performanceVO.getPaymentCurrency(), languageCode); |
|
|
|
|
|
performanceVO.setPaymentCurrency(chinesePaymentCurrency); |
|
|
|
|
|
} |
|
|
|
|
|
// 翻译到账币种 |
|
|
|
|
|
if (performanceVO.getReceivedCurrency() != null && !performanceVO.getReceivedCurrency().isEmpty()) { |
|
|
|
|
|
String chineseReceivedCurrency = translationService.findChineseSimplifiedByTranslation( |
|
|
|
|
|
performanceVO.getReceivedCurrency(), languageCode); |
|
|
|
|
|
performanceVO.setReceivedCurrency(chineseReceivedCurrency); |
|
|
|
|
|
|
|
|
@PostMapping("/exportUserWallet") |
|
|
|
|
|
public Result exportUserWallet(@Valid @RequestBody UserWalletDTO dto, @RequestHeader(defaultValue = "zh_CN") String lang) { |
|
|
|
|
|
String lockKey = "export:lock:" + dto.getToken(); |
|
|
|
|
|
String requestId = UUID.randomUUID().toString(); |
|
|
|
|
|
long expireTime = 5000; |
|
|
|
|
|
dto.setLang(lang);// 设置语言参数 |
|
|
|
|
|
try { |
|
|
|
|
|
// 尝试获取锁 |
|
|
|
|
|
if (!redisLockUtil.tryLock(lockKey, requestId, expireTime)) { |
|
|
|
|
|
throw new BusinessException("操作太频繁,请稍后重试"); |
|
|
} |
|
|
} |
|
|
|
|
|
// 执行业务逻辑 |
|
|
|
|
|
return exportService.addExportUserWallet(dto); |
|
|
|
|
|
} finally { |
|
|
|
|
|
// 释放锁 |
|
|
|
|
|
redisLockUtil.unlock(lockKey, requestId); |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
/** |
|
|
|
|
|
* 将资金流水账中的翻译字段转换为中文简体 |
|
|
|
|
|
*/ |
|
|
|
|
|
private void convertFundsTranslatedFieldsToChinese(FundsDTO fundsDTO, String languageCode) { |
|
|
|
|
|
if (fundsDTO != null) { |
|
|
|
|
|
// 翻译地区 |
|
|
|
|
|
if (fundsDTO.getMarketName() != null && !fundsDTO.getMarketName().isEmpty()) { |
|
|
|
|
|
String chineseMarketName = translationService.findChineseSimplifiedByTranslation( |
|
|
|
|
|
fundsDTO.getMarketName(), languageCode); |
|
|
|
|
|
fundsDTO.setMarketName(chineseMarketName); |
|
|
|
|
|
} |
|
|
|
|
|
// 翻译付款币种 |
|
|
|
|
|
if (fundsDTO.getPaymentCurrencyName() != null && !fundsDTO.getPaymentCurrencyName().isEmpty()) { |
|
|
|
|
|
String chinesePaymentCurrency = translationService.findChineseSimplifiedByTranslation( |
|
|
|
|
|
fundsDTO.getPaymentCurrencyName(), languageCode); |
|
|
|
|
|
fundsDTO.setPaymentCurrencyName(chinesePaymentCurrency); |
|
|
|
|
|
} |
|
|
|
|
|
// 翻译到账币种 |
|
|
|
|
|
if (fundsDTO.getReceivedCurrencyName() != null && !fundsDTO.getReceivedCurrencyName().isEmpty()) { |
|
|
|
|
|
String chineseReceivedCurrency = translationService.findChineseSimplifiedByTranslation( |
|
|
|
|
|
fundsDTO.getReceivedCurrencyName(), languageCode); |
|
|
|
|
|
fundsDTO.setReceivedCurrencyName(chineseReceivedCurrency); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
} |