Java工具类Result<T>
枚举类:ResultCodeEnum
/**
* 统一返回结果状态信息类
*
*/
@Getter
public enum ResultCodeEnum { SUCCESS(200,"成功"),
FAIL(201, "失败"),
PARAM_ERROR( 202, "参数不正确"),
SERVICE_ERROR(203, "服务异常"),
DATA_ERROR(204, "数据异常"),
ILLEGAL_REQUEST(205, "非法请求"),
REPEAT_SUBMIT(206, "重复提交"), LOGIN_AUTH(208, "未登录"),
PERMISSION(209, "没有权限"),
CODE_ERROR(210, "验证码错误"),
ACCOUNT_ERROR(211, "账号不正确"),
LOGIN_DISABLED_ERROR(212, "该用户已被禁用"),
REGISTER_MOBILE_ERROR(213, "手机号已被使用"),
LOGIN_TIMEOUT(214, "登录超时"),
PASSWORD_ERROR(215, "密码不正确"),
ACCOUNT_STOP( 216, "账号已停用"),
NODE_ERROR( 217, "该节点下有子节点,不可以删除"), URL_ENCODE_ERROR( 220, "URL编码失败"),
ILLEGAL_CALLBACK_REQUEST_ERROR( 221, "非法回调请求"),
FETCH_ACCESSTOKEN_FAILD( 222, "获取accessToken失败"),
FETCH_USERINFO_ERROR( 223, "获取用户信息失败"), PAY_RUN(250, "支付中"),
CANCEL_ORDER_FAIL(251, "取消订单失败"),
CANCEL_ORDER_NO(252, "不能取消预约"), HOSCODE_EXIST(260, "医院编号已经存在"),
NUMBER_NO(261, "可预约号不足"),
TIME_NO(262, "当前时间不可以预约"), SIGN_ERROR(270, "签名错误"),
SIGN_NOT_EXIST(271, "没有签名"),
SIGN_OVERDUE(272, "签名过期"),
HOSPITAL_OPEN(273, "医院未开通,暂时不能访问"),
HOSPITAL_NOT_EXIST(274, "医院数据不存在,请先上传医院数据"),
HOSPITAL_LOCK(275, "医院被锁定,暂时不能访问"), DATA_SEARCH_ERROR(280, "查询记录异常"),
DATA_CALCULATE_ERROR(281, "数据计算异常"),
DATA_SQL_GRAMMAR_ERROR(282, "SQL语法异常");
; private Integer code; private String message; ResultCodeEnum(Integer code, String message) {
this.code = code;
this.message = message;
}
}
工具类:Result
/**
* 全局统一返回结果类
*
*/
@Data
public class Result<T> { //返回码
private Integer code; //返回消息
private String message; //返回数据
private T data; public Result(){} // 返回数据
protected static <T> Result<T> build(T data) {
Result<T> result = new Result<T>();
if (data != null)
result.setData(data);
return result;
} public static <T> Result<T> build(T body, Integer code, String message) {
Result<T> result = build(body);
result.setCode(code);
result.setMessage(message);
return result;
} public static <T> Result<T> build(T body, ResultCodeEnum resultCodeEnum) {
Result<T> result = build(body);
result.setCode(resultCodeEnum.getCode());
result.setMessage(resultCodeEnum.getMessage());
return result;
} public static<T> Result<T> ok(){
return Result.ok(null);
} /**
* 操作成功
* @param data baseCategory1List
* @param <T>
* @return
*/
public static<T> Result<T> ok(T data){
return build(data, ResultCodeEnum.SUCCESS);
} public static<T> Result<T> fail(){
return Result.fail(null);
} /**
* 操作失败
* @param data
* @param <T>
* @return
*/
public static<T> Result<T> fail(T data){
return build(data, ResultCodeEnum.FAIL);
} public Result<T> message(String msg){
this.setMessage(msg);
return this;
} public Result<T> code(Integer code){
this.setCode(code);
return this;
}
}
Java工具类Result<T>的更多相关文章
- Java工具类——数学相关的类
Java工具类--数学相关的类 在上一篇文章中,我们系统学习了 Java 里面的包装类,那么这篇文章,我们就来学习一下Java提供好的类--数学相关的类. 一.数学类介绍 在最早期学习 Java 基础 ...
- java工具类系列 (四.SerializationUtils)
java工具类系列 (四.SerializationUtils) SerializationUtils该类为序列化工具类,也是lang包下的工具,主要用于序列化操作 import java.io.Se ...
- Java工具类——通过配置XML验证Map
Java工具类--通过配置XML验证Map 背景 在JavaWeb项目中,接收前端过来的参数时通常是使用我们的实体类进行接收的.但是呢,我们不能去决定已经搭建好的框架是怎么样的,在我接触的框架中有一种 ...
- 排名前 16 的 Java 工具类
在Java中,工具类定义了一组公共方法,这篇文章将介绍Java中使用最频繁及最通用的Java工具类.以下工具类.方法按使用流行度排名,参考数据来源于Github上随机选取的5万个开源项目源码. 一. ...
- 排名前16的Java工具类
原文:https://www.jianshu.com/p/9e937d178203 在Java中,工具类定义了一组公共方法,这篇文章将介绍Java中使用最频繁及最通用的Java工具类.以下工具类.方法 ...
- 第一章 Java工具类目录
在这一系列博客中,主要是记录在实际开发中会常用的一些Java工具类,方便后续开发中使用. 以下的目录会随着后边具体工具类的添加而改变. 浮点数精确计算 第二章 Java浮点数精确计算 crc32将任意 ...
- java工具类之按对象中某属性排序
import java.lang.reflect.Field; import java.lang.reflect.InvocationTargetException; import java.lang ...
- 干货:排名前16的Java工具类
在Java中,工具类定义了一组公共方法,这篇文章将介绍Java中使用最频繁及最通用的Java工具类.以下工具类.方法按使用流行度排名,参考数据来源于Github上随机选取的5万个开源项目源码. 一. ...
- Java工具类:给程序增加版权信息
我们九天鸟的p2p网贷系统,基本算是开发完成了. 现在,想给后端的Java代码,增加版权信息. 手动去copy-paste,太没有技术含量. 于是,写了个Java工具类,给Java源文件 ...
- 常用高效 Java 工具类总结
一.前言 在Java中,工具类定义了一组公共方法,这篇文章将介绍Java中使用最频繁及最通用的Java工具类.以下工具类.方法按使用流行度排名,参考数据来源于Github上随机选取的5万个开源项目源码 ...
随机推荐
- EF Core如何使用DbFirst
首先安装好 Microsoft.EntityFrameworkCore.SqlServer [ef 的数据库驱动程序 如果是其他数据库这个要换成对应的数据库驱动] Microsoft.Entity ...
- vue拖拽排序插件vuedraggable的使用 附原生使用方法
Vue中使用 先下载依赖: npm install vuedraggable -S 项目中引入 import draggable from 'vuedraggable' 注册 components: ...
- CTF-NEFU校赛-题解
Write by NEFUNSI: ghosin 0ERROR 签到 signin 下载 signin.txt 打开得到一串 base64,解码得到 flag{we1come_t0_NEFUCTF!} ...
- 从0开始学杂项 第三期:隐写分析(2) PNG图片隐写
Misc 学习(三) - 隐写分析:PNG 图片隐写 在上一期,我主要讲了讲自己对于隐写分析.信息搜集和直接附加的一些浅薄理解,这一期我们继续对隐写分析的学习,开始讲隐写分析最喜欢考的一项--图片隐写 ...
- [Linux]Linux执行sh脚本时,出现$‘\r‘: command not found(未找到命令)"错误的解决方案[转载]
1 文由 为什么要把这么一个看似很简单的问题,还要以[转载]的方式专门用博客写出来? 主要是在编写crontab的自动化定时脚本的过程中,发现是这个错导致的自动化脚本频繁执行异常时,已经花了好几个小时 ...
- vim使用教程(最简单最全面的教程)
本教程是vimtutor的原版内容.这是我读过最简单最全面的vim教程. 偶仅仅是优秀内容的搬运工,放在此处便于查阅,方便学习,版权归原作者所有. 注意:每一节的命令操作将会更改本文.推荐您复制本文的 ...
- Gpssworld仿真(二):并排排队系统模拟
4.3 某一个加油站能够配给三个级别的燃油:①家庭取暖用的燃油:②轻工业用的燃油:③运输用的燃油.每一级别的燃油都有一个对应的油泵.订单中燃油的数量在3000加仑和5000加仑中变化,每次增加10加仑 ...
- Semantic Kernel 入门系列:💬Semantic Function
如果把提示词也算作一种代码的话,那么语义技能所带来的将会是全新编程方式,自然语言编程. 通常情况下一段prompt就可以构成一个Semantic Function,如此这般简单,如果我们提前可以组织好 ...
- Django笔记二十二之多数据库操作
本文首发于公众号:Hunter后端 原文链接:Django笔记二十二之多数据库操作 这一篇笔记介绍一下多数据库操作. 在第十篇笔记的时候,简单介绍过 using() 的使用方法,多个数据库就是通过 u ...
- 微服务为什么要用到 API 网关?
本文介绍了 API 网关日志的价值,并以知名网关 Apache APISIX 为例,展示如何集成 API 网关日志. 作者程小兰,API7.ai 技术工程师,Apache APISIX Contrib ...