Ver código fonte

✨ PAY:增加充值日志分页

YunaiV 1 ano atrás
pai
commit
09724adb8d
17 arquivos alterados com 199 adições e 23 exclusões
  1. 4 0
      yudao-module-pay/yudao-module-pay-biz/pom.xml
  2. 3 3
      yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/wallet/PayWalletRechargePackageController.java
  3. 32 5
      yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/app/wallet/AppPayWalletRechargeController.java
  4. 13 6
      yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/app/wallet/AppPayWalletRechargePackageController.java
  5. 1 0
      yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/app/wallet/vo/recharge/AppPayWalletRechargeCreateReqVO.java
  6. 42 0
      yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/app/wallet/vo/recharge/AppPayWalletRechargeRespVO.java
  7. 25 0
      yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/convert/wallet/PayWalletRechargeConvert.java
  8. 2 2
      yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/convert/wallet/PayWalletRechargePackageConvert.java
  9. 9 0
      yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/dal/mysql/wallet/PayWalletRechargeMapper.java
  10. 7 2
      yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/dal/mysql/wallet/PayWalletRechargePackageMapper.java
  11. 9 0
      yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/service/order/PayOrderService.java
  12. 10 0
      yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/service/order/PayOrderServiceImpl.java
  13. 8 0
      yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/service/wallet/PayWalletRechargePackageService.java
  14. 10 3
      yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/service/wallet/PayWalletRechargePackageServiceImpl.java
  15. 15 0
      yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/service/wallet/PayWalletRechargeService.java
  16. 9 1
      yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/service/wallet/PayWalletRechargeServiceImpl.java
  17. 0 1
      yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/service/wallet/PayWalletService.java

+ 4 - 0
yudao-module-pay/yudao-module-pay-biz/pom.xml

@@ -78,6 +78,10 @@
             <groupId>cn.iocoder.boot</groupId>
             <artifactId>yudao-spring-boot-starter-excel</artifactId>
         </dependency>
+        <dependency>
+            <groupId>cn.iocoder.boot</groupId>
+            <artifactId>yudao-spring-boot-starter-biz-dict</artifactId>
+        </dependency>
 
     </dependencies>
 

+ 3 - 3
yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/wallet/PayWalletRechargePackageController.java

@@ -6,7 +6,7 @@ import cn.iocoder.yudao.module.pay.controller.admin.wallet.vo.rechargepackage.Wa
 import cn.iocoder.yudao.module.pay.controller.admin.wallet.vo.rechargepackage.WalletRechargePackagePageReqVO;
 import cn.iocoder.yudao.module.pay.controller.admin.wallet.vo.rechargepackage.WalletRechargePackageRespVO;
 import cn.iocoder.yudao.module.pay.controller.admin.wallet.vo.rechargepackage.WalletRechargePackageUpdateReqVO;
-import cn.iocoder.yudao.module.pay.convert.wallet.WalletRechargePackageConvert;
+import cn.iocoder.yudao.module.pay.convert.wallet.PayWalletRechargePackageConvert;
 import cn.iocoder.yudao.module.pay.dal.dataobject.wallet.PayWalletRechargePackageDO;
 import cn.iocoder.yudao.module.pay.service.wallet.PayWalletRechargePackageService;
 import io.swagger.v3.oas.annotations.Operation;
