You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
205 lines
5.2 KiB
205 lines
5.2 KiB
2 years ago
|
package com.ynxbd.common.result;
|
||
|
|
||
|
import com.alibaba.fastjson.annotation.JSONField;
|
||
|
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||
|
import com.ynxbd.common.result.struts2.BaseResult;
|
||
|
import lombok.extern.slf4j.Slf4j;
|
||
|
|
||
|
import java.util.ArrayList;
|
||
|
import java.util.HashMap;
|
||
|
import java.util.List;
|
||
|
import java.util.Map;
|
||
|
|
||
|
|
||
|
@Slf4j
|
||
|
public class Result extends BaseResult {
|
||
|
private static final long serialVersionUID = -1005L;
|
||
|
|
||
|
//
|
||
|
private Integer code;
|
||
|
private String message;
|
||
|
private Object data;
|
||
|
|
||
|
/**
|
||
|
* 判断是否成功
|
||
|
*/
|
||
|
@JsonIgnore
|
||
|
@JSONField(serialize = false)
|
||
|
public boolean isSuccess() {
|
||
|
return ResultEnum.SUCCESS.status.equals(this.code);
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* 判断数据操作是否成功
|
||
|
*/
|
||
|
public static Result change(Boolean flag) {
|
||
|
return flag ? Result.success() : Result.error();
|
||
|
}
|
||
|
|
||
|
|
||
|
/**
|
||
|
* 请求成功-不携带数据
|
||
|
*/
|
||
|
public static Result success() {
|
||
|
return new Result(ResultEnum.SUCCESS.status, ResultEnum.SUCCESS.message, null);
|
||
|
}
|
||
|
|
||
|
|
||
|
/**
|
||
|
* 请求成功-携带data
|
||
|
*
|
||
|
* @param data 返回数据
|
||
|
*/
|
||
|
public static Result success(Object data) {
|
||
|
return new Result(ResultEnum.SUCCESS.status, ResultEnum.SUCCESS.message, data);
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* 请求成功-自定义成功枚举
|
||
|
*
|
||
|
* @param data 返回数据
|
||
|
*/
|
||
|
public static Result success(ResultEnum resultEnum, Object data) {
|
||
|
return new Result(resultEnum.status, resultEnum.message, data);
|
||
|
}
|
||
|
|
||
|
|
||
|
/**
|
||
|
* 请求成功-携带分页数据
|
||
|
*
|
||
|
* @param total 数据总数量
|
||
|
* @param data 分页数据
|
||
|
* @return 返回分页数据
|
||
|
*/
|
||
|
public static <T> Result success(List<T> data, int total) {
|
||
|
Map<String, Object> map = new HashMap<>();
|
||
|
map.put("total", total);
|
||
|
map.put("list", data == null ? new ArrayList<T>() : data);
|
||
|
return new Result(ResultEnum.SUCCESS.status, ResultEnum.SUCCESS.message, map);
|
||
|
}
|
||
|
|
||
|
|
||
|
/**
|
||
|
* 请求失败-默认提示信息
|
||
|
*/
|
||
|
public static Result error() {
|
||
|
return new Result(ResultEnum.ERROR.status, ResultEnum.ERROR.message);
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* 失败返回,响应码保留,message可变
|
||
|
*/
|
||
|
public static Result error(ResultEnum resultEnum, Object data, String message) {
|
||
|
return new Result(resultEnum.status, message, data);
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* 请求失败-自定义失败原因
|
||
|
*/
|
||
|
public static Result error(ResultEnum resultEnum, Object data) {
|
||
|
return new Result(resultEnum.status, resultEnum.message, data);
|
||
|
}
|
||
|
|
||
|
//
|
||
|
// /**
|
||
|
// * 请求失败-自定义失败原因
|
||
|
// */
|
||
|
// public static Result error(ResultEnum resultEnum, String message, Object data) {
|
||
|
// message = message == null ? "" : message + "s";
|
||
|
// return new Result(resultEnum.status, resultEnum.message + message, data);
|
||
|
// }
|
||
|
|
||
|
|
||
|
/**
|
||
|
* 请求失败-自定义失败原因
|
||
|
*
|
||
|
* @param message 失败原因
|
||
|
*/
|
||
|
public static Result error(String message) {
|
||
|
log.info(message);
|
||
|
return new Result(ResultEnum.ERROR.status, message);
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* 请求异常
|
||
|
*
|
||
|
* @param e 异常
|
||
|
*/
|
||
|
public static Result error(Exception e) {
|
||
|
Integer status = ResultEnum.SYSTEM_ERROR.status;
|
||
|
String message = ResultEnum.SYSTEM_ERROR.message;
|
||
|
|
||
|
if (e != null && e.getClass() == ServiceException.class) {
|
||
|
ServiceException serviceException = (ServiceException) e;
|
||
|
if (serviceException.getMessage() != null) {
|
||
|
message = serviceException.getMessage();
|
||
|
log.error(e.getMessage());
|
||
|
}
|
||
|
if (serviceException.getResultEnum() != null) {
|
||
|
status = serviceException.getResultEnum().status;
|
||
|
}
|
||
|
}
|
||
|
return new Result(status, message);
|
||
|
}
|
||
|
|
||
|
|
||
|
/**
|
||
|
* 请求失败-枚举
|
||
|
*
|
||
|
* @param resultEnum 枚举值
|
||
|
* @return 响应枚举对应的信息
|
||
|
*/
|
||
|
public static Result error(ResultEnum resultEnum) {
|
||
|
return new Result(resultEnum.status, resultEnum.message);
|
||
|
}
|
||
|
|
||
|
public Result() {
|
||
|
}
|
||
|
|
||
|
private Result(Integer code, String message) {
|
||
|
this.code = code;
|
||
|
this.message = message;
|
||
|
}
|
||
|
|
||
|
public Result(Integer code, String message, Object data) {
|
||
|
this.code = code;
|
||
|
this.message = message;
|
||
|
this.data = data;
|
||
|
}
|
||
|
|
||
|
@Override
|
||
|
public String toString() {
|
||
|
return "Result{" +
|
||
|
"code=" + code +
|
||
|
", message='" + message + '\'' +
|
||
|
", data=" + data +
|
||
|
'}';
|
||
|
}
|
||
|
|
||
|
public Integer getCode() {
|
||
|
return code;
|
||
|
}
|
||
|
|
||
|
public void setCode(Integer code) {
|
||
|
this.code = code;
|
||
|
}
|
||
|
|
||
|
public String getMessage() {
|
||
|
return message;
|
||
|
}
|
||
|
|
||
|
public void setMessage(String message) {
|
||
|
this.message = message;
|
||
|
}
|
||
|
|
||
|
public Object getData() {
|
||
|
return data;
|
||
|
}
|
||
|
|
||
|
public void setData(Object data) {
|
||
|
this.data = data;
|
||
|
}
|
||
|
|
||
|
|
||
|
}
|