📄 rmrecommandcontroller.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 + -