Commit 7cb8f8fab9a6ead6bd752701b9507356f9a6e84b

Authored by jason
1 parent e06f61ef

wallet - 管理端 钱包余额查询

Showing 9 changed files with 77 additions and 7 deletions
yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/wallet/PayWalletController.java
1 package cn.iocoder.yudao.module.pay.controller.admin.wallet; 1 package cn.iocoder.yudao.module.pay.controller.admin.wallet;
2 2
3 import cn.iocoder.yudao.framework.common.pojo.CommonResult; 3 import cn.iocoder.yudao.framework.common.pojo.CommonResult;
4 -import cn.iocoder.yudao.module.pay.controller.admin.wallet.vo.PayWalletRespVO;  
5 -import cn.iocoder.yudao.module.pay.controller.admin.wallet.vo.PayWalletUserReqVO; 4 +import cn.iocoder.yudao.framework.common.pojo.PageResult;
  5 +import cn.iocoder.yudao.module.pay.controller.admin.wallet.vo.balance.PayWalletPageReqVO;
  6 +import cn.iocoder.yudao.module.pay.controller.admin.wallet.vo.balance.PayWalletRespVO;
  7 +import cn.iocoder.yudao.module.pay.controller.admin.wallet.vo.balance.PayWalletUserReqVO;
6 import cn.iocoder.yudao.module.pay.convert.wallet.PayWalletConvert; 8 import cn.iocoder.yudao.module.pay.convert.wallet.PayWalletConvert;
7 import cn.iocoder.yudao.module.pay.dal.dataobject.wallet.PayWalletDO; 9 import cn.iocoder.yudao.module.pay.dal.dataobject.wallet.PayWalletDO;
8 import cn.iocoder.yudao.module.pay.service.wallet.PayWalletService; 10 import cn.iocoder.yudao.module.pay.service.wallet.PayWalletService;
@@ -16,6 +18,7 @@ import org.springframework.web.bind.annotation.RequestMapping; @@ -16,6 +18,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
16 import org.springframework.web.bind.annotation.RestController; 18 import org.springframework.web.bind.annotation.RestController;
17 19
18 import javax.annotation.Resource; 20 import javax.annotation.Resource;
  21 +import javax.validation.Valid;
19 22
20 import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; 23 import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
21 24
@@ -37,4 +40,12 @@ public class PayWalletController { @@ -37,4 +40,12 @@ public class PayWalletController {
37 return success(PayWalletConvert.INSTANCE.convert02(wallet)); 40 return success(PayWalletConvert.INSTANCE.convert02(wallet));
38 } 41 }
39 42
  43 + @GetMapping("/page")
  44 + @Operation(summary = "获得会员钱包分页")
  45 + @PreAuthorize("@ss.hasPermission('pay:wallet:query')")
  46 + public CommonResult<PageResult<PayWalletRespVO>> getWalletPage(@Valid PayWalletPageReqVO pageVO) {
  47 + PageResult<PayWalletDO> pageResult = payWalletService.getWalletPage(pageVO);
  48 + return success(PayWalletConvert.INSTANCE.convertPage(pageResult));
  49 + }
  50 +
