|
@@ -1,17 +1,16 @@
|
|
|
package cn.newfeifan.mall.module.distri.service.ordercalc;
|
|
|
|
|
|
-import cn.newfeifan.mall.framework.common.mq.message.order.DistriOrderMessage;
|
|
|
import cn.newfeifan.mall.framework.common.util.json.JsonUtils;
|
|
|
import cn.newfeifan.mall.module.distri.controller.admin.duser.vo.DuserSaveReqVO;
|
|
|
import cn.newfeifan.mall.module.distri.controller.admin.integral.vo.IntegralSaveReqVO;
|
|
|
import cn.newfeifan.mall.module.distri.controller.admin.ptprofit.vo.PtProfitSaveReqVO;
|
|
|
import cn.newfeifan.mall.module.distri.controller.admin.ptprofitlog.vo.PtProfitLogSaveReqVO;
|
|
|
-import cn.newfeifan.mall.module.distri.controller.admin.sharepath.vo.SharePathSaveReqVO;
|
|
|
import cn.newfeifan.mall.module.distri.dal.dataobject.integral.IntegralDO;
|
|
|
import cn.newfeifan.mall.module.distri.dal.dataobject.orderpercentage.OrderPercentageDO;
|
|
|
import cn.newfeifan.mall.module.distri.dal.dataobject.ptprofit.PtProfitDO;
|
|
|
import cn.newfeifan.mall.module.distri.dal.dataobject.sharepath.SharePathDO;
|
|
|
import cn.newfeifan.mall.module.distri.enums.CaclEnum;
|
|
|
+import cn.newfeifan.mall.module.distri.mq.message.order.DistriOrderMessage;
|
|
|
import cn.newfeifan.mall.module.distri.service.duser.DuserService;
|
|
|
import cn.newfeifan.mall.module.distri.service.integral.IntegralService;
|
|
|
import cn.newfeifan.mall.module.distri.service.orderpercentage.OrderPercentageService;
|
|
@@ -22,6 +21,7 @@ import org.springframework.stereotype.Service;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
|
|
|
+import org.springframework.transaction.annotation.Transactional;
|
|
|
import org.springframework.validation.annotation.Validated;
|
|
|
|
|
|
import java.util.*;
|
|
@@ -113,6 +113,7 @@ public class OrderCalcServiceImpl implements OrderCalcService {
|
|
|
|
|
|
|
|
|
@Override
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
public void calc(List<DistriOrderMessage> tradeOrderDO) {
|
|
|
|
|
|
// 获取到当前订单的所有人
|
|
@@ -151,7 +152,7 @@ public class OrderCalcServiceImpl implements OrderCalcService {
|
|
|
SharePathDO sharePath = getSharePath(k.getUserId());
|
|
|
// 如果sharePath为空, 则说明没有直推人关系
|
|
|
IntegralDO integralDOAncestor = integralService.selectByUser(sharePath.getAncestor());
|
|
|
- IntegralDO integralDO = integralService.selectByUser(sharePath.getDescendant());
|
|
|
+ IntegralDO integralDO = integralService.selectByUser(sharePath.getDescendant());
|
|
|
|
|
|
// 计算利润: (价格 - 成本价格) * 产品数量
|
|
|
Integer profit = (k.getPrice() - k.getCostPrice()) * k.getProductCount();
|
|
@@ -262,7 +263,7 @@ public class OrderCalcServiceImpl implements OrderCalcService {
|
|
|
orderCalcMapper.insertBatch(BeanUtils.toBean(saveList, OrderCalcDO.class));
|
|
|
ptProfitService.saveBatch(ptProfitSaveReqVOS);
|
|
|
ptProfitLogService.saveBatch(ptProfitLogSaveReqVOS);
|
|
|
- integralService.saveBatch(integralSaveReqVOS);
|
|
|
+ integralService.updateBatch(integralSaveReqVOS);
|
|
|
}
|
|
|
|
|
|
private static void addCaclDo(String percentTemplate, List<OrderCalcSaveReqVO> saveList, DistriOrderMessage k, Integer grossProfit, Integer ancestorQuota, Integer descendantQuota, Integer bonusQuota, Integer platformQuota) {
|