@@ -61,7 +61,7 @@ public class PayWalletRechargePackageController {
     @PreAuthorize("@ss.hasPermission('pay:wallet-recharge-package:query')")
     public CommonResult<WalletRechargePackageRespVO> getWalletRechargePackage(@RequestParam("id") Long id) {
         PayWalletRechargePackageDO walletRechargePackage = walletRechargePackageService.getWalletRechargePackage(id);
-        return success(WalletRechargePackageConvert.INSTANCE.convert(walletRechargePackage));
+        return success(PayWalletRechargePackageConvert.INSTANCE.convert(walletRechargePackage));
     }
 
     @GetMapping("/page")
@@ -69,7 +69,7 @@ public class PayWalletRechargePackageController {
     @PreAuthorize("@ss.hasPermission('pay:wallet-recharge-package:query')")
     public CommonResult<PageResult<WalletRechargePackageRespVO>> getWalletRechargePackagePage(@Valid WalletRechargePackagePageReqVO pageVO) {
         PageResult<PayWalletRechargePackageDO> pageResult = walletRechargePackageService.getWalletRechargePackagePage(pageVO);
-        return success(WalletRechargePackageConvert.INSTANCE.convertPage(pageResult));
+        return success(PayWalletRechargePackageConvert.INSTANCE.convertPage(pageResult));
     }
 
 }

+ 32 - 5
yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/app/wallet/AppPayWalletRechargeController.java

@@ -1,24 +1,35 @@
 package cn.iocoder.yudao.module.pay.controller.app.wallet;
 
+import cn.hutool.core.collection.CollUtil;
+import cn.iocoder.yudao.framework.common.enums.UserTypeEnum;
 import cn.iocoder.yudao.framework.common.pojo.CommonResult;
+import cn.iocoder.yudao.framework.common.pojo.PageParam;
+import cn.iocoder.yudao.framework.common.pojo.PageResult;
 import cn.iocoder.yudao.module.pay.controller.app.wallet.vo.recharge.AppPayWalletRechargeCreateReqVO;
 import cn.iocoder.yudao.module.pay.controller.app.wallet.vo.recharge.AppPayWalletRechargeCreateRespVO;
+import cn.iocoder.yudao.module.pay.controller.app.wallet.vo.recharge.AppPayWalletRechargeRespVO;
+import cn.iocoder.yudao.module.pay.convert.wallet.PayWalletConvert;
 import cn.iocoder.yudao.module.pay.convert.wallet.PayWalletRechargeConvert;
+import cn.iocoder.yudao.module.pay.dal.dataobject.order.PayOrderDO;
 import cn.iocoder.yudao.module.pay.dal.dataobject.wallet.PayWalletRechargeDO;
+import cn.iocoder.yudao.module.pay.service.order.PayOrderService;
 import cn.iocoder.yudao.module.pay.service.wallet.PayWalletRechargeService;
+import com.google.common.collect.Lists;
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.tags.Tag;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.validation.annotation.Validated;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
 import jakarta.annotation.Resource;
 import jakarta.validation.Valid;
 
+import java.time.LocalDateTime;
+import java.util.Arrays;
+import java.util.List;
+
 import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
+import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertList;
 import static cn.iocoder.yudao.framework.common.util.servlet.ServletUtils.getClientIP;
 import static cn.iocoder.yudao.framework.web.core.util.WebFrameworkUtils.getLoginUserId;
 import static cn.iocoder.yudao.framework.web.core.util.WebFrameworkUtils.getLoginUserType;
@@ -32,14 +43,30 @@ public class AppPayWalletRechargeController {
 
     @Resource
     private PayWalletRechargeService walletRechargeService;
+    @Resource
+    private PayOrderService payOrderService;
 
     @PostMapping("/create")
     @Operation(summary = "创建钱包充值记录(发起充值)")
     public CommonResult<AppPayWalletRechargeCreateRespVO> createWalletRecharge(
-            @Valid  @RequestBody  AppPayWalletRechargeCreateReqVO reqVO) {
+            @Valid @RequestBody  AppPayWalletRechargeCreateReqVO reqVO) {
         PayWalletRechargeDO walletRecharge = walletRechargeService.createWalletRecharge(
                 getLoginUserId(), getLoginUserType(), getClientIP(), reqVO);
         return success(PayWalletRechargeConvert.INSTANCE.convert(walletRecharge));
     }
 
+    @GetMapping("/page")
+    @Operation(summary = "获得钱包充值记录分页")
+    public CommonResult<PageResult<AppPayWalletRechargeRespVO>> getWalletRechargePage(@Valid PageParam pageReqVO) {
+        PageResult<PayWalletRechargeDO> pageResult = walletRechargeService.getWalletRechargePackagePage(
+                getLoginUserId(), UserTypeEnum.MEMBER.getValue(), pageReqVO, true);
+        if (CollUtil.isEmpty(pageResult.getList())) {
+            return success(PageResult.empty(pageResult.getTotal()));
+        }
+        // 拼接数据
+        List<PayOrderDO> payOrderList = payOrderService.getOrderList(
+                convertList(pageResult.getList(), PayWalletRechargeDO::getPayOrderId));
+        return success(PayWalletRechargeConvert.INSTANCE.convertPage(pageResult, payOrderList));
+    }
+
 }

+ 13 - 6
yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/app/wallet/AppPayWalletRechargePackageController.java

@@ -1,16 +1,21 @@
 package cn.iocoder.yudao.module.pay.controller.app.wallet;
 
+import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
 import cn.iocoder.yudao.framework.common.pojo.CommonResult;
+import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
 import cn.iocoder.yudao.module.pay.controller.app.wallet.vo.recharge.AppPayWalletPackageRespVO;
+import cn.iocoder.yudao.module.pay.dal.dataobject.wallet.PayWalletRechargePackageDO;
+import cn.iocoder.yudao.module.pay.service.wallet.PayWalletRechargePackageService;
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.tags.Tag;
+import jakarta.annotation.Resource;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
-import java.util.ArrayList;
+import java.util.Comparator;
 import java.util.List;
 
 import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
@@ -22,14 +27,16 @@ import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
 @Slf4j
 public class AppPayWalletRechargePackageController {
 
+    @Resource
+    private PayWalletRechargePackageService walletRechargePackageService;
+
     @GetMapping("/list")
     @Operation(summary = "获得钱包充值套餐列表")
     public CommonResult<List<AppPayWalletPackageRespVO>> getWalletRechargePackageList() {
-        // 只查询开启;需要按照 payPrice 排序;
-        List<AppPayWalletPackageRespVO> list = new ArrayList<>();
-        list.add(new AppPayWalletPackageRespVO().setId(1L).setName("土豆").setPayPrice(10).setBonusPrice(2));
-        list.add(new AppPayWalletPackageRespVO().setId(2L).setName("番茄").setPayPrice(20).setBonusPrice(5));
-        return success(list);
+        List<PayWalletRechargePackageDO> list = walletRechargePackageService.getWalletRechargePackageList(
+                CommonStatusEnum.ENABLE.getStatus());
+        list.sort(Comparator.comparingInt(PayWalletRechargePackageDO::getPayPrice));
+        return success(BeanUtils.toBean(list, AppPayWalletPackageRespVO.class));
     }
 
 }

+ 1 - 0
yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/app/wallet/vo/recharge/AppPayWalletRechargeCreateReqVO.java

@@ -22,4 +22,5 @@ public class AppPayWalletRechargeCreateReqVO {
     public boolean isValidPayPriceAndPackageId() {
         return Objects.nonNull(payPrice) || Objects.nonNull(packageId);
     }
+
 }

+ 42 - 0
yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/app/wallet/vo/recharge/AppPayWalletRechargeRespVO.java

@@ -0,0 +1,42 @@
+package cn.iocoder.yudao.module.pay.controller.app.wallet.vo.recharge;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.time.LocalDateTime;
+
+@Schema(description = "用户 APP - 钱包充值记录 Resp VO")
+@Data
+public class AppPayWalletRechargeRespVO {
+
+    @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
+    private Long id;
+
+    @Schema(description = "用户实际到账余额", requiredMode = Schema.RequiredMode.REQUIRED, example = "100")
+    private Integer totalPrice;
+
+    @Schema(description = "实际支付金额", requiredMode = Schema.RequiredMode.REQUIRED, example = "20")
+    private Integer payPrice;
+
+    @Schema(description = "钱包赠送金额", requiredMode = Schema.RequiredMode.REQUIRED, example = "80")
+    private Integer bonusPrice;
+
+    @Schema(description = "支付成功的支付渠道", requiredMode = Schema.RequiredMode.REQUIRED)
+    private String payChannelCode;
+
+    @Schema(description = "支付渠道名", example = "微信小程序支付")
+    private String payChannelName;
+
+    @Schema(description = "支付订单编号", requiredMode = Schema.RequiredMode.REQUIRED)
+    private Long payOrderId;
+
+    @Schema(description = "支付成功的外部订单号", requiredMode = Schema.RequiredMode.REQUIRED)
+    private String payOrderChannelOrderNo; // 从 PayOrderDO 的 channelOrderNo 字段
+
+    @Schema(description = "订单支付时间", requiredMode = Schema.RequiredMode.REQUIRED)
+    private LocalDateTime payTime;
+
+    @Schema(description = "退款状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "0")
+    private Integer refundStatus;
+
+}

+ 25 - 0
yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/convert/wallet/PayWalletRechargeConvert.java

@@ -1,11 +1,23 @@
 package cn.iocoder.yudao.module.pay.convert.wallet;
 
+import cn.hutool.core.collection.CollUtil;
+import cn.iocoder.yudao.framework.common.pojo.PageResult;
+import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils;
+import cn.iocoder.yudao.framework.common.util.collection.MapUtils;
+import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
+import cn.iocoder.yudao.framework.dict.core.util.DictFrameworkUtils;
 import cn.iocoder.yudao.module.pay.controller.app.wallet.vo.recharge.AppPayWalletRechargeCreateRespVO;
+import cn.iocoder.yudao.module.pay.controller.app.wallet.vo.recharge.AppPayWalletRechargeRespVO;
+import cn.iocoder.yudao.module.pay.dal.dataobject.order.PayOrderDO;
 import cn.iocoder.yudao.module.pay.dal.dataobject.wallet.PayWalletRechargeDO;
+import cn.iocoder.yudao.module.pay.enums.DictTypeConstants;
 import org.mapstruct.Mapper;
 import org.mapstruct.Mapping;
 import org.mapstruct.factory.Mappers;
 
+import java.util.List;
+import java.util.Map;
+
 @Mapper
 public interface PayWalletRechargeConvert {
 
@@ -16,4 +28,17 @@ public interface PayWalletRechargeConvert {
 
     AppPayWalletRechargeCreateRespVO convert(PayWalletRechargeDO bean);
 
+    default PageResult<AppPayWalletRechargeRespVO> convertPage(PageResult<PayWalletRechargeDO> pageResult,
+                                                               List<PayOrderDO> payOrderList) {
+        PageResult<AppPayWalletRechargeRespVO> voPageResult = BeanUtils.toBean(pageResult, AppPayWalletRechargeRespVO.class);
+        Map<Long, PayOrderDO> payOrderMap = CollectionUtils.convertMap(payOrderList, PayOrderDO::getId);
+        voPageResult.getList().forEach(recharge -> {
+            recharge.setPayChannelName(DictFrameworkUtils.getDictDataLabel(
+                    DictTypeConstants.CHANNEL_CODE, recharge.getPayChannelCode()));
+            MapUtils.findAndThen(payOrderMap, recharge.getPayOrderId(),
+                    order -> recharge.setPayOrderChannelOrderNo(order.getChannelOrderNo()));
+        });
+        return voPageResult;
+    }
+
 }

+ 2 - 2
yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/convert/wallet/WalletRechargePackageConvert.java → yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/convert/wallet/PayWalletRechargePackageConvert.java

@@ -12,9 +12,9 @@ import org.mapstruct.Mapper;
 import org.mapstruct.factory.Mappers;
 
 @Mapper
-public interface WalletRechargePackageConvert {
+public interface PayWalletRechargePackageConvert {
 
-    WalletRechargePackageConvert INSTANCE = Mappers.getMapper(WalletRechargePackageConvert.class);
+    PayWalletRechargePackageConvert INSTANCE = Mappers.getMapper(PayWalletRechargePackageConvert.class);
 
     PayWalletRechargePackageDO convert(WalletRechargePackageCreateReqVO bean);
 

+ 9 - 0
yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/dal/mysql/wallet/PayWalletRechargeMapper.java

@@ -1,8 +1,11 @@
 package cn.iocoder.yudao.module.pay.dal.mysql.wallet;
 
+import cn.iocoder.yudao.framework.common.pojo.PageParam;
+import cn.iocoder.yudao.framework.common.pojo.PageResult;
 import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
 import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
 import cn.iocoder.yudao.module.pay.dal.dataobject.wallet.PayWalletRechargeDO;
+import cn.iocoder.yudao.module.pay.dal.dataobject.wallet.PayWalletRechargePackageDO;
 import org.apache.ibatis.annotations.Mapper;
 
 @Mapper
@@ -18,4 +21,10 @@ public interface PayWalletRechargeMapper extends BaseMapperX<PayWalletRechargeDO
                 .eq(PayWalletRechargeDO::getId, id).eq(PayWalletRechargeDO::getRefundStatus, whereRefundStatus));
     }
 
+    default PageResult<PayWalletRechargeDO> selectPage(PageParam pageReqVO, Long walletId, Boolean payStatus) {
+        return selectPage(pageReqVO, new LambdaQueryWrapperX<PayWalletRechargeDO>()
+                .eq(PayWalletRechargeDO::getWalletId, walletId)
+                .eq(PayWalletRechargeDO::getPayStatus, payStatus));
+    }
+
 }

+ 7 - 2
yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/dal/mysql/wallet/PayWalletRechargePackageMapper.java

@@ -8,6 +8,8 @@ import cn.iocoder.yudao.module.pay.controller.admin.wallet.vo.rechargepackage.Wa
 import cn.iocoder.yudao.module.pay.dal.dataobject.wallet.PayWalletRechargePackageDO;
 import org.apache.ibatis.annotations.Mapper;
 
+import java.util.List;
+
 @Mapper
 public interface PayWalletRechargePackageMapper extends BaseMapperX<PayWalletRechargePackageDO> {
 
@@ -19,9 +21,12 @@ public interface PayWalletRechargePackageMapper extends BaseMapperX<PayWalletRec
                 .orderByDesc(PayWalletRechargePackageDO::getPayPrice));
     }
 
-    // TODO @jason:这里要有空格哈;String name) {
-    default PayWalletRechargePackageDO selectByName(String name){
+    default PayWalletRechargePackageDO selectByName(String name) {
         return selectOne(PayWalletRechargePackageDO::getName, name);
     }
 
+    default List<PayWalletRechargePackageDO> selectListByStatus(Integer status) {
+        return selectList(PayWalletRechargePackageDO::getStatus, status);
+    }
+
 }

+ 9 - 0
yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/service/order/PayOrderService.java

@@ -13,6 +13,7 @@ import cn.iocoder.yudao.module.pay.dal.dataobject.order.PayOrderExtensionDO;
 import jakarta.validation.Valid;
 import jakarta.validation.constraints.NotEmpty;
 import java.time.LocalDateTime;
+import java.util.Collection;
 import java.util.List;
 
 /**
@@ -39,6 +40,14 @@ public interface PayOrderService {
      */
     PayOrderDO getOrder(Long appId, String merchantOrderId);
 
+    /**
+     * 获得支付订单列表
+     *
+     * @param ids 编号数组
+     * @return 支付订单列表
+     */
+    List<PayOrderDO> getOrderList(Collection<Long> ids);
+
     /**
      * 获得指定应用的订单数量
      *

+ 10 - 0
yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/service/order/PayOrderServiceImpl.java

@@ -39,6 +39,8 @@ import org.springframework.validation.annotation.Validated;
 
 import jakarta.annotation.Resource;
 import java.time.LocalDateTime;
+import java.util.Collection;
+import java.util.Collections;
 import java.util.List;
 import java.util.Objects;
 
@@ -83,6 +85,14 @@ public class PayOrderServiceImpl implements PayOrderService {
         return orderMapper.selectByAppIdAndMerchantOrderId(appId, merchantOrderId);
     }
 
+    @Override
+    public List<PayOrderDO> getOrderList(Collection<Long> ids) {
+        if (CollUtil.isEmpty(ids)) {
+            return Collections.emptyList();
+        }
+        return orderMapper.selectBatchIds(ids);
+    }
+
     @Override
     public Long getOrderCountByAppId(Long appId) {
         return orderMapper.selectCountByAppId(appId);

+ 8 - 0
yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/service/wallet/PayWalletRechargePackageService.java

@@ -60,4 +60,12 @@ public interface PayWalletRechargePackageService {
      */
     PageResult<PayWalletRechargePackageDO> getWalletRechargePackagePage(WalletRechargePackagePageReqVO pageReqVO);
 
+    /**
+     * 获得充值套餐列表
+     *
+     * @param status 状态
+     * @return 充值套餐列表
+     */
+    List<PayWalletRechargePackageDO> getWalletRechargePackageList(Integer status);
+
 }

