package space.anyi.BI.entity; import com.fasterxml.jackson.annotation.JsonInclude; import java.io.Serializable; /** * @Projectname: gditSpringBootLibrary * @Filename: ResponseResult * @Author: 杨逸 * @Data:2023/12/14 17:48 * @Description: 统一响应实体 */ @JsonInclude(JsonInclude.Include.NON_NULL) public class ResponseResult implements Serializable { private Integer code; private String msg; private T data; public ResponseResult() { this.code = AppHttpCodeEnum.SUCCESS.getCode(); this.msg = AppHttpCodeEnum.SUCCESS.getMsg(); } public ResponseResult(Integer code, T data) { this.code = code; this.data = data; } public ResponseResult(Integer code, String msg, T data) { this.code = code; this.msg = msg; this.data = data; } public ResponseResult(Integer code, String msg) { this.code = code; this.msg = msg; } public static ResponseResult errorResult(int code, String msg) { ResponseResult result = new ResponseResult(); return result.error(code, msg); } public static ResponseResult okResult() { ResponseResult result = new ResponseResult(); return result; } public static ResponseResult okResult(int code, String msg) { ResponseResult result = new ResponseResult(); return result.ok(code, null, msg); } public static ResponseResult okResult(Object data) { ResponseResult result = setAppHttpCodeEnum(AppHttpCodeEnum.SUCCESS, AppHttpCodeEnum.SUCCESS.getMsg()); if(data!=null) { result.setData(data); } return result; } public static ResponseResult errorResult(AppHttpCodeEnum enums){ return setAppHttpCodeEnum(enums,enums.getMsg()); } public static ResponseResult errorResult(AppHttpCodeEnum enums, String msg){ return setAppHttpCodeEnum(enums,msg); } public static ResponseResult setAppHttpCodeEnum(AppHttpCodeEnum enums){ return okResult(enums.getCode(),enums.getMsg()); } private static ResponseResult setAppHttpCodeEnum(AppHttpCodeEnum enums, String msg){ return okResult(enums.getCode(),msg); } public ResponseResult error(Integer code, String msg) { this.code = code; this.msg = msg; return this; } public ResponseResult ok(Integer code, T data) { this.code = code; this.data = data; return this; } public ResponseResult ok(Integer code, T data, String msg) { this.code = code; this.data = data; this.msg = msg; return this; } public ResponseResult ok(T data) { this.data = data; return this; } public Integer getCode() { return code; } public void setCode(Integer code) { this.code = code; } public String getMsg() { return msg; } public void setMsg(String msg) { this.msg = msg; } public T getData() { return data; } public void setData(T data) { this.data = data; } /** * 内部类,响应状态枚举 */ public enum AppHttpCodeEnum { // 成功 SUCCESS(200,"操作成功"), // 登录 NEED_LOGIN(401,"需要登录后操作"), NO_OPERATOR_AUTH(403,"无权限操作"), BOOK_IS_BORROWED(410, "图书已借出"), SYSTEM_ERROR(500,"出现错误"), USERNAME_EXIST(501,"用户名已存在"), PHONENUMBER_EXIST(502,"手机号已存在"), EMAIL_EXIST(503, "邮箱已存在"), REQUIRE_USERNAME(504, "必需填写用户名"), LOGIN_ERROR(505,"用户名或密码错误"), ARTICLE_NOT_EXIST(506,"文章不存在"), COMMENT_CONTENT_NOT_NULL(507,"评论不能为空"), FILE_NOT_NULL(508,"文件不能为空"), FILE_TYPE_ERROR(509,"文件类型错误"), USER_NOT_NULL(510,"用户不能为空"), PASSWORD_NOT_NULL(511,"密码不能为空"), EMAIL_NOT_NULL(512,"邮箱不能为空"), MENU_HAS_CHILDREN(513, "存在子菜单,不允许删除"), PASSWORD_ERROR(514, "密码错误"), USER_NOT_EXIST(515, "用户不存在"), PASSWORD_SAME(516, "新密码不能与旧密码一样"), VERIFY_CODE_ERROR(517, "验证码错误"), USER_STATE_ERROR(518, "用户状态值不正确"), User_ID_NOT_NULL(519,"用户id不能为空" ), BOOK_ISBN_EXIST(520, "图书ISBN已存在"), BOOK_EXPORT_ERROR(521,"导出图书失败"), USER_EXPORT_ERROR(522, "导出用户失败"), BORROW_RECORD_EXPORT_ERROR(523,"导出借阅记录失败" ), BOOK_IMPORT_ERROR(524,"导入图书数据失败" ), USER_FACE_INFO_ERROR(525, "更新人脸信息失败"), FACE_LOGIN_ERROR(526, "人脸登陆失败,对比不成功"), USER_NOT_ACTIVE_FACE(527, "未激活人脸登陆"); private int code; private String msg; AppHttpCodeEnum(int code, String errorMessage){ this.code = code; this.msg = errorMessage; } public int getCode() { return code; } public String getMsg() { return msg; } } }