|
@@ -1,5 +1,6 @@
|
|
package shop.alien.store.service.impl;
|
|
package shop.alien.store.service.impl;
|
|
|
|
|
|
|
|
+import com.alibaba.nacos.common.utils.CollectionUtils;
|
|
import com.aliyun.tea.utils.StringUtils;
|
|
import com.aliyun.tea.utils.StringUtils;
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
@@ -16,6 +17,7 @@ import shop.alien.entity.store.vo.LifeCouponStatusVo;
|
|
import shop.alien.entity.store.vo.LifeDiscountCouponStoreFriendVo;
|
|
import shop.alien.entity.store.vo.LifeDiscountCouponStoreFriendVo;
|
|
import shop.alien.entity.store.vo.LifeDiscountCouponVo;
|
|
import shop.alien.entity.store.vo.LifeDiscountCouponVo;
|
|
import shop.alien.mapper.*;
|
|
import shop.alien.mapper.*;
|
|
|
|
+import shop.alien.store.service.LifeDiscountCouponQuantumRulesService;
|
|
import shop.alien.store.service.LifeDiscountCouponService;
|
|
import shop.alien.store.service.LifeDiscountCouponService;
|
|
import shop.alien.util.common.constant.DiscountCouponEnum;
|
|
import shop.alien.util.common.constant.DiscountCouponEnum;
|
|
|
|
|
|
@@ -50,6 +52,8 @@ public class LifeDiscountCouponServiceImpl extends ServiceImpl<LifeDiscountCoupo
|
|
|
|
|
|
private final LifeDiscountCouponUnavailableRulesMapper lifeDiscountCouponUnavailableRulesMapper;
|
|
private final LifeDiscountCouponUnavailableRulesMapper lifeDiscountCouponUnavailableRulesMapper;
|
|
|
|
|
|
|
|
+ private final LifeDiscountCouponQuantumRulesMapper lifeDiscountCouponQuantumRulesMapper;
|
|
|
|
+
|
|
private final LifeDiscountCouponUserMapper lifeDiscountCouponUserMapper;
|
|
private final LifeDiscountCouponUserMapper lifeDiscountCouponUserMapper;
|
|
|
|
|
|
private final EssentialHolidayComparisonMapper essentialHolidayComparisonMapper;
|
|
private final EssentialHolidayComparisonMapper essentialHolidayComparisonMapper;
|
|
@@ -60,6 +64,9 @@ public class LifeDiscountCouponServiceImpl extends ServiceImpl<LifeDiscountCoupo
|
|
|
|
|
|
private final StoreInfoMapper storeInfoMapper;
|
|
private final StoreInfoMapper storeInfoMapper;
|
|
|
|
|
|
|
|
+ private final LifeDiscountCouponQuantumRulesService lifeDiscountCouponQuantumRulesService;
|
|
|
|
+
|
|
|
|
+
|
|
@Override
|
|
@Override
|
|
public boolean addDiscountCoupon(LifeDiscountCouponDto lifeDiscountCouponDto) {
|
|
public boolean addDiscountCoupon(LifeDiscountCouponDto lifeDiscountCouponDto) {
|
|
|
|
|
|
@@ -96,8 +103,29 @@ public class LifeDiscountCouponServiceImpl extends ServiceImpl<LifeDiscountCoupo
|
|
});
|
|
});
|
|
//领取规则
|
|
//领取规则
|
|
lifeDiscountCouponUnavailableRules.setUnavailableRuleType(DiscountCouponEnum.CLAIM_RULE.getValue());
|
|
lifeDiscountCouponUnavailableRules.setUnavailableRuleType(DiscountCouponEnum.CLAIM_RULE.getValue());
|
|
|
|
+ String claimRule = lifeDiscountCouponDto.getClaimRule();
|
|
|
|
+ //领取规则为自定义时,获取自定义数量
|
|
|
|
+ if (claimRule != null && claimRule.equals(DiscountCouponEnum.CUSTOMIZE.getValue())){
|
|
|
|
+ lifeDiscountCouponUnavailableRules.setCustomizeValue(lifeDiscountCouponDto.getClaimRuleCustomizeValue());
|
|
|
|
+ }
|
|
lifeDiscountCouponUnavailableRules.setUnavailableRuleValue(lifeDiscountCouponDto.getClaimRule());
|
|
lifeDiscountCouponUnavailableRules.setUnavailableRuleValue(lifeDiscountCouponDto.getClaimRule());
|
|
lifeDiscountCouponUnavailableRulesMapper.insert(lifeDiscountCouponUnavailableRules);
|
|
lifeDiscountCouponUnavailableRulesMapper.insert(lifeDiscountCouponUnavailableRules);
|
|
|
|
+ //指定时间段可用规则
|
|
|
|
+ List<LifeDiscountCouponQuantumRules> availableTimeQuantumList = lifeDiscountCouponDto.getAvailableTimeQuantum();
|
|
|
|
+ if(CollectionUtils.isNotEmpty(availableTimeQuantumList)){
|
|
|
|
+ availableTimeQuantumList.forEach(availableTimeQuantum->{
|
|
|
|
+ availableTimeQuantum.setDiscountCouponId(lifeDiscountCoupon.getId());
|
|
|
|
+ });
|
|
|
|
+ lifeDiscountCouponQuantumRulesService.saveBatch(availableTimeQuantumList);
|
|
|
|
+ }
|
|
|
|
+ //自定义时间段不可用规则
|
|
|
|
+ List<LifeDiscountCouponQuantumRules> customizeUnavailableTimeQuantumList = lifeDiscountCouponDto.getCustomizeUnavailableTimeQuantum();
|
|
|
|
+ if(CollectionUtils.isNotEmpty(customizeUnavailableTimeQuantumList)) {
|
|
|
|
+ customizeUnavailableTimeQuantumList.forEach(customizeUnavailableTimeQuantum->{
|
|
|
|
+ customizeUnavailableTimeQuantum.setDiscountCouponId(lifeDiscountCoupon.getId());
|
|
|
|
+ });
|
|
|
|
+ lifeDiscountCouponQuantumRulesService.saveBatch(customizeUnavailableTimeQuantumList);
|
|
|
|
+ }
|
|
} catch (BeansException e) {
|
|
} catch (BeansException e) {
|
|
e.printStackTrace();
|
|
e.printStackTrace();
|
|
return false;
|
|
return false;
|
|
@@ -137,6 +165,29 @@ public class LifeDiscountCouponServiceImpl extends ServiceImpl<LifeDiscountCoupo
|
|
lifeDiscountCouponUnavailableRules.setUnavailableRuleType(DiscountCouponEnum.CLAIM_RULE.getValue());
|
|
lifeDiscountCouponUnavailableRules.setUnavailableRuleType(DiscountCouponEnum.CLAIM_RULE.getValue());
|
|
lifeDiscountCouponUnavailableRules.setUnavailableRuleValue(lifeDiscountCouponDto.getClaimRule());
|
|
lifeDiscountCouponUnavailableRules.setUnavailableRuleValue(lifeDiscountCouponDto.getClaimRule());
|
|
lifeDiscountCouponUnavailableRulesMapper.insert(lifeDiscountCouponUnavailableRules);
|
|
lifeDiscountCouponUnavailableRulesMapper.insert(lifeDiscountCouponUnavailableRules);
|
|
|
|
+
|
|
|
|
+ // 删除时间段规则信息
|
|
|
|
+ LambdaQueryWrapper<LifeDiscountCouponQuantumRules> lifeDiscountCouponQuantumRulesLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
|
+ lifeDiscountCouponQuantumRulesLambdaQueryWrapper.eq(LifeDiscountCouponQuantumRules::getDiscountCouponId, lifeDiscountCoupon.getId());
|
|
|
|
+ lifeDiscountCouponUnavailableRulesMapper.delete(queryWrapper);
|
|
|
|
+
|
|
|
|
+ //指定时间段可用规则
|
|
|
|
+ List<LifeDiscountCouponQuantumRules> availableTimeQuantumList = lifeDiscountCouponDto.getAvailableTimeQuantum();
|
|
|
|
+ if(CollectionUtils.isNotEmpty(availableTimeQuantumList)){
|
|
|
|
+ availableTimeQuantumList.forEach(availableTimeQuantum->{
|
|
|
|
+ availableTimeQuantum.setDiscountCouponId(lifeDiscountCoupon.getId());
|
|
|
|
+ });
|
|
|
|
+ lifeDiscountCouponQuantumRulesService.saveBatch(availableTimeQuantumList);
|
|
|
|
+ }
|
|
|
|
+ //自定义时间段不可用规则
|
|
|
|
+ List<LifeDiscountCouponQuantumRules> customizeUnavailableTimeQuantumList = lifeDiscountCouponDto.getCustomizeUnavailableTimeQuantum();
|
|
|
|
+ if(CollectionUtils.isNotEmpty(customizeUnavailableTimeQuantumList)) {
|
|
|
|
+ customizeUnavailableTimeQuantumList.forEach(customizeUnavailableTimeQuantum->{
|
|
|
|
+ customizeUnavailableTimeQuantum.setDiscountCouponId(lifeDiscountCoupon.getId());
|
|
|
|
+ });
|
|
|
|
+ lifeDiscountCouponQuantumRulesService.saveBatch(customizeUnavailableTimeQuantumList);
|
|
|
|
+ }
|
|
|
|
+
|
|
} catch (BeansException e) {
|
|
} catch (BeansException e) {
|
|
e.printStackTrace();
|
|
e.printStackTrace();
|
|
return false;
|
|
return false;
|
|
@@ -200,6 +251,22 @@ public class LifeDiscountCouponServiceImpl extends ServiceImpl<LifeDiscountCoupo
|
|
lifeDiscountCouponVo.setHolidayDisabledList(holidayDisabledList);
|
|
lifeDiscountCouponVo.setHolidayDisabledList(holidayDisabledList);
|
|
lifeDiscountCouponVo.setClaimRule(claimRule);
|
|
lifeDiscountCouponVo.setClaimRule(claimRule);
|
|
|
|
|
|
|
|
+ // 查询时间段规则信息
|
|
|
|
+ LambdaQueryWrapper<LifeDiscountCouponQuantumRules> quantumRulesLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
|
+ quantumRulesLambdaQueryWrapper.eq(LifeDiscountCouponQuantumRules::getDiscountCouponId, counponId);
|
|
|
|
+ List<LifeDiscountCouponQuantumRules> lifeDiscountCouponQuantumRulesList = lifeDiscountCouponQuantumRulesMapper.selectList(quantumRulesLambdaQueryWrapper);
|
|
|
|
+ List<LifeDiscountCouponQuantumRules> availableTimeQuantumList = new ArrayList<>();
|
|
|
|
+ List<LifeDiscountCouponQuantumRules> customizeUnavailableTimeQuantumList = new ArrayList<>();
|
|
|
|
+ for(LifeDiscountCouponQuantumRules lifeDiscountCouponQuantumRules : lifeDiscountCouponQuantumRulesList) {
|
|
|
|
+ if(lifeDiscountCouponQuantumRules.getTimeQuantumType().equals(DiscountCouponEnum.AVAILABLE_TIME_QUANTUM.getValue())) {
|
|
|
|
+ availableTimeQuantumList.add(lifeDiscountCouponQuantumRules);
|
|
|
|
+ }
|
|
|
|
+ if(lifeDiscountCouponQuantumRules.getTimeQuantumType().equals(DiscountCouponEnum.UNAVAILABLE_TIME_QUANTUM.getValue())) {
|
|
|
|
+ customizeUnavailableTimeQuantumList.add(lifeDiscountCouponQuantumRules);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ lifeDiscountCouponVo.setAvailableTimeQuantum(availableTimeQuantumList);
|
|
|
|
+ lifeDiscountCouponVo.setCustomizeUnavailableTimeQuantum(customizeUnavailableTimeQuantumList);
|
|
return lifeDiscountCouponVo;
|
|
return lifeDiscountCouponVo;
|
|
}
|
|
}
|
|
|
|
|