From 0effaf66914bae4a688e131546bef882f87e4786 Mon Sep 17 00:00:00 2001 From: wangguorui <2069821375@qq.com> Date: Fri, 6 Mar 2026 14:26:51 +0800 Subject: [PATCH] =?UTF-8?q?20260306=E5=85=85=E5=80=BC=E9=92=B1=E5=8C=85?= =?UTF-8?q?=E6=98=8E=E7=BB=86=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/cash/CashCollectionController.java | 84 ++++++++++++++++++++-- .../demo/domain/vo/cash/UserWalletRecordVO.java | 36 ++++++++++ .../java/com/example/demo/domain/vo/coin/Page.java | 3 +- .../demo/mapper/cash/CashCollectionMapper.java | 6 ++ .../demo/service/cash/CashCollectionService.java | 4 ++ .../cash/CashCollectionServiceImpl.java | 10 ++- .../resources/cashMapper/CashCollectionMapper.xml | 27 +++++++ 7 files changed, 164 insertions(+), 6 deletions(-) create mode 100644 src/main/java/com/example/demo/domain/vo/cash/UserWalletRecordVO.java diff --git a/src/main/java/com/example/demo/controller/cash/CashCollectionController.java b/src/main/java/com/example/demo/controller/cash/CashCollectionController.java index 95bab04..d86c361 100644 --- a/src/main/java/com/example/demo/controller/cash/CashCollectionController.java +++ b/src/main/java/com/example/demo/controller/cash/CashCollectionController.java @@ -3,12 +3,10 @@ package com.example.demo.controller.cash; import com.example.demo.Util.JWTUtil; import com.example.demo.Util.LanguageTranslationUtil; import com.example.demo.domain.DTO.PerformanceDTO; -import com.example.demo.domain.entity.Admin; -import com.example.demo.domain.entity.CashRecord; -import com.example.demo.domain.entity.RechargeActivity; -import com.example.demo.domain.entity.User; +import com.example.demo.domain.entity.*; import com.example.demo.domain.vo.cash.CashCollection; import com.example.demo.domain.vo.cash.PerformanceVO; +import com.example.demo.domain.vo.cash.UserWalletRecordVO; import com.example.demo.domain.vo.coin.Page; import com.example.demo.domain.vo.coin.Result; import com.example.demo.service.cash.CashCollectionService; @@ -322,6 +320,44 @@ public class CashCollectionController { } } + // 根据精网号和钱包 ID 查询用户钱包明细列表 + @PostMapping("/selectWalletRecords") + public Result selectWalletRecords(@RequestBody Page page, @RequestHeader(defaultValue = "zh_CN") String lang) { + try { + if (ObjectUtils.isEmpty(page.getPageNum())) { + String errorMsg = languageTranslationUtil.translate("页码数为空!", lang); + return Result.error(errorMsg); + } + if (ObjectUtils.isEmpty(page.getPageSize())) { + String errorMsg = languageTranslationUtil.translate("页大小为空!", lang); + return Result.error(errorMsg); + } + + // 校验精网号是否为空 + if (page.getUserWalletRecord() == null || page.getUserWalletRecord().getJwcode() == null) { + String errorMsg = languageTranslationUtil.translate("精网号不能为空", lang); + return Result.error(errorMsg); + } + + Result result = Result.success(cashCollectionService.selectWalletRecordsByJwcodeAndWalletId( + page.getPageNum(), + page.getPageSize(), + page.getUserWalletRecord().getJwcode(), + page.getUserWalletRecord().getWalletId() + )); + + // 对返回结果进行多语言转换 + if (result.getCode() == 200 && result.getData() instanceof PageInfo) { + PageInfo pageInfo = (PageInfo) result.getData(); + translateWalletRecordVOs(pageInfo, lang); + } + + return result; + } catch (Exception e) { + String errorMsg = languageTranslationUtil.translate("查询失败", lang); + return Result.error(errorMsg + ": " + e.getMessage()); + } + } /** * 转换现金收款订单的多语言字段 @@ -577,4 +613,44 @@ public class CashCollectionController { } } + /** + * 转换用户钱包明细 VO 列表的多语言字段 + */ + private void translateWalletRecordVOs(PageInfo pageInfo, String lang) { + if (pageInfo != null && pageInfo.getList() != null) { + for (UserWalletRecordVO vo : pageInfo.getList()) { + translateWalletRecordVO(vo, lang); + } + } + } + + /** + * 转换用户钱包明细 VO 的多语言字段 + */ + private void translateWalletRecordVO(UserWalletRecordVO vo, String lang) { + if (vo != null) { + // 翻译地区名称 + if (vo.getMarketName() != null) { + vo.setMarketName(languageTranslationUtil.translate(vo.getMarketName(), lang)); + } + // 翻译钱包名称 + if (vo.getWalletName() != null) { + vo.setWalletName(languageTranslationUtil.translate(vo.getWalletName(), lang)); + } + // 翻译交易说明 + if (vo.getDescription() != null) { + vo.setDescription(languageTranslationUtil.translate(vo.getDescription(), lang)); + } + // 翻译交易类型 + if (vo.getType() != null) { + String typeText = vo.getType() == 0 ? "充值" : (vo.getType() == 1 ? "消耗" : "退款"); + vo.setTypeText(languageTranslationUtil.translate(typeText, lang)); + } + // 翻译状态 + if (vo.getStatus() != null) { + String statusText = vo.getStatus() == 0 ? "正常" : "已退款"; + vo.setStatusText(languageTranslationUtil.translate(statusText, lang)); + } + } + } } diff --git a/src/main/java/com/example/demo/domain/vo/cash/UserWalletRecordVO.java b/src/main/java/com/example/demo/domain/vo/cash/UserWalletRecordVO.java new file mode 100644 index 0000000..b8dc8d1 --- /dev/null +++ b/src/main/java/com/example/demo/domain/vo/cash/UserWalletRecordVO.java @@ -0,0 +1,36 @@ +package com.example.demo.domain.vo.cash; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.Date; + +/** + * @program: gold-java + * @ClassName UserWalletRecordVO + * @description: 用户钱包明细 VO(包含用户信息) + * @author: Ethan + * @create: 2026-03-05 + * @Version 1.0 + **/ +@Data +@NoArgsConstructor +@AllArgsConstructor +public class UserWalletRecordVO { + private Integer id; // 明细 ID + private Integer jwcode; // 精网号 + private String userName; // 用户名 + private String market; // 地区 ID + private String marketName; // 地区名称 + private Integer walletId; // 钱包 ID + private String walletName; // 钱包名称 + private Integer type; // 交易类型(0=充值,1=消耗,2=退款) + private Integer amount; // 交易金额 + private String orderCode; // 交易单号 + private String description; // 交易说明 + private Integer status; // 状态(0=正常,1=已退款) + private Date createTime; // 创建时间 + private String typeText; // 交易类型文本(多语言) + private String statusText; // 状态文本(多语言) +} diff --git a/src/main/java/com/example/demo/domain/vo/coin/Page.java b/src/main/java/com/example/demo/domain/vo/coin/Page.java index b320ee6..117dfd3 100644 --- a/src/main/java/com/example/demo/domain/vo/coin/Page.java +++ b/src/main/java/com/example/demo/domain/vo/coin/Page.java @@ -3,6 +3,7 @@ package com.example.demo.domain.vo.coin; import com.example.demo.domain.DTO.BeanConsumeCartDTO; import com.example.demo.domain.DTO.PerformanceDTO; import com.example.demo.domain.entity.User; +import com.example.demo.domain.entity.UserWalletRecord; import com.example.demo.domain.vo.bean.*; import com.example.demo.domain.vo.cash.CashCollection; import com.example.demo.domain.vo.cash.CashRecordDTO; @@ -56,5 +57,5 @@ public class Page { private PerformanceDTO performanceDTO;//业绩归属 private FundsDTO fundsDTO;//现金收款 private PerformanceVO performanceVO;//业绩归属 - + private UserWalletRecord userWalletRecord; //用户钱包明细查询条件 } diff --git a/src/main/java/com/example/demo/mapper/cash/CashCollectionMapper.java b/src/main/java/com/example/demo/mapper/cash/CashCollectionMapper.java index b27d832..a826ee9 100644 --- a/src/main/java/com/example/demo/mapper/cash/CashCollectionMapper.java +++ b/src/main/java/com/example/demo/mapper/cash/CashCollectionMapper.java @@ -5,6 +5,7 @@ import com.example.demo.domain.DTO.*; import com.example.demo.domain.entity.*; import com.example.demo.domain.vo.cash.CashCollection; import com.example.demo.domain.vo.cash.PerformanceVO; +import com.example.demo.domain.vo.cash.UserWalletRecordVO; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -110,4 +111,9 @@ public interface CashCollectionMapper { // 插入用户钱包明细记录 void insertUserWalletRecord(UserWalletRecord userWalletRecord); + + // 根据精网号和钱包 ID 查询用户钱包明细列表 + List selectWalletRecordsByJwcodeAndWalletId( + @Param("jwcode") Integer jwcode, + @Param("walletId") Integer walletId); } diff --git a/src/main/java/com/example/demo/service/cash/CashCollectionService.java b/src/main/java/com/example/demo/service/cash/CashCollectionService.java index cce5238..2537e0e 100644 --- a/src/main/java/com/example/demo/service/cash/CashCollectionService.java +++ b/src/main/java/com/example/demo/service/cash/CashCollectionService.java @@ -6,6 +6,7 @@ import com.example.demo.domain.entity.GOrder; import com.example.demo.domain.entity.RechargeActivity; import com.example.demo.domain.vo.cash.CashCollection; import com.example.demo.domain.vo.cash.PerformanceVO; +import com.example.demo.domain.vo.cash.UserWalletRecordVO; import com.example.demo.domain.vo.coin.Result; import com.github.pagehelper.PageInfo; @@ -48,4 +49,7 @@ public interface CashCollectionService { PageInfo performanceSelect(Integer pageNum, Integer pageSize, PerformanceDTO performanceDTO); + // 根据精网号和钱包 ID 查询用户钱包明细列表(分页) + PageInfo selectWalletRecordsByJwcodeAndWalletId( + Integer pageNum, Integer pageSize, Integer jwcode, Integer walletId); } diff --git a/src/main/java/com/example/demo/serviceImpl/cash/CashCollectionServiceImpl.java b/src/main/java/com/example/demo/serviceImpl/cash/CashCollectionServiceImpl.java index 31c0574..15dea5e 100644 --- a/src/main/java/com/example/demo/serviceImpl/cash/CashCollectionServiceImpl.java +++ b/src/main/java/com/example/demo/serviceImpl/cash/CashCollectionServiceImpl.java @@ -8,6 +8,7 @@ import com.example.demo.domain.entity.*; import com.example.demo.domain.vo.cash.CashCollection; import com.example.demo.domain.vo.cash.CashCollectionMessage; import com.example.demo.domain.vo.cash.PerformanceVO; +import com.example.demo.domain.vo.cash.UserWalletRecordVO; import com.example.demo.domain.vo.coin.GoldUser; import com.example.demo.domain.vo.coin.Messages; import com.example.demo.domain.vo.coin.Result; @@ -601,5 +602,12 @@ public class CashCollectionServiceImpl implements CashCollectionService { return new PageInfo<>(performanceVOs); } - + // 根据精网号和钱包 ID 查询用户钱包明细列表(分页) + @Override + public PageInfo selectWalletRecordsByJwcodeAndWalletId( + Integer pageNum, Integer pageSize, Integer jwcode, Integer walletId) { + PageHelper.startPage(pageNum, pageSize); + List records = cashCollectionMapper.selectWalletRecordsByJwcodeAndWalletId(jwcode, walletId); + return new PageInfo<>(records); + } } diff --git a/src/main/resources/cashMapper/CashCollectionMapper.xml b/src/main/resources/cashMapper/CashCollectionMapper.xml index 51e9800..360189a 100644 --- a/src/main/resources/cashMapper/CashCollectionMapper.xml +++ b/src/main/resources/cashMapper/CashCollectionMapper.xml @@ -420,6 +420,33 @@ VALUES (#{jwcode}, #{walletId}, #{type}, #{amount}, #{orderCode}, #{description}, #{status}, NOW()) + + + update cash_record_collection