90 lines
1.8 KiB
Java
90 lines
1.8 KiB
Java
![]() |
package net.carbon.utils;
|
|||
|
|
|||
|
import com.alibaba.fastjson.JSON;
|
|||
|
import com.alibaba.fastjson.TypeReference;
|
|||
|
import lombok.AllArgsConstructor;
|
|||
|
import lombok.Data;
|
|||
|
import lombok.NoArgsConstructor;
|
|||
|
import net.carbon.enums.BizCodeEnum;
|
|||
|
|
|||
|
@Data
|
|||
|
@AllArgsConstructor
|
|||
|
@NoArgsConstructor
|
|||
|
public class JsonData {
|
|||
|
|
|||
|
/**
|
|||
|
* 状态码 0 表示成功,1表示处理中,-1表示失败
|
|||
|
*/
|
|||
|
private Integer code;
|
|||
|
|
|||
|
/**
|
|||
|
* 数据
|
|||
|
*/
|
|||
|
private Object data;
|
|||
|
|
|||
|
/**
|
|||
|
* 描述
|
|||
|
*/
|
|||
|
private String msg;
|
|||
|
|
|||
|
|
|||
|
/**
|
|||
|
* 获取远程调用数据对象
|
|||
|
* 注意 支持多单词下划线转驼峰(序列化和反序列化)
|
|||
|
* 空对象不序列化
|
|||
|
*/
|
|||
|
public <T> T getData(TypeReference<T> typeReference) {
|
|||
|
return JSON.parseObject(JSON.toJSONString(data), typeReference);
|
|||
|
}
|
|||
|
|
|||
|
/**
|
|||
|
* 成功,传入数据
|
|||
|
*
|
|||
|
* @return
|
|||
|
*/
|
|||
|
public static JsonData buildSuccess() {
|
|||
|
return new JsonData(0, null, null);
|
|||
|
}
|
|||
|
|
|||
|
/**
|
|||
|
* 成功,传入数据
|
|||
|
*
|
|||
|
* @param data
|
|||
|
* @return
|
|||
|
*/
|
|||
|
public static JsonData buildSuccess(Object data) {
|
|||
|
return new JsonData(0, data, null);
|
|||
|
}
|
|||
|
|
|||
|
/**
|
|||
|
* 失败,传入描述信息
|
|||
|
*
|
|||
|
* @param msg
|
|||
|
* @return
|
|||
|
*/
|
|||
|
public static JsonData buildError(String msg) {
|
|||
|
return new JsonData(-1, null, msg);
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
/**
|
|||
|
* 自定义状态码和错误信息
|
|||
|
*
|
|||
|
* @param code
|
|||
|
* @param msg
|
|||
|
* @return
|
|||
|
*/
|
|||
|
public static JsonData buildCodeAndMsg(int code, String msg) {
|
|||
|
return new JsonData(code, null, msg);
|
|||
|
}
|
|||
|
|
|||
|
/**
|
|||
|
* 传入枚举,返回信息
|
|||
|
*
|
|||
|
* @param codeEnum
|
|||
|
* @return
|
|||
|
*/
|
|||
|
public static JsonData buildResult(BizCodeEnum codeEnum) {
|
|||
|
return JsonData.buildCodeAndMsg(codeEnum.getCode(), codeEnum.getMessage());
|
|||
|
}
|
|||
|
}
|