mirror of
				https://gitee.com/hhyykk/ipms-sjy.git
				synced 2025-10-31 10:18:42 +08:00 
			
		
		
		
	拼团活动:更改创建拼团记录的校验方式
This commit is contained in:
		| @@ -65,35 +65,35 @@ public class CombinationRecordServiceImpl implements CombinationRecordService { | |||||||
|     @Transactional(rollbackFor = Exception.class) |     @Transactional(rollbackFor = Exception.class) | ||||||
|     public void updateCombinationRecordStatusByUserIdAndOrderId(Integer status, Long userId, Long orderId) { |     public void updateCombinationRecordStatusByUserIdAndOrderId(Integer status, Long userId, Long orderId) { | ||||||
|         // 校验拼团是否存在 |         // 校验拼团是否存在 | ||||||
|         CombinationRecordDO recordDO = validateCombinationRecord(userId, orderId); |         CombinationRecordDO record = validateCombinationRecord(userId, orderId); | ||||||
|  |  | ||||||
|         // 更新状态 |         // 更新状态 | ||||||
|         recordDO.setStatus(status); |         record.setStatus(status); | ||||||
|         recordMapper.updateById(recordDO); |         recordMapper.updateById(record); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     @Override |     @Override | ||||||
|     @Transactional(rollbackFor = Exception.class) |     @Transactional(rollbackFor = Exception.class) | ||||||
|     public void updateRecordStatusAndStartTimeByUserIdAndOrderId(Integer status, Long userId, Long orderId, LocalDateTime startTime) { |     public void updateRecordStatusAndStartTimeByUserIdAndOrderId(Integer status, Long userId, Long orderId, LocalDateTime startTime) { | ||||||
|         CombinationRecordDO recordDO = validateCombinationRecord(userId, orderId); |         CombinationRecordDO record = validateCombinationRecord(userId, orderId); | ||||||
|         // 更新状态 |         // 更新状态 | ||||||
|         recordDO.setStatus(status); |         record.setStatus(status); | ||||||
|         // 更新开始时间 |         // 更新开始时间 | ||||||
|         recordDO.setStartTime(startTime); |         record.setStartTime(startTime); | ||||||
|         recordMapper.updateById(recordDO); |         recordMapper.updateById(record); | ||||||
|  |  | ||||||
|         // 更新拼团参入人数 |         // 更新拼团参入人数 | ||||||
|         List<CombinationRecordDO> recordDOs = recordMapper.selectListByHeadIdAndStatus(recordDO.getHeadId(), status); |         List<CombinationRecordDO> records = recordMapper.selectListByHeadIdAndStatus(record.getHeadId(), status); | ||||||
|         if (CollUtil.isNotEmpty(recordDOs)) { |         if (CollUtil.isNotEmpty(records)) { | ||||||
|             recordDOs.forEach(item -> { |             records.forEach(item -> { | ||||||
|                 item.setUserCount(recordDOs.size()); |                 item.setUserCount(records.size()); | ||||||
|                 // 校验拼团是否满足要求 |                 // 校验拼团是否满足要求 | ||||||
|                 if (ObjectUtil.equal(recordDOs.size(), recordDO.getUserSize())) { |                 if (ObjectUtil.equal(records.size(), record.getUserSize())) { | ||||||
|                     item.setStatus(CombinationRecordStatusEnum.SUCCESS.getStatus()); |                     item.setStatus(CombinationRecordStatusEnum.SUCCESS.getStatus()); | ||||||
|                 } |                 } | ||||||
|             }); |             }); | ||||||
|         } |         } | ||||||
|         recordMapper.updateBatch(recordDOs); |         recordMapper.updateBatch(records); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     private CombinationRecordDO validateCombinationRecord(Long userId, Long orderId) { |     private CombinationRecordDO validateCombinationRecord(Long userId, Long orderId) { | ||||||
| @@ -107,7 +107,8 @@ public class CombinationRecordServiceImpl implements CombinationRecordService { | |||||||
|  |  | ||||||
|     // TODO @芋艿:在详细预览下; |     // TODO @芋艿:在详细预览下; | ||||||
|     @Override |     @Override | ||||||
|     public KeyValue<CombinationActivityDO, CombinationProductDO> validateCombinationRecord(Long activityId, Long userId, Long skuId, Integer count) { |     public KeyValue<CombinationActivityDO, CombinationProductDO> validateCombinationRecord( | ||||||
|  |             Long activityId, Long userId, Long skuId, Integer count) { | ||||||
|         // 1.1 校验拼团活动是否存在 |         // 1.1 校验拼团活动是否存在 | ||||||
|         CombinationActivityDO activity = combinationActivityService.validateCombinationActivityExists(activityId); |         CombinationActivityDO activity = combinationActivityService.validateCombinationActivityExists(activityId); | ||||||
|         // 1.2 校验活动是否开启 |         // 1.2 校验活动是否开启 | ||||||
| @@ -163,11 +164,10 @@ public class CombinationRecordServiceImpl implements CombinationRecordService { | |||||||
|     @Override |     @Override | ||||||
|     @Transactional(rollbackFor = Exception.class) |     @Transactional(rollbackFor = Exception.class) | ||||||
|     public void createCombinationRecord(CombinationRecordCreateReqDTO reqDTO) { |     public void createCombinationRecord(CombinationRecordCreateReqDTO reqDTO) { | ||||||
|         // 1.1、 校验拼团活动 |         // 1、校验拼团活动 | ||||||
|         KeyValue<CombinationActivityDO, CombinationProductDO> keyValue = validateCombinationRecord( |         KeyValue<CombinationActivityDO, CombinationProductDO> keyValue = validateCombinationRecord( | ||||||
|                 reqDTO.getActivityId(), reqDTO.getUserId(), reqDTO.getSkuId(), reqDTO.getCount()); |                 reqDTO.getActivityId(), reqDTO.getUserId(), reqDTO.getSkuId(), reqDTO.getCount()); | ||||||
|         CombinationActivityDO activity = keyValue.getKey(); |         CombinationActivityDO activity = keyValue.getKey(); | ||||||
|  |  | ||||||
|         // 2、校验用户是否参加了其它拼团 |         // 2、校验用户是否参加了其它拼团 | ||||||
|         List<CombinationRecordDO> recordDOList = recordMapper.selectListByUserIdAndStatus(reqDTO.getUserId(), CombinationRecordStatusEnum.IN_PROGRESS.getStatus()); |         List<CombinationRecordDO> recordDOList = recordMapper.selectListByUserIdAndStatus(reqDTO.getUserId(), CombinationRecordStatusEnum.IN_PROGRESS.getStatus()); | ||||||
|         if (CollUtil.isNotEmpty(recordDOList)) { |         if (CollUtil.isNotEmpty(recordDOList)) { | ||||||
| @@ -183,18 +183,18 @@ public class CombinationRecordServiceImpl implements CombinationRecordService { | |||||||
|         } |         } | ||||||
|         // 5、父拼团是否存在,是否已经满了 |         // 5、父拼团是否存在,是否已经满了 | ||||||
|         if (reqDTO.getHeadId() != null) { |         if (reqDTO.getHeadId() != null) { | ||||||
|             // 查询进行中的父拼团 |             // 5.1、查询进行中的父拼团 | ||||||
|             CombinationRecordDO record = recordMapper.selectOneByHeadId(reqDTO.getHeadId(), CombinationRecordStatusEnum.IN_PROGRESS.getStatus()); |             CombinationRecordDO record = recordMapper.selectOneByHeadId(reqDTO.getHeadId(), CombinationRecordStatusEnum.IN_PROGRESS.getStatus()); | ||||||
|             if (record == null) { |             if (record == null) { | ||||||
|                 throw exception(COMBINATION_RECORD_HEAD_NOT_EXISTS); |                 throw exception(COMBINATION_RECORD_HEAD_NOT_EXISTS); | ||||||
|             } |             } | ||||||
|             // 校验拼团是否满足要求 |             // 5.2、校验拼团是否满足要求 | ||||||
|             if (ObjectUtil.equal(record.getUserCount(), record.getUserSize())) { |             if (ObjectUtil.equal(record.getUserCount(), record.getUserSize())) { | ||||||
|                 throw exception(COMBINATION_RECORD_USER_FULL); |                 throw exception(COMBINATION_RECORD_USER_FULL); | ||||||
|             } |             } | ||||||
|         } |         } | ||||||
|  |  | ||||||
|         // 2. 创建拼团记录 |         // 6. 创建拼团记录 | ||||||
|         MemberUserRespDTO user = memberUserApi.getUser(reqDTO.getUserId()); |         MemberUserRespDTO user = memberUserApi.getUser(reqDTO.getUserId()); | ||||||
|         ProductSpuRespDTO spu = productSpuApi.getSpu(reqDTO.getSpuId()); |         ProductSpuRespDTO spu = productSpuApi.getSpu(reqDTO.getSpuId()); | ||||||
|         ProductSkuRespDTO sku = productSkuApi.getSku(reqDTO.getSkuId()); |         ProductSkuRespDTO sku = productSkuApi.getSku(reqDTO.getSkuId()); | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 puhui999
					puhui999