From c554c7ad5405bafa149dbb6429e8245f78b33ffc Mon Sep 17 00:00:00 2001 From: Helius <wangdoubleone@gmail.com> Date: Wed, 23 Dec 2020 15:59:53 +0800 Subject: [PATCH] modify --- zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysVipInfoServiceImpl.java | 172 +++++++++++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 160 insertions(+), 12 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 7446c0e..d75f8f2 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 @@ -6,20 +6,18 @@ import com.matrix.core.tools.*; import com.matrix.core.tools.excl.ExcelSheetPO; import com.matrix.core.tools.excl.ExcelUtil; +import com.matrix.system.app.dto.AddVipDto; +import com.matrix.system.app.dto.ModifyVipDto; 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.SysUsers; +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.bean.MoneyCardUse; -import com.matrix.system.hive.bean.MyBeatician; -import com.matrix.system.hive.bean.SysVipInfo; -import com.matrix.system.hive.bean.VipAnswer; -import com.matrix.system.hive.dao.MoneyCardUseDao; -import com.matrix.system.hive.dao.MyBeaticianDao; -import com.matrix.system.hive.dao.SysVipInfoDao; -import com.matrix.system.hive.dao.VipAnswerDao; +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; @@ -31,9 +29,7 @@ import java.io.IOException; import java.io.UnsupportedEncodingException; import java.security.NoSuchAlgorithmException; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; +import java.util.*; /** @@ -58,6 +54,9 @@ @Autowired private MoneyCardUseDao moneyCardUseDao; + + @Autowired + private SysVipLabelDao sysVipLabelDao; /** * 新增会员储值卡 @@ -422,7 +421,156 @@ @Override public List<VipInfoListVo> findVipAddressBook(VipInfoListDto vipInfoListDto) { SysUsers sysUsers = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY); - vipInfoListDto.setShopId(sysUsers.getShopId()); + if (!DataAuthUtil.hasAllShopAuth()) { + vipInfoListDto.setShopId(sysUsers.getShopId()); + } return sysVipInfoDao.selectVipAddressBookByList(vipInfoListDto); } + + @Override + public com.matrix.system.app.vo.VipInfoVo findApiVipInfoById(Long id) { + return sysVipInfoDao.selectVipInfoById(id); + } + + @Override + 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 (serviceUtil.addCheckRepeatTowColumn(TableMapping.SYS_VIP_INFO, "PHONE", addVipDto.getPhone(), + "company_id",user.getCompanyId() )) { + throw new GlobleException("手机已被注册!"); + } + + SysVipInfo vipInfo = new SysVipInfo(); + vipInfo.setVipName(addVipDto.getVipName()); + vipInfo.setVipNo(addVipDto.getVipNo()); + vipInfo.setSex(addVipDto.getSex()); + vipInfo.setArrivalWay(addVipDto.getArrivalWay()); + vipInfo.setPhone(addVipDto.getPhone()); + vipInfo.setAddr(addVipDto.getAddress()); + vipInfo.setRemark(addVipDto.getRemark()); + vipInfo.setBirthday1(addVipDto.getBirthday()); + vipInfo.setRecommendId(addVipDto.getRecommendId()); + + if (StringUtils.isNotBlank(addVipDto.getAreas())) { + String[] areas = addVipDto.getAreas().split("-"); + vipInfo.setProvince(areas[0]); + vipInfo.setCity(areas[1]); + vipInfo.setArea(areas[2]); + } + + vipInfo.setInDate(new Date()); + vipInfo.setPointAll(0); + vipInfo.setVipState(Dictionary.VIP_STATE_HY); + vipInfo.setStaffId(user.getSuId()); + vipInfo.setShopId(user.getShopId()); + vipInfo.setVipType(Dictionary.VIP_TYPE_NOCARD); + vipInfo.setShopId(user.getShopId()); + vipInfo.setCompanyId(user.getCompanyId()); + vipInfo.setCreateTime(new Date()); + vipInfo.setPointAll(0); + vipInfo.setIsDeal(SysVipInfo.UNDEAL_VIP); + vipInfo.setZjm(StringUtils.toHanyuPinyin(vipInfo.getVipName())+","+StringUtils.toHeadWordHanyuPinyin(vipInfo.getVipName())); + int i=sysVipInfoDao.insert(vipInfo); + + if (CollectionUtils.isNotEmpty(addVipDto.getLabels())) { + batchInsertLabel(addVipDto.getLabels(), user.getSuName(), vipInfo.getId()); + } + + //创建用户默认储值卡 + addVipDefaultCard(vipInfo.getId()); + return i; + } + + @Override + public int apiModifyVip(ModifyVipDto modifyVipDto) { + SysUsers user = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY); + + SysVipInfo vipInfo = sysVipInfoDao.selectById(modifyVipDto.getVipId()); + if (vipInfo == null) { + 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 (!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("-"); + vipInfo.setProvince(areas[0]); + vipInfo.setCity(areas[1]); + vipInfo.setArea(areas[2]); + } + + vipInfo.setVipName(modifyVipDto.getVipName()); + vipInfo.setSex(modifyVipDto.getSex()); + vipInfo.setArrivalWay(modifyVipDto.getArrivalWay()); + vipInfo.setPhone(modifyVipDto.getPhone()); + vipInfo.setAddr(modifyVipDto.getAddress()); + vipInfo.setRemark(modifyVipDto.getRemark()); + vipInfo.setBirthday1(modifyVipDto.getBirthday()); + vipInfo.setRecommendId(modifyVipDto.getRecommendId()); + int i = sysVipInfoDao.update(vipInfo); + + if (CollectionUtils.isNotEmpty(modifyVipDto.getLabels())) { + sysVipLabelDao.deleteByVipId(modifyVipDto.getVipId()); + + batchInsertLabel(modifyVipDto.getLabels(), user.getSuName(), vipInfo.getId()); + } + return i; + } + + private void batchInsertLabel(List<String> labelList, String suName, 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); + } + } + + @Override + public VipInfoDetailVo findVipInfoDetail(Long id) { + SysVipInfo sysVipInfo = sysVipInfoDao.selectById(id); + if (sysVipInfo == null) { + throw new GlobleException("用户不存在"); + } + + VipInfoDetailVo vipInfoDetailVo = new VipInfoDetailVo(); + vipInfoDetailVo.setVipName(sysVipInfo.getVipName()); + vipInfoDetailVo.setAddress(sysVipInfo.getAddr()); + vipInfoDetailVo.setPhone(sysVipInfo.getPhone()); + vipInfoDetailVo.setSex(sysVipInfo.getSex()); + vipInfoDetailVo.setArrivalWay(sysVipInfo.getArrivalWay()); + vipInfoDetailVo.setRecommendId(sysVipInfo.getRecommendId()); + vipInfoDetailVo.setId(sysVipInfo.getId()); + vipInfoDetailVo.setProvince(sysVipInfo.getProvince()); + vipInfoDetailVo.setCity(sysVipInfo.getCity()); + vipInfoDetailVo.setArea(sysVipInfo.getArea()); + vipInfoDetailVo.setRemark(sysVipInfo.getRemark()); + vipInfoDetailVo.setBirthday(sysVipInfo.getBirthday1()); + + List<SysVipLabel> labels = sysVipLabelDao.selectByVipId(sysVipInfo.getId()); + vipInfoDetailVo.setLabels(labels); + return vipInfoDetailVo; + } } \ No newline at end of file -- Gitblit v1.9.1