⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 custinfoaction.java

📁 JAVA实现的中小型企业CRM客户关系管理系统
💻 JAVA
字号:
package com.crm.custinfo;

import java.io.IOException;
import java.io.PrintWriter;
import java.lang.reflect.InvocationTargetException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.commons.beanutils.BeanUtils;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.springframework.context.ApplicationContext;
import org.springframework.web.struts.DispatchActionSupport;

import com.crm.custinfo.po.CustInfo;
import com.crm.custservice.ICustServiceDAO;
import com.crm.custservice.po.CustService;
import com.crm.mydict.IMyDictDAO;
import com.crm.user.IUserDAO;
import com.crm.user.po.UserInfo;

public class CustInfoAction extends DispatchActionSupport {
	/**
	 * 取客户信息列表
	 * @param mapping
	 * @param form
	 * @param request
	 * @param response
	 * @return
	 */
	public ActionForward list(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) {
		CustInfoForm custInfoForm = (CustInfoForm) form;// TODO Auto-generated method stub
		ApplicationContext context= this.getWebApplicationContext();
		ICustInfoDAO dao = (ICustInfoDAO)context.getBean("custinfodao");
		CustInfo custInfo = new CustInfo();
		addTypeList(request);
		try {
			BeanUtils.copyProperties(custInfo,custInfoForm);
		} catch (IllegalAccessException e) {
			e.printStackTrace();
		} catch (InvocationTargetException e) {
			e.printStackTrace();
		}
		List list = dao.getCustInfoList(custInfo, request);
		request.setAttribute("custinfolist", list);
		return mapping.findForward("custinfolist");
	}
	/**
	 * 取黑名单客户信息列表
	 * @param mapping
	 * @param form
	 * @param request
	 * @param response
	 * @return
	 */
	public ActionForward blacklist(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) {
		CustInfoForm custInfoForm = (CustInfoForm) form;// TODO Auto-generated method stub
		ApplicationContext context= this.getWebApplicationContext();
		ICustInfoDAO dao = (ICustInfoDAO)context.getBean("custinfodao");
		CustInfo custInfo = new CustInfo();
		try {
			BeanUtils.copyProperties(custInfo,custInfoForm);
		} catch (IllegalAccessException e) {
			e.printStackTrace();
		} catch (InvocationTargetException e) {
			e.printStackTrace();
		}
		custInfo.setState("0");
		List list = dao.getBlackCustList(custInfo, request);
		request.setAttribute("custinfolist", list);
		return mapping.findForward("blackcustlist");
	}
	/**
	 * //客服人员只能看到自己的客户,投诉 客服,短信使用
	 * @param mapping
	 * @param form
	 * @param request
	 * @param response
	 * @return
	 */
	public ActionForward querylist(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) {
		CustInfoForm custInfoForm = (CustInfoForm) form;// TODO Auto-generated method stub
		ApplicationContext context= this.getWebApplicationContext();
		ICustInfoDAO dao = (ICustInfoDAO)context.getBean("custinfodao");
		CustInfo custInfo = new CustInfo();
		String stype = request.getParameter("stype");
		addTypeList(request);
		try {
			BeanUtils.copyProperties(custInfo,custInfoForm);
		} catch (IllegalAccessException e) {
			e.printStackTrace();
		} catch (InvocationTargetException e) {
			e.printStackTrace();
		}
		UserInfo userinfo = (UserInfo)request.getSession().getAttribute("user");
		
		if("SUPPORT".equals(userinfo.getPost()) ){//客服人员只能看到自己的客户,投诉 客服,短信使用
			if(!"4".equals(stype)){//不是客户查询
				custInfo.setEmployee_id(Integer.parseInt(userinfo.getId()));
			}
			
		}
		
		List list = dao.getQueryCustList(custInfo, request);
		request.setAttribute("custinfolist", list);
		request.setAttribute("type", request.getParameter("type"));
		return mapping.findForward("querycustlist");
	}
	/**
	 * 添加客户信息
	 * @param mapping
	 * @param form
	 * @param request
	 * @param response
	 * @return
	 */
	public ActionForward insert(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) {
		CustInfoForm custInfoForm = (CustInfoForm) form;// TODO Auto-generated method stub
		ApplicationContext context= this.getWebApplicationContext();
		ICustInfoDAO dao = (ICustInfoDAO)context.getBean("custinfodao");
		CustInfo custInfo = new CustInfo();
		try {
			BeanUtils.copyProperties(custInfo,custInfoForm);
		} catch (IllegalAccessException e) {
			e.printStackTrace();
		} catch (InvocationTargetException e) {
			e.printStackTrace();
		}
		dao.addCustInfo(custInfo);
		try {
			PrintWriter out = response.getWriter();
			
			out.println("<script language='javascript'>alert('客户增加成功!');location.href='"+request.getContextPath()+"/manage/custinfo.do?paramtype=list';</script>");
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return null;
	}
	/**
	 * 修改客户信息
	 * @param mapping
	 * @param form
	 * @param request
	 * @param response
	 * @return
	 */
	public ActionForward update(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) {
		CustInfoForm custInfoForm = (CustInfoForm) form;// TODO Auto-generated method stub
		ApplicationContext context= this.getWebApplicationContext();
		ICustInfoDAO dao = (ICustInfoDAO)context.getBean("custinfodao");
		CustInfo custInfo = new CustInfo();
		
		try {
			BeanUtils.copyProperties(custInfo,custInfoForm);
		} catch (IllegalAccessException e) {
			e.printStackTrace();
		} catch (InvocationTargetException e) {
			e.printStackTrace();
		}
		String state = custInfoForm.getState();
		//客户级别被更改
		if(null!=custInfo.getLevel()&&!custInfo.getLevel().equals(custInfoForm.getOld_level())){
			
			
			
			if("".equals(custInfo.getLevel_history())){
				
				custInfo.setLevel_history(custInfoForm.getOld_level_name());
			}else{
				custInfo.setLevel_history(custInfoForm.getLevel_history()+"==>"+custInfoForm.getOld_level_name());
			}
		}
		
		if(dao.updateCustInfo(custInfo)){
			try {
				PrintWriter out = response.getWriter();
				out.println("<script language='javascript'>alert('客户修改成功!');location.href='"+request.getContextPath()+"/manage/custinfo.do?paramtype=list';</script>");
				return null;
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
		return mapping.getInputForward();
	}
	/**
	 * 删除客户信息
	 * @param mapping
	 * @param form
	 * @param request
	 * @param response
	 * @return
	 */
	public ActionForward delete(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) {
		CustInfoForm custInfoForm = (CustInfoForm) form;// TODO Auto-generated method stub
		ApplicationContext context= this.getWebApplicationContext();
		ICustInfoDAO dao = (ICustInfoDAO)context.getBean("custinfodao");
		if(dao.delCustInfo(custInfoForm.getId())){
			try {
				PrintWriter out = response.getWriter();
				out.println("<script language='javascript'>alert('客户删除成功!');location.href='"+request.getContextPath()+"/manage/custinfo.do?paramtype=list';</script>");
				return null;
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
		return mapping.getInputForward();
	}
	/**
	 * 客户详细信息
	 * @param mapping
	 * @param form
	 * @param request
	 * @param response
	 * @return
	 */
	public ActionForward detail(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) {
		CustInfoForm custInfoForm = (CustInfoForm) form;// TODO Auto-generated method stub
		ApplicationContext context= this.getWebApplicationContext();
		ICustInfoDAO dao = (ICustInfoDAO)context.getBean("custinfodao");
		CustInfo custInfo = dao.getCustInfo(custInfoForm.getId());
		ICustServiceDAO servicedao = (ICustServiceDAO) context
		.getBean("custservicedao");
		CustService custService = new CustService();
		custService.setCust_id(custInfoForm.getId().toString());		
		List list = servicedao.getCustServList(custService, request);
		request.setAttribute("custservlist", list);
		try {
			BeanUtils.copyProperties(custInfoForm,custInfo);
		} catch (IllegalAccessException e) {
			e.printStackTrace();
		} catch (InvocationTargetException e) {
			e.printStackTrace();
		}
		custInfoForm.setParamtype("update");
		addTypeList(request);
		return mapping.findForward("custinfo");
	}
	/**
	 * 修改前的数据
	 * @param mapping
	 * @param form
	 * @param request
	 * @param response
	 * @return
	 */
	public ActionForward initupdate(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) {
		CustInfoForm custInfoForm = (CustInfoForm) form;// TODO Auto-generated method stub
		ApplicationContext context= this.getWebApplicationContext();
		ICustInfoDAO dao = (ICustInfoDAO)context.getBean("custinfodao");
		CustInfo custInfo = dao.getCustInfo(custInfoForm.getId());
		try {
			BeanUtils.copyProperties(custInfoForm,custInfo);
		} catch (IllegalAccessException e) {
			e.printStackTrace();
		} catch (InvocationTargetException e) {
			e.printStackTrace();
		}
		custInfoForm.setParamtype("update");
		custInfoForm.setOld_level(custInfo.getLevel());
		custInfoForm.setOld_level_name(custInfo.getLevel_name());
		addTypeList(request);
		return mapping.getInputForward();
	}
	/**
	 * 添加前的初始数据
	 * @param mapping
	 * @param form
	 * @param request
	 * @param response
	 * @return
	 */
	public ActionForward initinsert(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) {
		CustInfoForm custInfoForm = (CustInfoForm) form;// TODO Auto-generated method stub
		custInfoForm.setParamtype("insert");
		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
		String str = sdf.format(new Date());
		custInfoForm.setCreate_date(str);
		custInfoForm.setSex("1");
		
		addTypeList(request);
		return mapping.getInputForward();
	}
	/**
	 * 修改客户服务状态
	 * @param mapping
	 * @param form
	 * @param request
	 * @param response
	 * @return
	 */
	public ActionForward updateState(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) {
		ApplicationContext context= this.getWebApplicationContext();
		ICustInfoDAO dao = (ICustInfoDAO)context.getBean("custinfodao");
		int state = Integer.valueOf(request.getParameter("id"));
		dao.updateCustState(state, request.getParameter("state"));
		String returnUrl = request.getContextPath()+"/manage/custinfo.do?paramtype=list";
		if("black".equals(request.getParameter("returntype"))){
			returnUrl = request.getContextPath()+"/manage/custinfo.do?paramtype=blacklist";
		}
		String msg = "";
		switch(state){
			case 1:msg="恢复客户服务成功";
			case 2:msg="成功恢复客户正常服务";
			case 0:msg="成功将客户加入黑名单";
		}
		try {
			PrintWriter out = response.getWriter();
			
			out.println("<script language='javascript'>alert('"+msg+"!');location.href='" + returnUrl + "';</script>");
			return null;
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
			}
		return null;
	}
	private void addTypeList(HttpServletRequest request){
		ApplicationContext context = this.getWebApplicationContext();
		IMyDictDAO dictdao = (IMyDictDAO)context.getBean("mydictdao");
		List custlevellist = dictdao.getMyDictTypeList("CUST_LEVEL");//客户级别
		request.setAttribute("custlevellist", custlevellist); 
		List custsourcelist = dictdao.getMyDictTypeList("CUST_SOURCE");//客户级别
		request.setAttribute("custsourcelist", custsourcelist); 
		List custstatelist = dictdao.getMyDictTypeList("CUST_STATE");//会员状态
		request.setAttribute("custstatelist", custstatelist); 
		List custtypelist = dictdao.getMyDictTypeList("CUST_TYPE");//会员类别
		request.setAttribute("custtypelist", custtypelist); 
		List paytypelist = dictdao.getMyDictTypeList("PAY_TYPE");//交款方式
		request.setAttribute("paytypelist", paytypelist); 

		//
		IUserDAO dao = (IUserDAO)context.getBean("userdao");
		//UserDAO dao = new UserDAO();
		UserInfo userinfo = new UserInfo();
		userinfo.setPost("SUPPORT");
		List userlist = dao.getUserList(userinfo,request);
		request.setAttribute("userlist", userlist);

		
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -