Ejemplo n.º 1
0
        public async System.Threading.Tasks.Task <APIResult <GetAuditStatusResultJson> > SubmitAudit([FromBody] SubmitAuditArgsModel args)
        {
            try
            {
                if (!args.ShopId.HasValue)
                {
                    throw new ArgumentNullException("ShopId");
                }
                CheckShopActor(args.ShopId.Value, ShopActorType.超级管理员);

                var authorizerAccessToken = GetAuthorizerAccessToken(args.ShopId.Value);

                var result = await CodeApi.SubmitAuditAsync(authorizerAccessToken.authorizer_access_token, args.Items);

                //logger.LogTrace("SubmitAuditAsync result:{0}", Newtonsoft.Json.JsonConvert.SerializeObject(result));
                if (result.errcode == ReturnCode.请求成功)
                {
                    var authorizer = db.Query <ShopWechatOpenAuthorizer>()
                                     .Where(m => !m.IsDel)
                                     .Where(m => m.ShopId == args.ShopId.Value)
                                     .FirstOrDefault();
                    if (authorizer != null)
                    {
                        authorizer.CurrentAuditId             = int.Parse(result.auditid);
                        authorizer.CurrentAuditStatus         = 2; //审核状态,其中0为审核成功,1为审核失败,2为审核中
                        authorizer.CurrentTemplateUserVersion = args.user_version;
                        authorizer.IsRelease = false;              //将发布状态设置为未发布
                        await db.SaveChangesAsync();
                    }
                }
                return(Success(result));
            }
            catch (Exception ex)
            {
                throw new Exception($"提交失败,注意:需要先提交体验版后再提交代码包审核。");
            }
        }