From 5371cd3262eea83baa626edddb5a6b1a9ede3cae Mon Sep 17 00:00:00 2001
From: 935090232@qq.com <ak473600000>
Date: Thu, 01 Apr 2021 21:52:59 +0800
Subject: [PATCH] 业绩新增收款方式

---
 zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysVipInfoServiceImpl.java |   64 +++++++++++++++++++++++++++++++
 1 files changed, 63 insertions(+), 1 deletions(-)

diff --git a/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysVipInfoServiceImpl.java b/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysVipInfoServiceImpl.java
index 922b7d9..bd847d1 100644
--- a/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysVipInfoServiceImpl.java
+++ b/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysVipInfoServiceImpl.java
@@ -3,7 +3,10 @@
 import com.matrix.core.constance.MatrixConstance;
 import com.matrix.core.exception.GlobleException;
 import com.matrix.core.pojo.PaginationVO;
-import com.matrix.core.tools.*;
+import com.matrix.core.tools.DateUtil;
+import com.matrix.core.tools.EncrypUtil;
+import com.matrix.core.tools.StringUtils;
+import com.matrix.core.tools.WebUtil;
 import com.matrix.core.tools.excl.ExcelSheetPO;
 import com.matrix.core.tools.excl.ExcelUtil;
 import com.matrix.system.app.dto.AddVipDto;
@@ -11,7 +14,9 @@
 import com.matrix.system.app.dto.VipInfoListDto;
 import com.matrix.system.app.vo.VipInfoDetailVo;
 import com.matrix.system.app.vo.VipInfoListVo;
+import com.matrix.system.common.bean.BusParameterSettings;
 import com.matrix.system.common.bean.SysUsers;
+import com.matrix.system.common.dao.BusParameterSettingsDao;
 import com.matrix.system.common.tools.DataAuthUtil;
 import com.matrix.system.common.tools.ServiceUtil;
 import com.matrix.system.constance.Dictionary;
@@ -22,6 +27,9 @@
 import com.matrix.system.hive.plugin.util.CollectionUtils;
 import com.matrix.system.hive.pojo.VipInfoVo;
 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 org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
@@ -65,7 +73,11 @@
 
 	@Value("${default.vip.photo.man}")
 	String defaultMan;
+	@Autowired
+	BusParameterSettingsDao busParameterSettingsDao;
 
+	@Autowired
+	ScoreVipDetailService scoreVipDetailService;
 
 
 	/**
@@ -454,6 +466,7 @@
 	}
 
 	@Override
+	@Transactional
 	public int apiAddVip(AddVipDto addVipDto) {
 		SysUsers user = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY);
 
@@ -512,12 +525,61 @@
 		if (CollectionUtils.isNotEmpty(addVipDto.getLabels())) {
 			batchInsertLabel(addVipDto.getLabels(), vipInfo.getId());
 		}
+		//添加推荐人积分
+		addReferrerVipScore(vipInfo);
 
 		//创建用户默认储值卡
 		addVipDefaultCard(vipInfo.getId());
 		return i;
 	}
 
+	/**
+	 * 添加推荐人积分
+	 * @param vipInfo
+	 */
+	public void addReferrerVipScore(SysVipInfo vipInfo) {
+		if(vipInfo.getRecommendId()!=null){
+			SysUsers user = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY);
+			BusParameterSettings referrerScoreSetting = busParameterSettingsDao.selectCompanyParamByCode(ScoreSettingConstant.REFERRALS_CONSUMPTION, user.getCompanyId());
+			//推荐注册老带新积分奖励
+			SysVipInfo referrerVip = sysVipInfoDao.selectById(vipInfo.getRecommendId());
+
+			if(StringUtils.isNotBlank(referrerScoreSetting.getParamValue())){
+
+				scoreVipDetailService.addScore(referrerVip.getOpenId(),
+						referrerVip.getId(),
+						user.getSuId(),
+						vipInfo.getShopId(),
+						Integer.parseInt(referrerScoreSetting.getParamValue()),
+						vipInfo.getId(),
+						ScoreVipDetail.SCORE_VIP_TYPE_REFERRER,
+						"推荐会员"
+						);
+			}
+
+			//推荐注册二级带新积分奖励
+
+			if(referrerVip.getRecommendId()!=null){
+
+				SysVipInfo topVipInfo = sysVipInfoDao.selectById(referrerVip.getRecommendId());
+
+
+				if(StringUtils.isNotBlank(referrerScoreSetting.getParamValue1())){
+					scoreVipDetailService.addScore(topVipInfo.getOpenId(),
+							topVipInfo.getId(),
+							user.getSuId(),
+							vipInfo.getShopId(),
+							Integer.parseInt(referrerScoreSetting.getParamValue1()),
+							vipInfo.getId(),
+							ScoreVipDetail.SCORE_VIP_TYPE_REFERRER,
+							"推荐人"+topVipInfo.getVipName()+"推荐会员"
+					);
+				}
+			}
+
+		}
+	}
+
 	@Override
 	public int apiModifyVip(ModifyVipDto modifyVipDto) {
 		SysUsers user = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY);

--
Gitblit v1.9.1