Browse Source

Merge remote-tracking branch 'origin/master'

Joburgess 5 years ago
parent
commit
bd42f5fb83

+ 1 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/SporadicChargeInfoService.java

@@ -17,7 +17,7 @@ public interface SporadicChargeInfoService extends BaseService<Integer, Sporadic
      *
      * @param order
      */
-    Boolean renewForCallback(StudentPaymentOrder order);
+    Boolean renewForCallback(StudentPaymentOrder order) throws Exception;
 
     /**
      * 分页查询

+ 5 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupServiceImpl.java

@@ -396,7 +396,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         if (chargeInfo.getMaxNum() != null) {
             //重试避免人数过多频繁冲突
             boolean flag = false;
-            for (int i = 1; i <= 10; i++) {
+            for (int i = 1; i <= 100; i++) {
                 chargeInfo = sporadicChargeInfoDao.get(sporadicPayDto.getSporadicId());
                 if (chargeInfo.getMaxNum() != null && chargeInfo.getMaxNum() <= chargeInfo.getPaidNum()) {
                     throw new BizException("活动人数暂时已满,请稍后再试");
@@ -408,6 +408,10 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
                     flag = true;
                     break;
                 }
+
+                int max=100,min=1;
+                long ran2 = (long) (Math.random()*(max-min)+min);
+                Thread.sleep(ran2);
             }
             if (!flag) {
                 throw new BizException("活动火爆,请稍后再试");

+ 5 - 2
mec-biz/src/main/java/com/ym/mec/biz/service/impl/SporadicChargeInfoImpl.java

@@ -63,7 +63,7 @@ public class SporadicChargeInfoImpl extends BaseServiceImpl<Integer, SporadicCha
 
     @Override
     @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
-    public Boolean renewForCallback(StudentPaymentOrder studentPaymentOrder) {
+    public Boolean renewForCallback(StudentPaymentOrder studentPaymentOrder) throws Exception {
         int updateCount = studentPaymentOrderDao.update(studentPaymentOrder);
         if (updateCount <= 0) {
             throw new BizException("订单更新失败");
@@ -142,7 +142,7 @@ public class SporadicChargeInfoImpl extends BaseServiceImpl<Integer, SporadicCha
             if (info.getMaxNum() != null && info.getPaidNum() > 0) {
                 //重试避免人数过多频繁冲突
                 boolean flag = false;
-                for (int i = 1; i <= 10; i++) {
+                for (int i = 1; i <= 100; i++) {
                     info = sporadicChargeInfoDao.get(info.getId());
                     info.setPaidNum(info.getPaidNum() - 1);
                     info.setUpdateTime(new Date());
@@ -151,6 +151,9 @@ public class SporadicChargeInfoImpl extends BaseServiceImpl<Integer, SporadicCha
                         flag = true;
                         break;
                     }
+                    int max=100,min=1;
+                    long ran2 = (long) (Math.random()*(max-min)+min);
+                    Thread.sleep(ran2);
                 }
                 if (!flag) {
                     throw new BizException("活动火爆,请稍后再试");