API通用返回模型

  1 /// <summary>
  2     /// 通用返回类
  3     /// </summary>
  4     public class Result
  5     {
  6         //状态码
  7         public int code { get; set; }
  8         //消息
  9         public string msg { get; set; }
 10         //业务数据
 11         public object data { get; set; }
 12         /// <summary>
 13         /// 不带数据成功返回类型
 14         /// </summary>
 15         /// <returns></returns>
 16         public static Result Success()
 17         {
 18             Result result = new Result();
 19             result.code = (int)ResultCode.SUCCESS;
 20             result.msg = ResultCode.SUCCESS.GetDescription();
 21             return result;
 22         }
 23         /// <summary>
 24         /// 带数据成功返回类型
 25         /// </summary>
 26         /// <param name="data"></param>
 27         /// <returns></returns>
 28         public static Result Success(object data)
 29         {
 30             Result result = new Result();
 31             result.code = (int)ResultCode.SUCCESS;
 32             result.msg = ResultCode.SUCCESS.GetDescription();
 33             result.data = data;
 34             return result;
 35         }
 36         /// <summary>
 37         /// 不带数据失败返回类型
 38         /// </summary>
 39         /// <param name="resultCode"></param>
 40         /// <returns></returns>
 41         public static Result Failure(ResultCode resultCode)
 42         {
 43             Result result = new Result();
 44             result.code = (int)resultCode;
 45             result.msg = resultCode.GetDescription();
 46             return result;
 47         }
 48         /// <summary>
 49         /// 带数据失败返回类型
 50         /// </summary>
 51         /// <param name="resultCode"></param>
 52         /// <param name="data"></param>
 53         /// <returns></returns>
 54         public static Result Failure(ResultCode resultCode, object data)
 55         {
 56             Result result = new Result();
 57             result.code = (int)resultCode;
 58             result.msg = resultCode.GetDescription();
 59             result.data = data;
 60             return result;
 61         }
 62     }
 63     /// <summary>
 64     /// 状态码枚举
 65     /// </summary>
 66     public enum ResultCode
 67     {
 68         [Description("操作成功")]
 69         SUCCESS = 200,
 70 
 71         /* 参数错误:10001-19999 */
 72         [Description("参数无效")]
 73         PARAM_IS_INVALID = 10001,
 74         [Description("参数为空")]
 75         PARAM_IS_BLANK = 10002,
 76         [Description("参数类型错误")]
 77         PARAM_TYPE_BIND_ERROR = 10003,
 78         [Description("参数缺失")]
 79         PARAM_NOT_COMPLETE = 10004,
 80 
 81         /* 系统错误:40001-49999 */
 82         [Description("系统错误")]
 83         SYSTEM_INNER_ERROR =40001,
 84 
 85         /* 数据错误:50001-599999 */
 86         [Description("数据未找到")]
 87         RESULE_DATA_NONE = 50001,
 88         [Description("数据有误")]
 89         DATA_IS_WRONG = 50002,
 90         [Description("数据已存在")]
 91         DATA_ALREADY_EXISTED = 50003,
 92 
 93         /* 接口错误:60001-69999 */
 94         [Description("内部系统接口调用异常")]
 95         INTERFACE_INNER_INVOKE_ERROR = 60001,
 96 
 97         [Description("用户无权限")]
 98         NO_AUTHORITY = 99998,
 99         [Description("session失效")]
100         SESSION_INVALID = 99999,
101     }
102     /// <summary>
103     /// 枚举扩展类
104     /// </summary>
105     public static class EnumExtension
106     {
107         /// <summary>
108         /// 获取枚举描述
109         /// </summary>
110         /// <param name="en"></param>
111         /// <returns></returns>
112         public static string GetDescription(this Enum en)
113         {
114             Type type = en.GetType();
115             FieldInfo fd = type.GetField(en.ToString());
116             if (fd == null)
117                 return string.Empty;
118             object[] attrs = fd.GetCustomAttributes(typeof(DescriptionAttribute), false);
119             string name = string.Empty;
120             foreach (DescriptionAttribute attr in attrs)
121             {
122                 name = attr.Description;
123             }
124             return name;
125         }
126     }

 

posted @ 2019-12-25 15:38  Eric.Hsu  阅读(404)  评论(0)    收藏  举报