Commit 8cd7941fc371867ca6114a1b851a6574cf385cb2

Authored by jason
1 parent 2e207019

wallet - 充值套餐 管理端

Showing 12 changed files with 371 additions and 7 deletions
yudao-module-pay/yudao-module-pay-api/src/main/java/cn/iocoder/yudao/module/pay/enums/ErrorCodeConstants.java
@@ -63,6 +63,7 @@ public interface ErrorCodeConstants { @@ -63,6 +63,7 @@ public interface ErrorCodeConstants {
63 ErrorCode WALLET_RECHARGE_REFUND_FAIL_REFUND_PRICE_NOT_MATCH = new ErrorCode(1_007_008_010, "钱包退款更新失败,退款单金额不匹配"); 63 ErrorCode WALLET_RECHARGE_REFUND_FAIL_REFUND_PRICE_NOT_MATCH = new ErrorCode(1_007_008_010, "钱包退款更新失败,退款单金额不匹配");
64 ErrorCode WALLET_RECHARGE_PACKAGE_AND_PRICE_IS_EMPTY = new ErrorCode(1_007_008_011, "充值金额和充钱套餐不能同时为空"); 64 ErrorCode WALLET_RECHARGE_PACKAGE_AND_PRICE_IS_EMPTY = new ErrorCode(1_007_008_011, "充值金额和充钱套餐不能同时为空");
65 ErrorCode WALLET_RECHARGE_PACKAGE_NOT_FOUND = new ErrorCode(1_007_008_012, "钱包充值套餐不存在"); 65 ErrorCode WALLET_RECHARGE_PACKAGE_NOT_FOUND = new ErrorCode(1_007_008_012, "钱包充值套餐不存在");
  66 + ErrorCode WALLET_RECHARGE_PACKAGE_IS_DISABLE = new ErrorCode(1_007_008_013, "钱包充值套餐已禁用");
66 // ========== 转账模块 1-007-009-000 ========== 67 // ========== 转账模块 1-007-009-000 ==========
67 ErrorCode PAY_TRANSFER_SUBMIT_CHANNEL_ERROR = new ErrorCode(1_007_009_000, "发起转账报错,错误码:{},错误提示:{}"); 68 ErrorCode PAY_TRANSFER_SUBMIT_CHANNEL_ERROR = new ErrorCode(1_007_009_000, "发起转账报错,错误码:{},错误提示:{}");
68 ErrorCode PAY_TRANSFER_ALIPAY_LOGIN_ID_IS_EMPTY = new ErrorCode(1_007_009_001, "支付宝登录 ID 不能为空"); 69 ErrorCode PAY_TRANSFER_ALIPAY_LOGIN_ID_IS_EMPTY = new ErrorCode(1_007_009_001, "支付宝登录 ID 不能为空");
yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/wallet/PayWalletRechargePackageController.java 0 → 100644
  1 +package cn.iocoder.yudao.module.pay.controller.admin.wallet;
  2 +
  3 +import cn.iocoder.yudao.framework.common.pojo.CommonResult;
  4 +import cn.iocoder.yudao.framework.common.pojo.PageResult;
  5 +import cn.iocoder.yudao.module.pay.controller.admin.wallet.vo.rechargepackage.WalletRechargePackageCreateReqVO;
  6 +import cn.iocoder.yudao.module.pay.controller.admin.wallet.vo.rechargepackage.WalletRechargePackagePageReqVO;
  7 +import cn.iocoder.yudao.module.pay.controller.admin.wallet.vo.rechargepackage.WalletRechargePackageRespVO;
  8 +import cn.iocoder.yudao.module.pay.controller.admin.wallet.vo.rechargepackage.WalletRechargePackageUpdateReqVO;
  9 +import cn.iocoder.yudao.module.pay.convert.wallet.WalletRechargePackageConvert;
  10 +import cn.iocoder.yudao.module.pay.dal.dataobject.wallet.PayWalletRechargePackageDO;
  11 +import cn.iocoder.yudao.module.pay.service.wallet.PayWalletRechargePackageService;
  12 +import io.swagger.v3.oas.annotations.Operation;
  13 +import io.swagger.v3.oas.annotations.Parameter;
  14 +import io.swagger.v3.oas.annotations.tags.Tag;
  15 +import org.springframework.security.access.prepost.PreAuthorize;
  16 +import org.springframework.validation.annotation.Validated;
  17 +import org.springframework.web.bind.annotation.*;
  18 +
  19 +import javax.annotation.Resource;
  20 +import javax.validation.Valid;
  21 +
  22 +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
  23 +
  24 +
  25 +@Tag(name = "管理后台 - 钱包充值套餐")
  26 +@RestController
  27 +@RequestMapping("/pay/wallet-recharge-package")
  28 +@Validated
  29 +public class PayWalletRechargePackageController {
  30 +
  31 + @Resource
  32 + private PayWalletRechargePackageService walletRechargePackageService;
  33 +
  34 + @PostMapping("/create")
  35 + @Operation(summary = "创建钱包充值套餐")
  36 + @PreAuthorize("@ss.hasPermission('pay:wallet-recharge-package:create')")
  37 + public CommonResult<Long> createWalletRechargePackage(@Valid @RequestBody WalletRechargePackageCreateReqVO createReqVO) {
  38 + return success(walletRechargePackageService.createWalletRechargePackage(createReqVO));
  39 + }
  40 +
  41 + @PutMapping("/update")
  42 + @Operation(summary = "更新钱包充值套餐")
  43 + @PreAuthorize("@ss.hasPermission('pay:wallet-recharge-package:update')")
  44 + public CommonResult<Boolean> updateWalletRechargePackage(@Valid @RequestBody WalletRechargePackageUpdateReqVO updateReqVO) {
  45 + walletRechargePackageService.updateWalletRechargePackage(updateReqVO);
  46 + return success(true);
  47 + }
  48 +
  49 + @DeleteMapping("/delete")
  50 + @Operation(summary = "删除钱包充值套餐")
  51 + @Parameter(name = "id", description = "编号", required = true)
  52 + @PreAuthorize("@ss.hasPermission('pay:wallet-recharge-package:delete')")
  53 + public CommonResult<Boolean> deleteWalletRechargePackage(@RequestParam("id") Long id) {
  54 + walletRechargePackageService.deleteWalletRechargePackage(id);
  55 + return success(true);
  56 + }
  57 +
  58 + @GetMapping("/get")
  59 + @Operation(summary = "获得钱包充值套餐")
  60 + @Parameter(name = "id", description = "编号", required = true, example = "1024")
  61 + @PreAuthorize("@ss.hasPermission('pay:wallet-recharge-package:query')")
  62 + public CommonResult<WalletRechargePackageRespVO> getWalletRechargePackage(@RequestParam("id") Long id) {
  63 + PayWalletRechargePackageDO walletRechargePackage = walletRechargePackageService.getWalletRechargePackage(id);
  64 + return success(WalletRechargePackageConvert.INSTANCE.convert(walletRechargePackage));
  65 + }
  66 +
  67 + @GetMapping("/page")
  68 + @Operation(summary = "获得钱包充值套餐分页")
  69 + @PreAuthorize("@ss.hasPermission('pay:wallet-recharge-package:query')")
  70 + public CommonResult<PageResult<WalletRechargePackageRespVO>> getWalletRechargePackagePage(@Valid WalletRechargePackagePageReqVO pageVO) {
  71 + PageResult<PayWalletRechargePackageDO> pageResult = walletRechargePackageService.getWalletRechargePackagePage(pageVO);
  72 + return success(WalletRechargePackageConvert.INSTANCE.convertPage(pageResult));
  73 + }
  74 +
  75 +}
yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/wallet/vo/rechargepackage/WalletRechargePackageBaseVO.java 0 → 100644
  1 +package cn.iocoder.yudao.module.pay.controller.admin.wallet.vo.rechargepackage;
  2 +
  3 +import io.swagger.v3.oas.annotations.media.Schema;
  4 +import lombok.Data;
  5 +
  6 +import javax.validation.constraints.NotNull;
  7 +
  8 +/**
  9 + * 套餐充值 Base VO,提供给添加、修改、详细的子 VO 使用
  10 + * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成
  11 + */
  12 +@Data
  13 +public class WalletRechargePackageBaseVO {
  14 +
  15 + @Schema(description = "套餐名", requiredMode = Schema.RequiredMode.REQUIRED, example = "李四")
  16 + @NotNull(message = "套餐名不能为空")
  17 + private String name;
  18 +
  19 + @Schema(description = "支付金额", requiredMode = Schema.RequiredMode.REQUIRED, example = "16454")
  20 + @NotNull(message = "支付金额不能为空")
  21 + private Integer payPrice;
  22 +
  23 + @Schema(description = "赠送金额", requiredMode = Schema.RequiredMode.REQUIRED, example = "20887")
  24 + @NotNull(message = "赠送金额不能为空")
  25 + private Integer bonusPrice;
  26 +
  27 + @Schema(description = "状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
  28 + @NotNull(message = "状态不能为空")
  29 + private Byte status;
  30 +
  31 +}
yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/wallet/vo/rechargepackage/WalletRechargePackageCreateReqVO.java 0 → 100644
  1 +package cn.iocoder.yudao.module.pay.controller.admin.wallet.vo.rechargepackage;
  2 +
  3 +import io.swagger.v3.oas.annotations.media.Schema;
  4 +import lombok.Data;
  5 +import lombok.EqualsAndHashCode;
  6 +import lombok.ToString;
  7 +
  8 +@Schema(description = "管理后台 - 套餐充值创建 Request VO")
  9 +@Data
  10 +@EqualsAndHashCode(callSuper = true)
  11 +@ToString(callSuper = true)
  12 +public class WalletRechargePackageCreateReqVO extends WalletRechargePackageBaseVO {
  13 +
  14 +}
yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/wallet/vo/rechargepackage/WalletRechargePackagePageReqVO.java 0 → 100644
  1 +package cn.iocoder.yudao.module.pay.controller.admin.wallet.vo.rechargepackage;
  2 +
  3 +import cn.iocoder.yudao.framework.common.pojo.PageParam;
  4 +import io.swagger.v3.oas.annotations.media.Schema;
  5 +import lombok.Data;
  6 +import lombok.EqualsAndHashCode;
  7 +import lombok.ToString;
  8 +import org.springframework.format.annotation.DateTimeFormat;
  9 +
  10 +import java.time.LocalDateTime;
  11 +
  12 +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
  13 +
  14 +@Schema(description = "管理后台 - 套餐充值分页 Request VO")
  15 +@Data
  16 +@EqualsAndHashCode(callSuper = true)
  17 +@ToString(callSuper = true)
  18 +public class WalletRechargePackagePageReqVO extends PageParam {
  19 +
  20 + @Schema(description = "套餐名", example = "李四")
  21 + private String name;
  22 +
  23 + @Schema(description = "支付金额", example = "16454")
  24 + private Integer payPrice;
  25 +
  26 + @Schema(description = "赠送金额", example = "20887")
  27 + private Integer bonusPrice;
  28 +
  29 + @Schema(description = "状态", example = "2")
  30 + private Integer status;
  31 +
  32 + @Schema(description = "创建时间")
  33 + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
  34 + private LocalDateTime[] createTime;
  35 +
  36 +}
yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/wallet/vo/rechargepackage/WalletRechargePackageRespVO.java 0 → 100644
  1 +package cn.iocoder.yudao.module.pay.controller.admin.wallet.vo.rechargepackage;
  2 +
  3 +import io.swagger.v3.oas.annotations.media.Schema;
  4 +import lombok.*;
  5 +import java.time.LocalDateTime;
  6 +
  7 +@Schema(description = "管理后台 - 套餐充值 Response VO")
  8 +@Data
  9 +@EqualsAndHashCode(callSuper = true)
  10 +@ToString(callSuper = true)
  11 +public class WalletRechargePackageRespVO extends WalletRechargePackageBaseVO {
  12 +
  13 + @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "9032")
  14 + private Long id;
  15 +
  16 + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
  17 + private LocalDateTime createTime;
  18 +
  19 +}
yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/wallet/vo/rechargepackage/WalletRechargePackageUpdateReqVO.java 0 → 100644
  1 +package cn.iocoder.yudao.module.pay.controller.admin.wallet.vo.rechargepackage;
  2 +
  3 +import io.swagger.v3.oas.annotations.media.Schema;
  4 +import lombok.Data;
  5 +import lombok.EqualsAndHashCode;
  6 +import lombok.ToString;
  7 +
  8 +import javax.validation.constraints.NotNull;
  9 +
  10 +@Schema(description = "管理后台 - 套餐充值更新 Request VO")
  11 +@Data
  12 +@EqualsAndHashCode(callSuper = true)
  13 +@ToString(callSuper = true)
  14 +public class WalletRechargePackageUpdateReqVO extends WalletRechargePackageBaseVO {
  15 +
  16 + @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "9032")
  17 + @NotNull(message = "编号不能为空")
  18 + private Long id;
  19 +
  20 +}
yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/convert/wallet/WalletRechargePackageConvert.java 0 → 100644
  1 +package cn.iocoder.yudao.module.pay.convert.wallet;
  2 +
  3 +import java.util.*;
  4 +
  5 +import cn.iocoder.yudao.framework.common.pojo.PageResult;
  6 +
  7 +import cn.iocoder.yudao.module.pay.controller.admin.wallet.vo.rechargepackage.WalletRechargePackageCreateReqVO;
  8 +import cn.iocoder.yudao.module.pay.controller.admin.wallet.vo.rechargepackage.WalletRechargePackageRespVO;
  9 +import cn.iocoder.yudao.module.pay.controller.admin.wallet.vo.rechargepackage.WalletRechargePackageUpdateReqVO;
  10 +import cn.iocoder.yudao.module.pay.dal.dataobject.wallet.PayWalletRechargePackageDO;
  11 +import org.mapstruct.Mapper;
  12 +import org.mapstruct.factory.Mappers;
  13 +
  14 +/**
  15 + * 套餐充值 Convert
  16 + *
  17 + * @author 芋道源码
  18 + */
  19 +@Mapper
  20 +public interface WalletRechargePackageConvert {
  21 +
  22 + WalletRechargePackageConvert INSTANCE = Mappers.getMapper(WalletRechargePackageConvert.class);
  23 +
  24 + PayWalletRechargePackageDO convert(WalletRechargePackageCreateReqVO bean);
  25 +
  26 + PayWalletRechargePackageDO convert(WalletRechargePackageUpdateReqVO bean);
  27 +
  28 + WalletRechargePackageRespVO convert(PayWalletRechargePackageDO bean);
  29 +
  30 + List<WalletRechargePackageRespVO> convertList(List<PayWalletRechargePackageDO> list);
  31 +
  32 + PageResult<WalletRechargePackageRespVO> convertPage(PageResult<PayWalletRechargePackageDO> page);
  33 +
  34 +}
yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/dal/mysql/wallet/PayWalletRechargePackageMapper.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.rechargepackage.WalletRechargePackagePageReqVO;
5 import cn.iocoder.yudao.module.pay.dal.dataobject.wallet.PayWalletRechargePackageDO; 8 import cn.iocoder.yudao.module.pay.dal.dataobject.wallet.PayWalletRechargePackageDO;
6 import org.apache.ibatis.annotations.Mapper; 9 import org.apache.ibatis.annotations.Mapper;
7 10
8 @Mapper 11 @Mapper
9 public interface PayWalletRechargePackageMapper extends BaseMapperX<PayWalletRechargePackageDO> { 12 public interface PayWalletRechargePackageMapper extends BaseMapperX<PayWalletRechargePackageDO> {
10 13
  14 + default PageResult<PayWalletRechargePackageDO> selectPage(WalletRechargePackagePageReqVO reqVO) {
  15 + return selectPage(reqVO, new LambdaQueryWrapperX<PayWalletRechargePackageDO>()
  16 + .likeIfPresent(PayWalletRechargePackageDO::getName, reqVO.getName())
  17 + .eqIfPresent(PayWalletRechargePackageDO::getPayPrice, reqVO.getPayPrice())
  18 + .eqIfPresent(PayWalletRechargePackageDO::getBonusPrice, reqVO.getBonusPrice())
  19 + .eqIfPresent(PayWalletRechargePackageDO::getStatus, reqVO.getStatus())
  20 + .betweenIfPresent(PayWalletRechargePackageDO::getCreateTime, reqVO.getCreateTime())
  21 + .orderByDesc(PayWalletRechargePackageDO::getId));
  22 + }
11 } 23 }
12 24
13 25
yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/service/wallet/PayWalletRechargePackageService.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.rechargepackage.WalletRechargePackageCreateReqVO;
  5 +import cn.iocoder.yudao.module.pay.controller.admin.wallet.vo.rechargepackage.WalletRechargePackagePageReqVO;
  6 +import cn.iocoder.yudao.module.pay.controller.admin.wallet.vo.rechargepackage.WalletRechargePackageUpdateReqVO;
3 import cn.iocoder.yudao.module.pay.dal.dataobject.wallet.PayWalletRechargePackageDO; 7 import cn.iocoder.yudao.module.pay.dal.dataobject.wallet.PayWalletRechargePackageDO;
4 8
  9 +import javax.validation.Valid;
  10 +import java.util.Collection;
  11 +import java.util.List;
  12 +
5 /** 13 /**
6 * 钱包充值套餐 Service 接口 14 * 钱包充值套餐 Service 接口
7 * 15 *
@@ -14,4 +22,50 @@ public interface PayWalletRechargePackageService { @@ -14,4 +22,50 @@ public interface PayWalletRechargePackageService {
14 * @param packageId 充值套餐编号 22 * @param packageId 充值套餐编号
15 */ 23 */
16 PayWalletRechargePackageDO getWalletRechargePackage(Long packageId); 24 PayWalletRechargePackageDO getWalletRechargePackage(Long packageId);
  25 +
  26 + /**
  27 + * 校验钱包充值套餐的有效性, 无效的话抛出 ServiceException 异常
  28 + *
  29 + * @param packageId 充值套餐编号
  30 + */
  31 + PayWalletRechargePackageDO validWalletRechargePackage(Long packageId);
  32 +
  33 + /**
  34 + * 创建套餐充值
  35 + *
  36 + * @param createReqVO 创建信息
  37 + * @return 编号
  38 + */
  39 + Long createWalletRechargePackage(@Valid WalletRechargePackageCreateReqVO createReqVO);
  40 +
  41 + /**
  42 + * 更新套餐充值
  43 + *
  44 + * @param updateReqVO 更新信息
  45 + */
  46 + void updateWalletRechargePackage(@Valid WalletRechargePackageUpdateReqVO updateReqVO);
  47 +
  48 +
  49 + /**
  50 + * 删除套餐充值
  51 + *
  52 + * @param id 编号
  53 + */
  54 + void deleteWalletRechargePackage(Long id);
  55 +
  56 + /**
  57 + * 获得套餐充值列表
  58 + *
  59 + * @param ids 编号
  60 + * @return 套餐充值列表
  61 + */
  62 + List<PayWalletRechargePackageDO> getWalletRechargePackageList(Collection<Long> ids);
  63 +
  64 + /**
  65 + * 获得套餐充值分页
  66 + *
  67 + * @param pageReqVO 分页查询
  68 + * @return 套餐充值分页
  69 + */
  70 + PageResult<PayWalletRechargePackageDO> getWalletRechargePackagePage(WalletRechargePackagePageReqVO pageReqVO);
17 } 71 }
yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/service/wallet/PayWalletRechargePackageServiceImpl.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.collection.CollUtil;
  4 +import cn.hutool.core.collection.ListUtil;
  5 +import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
  6 +import cn.iocoder.yudao.framework.common.pojo.PageResult;
  7 +import cn.iocoder.yudao.module.pay.controller.admin.wallet.vo.rechargepackage.WalletRechargePackageCreateReqVO;
  8 +import cn.iocoder.yudao.module.pay.controller.admin.wallet.vo.rechargepackage.WalletRechargePackagePageReqVO;
  9 +import cn.iocoder.yudao.module.pay.controller.admin.wallet.vo.rechargepackage.WalletRechargePackageUpdateReqVO;
  10 +import cn.iocoder.yudao.module.pay.convert.wallet.WalletRechargePackageConvert;
