mirror of
https://github.com/KevinWG/OSS.Common.git
synced 2026-10-28 22:04:09 +08:00
优化扩展函数
This commit is contained in:
@@ -189,40 +189,6 @@ namespace OSS.Common.BasicMos.Resp
|
||||
return string.IsNullOrEmpty(errMsg) ? res : res.WithErrMsg(errMsg);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 处理响应转化
|
||||
/// </summary>
|
||||
/// <param name="res"></param>
|
||||
/// <param name="tPara"></param>
|
||||
/// <param name="func"></param>
|
||||
/// <param name="errMsg">如果 tPara.IsSuccess()=false,且errMsg不为空,取errMsg,否则取 tPara.msg </param>
|
||||
/// <typeparam name="TRes"></typeparam>
|
||||
/// <typeparam name="TPara"></typeparam>
|
||||
/// <returns></returns>
|
||||
public static Resp<TRes> WithResp<TRes, TPara>(this Resp<TRes> res, Resp<TPara> tPara,
|
||||
Func<TPara, TRes> func,string errMsg = null)
|
||||
{
|
||||
res.data = func.Invoke(tPara.data);
|
||||
return res.WithResp(tPara, errMsg);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 处理响应转化
|
||||
/// </summary>
|
||||
/// <typeparam name="TRes"></typeparam>
|
||||
/// <typeparam name="TPara"></typeparam>
|
||||
/// <param name="res"></param>
|
||||
/// <param name="tPara"></param>
|
||||
/// <param name="func"></param>
|
||||
/// <param name="errMsg">不成功时的消息内容,如果为空,消息内容取 tPara.msg</param>
|
||||
/// <returns></returns>
|
||||
public static ListResp<TRes> WithResp<TRes, TPara>(this ListResp<TRes> res, ListResp<TPara> tPara,
|
||||
Func<TPara, TRes> func, string errMsg = null)
|
||||
{
|
||||
res.data = tPara.data?.Select(func).ToList();
|
||||
return res.WithResp(tPara, errMsg);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 处理响应转化
|
||||
/// </summary>
|
||||
@@ -238,29 +204,65 @@ namespace OSS.Common.BasicMos.Resp
|
||||
return string.IsNullOrEmpty(errMsg) ? res : res.WithErrMsg(errMsg);
|
||||
}
|
||||
|
||||
#region 附带 data 转化处理
|
||||
|
||||
/// <summary>
|
||||
/// 处理响应转化
|
||||
/// </summary>
|
||||
/// <param name="res"></param>
|
||||
/// <param name="tPara"></param>
|
||||
/// <param name="func"></param>
|
||||
/// <param name="isNullCheck">是否检查参数 data 为空</param>
|
||||
/// <param name="convertFunc"></param>
|
||||
/// <param name="errMsg">如果 tPara.IsSuccess()=false,且errMsg不为空,取errMsg,否则取 tPara.msg </param>
|
||||
/// <param name="isNullCheck">调用方法(convertFunc)之前是否检查数据是否为空</param>
|
||||
/// <typeparam name="TRes"></typeparam>
|
||||
/// <typeparam name="TPara"></typeparam>
|
||||
/// <returns></returns>
|
||||
[Obsolete]
|
||||
public static Resp<TRes> WithResp<TRes, TPara>(this Resp<TRes> res, Resp<TPara> tPara,
|
||||
Func<TPara, TRes> func, bool isNullCheck = true)
|
||||
Func<TPara, TRes> convertFunc, string errMsg, bool isNullCheck = true)
|
||||
{
|
||||
WithResp(res, tPara.sys_ret, tPara.ret, tPara.msg);
|
||||
|
||||
if (isNullCheck && tPara.data == null)
|
||||
return res ;
|
||||
|
||||
res.data = func.Invoke(tPara.data);
|
||||
return res;
|
||||
if ((isNullCheck && tPara.data != null)
|
||||
|| !isNullCheck)
|
||||
{
|
||||
res.data = convertFunc.Invoke(tPara.data);
|
||||
}
|
||||
return res.WithResp(tPara, errMsg);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 处理响应转化
|
||||
/// </summary>
|
||||
/// <param name="res"></param>
|
||||
/// <param name="tPara"></param>
|
||||
/// <param name="convertFunc"></param>
|
||||
/// <param name="isNullCheck">调用方法(convertFunc)之前是否检查数据是否为空</param>
|
||||
/// <typeparam name="TRes"></typeparam>
|
||||
/// <typeparam name="TPara"></typeparam>
|
||||
/// <returns></returns>
|
||||
public static Resp<TRes> WithResp<TRes, TPara>(this Resp<TRes> res, Resp<TPara> tPara,
|
||||
Func<TPara, TRes> convertFunc, bool isNullCheck=true)
|
||||
{
|
||||
return res.WithResp(tPara, convertFunc, null, isNullCheck);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 处理响应转化
|
||||
/// </summary>
|
||||
/// <typeparam name="TRes"></typeparam>
|
||||
/// <typeparam name="TPara"></typeparam>
|
||||
/// <param name="res"></param>
|
||||
/// <param name="tPara"></param>
|
||||
/// <param name="convertFunc"></param>
|
||||
/// <param name="errMsg">不成功时的消息内容,如果为空,消息内容取 tPara.msg</param>
|
||||
/// <returns></returns>
|
||||
public static ListResp<TRes> WithResp<TRes, TPara>(this ListResp<TRes> res, ListResp<TPara> tPara,
|
||||
Func<TPara, TRes> convertFunc, string errMsg = null)
|
||||
{
|
||||
res.data = tPara.data?.Select(convertFunc).ToList();
|
||||
return res.WithResp(tPara, errMsg);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#endregion
|
||||
|
||||
/// <summary>
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
<PropertyGroup>
|
||||
<TargetFramework>netstandard2.0</TargetFramework>
|
||||
<PackageRequireLicenseAcceptance>False</PackageRequireLicenseAcceptance>
|
||||
<Version>2.3.3</Version>
|
||||
<Version>2.3.3.2</Version>
|
||||
<GeneratePackageOnBuild>false</GeneratePackageOnBuild>
|
||||
<Authors>OSSCore</Authors>
|
||||
<Company>OSSCore</Company>
|
||||
@@ -14,8 +14,8 @@
|
||||
<RepositoryUrl>https://github.com/KevinWG/OSS.Common</RepositoryUrl>
|
||||
|
||||
<PackageReleaseNotes>添加结果处理扩展函数</PackageReleaseNotes>
|
||||
<AssemblyVersion>2.3.3.0</AssemblyVersion>
|
||||
<FileVersion>2.3.3.0</FileVersion>
|
||||
<AssemblyVersion>2.3.3.2</AssemblyVersion>
|
||||
<FileVersion>2.3.3.2</FileVersion>
|
||||
|
||||
<PackageLicenseUrl>https://github.com/KevinWG/OSS.Common/blob/master/LICENSE</PackageLicenseUrl>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user