Commit 8cd7941fc371867ca6114a1b851a6574cf385cb2
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 { |