|
|
@@ -14,6 +14,7 @@ import com.alipay.api.request.AlipayTradeWapPayRequest;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Assert;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
import com.cyksj.common.EnvCommonService;
|
|
|
+import com.cyksj.common.constant.Constant;
|
|
|
import com.cyksj.common.exception.BusinessRuntimeException;
|
|
|
import com.cyksj.common.snowflake.Sequence;
|
|
|
import com.cyksj.common.util.Codec;
|
|
|
@@ -59,6 +60,8 @@ public class AliPayCommonServiceImpl implements AliPayCommonService {
|
|
|
|
|
|
private final GoodsDonMapper goodsDonMapper;
|
|
|
|
|
|
+ private final GoodsDonCategoryRelateMapper goodsDonCategoryRelateMapper;
|
|
|
+
|
|
|
private final ShopConfigMapper shopConfigMapper;
|
|
|
|
|
|
private final EnvCommonService envCommonService;
|
|
|
@@ -133,7 +136,7 @@ public class AliPayCommonServiceImpl implements AliPayCommonService {
|
|
|
//排除推广链接
|
|
|
if (StrUtil.isEmpty(appId)) {
|
|
|
//获取每日订单限制 支付宝商户
|
|
|
- ZfbShopOrderDayLimit dayLimit = getZfbShopOrdersDayLimit();
|
|
|
+ ZfbShopOrderDayLimit dayLimit = getZfbShopOrdersDayLimit(orderDon.getGoodsId());
|
|
|
if (dayLimit == null) {
|
|
|
//获取支付宝默认商户
|
|
|
appId = sysConfigService.getDefaultShopConfigByType("zfb");
|
|
|
@@ -204,14 +207,19 @@ public class AliPayCommonServiceImpl implements AliPayCommonService {
|
|
|
return aliPayParams;
|
|
|
}
|
|
|
|
|
|
- private ZfbShopOrderDayLimit getZfbShopOrdersDayLimit() {
|
|
|
+ private ZfbShopOrderDayLimit getZfbShopOrdersDayLimit(Long goodsId) {
|
|
|
int hour = DateUtil.hour(DateTime.now(), true);
|
|
|
+ //如果是ai订单 不分配给善缘
|
|
|
+ Integer aiCount = goodsDonCategoryRelateMapper.selectCount(Wrappers.lambdaQuery(GoodsDonCategoryRelate.class)
|
|
|
+ .eq(GoodsDonCategoryRelate::getCategory, 1)
|
|
|
+ .eq(GoodsDonCategoryRelate::getGoodsId, goodsId));
|
|
|
List<ZfbShopOrderDayLimit> orderDayLimits = zfbShopOrderDayLimitMapper.selectList(Wrappers.lambdaQuery(ZfbShopOrderDayLimit.class)
|
|
|
.le(ZfbShopOrderDayLimit::getHourStart, hour)
|
|
|
.ge(ZfbShopOrderDayLimit::getHourEnd, hour)
|
|
|
.gt(ZfbShopOrderDayLimit::getDayRemainOrders, 0)
|
|
|
.gt(ZfbShopOrderDayLimit::getHourRemainOrders, 0)
|
|
|
- .eq(ZfbShopOrderDayLimit::getStatus, 1));
|
|
|
+ .eq(ZfbShopOrderDayLimit::getStatus, 1)
|
|
|
+ .ne(aiCount > 0, ZfbShopOrderDayLimit::getAppId, Constant.SY_SHOP_ID));
|
|
|
if (orderDayLimits.isEmpty()) {
|
|
|
return null;
|
|
|
}
|