namespace Yw.Application
{
///
/// UserLoginAccount
///
[Route("Auth/User/Login/Account/Std")]
[ApiDescriptionSettings("Auth", Name = "用户登录账户(Std)", Order = 6890)]
public class UserLoginAccount_StdController : IDynamicApiController
{
///
/// 通过 UserID 获取
///
[Route("GetByUserID@V1.0")]
[HttpGet]
public List 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;
}
}
}