+ 10 - 3
yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/service/wallet/PayWalletRechargePackageServiceImpl.java

@@ -6,13 +6,15 @@ import cn.iocoder.yudao.framework.common.pojo.PageResult;
 import cn.iocoder.yudao.module.pay.controller.admin.wallet.vo.rechargepackage.WalletRechargePackageCreateReqVO;
 import cn.iocoder.yudao.module.pay.controller.admin.wallet.vo.rechargepackage.WalletRechargePackagePageReqVO;
 import cn.iocoder.yudao.module.pay.controller.admin.wallet.vo.rechargepackage.WalletRechargePackageUpdateReqVO;
-import cn.iocoder.yudao.module.pay.convert.wallet.WalletRechargePackageConvert;
+import cn.iocoder.yudao.module.pay.convert.wallet.PayWalletRechargePackageConvert;
 import cn.iocoder.yudao.module.pay.dal.dataobject.wallet.PayWalletRechargePackageDO;
 import cn.iocoder.yudao.module.pay.dal.mysql.wallet.PayWalletRechargePackageMapper;
 import org.springframework.stereotype.Service;
 
 import jakarta.annotation.Resource;
 
+import java.util.List;
+
 import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
 import static cn.iocoder.yudao.module.pay.enums.ErrorCodeConstants.*;
 
