فهرست منبع

fix 限单支付宝随机

zoujiajian 1 سال پیش
والد
کامیت
2e4eea5815
1فایلهای تغییر یافته به همراه8 افزوده شده و 1 حذف شده
  1. 8 1
      netflix-service/src/main/java/com/cyksj/service/pay/impl/AliPayCommonServiceImpl.java

+ 8 - 1
netflix-service/src/main/java/com/cyksj/service/pay/impl/AliPayCommonServiceImpl.java

@@ -2,6 +2,7 @@ package com.cyksj.service.pay.impl;
 
 import cn.hutool.core.date.DateTime;
 import cn.hutool.core.date.DateUtil;
+import cn.hutool.core.util.RandomUtil;
 import cn.hutool.core.util.StrUtil;
 import com.alipay.api.AlipayApiException;
 import com.alipay.api.AlipayClient;
@@ -211,8 +212,14 @@ public class AliPayCommonServiceImpl implements AliPayCommonService {
 				.gt(ZfbShopOrderDayLimit::getDayRemainOrders, 0)
 				.gt(ZfbShopOrderDayLimit::getHourRemainOrders, 0)
 				.eq(ZfbShopOrderDayLimit::getStatus, 1));
+		int randomIndex = RandomUtil.randomInt(orderDayLimits.size());
+		ZfbShopOrderDayLimit dayLimit = orderDayLimits.get(randomIndex);
+		Integer update = zfbShopOrderDayLimitMapper.decrRemainOrdersById(dayLimit.getId());
+		if (update == 1) {
+			return dayLimit;
+		}
 		for (ZfbShopOrderDayLimit orderDayLimit : orderDayLimits) {
-			Integer update = zfbShopOrderDayLimitMapper.decrRemainOrdersById(orderDayLimit.getId());
+			update = zfbShopOrderDayLimitMapper.decrRemainOrdersById(orderDayLimit.getId());
 			if (update == 1) {
 				return orderDayLimit;
 			}