namespace Yw.Application
|
{
|
/// <summary>
|
/// UserLoginAccount
|
/// </summary>
|
[Route("Auth/User/Login/Account/Std")]
|
[ApiDescriptionSettings("Auth", Name = "用户登录账户(Std)", Order = 6890)]
|
public class UserLoginAccount_StdController : IDynamicApiController
|
{
|
/// <summary>
|
/// 通过 UserID 获取
|
/// </summary>
|
[Route("GetByUserID@V1.0")]
|
[HttpGet]
|
public List<UserLoginAccountStdDto> GetByUserID([FromQuery][Required] UserIDInput input)
|
{
|
var userId = input.UserID;
|
|
var keyContent = $"Auth_User_Login_Account_Std_GetByUserID_{userId}";
|
var cacheKey = MemoryCacheKeyHelper.GetKey(MemoryCacheKey.WebApiLevel, MemoryCacheKey.Module, keyContent);
|
|
var vm_list = MemoryCacheHelper.GetSet(cacheKey, () =>
|
{
|
var allList = new Service.UserLoginAccount().GetByUserID(userId);
|
Service.UserLoginAccount.PublishCache(cacheKey);
|
if (allList == null || allList.Count < 1)
|
{
|
return default;
|
}
|
var loginTypeIds = allList.Select(x => x.LoginTypeID).Distinct().ToList();
|
var loginTypeList = new Service.UserLoginType().GetByIds(loginTypeIds);
|
var vmList = allList.Select(x => new UserLoginAccountStdDto(x, loginTypeList.Find(t => t.ID == x.LoginTypeID))).ToList();
|
return vmList;
|
}, Yw.Service.ConfigHelper.CacheLevel5);
|
return vm_list;
|
}
|
|
}
|
}
|