Commit 474eebd8c9e91e6f271d5cbb4ea3c01e0a0073ce

Authored by puhui999
1 parent f732e7a7

拼团活动:更改创建拼团记录的校验方式

yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/service/combination/CombinationRecordServiceImpl.java
@@ -164,22 +164,10 @@ public class CombinationRecordServiceImpl implements CombinationRecordService { @@ -164,22 +164,10 @@ public class CombinationRecordServiceImpl implements CombinationRecordService {
164 @Transactional(rollbackFor = Exception.class) 164 @Transactional(rollbackFor = Exception.class)
165 public void createCombinationRecord(CombinationRecordCreateReqDTO reqDTO) { 165 public void createCombinationRecord(CombinationRecordCreateReqDTO reqDTO) {
166 // 1.1、 校验拼团活动 166 // 1.1、 校验拼团活动
167 - CombinationActivityDO activity = combinationActivityService.validateCombinationActivityExists(reqDTO.getActivityId());  
168 - // 1.2 校验是否超出单次限购数量  
169 - if (reqDTO.getCount() > activity.getSingleLimitCount()) {  
170 - throw exception(COMBINATION_RECORD_FAILED_SINGLE_LIMIT_COUNT_EXCEED);  
171 - }  
172 - // 1.3、校验是否有拼团记录  
173 - List<CombinationRecordDO> records = getRecordListByUserIdAndActivityId(reqDTO.getUserId(), reqDTO.getActivityId());  
174 - if (CollUtil.isEmpty(records)) {  
175 - return;  
176 - }  
177 - // 1.4、校验是否超出总限购数量  
178 - Integer sumValue = getSumValue(convertList(records, CombinationRecordDO::getCount,  
179 - item -> ObjectUtil.equals(item.getStatus(), CombinationRecordStatusEnum.SUCCESS.getStatus())), i -> i, Integer::sum);  
180 - if ((sumValue + reqDTO.getCount()) > activity.getTotalLimitCount()) {  
181 - throw exception(COMBINATION_RECORD_FAILED_TOTAL_LIMIT_COUNT_EXCEED);  
182 - } 167 + KeyValue<CombinationActivityDO, CombinationProductDO> keyValue = validateCombinationRecord(
  168 + reqDTO.getActivityId(), reqDTO.getUserId(), reqDTO.getSkuId(), reqDTO.getCount());
  169 + CombinationActivityDO activity = keyValue.getKey();
  170 +
183 // 2、 校验用户是否参加了其它拼团 171 // 2、 校验用户是否参加了其它拼团
184 List<CombinationRecordDO> recordDOList = recordMapper.selectListByUserIdAndStatus(reqDTO.getUserId(), CombinationRecordStatusEnum.IN_PROGRESS.getStatus()); 172 List<CombinationRecordDO> recordDOList = recordMapper.selectListByUserIdAndStatus(reqDTO.getUserId(), CombinationRecordStatusEnum.IN_PROGRESS.getStatus());
185 if (CollUtil.isNotEmpty(recordDOList)) { 173 if (CollUtil.isNotEmpty(recordDOList)) {