From e0bcade7dfa4b1effc264a6ed6fd2af830117870 Mon Sep 17 00:00:00 2001 From: liujiang <569804566@qq.com> Date: Wed, 20 Aug 2025 14:18:42 +0800 Subject: [PATCH] =?UTF-8?q?master=EF=BC=9A=E6=A1=A3=E5=8F=A3=E8=B4=AD?= =?UTF-8?q?=E4=B9=B0=E6=8E=A8=E5=B9=BF=E8=90=A5=E9=94=80=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=85=A5=E5=8F=82=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../vo/advertRound/AdRoundStoreCreateVO.java | 6 ++-- .../advertRound/AdRoundStoreCreateDTO.java | 3 ++ .../java/com/ruoyi/xkt/enums/AdPayWay.java | 31 +++++++++++++++++++ .../service/impl/AdvertRoundServiceImpl.java | 7 +++++ 4 files changed, 45 insertions(+), 2 deletions(-) create mode 100644 xkt/src/main/java/com/ruoyi/xkt/enums/AdPayWay.java diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/vo/advertRound/AdRoundStoreCreateVO.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/vo/advertRound/AdRoundStoreCreateVO.java index 7e4405d8d..f453b9e7c 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/vo/advertRound/AdRoundStoreCreateVO.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/vo/advertRound/AdRoundStoreCreateVO.java @@ -45,8 +45,10 @@ public class AdRoundStoreCreateVO { @NotBlank(message = "对象锁符号不能为空!") @ApiModelProperty(value = "对象锁符号", required = true) private String symbol; - @NotBlank(message = "交易密码不能为空!") - @ApiModelProperty(value = "交易密码", required = true) + @NotNull(message = "支付方式不能为空!") + @ApiModelProperty(value = "支付方式", required = true) + private Integer payWay; + @ApiModelProperty(value = "交易密码") private String transactionPassword; } diff --git a/xkt/src/main/java/com/ruoyi/xkt/dto/advertRound/AdRoundStoreCreateDTO.java b/xkt/src/main/java/com/ruoyi/xkt/dto/advertRound/AdRoundStoreCreateDTO.java index cb23c6a68..c8e4a4b2a 100644 --- a/xkt/src/main/java/com/ruoyi/xkt/dto/advertRound/AdRoundStoreCreateDTO.java +++ b/xkt/src/main/java/com/ruoyi/xkt/dto/advertRound/AdRoundStoreCreateDTO.java @@ -5,6 +5,7 @@ import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.experimental.Accessors; +import javax.validation.constraints.NotNull; import java.math.BigDecimal; /** @@ -35,6 +36,8 @@ public class AdRoundStoreCreateDTO { private String prodIdStr; @ApiModelProperty(value = "对象锁符号") private String symbol; + @ApiModelProperty(value = "支付方式") + private Integer payWay; @ApiModelProperty(value = "交易密码") private String transactionPassword; diff --git a/xkt/src/main/java/com/ruoyi/xkt/enums/AdPayWay.java b/xkt/src/main/java/com/ruoyi/xkt/enums/AdPayWay.java new file mode 100644 index 000000000..91d5b3e2b --- /dev/null +++ b/xkt/src/main/java/com/ruoyi/xkt/enums/AdPayWay.java @@ -0,0 +1,31 @@ +package com.ruoyi.xkt.enums; + +import com.ruoyi.common.exception.ServiceException; +import lombok.AllArgsConstructor; +import lombok.Getter; + +/** + * @author liangyq + * @date 2025-04-02 23:42 + */ +@Getter +@AllArgsConstructor +public enum AdPayWay { + + BALANCE(1, "余额支付"), + ALIPAY(2, "支付宝支付"), + + ; + + private final Integer value; + private final String label; + + public static AdPayWay of(Integer value) { + for (AdPayWay e : AdPayWay.values()) { + if (e.getValue().equals(value)) { + return e; + } + } + throw new ServiceException("推广支付方式不存在!"); + } +} diff --git a/xkt/src/main/java/com/ruoyi/xkt/service/impl/AdvertRoundServiceImpl.java b/xkt/src/main/java/com/ruoyi/xkt/service/impl/AdvertRoundServiceImpl.java index 8aea14ebc..5f3c23c2b 100644 --- a/xkt/src/main/java/com/ruoyi/xkt/service/impl/AdvertRoundServiceImpl.java +++ b/xkt/src/main/java/com/ruoyi/xkt/service/impl/AdvertRoundServiceImpl.java @@ -623,6 +623,13 @@ public class AdvertRoundServiceImpl implements IAdvertRoundService { if (!SecurityUtils.isAdmin() && !SecurityUtils.isStoreManagerOrSub(createDTO.getStoreId())) { throw new ServiceException("当前用户非档口管理者或子账号,无权限操作!", HttpStatus.ERROR); } + //校验推广支付方式是否存在 + AdPayWay.of(createDTO.getPayWay()); + // 校验使用余额情况下,密码是否正确 + if (Objects.equals(createDTO.getPayWay(), AdPayWay.BALANCE.getValue()) + && !assetService.checkTransactionPassword(createDTO.getStoreId(), createDTO.getTransactionPassword())) { + throw new ServiceException("支付密码错误!请重新输入", HttpStatus.ERROR); + } // 当前营销推广位的锁 Object lockObj = Optional.ofNullable(advertLockMap.get(createDTO.getSymbol())).orElseThrow(() -> new ServiceException("symbol不存在!", HttpStatus.ERROR)); synchronized (lockObj) {