You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

719 lines
30 KiB

7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
  1. package com.example.demo.controller.bean;
  2. import com.example.demo.config.interfac.Log;
  3. import com.example.demo.domain.vo.bean.BeanConsume;
  4. import com.example.demo.domain.vo.bean.BeanConsumeGold;
  5. import com.example.demo.domain.vo.bean.BeanRecharge;
  6. import com.example.demo.domain.vo.coin.Page;
  7. import com.example.demo.domain.vo.coin.Result;
  8. import com.example.demo.service.bean.BeanConsumeService;
  9. import com.example.demo.Util.LanguageTranslationUtil;
  10. import com.example.demo.service.coin.TranslationService;
  11. import lombok.RequiredArgsConstructor;
  12. import lombok.extern.slf4j.Slf4j;
  13. import org.springframework.beans.factory.annotation.Autowired;
  14. import org.springframework.util.ObjectUtils;
  15. import org.springframework.web.bind.annotation.*;
  16. import java.util.List;
  17. /**
  18. * @program: gold-java
  19. * @ClassName BeanConsumeController
  20. * @description: 金豆消耗
  21. * @author: Ethan
  22. * @create: 202507-30 11:30
  23. * @Version 1.0
  24. **/
  25. @RestController
  26. @RequestMapping("/beanConsume")
  27. @RequiredArgsConstructor
  28. @Slf4j
  29. @CrossOrigin
  30. public class BeanConsumeController {
  31. @Autowired
  32. private BeanConsumeService beanConsumeService;
  33. @Autowired
  34. private LanguageTranslationUtil languageTranslationUtil;
  35. @Autowired
  36. private TranslationService translationService;
  37. //获取角色的权限
  38. @PostMapping("/getRoleChannel")
  39. public Result getRoleChannel(@RequestBody Integer roleId){
  40. return Result.success(beanConsumeService.getRoleChannel(roleId));
  41. }
  42. //获取消费用户分部信息
  43. @PostMapping("/getDept")
  44. public Result getDept(@RequestHeader(defaultValue = "zh_CN") String lang){
  45. try {
  46. List<String> deptList = beanConsumeService.getDept();
  47. // 解析语言代码
  48. String languageCode = parseLanguageCode(lang);
  49. // 如果不是中文环境,先将翻译后的分部名称转换为中文简体进行处理
  50. if (!"zh".equalsIgnoreCase(languageCode) && !"zh_cn".equalsIgnoreCase(languageCode)) {
  51. convertTranslatedDeptNamesToChinese(deptList, languageCode);
  52. }
  53. // 对分部名称进行多语言转换
  54. translateDeptNames(deptList, lang);
  55. return Result.success(deptList);
  56. } catch (Exception e) {
  57. String errorMsg = languageTranslationUtil.translate("获取分部信息失败", lang);
  58. return Result.error(errorMsg);
  59. }
  60. }
  61. //获取直播消费用户分部信息
  62. @PostMapping("/getLiveDept")
  63. public Result getLiveDept(@RequestHeader(defaultValue = "zh_CN") String lang){
  64. try {
  65. List<String> deptList = beanConsumeService.getLiveDept();
  66. // 解析语言代码
  67. String languageCode = parseLanguageCode(lang);
  68. // 如果不是中文环境,先将翻译后的分部名称转换为中文简体进行处理
  69. if (!"zh".equalsIgnoreCase(languageCode) && !"zh_cn".equalsIgnoreCase(languageCode)) {
  70. convertTranslatedLiveDeptNamesToChinese(deptList, languageCode);
  71. }
  72. // 对分部名称进行多语言转换
  73. translateLiveDeptNames(deptList, lang);
  74. return Result.success(deptList);
  75. } catch (Exception e) {
  76. String errorMsg = languageTranslationUtil.translate("获取直播分部信息失败", lang);
  77. return Result.error(errorMsg);
  78. }
  79. }
  80. //减少金豆
  81. @PostMapping("/reduce")
  82. public Result reduce(@RequestBody BeanConsume consume, @RequestHeader(defaultValue = "zh_CN") String lang) {
  83. try {
  84. // 解析语言代码
  85. String languageCode = parseLanguageCode(lang);
  86. // 如果不是中文环境,将查询条件中的翻译文本转换为中文简体
  87. if (!"zh".equalsIgnoreCase(languageCode) && !"zh_cn".equalsIgnoreCase(languageCode)) {
  88. convertTranslatedConsumeFieldsToChinese(consume, languageCode);
  89. }
  90. return beanConsumeService.reduce(consume);
  91. } catch (Exception e) {
  92. String errorMsg = languageTranslationUtil.translate("减少失败", lang);
  93. return Result.error(errorMsg);
  94. }
  95. }
  96. //筛选查询直播消费记录
  97. @Log("查询直播消费记录")
  98. @PostMapping("/selectLiveBy")
  99. public Result selectLiveBy(@RequestBody Page page, @RequestHeader(defaultValue = "zh_CN") String lang){
  100. try {
  101. // 解析语言代码
  102. String languageCode = parseLanguageCode(lang);
  103. // 如果不是中文环境,将查询条件中的翻译文本转换为中文简体
  104. if (!"zh".equalsIgnoreCase(languageCode) && !"zh_cn".equalsIgnoreCase(languageCode)) {
  105. convertTranslatedLiveFieldsToChinese(page.getBeanConsumeLive(), languageCode);
  106. }
  107. if (ObjectUtils.isEmpty(page.getPageNum())) {
  108. String errorMsg = languageTranslationUtil.translate("页码数为空!", lang);
  109. return Result.error(errorMsg);
  110. }
  111. if (ObjectUtils.isEmpty(page.getPageSize())) {
  112. String errorMsg = languageTranslationUtil.translate("页大小为空!", lang);
  113. return Result.error(errorMsg);
  114. } else {
  115. Result result = Result.success(beanConsumeService.selectLiveBy(page.getPageNum(), page.getPageSize(), page.getBeanConsumeLive()));
  116. // 对返回结果进行多语言转换
  117. if (result.getCode() == 200 && result.getData() instanceof com.github.pagehelper.PageInfo) {
  118. com.github.pagehelper.PageInfo<?> pageInfo = (com.github.pagehelper.PageInfo<?>) result.getData();
  119. translateBeanConsumeLives(pageInfo, lang);
  120. }
  121. return result;
  122. }
  123. } catch (Exception e) {
  124. e.printStackTrace();
  125. String errorMsg = languageTranslationUtil.translate("查询直播消费记录失败", lang);
  126. return Result.error(errorMsg);
  127. }
  128. }
  129. //筛选查询铁粉消费记录
  130. @Log("查询铁粉消费记录")
  131. @PostMapping("/selectFanBy")
  132. public Result selectFanBy(@RequestBody Page page, @RequestHeader(defaultValue = "zh_CN") String lang){
  133. try {
  134. // 解析语言代码
  135. String languageCode = parseLanguageCode(lang);
  136. // 如果不是中文环境,将查询条件中的翻译文本转换为中文简体
  137. if (!"zh".equalsIgnoreCase(languageCode) && !"zh_cn".equalsIgnoreCase(languageCode)) {
  138. convertTranslatedFanFieldsToChinese(page.getBeanConsumeFan(), languageCode);
  139. }
  140. if (ObjectUtils.isEmpty(page.getPageNum())) {
  141. String errorMsg = languageTranslationUtil.translate("页码数为空!", lang);
  142. return Result.error(errorMsg);
  143. }
  144. if (ObjectUtils.isEmpty(page.getPageSize())) {
  145. String errorMsg = languageTranslationUtil.translate("页大小为空!", lang);
  146. return Result.error(errorMsg);
  147. } else {
  148. Result result = Result.success(beanConsumeService.selectFanBy(page.getPageNum(), page.getPageSize(), page.getBeanConsumeFan()));
  149. // 对返回结果进行多语言转换
  150. if (result.getCode() == 200 && result.getData() instanceof com.github.pagehelper.PageInfo) {
  151. com.github.pagehelper.PageInfo<?> pageInfo = (com.github.pagehelper.PageInfo<?>) result.getData();
  152. translateBeanConsumeFans(pageInfo, lang);
  153. }
  154. return result;
  155. }
  156. } catch (Exception e) {
  157. e.printStackTrace();
  158. String errorMsg = languageTranslationUtil.translate("查询铁粉消费记录失败", lang);
  159. return Result.error(errorMsg);
  160. }
  161. }
  162. //筛选查询文章消费记录
  163. @Log("查询文章消费记录")
  164. @PostMapping("/selectArticleBy")
  165. public Result selectArticleBy(@RequestBody Page page, @RequestHeader(defaultValue = "zh_CN") String lang){
  166. try {
  167. // 解析语言代码
  168. String languageCode = parseLanguageCode(lang);
  169. // 如果不是中文环境,将查询条件中的翻译文本转换为中文简体
  170. if (!"zh".equalsIgnoreCase(languageCode) && !"zh_cn".equalsIgnoreCase(languageCode)) {
  171. convertTranslatedArticleFieldsToChinese(page.getBeanConsumeArticle(), languageCode);
  172. }
  173. if (ObjectUtils.isEmpty(page.getPageNum())) {
  174. String errorMsg = languageTranslationUtil.translate("页码数为空!", lang);
  175. return Result.error(errorMsg);
  176. }
  177. if (ObjectUtils.isEmpty(page.getPageSize())) {
  178. String errorMsg = languageTranslationUtil.translate("页大小为空!", lang);
  179. return Result.error(errorMsg);
  180. } else {
  181. Result result = Result.success(beanConsumeService.selectArticleBy(page.getPageNum(), page.getPageSize(), page.getBeanConsumeArticle()));
  182. // 对返回结果进行多语言转换
  183. if (result.getCode() == 200 && result.getData() instanceof com.github.pagehelper.PageInfo) {
  184. com.github.pagehelper.PageInfo<?> pageInfo = (com.github.pagehelper.PageInfo<?>) result.getData();
  185. translateBeanConsumeArticles(pageInfo, lang);
  186. }
  187. return result;
  188. }
  189. } catch (Exception e) {
  190. e.printStackTrace();
  191. String errorMsg = languageTranslationUtil.translate("查询文章消费记录失败", lang);
  192. return Result.error(errorMsg);
  193. }
  194. }
  195. //筛选查询小黄车消费记录
  196. @Log("查询小黄车消费记录")
  197. @PostMapping("/selectCartBy")
  198. public Result selectCartBy(@RequestBody Page page, @RequestHeader(defaultValue = "zh_CN") String lang){
  199. try {
  200. // 解析语言代码
  201. String languageCode = parseLanguageCode(lang);
  202. // 如果不是中文环境,将查询条件中的翻译文本转换为中文简体
  203. if (!"zh".equalsIgnoreCase(languageCode) && !"zh_cn".equalsIgnoreCase(languageCode)) {
  204. convertTranslatedCartFieldsToChinese(page.getBeanConsumeCartDTO(), languageCode);
  205. }
  206. if (ObjectUtils.isEmpty(page.getPageNum())) {
  207. String errorMsg = languageTranslationUtil.translate("页码数为空!", lang);
  208. return Result.error(errorMsg);
  209. }
  210. if (ObjectUtils.isEmpty(page.getPageSize())) {
  211. String errorMsg = languageTranslationUtil.translate("页大小为空!", lang);
  212. return Result.error(errorMsg);
  213. } else {
  214. Result result = Result.success(beanConsumeService.selectCartBy(page.getPageNum(), page.getPageSize(), page.getBeanConsumeCartDTO()));
  215. // 对返回结果进行多语言转换
  216. if (result.getCode() == 200 && result.getData() instanceof com.github.pagehelper.PageInfo) {
  217. com.github.pagehelper.PageInfo<?> pageInfo = (com.github.pagehelper.PageInfo<?>) result.getData();
  218. translateBeanConsumeCarts(pageInfo, lang);
  219. }
  220. return result;
  221. }
  222. } catch (Exception e) {
  223. e.printStackTrace();
  224. String errorMsg = languageTranslationUtil.translate("查询小黄车消费记录失败", lang);
  225. return Result.error(errorMsg);
  226. }
  227. }
  228. //消费合计数
  229. @PostMapping("sumConsumeGold")
  230. public BeanConsumeGold sumConsumeGold(@RequestBody Page page, @RequestHeader(defaultValue = "zh_CN") String lang) {
  231. try {
  232. // 解析语言代码
  233. String languageCode = parseLanguageCode(lang);
  234. // 如果不是中文环境,将查询条件中的翻译文本转换为中文简体
  235. if (!"zh".equalsIgnoreCase(languageCode) && !"zh_cn".equalsIgnoreCase(languageCode)) {
  236. convertTranslatedSumFieldsToChinese(page, languageCode);
  237. }
  238. return beanConsumeService.sumConsumeGold(page);
  239. } catch (Exception e) {
  240. String errorMsg = languageTranslationUtil.translate("计算消费合计数失败", lang);
  241. throw new RuntimeException(errorMsg, e);
  242. }
  243. }
  244. //查询所有直播礼物
  245. @PostMapping("/getLiveGift")
  246. public Result getLiveGift(@RequestHeader(defaultValue = "zh_CN") String lang){
  247. try {
  248. List<String> giftList = beanConsumeService.getLiveGift();
  249. // 解析语言代码
  250. String languageCode = parseLanguageCode(lang);
  251. // 如果不是中文环境,先将翻译后的礼物名称转换为中文简体进行处理
  252. if (!"zh".equalsIgnoreCase(languageCode) && !"zh_cn".equalsIgnoreCase(languageCode)) {
  253. convertTranslatedGiftNamesToChinese(giftList, languageCode);
  254. }
  255. // 对礼物名称进行多语言转换
  256. translateGiftNames(giftList, lang);
  257. return Result.success(giftList);
  258. } catch (Exception e) {
  259. String errorMsg = languageTranslationUtil.translate("获取直播礼物失败", lang);
  260. return Result.error(errorMsg);
  261. }
  262. }
  263. //查询所有直播频道
  264. @PostMapping("/getLiveChannel")
  265. public Result getLiveChannel(@RequestHeader(defaultValue = "zh_CN") String lang){
  266. try {
  267. List<String> channelList = beanConsumeService.getLiveChannel();
  268. // 解析语言代码
  269. String languageCode = parseLanguageCode(lang);
  270. // 如果不是中文环境,先将翻译后的频道名称转换为中文简体进行处理
  271. if (!"zh".equalsIgnoreCase(languageCode) && !"zh_cn".equalsIgnoreCase(languageCode)) {
  272. convertTranslatedChannelNamesToChinese(channelList, languageCode);
  273. }
  274. // 对频道名称进行多语言转换
  275. translateChannelNames(channelList, lang);
  276. return Result.success(channelList);
  277. } catch (Exception e) {
  278. String errorMsg = languageTranslationUtil.translate("获取直播频道失败", lang);
  279. return Result.error(errorMsg);
  280. }
  281. }
  282. /**
  283. * 将是否为背包礼物数字转换为中文描述
  284. */
  285. private String convertIsBackpackGiftToString(Integer isBackpackGift) {
  286. if (isBackpackGift == null) return "";
  287. switch (isBackpackGift) {
  288. case 0: return "否";
  289. case 1: return "是";
  290. default: return "未知";
  291. }
  292. }
  293. /**
  294. * 将文章消费明细类型数字转换为中文描述
  295. */
  296. private String convertTypeToString(Integer type) {
  297. if (type == null) return "";
  298. switch (type) {
  299. case 9, 10: return "打赏";
  300. case 11: return "付费";
  301. default: return "未知";
  302. }
  303. }
  304. /**
  305. * 转换直播消费记录的多语言字段
  306. */
  307. private void translateBeanConsumeLives(com.github.pagehelper.PageInfo<?> pageInfo, String lang) {
  308. if (pageInfo != null && pageInfo.getList() != null) {
  309. for (Object obj : pageInfo.getList()) {
  310. if (obj instanceof com.example.demo.domain.vo.bean.BeanConsumeLive) {
  311. com.example.demo.domain.vo.bean.BeanConsumeLive live = (com.example.demo.domain.vo.bean.BeanConsumeLive) obj;
  312. // 翻译分部名称
  313. if (live.getDept() != null) {
  314. live.setDept(languageTranslationUtil.translate(live.getDept(), lang));
  315. }
  316. // 翻译礼物名称
  317. if (live.getGift() != null) {
  318. live.setGift(languageTranslationUtil.translate(live.getGift(), lang));
  319. }
  320. // 翻译直播频道
  321. if (live.getLiveChannel() != null) {
  322. live.setLiveChannel(languageTranslationUtil.translate(live.getLiveChannel(), lang));
  323. }
  324. // 翻译直播名称
  325. if (live.getLiveName() != null) {
  326. live.setLiveName(languageTranslationUtil.translate(live.getLiveName(), lang));
  327. }
  328. // 翻译是否为背包礼物
  329. if (live.getIsBackpack() != null) {
  330. String isBackpackGiftDesc = convertIsBackpackGiftToString(live.getIsBackpack());
  331. live.setIsBackpackDesc(languageTranslationUtil.translate(isBackpackGiftDesc, lang));
  332. }
  333. }
  334. }
  335. }
  336. }
  337. /**
  338. * 转换铁粉消费记录的多语言字段
  339. */
  340. private void translateBeanConsumeFans(com.github.pagehelper.PageInfo<?> pageInfo, String lang) {
  341. if (pageInfo != null && pageInfo.getList() != null) {
  342. for (Object obj : pageInfo.getList()) {
  343. if (obj instanceof com.example.demo.domain.vo.bean.BeanConsumeFan) {
  344. com.example.demo.domain.vo.bean.BeanConsumeFan fan = (com.example.demo.domain.vo.bean.BeanConsumeFan) obj;
  345. // 翻译分部名称
  346. if (fan.getDept() != null) {
  347. fan.setDept(languageTranslationUtil.translate(fan.getDept(), lang));
  348. }
  349. // 翻译频道名称
  350. if (fan.getChannel() != null) {
  351. fan.setChannel(languageTranslationUtil.translate(fan.getChannel(), lang));
  352. }
  353. }
  354. }
  355. }
  356. }
  357. /**
  358. * 转换文章消费记录的多语言字段
  359. */
  360. private void translateBeanConsumeArticles(com.github.pagehelper.PageInfo<?> pageInfo, String lang) {
  361. if (pageInfo != null && pageInfo.getList() != null) {
  362. for (Object obj : pageInfo.getList()) {
  363. if (obj instanceof com.example.demo.domain.vo.bean.BeanConsumeArticle) {
  364. com.example.demo.domain.vo.bean.BeanConsumeArticle article = (com.example.demo.domain.vo.bean.BeanConsumeArticle) obj;
  365. // 翻译分部名称
  366. if (article.getDept() != null) {
  367. article.setDept(languageTranslationUtil.translate(article.getDept(), lang));
  368. }
  369. // 翻译文章名称
  370. if (article.getArticleName() != null) {
  371. article.setArticleName(languageTranslationUtil.translate(article.getArticleName(), lang));
  372. }
  373. // 翻译类型
  374. if (article.getType() != null) {
  375. String typeDesc = convertTypeToString(article.getType());
  376. article.setTypeDesc(languageTranslationUtil.translate(typeDesc, lang));
  377. }
  378. }
  379. }
  380. }
  381. }
  382. /**
  383. * 转换小黄车消费记录的多语言字段
  384. */
  385. private void translateBeanConsumeCarts(com.github.pagehelper.PageInfo<?> pageInfo, String lang) {
  386. if (pageInfo != null && pageInfo.getList() != null) {
  387. for (Object obj : pageInfo.getList()) {
  388. if (obj instanceof com.example.demo.domain.vo.bean.BeanConsumeCartVo) {
  389. com.example.demo.domain.vo.bean.BeanConsumeCartVo cart = (com.example.demo.domain.vo.bean.BeanConsumeCartVo) obj;
  390. // 翻译分部名称
  391. if (cart.getMarket() != null) {
  392. cart.setMarket(languageTranslationUtil.translate(cart.getMarket(), lang));
  393. }
  394. // 翻译产品名称
  395. if (cart.getProductName() != null) {
  396. cart.setProductName(languageTranslationUtil.translate(cart.getProductName(), lang));
  397. }
  398. }
  399. }
  400. }
  401. }
  402. /**
  403. * 转换分部名称为指定语言
  404. */
  405. private void translateDeptNames(List<String> deptNames, String lang) {
  406. if (deptNames != null && !deptNames.isEmpty()) {
  407. for (int i = 0; i < deptNames.size(); i++) {
  408. String translatedName = languageTranslationUtil.translate(deptNames.get(i), lang);
  409. deptNames.set(i, translatedName);
  410. }
  411. }
  412. }
  413. /**
  414. * 转换直播分部名称为指定语言
  415. */
  416. private void translateLiveDeptNames(List<String> deptNames, String lang) {
  417. if (deptNames != null && !deptNames.isEmpty()) {
  418. for (int i = 0; i < deptNames.size(); i++) {
  419. String translatedName = languageTranslationUtil.translate(deptNames.get(i), lang);
  420. deptNames.set(i, translatedName);
  421. }
  422. }
  423. }
  424. /**
  425. * 转换礼物名称为指定语言
  426. */
  427. private void translateGiftNames(List<String> giftNames, String lang) {
  428. if (giftNames != null && !giftNames.isEmpty()) {
  429. for (int i = 0; i < giftNames.size(); i++) {
  430. String translatedName = languageTranslationUtil.translate(giftNames.get(i), lang);
  431. giftNames.set(i, translatedName);
  432. }
  433. }
  434. }
  435. /**
  436. * 转换频道名称为指定语言
  437. */
  438. private void translateChannelNames(List<String> channelNames, String lang) {
  439. if (channelNames != null && !channelNames.isEmpty()) {
  440. for (int i = 0; i < channelNames.size(); i++) {
  441. String translatedName = languageTranslationUtil.translate(channelNames.get(i), lang);
  442. channelNames.set(i, translatedName);
  443. }
  444. }
  445. }
  446. /**
  447. * 解析语言代码
  448. */
  449. private String parseLanguageCode(String langHeader) {
  450. if (langHeader == null || langHeader.isEmpty()) {
  451. return "zh";
  452. }
  453. // 处理类似 "en-US" 或 "zh-TW" 的情况
  454. if (langHeader.contains("-")) {
  455. String[] parts = langHeader.split("-");
  456. // 特殊处理中文繁体
  457. if ("zh".equalsIgnoreCase(parts[0]) && "TW".equalsIgnoreCase(parts[1])) {
  458. return "zh_TW";
  459. }
  460. return parts[0].toLowerCase();
  461. }
  462. return langHeader.toLowerCase();
  463. }
  464. /**
  465. * 将消费查询条件中的翻译字段转换为中文简体
  466. */
  467. private void convertTranslatedConsumeFieldsToChinese(BeanConsume consume, String languageCode) {
  468. if (consume != null) {
  469. // 转换备注信息
  470. if (consume.getRemark() != null && !consume.getRemark().isEmpty()) {
  471. String chineseRemark = translationService.findChineseSimplifiedByTranslation(
  472. consume.getRemark(), languageCode);
  473. consume.setRemark(chineseRemark);
  474. }
  475. }
  476. }
  477. /**
  478. * 将直播消费查询条件中的翻译字段转换为中文简体
  479. */
  480. private void convertTranslatedLiveFieldsToChinese(com.example.demo.domain.vo.bean.BeanConsumeLive beanConsumeLive, String languageCode) {
  481. if (beanConsumeLive != null) {
  482. // 转换分部名称
  483. if (beanConsumeLive.getDept() != null && !beanConsumeLive.getDept().isEmpty()) {
  484. String chineseDept = translationService.findChineseSimplifiedByTranslation(
  485. beanConsumeLive.getDept(), languageCode);
  486. beanConsumeLive.setDept(chineseDept);
  487. }
  488. // 转换礼物名称
  489. if (beanConsumeLive.getGift() != null && !beanConsumeLive.getGift().isEmpty()) {
  490. String chineseGift = translationService.findChineseSimplifiedByTranslation(
  491. beanConsumeLive.getGift(), languageCode);
  492. beanConsumeLive.setGift(chineseGift);
  493. }
  494. // 转换直播频道
  495. if (beanConsumeLive.getLiveChannel() != null && !beanConsumeLive.getLiveChannel().isEmpty()) {
  496. String chineseChannel = translationService.findChineseSimplifiedByTranslation(
  497. beanConsumeLive.getLiveChannel(), languageCode);
  498. beanConsumeLive.setLiveChannel(chineseChannel);
  499. }
  500. // 转换直播名称
  501. if (beanConsumeLive.getLiveName() != null && !beanConsumeLive.getLiveName().isEmpty()) {
  502. String chineseName = translationService.findChineseSimplifiedByTranslation(
  503. beanConsumeLive.getLiveName(), languageCode);
  504. beanConsumeLive.setLiveName(chineseName);
  505. }
  506. }
  507. }
  508. /**
  509. * 将铁粉消费查询条件中的翻译字段转换为中文简体
  510. */
  511. private void convertTranslatedFanFieldsToChinese(com.example.demo.domain.vo.bean.BeanConsumeFan beanConsumeFan, String languageCode) {
  512. if (beanConsumeFan != null) {
  513. // 转换分部名称
  514. if (beanConsumeFan.getDept() != null && !beanConsumeFan.getDept().isEmpty()) {
  515. String chineseDept = translationService.findChineseSimplifiedByTranslation(
  516. beanConsumeFan.getDept(), languageCode);
  517. beanConsumeFan.setDept(chineseDept);
  518. }
  519. // 转换频道名称
  520. if (beanConsumeFan.getChannel() != null && !beanConsumeFan.getChannel().isEmpty()) {
  521. String chineseChannel = translationService.findChineseSimplifiedByTranslation(
  522. beanConsumeFan.getChannel(), languageCode);
  523. beanConsumeFan.setChannel(chineseChannel);
  524. }
  525. }
  526. }
  527. /**
  528. * 将文章消费查询条件中的翻译字段转换为中文简体
  529. */
  530. private void convertTranslatedArticleFieldsToChinese(com.example.demo.domain.vo.bean.BeanConsumeArticle beanConsumeArticle, String languageCode) {
  531. if (beanConsumeArticle != null) {
  532. // 转换分部名称
  533. if (beanConsumeArticle.getDept() != null && !beanConsumeArticle.getDept().isEmpty()) {
  534. String chineseDept = translationService.findChineseSimplifiedByTranslation(
  535. beanConsumeArticle.getDept(), languageCode);
  536. beanConsumeArticle.setDept(chineseDept);
  537. }
  538. // 转换文章名称
  539. if (beanConsumeArticle.getArticleName() != null && !beanConsumeArticle.getArticleName().isEmpty()) {
  540. String chineseName = translationService.findChineseSimplifiedByTranslation(
  541. beanConsumeArticle.getArticleName(), languageCode);
  542. beanConsumeArticle.setArticleName(chineseName);
  543. }
  544. }
  545. }
  546. /**
  547. * 将小黄车消费查询条件中的翻译字段转换为中文简体
  548. */
  549. private void convertTranslatedCartFieldsToChinese(com.example.demo.domain.DTO.BeanConsumeCartDTO beanConsumeCartDTO, String languageCode) {
  550. if (beanConsumeCartDTO != null) {
  551. // 转换产品名称
  552. if (beanConsumeCartDTO.getProductName() != null && !beanConsumeCartDTO.getProductName().isEmpty()) {
  553. String chineseName = translationService.findChineseSimplifiedByTranslation(
  554. beanConsumeCartDTO.getProductName(), languageCode);
  555. beanConsumeCartDTO.setProductName(chineseName);
  556. }
  557. // 转换直播名称
  558. if (beanConsumeCartDTO.getLiveName() != null && !beanConsumeCartDTO.getLiveName().isEmpty()) {
  559. String chineseName = translationService.findChineseSimplifiedByTranslation(
  560. beanConsumeCartDTO.getLiveName(), languageCode);
  561. beanConsumeCartDTO.setLiveName(chineseName);
  562. }
  563. // 转换来源名称
  564. if (beanConsumeCartDTO.getSourceName() != null && !beanConsumeCartDTO.getSourceName().isEmpty()) {
  565. String chineseName = translationService.findChineseSimplifiedByTranslation(
  566. beanConsumeCartDTO.getSourceName(), languageCode);
  567. beanConsumeCartDTO.setSourceName(chineseName);
  568. }
  569. }
  570. }
  571. /**
  572. * 将分部名称转换为中文简体
  573. */
  574. private void convertTranslatedDeptNamesToChinese(List<String> deptNames, String languageCode) {
  575. if (deptNames != null && !deptNames.isEmpty()) {
  576. for (int i = 0; i < deptNames.size(); i++) {
  577. String chineseName = translationService.findChineseSimplifiedByTranslation(
  578. deptNames.get(i), languageCode);
  579. deptNames.set(i, chineseName);
  580. }
  581. }
  582. }
  583. /**
  584. * 将直播分部名称转换为中文简体
  585. */
  586. private void convertTranslatedLiveDeptNamesToChinese(List<String> deptNames, String languageCode) {
  587. if (deptNames != null && !deptNames.isEmpty()) {
  588. for (int i = 0; i < deptNames.size(); i++) {
  589. String chineseName = translationService.findChineseSimplifiedByTranslation(
  590. deptNames.get(i), languageCode);
  591. deptNames.set(i, chineseName);
  592. }
  593. }
  594. }
  595. /**
  596. * 将礼物名称转换为中文简体
  597. */
  598. private void convertTranslatedGiftNamesToChinese(List<String> giftNames, String languageCode) {
  599. if (giftNames != null && !giftNames.isEmpty()) {
  600. for (int i = 0; i < giftNames.size(); i++) {
  601. String chineseName = translationService.findChineseSimplifiedByTranslation(
  602. giftNames.get(i), languageCode);
  603. giftNames.set(i, chineseName);
  604. }
  605. }
  606. }
  607. /**
  608. * 将频道名称转换为中文简体
  609. */
  610. private void convertTranslatedChannelNamesToChinese(List<String> channelNames, String languageCode) {
  611. if (channelNames != null && !channelNames.isEmpty()) {
  612. for (int i = 0; i < channelNames.size(); i++) {
  613. String chineseName = translationService.findChineseSimplifiedByTranslation(
  614. channelNames.get(i), languageCode);
  615. channelNames.set(i, chineseName);
  616. }
  617. }
  618. }
  619. /**
  620. * 将合计数查询条件中的翻译字段转换为中文简体
  621. */
  622. private void convertTranslatedSumFieldsToChinese(Page page, String languageCode) {
  623. if (page != null) {
  624. // 转换直播消费条件
  625. if (page.getBeanConsumeLive() != null) {
  626. convertTranslatedLiveFieldsToChinese(page.getBeanConsumeLive(), languageCode);
  627. }
  628. // 转换铁粉消费条件
  629. if (page.getBeanConsumeFan() != null) {
  630. convertTranslatedFanFieldsToChinese(page.getBeanConsumeFan(), languageCode);
  631. }
  632. // 转换文章消费条件
  633. if (page.getBeanConsumeArticle() != null) {
  634. convertTranslatedArticleFieldsToChinese(page.getBeanConsumeArticle(), languageCode);
  635. }
  636. }
  637. }
  638. }