package com.imooc.miaosha.result; public class Result<T> { private int code; private String msg; private Object data; /** * 成功時候的調用 * */ public static <T> Result<T> success(SuccessMsg successMsg){ return new Result<T>(successMsg); } /** * 失敗時候的調用 * */ public static <T> Result<T> error(CodeMsg codeMsg){ return new Result<T>(codeMsg); } private Result(T data) { this.data = data; } private Result(int code, String msg) { this.code = code; this.msg = msg; } private Result(CodeMsg codeMsg) { if(codeMsg != null) { this.code = codeMsg.getCode(); this.msg = codeMsg.getMsg(); this.data = "發生異常,請查看異常信息"; } } private Result(SuccessMsg successMsg) { if(successMsg != null) { this.code = successMsg.getCode(); this.msg = successMsg.getMsg(); this.data=successMsg.getObject(); } } 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; } public Object getData() { return data; } public void setData(T data) { this.data = data; } }
package com.imooc.miaosha.result; public class CodeMsg { private int code; private String msg; //通用的錯誤碼 public static CodeMsg SUCCESS = new CodeMsg(200, "success"); public static CodeMsg SERVER_ERROR = new CodeMsg(500100, "服務端異常"); public static CodeMsg BIND_ERROR = new CodeMsg(500101, "參數校驗異常:%s"); //登錄模塊 5002XX public static CodeMsg SESSION_ERROR = new CodeMsg(500210, "Session不存在或者已經失效"); public static CodeMsg PASSWORD_EMPTY = new CodeMsg(500211, "登錄密碼不能為空"); public static CodeMsg MOBILE_EMPTY = new CodeMsg(500212, "手機號不能為空"); public static CodeMsg MOBILE_ERROR = new CodeMsg(500213, "手機號格式錯誤"); public static CodeMsg MOBILE_NOT_EXIST = new CodeMsg(500214, "手機號不存在"); public static CodeMsg PASSWORD_ERROR = new CodeMsg(500215, "密碼錯誤"); //商品模塊 5003XX //訂單模塊 5004XX //秒殺模塊 5005XX public static CodeMsg MIAO_SHA_OVER = new CodeMsg(500500, "商品已經秒殺完畢"); public static CodeMsg REPEATE_MIAOSHA = new CodeMsg(500501, "不能重復秒殺"); //圖片上傳 5101XX public static CodeMsg IMAGE_MAX_ERROR = new CodeMsg(510101, "上傳文件大小超過5MB限制"); public static CodeMsg IMAGE_NOT_SELECT= new CodeMsg(510102, "請選擇文件"); public static CodeMsg IMAGE_NOT_FORMAT= new CodeMsg(510103, "上傳文件擴展名是不允許的擴展名\n只允許gif,jpg,jpeg,png,bmp格式"); private CodeMsg( ) { } private CodeMsg( 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; } public CodeMsg fillArgs(Object... args) { int code = this.code; String message = String.format(this.msg, args); return new CodeMsg(code, message); } @Override public String toString() { return "CodeMsg [code=" + code + ", msg=" + msg + "]"; } }
package com.imooc.miaosha.result; /** * @author zhengwei.chen * @title: SuccessMsg * @projectName miaosha_idea5 * @description: TODO * @date 2019/5/2810:33 */ public class SuccessMsg { private int code; private String msg; private Object object; //返回值無參數返回的時候返回 public static SuccessMsg SUCCESS = new SuccessMsg(200,"操作成功!","該方法無需返回值"); //返回值中需要帶參數返回 public static SuccessMsg SUCCESS_WITH_RESULT(Object object){ SuccessMsg successMsg = new SuccessMsg(); successMsg.setCode(200); successMsg.setMsg("操作成功!"); successMsg.setObject(object); return successMsg; } //構造方法 public SuccessMsg() {} public SuccessMsg(int code, String msg,Object o) { this.code = code; this.msg = msg; this.object=o; } 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;} public Object getObject() { return object; } public void setObject(Object object) { this.object = object; } @Override public String toString() { return "{\"SuccessMsg\":{" + "\"code\":" + code + ",\"msg\":\"" + msg + '\"'+ ",\"object\":"+ object+ "}}";} }