mirror of
				https://gitee.com/hhyykk/ipms-sjy.git
				synced 2025-11-04 20:28:44 +08:00 
			
		
		
		
	code review:优惠劵发放
This commit is contained in:
		@@ -138,9 +138,9 @@ public class CouponServiceImpl implements CouponService {
 | 
				
			|||||||
    public void takeCoupon(Long templateId, Set<Long> userIds, CouponTakeTypeEnum takeType) {
 | 
					    public void takeCoupon(Long templateId, Set<Long> userIds, CouponTakeTypeEnum takeType) {
 | 
				
			||||||
        CouponTemplateDO template = couponTemplateService.getCouponTemplate(templateId);
 | 
					        CouponTemplateDO template = couponTemplateService.getCouponTemplate(templateId);
 | 
				
			||||||
        // 1. 过滤掉达到领取限制的用户
 | 
					        // 1. 过滤掉达到领取限制的用户
 | 
				
			||||||
        removeTakeLimitUserId(userIds, template);
 | 
					        removeTakeLimitUser(userIds, template);
 | 
				
			||||||
        // 2. 校验优惠劵是否可以领取
 | 
					        // 2. 校验优惠劵是否可以领取
 | 
				
			||||||
        validateCanTake(template, userIds, takeType);
 | 
					        validateCouponTemplateCanTake(template, userIds, takeType);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        // 3. 批量保存优惠劵
 | 
					        // 3. 批量保存优惠劵
 | 
				
			||||||
        couponMapper.insertBatch(convertList(userIds, userId -> CouponConvert.INSTANCE.convert(template, userId)));
 | 
					        couponMapper.insertBatch(convertList(userIds, userId -> CouponConvert.INSTANCE.convert(template, userId)));
 | 
				
			||||||
@@ -156,7 +156,7 @@ public class CouponServiceImpl implements CouponService {
 | 
				
			|||||||
     * @param userIds        领取人列表
 | 
					     * @param userIds        领取人列表
 | 
				
			||||||
     * @param takeType       领取方式
 | 
					     * @param takeType       领取方式
 | 
				
			||||||
     */
 | 
					     */
 | 
				
			||||||
    private void validateCanTake(CouponTemplateDO couponTemplate, Set<Long> userIds, CouponTakeTypeEnum takeType) {
 | 
					    private void validateCouponTemplateCanTake(CouponTemplateDO couponTemplate, Set<Long> userIds, CouponTakeTypeEnum takeType) {
 | 
				
			||||||
        // 如果所有用户都领取过,则抛出异常
 | 
					        // 如果所有用户都领取过,则抛出异常
 | 
				
			||||||
        if (CollUtil.isEmpty(userIds)) {
 | 
					        if (CollUtil.isEmpty(userIds)) {
 | 
				
			||||||
            throw exception(COUPON_TEMPLATE_USER_ALREADY_TAKE);
 | 
					            throw exception(COUPON_TEMPLATE_USER_ALREADY_TAKE);
 | 
				
			||||||
@@ -188,7 +188,7 @@ public class CouponServiceImpl implements CouponService {
 | 
				
			|||||||
     * @param userIds 用户编号数组
 | 
					     * @param userIds 用户编号数组
 | 
				
			||||||
     * @param couponTemplate 优惠劵模版
 | 
					     * @param couponTemplate 优惠劵模版
 | 
				
			||||||
     */
 | 
					     */
 | 
				
			||||||
    private void removeTakeLimitUserId(Set<Long> userIds, CouponTemplateDO couponTemplate) {
 | 
					    private void removeTakeLimitUser(Set<Long> userIds, CouponTemplateDO couponTemplate) {
 | 
				
			||||||
        if (couponTemplate.getTakeLimitCount() <= 0) {
 | 
					        if (couponTemplate.getTakeLimitCount() <= 0) {
 | 
				
			||||||
            return;
 | 
					            return;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user