Helius
2020-12-22 c1cb25ff1c05f90858aaef8cb12ccade4c36dba7
zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysVipInfoServiceImpl.java
@@ -6,20 +6,16 @@
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.VipInfoListDto;
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 +27,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 +52,9 @@
   @Autowired
   private MoneyCardUseDao moneyCardUseDao;
   @Autowired
   private SysVipLabelDao sysVipLabelDao;
   /**
    * 新增会员储值卡
@@ -422,7 +419,70 @@
   @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.setInDate(new Date());
      vipInfo.setPointAll(0);
      vipInfo.setBirthday1(addVipDto.getBirthday());
      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())) {
         Set<String> labels = new HashSet<>(addVipDto.getLabels());
         Iterator<String> iterator = labels.iterator();
         if (iterator.hasNext()) {
            SysVipLabel sysVipLabel = new SysVipLabel();
            sysVipLabel.setCreateTime(new Date());
            sysVipLabel.setCreateBy(user.getSuName());
            sysVipLabel.setLabel(iterator.next());
            sysVipLabel.setVipId(vipInfo.getId());
            sysVipLabelDao.insert(sysVipLabel);
         }
      }
      //创建用户默认储值卡
      addVipDefaultCard(vipInfo.getId());
      return i;
   }
}