|
|
@@ -1,16 +1,21 @@
|
|
|
package com.cyksj.service.distribute.impl;
|
|
|
|
|
|
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import com.cyksj.mapper.GoodsDonMapper;
|
|
|
import com.cyksj.mapper.GoodsDonSkuMapper;
|
|
|
import com.cyksj.mapper.UserDistributeRateChangeRecordMapper;
|
|
|
import com.cyksj.mapper.manage.distribute.UserDistributeMapper;
|
|
|
+import com.cyksj.mapper.manage.distribute.UserPlatDistributeRateMapper;
|
|
|
+import com.cyksj.mapper.manage.distribute.UserPlatSkuDistributeRateMapper;
|
|
|
import com.cyksj.model.entity.*;
|
|
|
import com.cyksj.service.distribute.UserDistributeRateChangeRecordService;
|
|
|
import lombok.RequiredArgsConstructor;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
+import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
import java.util.List;
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
|
* 项目名: yhlxj11111111
|
|
|
@@ -29,6 +34,10 @@ public class UserDistributeRateChangeRecordServiceImpl extends ServiceImpl<UserD
|
|
|
|
|
|
private final GoodsDonSkuMapper skuMapper;
|
|
|
|
|
|
+ private final UserPlatDistributeRateMapper userPlatDistributeRateMapper;
|
|
|
+
|
|
|
+ private final UserPlatSkuDistributeRateMapper userPlatSkuDistributeRateMapper;
|
|
|
+
|
|
|
@Override
|
|
|
public void recordDefaultGoodsRate(Long goodsId, Integer rate) {
|
|
|
List<UserDistribute> userDistributeList = userDistributeMapper.selectNoSetGoodsRateDistirbutors(goodsId);
|
|
|
@@ -67,4 +76,45 @@ public class UserDistributeRateChangeRecordServiceImpl extends ServiceImpl<UserD
|
|
|
userDistributeRateChangeRecordMapper.batchInsertGoodsRateChangeNoSetSkuRecord(userDistributeList, goodsId, skuId, changeInfo);
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ @Override
|
|
|
+ @Transactional(rollbackFor = Throwable.class)
|
|
|
+ public void unifiedSetDsRate(Long goodsId, Integer rate) {
|
|
|
+ List<UserDistribute> userDistributeList = userDistributeMapper.selectGoodsRateDistributors(goodsId, rate);
|
|
|
+ if (userDistributeList.isEmpty()) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ GoodsDon goodsDon = goodsDonMapper.selectById(goodsId);
|
|
|
+ String changeInfo = String.format("%s全规格分销比例变为%s%%", goodsDon.getTitle(), rate);
|
|
|
+ userDistributeRateChangeRecordMapper.batchInsertGoodsRateChangeRecord(userDistributeList, goodsId, null, changeInfo, rate);
|
|
|
+
|
|
|
+ List<Long> distributors = userDistributeList.stream().map(UserDistribute::getId).collect(Collectors.toList());
|
|
|
+ userPlatDistributeRateMapper.update(null, Wrappers.lambdaUpdate(UserPlatDistributeRate.class)
|
|
|
+ .set(UserPlatDistributeRate::getRate, rate)
|
|
|
+ .in(UserPlatDistributeRate::getDistributeId, distributors)
|
|
|
+ .eq(UserPlatDistributeRate::getGoodsId, goodsId)
|
|
|
+ .ne(UserPlatDistributeRate::getRate, rate));
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ @Transactional(rollbackFor = Throwable.class)
|
|
|
+ public void unifiedSetDsSkuRate(Long skuId, Integer rate) {
|
|
|
+ GoodsDonSku sku = skuMapper.selectById(skuId);
|
|
|
+ List<UserDistribute> userDistributeList = userDistributeMapper.selectSkuRateDistributors(skuId, rate);
|
|
|
+ if (userDistributeList.isEmpty()) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ Long goodsId = sku.getGoodsId();
|
|
|
+ GoodsDon goodsDon = goodsDonMapper.selectById(goodsId);
|
|
|
+ String changeInfo = String.format("%s%s规格分销比例变为%s%%", goodsDon.getTitle(), sku.getSpecVal(), rate);
|
|
|
+ userDistributeRateChangeRecordMapper.batchInsertGoodsRateChangeRecord(userDistributeList, goodsId, skuId, changeInfo, rate);
|
|
|
+
|
|
|
+ List<Long> distributors = userDistributeList.stream().map(UserDistribute::getId).collect(Collectors.toList());
|
|
|
+ userPlatSkuDistributeRateMapper.update(null, Wrappers.lambdaUpdate(UserPlatSkuDistributeRate.class)
|
|
|
+ .set(UserPlatSkuDistributeRate::getRate, rate)
|
|
|
+ .in(UserPlatSkuDistributeRate::getDistributeId, distributors)
|
|
|
+ .eq(UserPlatSkuDistributeRate::getGoodsId, goodsId)
|
|
|
+ .eq(UserPlatSkuDistributeRate::getSkuId, skuId)
|
|
|
+ .ne(UserPlatSkuDistributeRate::getRate, rate));
|
|
|
+ }
|
|
|
}
|