예제 #1
0
 public Result Add(CustomerDto dto, UserType roleId)
 {
     try
     {
         var id  = "";
         var rlt = UnitOfWorkService.Execute(() =>
         {
             var u = _customerRepository.Get(dto.Id);
             if (u != null)
             {
                 return(new Result(false, "账号已被占用"));
             }
             id            = _customerRepository.InsertAndGetId(dto.MapTo <CustomerEntity>());
             var orgId     = _staffRepository.GetOrgId(dto.SalesMan).OrgId;
             var dataInOrg = new DataInOrgEntity
             {
                 DataId   = id,
                 DataType = (int)DataType.Customer,
                 OrgId    = orgId,
                 RoleId   = ((int)roleId).ToString()
             };
             var dataRlt = _dataInOrgRepository.Inserts(dataInOrg);
             Balance(dto, roleId);
             Recharge(dto, roleId);
             _redisHelper.StringGet(RedisKeyName.CreateUserAmountKey(dto.Id));
             _redisHelper.StringIncrement(RedisKeyName.CreateUserAmountKey(id), _configuration.GetValue("giftNumber", 20));
             if (dataRlt && id.IsNotNullOrEmpty())
             {
                 return(new Result {
                     Status = true
                 });
             }
             return(new Result {
                 Status = false, Message = "数据库写入失败"
             });
         });
         if (!rlt.Status)
         {
             return(rlt);
         }
         dto.Id = id;
         var json = Serializer.Serialize(dto);
         var url  = _configuration.GetValue("WebApi:url", "http://localhost:15002/sync");
         var http = _hxHttpClientFactory.CreateHttpClient();
         var res  = http.SendAsync(url, Serializer.Serialize(new CusNotification {
             Method = 21, Body = json
         }));
         Logger.Info($"customer同步结果add:{json}");
         return(rlt);
     }
     catch (Exception ex)
     {
         Logger.Error("添加用户时发生错误", ex);
         return(new Result(false, "用户添加报错"));
     }
 }
예제 #2
0
        public Result Add(AppDto dto, UserType roleId)//TODO:缓存同步
        {
            try
            {
                var id     = "";
                var entity = dto.MapTo <AppEntity>();
                var rlt    = UnitOfWorkService.Execute(() =>
                {
                    id            = _repo.InsertAndGetId(entity);
                    var orgId     = _staffRepository.GetOrgId(dto.SalesMan).OrgId;
                    var dataInOrg = new DataInOrgEntity
                    {
                        DataId   = id,
                        DataType = (int)DataType.App,
                        OrgId    = orgId,
                        RoleId   = ((int)roleId).ToString()
                    };
                    var dataRlt = _dataInOrgRepository.Inserts(dataInOrg);

                    return(id.IsNotNullOrEmpty() && dataRlt);
                });

                if (!rlt)
                {
                    return new Result {
                               Status = false, Message = "数据库操作失败"
                    }
                }
                ;
                dto.Id = id;
                var json = Serializer.Serialize(dto);
                var url  = _configuration.GetValue("WebApi:url", "http://localhost:15002/sync");
                var http = _hxHttpClientFactory.CreateHttpClient();
                http.SendAsync(url, Serializer.Serialize(new CusNotification {
                    Method = 11, Body = json
                }));
                Logger.Info($"app同步结果add:{json}");
                //_mediator.Publish(syncModel);
                return(new Result {
                    Status = true
                });
            }
            catch (Exception ex)
            {
                Logger.Error("add app error", ex);
                return(new Result {
                    Status = false, Message = "内部服务器错误"
                });
            }
        }
예제 #3
0
 public Task Handle(CusNotification notification, CancellationToken cancellationToken)
 {
     try
     {
         var http = _hxHttpClientFactory.CreateHttpClient();
         var url  = _config.GetValue("WebApi:Url", "http://192.168.1.160:15002/sync");
         http.SendAsync(url, _serializer.Serialize(notification));
         return(Task.CompletedTask);
     }
     catch (Exception e)
     {
         var json = _serializer.Serialize(notification);
         Logger.Error($"同步失败{e},json{json}");
         return(Task.CompletedTask);
     }
 }
예제 #4
0
        private async Task <RespResult> Send(Params @params, string nonce, string timeStamp, AppDto appInfo, string url)
        {
            var rqstParams = new RequestParams();

            CreateRequestParams(@params, nonce, timeStamp, appInfo, rqstParams);
            try
            {
                var resp = await _httpClientFactory.CreateHttpClient().SendAsync(url, Serializer.Serialize(rqstParams));

                if (resp.StatusCode != HttpStatusCode.OK)
                {
                    return(await Task.FromResult(new RespResult { success = false, errorCode = TaskResultStatus.ChannelValidFail.ToString() }));
                }
                var mobile = await resp.Content.ReadAsStringAsync();

                return(Serializer.Deserialize <RespResult>(mobile));
            }
            catch (Exception ex)
            {
                Logger.Error("调用getMobile接口错误", ex);
                return(await Task.FromResult(new RespResult { success = false, errorCode = TaskResultStatus.SystemError.ToString() }));
            }
        }