diff --git a/yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/pay/controller/channel/vo/PayChannelCreateReqVO.java b/yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/pay/controller/channel/vo/PayChannelCreateReqVO.java index e0fac8382..a814b7b86 100644 --- a/yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/pay/controller/channel/vo/PayChannelCreateReqVO.java +++ b/yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/pay/controller/channel/vo/PayChannelCreateReqVO.java @@ -14,10 +14,8 @@ import javax.validation.constraints.NotBlank; @ToString(callSuper = true) public class PayChannelCreateReqVO extends PayChannelBaseVO { - - @ApiModelProperty(value = "通道配置的json字符串") + @ApiModelProperty(value = "通道配置的 json 字符串") @NotBlank(message = "通道配置不能为空") private String config; - } diff --git a/yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/pay/service/channel/impl/PayChannelServiceImpl.java b/yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/pay/service/channel/impl/PayChannelServiceImpl.java index df10b87bf..7f96b34f5 100644 --- a/yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/pay/service/channel/impl/PayChannelServiceImpl.java +++ b/yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/pay/service/channel/impl/PayChannelServiceImpl.java @@ -11,11 +11,8 @@ import cn.iocoder.yudao.adminserver.modules.pay.service.channel.PayChannelServic import cn.iocoder.yudao.coreservice.modules.pay.dal.dataobject.merchant.PayChannelDO; import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.pay.core.client.PayClientConfig; -import cn.iocoder.yudao.framework.pay.core.client.impl.wx.WXPayClientConfig; import cn.iocoder.yudao.framework.pay.core.enums.PayChannelEnum; import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.stereotype.Service; import org.springframework.util.Assert; import org.springframework.validation.annotation.Validated; @@ -25,7 +22,8 @@ import javax.validation.Validator; import java.util.Collection; import java.util.List; -import static cn.iocoder.yudao.coreservice.modules.pay.enums.PayErrorCodeCoreConstants.*; +import static cn.iocoder.yudao.coreservice.modules.pay.enums.PayErrorCodeCoreConstants.CHANNEL_EXIST_SAME_CHANNEL_ERROR; +import static cn.iocoder.yudao.coreservice.modules.pay.enums.PayErrorCodeCoreConstants.CHANNEL_NOT_EXISTS; import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; /** @@ -48,6 +46,7 @@ public class PayChannelServiceImpl implements PayChannelService { public Long createChannel(PayChannelCreateReqVO reqVO) { // 断言是否有重复的 PayChannelDO channelDO = this.getChannelByConditions(reqVO.getMerchantId(), reqVO.getAppId(), reqVO.getCode()); + // TODO @aquan:这里会抛出系统异常,不会抛出 ServiceException Assert.isNull(channelDO, CHANNEL_EXIST_SAME_CHANNEL_ERROR.getMsg()); // 新增渠道 @@ -154,4 +153,5 @@ public class PayChannelServiceImpl implements PayChannelService { config.verifyParam(validator); channel.setConfig(config); } + } diff --git a/yudao-framework/yudao-spring-boot-starter-biz-pay/src/main/java/cn/iocoder/yudao/framework/pay/core/client/impl/wx/WXPayClientConfig.java b/yudao-framework/yudao-spring-boot-starter-biz-pay/src/main/java/cn/iocoder/yudao/framework/pay/core/client/impl/wx/WXPayClientConfig.java index 98b7e4677..692148f73 100644 --- a/yudao-framework/yudao-spring-boot-starter-biz-pay/src/main/java/cn/iocoder/yudao/framework/pay/core/client/impl/wx/WXPayClientConfig.java +++ b/yudao-framework/yudao-spring-boot-starter-biz-pay/src/main/java/cn/iocoder/yudao/framework/pay/core/client/impl/wx/WXPayClientConfig.java @@ -1,18 +1,12 @@ package cn.iocoder.yudao.framework.pay.core.client.impl.wx; import cn.hutool.core.io.IoUtil; -import cn.hutool.json.JSONObject; -import cn.hutool.json.JSONUtil; import cn.iocoder.yudao.framework.pay.core.client.PayClientConfig; -import com.alibaba.fastjson.JSON; import lombok.Data; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.Assert; -import javax.annotation.Resource; import javax.validation.ConstraintViolation; import javax.validation.Validator; -import javax.validation.constraints.AssertTrue; import javax.validation.constraints.NotBlank; import java.io.FileInputStream; import java.io.FileNotFoundException; @@ -95,7 +89,6 @@ public class WXPayClientConfig implements PayClientConfig { @NotBlank(message = "apiV3 秘钥值 不能为空", groups = V3.class) private String apiV3Key; - /** * 分组校验 v2版本 */ @@ -108,6 +101,7 @@ public class WXPayClientConfig implements PayClientConfig { public interface V3 { } + // TODO @aquan:1)已经有注释,不用重复注释;2)方法名改成 validate,比较适合 validator;3)断言是否有异常,可以封一个 ConstraintViolationException 异常 /** * 验证配置参数是否正确 * @param validator 校验对象 @@ -129,5 +123,4 @@ public class WXPayClientConfig implements PayClientConfig { System.out.println(IoUtil.readUtf8(new FileInputStream(path))); } - } diff --git a/yudao-framework/yudao-spring-boot-starter-biz-pay/src/main/java/cn/iocoder/yudao/framework/pay/core/enums/PayChannelEnum.java b/yudao-framework/yudao-spring-boot-starter-biz-pay/src/main/java/cn/iocoder/yudao/framework/pay/core/enums/PayChannelEnum.java index eaa106614..3c5256495 100644 --- a/yudao-framework/yudao-spring-boot-starter-biz-pay/src/main/java/cn/iocoder/yudao/framework/pay/core/enums/PayChannelEnum.java +++ b/yudao-framework/yudao-spring-boot-starter-biz-pay/src/main/java/cn/iocoder/yudao/framework/pay/core/enums/PayChannelEnum.java @@ -51,12 +51,14 @@ public enum PayChannelEnum { return ArrayUtil.firstMatch(o -> o.getCode().equals(code), values()); } + // TODO @aquan:加一个 configClass 字段,不用 switch 的方式哈。不然新增一个支付方式,需要改的方法有点多 /** * 根据编码得到支付类 + * * @param code 编码 * @return 支付配置类 */ - public static Class findByCodeGetClass(String code){ + public static Class findByCodeGetClass(String code) { switch (PayChannelEnum.getByCode(code)){ case WX_PUB: case WX_LITE: