From 3e2946b8bd06e81d633bf154da1eb84b3537d148 Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Thu, 04 Feb 2021 10:31:02 +0800
Subject: [PATCH] modify
---
zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysVipInfoServiceImpl.java | 226 ++++++++++++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 208 insertions(+), 18 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..922b7d9 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,22 +6,24 @@
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.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 org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -29,9 +31,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.*;
/**
@@ -57,13 +57,24 @@
@Autowired
private MoneyCardUseDao moneyCardUseDao;
+ @Autowired
+ private SysVipLabelDao sysVipLabelDao;
+
+ @Value("${default.vip.photo.woman}")
+ String defaultWoman;
+
+ @Value("${default.vip.photo.man}")
+ String defaultMan;
+
+
+
/**
* 新增会员储值卡
* @param vipId
* @return
*/
@Override
- public int addVipDefaultCard(Long vipId){
+ public MoneyCardUse addVipDefaultCard(Long vipId){
MoneyCardUse defaultCardUse=new MoneyCardUse();
defaultCardUse.setVipId(vipId);
defaultCardUse.setCardName("储值卡");
@@ -72,7 +83,8 @@
defaultCardUse.setGiftMoney(0D);
defaultCardUse.setSource("-");
defaultCardUse.setStatus(Dictionary.MONEYCARD_STATUS_YX);
- return moneyCardUseDao.insert(defaultCardUse);
+ moneyCardUseDao.insert(defaultCardUse);
+ return defaultCardUse;
}
@@ -101,8 +113,13 @@
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()));
+ if(sysVipInfo.getSex().equals(Dictionary.SEX_MAN)){
+ sysVipInfo.setPhoto(defaultMan);
+ }else{
+ sysVipInfo.setPhoto(defaultWoman);
+ }
int i=sysVipInfoDao.insert(sysVipInfo);
modifyVipWithOtherInfo(sysVipInfo);
//创建用户默认储值卡
@@ -196,8 +213,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);
}
@@ -278,8 +294,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());
}
@@ -335,6 +351,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;
@@ -417,5 +438,174 @@
return result;
}
+ @Override
+ public List<VipInfoListVo> findVipAddressBook(VipInfoListDto vipInfoListDto) {
+ SysUsers sysUsers = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY);
+ if (!DataAuthUtil.hasAllShopAuth()) {
+ vipInfoListDto.setShopId(sysUsers.getShopId());
+ }
+ QueryUtil.setQueryLimitCom(vipInfoListDto);
+ 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 (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(),
+ "company_id",user.getCompanyId() )) {
+ throw new GlobleException("手机已被注册!");
+ }
+
+ SysVipInfo vipInfo = new SysVipInfo();
+
+ vipInfo.setPhoto(addVipDto.getPhoto());
+ 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.setPassWord(addVipDto.getPassword());
+ 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()));
+ 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(), 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 (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("-");
+ 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.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.deleteRelateByVipId(modifyVipDto.getVipId());
+ batchInsertLabel(modifyVipDto.getLabels(), vipInfo.getId());
+ }
+ return i;
+ }
+
+ private void batchInsertLabel(List<String> labelList, Long id) {
+ Set<String> labels = new HashSet<>(labelList);
+ Iterator<String> iterator = labels.iterator();
+ while (iterator.hasNext()) {
+ SysVipLabelRelate relate = new SysVipLabelRelate();
+ relate.setLabelId(Long.parseLong(iterator.next()));
+ relate.setVipId(id);
+ sysVipLabelDao.insertRelate(relate);
+ }
+ }
+
+ @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());
+ vipInfoDetailVo.setPassword(sysVipInfo.getPassWord());
+ vipInfoDetailVo.setPhoto(sysVipInfo.getPhoto());
+ vipInfoDetailVo.setVipNo(sysVipInfo.getVipNo());
+
+ List<SysVipLabel> labels = sysVipLabelDao.selectByVipId(sysVipInfo.getId());
+ vipInfoDetailVo.setLabels(labels);
+ return vipInfoDetailVo;
+ }
}
\ No newline at end of file
--
Gitblit v1.9.1