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"; 
 | 
    } 
 | 
} 
 |