40 } 51 }
yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/wallet/vo/PayWalletBaseVO.java renamed to yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/wallet/vo/balance/PayWalletBaseVO.java
1 -package cn.iocoder.yudao.module.pay.controller.admin.wallet.vo; 1 +package cn.iocoder.yudao.module.pay.controller.admin.wallet.vo.balance;
2 2
3 import io.swagger.v3.oas.annotations.media.Schema; 3 import io.swagger.v3.oas.annotations.media.Schema;
4 import lombok.Data; 4 import lombok.Data;
@@ -18,7 +18,7 @@ public class PayWalletBaseVO { @@ -18,7 +18,7 @@ public class PayWalletBaseVO {
18 18
19 @Schema(description = "用户类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") 19 @Schema(description = "用户类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
20 @NotNull(message = "用户类型不能为空") 20 @NotNull(message = "用户类型不能为空")
21 - private Byte userType; 21 + private Integer userType;
22 22
23 @Schema(description = "余额,单位分", requiredMode = Schema.RequiredMode.REQUIRED) 23 @Schema(description = "余额,单位分", requiredMode = Schema.RequiredMode.REQUIRED)
24 @NotNull(message = "余额,单位分不能为空") 24 @NotNull(message = "余额,单位分不能为空")
yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/wallet/vo/balance/PayWalletPageReqVO.java 0 → 100644
  1 +package cn.iocoder.yudao.module.pay.controller.admin.wallet.vo.balance;
  2 +
  3 +import lombok.*;
  4 +import io.swagger.v3.oas.annotations.media.Schema;
  5 +import cn.iocoder.yudao.framework.common.pojo.PageParam;
  6 +import org.springframework.format.annotation.DateTimeFormat;
  7 +import java.time.LocalDateTime;
  8 +
  9 +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
  10 +
  11 +@Schema(description = "管理后台 - 会员钱包分页 Request VO")
  12 +@Data
  13 +@EqualsAndHashCode(callSuper = true)
  14 +@ToString(callSuper = true)
  15 +public class PayWalletPageReqVO extends PageParam {
  16 +
  17 + @Schema(description = "用户编号", example = "14138")
  18 + private Long userId;
  19 +
  20 + @Schema(description = "用户类型", example = "1")
  21 + private Integer userType;
  22 +
  23 + @Schema(description = "创建时间")
  24 + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
  25 + private LocalDateTime[] createTime;
  26 +
  27 +}
yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/wallet/vo/PayWalletRespVO.java renamed to yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/wallet/vo/balance/PayWalletRespVO.java
1 -package cn.iocoder.yudao.module.pay.controller.admin.wallet.vo; 1 +package cn.iocoder.yudao.module.pay.controller.admin.wallet.vo.balance;
2 2
3 import io.swagger.v3.oas.annotations.media.Schema; 3 import io.swagger.v3.oas.annotations.media.Schema;
4 import lombok.Data; 4 import lombok.Data;
yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/wallet/vo/PayWalletUserReqVO.java renamed to yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/wallet/vo/balance/PayWalletUserReqVO.java
1 -package cn.iocoder.yudao.module.pay.controller.admin.wallet.vo; 1 +package cn.iocoder.yudao.module.pay.controller.admin.wallet.vo.balance;
2 2
3 import cn.iocoder.yudao.framework.common.enums.UserTypeEnum; 3 import cn.iocoder.yudao.framework.common.enums.UserTypeEnum;
4 import cn.iocoder.yudao.framework.common.validation.InEnum; 4 import cn.iocoder.yudao.framework.common.validation.InEnum;
yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/convert/wallet/PayWalletConvert.java
1 package cn.iocoder.yudao.module.pay.convert.wallet; 1 package cn.iocoder.yudao.module.pay.convert.wallet;
2 2
3 -import cn.iocoder.yudao.module.pay.controller.admin.wallet.vo.PayWalletRespVO; 3 +import cn.iocoder.yudao.framework.common.pojo.PageResult;
  4 +import cn.iocoder.yudao.module.pay.controller.admin.wallet.vo.balance.PayWalletRespVO;
4 import cn.iocoder.yudao.module.pay.controller.app.wallet.vo.wallet.AppPayWalletRespVO; 5 import cn.iocoder.yudao.module.pay.controller.app.wallet.vo.wallet.AppPayWalletRespVO;
5 import cn.iocoder.yudao.module.pay.dal.dataobject.wallet.PayWalletDO; 6 import cn.iocoder.yudao.module.pay.dal.dataobject.wallet.PayWalletDO;
6 import org.mapstruct.Mapper; 7 import org.mapstruct.Mapper;
@@ -14,4 +15,6 @@ public interface PayWalletConvert { @@ -14,4 +15,6 @@ public interface PayWalletConvert {
14 AppPayWalletRespVO convert(PayWalletDO bean); 15 AppPayWalletRespVO convert(PayWalletDO bean);
15 16
16 PayWalletRespVO convert02(PayWalletDO wallet); 17 PayWalletRespVO convert02(PayWalletDO wallet);
  18 +
  19 + PageResult<PayWalletRespVO> convertPage(PageResult<PayWalletDO> page);
17 } 20 }
yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/dal/mysql/wallet/PayWalletMapper.java
1 package cn.iocoder.yudao.module.pay.dal.mysql.wallet; 1 package cn.iocoder.yudao.module.pay.dal.mysql.wallet;
2 2
3 3
  4 +import cn.iocoder.yudao.framework.common.pojo.PageResult;
4 import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; 5 import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
  6 +import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
  7 +import cn.iocoder.yudao.module.pay.controller.admin.wallet.vo.balance.PayWalletPageReqVO;
5 import cn.iocoder.yudao.module.pay.dal.dataobject.wallet.PayWalletDO; 8 import cn.iocoder.yudao.module.pay.dal.dataobject.wallet.PayWalletDO;
6 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; 9 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
7 import org.apache.ibatis.annotations.Mapper; 10 import org.apache.ibatis.annotations.Mapper;
@@ -14,6 +17,14 @@ public interface PayWalletMapper extends BaseMapperX&lt;PayWalletDO&gt; { @@ -14,6 +17,14 @@ public interface PayWalletMapper extends BaseMapperX&lt;PayWalletDO&gt; {
14 PayWalletDO::getUserType, userType); 17 PayWalletDO::getUserType, userType);
15 } 18 }
16 19
  20 + default PageResult<PayWalletDO> selectPage(PayWalletPageReqVO reqVO) {
  21 + return selectPage(reqVO, new LambdaQueryWrapperX<PayWalletDO>()
  22 + .eqIfPresent(PayWalletDO::getUserId, reqVO.getUserId())
  23 + .eqIfPresent(PayWalletDO::getUserType, reqVO.getUserType())
  24 + .betweenIfPresent(PayWalletDO::getCreateTime, reqVO.getCreateTime())
  25 + .orderByDesc(PayWalletDO::getId));
  26 + }
  27 +
17 /** 28 /**
18 * 当消费退款时候, 更新钱包 29 * 当消费退款时候, 更新钱包
19 * 30 *
yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/service/wallet/PayWalletService.java
1 package cn.iocoder.yudao.module.pay.service.wallet; 1 package cn.iocoder.yudao.module.pay.service.wallet;
2 2
  3 +import cn.iocoder.yudao.framework.common.pojo.PageResult;
  4 +import cn.iocoder.yudao.module.pay.controller.admin.wallet.vo.balance.PayWalletPageReqVO;
3 import cn.iocoder.yudao.module.pay.dal.dataobject.wallet.PayWalletDO; 5 import cn.iocoder.yudao.module.pay.dal.dataobject.wallet.PayWalletDO;
4 import cn.iocoder.yudao.module.pay.dal.dataobject.wallet.PayWalletTransactionDO; 6 import cn.iocoder.yudao.module.pay.dal.dataobject.wallet.PayWalletTransactionDO;
5 import cn.iocoder.yudao.module.pay.enums.member.PayWalletBizTypeEnum; 7 import cn.iocoder.yudao.module.pay.enums.member.PayWalletBizTypeEnum;
@@ -28,6 +30,15 @@ public interface PayWalletService { @@ -28,6 +30,15 @@ public interface PayWalletService {
28 */ 30 */
29 PayWalletDO getWallet(Long walletId); 31 PayWalletDO getWallet(Long walletId);
30 32
  33 +
  34 + /**
  35 + * 获得会员钱包分页
  36 + *
  37 + * @param pageReqVO 分页查询
  38 + * @return 会员钱包分页
  39 + */
  40 + PageResult<PayWalletDO> getWalletPage(PayWalletPageReqVO pageReqVO);
  41 +
31 /** 42 /**
32 * 钱包订单支付 43 * 钱包订单支付
33 * 44 *
yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/service/wallet/PayWalletServiceImpl.java
1 package cn.iocoder.yudao.module.pay.service.wallet; 1 package cn.iocoder.yudao.module.pay.service.wallet;
2 2
3 import cn.hutool.core.lang.Assert; 3 import cn.hutool.core.lang.Assert;
  4 +import cn.iocoder.yudao.framework.common.pojo.PageResult;
  5 +import cn.iocoder.yudao.module.pay.controller.admin.wallet.vo.balance.PayWalletPageReqVO;
4 import cn.iocoder.yudao.module.pay.dal.dataobject.order.PayOrderExtensionDO; 6 import cn.iocoder.yudao.module.pay.dal.dataobject.order.PayOrderExtensionDO;
5 import cn.iocoder.yudao.module.pay.dal.dataobject.refund.PayRefundDO; 7 import cn.iocoder.yudao.module.pay.dal.dataobject.refund.PayRefundDO;
6 import cn.iocoder.yudao.module.pay.dal.dataobject.wallet.PayWalletDO; 8 import cn.iocoder.yudao.module.pay.dal.dataobject.wallet.PayWalletDO;
@@ -61,6 +63,11 @@ public class PayWalletServiceImpl implements PayWalletService { @@ -61,6 +63,11 @@ public class PayWalletServiceImpl implements PayWalletService {
61 } 63 }
62 64
63 @Override 65 @Override
  66 + public PageResult<PayWalletDO> getWalletPage(PayWalletPageReqVO pageReqVO) {
  67 + return walletMapper.selectPage(pageReqVO);
  68 + }
  69 +
  70 + @Override
64 @Transactional(rollbackFor = Exception.class) 71 @Transactional(rollbackFor = Exception.class)
65 public PayWalletTransactionDO orderPay(Long userId, Integer userType, String outTradeNo, Integer price) { 72 public PayWalletTransactionDO orderPay(Long userId, Integer userType, String outTradeNo, Integer price) {
66 // 1. 判断支付交易拓展单是否存 73 // 1. 判断支付交易拓展单是否存