/// <summary>
        /// 找到用户
        /// </summary>
        /// <param name="key_manager"></param>
        /// <param name="_cache"></param>
        /// <param name="_context"></param>
        /// <param name="user_uid"></param>
        /// <returns></returns>
        async Task <_ <WCloudUserInfo> > FindUserOrThrow(
            ICacheKeyManager key_manager, ICacheProvider _cache,
            HttpContext _context, string user_uid)
        {
            var key  = key_manager.UserInfo(user_uid);
            var data = await _cache.GetOrSetAsync_(key, async() =>
            {
                var res   = new _ <WCloudUserInfo>();
                var _user = _context.RequestServices.Resolve_ <ILoginService <UserEntity> >();

                var model = await _user.GetUserByUID(user_uid);
                if (model == null)
                {
                    return(res.SetErrorMsg("用户不存在"));
                }
                var principal = model.ToPrincipal(ConfigSet.Identity.UserLoginScheme);
                //var loginuser = principal.ToWCloudUserInfo();
                var loginuser = new WCloudUserInfo()
                {
                };
                loginuser.UserID.Should().NotBeNullOrEmpty("没有填充上面的数据");

                return(res.SetSuccessData(loginuser));
            }, TimeSpan.FromMinutes(10));

            if (data == null)
            {
                throw new ArgumentNullException("读取用户缓存错误");
            }
            if (data.Error)
            {
                throw new MsgException(data.ErrorMsg);
            }
            return(data);
        }
        /// <summary>
        /// 找到token
        /// </summary>
        /// <param name="key_manager"></param>
        /// <param name="_cache"></param>
        /// <param name="_context"></param>
        /// <param name="token"></param>
        /// <returns></returns>
        async Task <_ <TokenModel> > FindTokenOrThrow(
            ICacheKeyManager key_manager, ICacheProvider _cache,
            HttpContext _context, string token)
        {
            var key  = key_manager.AuthToken(token);
            var data = await _cache.GetOrSetAsync_(key, async() =>
            {
                var res    = new _ <TokenModel>();
                var _token = _context.RequestServices.Resolve_ <IAuthTokenService>();

                var token_model = await _token.GetUserIdByTokenAsync(token);
                if (token_model == null)
                {
                    return(res.SetErrorMsg("token不存在"));
                }
                if (ValidateHelper.IsEmpty(token_model.UserUID))
                {
                    return(res.SetErrorMsg("用户ID为空"));
                }

                return(res.SetSuccessData(token_model));
            }, TimeSpan.FromMinutes(10));

            if (data == null)
            {
                throw new ArgumentNullException("读取token缓存错误");
            }
            if (data.Error)
            {
                throw new MsgException(data.ErrorMsg);
            }
            return(data);
        }
 public AdminMetroAdWindowController(IStringArraySerializer stringArraySerializer, IMessagePublisher messagePublisher,
                                     ICacheProvider _cache, ICacheKeyManager cacheKeyManager)
 {
     this.stringArraySerializer = stringArraySerializer;
     this.messagePublisher      = messagePublisher;
     this._cache          = _cache;
     this.cacheKeyManager = cacheKeyManager;
 }
Beispiel #4
0
 public AuthTokenService(
     ICacheProvider _cache,
     ICacheKeyManager _keyManager,
     IMSRepository <AuthTokenEntity> _tokenRepo)
 {
     this._cache      = _cache;
     this._keyManager = _keyManager;
     this._tokenRepo  = _tokenRepo;
 }
Beispiel #5
0
 public AdminInfoController(
     IAdminService _userService,
     ILoginService <AdminEntity> _login,
     ICacheProvider _cache,
     ICacheKeyManager _keyManager)
 {
     this._adminService = _userService;
     this._login        = _login;
     this._cache        = _cache;
     this._keyManager   = _keyManager;
 }
Beispiel #6
0
 public AdminOrgController(ICacheProvider cache, ICacheKeyManager keyManager,
                           IOrgService _orgService,
                           ICurrentOrgSelector _orgSelector,
                           ILoginService <UserEntity> _userLogin)
 {
     this._cache       = cache;
     this._keyManager  = keyManager;
     this._orgService  = _orgService;
     this._orgSelector = _orgSelector;
     this._userLogin   = _userLogin;
 }
Beispiel #7
0
 public AuthApiServiceFromDbBase(
     ICacheProvider _cache,
     ICacheKeyManager _keyManager,
     IUserLoginApi _login,
     IEFRepository <TokenBase> _tokenRepo)
 {
     this._cache      = _cache;
     this._keyManager = _keyManager;
     this._login      = _login;
     this._tokenRepo  = _tokenRepo;
 }
Beispiel #8
0
 public MyProfileService(
     ILogger <MyProfileService> logger,
     ICacheProvider cache,
     ICacheKeyManager keyManager,
     IUserService userService)
 {
     this._logger      = logger;
     this._cache       = cache;
     this._keyManager  = keyManager;
     this._userService = userService;
 }
 public PermissionValidatorService(
     ICacheProvider _cache,
     ICacheKeyManager keyManager,
     IMSRepository <RoleEntity> _repo,
     IStringArraySerializer permissionSerializer)
 {
     this._cache               = _cache;
     this._keyManager          = keyManager;
     this._repo                = _repo;
     this.permissionSerializer = permissionSerializer;
 }
