code review:积分、优惠劵、佣金等逻辑

This commit is contained in:
YunaiV
2023-10-01 23:31:07 +08:00
parent 057952bdeb
commit d4417d2474
27 changed files with 47 additions and 74 deletions

View File

@@ -178,8 +178,9 @@ public class CouponServiceImpl implements CouponService {
}
@Override
// TODO @疯狂:搞个事务;
public void takeCouponByRegister(Long userId) {
List<CouponTemplateDO> templates = couponTemplateService.getCouponTemplateByTakeType(CouponTakeTypeEnum.REGISTER);
List<CouponTemplateDO> templates = couponTemplateService.getCouponTemplateListByTakeType(CouponTakeTypeEnum.REGISTER);
for (CouponTemplateDO template : templates) {
takeCoupon(template.getId(), CollUtil.newHashSet(userId), CouponTakeTypeEnum.REGISTER);
}
@@ -226,16 +227,15 @@ public class CouponServiceImpl implements CouponService {
@Override
public Map<Long, Boolean> getUserCanCanTakeMap(Long userId, List<CouponTemplateDO> templates) {
// 1. 未登录时,都显示可以领取
Map<Long, Boolean> userCanTakeMap = convertMap(templates, CouponTemplateDO::getId, templateId -> true);
// 未登录时,都显示可以领取
if (userId == null) {
return userCanTakeMap;
}
// 过滤领取数量无限制的
// 2.1 过滤领取数量无限制的
Set<Long> templateIds = convertSet(templates, CouponTemplateDO::getId, template -> template.getTakeLimitCount() != -1);
// 检查用户领取的数量是否超过限制
// 2.2 检查用户领取的数量是否超过限制
if (CollUtil.isNotEmpty(templateIds)) {
Map<Long, Integer> couponTakeCountMap = this.getTakeCountMapByTemplateIds(templateIds, userId);
for (CouponTemplateDO template : templates) {
@@ -243,7 +243,6 @@ public class CouponServiceImpl implements CouponService {
userCanTakeMap.put(template.getId(), takeCount == null || takeCount < template.getTakeLimitCount());
}
}
return userCanTakeMap;
}

View File

@@ -77,7 +77,7 @@ public interface CouponTemplateService {
* @param takeType 领取方式
* @return 优惠券模板列表
*/
List<CouponTemplateDO> getCouponTemplateByTakeType(CouponTakeTypeEnum takeType);
List<CouponTemplateDO> getCouponTemplateListByTakeType(CouponTakeTypeEnum takeType);
/**
* 获得优惠券模板列表

View File

@@ -116,7 +116,7 @@ public class CouponTemplateServiceImpl implements CouponTemplateService {
}
@Override
public List<CouponTemplateDO> getCouponTemplateByTakeType(CouponTakeTypeEnum takeType) {
public List<CouponTemplateDO> getCouponTemplateListByTakeType(CouponTakeTypeEnum takeType) {
return couponTemplateMapper.selectListByTakeType(takeType.getValue());
}