From 393d296e43f0e5f11e524cab5446bcd3eee94e89 Mon Sep 17 00:00:00 2001 From: jyy <jyy> Date: Sat, 12 Jun 2021 17:47:38 +0800 Subject: [PATCH] 新增赠送项目是否计算消耗控制 --- zq-erp/src/main/java/com/matrix/system/shopXcx/mqTask/ScoreOrderTask.java | 83 +++++++++++++++++++++++++++++++---------- 1 files changed, 63 insertions(+), 20 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 3b7c40e..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,11 +1,13 @@ package com.matrix.system.shopXcx.mqTask; -import com.matrix.system.hive.service.SysVipInfoService; 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; @@ -38,14 +40,14 @@ SysVipInfoService sysVipInfoService; - @Autowired ScoreVipDetailService scoreVipDetailService; @Autowired BusParameterSettingsDao busParameterSettingsDao; - + @Autowired + SysVipInfoDao sysVipInfoDao; @Override public void handle(String consumerTag, Delivery message) throws IOException { @@ -58,37 +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; + 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(); + 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, - 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