3 import cn.iocoder.yudao.module.pay.dal.dataobject.wallet.PayWalletRechargePackageDO; 11 import cn.iocoder.yudao.module.pay.dal.dataobject.wallet.PayWalletRechargePackageDO;
4 import cn.iocoder.yudao.module.pay.dal.mysql.wallet.PayWalletRechargePackageMapper; 12 import cn.iocoder.yudao.module.pay.dal.mysql.wallet.PayWalletRechargePackageMapper;
5 import org.springframework.stereotype.Service; 13 import org.springframework.stereotype.Service;
6 14
7 import javax.annotation.Resource; 15 import javax.annotation.Resource;
8 16
  17 +import java.util.Collection;
  18 +import java.util.List;
  19 +
  20 +import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
  21 +import static cn.iocoder.yudao.module.pay.enums.ErrorCodeConstants.*;
  22 +
9 /** 23 /**
10 * 钱包充值套餐 Service 实现类 24 * 钱包充值套餐 Service 实现类
11 * 25 *
@@ -15,10 +29,68 @@ import javax.annotation.Resource; @@ -15,10 +29,68 @@ import javax.annotation.Resource;
15 public class PayWalletRechargePackageServiceImpl implements PayWalletRechargePackageService { 29 public class PayWalletRechargePackageServiceImpl implements PayWalletRechargePackageService {
16 30
17 @Resource 31 @Resource
18 - private PayWalletRechargePackageMapper rechargePackageMapper; 32 + private PayWalletRechargePackageMapper walletRechargePackageMapper;
19 33
20 @Override 34 @Override
21 public PayWalletRechargePackageDO getWalletRechargePackage(Long packageId) { 35 public PayWalletRechargePackageDO getWalletRechargePackage(Long packageId) {
22 - return rechargePackageMapper.selectById(packageId); 36 + return walletRechargePackageMapper.selectById(packageId);
  37 + }
  38 +
  39 + @Override
  40 + public PayWalletRechargePackageDO validWalletRechargePackage(Long packageId) {
  41 + PayWalletRechargePackageDO rechargePackageDO = walletRechargePackageMapper.selectById(packageId);
  42 + if (rechargePackageDO == null) {
  43 + throw exception(WALLET_RECHARGE_PACKAGE_NOT_FOUND);
  44 + }
  45 + if (CommonStatusEnum.DISABLE.getStatus().equals(rechargePackageDO.getStatus())) {
  46 + throw exception(WALLET_RECHARGE_PACKAGE_IS_DISABLE);
  47 + }
  48 + return rechargePackageDO;
  49 + }
  50 +
  51 + @Override
  52 + public Long createWalletRechargePackage(WalletRechargePackageCreateReqVO createReqVO) {
  53 + // 插入
  54 + PayWalletRechargePackageDO walletRechargePackage = WalletRechargePackageConvert.INSTANCE.convert(createReqVO);
  55 + walletRechargePackageMapper.insert(walletRechargePackage);
  56 + // 返回
  57 + return walletRechargePackage.getId();
  58 + }
  59 +
  60 + @Override
  61 + public void updateWalletRechargePackage(WalletRechargePackageUpdateReqVO updateReqVO) {
  62 + // 校验存在
  63 + validateWalletRechargePackageExists(updateReqVO.getId());
  64 + // 更新
  65 + PayWalletRechargePackageDO updateObj = WalletRechargePackageConvert.INSTANCE.convert(updateReqVO);
  66 + walletRechargePackageMapper.updateById(updateObj);
23 } 67 }
  68 +
  69 + @Override
  70 + public void deleteWalletRechargePackage(Long id) {
  71 + // 校验存在
  72 + validateWalletRechargePackageExists(id);
  73 + // 删除
  74 + walletRechargePackageMapper.deleteById(id);
  75 + }
  76 +
  77 + private void validateWalletRechargePackageExists(Long id) {
  78 + if (walletRechargePackageMapper.selectById(id) == null) {
  79 + throw exception(WALLET_RECHARGE_PACKAGE_NOT_FOUND);
  80 + }
  81 + }
  82 +
  83 + @Override
  84 + public List<PayWalletRechargePackageDO> getWalletRechargePackageList(Collection<Long> ids) {
  85 + if (CollUtil.isEmpty(ids)) {
  86 + return ListUtil.empty();
  87 + }
  88 + return walletRechargePackageMapper.selectBatchIds(ids);
  89 + }
  90 +
  91 + @Override
  92 + public PageResult<PayWalletRechargePackageDO> getWalletRechargePackagePage(WalletRechargePackagePageReqVO pageReqVO) {
  93 + return walletRechargePackageMapper.selectPage(pageReqVO);
  94 + }
  95 +
24 } 96 }
yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/service/wallet/PayWalletRechargeServiceImpl.java
@@ -52,7 +52,6 @@ public class PayWalletRechargeServiceImpl implements PayWalletRechargeService { @@ -52,7 +52,6 @@ public class PayWalletRechargeServiceImpl implements PayWalletRechargeService {
52 52
53 @Resource 53 @Resource
54 private PayWalletRechargeMapper walletRechargeMapper; 54 private PayWalletRechargeMapper walletRechargeMapper;
55 -  
56 @Resource 55 @Resource
57 private PayWalletService payWalletService; 56 private PayWalletService payWalletService;
58 @Resource 57 @Resource
@@ -74,10 +73,7 @@ public class PayWalletRechargeServiceImpl implements PayWalletRechargeService { @@ -74,10 +73,7 @@ public class PayWalletRechargeServiceImpl implements PayWalletRechargeService {
74 int payPrice ; 73 int payPrice ;
75 int bonusPrice = 0 ; 74 int bonusPrice = 0 ;
76 if (Objects.nonNull(reqVO.getPackageId())) { 75 if (Objects.nonNull(reqVO.getPackageId())) {
77 - PayWalletRechargePackageDO rechargePackage = payWalletRechargePackageService.getWalletRechargePackage(reqVO.getPackageId());  
78 - if (rechargePackage == null) {  
79 - throw exception(WALLET_RECHARGE_PACKAGE_NOT_FOUND);  
80 - } 76 + PayWalletRechargePackageDO rechargePackage = payWalletRechargePackageService.validWalletRechargePackage(reqVO.getPackageId());
81 payPrice = rechargePackage.getPayPrice(); 77 payPrice = rechargePackage.getPayPrice();
82 bonusPrice = rechargePackage.getBonusPrice(); 78 bonusPrice = rechargePackage.getBonusPrice();
83 } else { 79 } else {