From 5dc65923149df3dc4645fe1fa17d48754f6742ad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A3=B7=E5=8F=B6?= <14103883+leaf-phos@user.noreply.gitee.com> Date: Fri, 30 May 2025 16:05:41 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8F=89=E8=BD=A6=E9=83=A8=E7=BD=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/ruoyi/bst/area/domain/Area.java | 4 +++ .../com/ruoyi/bst/area/mapper/AreaMapper.xml | 6 ++++- .../channel/domain/enums/ChannelApiType.java | 13 ++++----- .../com/ruoyi/bst/credit/domain/Credit.java | 1 - .../ruoyi/bst/credit/mapper/CreditMapper.xml | 2 +- .../bst/credit/service/CreditValidator.java | 1 + .../service/impl/CreditConverterImpl.java | 2 ++ .../service/impl/CreditValidatorImpl.java | 1 + .../ruoyi/bst/creditPay/domain/CreditPay.java | 12 +++++++++ .../bst/creditPay/mapper/CreditPayMapper.xml | 17 +++++++++++- .../service/impl/CreditPayServiceImpl.java | 4 ++- .../bst/creditUser/domain/CreditUser.java | 1 - .../creditUser/domain/CreditUserQuery.java | 3 +++ .../creditUser/mapper/CreditUserMapper.java | 7 +++++ .../creditUser/mapper/CreditUserMapper.xml | 16 ++++++++--- .../service/CreditUserValidator.java | 6 +++++ .../service/impl/CreditUserServiceImpl.java | 27 +++++++++++++++++-- .../service/impl/CreditUserValidatorImpl.java | 27 +++++++++++++++++++ .../service/impl/OrderConverterImpl.java | 2 ++ .../bst/pay/service/impl/PayServiceImpl.java | 7 +++-- 20 files changed, 140 insertions(+), 19 deletions(-) diff --git a/ruoyi-service/src/main/java/com/ruoyi/bst/area/domain/Area.java b/ruoyi-service/src/main/java/com/ruoyi/bst/area/domain/Area.java index 254b88f..2aed547 100644 --- a/ruoyi-service/src/main/java/com/ruoyi/bst/area/domain/Area.java +++ b/ruoyi-service/src/main/java/com/ruoyi/bst/area/domain/Area.java @@ -192,6 +192,10 @@ public class Area extends BaseEntity implements LogBizParam @ApiModelProperty("超时是否自动断电") private Boolean timeoutLock; + @Excel(name = "骑行前是否需要绕车检查视频") + @ApiModelProperty("骑行前是否需要绕车检查视频") + private Boolean needCheckVideo; + @Override public Object logBizId() { return id; diff --git a/ruoyi-service/src/main/java/com/ruoyi/bst/area/mapper/AreaMapper.xml b/ruoyi-service/src/main/java/com/ruoyi/bst/area/mapper/AreaMapper.xml index 588f6ba..cdd87f1 100644 --- a/ruoyi-service/src/main/java/com/ruoyi/bst/area/mapper/AreaMapper.xml +++ b/ruoyi-service/src/main/java/com/ruoyi/bst/area/mapper/AreaMapper.xml @@ -49,6 +49,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ba.ring_radius, ba.required_ring_radius, ba.timeout_lock, + ba.need_check_video, su.nick_name as user_name, su.agent_id as agent_id, su.user_name as user_phone, @@ -177,6 +178,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ring_radius, required_ring_radius, timeout_lock, + need_check_video, #{userId}, @@ -216,7 +218,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{ringRadius}, #{requiredRingRadius}, #{timeoutLock}, - + #{needCheckVideo}, + @@ -265,6 +268,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ring_radius = #{data.ringRadius}, required_ring_radius = #{data.requiredRingRadius}, timeout_lock = #{data.timeoutLock}, + need_check_video = #{data.needCheckVideo}, diff --git a/ruoyi-service/src/main/java/com/ruoyi/bst/channel/domain/enums/ChannelApiType.java b/ruoyi-service/src/main/java/com/ruoyi/bst/channel/domain/enums/ChannelApiType.java index 5b6c031..51812bc 100644 --- a/ruoyi-service/src/main/java/com/ruoyi/bst/channel/domain/enums/ChannelApiType.java +++ b/ruoyi-service/src/main/java/com/ruoyi/bst/channel/domain/enums/ChannelApiType.java @@ -24,17 +24,18 @@ import lombok.Getter; @AllArgsConstructor public enum ChannelApiType { - WECHAT("WX", "微信支付",WxPayService.class, false), - ALI("ALI", "支付宝", AliPayService.class, true), - BANK("BANK", "银行卡", null, false), - BALANCE("BALANCE", "余额支付", null, true), - TM_WX("TM_WX", "太米微信支付", TmPayService.class, true), - CREDIT("CREDIT", "挂账", CreditPayServiceImpl.class, true); + WECHAT("WX", "微信支付",WxPayService.class, false, true), + ALI("ALI", "支付宝", AliPayService.class, true, true), + BANK("BANK", "银行卡", null, false, true), + BALANCE("BALANCE", "余额支付", null, true, true), + TM_WX("TM_WX", "太米微信支付", TmPayService.class, true, true), + CREDIT("CREDIT", "挂账", CreditPayServiceImpl.class, true, false); private final String type; private final String name; private final Class payApi; private final Boolean isRefundSync; // 退款是否同步通知 + private final Boolean needPay; // 是否需要前端调起支付 public static ChannelApiType parse(String type) { for (ChannelApiType value : ChannelApiType.values()) { diff --git a/ruoyi-service/src/main/java/com/ruoyi/bst/credit/domain/Credit.java b/ruoyi-service/src/main/java/com/ruoyi/bst/credit/domain/Credit.java index 2c6929d..ce750f9 100644 --- a/ruoyi-service/src/main/java/com/ruoyi/bst/credit/domain/Credit.java +++ b/ruoyi-service/src/main/java/com/ruoyi/bst/credit/domain/Credit.java @@ -38,7 +38,6 @@ public class Credit extends BaseEntity @Excel(name = "额度限制") @ApiModelProperty("额度限制") - @NotNull(message = "额度限制不能为空", groups = {ValidGroup.Create.class}) @Min(value = 0, message = "额度限制不能小于0") private BigDecimal limitAmount; diff --git a/ruoyi-service/src/main/java/com/ruoyi/bst/credit/mapper/CreditMapper.xml b/ruoyi-service/src/main/java/com/ruoyi/bst/credit/mapper/CreditMapper.xml index 4b7b431..05eddd4 100644 --- a/ruoyi-service/src/main/java/com/ruoyi/bst/credit/mapper/CreditMapper.xml +++ b/ruoyi-service/src/main/java/com/ruoyi/bst/credit/mapper/CreditMapper.xml @@ -161,7 +161,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" update bst_credit bc set bc.used_amount = bc.used_amount + #{amount} - where bc.id = #{id} and bc.used_amount + #{amount} <= bc.limit_amount + where bc.id = #{id} diff --git a/ruoyi-service/src/main/java/com/ruoyi/bst/credit/service/CreditValidator.java b/ruoyi-service/src/main/java/com/ruoyi/bst/credit/service/CreditValidator.java index ea7354c..8aec00e 100644 --- a/ruoyi-service/src/main/java/com/ruoyi/bst/credit/service/CreditValidator.java +++ b/ruoyi-service/src/main/java/com/ruoyi/bst/credit/service/CreditValidator.java @@ -23,4 +23,5 @@ public interface CreditValidator { * @return */ boolean hasPermission(List ids, AreaJoinPermission permission); + } diff --git a/ruoyi-service/src/main/java/com/ruoyi/bst/credit/service/impl/CreditConverterImpl.java b/ruoyi-service/src/main/java/com/ruoyi/bst/credit/service/impl/CreditConverterImpl.java index 3633bdc..f405238 100644 --- a/ruoyi-service/src/main/java/com/ruoyi/bst/credit/service/impl/CreditConverterImpl.java +++ b/ruoyi-service/src/main/java/com/ruoyi/bst/credit/service/impl/CreditConverterImpl.java @@ -29,6 +29,7 @@ public class CreditConverterImpl implements CreditConverter { po.setLimitAmount(data.getLimitAmount()); po.setCreateId(data.getCreateId()); po.setAreaId(data.getAreaId()); + po.setLogo(data.getLogo()); return po; } @@ -53,6 +54,7 @@ public class CreditConverterImpl implements CreditConverter { po.setStatus(data.getStatus()); po.setLimitAmount(data.getLimitAmount()); po.setAreaId(data.getAreaId()); + po.setLogo(data.getLogo()); return po; } diff --git a/ruoyi-service/src/main/java/com/ruoyi/bst/credit/service/impl/CreditValidatorImpl.java b/ruoyi-service/src/main/java/com/ruoyi/bst/credit/service/impl/CreditValidatorImpl.java index 67e8429..09c86ae 100644 --- a/ruoyi-service/src/main/java/com/ruoyi/bst/credit/service/impl/CreditValidatorImpl.java +++ b/ruoyi-service/src/main/java/com/ruoyi/bst/credit/service/impl/CreditValidatorImpl.java @@ -34,4 +34,5 @@ public class CreditValidatorImpl implements CreditValidator { List creditIds = creditMapper.selectIdList(query); return new HashSet<>(creditIds).containsAll(ids); } + } diff --git a/ruoyi-service/src/main/java/com/ruoyi/bst/creditPay/domain/CreditPay.java b/ruoyi-service/src/main/java/com/ruoyi/bst/creditPay/domain/CreditPay.java index 3945b50..19d35bb 100644 --- a/ruoyi-service/src/main/java/com/ruoyi/bst/creditPay/domain/CreditPay.java +++ b/ruoyi-service/src/main/java/com/ruoyi/bst/creditPay/domain/CreditPay.java @@ -80,4 +80,16 @@ public class CreditPay extends BaseEntity @Excel(name = "支付时间") @ApiModelProperty("支付时间") private LocalDateTime payTime; + + @Excel(name = "运营区名称") + @ApiModelProperty("运营区名称") + private String areaName; + + @Excel(name = "挂账方名称") + @ApiModelProperty("挂账方名称") + private String creditName; + + @Excel(name = "挂账用户名称") + @ApiModelProperty("挂账用户名称") + private String creditUserName; } diff --git a/ruoyi-service/src/main/java/com/ruoyi/bst/creditPay/mapper/CreditPayMapper.xml b/ruoyi-service/src/main/java/com/ruoyi/bst/creditPay/mapper/CreditPayMapper.xml index 4154e25..a9e97af 100644 --- a/ruoyi-service/src/main/java/com/ruoyi/bst/creditPay/mapper/CreditPayMapper.xml +++ b/ruoyi-service/src/main/java/com/ruoyi/bst/creditPay/mapper/CreditPayMapper.xml @@ -23,7 +23,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" bcp.bst_type, bcp.description, bcp.status, - bcp.pay_time + bcp.pay_time, + bcp.area_name, + bcp.credit_name, + bcp.credit_user_name from bst_credit_pay bcp @@ -40,6 +43,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and bcp.description like concat('%', #{query.description}, '%') and bcp.status = #{query.status} and bcp.out_trade_no = #{query.eqOutTradeNo} + and bcp.area_name like concat('%', #{query.areaName}, '%') + and bcp.credit_name like concat('%', #{query.creditName}, '%') + and bcp.credit_user_name like concat('%', #{query.creditUserName}, '%') ${query.params.dataScope} @@ -73,6 +79,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" status, area_id, pay_time, + area_name, + credit_name, + credit_user_name, #{no}, @@ -90,6 +99,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{status}, #{areaId}, #{payTime}, + #{areaName}, + #{creditName}, + #{creditUserName}, @@ -117,6 +129,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" status = #{data.status}, area_id = #{data.areaId}, pay_time = #{data.payTime}, + area_name = #{data.areaName}, + credit_name = #{data.creditName}, + credit_user_name = #{data.creditUserName}, diff --git a/ruoyi-service/src/main/java/com/ruoyi/bst/creditPay/service/impl/CreditPayServiceImpl.java b/ruoyi-service/src/main/java/com/ruoyi/bst/creditPay/service/impl/CreditPayServiceImpl.java index ae89fb2..5d822d1 100644 --- a/ruoyi-service/src/main/java/com/ruoyi/bst/creditPay/service/impl/CreditPayServiceImpl.java +++ b/ruoyi-service/src/main/java/com/ruoyi/bst/creditPay/service/impl/CreditPayServiceImpl.java @@ -159,7 +159,6 @@ public class CreditPayServiceImpl implements CreditPayService, PayApi PayVO pay = payService.selectByNo(payable.payableOutTradeNo()); ServiceUtil.assertion(pay == null, "编号为%s的支付单不存在", payable.payableOutTradeNo()); - // 创建挂账支付单 CreditPay po = new CreditPay(); po.setOutTradeNo(payable.payableOutTradeNo()); @@ -171,6 +170,9 @@ public class CreditPayServiceImpl implements CreditPayService, PayApi po.setCreditUserId(creditUser.getId()); po.setUserId(creditUser.getUserId()); po.setAreaId(creditUser.getAreaId()); + po.setAreaName(creditUser.getAreaName()); + po.setCreditName(creditUser.getCreditName()); + po.setCreditUserName(creditUser.getUserName()); // 业务信息 po.setBstId(pay.getBstId()); po.setBstType(pay.getBstType()); diff --git a/ruoyi-service/src/main/java/com/ruoyi/bst/creditUser/domain/CreditUser.java b/ruoyi-service/src/main/java/com/ruoyi/bst/creditUser/domain/CreditUser.java index 193c64e..6a4be6a 100644 --- a/ruoyi-service/src/main/java/com/ruoyi/bst/creditUser/domain/CreditUser.java +++ b/ruoyi-service/src/main/java/com/ruoyi/bst/creditUser/domain/CreditUser.java @@ -36,7 +36,6 @@ public class CreditUser extends BaseEntity @Excel(name = "每月限额") @ApiModelProperty("每月限额") - @NotNull(message = "每月限额不能为空", groups = {ValidGroup.Create.class}) @Min(value = 0, message = "每月限额不能小于0") private BigDecimal limitAmount; diff --git a/ruoyi-service/src/main/java/com/ruoyi/bst/creditUser/domain/CreditUserQuery.java b/ruoyi-service/src/main/java/com/ruoyi/bst/creditUser/domain/CreditUserQuery.java index e16425a..7244ca7 100644 --- a/ruoyi-service/src/main/java/com/ruoyi/bst/creditUser/domain/CreditUserQuery.java +++ b/ruoyi-service/src/main/java/com/ruoyi/bst/creditUser/domain/CreditUserQuery.java @@ -10,4 +10,7 @@ public class CreditUserQuery extends CreditUserVO { @ApiModelProperty("id列表") private List ids; + + @ApiModelProperty("排除id") + private Long excludeId; } diff --git a/ruoyi-service/src/main/java/com/ruoyi/bst/creditUser/mapper/CreditUserMapper.java b/ruoyi-service/src/main/java/com/ruoyi/bst/creditUser/mapper/CreditUserMapper.java index fe253f0..795a135 100644 --- a/ruoyi-service/src/main/java/com/ruoyi/bst/creditUser/mapper/CreditUserMapper.java +++ b/ruoyi-service/src/main/java/com/ruoyi/bst/creditUser/mapper/CreditUserMapper.java @@ -80,4 +80,11 @@ public interface CreditUserMapper * @return */ int addUsedAmount(@Param("id") Long id, @Param("amount") BigDecimal amount); + + /** + * 查询数量 + * @param query 查询条件 + * @return 数量 + */ + int selectCount(@Param("query") CreditUserQuery query); } diff --git a/ruoyi-service/src/main/java/com/ruoyi/bst/creditUser/mapper/CreditUserMapper.xml b/ruoyi-service/src/main/java/com/ruoyi/bst/creditUser/mapper/CreditUserMapper.xml index 50fd51e..4f46ce9 100644 --- a/ruoyi-service/src/main/java/com/ruoyi/bst/creditUser/mapper/CreditUserMapper.xml +++ b/ruoyi-service/src/main/java/com/ruoyi/bst/creditUser/mapper/CreditUserMapper.xml @@ -41,6 +41,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and bc.name like concat('%', #{query.creditName}, '%') and ba.name like concat('%', #{query.areaName}, '%') and bc.area_id = #{query.areaId} + and bcu.id != #{query.excludeId} and bcu.id in @@ -64,7 +65,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" @@ -128,7 +129,16 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" update bst_credit_user bcu set bcu.used_amount = bcu.used_amount + #{amount} - where bcu.id = #{id} and bcu.used_amount + #{amount} <= bcu.limit_amount + where bcu.id = #{id} - + + + + diff --git a/ruoyi-service/src/main/java/com/ruoyi/bst/creditUser/service/CreditUserValidator.java b/ruoyi-service/src/main/java/com/ruoyi/bst/creditUser/service/CreditUserValidator.java index 5c70eec..0f59186 100644 --- a/ruoyi-service/src/main/java/com/ruoyi/bst/creditUser/service/CreditUserValidator.java +++ b/ruoyi-service/src/main/java/com/ruoyi/bst/creditUser/service/CreditUserValidator.java @@ -18,4 +18,10 @@ public interface CreditUserValidator { * 校验权限 */ boolean hasPermission(List ids, AreaJoinPermission permission); + + /** + * 校验挂账用户 + * @param id + */ + void validate(Long id); } diff --git a/ruoyi-service/src/main/java/com/ruoyi/bst/creditUser/service/impl/CreditUserServiceImpl.java b/ruoyi-service/src/main/java/com/ruoyi/bst/creditUser/service/impl/CreditUserServiceImpl.java index 9c46af4..7b3b7fd 100644 --- a/ruoyi-service/src/main/java/com/ruoyi/bst/creditUser/service/impl/CreditUserServiceImpl.java +++ b/ruoyi-service/src/main/java/com/ruoyi/bst/creditUser/service/impl/CreditUserServiceImpl.java @@ -5,6 +5,7 @@ import java.util.List; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.transaction.support.TransactionTemplate; import com.github.pagehelper.PageHelper; import com.ruoyi.bst.areaJoin.domain.enums.AreaJoinPermission; @@ -13,6 +14,7 @@ import com.ruoyi.bst.creditUser.domain.CreditUserQuery; import com.ruoyi.bst.creditUser.domain.CreditUserVO; import com.ruoyi.bst.creditUser.mapper.CreditUserMapper; import com.ruoyi.bst.creditUser.service.CreditUserService; +import com.ruoyi.bst.creditUser.service.CreditUserValidator; import com.ruoyi.common.utils.DateUtils; import com.ruoyi.common.utils.MathUtils; import com.ruoyi.common.utils.collection.CollectionUtils; @@ -29,6 +31,12 @@ public class CreditUserServiceImpl implements CreditUserService @Autowired private CreditUserMapper creditUserMapper; + @Autowired + private CreditUserValidator creditUserValidator; + + @Autowired + private TransactionTemplate transactionTemplate; + /** * 查询挂账用户 * @@ -76,7 +84,15 @@ public class CreditUserServiceImpl implements CreditUserService public int insertCreditUser(CreditUser creditUser) { creditUser.setCreateTime(DateUtils.getNowDate()); - return creditUserMapper.insertCreditUser(creditUser); + + Integer result = transactionTemplate.execute(status -> { + int rows = creditUserMapper.insertCreditUser(creditUser); + if (rows > 0) { + creditUserValidator.validate(creditUser.getId()); + } + return rows; + }); + return result == null ? 0 : result; } /** @@ -88,7 +104,14 @@ public class CreditUserServiceImpl implements CreditUserService @Override public int updateCreditUser(CreditUser creditUser) { - return creditUserMapper.updateCreditUser(creditUser); + Integer result = transactionTemplate.execute(status -> { + int rows = creditUserMapper.updateCreditUser(creditUser); + if (rows > 0) { + creditUserValidator.validate(creditUser.getId()); + } + return rows; + }); + return result == null ? 0 : result; } /** diff --git a/ruoyi-service/src/main/java/com/ruoyi/bst/creditUser/service/impl/CreditUserValidatorImpl.java b/ruoyi-service/src/main/java/com/ruoyi/bst/creditUser/service/impl/CreditUserValidatorImpl.java index f6aaa37..cc9a05d 100644 --- a/ruoyi-service/src/main/java/com/ruoyi/bst/creditUser/service/impl/CreditUserValidatorImpl.java +++ b/ruoyi-service/src/main/java/com/ruoyi/bst/creditUser/service/impl/CreditUserValidatorImpl.java @@ -8,9 +8,11 @@ import org.springframework.stereotype.Service; import com.ruoyi.bst.areaJoin.domain.enums.AreaJoinPermission; import com.ruoyi.bst.creditUser.domain.CreditUserQuery; +import com.ruoyi.bst.creditUser.domain.CreditUserVO; import com.ruoyi.bst.creditUser.mapper.CreditUserMapper; import com.ruoyi.bst.creditUser.service.CreditUserValidator; import com.ruoyi.common.utils.SecurityUtils; +import com.ruoyi.common.utils.ServiceUtil; import com.ruoyi.common.utils.collection.CollectionUtils; @Service @@ -36,5 +38,30 @@ public class CreditUserValidatorImpl implements CreditUserValidator { return new HashSet<>(creditUserIds).containsAll(ids); } + + @Override + public void validate(Long id) { + CreditUserVO creditUser = creditUserMapper.selectCreditUserById(id); + ServiceUtil.assertion(creditUser == null, "挂账用户不存在"); + + // 判断是否重复挂账 + boolean isRepeat = this.isRepeat(creditUser.getUserId(), creditUser.getCreditId(), creditUser.getId()); + ServiceUtil.assertion(isRepeat, "挂账用户%s已存在%s中,请勿重复挂账", creditUser.getUserName(), creditUser.getCreditName()); + + } + + + private boolean isRepeat(Long userId, Long creditId, Long id) { + if (userId == null || creditId == null) { + return false; + } + CreditUserQuery query = new CreditUserQuery(); + query.setUserId(userId); + query.setCreditId(creditId); + query.setExcludeId(id); + int count = creditUserMapper.selectCount(query); + return count > 0; + } + } diff --git a/ruoyi-service/src/main/java/com/ruoyi/bst/order/service/impl/OrderConverterImpl.java b/ruoyi-service/src/main/java/com/ruoyi/bst/order/service/impl/OrderConverterImpl.java index c860c9d..e3e0115 100644 --- a/ruoyi-service/src/main/java/com/ruoyi/bst/order/service/impl/OrderConverterImpl.java +++ b/ruoyi-service/src/main/java/com/ruoyi/bst/order/service/impl/OrderConverterImpl.java @@ -160,6 +160,7 @@ public class OrderConverterImpl implements OrderConverter{ // 设备 DeviceVO device = deviceService.selectDeviceById(dto.getDeviceId()); + deviceAssembler.assembleIot(device); bo.setDevice(device); if (device != null) { @@ -457,6 +458,7 @@ public class OrderConverterImpl implements OrderConverter{ DeviceVO newDevice = null; if (dto.getDeviceId() != null) { newDevice = deviceService.selectDeviceById(dto.getDeviceId()); + deviceAssembler.assembleIot(newDevice); ServiceUtil.assertion(newDevice == null, "ID为%s的设备不存在", dto.getDeviceId()); } else if (StringUtils.isNotBlank(dto.getDeviceSn())) { newDevice = deviceService.selectDeviceBySn(dto.getDeviceSn()); diff --git a/ruoyi-service/src/main/java/com/ruoyi/bst/pay/service/impl/PayServiceImpl.java b/ruoyi-service/src/main/java/com/ruoyi/bst/pay/service/impl/PayServiceImpl.java index 30624f2..28a9194 100644 --- a/ruoyi-service/src/main/java/com/ruoyi/bst/pay/service/impl/PayServiceImpl.java +++ b/ruoyi-service/src/main/java/com/ruoyi/bst/pay/service/impl/PayServiceImpl.java @@ -349,7 +349,6 @@ public class PayServiceImpl implements PayService { this.handleSuccess(pay.getNo(), LocalDateTime.now()); }, 1L, TimeUnit.SECONDS); } else { - vo.setNeedPay(true); // 获取渠道信息 ChannelVO channel = channelService.selectChannelByChannelId(pay.getChannelId()); ServiceUtil.assertion(channel == null, "ID为%s的支付渠道不存在", pay.getChannelId()); @@ -357,7 +356,11 @@ public class PayServiceImpl implements PayService { channel.getName()); // 获取API - PayApi payApi = ChannelApiType.getPayApi(channel.getApiType()); + ChannelApiType apiType = ChannelApiType.parse(channel.getApiType()); + ServiceUtil.assertion(apiType == null, "ID为%s的支付渠道API类型不存在", pay.getChannelId()); + vo.setNeedPay(apiType.getNeedPay()); + + PayApi payApi = apiType.getPayApi(apiType); ServiceUtil.assertion(payApi == null, "当前支付渠道开发中,请尝试其他渠道"); // 获取应用信息