@@ -50,7 +52,7 @@ public class PayWalletRechargePackageServiceImpl implements PayWalletRechargePac
         validateRechargePackageNameUnique(null, createReqVO.getName());
 
         // 插入
-        PayWalletRechargePackageDO walletRechargePackage = WalletRechargePackageConvert.INSTANCE.convert(createReqVO);
+        PayWalletRechargePackageDO walletRechargePackage = PayWalletRechargePackageConvert.INSTANCE.convert(createReqVO);
         walletRechargePackageMapper.insert(walletRechargePackage);
         // 返回
         return walletRechargePackage.getId();
@@ -64,7 +66,7 @@ public class PayWalletRechargePackageServiceImpl implements PayWalletRechargePac
         validateRechargePackageNameUnique(updateReqVO.getId(), updateReqVO.getName());
 
         // 更新
-        PayWalletRechargePackageDO updateObj = WalletRechargePackageConvert.INSTANCE.convert(updateReqVO);
+        PayWalletRechargePackageDO updateObj = PayWalletRechargePackageConvert.INSTANCE.convert(updateReqVO);
         walletRechargePackageMapper.updateById(updateObj);
     }
 
@@ -103,4 +105,9 @@ public class PayWalletRechargePackageServiceImpl implements PayWalletRechargePac
         return walletRechargePackageMapper.selectPage(pageReqVO);
     }
 
+    @Override
+    public List<PayWalletRechargePackageDO> getWalletRechargePackageList(Integer status) {
+        return walletRechargePackageMapper.selectListByStatus(status);
+    }
+
 }

+ 15 - 0
yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/service/wallet/PayWalletRechargeService.java

@@ -1,7 +1,10 @@
 package cn.iocoder.yudao.module.pay.service.wallet;
 
+import cn.iocoder.yudao.framework.common.pojo.PageParam;
+import cn.iocoder.yudao.framework.common.pojo.PageResult;
 import cn.iocoder.yudao.module.pay.controller.app.wallet.vo.recharge.AppPayWalletRechargeCreateReqVO;
 import cn.iocoder.yudao.module.pay.dal.dataobject.wallet.PayWalletRechargeDO;
+import cn.iocoder.yudao.module.pay.dal.dataobject.wallet.PayWalletRechargePackageDO;
 
 /**
  * 钱包充值 Service 接口
@@ -22,6 +25,18 @@ public interface PayWalletRechargeService {
     PayWalletRechargeDO createWalletRecharge(Long userId, Integer userType, String userIp,
                                              AppPayWalletRechargeCreateReqVO createReqVO);
 
+    /**
+     * 获得钱包充值记录分页
+     *
+     * @param userId 用户编号
+     * @param userType 用户类型
+     * @param pageReqVO 分页请求
+     * @param payStatus 是否支付
+     * @return 钱包充值记录分页
+     */
+    PageResult<PayWalletRechargeDO> getWalletRechargePackagePage(Long userId, Integer userType,
+                                                                 PageParam pageReqVO, Boolean payStatus);
+
     /**
      * 更新钱包充值成功
      *

+ 9 - 1
yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/service/wallet/PayWalletRechargeServiceImpl.java

@@ -1,6 +1,8 @@
 package cn.iocoder.yudao.module.pay.service.wallet;
 
 import cn.hutool.core.lang.Assert;
+import cn.iocoder.yudao.framework.common.pojo.PageParam;
+import cn.iocoder.yudao.framework.common.pojo.PageResult;
 import cn.iocoder.yudao.framework.pay.core.enums.refund.PayRefundStatusRespEnum;
 import cn.iocoder.yudao.module.pay.api.order.dto.PayOrderCreateReqDTO;
 import cn.iocoder.yudao.module.pay.api.refund.dto.PayRefundCreateReqDTO;
@@ -64,7 +66,6 @@ public class PayWalletRechargeServiceImpl implements PayWalletRechargeService {
     @Transactional(rollbackFor = Exception.class)
     public PayWalletRechargeDO createWalletRecharge(Long userId, Integer userType, String userIp,
                                                     AppPayWalletRechargeCreateReqVO reqVO) {
-
         // 1.1 计算充值金额
         int payPrice;
         int bonusPrice = 0;
@@ -93,6 +94,13 @@ public class PayWalletRechargeServiceImpl implements PayWalletRechargeService {
         return recharge;
     }
 
+    @Override
+    public PageResult<PayWalletRechargeDO> getWalletRechargePackagePage(Long userId, Integer userType,
+                                                                               PageParam pageReqVO, Boolean payStatus) {
+        PayWalletDO wallet = payWalletService.getOrCreateWallet(userId, userType);
+        return walletRechargeMapper.selectPage(pageReqVO, wallet.getId(), payStatus);
+    }
+
     @Override
     @Transactional(rollbackFor = Exception.class)
     public void updateWalletRechargerPaid(Long id, Long payOrderId) {

+ 0 - 1
yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/service/wallet/PayWalletService.java

@@ -30,7 +30,6 @@ public interface PayWalletService {
      */
     PayWalletDO getWallet(Long walletId);
 
-
     /**
      * 获得会员钱包分页
      *