订单提交优化,修复异常被吃掉的问题

pull/1/head
zccbbg 2 years ago
parent 55ea237f05
commit 974ddb0e1d

@ -44,15 +44,15 @@ aliyun:
bucketName: 你的bucketName # bucket 名称
wechat:
enabled: false
appId: 你的微信服务号信息
secret: 你的微信服务号信息
appId: 你的微信服务号信息h5的时候需要小程序的时候不需要
secret: 你的微信服务号信息h5的时候需要小程序的时候不需要
merchantId: 微信支付商户号
privateKeyPath: 微信支付密钥地址相对地址
merchantSerialNumber: 微信支付密钥对应的序列号
apiV3key: 微信支付apiV3key
notifyUrl: 微信支付回调地址
miniProgramAppId: 小程序apppid
miniProgramSecret:
miniProgramAppId: 小程序apppidh5的时候不需要
miniProgramSecret: 小程序Secreth5的时候不需要
sms:
enabled: true
# 阿里云 dysmsapi.aliyuncs.com

@ -1,5 +1,6 @@
package com.ruoyi.common.core.redis;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -8,6 +9,7 @@ import java.util.List;
import java.util.concurrent.TimeUnit;
@Service
@Slf4j
public class RedisService {
@Autowired
private RedisCache redisCache;
@ -50,7 +52,8 @@ public class RedisService {
public void lock(String key, String jobInfo, Integer lockSecond) throws Exception {
String existJobInfo = redisCache.getCacheObject(key);
if (StringUtils.isNotEmpty(existJobInfo)) {
throw new Exception(String.format("获取锁失败: redisKey: %s, existJobInfo: %s", key, existJobInfo));
log.info("获取锁失败: redisKey: {}, existJobInfo: {}", key, existJobInfo);
throw new Exception("请不要反复提交订单!");
}
redisCache.setCacheObject(key, jobInfo, lockSecond, TimeUnit.SECONDS);
}

@ -2,16 +2,8 @@ package com.cyl.h5.controller;
import com.alibaba.fastjson.JSONObject;
import com.cyl.h5.domain.dto.DeliveryReq;
import com.cyl.h5.domain.form.ApplyRefundForm;
import com.cyl.h5.domain.form.OrderCreateForm;
import com.cyl.h5.domain.form.CancelOrderForm;
import com.cyl.h5.domain.form.OrderPayForm;
import com.cyl.h5.domain.vo.OrderPayVO;
import com.cyl.h5.domain.vo.AftersaleRefundInfoVO;
import com.cyl.h5.domain.vo.CountOrderVO;
import com.cyl.h5.domain.vo.H5OrderVO;
import com.cyl.h5.domain.vo.OrderCalcVO;
import com.cyl.h5.domain.form.OrderSubmitForm;
import com.cyl.h5.domain.form.*;
import com.cyl.h5.domain.vo.*;
import com.cyl.h5.service.H5OrderService;
import com.cyl.manager.oms.domain.entity.Aftersale;
import com.cyl.manager.oms.domain.entity.Order;
@ -21,7 +13,6 @@ import com.cyl.manager.oms.service.OrderService;
import com.cyl.manager.ums.domain.entity.Member;
import com.ruoyi.common.constant.Constants;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.domain.model.LoginUser;
import com.ruoyi.common.core.redis.RedisService;
import com.ruoyi.common.enums.AftersaleStatus;
import com.ruoyi.common.enums.OrderStatus;
@ -61,7 +52,7 @@ public class H5OrderController {
return ResponseEntity.ok(service.submit(form));
}catch (Exception e){
log.info("创建订单方法异常", e);
throw new RuntimeException("服务繁忙,稍后再试");
throw new RuntimeException(e.getMessage());
}finally {
try {
redisService.unLock(redisKey, redisValue);

Loading…
Cancel
Save