Beispiel #10
0
 public AdminRoleController(
     ICacheProvider cache,
     IRoleService _roleService,
     ICacheKeyManager cacheKey,
     IMessagePublisher publisher,
     IStringArraySerializer permissionSerializer)
 {
     this._cache               = cache;
     this._roleService         = _roleService;
     this._cacheKey            = cacheKey;
     this._publisher           = publisher;
     this.permissionSerializer = permissionSerializer;
 }
Beispiel #11
0
 public WechatController(ILogger <WechatController> logger,
                         IOrderService orderService, IConfiguration configuration,
                         WxPayApi wxPayApi, IUserWxLoginService userWxLoginService,
                         ICacheProvider cacheProvider, ICacheKeyManager cacheKeyManager)
 {
     this._logger            = logger;
     this.orderService       = orderService;
     this.configuration      = configuration;
     this.wxPayApi           = wxPayApi;
     this.userWxLoginService = userWxLoginService;
     this.cacheKeyManager    = cacheKeyManager;
     this.cacheProvider      = cacheProvider;
 }
Beispiel #12
0
 public UpdateUserEventHandler(
     ILocker locker,
     IMediatorHandler bus,
     INotificationHandler <DomainNotification> notifications,
     ICacheKeyManager <User> cacheKeyManager,
     ILogger <CreateUserEventHandler> logger
     )
 {
     _locker          = locker ?? throw new ArgumentNullException(nameof(locker));
     _bus             = bus ?? throw new ArgumentNullException(nameof(bus));
     _cacheKeyManager = cacheKeyManager ?? throw new ArgumentNullException(nameof(cacheKeyManager));
     _logger          = logger ?? throw new ArgumentNullException(nameof(logger));
     _notifications   = notifications as DomainNotificationHandler ??
                        throw new ArgumentNullException(nameof(notifications));
 }
Beispiel #13
0
 public UserIdConfirmController(
     ILogger <UserIdConfirmController> _logger,
     ICacheKeyManager cacheKeyManager,
     ICacheProvider cacheProvider,
     IUserLoginService _login,
     IUserService userService,
     IConfiguration config)
 {
     this._logger         = _logger;
     this.cacheKeyManager = cacheKeyManager;
     this.cacheProvider   = cacheProvider;
     this._login          = _login;
     this.config          = config;
     this.userService     = userService;
 }
Beispiel #14
0
        public async Task <IActionResult> AllAdWindows(
            [FromServices] ICacheProvider _cache,
            [FromServices] ICacheKeyManager _cacheKeyManager,
            [FromServices] IMetroLineService _service)
        {
            var key  = _cacheKeyManager.AllStationsAdWindows();
            var data = await _cache.GetOrSetAsync_(key, _service.AllStationAdWindows, TimeSpan.FromMinutes(10));

            data ??= new MetroLineEntity[] { };

            data = await _service.RemoveLinesWithoutAdWindow(data);

            var res = data.Select(x => x).ToArray();

            return(SuccessJson(res));
        }
Beispiel #15
0
        public MyTokenAuthHanlder(
            ICacheProvider _cache,
            ICacheKeyManager _keyManager,
            IDataProtectionProvider _protectionProvider,

            IAuthTokenService _tokenService,
            ILoginService <LoginUserEntity> _loginService,

            IOptionsMonitor <MyTokenAuthOption> options,
            ILoggerFactory logger,
            UrlEncoder encoder,
            ISystemClock clock) : base(options, logger, encoder, clock)
        {
            this._cache              = _cache;
            this._keyManager         = _keyManager;
            this._protectionProvider = _protectionProvider;

            this._tokenService = _tokenService;
            this._loginService = _loginService;
        }
Beispiel #16
0
        public async Task <IActionResult> QueryShowCase(
            [FromServices] ICacheProvider _cache,
            [FromServices] ICacheKeyManager cacheKeyManager)
        {
            var key = cacheKeyManager.ShowCase();

            var data = await _cache.GetOrSetAsync_(key, async() =>
            {
                var list = await this._service.QueryTop(10);
                list     = await this._service.PrepareCase(list);
                list     = await this._service.LoadAdWindows(list);

                return(list);
            }, TimeSpan.FromMinutes(90));

            data ??= new CaseEntity[] { };

            var res = data.Where(x => x.IsActive > 0).Select(x => x).ToArray();

            return(SuccessJson(res));
        }
Beispiel #17
0
 public AdminMetroOrderController(IStringArraySerializer stringArraySerializer, ICacheKeyManager cacheKeyManager, ICacheProvider cacheProvider)
 {
     this.stringArraySerializer = stringArraySerializer;
     this.cacheProvider         = cacheProvider;
     this.cacheKeyManager       = cacheKeyManager;
 }
Beispiel #18
0
 public AdminCaseController(IStringArraySerializer stringArraySerializer, ICacheProvider _cache, ICacheKeyManager cacheKeyManager)
 {
     this.stringArraySerializer = stringArraySerializer;
     this._cache          = _cache;
     this.cacheKeyManager = cacheKeyManager;
 }
Beispiel #19
0
 public OrderController(IOrderService _service, ICacheProvider cacheProvider, ICacheKeyManager cacheKeyManager)
 {
     this._service        = _service;
     this.cacheKeyManager = cacheKeyManager;
     this.cacheProvider   = cacheProvider;
 }