|
@@ -270,7 +270,7 @@ public class ActivityRewardServiceImpl extends ServiceImpl<ActivityRewardDao, Ac
|
|
|
List<Long> activityRewardIdList = new ArrayList<>();
|
|
|
List<String> rewardNameList = new ArrayList<>();
|
|
|
try {
|
|
|
- // lock.lock();
|
|
|
+ lock.lock();
|
|
|
for (ActivityReward activityReward : activityRewards) {
|
|
|
int update = activityPlanRewardService.reduceStock(activityId, activityReward.getId());
|
|
|
if (update == 0) {
|
|
@@ -311,7 +311,9 @@ public class ActivityRewardServiceImpl extends ServiceImpl<ActivityRewardDao, Ac
|
|
|
sendActivityMessage(userId, activityPlan.getActivityName(),name, activityPlan.getActivityClient());
|
|
|
}
|
|
|
} finally {
|
|
|
- lock.unlock();
|
|
|
+ if (lock.getHoldCount() != 0 && lock.isHeldByCurrentThread()) {
|
|
|
+ lock.unlock();
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
return activityRewardIdList;
|