zoujiajian 1 سال پیش
والد
کامیت
2ffd8d2d72

+ 2 - 0
netflix-dao/src/main/java/com/cyksj/model/entity/ZfbShopOrderDayLimit.java

@@ -53,4 +53,6 @@ public class ZfbShopOrderDayLimit extends BaseEntity {
 	private Integer hourEnd;
 
 	private String remark;
+
+	private Boolean status;
 }

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

@@ -6,6 +6,7 @@ import cn.hutool.core.util.StrUtil;
 import com.alipay.api.AlipayApiException;
 import com.alipay.api.AlipayClient;
 import com.alipay.api.AlipayRequest;
+import com.alipay.api.AlipayResponse;
 import com.alipay.api.domain.AlipayTradePagePayModel;
 import com.alipay.api.domain.AlipayTradeWapPayModel;
 import com.alipay.api.request.AlipayTradePagePayRequest;
@@ -248,9 +249,21 @@ public class AliPayCommonServiceImpl implements AliPayCommonService {
 		alipayRequest.setNotifyUrl(notifyUrl);
 		String form = null;
 		try {
+			AlipayResponse alipayResponse = alipayClient.pageExecute(alipayRequest);
+			if (alipayResponse.isSuccess()) {
+				String shopId = orderPayBuilderDto.getShopId();
+				ZfbShopOrderDayLimit dayLimit = zfbShopOrderDayLimitMapper.selectOne(Wrappers.lambdaQuery(ZfbShopOrderDayLimit.class)
+						.eq(ZfbShopOrderDayLimit::getAppId, shopId)
+						.last("limit 1"));
+				if (dayLimit != null) {
+					dayLimit.setStatus(false);
+					zfbShopOrderDayLimitMapper.updateById(dayLimit);
+				}
+				throw BusinessRuntimeException.getInstance("支付异常,请刷新页面重试");
+			}
 			//调用SDK生成表单
 			//pagePay 统一下单接口
-			form = alipayClient.pageExecute(alipayRequest).getBody();
+			form = alipayResponse.getBody();
 		} catch (AlipayApiException e) {
 			log.error("支付宝生成表单错误:{}", StringUtil.getErrorText(e));
 		}