package com.matrix.system.hive.action; import com.matrix.core.constance.MatrixConstance; import com.matrix.core.pojo.AjaxResult; import com.matrix.core.pojo.PaginationVO; import com.matrix.core.tools.WebUtil; import com.matrix.system.common.bean.SysUsers; import com.matrix.system.common.service.SystemDictionaryService; import com.matrix.system.constance.Dictionary; import com.matrix.system.hive.bean.MoneyCardUse; import com.matrix.system.hive.bean.Question; import com.matrix.system.hive.bean.SysVipInfo; import com.matrix.system.hive.dao.SysVipInfoDao; import com.matrix.system.hive.pojo.VipInfoVo; import com.matrix.system.hive.service.*; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import javax.annotation.Resource; import java.util.List; /** * @author jiangyouyao * @date 2016-08-01 * @description 客户控制类:包含我的客户的下所有所需方法 */ @RequestMapping(value="/admin/customer") @Controller public class CustomerController extends BaseController { @Resource private SysVipInfoService vipInfoService; // 会员信息 @Autowired private SysVipInfoDao sysVipInfoDao; @Resource private SysProjUseService projUseService; @Resource private SystemDictionaryService dataDictionaryService;//数据字典Service @Resource private QuestionSerivce questionSerivce; @Resource private MoneyCardUseService moneyCardUseService;//数据字典Service /** * 我的客户 用户姓名手机号会员编号查询 * @author 姜友瑶 * @date 2016-07-20 */ @RequestMapping(value = "/showMyCustomer") public @ResponseBody AjaxResult showMyCustomer(String keyWord, PaginationVO pageVo) { VipInfoVo vipInfoVo = new VipInfoVo(); if(getMe().getRoleName().contains(Dictionary.STAFF_POST_JKGW)){ vipInfoVo.setJkgwId(getMe().getSuId()); }else if(getMe().getRoleName().contains(Dictionary.STAFF_POST_MLS)){ vipInfoVo.setMlsId(getMe().getSuId());; } vipInfoVo.setKeyWord(keyWord); List vipInfoList = vipInfoService.findListByVo(vipInfoVo, pageVo); int count = vipInfoService.findListByVoCount(vipInfoVo); return new AjaxResult(AjaxResult.STATUS_SUCCESS, vipInfoList,count); } /** * * 跟进查询的类型显示几天内满足条件 的会员 * @author:姜友瑶 * @return * 返回类型 AjaxResult * @date 2016年8月31日 */ @RequestMapping(value = "/showCustomerByDay") public @ResponseBody AjaxResult showMyCustomer(String kind, String day) { /*if(kind.equals("1")){ return new AjaxResult(AjaxResult.STATUS_SUCCESS, vipInfoService.findByBirthday(day, getMe().getSuId()),0); }else if(kind.equals("2")){ return new AjaxResult(AjaxResult.STATUS_SUCCESS, vipInfoService.findByServiceRocord(day, getMe().getSuId()),0); }else if(kind.equals("3")){ return new AjaxResult(AjaxResult.STATUS_SUCCESS, vipInfoService.findByProjService(day, getMe().getSuId()),0); }else{ return new AjaxResult(AjaxResult.STATUS_FAIL,"查询失败", null,null); }*/ return null; } /** * 根据会员ID查询会员信息 */ @RequestMapping(value = "/findVipInfoById") public String findVipInfoById(Long id) { WebUtil.getRequest().setAttribute("vip", vipInfoService.findById(id)); return "admin/hive/mobile/CRM-account-msg"; } /** *进入会员详情界面列表界面 *@author 姜友瑶 */ @RequestMapping(value = "/toVipInfoList") public String toVipInfoList(Long id) { SysVipInfo info=vipInfoService.findById(id); MoneyCardUse cardUse=new MoneyCardUse(); cardUse.setVipId(id); cardUse.setStatus(Dictionary.MONEYCARD_STATUS_YX); info.setCards(moneyCardUseService.findByModel(cardUse)); WebUtil.getSession().setAttribute("lookVipInfo",info); return "admin/hive/mobile/CRM-account"; } /** *进入会员详情界面列表界面 *temp 判断页面来源我的客户还是客户查询 *@author 姜友瑶 */ @RequestMapping(value = "/toVipInfoSearch") public String toVipInfoSearch(Long id,int lookInfo) { WebUtil.getSession().setAttribute("lookInfo", lookInfo); SysVipInfo info=vipInfoService.findById(id); MoneyCardUse cardUse=new MoneyCardUse(); cardUse.setVipId(id); cardUse.setStatus(Dictionary.MONEYCARD_STATUS_YX); info.setCards(moneyCardUseService.findByModel(cardUse)); WebUtil.getSession().setAttribute("lookVipInfo",info); return "admin/hive/mobile/CRM-account"; } /** * 获取当前查询的会员信息 * @author 姜友瑶 * @time 2016年8月6日 * @return */ private SysVipInfo getLookViP() { return (SysVipInfo) (WebUtil.getSession().getAttribute("lookVipInfo")); } /** * 根据会员ID查询会员的详细信息 * @author luokai * @time 2016-08-08 */ @RequestMapping(value = "/findVipQuestionVipId") public String findVipQuestionVipId(Long id) { //获取会员所有的答案,分类型 SysUsers user = (SysUsers) WebUtil.getSession().getAttribute(MatrixConstance.LOGIN_KEY); List questions=questionSerivce.findByVipId(id,user.getCompanyId()); WebUtil.getRequest().setAttribute("questions", questions); return "admin/hive/mobile/CRM-account-detail"; } /** * 根据会员ID查询会员的详细信息 * @author luokai * @time 2016-08-08 */ @RequestMapping(value = "/addOrModifyVipAnswer") public @ResponseBody AjaxResult addOrModifyVipAnswer(SysVipInfo vipInfo) { //修改会员详细信息 vipInfoService.modifyVipWithOtherInfo(vipInfo); return new AjaxResult(AjaxResult.STATUS_SUCCESS, "操作成功!"); } /** * 我的客户查询 * @param vipInfoVo * @param pageVo * @return */ @RequestMapping(value = "/showMyCustomerByModel") public @ResponseBody AjaxResult showMyCustomerByModel(VipInfoVo vipInfoVo , PaginationVO pageVo,String select,String time) { List vipInfoList=null; //按照对象查询 SysUsers sysUsers = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY); Long companyId = sysUsers.getCompanyId(); //按照生日,跟进,预约查询 if(select !=null && !select.equals("") && !time.equals("") && time != null){ if("birthdays".equals(select)){ vipInfoList= sysVipInfoDao.selectByBirthday(companyId, time, getMe().getSuId(),pageVo); return new AjaxResult(AjaxResult.STATUS_SUCCESS, vipInfoList,sysVipInfoDao.selectByBirthdayCount(companyId,time, getMe().getSuId())); }else if("followDays".equals(select)){ vipInfoList= sysVipInfoDao.selectByServiceRocord(companyId,time, getMe().getSuId(),pageVo); return new AjaxResult(AjaxResult.STATUS_SUCCESS, vipInfoList,sysVipInfoDao.selectByServiceRocordCount(companyId,time, getMe().getSuId())); }else if("appointDays".equals(select)){ vipInfoList= sysVipInfoDao.selectByProjService(companyId,time, getMe().getSuId(),pageVo); return new AjaxResult(AjaxResult.STATUS_SUCCESS, vipInfoList, sysVipInfoDao.selectByProjServiceCount(companyId,time, getMe().getSuId())); }else if("absentDay".equals(select)){ vipInfoVo.setAbsentDay(Integer.parseInt(time)); } } vipInfoVo.setJkgwId(getMe().getSuId()); vipInfoList = vipInfoService.findListByVo(vipInfoVo, pageVo); int count = vipInfoService.findListByVoCount(vipInfoVo); return new AjaxResult(AjaxResult.STATUS_SUCCESS, vipInfoList,count); } /** * 所有客户查询 * @param vipInfoVo * @param pageVo * @param birthdays * @param followDays * @param appointDays * @return */ @RequestMapping(value = "/showMyCustomerByModelAll") public @ResponseBody AjaxResult showMyCustomerByModelAll(VipInfoVo vipInfoVo , PaginationVO pageVo,String birthdays,String followDays,String appointDays) { List vipInfoList=null; //按照对象查询 SysUsers sysUsers = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY); Long companyId = sysUsers.getCompanyId(); //按照生日,跟进,预约查询 if(birthdays!=null && !birthdays.equals("")){ vipInfoList= sysVipInfoDao.selectByBirthday(companyId,birthdays, getMe().getSuId(),pageVo); return new AjaxResult(AjaxResult.STATUS_SUCCESS, vipInfoList,sysVipInfoDao.selectByBirthdayCount(companyId,birthdays, getMe().getSuId())); }else if(followDays!=null && !followDays.equals("")){ vipInfoList= sysVipInfoDao.selectByServiceRocord(companyId,followDays, getMe().getSuId(),pageVo); return new AjaxResult(AjaxResult.STATUS_SUCCESS, vipInfoList,sysVipInfoDao.selectByServiceRocordCount(companyId,followDays, getMe().getSuId())); }else if(appointDays!=null && !appointDays.equals("")){ vipInfoList= sysVipInfoDao.selectByProjService(companyId,appointDays, getMe().getSuId(),pageVo); return new AjaxResult(AjaxResult.STATUS_SUCCESS, vipInfoList, sysVipInfoDao.selectByProjServiceCount(companyId,appointDays, getMe().getSuId())); } vipInfoList = vipInfoService.findListByVo(vipInfoVo, pageVo); int count = vipInfoService.findListByVoCount(vipInfoVo); return new AjaxResult(AjaxResult.STATUS_SUCCESS, vipInfoList,count); } /** * 会员充值卡的列表显示 */ @RequestMapping(value = "/showVipMoneyCardList") public String showVipMoneyCardList(MoneyCardUse moneyCardUse) { List list = moneyCardUseService.findVipCardUse(moneyCardUse); WebUtil.getRequest().setAttribute("list", list); return "/admin/hive/mobile/CRM-card-user"; } }