From 00efd2e4db8157ece4116c956c314803ed073042 Mon Sep 17 00:00:00 2001 From: 935090232@qq.com <ak473600000> Date: Sat, 03 Apr 2021 16:39:15 +0800 Subject: [PATCH] 会员中心手工调整积分 --- zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysVipInfoServiceImpl.java | 94 ++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 80 insertions(+), 14 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 ab84b1c..5a0def9 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; /** @@ -74,7 +86,7 @@ * @return */ @Override - public int addVipDefaultCard(Long vipId){ + public MoneyCardUse addVipDefaultCard(Long vipId){ MoneyCardUse defaultCardUse=new MoneyCardUse(); defaultCardUse.setVipId(vipId); defaultCardUse.setCardName("储值卡"); @@ -83,7 +95,8 @@ defaultCardUse.setGiftMoney(0D); defaultCardUse.setSource("-"); defaultCardUse.setStatus(Dictionary.MONEYCARD_STATUS_YX); - return moneyCardUseDao.insert(defaultCardUse); + moneyCardUseDao.insert(defaultCardUse); + return defaultCardUse; } @@ -212,8 +225,7 @@ @Override public List<SysVipInfo> findByVipNoOrTel(String key) { - SysUsers users = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY); - return sysVipInfoDao.selectByVipNoOrTel(key, users.getShopId()); + return sysVipInfoDao.selectByVipNoOrTel(key); } @@ -294,8 +306,8 @@ @Override public List<SysVipInfo> findUserByKey(String keyWord) { - SysUsers users = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY); - return sysVipInfoDao.selectUserByKey(keyWord, users.getShopId()); + SysUsers user = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY); + return sysVipInfoDao.selectUserByKey(keyWord,user.getCompanyId()); } @@ -454,12 +466,15 @@ } @Override + @Transactional public int apiAddVip(AddVipDto addVipDto) { SysUsers user = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY); - if (serviceUtil.addCheckRepeatTowColumn(TableMapping.SYS_VIP_INFO, "VIP_NO", addVipDto.getVipNo(), - "company_id",user.getCompanyId())) { - throw new GlobleException("编号已存在!"); + if (StringUtils.isNotBlank(addVipDto.getVipNo())) { + if (serviceUtil.addCheckRepeatTowColumn(TableMapping.SYS_VIP_INFO, "VIP_NO", addVipDto.getVipNo(), + "company_id", user.getCompanyId())) { + throw new GlobleException("编号已存在!"); + } } if (serviceUtil.addCheckRepeatTowColumn(TableMapping.SYS_VIP_INFO, "PHONE", addVipDto.getPhone(), @@ -510,10 +525,59 @@ 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, + "间接推荐会员" + ); + } + } + + } } @Override @@ -525,10 +589,12 @@ throw new GlobleException("用户不存在"); } - if (!modifyVipDto.getVipNo().equals(vipInfo.getVipNo())) { - if (serviceUtil.addCheckRepeatTowColumn(TableMapping.SYS_VIP_INFO, "VIP_NO", modifyVipDto.getVipNo(), - "company_id",user.getCompanyId())) { - throw new GlobleException("编号已存在!"); + if (StringUtils.isNotBlank(modifyVipDto.getVipNo())) { + if (!modifyVipDto.getVipNo().equals(vipInfo.getVipNo())) { + if (serviceUtil.addCheckRepeatTowColumn(TableMapping.SYS_VIP_INFO, "VIP_NO", modifyVipDto.getVipNo(), + "company_id", user.getCompanyId())) { + throw new GlobleException("编号已存在!"); + } } } -- Gitblit v1.9.1