コード例 #1
0
        public async Task <ResponseMessage <Models.ExamineStatusEnum> > SubmitShops(UserInfo user, [FromRoute] string shopsId)
        {
            Logger.Trace($"用户{user?.UserName ?? ""}({user?.Id ?? ""})提交审核(SubmitShops):\r\n请求参数为:\r\n(shopsId){shopsId ?? ""}");

            ResponseMessage <Models.ExamineStatusEnum> response = new ResponseMessage <Models.ExamineStatusEnum>();

            if (!ModelState.IsValid)
            {
                response.Code    = ResponseCodeDefines.ModelStateInvalid;
                response.Message = ModelState.GetAllErrors();
                Logger.Warn($"用户{user?.UserName ?? ""}({user?.Id ?? ""})提交审核(SubmitShops)模型验证失败:\r\n{response.Message ?? ""},\r\n请求参数为:\r\n(shopsId){shopsId ?? ""}");
                return(response);
            }
            try
            {
                var shops = await _shopsManager.FindByIdAsync(user.Id, shopsId);

                if (shops == null)
                {
                    response.Code    = ResponseCodeDefines.NotFound;
                    response.Message = "提交审核的商铺不存在:" + shopsId;
                    return(response);
                }
                GatewayInterface.Dto.ExamineSubmitRequest examineSubmitRequest = new GatewayInterface.Dto.ExamineSubmitRequest();
                examineSubmitRequest.ContentId   = shopsId;
                examineSubmitRequest.ContentType = "shops";
                examineSubmitRequest.ContentName = shops.BasicInfo.Name;
                examineSubmitRequest.Source      = "";
                examineSubmitRequest.CallbackUrl = "使用http时再启用";
                if (await _permissionExpansionManager.HavePermission(user.Id, "ShopsCreateQuick"))
                {
                    examineSubmitRequest.Action = "ShopsExaminePass";
                }
                else
                {
                    examineSubmitRequest.Action = "ShopsExamine";
                }
                examineSubmitRequest.TaskName = user.UserName + "提交的商铺:" + shopsId;
                examineSubmitRequest.Ext1     = shops.BasicInfo.BuildingNo;     //楼栋
                examineSubmitRequest.Ext2     = shops.BasicInfo.FloorNo;        //楼层
                examineSubmitRequest.Ext3     = shops.BasicInfo.Number;         //商铺编号
                examineSubmitRequest.Ext4     = shops.Buildings.BasicInfo.Name; //楼盘名字

                GatewayInterface.Dto.UserInfo userInfo = new GatewayInterface.Dto.UserInfo()
                {
                    Id               = user.Id,
                    KeyWord          = user.KeyWord,
                    OrganizationId   = user.OrganizationId,
                    OrganizationName = user.OrganizationName,
                    UserName         = user.UserName
                };

                //Logger.Info("nwf协议:\r\n{0}", JsonHelper.ToJson(examineSubmitRequest));
                //string result = await _restClient.Post(ApplicationContext.Current.ExamineUrl, examineSubmitRequest, "POST", new NameValueCollection());
                //Logger.Info("返回:\r\n{0}", result);
                var _examineInterface = ApplicationContext.Current.Provider.GetRequiredService <IExamineInterface>();
                var response2         = await _examineInterface.Submit(userInfo, examineSubmitRequest);

                if (response2.Code != ResponseCodeDefines.SuccessCode)
                {
                    response.Code    = ResponseCodeDefines.ServiceError;
                    response.Message = "向审核中心发起审核请求失败:" + response2.Message;
                    return(response);
                }
                await _shopsManager.SubmitAsync(shopsId, Dto.ExamineStatusEnum.Auditing, HttpContext.RequestAborted);

                response.Extension = Models.ExamineStatusEnum.Auditing;
                //await _shopsManager.SubmitAsync(shopsId, Dto.ExamineStatusEnum.Approved, HttpContext.RequestAborted);
                //response.Extension = Models.ExamineStatusEnum.Approved;
            }
            catch (Exception e)
            {
                response.Code    = ResponseCodeDefines.ServiceError;
                response.Message = e.ToString();
                Logger.Warn($"用户{user?.UserName ?? ""}({user?.Id ?? ""})提交审核(SubmitShops)请求失败:\r\n{response.Message ?? ""},\r\n请求参数为:\r\n(shopsId){shopsId ?? ""}");
            }
            return(response);
        }