From e423d56d730db1baed24f3f7dbbc4141038776b6 Mon Sep 17 00:00:00 2001
From: 935090232@qq.com <ak473600000>
Date: Fri, 18 Jun 2021 22:12:03 +0800
Subject: [PATCH] 修复每日业绩bug和优化赠送业绩计算方式
---
zq-erp/src/main/java/com/matrix/system/shopXcx/mqTask/ScoreOrderTask.java | 91 ++++++++++++++++++++++++++++++++++++++-------
1 files changed, 76 insertions(+), 15 deletions(-)
diff --git a/zq-erp/src/main/java/com/matrix/system/shopXcx/mqTask/ScoreOrderTask.java b/zq-erp/src/main/java/com/matrix/system/shopXcx/mqTask/ScoreOrderTask.java
index f099fdc..0ad9e03 100644
--- a/zq-erp/src/main/java/com/matrix/system/shopXcx/mqTask/ScoreOrderTask.java
+++ b/zq-erp/src/main/java/com/matrix/system/shopXcx/mqTask/ScoreOrderTask.java
@@ -1,8 +1,14 @@
package com.matrix.system.shopXcx.mqTask;
-import com.matrix.biz.service.BizUserService;
import com.matrix.core.tools.LogUtil;
+import com.matrix.core.tools.StringUtils;
+import com.matrix.system.common.bean.BusParameterSettings;
+import com.matrix.system.common.dao.BusParameterSettingsDao;
+import com.matrix.system.hive.bean.SysVipInfo;
+import com.matrix.system.hive.dao.SysVipInfoDao;
+import com.matrix.system.hive.service.SysVipInfoService;
+import com.matrix.system.score.constant.ScoreSettingConstant;
import com.matrix.system.score.entity.ScoreVipDetail;
import com.matrix.system.score.service.ScoreVipDetailService;
import com.matrix.system.shopXcx.bean.ShopOrder;
@@ -15,6 +21,7 @@
import org.springframework.stereotype.Component;
import java.io.IOException;
+import java.math.BigDecimal;
import java.util.List;
/**
@@ -30,12 +37,17 @@
ShopOrderDetailsDao shopOrderDetailsDao;
@Autowired
- BizUserService bizUserService;
+ SysVipInfoService sysVipInfoService;
+
@Autowired
ScoreVipDetailService scoreVipDetailService;
+ @Autowired
+ BusParameterSettingsDao busParameterSettingsDao;
+ @Autowired
+ SysVipInfoDao sysVipInfoDao;
@Override
public void handle(String consumerTag, Delivery message) throws IOException {
@@ -48,29 +60,78 @@
List<ShopOrderDetails> orderDetails = shopOrderDetailsDao.selectByOrderId(Integer.valueOf(orderId));
order.setDetails(orderDetails);
//扣除积分
- if(order.getScorePay()!=null&&order.getScorePay()>0){
- scoreVipDetailService.deductionScore(order.getUserId(),null,Long.parseLong(order.getStoreId()+""),order.getScorePay(),Long.parseLong(order.getId()+""), ScoreVipDetail.SCORE_VIP_TYPE_CASH,"商城积分抵扣");
- }else{
+ if (order.getScorePay() != null && order.getScorePay() > 0) {
+ scoreVipDetailService.deductionScore(order.getUserId(), null,
+ Long.parseLong(order.getStoreId() + ""), order.getScorePay(),
+ Long.parseLong(order.getId() + ""), ScoreVipDetail.SCORE_VIP_TYPE_CASH, "商城积分抵扣");
+ } else {
+
//消费获得积分
- int addScore=0;
- for(ShopOrderDetails shopOrderDetail : orderDetails) {
- if(shopOrderDetail.getPayType()==ShopOrderDetails.PAYTYPE_MICRO){
- Integer xfkdScore= shopOrderDetail.getShopSku().getScore();
- if(xfkdScore!=null && xfkdScore>0){
- addScore+=xfkdScore;
+ int addScore = 0;
+ BusParameterSettings cashConsumptionShop = busParameterSettingsDao.selectCompanyParamByCode(ScoreSettingConstant.CASH_CONSUMPTION_SHOP, order.getCompanyId());
+ for (ShopOrderDetails shopOrderDetail : orderDetails) {
+ if (shopOrderDetail.getPayType() == ShopOrderDetails.PAYTYPE_MICRO) {
+ Integer xfkdScore = shopOrderDetail.getShopSku().getScore();
+ if (xfkdScore != null && xfkdScore > 0) {
+ addScore += xfkdScore;
+ } else {
+ if (StringUtils.isNotBlank(cashConsumptionShop.getParamValue())) {
+ addScore += shopOrderDetail.getTotalPrice().divide(new BigDecimal(cashConsumptionShop.getParamValue())).intValue();
+ }
}
}
}
- if(addScore>0){
+ if (addScore > 0) {
//插入新的积分
scoreVipDetailService.addScore(
- order.getUserId(),null,
+ order.getUserId(),
null,
- Long.parseLong(order.getStoreId()+""),
+ Long.parseLong(order.getStoreId() + ""),
addScore,
- Long.parseLong(orderId+""),
+ Long.parseLong(orderId + ""),
ScoreVipDetail.SCORE_VIP_TYPE_CASH,
"微商城消费");
+
+ //插入上级积分
+ SysVipInfo vipInfo = sysVipInfoService.findById(order.getUserId());
+
+
+ if (vipInfo.getRecommendId() != null) {
+ //推荐注册老带新积分奖励
+ SysVipInfo referrerVip = sysVipInfoDao.selectById(vipInfo.getRecommendId());
+ if (StringUtils.isNotBlank(cashConsumptionShop.getParamValue1())) {
+
+ int parentScore = order.getOrderMoney().divide(new BigDecimal(cashConsumptionShop.getParamValue1())).intValue();
+ if (parentScore > 0) {
+ scoreVipDetailService.addScore(
+ referrerVip.getId(),
+ null,
+ Long.parseLong(order.getStoreId() + ""),
+ parentScore,
+ Long.parseLong(order.getId() + ""),
+ ScoreVipDetail.SCORE_VIP_TYPE_CASH,
+ "推荐消费奖励"
+ );
+ }
+ }
+
+ //推荐注册二级带新积分奖励
+ if (referrerVip.getRecommendId() != null && StringUtils.isNotBlank(cashConsumptionShop.getParamValue2())) {
+ SysVipInfo topVipInfo = sysVipInfoDao.selectById(referrerVip.getRecommendId());
+ int topParentScore = order.getOrderMoney().divide(new BigDecimal(cashConsumptionShop.getParamValue2())).intValue();
+ if (topParentScore > 0) {
+ scoreVipDetailService.addScore(
+ topVipInfo.getId(),
+ null,
+ Long.parseLong(order.getStoreId() + ""),
+ topParentScore,
+ Long.parseLong(order.getId() + ""),
+ ScoreVipDetail.SCORE_VIP_TYPE_CASH,
+ "推荐消费奖励"
+ );
+ }
+ }
+ }
}
}
--
Gitblit v1.9.1