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

📄 rmrecommandcontroller.java

📁 电信的网厅的整站代码
💻 JAVA
字号:
package com.doone.fj1w.fjmgr.sysmgr;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;

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

import com.doone.fj1w.common.CityBean;
import com.doone.util.FileLogger;
import com.doone.uurm.WebAuth;

public class RMRecommandController {
	
	private RMRecommandProductService service;
	private FileLogger log = new FileLogger();
	
	private List lst_product=new ArrayList();//用于存放增加或修改时选择的产品
	private List lst_affair=new ArrayList();//用于存放增加或修改时选中的程控
	
	private String todo="";
	private int returnVal=0;
	private String sydn="";
	private String ctl="";
	private boolean isManager=false;
	private boolean ifDispatch=false;
	private String cityCode=null;
	private String rmindex_str="";
	
	
	private RMRecommandProductBean rmrpb=new RMRecommandProductBean();
	
	
	public void init(){
		service=new RMRecommandProductService();
	}
		
	public RMRecommandController(HttpServletRequest request,
								 HttpServletResponse response,
								 PageContext pageContext,
								 String sPurvICode){
		//初始化
		this.init();
		
		//判断是否是管理员
	    //boolean isManager = true;
		WebAuth auth = WebAuth.getInstance(request);
	    isManager =auth.hasManagerPurview(sPurvICode);
	    isManager=true;
	    
	    //获取管理员所在的地市
		cityCode = auth.getCityCode();
		if(cityCode==null || cityCode.equals("")){
			cityCode="0590";
		}
		//获取地市列表保存在上下文中
		pageContext.setAttribute("CITY",CityBean.getCityList());
		
		//把产品列表放入上下文中
		pageContext.setAttribute("PRODUCT",service.getProduct());
		
		//获取行为参数
		this.todo=request.getParameter("todo");
		if(this.todo!=null && !this.todo.equals("")){
			if(this.todo.equals("add")){
				//获取参数构造推荐产品信息对象
				this.buildRMRecommandProductBean(request);
				//获取参数构造推荐产品条件对象列表(lst_product+lst_affair)
				this.buildRMRecommendConditionBean(request);
				//增加
				service.addRMRecommandProduct(this.rmrpb,this.lst_product,this.lst_affair);
				ifDispatch=true;
			}else if(this.todo.equals("modify")){
				//获取参数构造推荐产品信息对象
				this.buildRMRecommandProductBean(request);
				//获取参数构造推荐产品条件对象列表(lst_product+lst_affair)
				this.buildRMRecommendConditionBean(request);
				//修改
				service.updateRMRecommandProduct(this.rmrpb,this.lst_product,this.lst_affair);
				ifDispatch=true;
			}else if(this.todo.equals("view") || this.todo.equals("want2modify")){

				//获取传入推荐产品信息id参数
				String recommandId=request.getParameter("id");
				//获取产品信息
				this.rmrpb=service.getRMRecommandProductBean(new Long(recommandId));
				
				if(cityCode==null || cityCode.equals("0590")){
					cityCode=rmrpb.getCityCode();
				}
				//获取产品条件信息(产品+程控)字符串
				this.sydn=service.getProgrammedByReommandId(cityCode,recommandId);

			}else if(this.todo.equals("delete")){
				//预删除的产品信息id数组
				String[] id=request.getParameterValues("id");
				//删除
				service.deleteRMRecommand(id);	
				ifDispatch=true;
			}else if(this.todo.equals("want2add")){
				//把产品列表放入上下文中
				pageContext.setAttribute("PRODUCT",service.getProduct());
			}
			
			if(this.todo.equals("add") || this.todo.equals("modify") || this.todo.equals("delete")){
				if(ifDispatch){
					ctl="<script>alert('操作成功!');window.close();window.opener.location.reload();</script>";
				}
			}
			
			//初始化推荐级别指数
			if(this.todo.equals("want2add")){
				Map map=new HashMap();
				map.put("flag","N");
				this.getRmrpb().setRmindex(service.get_max_min_avg_rmindex(null,null,map));
			}			
		}
	}
	
