All Downloads are FREE. Search and download functionalities are using the official Maven repository.
Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
com.rt.web.beans.WebBean Maven / Gradle / Ivy
package com.rt.web.beans;
import com.json.JSONArray;
import com.json.JSONObject;
import com.rt.core.util.RTUtil;
import com.rt.logic.beans.LogicBean;
import java.io.Serializable;
import java.util.List;
import java.util.Map;
/**
* 业务层业务逻辑传递数据封装
*
* @author msc
*/
public class WebBean extends LogicBean {
/**
* 默认构造
*/
public WebBean() {
}
/**
* 通过json字符串构造
*
* @param string json string
* @throws Exception json exception
*/
public WebBean(String string) throws Exception {
super(string);
}
/**
* 通过Map构造
*
* @param map {@link Map}
*/
public WebBean(Map map) {
super(map);
}
/**
* 构造函数
*
* @param code message code
* @param message message
* @param data data
*/
public WebBean(String code, String message, Serializable data) {
setCode(code);
setMessage(message);
setData(data);
}
/**
* 构造函数
*
* @param code message code
* @param message message
*/
public WebBean(String code, String message) {
this(code, message, null);
}
/**
* 构造函数
*
* @param data result data
*/
public WebBean(Serializable data) {
this(SUCCESS, SUCCESS_STR, data);
}
/**
* 是否已经登录
*
* @return boolean
*/
public boolean isLogin() {
return getUserInfo() != null;
}
/**
* 获取登录用户id
*
* @return String
*/
public String getUserId() {
UserInfo userInfo = getUserInfo();
if (userInfo == null) {
return null;
}
return userInfo.getId();
}
/**
* 获取登录用户信息
*
* @return UserInfo
*/
public UserInfo getUserInfo() {
return (UserInfo) get("userInfo");
}
/**
* 设置登录用户信息
*
* @param userInfo {@link UserInfo}
*/
public void setUserInfo(UserInfo userInfo) {
if (userInfo == null) {
return;
}
put("userInfo", userInfo);
}
/**
* ip request client ip
*
* @return String
*/
public String getIp() {
return getResultParam("ip");
}
/**
* ip
*
* @param ip request client ip
*/
public void setIp(String ip) {
putResultParam("ip", ip);
}
/**
* 服务器主地址
*
* @return String
*/
public String getAgentHost() {
return getResultParam("agentHost");
}
/**
* 获取时区
*
* @return String like +0000
*/
public String getTimeZone() {
return getString("timeZone", "+0000");
}
/**
* 设置时区
*
* @param timeZone like +0000
*/
public void setTimeZone(String timeZone) {
put("timeZone", timeZone);
}
/**
* 服务器主地址
*
* @param agentHost 代理服务器
*/
public void setAgentHost(String agentHost) {
putResultParam("agentHost", agentHost);
}
/**
* 远程请求地址
*
* @return String
*/
public String getRemoteUrl() {
return getResultParam("remoteUrl");
}
/**
* 远程请求地址
*
* @param remoteUrl 远程主机地址
*/
public void setRemoteUrl(String remoteUrl) {
putResultParam("remoteUrl", remoteUrl);
}
/**
* sessionId
*
* @return String
*/
public String getSessionId() {
return getResultParam("sessionId");
}
/**
* sessionId
*
* @param sessionId session id
*/
public void setSessionId(String sessionId) {
putResultParam("sessionId", sessionId);
}
/**
* 文件对象
*
* @param object
* @return T object
*/
public T getFile() {
Map map = getFileMap();
for (Object o : map.values()) {
List list = (List) o;
if (list != null && list.size() > 0) {
return (T) list.get(0);
}
}
return null;
}
/**
* 文件对象
*
* @param name name
* @param object
* @return T object
*/
public T getFile(String name) {
List list = getFileArray(name);
if (list == null || list.isEmpty()) {
return null;
}
return (T) list.get(0);
}
/**
* 设置文件对象
*
* @param name name
* @param item item
*/
public void setFile(String name, Object item) {
List fileItem = new JSONArray();
fileItem.add(item);
getFileMap().put(name, fileItem);
}
/**
* 获取文件列表
*
* @param name name
* @return List
*/
public List getFileArray(String name) {
return (List) getFileMap().get(name);
}
/**
* 添加文件
*
* @param name name
* @param item item
*/
public void addFile(String name, Object item) {
List array = (List) getFileMap().get(name);
if (array != null) {
array.add(item);
}
}
public void removeFile(String name, int index) {
List array = (List) getFileMap().get(name);
if (array == null || array.isEmpty() || index >= array.size()) {
return;
}
array.remove(index);
getFileMap().put(name, array);
}
/**
* 添加文件
*
* @param name name
* @param file file
*/
public void putFile(String name, Object file) {
List list = getFileArray(name);
if (list == null) {
list = new JSONArray();
getFileMap().put(name, list);
}
list.add(file);
}
/**
* 添加文件列表
*
* @param name name
* @param files List
*/
public void putFiles(String name, List files) {
getFileMap().put(name, files);
}
/**
* 获取所有文件
*
* @return Map
*/
public Map getFileMap() {
Map map = (Map) get("fileArray");
if (map == null) {
map = new JSONObject();
put("fileArray", map);
}
return map;
}
/**
* 获取请求参数对象值
*
* @param name name
* @return JSONArray
*/
public JSONArray getParamArray(String name) {
JSONArray array = getParam().getJSONArray(name, false);
// 注意这里的写法,如果为空,有可能值只传入了一个,但是业务上需要是个array.
// 所以需要构造成
if (array.isEmpty()) {
String value = getParam(name);
// 注意:不要删除这个为空判断,可能是前台需要一个空值.
if (RTUtil.isEmpty(value)) {
getParam().put(name, RTUtil.EMPTY);
} else {
array.add(value);
}
}
return array;
}
/**
* 查询实体
*
* @return the queryEntity
*/
public String getQueryEntity() {
return getParam("queryEntity");
}
/**
* 查询实体
*
* @param className the queryEntity
*/
public void setQueryEntity(String className) {
putParam("queryEntity", className);
}
/**
* json格式返回
*
* @param json set return data type is json
*/
public void setReturnJSON(boolean json) {
if (json) {
putParam("dt", "json");
} else {
putParam("dt", "");
}
}
/**
* json格式返回
*
* @return boolean is return json data type
*/
public boolean isReturnJSON() {
return RTUtil.contains(getParam("dt"), "json");
}
/**
* 文件格式返回
*
* @return boolean is return file data type
*/
public boolean isReturnFile() {
return RTUtil.contains(getParam("dt"), "file");
}
/**
* file格式返回
*
* @param isFile set return file data type
*/
public void setReturnFile(boolean isFile) {
if (isFile) {
putParam("dt", "file");
} else {
putParam("dt", "");
}
}
/**
* Stream返回
*
* @return boolean is return byte[] stream data type
*/
public boolean isReturnStream() {
return RTUtil.contains(getParam("dt"), "stream");
}
/**
* Stream返回
*
* @param isStream set return byte[] stream data type
*/
public void setReturnStream(boolean isStream) {
if (isStream) {
putParam("dt", "stream");
} else {
putParam("dt", "");
}
}
/**
* 获取数据size
*
* @return int
*/
public int getDataSize() {
Object data = getData();
if (data instanceof List) {
List list = (List) data;
return list.size();
} else if (data instanceof Map) {
Map map = (Map) data;
return map.size();
}
return 0;
}
/**
* 添加数据对象到data
*
* @param value Serializable
*/
public void addDataItem(Serializable value) {
List data = getListData();
if (data == null) {
data = new JSONArray();
setData(data);
}
data.add(value);
}
/**
* 添加数据对象到data
* * 注意:如果原data属性不是map类型,原有data属性数据将被清除,重新实例化新Map实例,并装载新数据.
*
* @param key key
* @param value Serializable
*/
public void putDataItem(String key, Serializable value) {
getMapData().put(key, value);
}
/**
* 请求参数中是否有某个属性
*
* @param id param id
* @return boolean has param
*/
public boolean hasParam(String id) {
return getParam().has(id);
}
/**
* 不需要count查询
*
* @return boolean
*/
public boolean isNoCount() {
return !hasParam("maxrow") || getMaxRow() == 0;
}
/**
* 不需要count查询
*/
public void setNoCount() {
setMaxRow(0);
}
/**
* 初始化分页信息
*
* @return PageInfo
*/
public PageInfo initPageInfo() {
PageInfo pageInfo = getPageInfo();
if (pageInfo == null) {
pageInfo = new PageInfo();
put(PageInfo.ID, pageInfo);
}
// 计算分页
pageInfo.computePage(getStartRow(), getMaxRow(), getTotalRow());
return pageInfo;
}
/**
* 分页信息
*
* @return the pageInfo
*/
public PageInfo getPageInfo() {
return (PageInfo) getJSONObject(PageInfo.ID);
}
/**
* 清理所有请求参数
*/
public void clearParam() {
remove("param");
clearMultipartData();
}
/**
* 清理附件数据
*/
public void clearMultipartData() {
remove("fileArray");
}
/**
* 清理数据
*/
public void clearData() {
remove("data");
remove("pageInfo");
clearMultipartData();
}
/**
* 清理用户数据
*/
public void clearUserInfo() {
remove("userInfo");
}
}