package com.jiuqi.mobile.nigo.comeclose.manager.app;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import com.jiuqi.mobile.nigo.comeclose.bean.SelectKey;
/**
* 消息查询KEY</br>
* 20130724 add 参数为0是当null处理
* @author modi
*
*/
public class SelectNewsKey extends SelectKey implements Serializable{
private final List<SelectNewsParam> params = new ArrayList<SelectNewsParam>();
public SelectNewsKey(){
}
public SelectNewsKey(int size){
super(size);
}
public List<SelectNewsParam> getParams() {
return params;
}
// Integer newsType, Integer carType, Integer cropType, Double minPrice, Double , Long adminAreaCode
// void foo(){
// addParams(new SelectNewsParam("newsType", DataDictionaryBean bean OR int code), new SelectNewsParam("carType", DataDictionaryBean bean OR int code)
// , new SelectNewsParam("cropType", DataDictionaryBean bean OR int code), new SelectNewsParam("adminAreaCode", AdminAreaBean bean OR long code)
// , new SelectNewsParam("price", double minPrice, double maxPrice));
//
// }
/**
* addParams(new SelectNewsParam("newsType", DataDictionaryBean bean OR int code),
* <p>
* new SelectNewsParam("cropType", DataDictionaryBean bean OR int code),
* <p>
* new SelectNewsParam("adminAreaCode", AdminAreaBean bean OR long code),
* <p>
* new SelectNewsParam("createDate", Date date OR long date),
* <p>
* new SelectNewsParam("price", double minPrice, double maxPrice));
* <p>
* @param params
* @return
*/
public SelectNewsKey addParams(SelectNewsParam... params) {
// this.params = params;
this.params.addAll(Arrays.asList(params));
return this;
}
/**
* 农机信息查询
* <link>CarTaskNewsBean</link>
* @param newsType
* @param carType
* @param cropType
* @param minPrice
* @param maxPrice
* @param adminAreaCode
*/
public void setCarTaskNewsParams(Integer newsType, Long carType, Integer cropType, Double minPrice, Double maxPrice, Long adminAreaCode){
params.clear();
addParam("newsType", newsType);
addParam("carTypeNew", carType);
addParam("cropType", cropType);
addParam("adminAreaCode", adminAreaCode);
addParams(new SelectNewsParam("price", minPrice, maxPrice));
}
// 查询类型: 机收信息 农作物类别: 请选择 价格范围: 请选择 所在地: 省份 地市 区县
/**
* 作业信息查询
* <link>WorkTaskNewsBean</link>
* @param newsType
* @param workType 农作物类别
* @param minPrice
* @param maxPrice
* @param adminAreaCode
*/
public void setWorkTaskNewsParams(Integer newsType, Integer workType, Double minPrice, Double maxPrice, Long adminAreaCode){
params.clear();
addParam("newsType", newsType);
addParam("workType", workType);
addParam("adminAreaCode", adminAreaCode);
addParams(new SelectNewsParam("price", minPrice, maxPrice));
}
// 查询类型: 机收信息 农作物类别: 请选择 价格范围: 请选择 所在地: 省份 地市 区县
/**
* 作业信息查询
* <link>WorkTaskNewsBean</link>
* @param newsType
* @param workType 农作物类别
* @param minPrice
* @param maxPrice
* @param adminAreaCode
*/
public void setWorkTaskNewsParamsNew(Integer newsType, Integer workType, Double etPrice, Long adminAreaCode){
params.clear();
addParam("newsType", newsType);
addParam("workType", workType);
addParam("adminAreaCode", adminAreaCode);
if (etPrice == 0.0) {
}else {
addParams(new SelectNewsParam("minPrice", null, etPrice));
addParams(new SelectNewsParam("maxPrice", etPrice, null));
}
}
// 查询类型: 供应信息 商品种类: 请选择 商品名称: 所在地: 省份 地市 区县
/**
* 供需信息查询
* <link>SupplyAndDemandTaskNewsBean</link>
* @param newsType
* @param goodsType
* @param goodsName
* @param adminAreaCode
*/
public void setSupplyAndDemandTaskNewsParams(Integer newsType, Integer goodsType, String goodsName, Long adminAreaCode){
params.clear();
addParam("newsType", newsType);
addParam("goodsType", goodsType);
// addParam("goodsName", goodsName);
SelectNewsParam p = new SelectNewsParam("goodsName");
p.setSearch(goodsName);
addParams(p);
addParam("adminAreaCode", adminAreaCode);
}
/**
* 公告通知类信息查询
* <link>NoticeNewsBean</link>
* @param newsType
* @param adminAreaCode
*/
public void setNoticeNewsParams(Integer newsType, Long adminAreaCode){
params.clear();
addParam("newsType", newsType);
addParam("adminAreaCode", adminAreaCode);
}
/**
* @Title: addParam
* @Description: 内部方法,添加参数
* @param @param key
* @param @param value 设定文件
* @return void 返回类型
* @throws
*/
private void addParam(String key, Object value) {
if(null == value || value.equals(0)){
return;
}else if(value instanceof Long&&(Long)value==0l){
return ;
}
if(value instanceof Long&&(Long)value==999999l){
value=0;
}
this.params.add(new SelectNewsParam(key, value));
}
}