From a13a93a493e7e94e28b2225c26e7e13b52d3288c Mon Sep 17 00:00:00 2001 From: xiaoyong931011 <15274802129@163.com> Date: Mon, 12 Apr 2021 19:48:45 +0800 Subject: [PATCH] 20210412 tqq环境 --- zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysVipInfoServiceImpl.java | 226 +++++++++++++++++++++++++++++++++++++++++--------------- 1 files changed, 164 insertions(+), 62 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 63e7d10..4232a60 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,17 +14,24 @@ 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; import com.matrix.system.constance.TableMapping; +import com.matrix.system.hive.action.util.QueryUtil; import com.matrix.system.hive.bean.*; import com.matrix.system.hive.dao.*; 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; import org.springframework.transaction.annotation.Transactional; @@ -58,13 +68,25 @@ @Autowired private SysVipLabelDao sysVipLabelDao; + @Value("${default.vip.photo.woman}") + String defaultWoman; + + @Value("${default.vip.photo.man}") + String defaultMan; + @Autowired + BusParameterSettingsDao busParameterSettingsDao; + + @Autowired + ScoreVipDetailService scoreVipDetailService; + + /** * 新增会员储值卡 * @param vipId * @return */ @Override - public int addVipDefaultCard(Long vipId){ + public MoneyCardUse addVipDefaultCard(Long vipId){ MoneyCardUse defaultCardUse=new MoneyCardUse(); defaultCardUse.setVipId(vipId); defaultCardUse.setCardName("储值卡"); @@ -73,17 +95,18 @@ defaultCardUse.setGiftMoney(0D); defaultCardUse.setSource("-"); defaultCardUse.setStatus(Dictionary.MONEYCARD_STATUS_YX); - return moneyCardUseDao.insert(defaultCardUse); + moneyCardUseDao.insert(defaultCardUse); + return defaultCardUse; } @Override public int add(SysVipInfo sysVipInfo) { - SysUsers user = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY); + if (sysVipInfo.getVipNo() != null && (!sysVipInfo.getVipNo().equals(""))) { if (serviceUtil.addCheckRepeatTowColumn(TableMapping.SYS_VIP_INFO, "VIP_NO", sysVipInfo.getVipNo(), - "company_id",user.getCompanyId())) { + "company_id",sysVipInfo.getCompanyId())) { throw new GlobleException("编号已存在!"); } } @@ -92,20 +115,23 @@ throw new GlobleException("请输入手机号!"); } if (serviceUtil.addCheckRepeatTowColumn(TableMapping.SYS_VIP_INFO, "PHONE", sysVipInfo.getPhone(), - "company_id",user.getCompanyId() )) { + "company_id",sysVipInfo.getCompanyId() )) { throw new GlobleException("手机已被注册!"); } } - - sysVipInfo.setShopId(user.getShopId()); - sysVipInfo.setCompanyId(user.getCompanyId()); sysVipInfo.setCreateTime(new Date()); sysVipInfo.setPointAll(0); sysVipInfo.setIsDeal(SysVipInfo.UNDEAL_VIP); - sysVipInfo.setZjm(StringUtils.toHanyuPinyin(sysVipInfo.getVipName())+","+StringUtils.toHeadWordHanyuPinyin(sysVipInfo.getVipName())); + if(StringUtils.isNotBlank(sysVipInfo.getVipName())){ + sysVipInfo.setZjm(StringUtils.toHanyuPinyin(sysVipInfo.getVipName())+","+StringUtils.toHeadWordHanyuPinyin(sysVipInfo.getVipName())); + } + if(Dictionary.SEX_MAN.equals(sysVipInfo.getSex())){ + sysVipInfo.setPhoto(defaultMan); + }else{ + sysVipInfo.setPhoto(defaultWoman); + } int i=sysVipInfoDao.insert(sysVipInfo); - modifyVipWithOtherInfo(sysVipInfo); //创建用户默认储值卡 addVipDefaultCard(sysVipInfo.getId()); return i; @@ -197,8 +223,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); } @@ -240,31 +265,7 @@ } - //如果会员id不为空则表示是修改,删除原有的绑定关系,建立新的关系 - if(vipInfo.getId()!=null && !vipInfo.getId().equals("")){ - MyBeatician query=new MyBeatician(); - query.setVipId(vipInfo.getId()); - List<MyBeatician> listDel= myBeaticianDao.selectByModel(query); - if(listDel!=null && listDel.size()>0){ - List<Long> delIds=new ArrayList<>(); - for (int i = 0; i < listDel.size(); i++) { - delIds.add(listDel.get(i).getId()); - } - myBeaticianDao.deleteByIds(delIds); - } - } - //添加客户的美疗师 - List<MyBeatician> list=vipInfo.getBeauticains(); - if(list!=null && list.size()>0){ - List<MyBeatician> saveList=new ArrayList<>(); - //此处由于前台传递过来list中的下标可能是不连续的。因此要过滤掉空的,即要过滤掉美疗师的id为空的数据 - for (MyBeatician temp:list) { - if(temp.getBeauticainId()!=null && !temp.getBeauticainId().equals("")){ - saveList.add(temp); - } - } - myBeaticianDao.insertAll(saveList,vipInfo.getId()); - } + } @@ -279,8 +280,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()); } @@ -336,6 +337,11 @@ SysUsers users = (SysUsers) WebUtil.getSession().getAttribute(MatrixConstance.LOGIN_KEY); sysVipInfo.setCompanyId(users.getCompanyId()); sysVipInfo.setShopId(users.getShopId()); + if(sysVipInfo.getSex().equals(Dictionary.SEX_MAN)){ + sysVipInfo.setPhoto(defaultMan); + }else{ + sysVipInfo.setPhoto(defaultWoman); + } int i=sysVipInfoDao.insert(sysVipInfo); modifyVipWithOtherInfo(sysVipInfo); return i; @@ -424,6 +430,7 @@ if (!DataAuthUtil.hasAllShopAuth()) { vipInfoListDto.setShopId(sysUsers.getShopId()); } + QueryUtil.setQueryLimitCom(vipInfoListDto); return sysVipInfoDao.selectVipAddressBookByList(vipInfoListDto); } @@ -433,12 +440,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(), @@ -447,6 +457,8 @@ } SysVipInfo vipInfo = new SysVipInfo(); + + vipInfo.setPhoto(addVipDto.getPhoto()); vipInfo.setVipName(addVipDto.getVipName()); vipInfo.setVipNo(addVipDto.getVipNo()); vipInfo.setSex(addVipDto.getSex()); @@ -455,10 +467,11 @@ vipInfo.setAddr(addVipDto.getAddress()); vipInfo.setRemark(addVipDto.getRemark()); vipInfo.setBirthday1(addVipDto.getBirthday()); + vipInfo.setPassWord(addVipDto.getPassword()); vipInfo.setRecommendId(addVipDto.getRecommendId()); if (StringUtils.isNotBlank(addVipDto.getAreas())) { - String[] areas = addVipDto.getAreas().split(","); + String[] areas = addVipDto.getAreas().split("-"); vipInfo.setProvince(areas[0]); vipInfo.setCity(areas[1]); vipInfo.setArea(areas[2]); @@ -476,33 +489,98 @@ vipInfo.setPointAll(0); vipInfo.setIsDeal(SysVipInfo.UNDEAL_VIP); vipInfo.setZjm(StringUtils.toHanyuPinyin(vipInfo.getVipName())+","+StringUtils.toHeadWordHanyuPinyin(vipInfo.getVipName())); + if(vipInfo.getSex().equals(Dictionary.SEX_MAN)){ + vipInfo.setPhoto(defaultMan); + }else{ + vipInfo.setPhoto(defaultWoman); + } int i=sysVipInfoDao.insert(vipInfo); if (CollectionUtils.isNotEmpty(addVipDto.getLabels())) { - batchInsertLabel(addVipDto.getLabels(), user.getSuName(), vipInfo.getId()); + 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.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.getId(), + user.getSuId(), + vipInfo.getShopId(), + Integer.parseInt(referrerScoreSetting.getParamValue1()), + vipInfo.getId(), + ScoreVipDetail.SCORE_VIP_TYPE_REFERRER, + "间接推荐会员" + ); + } + } + + } + } + @Override public int apiModifyVip(ModifyVipDto modifyVipDto) { SysUsers user = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY); - - if (serviceUtil.addCheckRepeatTowColumn(TableMapping.SYS_VIP_INFO, "PHONE", modifyVipDto.getPhone(), - "company_id",user.getCompanyId() )) { - throw new GlobleException("手机已被注册!"); - } SysVipInfo vipInfo = sysVipInfoDao.selectById(modifyVipDto.getVipId()); if (vipInfo == null) { 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("编号已存在!"); + } + } + } + + if (!vipInfo.getPhone().equals(modifyVipDto.getPhone())) { + if (serviceUtil.addCheckRepeatTowColumn(TableMapping.SYS_VIP_INFO, "PHONE", modifyVipDto.getPhone(), + "company_id", user.getCompanyId())) { + throw new GlobleException("手机已被注册!"); + } + } + if (StringUtils.isNotBlank(modifyVipDto.getAreas())) { - String[] areas = modifyVipDto.getAreas().split(","); + String[] areas = modifyVipDto.getAreas().split("-"); vipInfo.setProvince(areas[0]); vipInfo.setCity(areas[1]); vipInfo.setArea(areas[2]); @@ -514,28 +592,27 @@ vipInfo.setPhone(modifyVipDto.getPhone()); vipInfo.setAddr(modifyVipDto.getAddress()); vipInfo.setRemark(modifyVipDto.getRemark()); + vipInfo.setPassWord(modifyVipDto.getPassword()); vipInfo.setBirthday1(modifyVipDto.getBirthday()); vipInfo.setRecommendId(modifyVipDto.getRecommendId()); + vipInfo.setPhoto(modifyVipDto.getPhoto()); int i = sysVipInfoDao.update(vipInfo); if (CollectionUtils.isNotEmpty(modifyVipDto.getLabels())) { - sysVipLabelDao.deleteByVipId(modifyVipDto.getVipId()); - - batchInsertLabel(modifyVipDto.getLabels(), user.getSuName(), vipInfo.getId()); + sysVipLabelDao.deleteRelateByVipId(modifyVipDto.getVipId()); + batchInsertLabel(modifyVipDto.getLabels(), vipInfo.getId()); } return i; } - private void batchInsertLabel(List<String> labelList, String suName, Long id) { + private void batchInsertLabel(List<String> labelList, Long id) { Set<String> labels = new HashSet<>(labelList); Iterator<String> iterator = labels.iterator(); - if (iterator.hasNext()) { - SysVipLabel sysVipLabel = new SysVipLabel(); - sysVipLabel.setCreateTime(new Date()); - sysVipLabel.setCreateBy(suName); - sysVipLabel.setLabel(iterator.next()); - sysVipLabel.setVipId(id); - sysVipLabelDao.insert(sysVipLabel); + while (iterator.hasNext()) { + SysVipLabelRelate relate = new SysVipLabelRelate(); + relate.setLabelId(Long.parseLong(iterator.next())); + relate.setVipId(id); + sysVipLabelDao.insertRelate(relate); } } @@ -559,9 +636,34 @@ vipInfoDetailVo.setArea(sysVipInfo.getArea()); vipInfoDetailVo.setRemark(sysVipInfo.getRemark()); vipInfoDetailVo.setBirthday(sysVipInfo.getBirthday1()); + vipInfoDetailVo.setPassword(sysVipInfo.getPassWord()); + vipInfoDetailVo.setPhoto(sysVipInfo.getPhoto()); + vipInfoDetailVo.setVipNo(sysVipInfo.getVipNo()); List<SysVipLabel> labels = sysVipLabelDao.selectByVipId(sysVipInfo.getId()); vipInfoDetailVo.setLabels(labels); return vipInfoDetailVo; } + + @Override + public SysVipInfo findByOpenId(String openId) { + return sysVipInfoDao.findByOpenId(openId); + } + + /** + * 设置成为推广员 + * @param invitationId + */ + @Override + public int setToBeAnSalesman(Long userId,Long invitationId,long gradeId) { + SysVipInfo sysVipInfo=sysVipInfoDao.selectById(userId); + sysVipInfo.setIsSales(SysVipInfo.IS_SALES); + sysVipInfo.setRecommendId(invitationId); + sysVipInfo.setBindingParentTime(new Date()); + sysVipInfo.setSalesmanGrade(gradeId); + return sysVipInfoDao.update(sysVipInfo); + } + + + } \ No newline at end of file -- Gitblit v1.9.1