Example #1
0
        public async Task <string> GetTaobaoCode([FromQuery] GetAuthOrderInput input)
        {
            var order = await this._authOrderAppService.Get(input);

            if (order != null &&
                !string.IsNullOrWhiteSpace(order.TaobaoCode) &&
                order.LastModificationTime > DateTime.Now.AddSeconds(-this._appSettings.CodeExpiresIn))
            {
                //获取到的Code有时效性,虽然暂时还不清楚这时效性是多长,只能说比较短
                return(order.TaobaoCode);
            }
            return(string.Empty);//统一200返回,客户端根据是否为空来判断Code是否获取成功
        }
Example #2
0
        public async Task <AuthOrderDto> Get(GetAuthOrderInput input)
        {
            Partner partner = null;

            if (await this._partnerAppService.Validate(input, (d, p) =>
            {
                partner = p;
                return(null);
            }))
            {
                var order = await this.Repository.GetAll().AsNoTracking()
                            .FirstOrDefaultAsync(o => o.PartnerId == partner.Id && o.AppKey == input.AppKey && o.AuthState == input.AuthState).ConfigureAwait(false);

                if (order != null)
                {
                    return(ObjectMapper.Map <AuthOrderDto>(order));
                }
                return(null);
            }
            throw new ApplicationException(L("VerifySignatureFail"));
        }