package com.matrix.system.hive.service.imp;
|
|
import com.matrix.core.constance.MatrixConstance;
|
import com.matrix.core.exception.GlobleException;
|
import com.matrix.core.pojo.PaginationVO;
|
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;
|
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.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;
|
|
import java.io.File;
|
import java.io.IOException;
|
import java.io.UnsupportedEncodingException;
|
import java.security.NoSuchAlgorithmException;
|
import java.util.*;
|
|
|
/**
|
*
|
*
|
* @date 2016-07-03 20:53
|
*/
|
@Service("sysVipInfoService")
|
public class SysVipInfoServiceImpl implements SysVipInfoService {
|
|
@Autowired
|
private SysVipInfoDao sysVipInfoDao;
|
|
@Autowired
|
private ServiceUtil serviceUtil;
|
|
@Autowired
|
private MyBeaticianDao myBeaticianDao;
|
|
@Autowired
|
private VipAnswerDao vipAnswerDao;
|
|
@Autowired
|
private MoneyCardUseDao moneyCardUseDao;
|
|
@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 MoneyCardUse addVipDefaultCard(Long vipId){
|
MoneyCardUse defaultCardUse=new MoneyCardUse();
|
defaultCardUse.setVipId(vipId);
|
defaultCardUse.setCardName("储值卡");
|
defaultCardUse.setIsVipCar(Dictionary.FLAG_YES_Y);
|
defaultCardUse.setRealMoney(0D);
|
defaultCardUse.setGiftMoney(0D);
|
defaultCardUse.setSource("-");
|
defaultCardUse.setStatus(Dictionary.MONEYCARD_STATUS_YX);
|
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())) {
|
throw new GlobleException("编号已存在!");
|
}
|
}
|
if (sysVipInfo.getPhone() != null) {
|
if (sysVipInfo.getPhone().equals("")) {
|
throw new GlobleException("请输入手机号!");
|
}
|
if (serviceUtil.addCheckRepeatTowColumn(TableMapping.SYS_VIP_INFO, "PHONE", sysVipInfo.getPhone(),
|
"company_id",user.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(sysVipInfo.getSex().equals(Dictionary.SEX_MAN)){
|
sysVipInfo.setPhoto(defaultMan);
|
}else{
|
sysVipInfo.setPhoto(defaultWoman);
|
}
|
int i=sysVipInfoDao.insert(sysVipInfo);
|
modifyVipWithOtherInfo(sysVipInfo);
|
//创建用户默认储值卡
|
addVipDefaultCard(sysVipInfo.getId());
|
return i;
|
}
|
|
@Override
|
@Transactional(rollbackFor = Exception.class)
|
public int modify(SysVipInfo sysVipInfo) {
|
SysUsers user = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY);
|
|
if (sysVipInfo.getVipNo() != null) {
|
if (sysVipInfo.getVipNo().equals("")) {
|
throw new GlobleException("请输入会员编号!");
|
}
|
if (serviceUtil.updateCheckRepeatTowColumn(TableMapping.SYS_VIP_INFO, "VIP_NO", sysVipInfo.getVipNo(),
|
"company_id",user.getCompanyId(),
|
"ID", sysVipInfo.getId())) {
|
throw new GlobleException("编号已被使用!");
|
}
|
}
|
if (sysVipInfo.getPhone() != null) {
|
if (sysVipInfo.getPhone().equals("")) {
|
throw new GlobleException("请输入手机号!");
|
}
|
if (serviceUtil.updateCheckRepeatTowColumn(TableMapping.SYS_VIP_INFO, "PHONE", sysVipInfo.getPhone(),
|
"company_id",user.getCompanyId(),
|
"ID", sysVipInfo.getId())) {
|
throw new GlobleException("手机已被使用!");
|
}
|
}
|
|
modifyVipWithOtherInfo(sysVipInfo);
|
return sysVipInfoDao.update(sysVipInfo);
|
}
|
|
@Override
|
public int remove(List<Long> list) {
|
|
return sysVipInfoDao.deleteByIds(list);
|
|
}
|
|
@Override
|
public int removeById(Long id) {
|
|
return sysVipInfoDao.deleteById(id);
|
|
}
|
|
@Override
|
public List<SysVipInfo> findInPage(SysVipInfo sysVipInfo, PaginationVO pageVo) {
|
|
return sysVipInfoDao.selectInPage(sysVipInfo, pageVo);
|
|
}
|
|
@Override
|
public List<SysVipInfo> findAll(SysVipInfo sysVipInfo) {
|
|
return sysVipInfoDao.selectAll(sysVipInfo);
|
|
}
|
|
@Override
|
public List<SysVipInfo> findByModel(SysVipInfo sysVipInfo) {
|
return sysVipInfoDao.selectByModel(sysVipInfo);
|
|
}
|
|
@Override
|
public List<SysVipInfo> findByModel1(SysVipInfo sysVipInfo) {
|
return sysVipInfoDao.selectByModel1(sysVipInfo);
|
|
}
|
|
@Override
|
public int findTotal(SysVipInfo sysVipInfo) {
|
|
return sysVipInfoDao.selectTotalRecord(sysVipInfo);
|
|
}
|
|
@Override
|
public SysVipInfo findById(Long id) {
|
|
return sysVipInfoDao.selectById(id);
|
|
}
|
|
@Override
|
public List<SysVipInfo> findByVipNoOrTel(String key) {
|
return sysVipInfoDao.selectByVipNoOrTel(key);
|
|
}
|
|
|
@Override
|
public boolean isOnlyPhone(String phone) {
|
|
return sysVipInfoDao.selectTotalByField("PHONE", phone) > 0;
|
}
|
|
public boolean isOnlyEmail(String email) {
|
return sysVipInfoDao.selectTotalByField("EMAIl", email) > 0;
|
}
|
|
@Override
|
public List<SysVipInfo> findListByVo(VipInfoVo infoVo, PaginationVO pageVo) {
|
|
return sysVipInfoDao.findListByVo(infoVo, pageVo);
|
}
|
|
@Override
|
public int findListByVoCount(VipInfoVo infoVo) {
|
|
return sysVipInfoDao.findListByVoCount(infoVo);
|
}
|
|
//更新会员的问卷信息
|
@Override
|
public void modifyVipWithOtherInfo(SysVipInfo vipInfo) {
|
//先删除所有问卷答案再添加
|
VipAnswer delAnswer=new VipAnswer();
|
if(vipInfo.getId()==null){
|
throw new GlobleException("会员不存在,请刷新页面!");
|
}
|
delAnswer.setVipId(vipInfo.getId());
|
vipAnswerDao.deleteByModel(delAnswer);
|
if(vipInfo.getVipAnswers()!=null&&vipInfo.getVipAnswers().size()>0){
|
vipAnswerDao.batchInsert(vipInfo.getVipAnswers());
|
}
|
|
|
//如果会员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());
|
}
|
|
}
|
|
|
|
@Override
|
public List<SysVipInfo> findUserByPhoto(Long companyId,String keyWord) {
|
|
return sysVipInfoDao.selectUserByPhoto(companyId,keyWord) ;
|
}
|
|
|
@Override
|
public List<SysVipInfo> findUserByKey(String keyWord) {
|
SysUsers user = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY);
|
return sysVipInfoDao.selectUserByKey(keyWord,user.getCompanyId());
|
}
|
|
|
|
@Override
|
public SysVipInfo login(SysVipInfo user) {
|
|
return sysVipInfoDao.selectVipByPhonePassWord(user) ;
|
}
|
|
|
/**
|
* 批量修改健康顾问
|
*/
|
@Transactional(rollbackFor = Exception.class)
|
@Override
|
public int updateStaffId(String ids, Long staffId) {
|
if(ids==null||ids.equals("")){
|
throw new GlobleException("请至少选择一位会员!");
|
}
|
|
String[] key=ids.split(",");
|
for (String string : key) {
|
long id=Long.valueOf(string.trim());
|
SysVipInfo info=new SysVipInfo();
|
info.setId(id);
|
info.setStaffId(staffId);
|
sysVipInfoDao.update(info);
|
}
|
return key.length;
|
}
|
|
|
//修改密码
|
@Override
|
public int updatePwd(SysVipInfo vipInfo) {
|
//密码MD5加密更新到数据库
|
try {
|
vipInfo.setPassWord(EncrypUtil.getMD5(vipInfo.getPassWord()));
|
} catch (UnsupportedEncodingException | NoSuchAlgorithmException e) {
|
e.printStackTrace();
|
}
|
//更新用户的密码
|
return sysVipInfoDao.update(vipInfo);
|
}
|
/**
|
* 批量导入会员信息
|
*/
|
@Override
|
public int adds(SysVipInfo sysVipInfo,int s,List<Object> errList) {
|
sysVipInfo.setCreateTime(new Date());
|
sysVipInfo.setPointAll(0);
|
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;
|
}
|
|
@Override
|
public List<SysVipInfo> findAllInPage(SysVipInfo sysVipInfo, PaginationVO pageVo) {
|
|
return sysVipInfoDao.selectAllInPage(sysVipInfo, pageVo);
|
|
}
|
@Override
|
public int findAllTotal(SysVipInfo sysVipInfo) {
|
|
return sysVipInfoDao.selectAllTotalRecord(sysVipInfo);
|
|
}
|
|
@Override
|
public List<SysVipInfo> findFristInPage(SysVipInfo sysVipInfo, PaginationVO pageVo) {
|
|
return sysVipInfoDao.selectFristInPage(sysVipInfo, pageVo);
|
|
}
|
@Override
|
public int findFristTotal(SysVipInfo sysVipInfo) {
|
|
return sysVipInfoDao.selectFristTotalRecord(sysVipInfo);
|
|
}
|
|
@Override
|
public List<SysVipInfo> findSecondInPage(SysVipInfo sysVipInfo, PaginationVO pageVo) {
|
|
return sysVipInfoDao.selectSecondInPage(sysVipInfo, pageVo);
|
|
}
|
@Override
|
public int findSecondTotal(SysVipInfo sysVipInfo) {
|
|
return sysVipInfoDao.selectSecondTotalRecord(sysVipInfo);
|
|
}
|
|
@Override
|
public int importVipInfo(File file) throws IOException {
|
SysUsers sysUsers = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY);
|
List<ExcelSheetPO> excelList = ExcelUtil.readExcel(file, null,null);
|
int result = 0;
|
for (int i = 0; i < excelList.size(); i++) {
|
List<List<Object>> dataList = excelList.get(i).getDataList();
|
List<SysVipInfo> vipInfos = new ArrayList<>();
|
if (CollectionUtils.isNotEmpty(dataList)) {
|
for (int j = 1; j < dataList.size(); j++) {
|
List<Object> objects = dataList.get(j);
|
SysVipInfo vipInfo = new SysVipInfo();
|
vipInfo.setVipNo(objects.get(0).toString());
|
|
SysVipInfo exist = sysVipInfoDao.selectByPhone(objects.get(3).toString());
|
if (exist != null) {
|
continue;
|
}
|
List<SysVipInfo> sysVipInfo = sysVipInfoDao.selectVipInfoByVipNo(sysUsers.getCompanyId(), objects.get(0).toString());
|
if (CollectionUtils.isNotEmpty(sysVipInfo)) {
|
int x = j + 1;
|
throw new GlobleException("第"+ x +"行,会员编号已存在");
|
}
|
vipInfo.setVipName(objects.get(1).toString());
|
vipInfo.setSex(objects.get(2).toString());
|
vipInfo.setPhone(objects.get(3).toString());
|
vipInfo.setBirthday1(DateUtil.stringToDate(objects.get(4).toString(), DateUtil.DATE_FORMAT_SS));
|
vipInfo.setShopId(sysUsers.getShopId());
|
vipInfos.add(vipInfo);
|
}
|
}
|
if (CollectionUtils.isNotEmpty(vipInfos)) {
|
result = sysVipInfoDao.batchInsert(vipInfos);
|
}
|
}
|
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
|
@Transactional
|
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());
|
}
|
//添加推荐人积分
|
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
|
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;
|
}
|
}
|