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 }