Ver Fonte

增加休眠时间,减少冲突

周箭河 há 4 anos atrás
pai
commit
1ce2538b68

+ 3 - 4
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupServiceImpl.java

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

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

@@ -143,6 +143,9 @@ public class SporadicChargeInfoImpl extends BaseServiceImpl<Integer, SporadicCha
                 //重试避免人数过多频繁冲突
                 boolean flag = false;
                 for (int i = 1; i <= 100; i++) {
+                    int max=10,min=1;
+                    long ran2 = (long) (Math.random()*(max-min)+min);
+                    Thread.sleep(ran2);
                     info = sporadicChargeInfoDao.get(info.getId());
                     info.setPaidNum(info.getPaidNum() - 1);
                     info.setUpdateTime(new Date());
@@ -151,9 +154,6 @@ 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("活动火爆,请稍后再试");