package com.wlwq.workers.controller.enums;
/**
* 定义响应的状态码
* @author ZGZ
*
*/
public enum ResponseCode {
SUCCESS(1,"查询成功"),
ERROR(2,"系统异常"),
NEED_LOG(3,"请先登录");
private int code;
private String msg;
private ResponseCode(int code, String msg) {
this.code = code;
this.msg = msg;
}
public int getCode() {
return code;
}
public void setCode(int code) {
this.code = code;
}
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
}
package com.wlwq.workers.controller.utl;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonInclude.Include;
import com.wlwq.workers.controller.enums.ResponseCode;
/**
* 封装后端返回的Json数据
* @author ZGZ
*
* @param <T>
*/
//序列化该对象时 属性值为null 不序列化该字段
@JsonInclude(Include.NON_NULL)
public class ServerResponse<T> {
/**
* 返回的状态码
*/
private int code;
/**
* 返回的数据
*/
private T data;
/**
* 返回的提示信息
*/
private String msg;
//getter、setter方法
public int getCode() {
return code;
}
public void setCode(int code) {
this.code = code;
}
public T getData() {
return data;
}
public void setData(T data) {
this.data = data;
}
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
//构造函数
/**
* 操作成功时,返回数据
* @param statu
* @param data
* @param msg
*/
public ServerResponse(int code, T data, String msg) {
this.code = code;
this.data = data;
this.msg = msg;
}
public ServerResponse(int code) {
this.code = code;
}
public ServerResponse(T data) {
super();
this.data = data;
}
/**
* 操作失败时,不返回数据
* @param statu
* @param msg
*/
public ServerResponse(int code, String msg) {
this.code = code;
this.msg = msg;
}
//泛型方法
/**
* 成功返回数据(默认 状态码为:1 ,提示消息:查询成功)
* @param data
* @param <T>
* @return
*/
public static <T> ServerResponse<T> createBySuccess(T data){
return new ServerResponse<T>(ResponseCode.SUCCESS.getCode(),data,ResponseCode.SUCCESS.getMsg());
}
/**
* 成功返回数据(自定义提示消息)
* @param msg
* @param data
* @param <T>
* @return
*/
public static <T> ServerResponse<T> createBySuccess(T data,String msg){
return new ServerResponse<T>(ResponseCode.SUCCESS.getCode(),data,msg);
}
/**
* 成功返回数据(自定义提示消息与状态码)
* @param code
* @param data
* @param msg
* @param <T>
* @return
*/
public static <T> ServerResponse<T> createBySuccess(int code,T data,String msg){
return new ServerResponse<T>(code,data,msg);
}
/**
* 成功返回(只返回默认状态码) 可用与登录校验
* @param <T>
* @return
*/
public static <T> ServerResponse<T> createByCheckSuccess(){
return new ServerResponse<T>(ResponseCode.SUCCESS.getCode());
}
/**
* 成功返回(只返回自定义状态码) 可用与登录校验
* @param <T>
* @return
*/
public static <T> ServerResponse<T> createByCheckSuccess(int code){
return new ServerResponse<T>(code);
}
/**
* 成功返回(只返回要传入的对象)
*/
public static <T> ServerResponse<T> createByDataSuccess(T data){
return new ServerResponse<T>(data);
}
/**
* 返回错误信息(自定义错误状态码与提示消息)
* @param code
* @param msg
* @param <T>
* @return
*/
public static <T> ServerResponse<T> createByError(int code,String msg){
return new ServerResponse<T>(code,msg);
}
/**
* 返回错误信息(自定义提示消息)
* @param msg
* @param <T>
* @return
*/
public static <T> ServerResponse<T> createByError(String msg){
return new ServerResponse<T>(ResponseCode.ERROR.getCode(),msg);
}
/**
* 返回错误信息(自定义状态码)
* @param code
* @param <T>
* @return
*/
public static <T> ServerResponse<T> createByError(int code){
return new ServerResponse<T>(code,ResponseCode.ERROR.getMsg());
}
/**
* 返回错误信息(默认: 状态码 2, 提示消息 系统异常 )
* @param <T>
* @return
*/
public static <T> ServerResponse<T> createByError(){
return new ServerResponse<T>(ResponseCode.ERROR.getCode(),ResponseCode.ERROR.getMsg());
}
/**
* 未登录验证 ( 默认 状态码:3 提示:请先登录)
* @return
*/
public static <T> ServerResponse<T> createByNeedLogin(){
return new ServerResponse<T>(ResponseCode.NEED_LOG.getCode(),ResponseCode.NEED_LOG.getMsg());
}
/**
* 未登录验证 (自定义状态码已提示消息)
* @return
*/
public static <T> ServerResponse<T> createByNeedLogin(int code, String msg){
return new ServerResponse<T>(code,msg);
}
}
示例
@RequestMapping("/sel")
public ServerResponse<Map<String,Object>> selServiceList(String token,ServiceOrder serviceOrder){
Map<String,Object> map=new HashMap<String,Object>();
try{
OrdinaryUser user = ordinaryUserServiceImp.verification(token);
if(user!=null){
serviceOrder.setOrdinaryUserId(user.getId());
List<Map<String, Object>> list = serviceOrderServiceImp.selList(serviceOrder);
int totalRow = serviceOrderServiceImp.selListTotalRow(serviceOrder);
if(totalRow==0){
map.put("list", "");
map.put("totalRow", totalRow);
return ServerResponse.createBySuccess(map);
}else{
map.put("list", list);
map.put("totalRow", totalRow);
return ServerResponse.createBySuccess(map);
}
}else{
return ServerResponse.createByError();
}
} catch (Exception e) {
// TODO Auto-generated catch block
return ServerResponse.createByError();
}
}