public class DataResult
{
/// <summary>
/// 错误信息
/// </summary>
public string Msg { get; set; }
/// <summary>
/// 错误编码
/// </summary>
public DataResultCodeEnum Code { get; set; }
/// <summary>
/// 返回值
/// </summary>
public object Data { get; set; }
}
public class DataResult<T>
{
/// <summary>
/// 错误信息
/// </summary>
public string Msg { get; set; }
/// <summary>
/// 错误编码
/// </summary>
public DataResultCodeEnum Code { get; set; }
/// <summary>
/// 返回值
/// </summary>
public T Data { get; set; }
}
创建DataResultCodeEnum
/// <summary>
/// 接口返回code枚举
/// </summary>
public enum DataResultCodeEnum
{
/// <summary>
/// 成功
/// </summary>
[Description("成功")]
Ok = 200,
/// <summary>
/// 失败
/// </summary>
[Description("失败")]
Fail = 201,
/// <summary>
/// 缺少接口验证参数
/// </summary>
[Description("缺少接口验证参数")]
LackHeadPara = 202,
/// <summary>
/// 时间戳过期
/// </summary>
[Description("时间戳过期")]
TimestampOutOfDate = 203,
/// <summary>
/// sign不正确
/// </summary>
[Description("sign不正确")]
SignWrong = 204,
/// <summary>
/// token过期
/// </summary>
[Description("token过期")]
TokenOutOfDate = 205,
/// <summary>
/// 请求参数验证失败
/// </summary>
[Description("请求参数验证失败")]
RequestVerifyFail = 206,
/// <summary>
/// 服务器内部错误
/// </summary>
[Description("服务器内部错误")]
ServiceError = 500
}
如何调用呢?
[HttpPost]
public DataResult<WelcomeInfoResponse> WelcomeInfo(WelcomeInfoRequest request)
{
return homePageLogic.GetWelcomeInfo(request);
}
[HttpPost]
public DataResult<List<CommonFunResponse>> CommonFunctions(CommonFunRequest request)
{
return homePageLogic.CommonFunctions(request);
}
我们在声明CommonFunctions方法时,声明在logic里面,但是如何在里面进行调用呢
public DataResult<List<CommonFunResponse>> CommonFunctions(CommonFunRequest request)
{
DataResult<List<CommonFunResponse>> result = new DataResult<List<CommonFunResponse>>() { Code = DataResultCodeEnum.Ok, Msg = DataResultCodeEnum.Ok.GetDescription(), Data = new List<CommonFunResponse>() };
ConvertListHelper toList = new ConvertListHelper();
DBObj objDB = new DBObj();
StringBuilder sbSQL = new StringBuilder();
DataTable dtbRTN = new DataTable();
if ((int)request.Type == 1) {
sbSQL.Append($@"SELECT A.FUN_ID ID,B.FUN_NAME FUNNAME, A.SORT FROM SAL_APP_COMMON_FUNCTION A JOIN SAL_APP_COMMON_FUNCINFO B ON A.FUN_ID=B.ID");
sbSQL.Append($@" WHERE A.USER_ID='{request.UserId}' AND A.ISDELETE = 0 AND B.ISDELETE = 0");
dtbRTN = objDB.DataTable(sbSQL.ToString());
var commonFuncList = toList.DataTableToList<CommonFunResponse>(dtbRTN);
if (commonFuncList.Count == 0)
{
sbSQL = new StringBuilder();
sbSQL.Append($@"SELECT A.FUN_ID ID,B.FUN_NAME FUNNAME, A.SORT FROM SAL_APP_COMMON_FUNCTION A JOIN SAL_APP_COMMON_FUNCINFO B ON A.FUN_ID=B.ID");
sbSQL.Append($@" WHERE A.USER_ID='1' AND A.ISDELETE = 0 AND B.ISDELETE = 0");
toList = new ConvertListHelper();
commonFuncList = toList.DataTableToList<CommonFunResponse>(dtbRTN);
}
result.Data = commonFuncList;
}
else
{
sbSQL.Append($@" SELECT ID,FUN_NAME FUNNAME,SORT FROM SAL_APP_COMMON_FUNCINFO WHERE ISDELETE=0");
dtbRTN = objDB.DataTable(sbSQL.ToString());
toList = new ConvertListHelper();
var moreFuncList = toList.DataTableToList<CommonFunResponse>(dtbRTN);
result.Data = moreFuncList;
}
return result;
}
在model声明CommonFunResponse 和 CommonFunRequest
/// <summary>
/// 获取常用功能请求类
/// </summary>
public class CommonFunRequest
{
/// <summary>
/// 员编
/// </summary>
[Required]
[StringLength(20)]
[Display(Name="元编")]
public string UserId { get; set; }
/// <summary>
/// 类型
/// </summary>
[Required]
[Display(Name ="类型")]
public CommonFunTypeEnum Type { get; set; }
}
/// <summary>
/// 常用功能Response类
/// </summary>
public class CommonFunResponse
{
public int Id { get; set; }
/// <summary>
/// 功能名称
/// </summary>
public string FunName { get; set; }
/// <summary>
/// 排序
/// </summary>
public int Sort { get; set; }
}