| 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<SysVipInfo> 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) { | 
|         //获取会员所有的答案,分类型 | 
|         List<Question> questions=questionSerivce.findByVipId(id); | 
|         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<SysVipInfo> 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<SysVipInfo> 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<MoneyCardUse> list = moneyCardUseService.findVipCardUse(moneyCardUse); | 
|         WebUtil.getRequest().setAttribute("list", list); | 
|         return "/admin/hive/mobile/CRM-card-user"; | 
|     } | 
| } |