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

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

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

@ -1,5 +1,6 @@
package com.ruoyi.common.core.redis; package com.ruoyi.common.core.redis;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -8,6 +9,7 @@ import java.util.List;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
@Service @Service
@Slf4j
public class RedisService { public class RedisService {
@Autowired @Autowired
private RedisCache redisCache; private RedisCache redisCache;
@ -50,7 +52,8 @@ public class RedisService {
public void lock(String key, String jobInfo, Integer lockSecond) throws Exception { public void lock(String key, String jobInfo, Integer lockSecond) throws Exception {
String existJobInfo = redisCache.getCacheObject(key); String existJobInfo = redisCache.getCacheObject(key);
if (StringUtils.isNotEmpty(existJobInfo)) { 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); redisCache.setCacheObject(key, jobInfo, lockSecond, TimeUnit.SECONDS);
} }

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

Loading…
Cancel
Save