admin
2021-06-26 5d9e2fbeab87327ce11080485bf4d971f93f542a
zq-erp/src/main/java/com/matrix/system/hive/action/VipInfoController.java
@@ -9,23 +9,25 @@
import com.matrix.core.tools.excl.ExcelSheetPO;
import com.matrix.core.tools.excl.ExcelUtil;
import com.matrix.core.tools.excl.ExcelVersion;
import com.matrix.system.common.bean.CustomerDataDictionary;
import com.matrix.system.common.bean.SystemDictionary;
import com.matrix.system.common.bean.SysUsers;
import com.matrix.system.common.bean.SystemDictionary;
import com.matrix.system.common.constance.AppConstance;
import com.matrix.system.common.dao.CustomerDataDictionaryDao;
import com.matrix.system.common.service.SystemDictionaryService;
import com.matrix.system.common.service.SysUsersService;
import com.matrix.system.common.service.SystemDictionaryService;
import com.matrix.system.common.tools.ResponseHeadUtil;
import com.matrix.system.constance.Dictionary;
import com.matrix.system.constance.SystemConstance;
import com.matrix.system.hive.action.util.QueryUtil;
import com.matrix.system.hive.bean.*;
import com.matrix.system.hive.bean.Question;
import com.matrix.system.hive.bean.SysVipInfo;
import com.matrix.system.hive.bean.SysVipLevel;
import com.matrix.system.hive.bean.VipAnswer;
import com.matrix.system.hive.dao.MoneyCardUseDao;
import com.matrix.system.hive.dao.SysVipLabelDao;
import com.matrix.system.hive.dao.VipAnswerDao;
import com.matrix.core.tools.DateUtil;
import com.matrix.system.hive.pojo.RegisterInfo;
import com.matrix.system.hive.service.*;
import com.matrix.system.score.dao.ScoreVipDetailDao;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
@@ -45,7 +47,10 @@
import java.net.URLDecoder;
import java.net.URLEncoder;
import java.security.NoSuchAlgorithmException;
import java.util.*;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Calendar;
import java.util.List;
/**
@@ -76,10 +81,18 @@
    private MoneyCardUseDao moneyCardUseDao;
    @Autowired
    private SysVipLabelDao sysVipLabelDao;
    @Autowired
    private SystemDictionaryService dataDictionaryService;
    @Autowired
    private CustomerDataDictionaryDao customerDataDictionaryDao;
    @Resource
    private SysOrderService sysOrderService;
    @Autowired
    private ScoreVipDetailDao scoreVipDetailDao;
    @RequestMapping(value = "/showVipLevel")
@@ -113,37 +126,18 @@
    @RequestMapping(value = "/showVipInfo")
    public @ResponseBody
    AjaxResult findByModel(String keyWord) {
        LinkedList<SysVipInfo> userList = null;
        // 获取最近查询客户
        if (WebUtil.getSession().getAttribute(SystemConstance.HISTORY_CUSTOMER) == null) {
            userList = new LinkedList<SysVipInfo>();
            WebUtil.getSession().setAttribute(SystemConstance.HISTORY_CUSTOMER, userList);
        } else {
            userList = (LinkedList<SysVipInfo>) WebUtil.getSession().getAttribute(SystemConstance.HISTORY_CUSTOMER);
        }
        List<SysVipInfo> vips = vipInfoService.findByVipNoOrTel(keyWord);
        if (vips.size() > 0) {
            // 在session存放当前查询的客户
            vips.get(0).setPointAll(scoreVipDetailDao.selectUserTotalScore(vips.get(0).getId()));
            vips.get(0).setSysOrder(sysOrderService.findSysOrderTjByVipId(vips.get(0).getId()));
            vips.get(0).setLevelCard(cardUseService.findByVipId(vips.get(0).getId()));
            WebUtil.getSession().setAttribute(SystemConstance.CURRENT_CUSTOMER, vips.get(0));
            // 满20后删除一个
            if (userList.size() == 20) {
                userList.poll();
            }
            // 去重标志
            boolean isNoRepeat = true;
            for (SysVipInfo sysVipInfo : userList) {
                if (vips.get(0).getPhone().equals(sysVipInfo.getPhone())) {
                    isNoRepeat = false;
                }
            }
            if (isNoRepeat) {
                userList.add(vips.get(0));
            }
            vips.get(0).setLabels(sysVipLabelDao.selectByVipId(vips.get(0).getId()));
            vips.get(0).setAge(DateUtil.getAgeForBirthDay(vips.get(0).getBirthday1()));
            vips.get(0).setBalance(moneyCardUseDao.selectVipCardTotalMoney(vips.get(0).getId()));
            AjaxResult result=  new AjaxResult(AjaxResult.STATUS_SUCCESS, vips, 0);
            AjaxResult result = new AjaxResult(AjaxResult.STATUS_SUCCESS, vips, 0);
            return result;
        }else{
        } else {
            return AjaxResult.buildFailInstance("未查到询客户信息");
        }
@@ -168,25 +162,9 @@
    public @ResponseBody
    AjaxResult addOrModify(SysVipInfo vipInfo) {
        if (vipInfo.getId() != null) {
            try {
                if (vipInfo.getPassWord() != null) {
                    vipInfo.setPassWord(EncrypUtil.getMD5(vipInfo.getPassWord()));
                }
            } catch (UnsupportedEncodingException | NoSuchAlgorithmException e) {
                e.printStackTrace();
            }
            return modify(vipInfoService, vipInfo, "会员信息");
        } else {
            try {
                if (StringUtils.isNotBlank(vipInfo.getPassWord())) {
                    vipInfo.setPassWord(EncrypUtil.getMD5(vipInfo.getPassWord()));
                }
                vipInfo.setVipState(Dictionary.VIP_STATE_HY);
            } catch (UnsupportedEncodingException | NoSuchAlgorithmException e) {
                e.printStackTrace();
            }
            vipInfo.setVipState(Dictionary.VIP_STATE_HY);
            SysUsers users = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY);
            vipInfo.setShopId(users.getShopId());
            return add(vipInfoService, vipInfo, "会员信息");
@@ -259,7 +237,8 @@
    public @ResponseBody
    AjaxResult getVipQuestions(Long id, HttpServletRequest request) {
        // 获取会员所有的答案,分类型
        List<Question> questions = questionSerivce.findByVipId(id);
        SysUsers user = (SysUsers) WebUtil.getSession().getAttribute(MatrixConstance.LOGIN_KEY);
        List<Question> questions = questionSerivce.findByVipId(id, user.getCompanyId());
        request.setAttribute("questions", questions);
        AjaxResult result = new AjaxResult();
        result.putInMap("questions", questions);
@@ -323,7 +302,7 @@
        SystemDictionary dataDictionary = new SystemDictionary();
        // 获取到店途径
        dataDictionary.setType("到店途径");
        WebUtil.getRequest().setAttribute("ddtj", customerDataDictionaryDao.selectByParentCode("DDTJ",getMe().getCompanyId()));
        WebUtil.getRequest().setAttribute("ddtj", customerDataDictionaryDao.selectByParentCode("DDTJ", getMe().getCompanyId()));
        // 获取生肖
        dataDictionary.setType("生肖");
        WebUtil.getRequest().setAttribute("sx", dataDictionaryService.findByModel(dataDictionary));
@@ -347,6 +326,7 @@
        vipInfo.setVipState(Dictionary.VIP_STATE_HY);
        vipInfo.setStaffId(getMe().getSuId());
        vipInfo.setShopId(getMe().getShopId());
        vipInfo.setCompanyId(getMe().getCompanyId());
        vipInfo.setVipType(Dictionary.VIP_TYPE_NOCARD);
        vipInfoService.add(vipInfo);
        return new AjaxResult(AjaxResult.STATUS_SUCCESS, "会员信息注册成功");
@@ -410,33 +390,7 @@
    @RequestMapping(value = "/findUserByPhoneOrNo")
    public @ResponseBody
    AjaxResult findUserByPhoneOrNo(String keyWord) {
        LinkedList<SysVipInfo> userList = null;
        // 获取最近查询客户
        if (WebUtil.getSession().getAttribute(SystemConstance.HISTORY_CUSTOMER) == null) {
            userList = new LinkedList<SysVipInfo>();
            WebUtil.getSession().setAttribute(SystemConstance.HISTORY_CUSTOMER, userList);
        } else {
            userList = (LinkedList<SysVipInfo>) WebUtil.getSession().getAttribute(SystemConstance.HISTORY_CUSTOMER);
        }
        List<SysVipInfo> vips = vipInfoService.findByVipNoOrTel(keyWord);
        if (vips.size() > 0) {
            // 在session存放当前查询的客户
            WebUtil.getSession().setAttribute(SystemConstance.CURRENT_CUSTOMER, vips.get(0));
            // 满20后删除一个
            if (userList.size() == 20) {
                userList.poll();
            }
            // 去重标志
            boolean isNoRepeat = true;
            for (SysVipInfo sysVipInfo : userList) {
                if (vips.get(0).getPhone().equals(sysVipInfo.getPhone())) {
                    isNoRepeat = false;
                }
            }
            if (isNoRepeat) {
                userList.add(vips.get(0));
            }
        }
        return new AjaxResult(AjaxResult.STATUS_SUCCESS, vips, 0);
    }