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 |  179 +++++++++++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 167 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 3a7c6df..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,18 +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;
@@ -29,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.*;
 
 
 /**
@@ -56,6 +54,9 @@
 
 	@Autowired
 	private MoneyCardUseDao moneyCardUseDao;
+
+	@Autowired
+	private SysVipLabelDao sysVipLabelDao;
 
 	/**
 	 * 新增会员储值卡
@@ -101,7 +102,7 @@
 		sysVipInfo.setCompanyId(user.getCompanyId());
 		sysVipInfo.setCreateTime(new Date());
 		sysVipInfo.setPointAll(0);
-		sysVipInfo.setIsDeal(SysVipInfo.DEAL_VIP);
+		sysVipInfo.setIsDeal(SysVipInfo.UNDEAL_VIP);
 		sysVipInfo.setZjm(StringUtils.toHanyuPinyin(sysVipInfo.getVipName())+","+StringUtils.toHeadWordHanyuPinyin(sysVipInfo.getVipName()));
 		int i=sysVipInfoDao.insert(sysVipInfo);
 		modifyVipWithOtherInfo(sysVipInfo);
@@ -417,5 +418,159 @@
 		return result;
 	}
 
+	@Override
+	public List<VipInfoListVo> findVipAddressBook(VipInfoListDto vipInfoListDto) {
+		SysUsers sysUsers = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY);
+		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