	/**
	 * 使用页面提交数据构造RMRecommandProductBean对象
	 * @param request
	 */
	private void buildRMRecommandProductBean(HttpServletRequest request){
		//获取前端页面提交的数据
		String sRecommandId=request.getParameter("RECOMMANDID");
		String sTitle=request.getParameter("TITLE");
		String sAbstract=request.getParameter("ABSTRACT");
		String sDescrption=request.getParameter("CONTENT");
		String sCity=request.getParameter("HIDDEN_CITY");
		String sStartTime=request.getParameter("STARTTIME");
		String sEndTime=request.getParameter("ENDTIME");
		String sRmindex=request.getParameter("RMINDEX");
		String sDisplayType=request.getParameter("DISPLAYTYPE");
		String sState=request.getParameter("STATE");

		SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
		
		//构造RMRecommandProductBean对象
		try {
			if(sRecommandId!=null && !sRecommandId.equals("")){
				rmrpb= new RMRecommandProductBean(Long.parseLong(sRecommandId),
												  sTitle,sCity,sAbstract,
												  sdf.parse(sStartTime),
												  sdf.parse(sEndTime),
												  Integer.parseInt(sRmindex),
												  sDisplayType,sDescrption,sState);
			}
			else{
				rmrpb= new RMRecommandProductBean(sTitle,sCity,sAbstract,
												  sdf.parse(sStartTime),
												  sdf.parse(sEndTime),
												  Integer.parseInt(sRmindex),
												  sDisplayType,sDescrption,sState);
			}
		} catch (NumberFormatException e) {
			log.error("推荐等级必须是数字!");
		} catch (ParseException e) {
			log.error("时间必须是'yyyy-MM-dd'的格式");
		}
	}
	
	/**
	 * 使用页面提交数据构造RMRecommendConditionBean对象
	 * @param request
	 */
	private void buildRMRecommendConditionBean(HttpServletRequest request){
		//获取产品下拉列表,程控多选框信息
		String[] sProduct=request.getParameterValues("PRODUCT");//value:产品id
		String[] sAffairType=request.getParameterValues("AFFAIRTYPE");//value:所属产品id+";"+程控id
		
		//积分和其它暂不考虑
		//String INTEGRAL=request.getParameter("INTEGRAL");
		//String[] OTHERS=request.getParameterValues("OTHERS");
		
		RMRecommendConditionBean rmrcb;
		
		//针对产品
		if(sProduct!=null && !sProduct.equals("0")){
			for(int j=0;j<sProduct.length;j++){
				rmrcb=new RMRecommendConditionBean("P","=",sProduct[j],0);
				lst_product.add(rmrcb);//把产品放在lst_product列表中
			}
		}
		//针对程控
		if(sAffairType!=null){
			for(int i=0;i<sAffairType.length;i++){
		    	//分解程控代码如(1;599),前面是产品id,后面是程控id
		    	String[] code=sAffairType[i].split(";");
		    	//code[0]是所属的产品id标识位
		    	//它的upConditionId现在还未知,在新加所属产品后才会知道它的upConditionId(序列号)
				rmrcb=new RMRecommendConditionBean("F","=",code[1],code[0]);
				lst_affair.add(rmrcb);//把程控放在lst_product列表中
			}
		}
	}

	
	public static String parseDate(Date date){
		if(date==null)
			return "";
		SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
		return sdf.format(date);
	}
	

	public RMRecommandProductBean getRmrpb() {
		return rmrpb;
	}

	public String getSydn() {
		return sydn;
	}

	public String getTodo() {
		return todo;
	}

	public int getReturnVal() {
		return returnVal;
	}

	public String getCtl() {
		return ctl;
	}

	public boolean isManager() {
		return isManager;
	}

	public String getCityCode() {
		return cityCode;
	}

	public String getRmindex_str() {
		return rmindex_str;
	}
	
	
}

⌨️ 快捷键说明

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