Ejemplo n.º 1
0
        /// <summary>
        /// 获取聊天记录
        /// </summary>
        /// <param name="historyChatRecordsInput"></param>
        /// <returns></returns>
        public BaseDataOutput <List <HistoryChatRecordsOutput> > HistoryChatRecords(HistoryChatRecordsInput historyChatRecordsInput)
        {
            BaseDataOutput <List <HistoryChatRecordsOutput> > output = new BaseDataOutput <List <HistoryChatRecordsOutput> >();
            List <HistoryChatRecordsOutput> list = _chatRecords.GetAll().WhereIf(!string.IsNullOrEmpty(historyChatRecordsInput.CustomerId), e => e.CustomerId == historyChatRecordsInput.CustomerId)
                                                   .WhereIf(!string.IsNullOrEmpty(historyChatRecordsInput.CustomerDeviceId), e => e.CustomerDeviceId == historyChatRecordsInput.CustomerDeviceId)
                                                   .WhereIf(!string.IsNullOrEmpty(historyChatRecordsInput.ServiceId), e => e.ServiceId == historyChatRecordsInput.ServiceId).
                                                   OrderBy(historyChatRecordsInput.sort + historyChatRecordsInput.order)
                                                   .Skip(historyChatRecordsInput.SkipCount).Take(historyChatRecordsInput.rows)
                                                   .Select(e => new HistoryChatRecordsOutput
            {
                CustomerId       = e.CustomerId,
                CustomerDeviceId = e.CustomerDeviceId,
                CustomerCode     = e.CustomerCode,
                CustomerNickName = e.CustomerNickName,
                CustomerFaceImg  = e.CustomerFaceImg,
                ServiceId        = e.ServiceId,
                ServiceCode      = e.ServiceCode,
                ServiceNickName  = e.ServiceNickName,
                ServiceFaceImg   = e.ServiceFaceImg,
                SendDateTime     = e.SendDateTime,
                SendInfoType     = e.SendInfoType,
                SendContent      = e.SendContent,
                SendSource       = e.SendSource
            }).ToList();

            output.Data = list;
            return(output);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// 获取历史聊天记录
        /// </summary>
        /// <param name="Model"></param>
        /// <returns></returns>
        public CommandResult HistoryChatRecordsList(string paras)
        {
            var           Model = JsonConvert.DeserializeObject <Command <CommandHistoryChatRecordsList> >(paras);
            CommandResult CommandResultModel = new CommandResult();

            CommandResultModel.code = 1;
            CommandResultModel.msg  = "";
            BaseDataOutput <List <HistoryChatRecordsListOutput> > Output = _ChatRecordsService.HistoryChatRecordsList(new HistoryChatRecordsListInput
            {
                ServiceId = Model.data.ServiceId,
                page      = Model.data.Page,
                rows      = Model.data.Rows,
                sort      = "CustomerContentDate",
                order     = "desc"
            });

            if (Output.Code == 0)
            {
                CommandResultModel.data = Output.Data;
                CommandResultModel.code = 0;
            }
            else
            {
                CommandResultModel.msg = Output.Message;
            }
            return(CommandResultModel);
        }
Ejemplo n.º 3
0
        /// <summary>
        /// 根据AccessToken获取用户信息
        /// </summary>
        /// <param name="Model"></param>
        /// <returns></returns>
        public async Task <CommandResult> AuthorizationAccessToken(string paras)
        {
            var           Model = JsonConvert.DeserializeObject <Command <CommandAuthorizationAccessToken> >(paras);
            CommandResult CommandResultModel = new CommandResult();

            CommandResultModel.code = 1;
            CommandResultModel.msg  = "";
            BaseDataOutput <string> Output = await _OAuthAccountService.AuthorizationAccessToken(new OAuthUserService.OAuthCRMService.Dto.AuthorizationAccessTokenlInput
            {
                ThirdPlatCode = Model.data.ThirdPlatCode,
                DeviceId      = Model.data.DeviceId,
                OAuthCode     = Model.data.OAuthCode,
            });

            if (Output.Code == 0)
            {
                CommandResultModel.data = new
                {
                    terminalId = Output.Data,
                };
                CommandResultModel.code = 0;
            }
            else
            {
                CommandResultModel.msg = Output.Message;
            }
            return(CommandResultModel);
        }
Ejemplo n.º 4
0
        /// <summary>
        /// 获取授权登录地址
        /// </summary>
        /// <param name="authorizationLoginUrlInput"></param>
        /// <returns></returns>
        public BaseDataOutput <string> AuthorizationLoginUrl(AuthorizationLoginUrlInput authorizationLoginUrlInput)
        {
            if (string.IsNullOrEmpty(authorizationLoginUrlInput.ThirdPlatCode))
            {
                authorizationLoginUrlInput.ThirdPlatCode = "CRM";
            }
            BaseDataOutput <string> Output            = new BaseDataOutput <string>();
            OauthSetting            OauthSettingModel = _oauthSetting.FirstOrDefault(e => e.ThirdPlatCode == authorizationLoginUrlInput.ThirdPlatCode);

            Output.Data = OauthSettingModel.AuthorizationLoginUrl + "?AppId=" + OauthSettingModel.AppId + "&Type=OAuth2" + "&redirect_uri=" + authorizationLoginUrlInput.RedirectUri;
            return(Output);
        }
Ejemplo n.º 5
0
        /// <summary>
        /// 获取聊天人列表
        /// </summary>
        /// <param name="historyChatRecordsInput"></param>
        /// <returns></returns>
        public BaseDataOutput <List <HistoryChatRecordsListOutput> > HistoryChatRecordsList(HistoryChatRecordsListInput historyChatRecordsInput)
        {
            BaseDataOutput <List <HistoryChatRecordsListOutput> > output = new BaseDataOutput <List <HistoryChatRecordsListOutput> >();
            var list = _serviceRecords.GetAll()
                       .WhereIf(!string.IsNullOrEmpty(historyChatRecordsInput.ServiceId), e => e.ServiceId == historyChatRecordsInput.ServiceId)
                       .WhereIf(!string.IsNullOrEmpty(historyChatRecordsInput.SearchText), e => e.CustomerNickName.Contains(historyChatRecordsInput.SearchText))
                       .WhereIf(historyChatRecordsInput.LoginState != null, e => e.CustomerState == historyChatRecordsInput.LoginState);

            var CustomerList = _customerConnectRecords.GetAll();
            var AllotQuery   = from item in (
                from ServiceRecordsResult in list
                join CustomerInfo in CustomerList on ServiceRecordsResult.CustomerDeviceId equals CustomerInfo.DeviceId
                select new
            {
                ServiceRecordsResult.CustomerDeviceId,
                CustomerInfo.CustomerId,
                CustomerInfo.CustomerNickName,
                CustomerInfo.CustomerFaceImg,
                CustomerInfo.CustomerCode,
                ServiceRecordsResult.CustomerContentDate
            }
                )
                               group item by new
            {
                item.CustomerDeviceId,
                item.CustomerId,
                item.CustomerNickName,
                item.CustomerFaceImg,
                item.CustomerCode,
            } into groupChild
                select new HistoryChatRecordsListOutput()
            {
                CustomerDeviceId    = groupChild.Key.CustomerDeviceId,
                CustomerId          = groupChild.Key.CustomerId,
                CustomerNickName    = groupChild.Key.CustomerNickName,
                CustomerFaceImg     = groupChild.Key.CustomerFaceImg,
                CustomerCode        = groupChild.Key.CustomerCode,
                CustomerContentDate = groupChild.Max(e => e.CustomerContentDate)
            };

            var Result = AllotQuery.OrderBy(historyChatRecordsInput.sort + historyChatRecordsInput.order)
                         .Skip(historyChatRecordsInput.SkipCount).Take(historyChatRecordsInput.rows)
                         .ToList();

            output.Data = Result;
            return(output);
        }
Ejemplo n.º 6
0
        public BaseDataOutput <ServiceConnectRecordsInfoOutput> ServiceConnectRecordsInfo(ServiceConnectRecordsInfoInput serviceConnectRecordsInfoInput)
        {
            BaseDataOutput <ServiceConnectRecordsInfoOutput> output = new BaseDataOutput <ServiceConnectRecordsInfoOutput>();
            ServiceConnectRecordsInfoOutput Model = new ServiceConnectRecordsInfoOutput();
            ServiceConnectRecords           ServiceConnectRecordsModel = _ServiceConnectRecords.FirstOrDefault(e => e.ServiceId == serviceConnectRecordsInfoInput.ServicerId);

            if (ServiceConnectRecordsModel != null)
            {
                Model.DeviceId        = ServiceConnectRecordsModel.DeviceId;
                Model.ServiceId       = ServiceConnectRecordsModel.ServiceId;
                Model.ServiceCode     = ServiceConnectRecordsModel.ServiceCode;
                Model.ServiceNickName = ServiceConnectRecordsModel.ServiceNickName;
                Model.ServiceFaceImg  = ServiceConnectRecordsModel.ServiceFaceImg;
            }
            output.Data = Model;
            return(output);
        }
Ejemplo n.º 7
0
        /// <summary>
        /// 获取第三方登录地址
        /// </summary>
        /// <param name="Model"></param>
        /// <returns></returns>
        public CommandResult AuthorizationLogin(string paras)
        {
            var Model = JsonConvert.DeserializeObject <Command <CommandAuthorizationLogin> >(paras);
            BaseDataOutput <string> output = _OAuthAccountService.AuthorizationLoginUrl(new OAuthUserService.OAuthCRMService.Dto.AuthorizationLoginUrlInput
            {
                ThirdPlatCode = Model.data.ThirdPlatCode,
                RedirectUri   = Model.data.RedirectUri
            });
            CommandResult CommandResultModel = new CommandResult();

            CommandResultModel.code = 0;
            CommandResultModel.msg  = "";
            CommandResultModel.data = new
            {
                AuthorizationLoginUrl = output.Data,
            };
            return(CommandResultModel);
        }
Ejemplo n.º 8
0
        /// <summary>
        /// 用户链接
        /// </summary>
        /// <param name="Model"></param>
        /// <returns></returns>
        public async Task <CommandResult> UserConnection(string paras)
        {
            var Model = JsonConvert.DeserializeObject <Command <CommandUserConnection> >(paras);
            //查找当前负责客户最少的客服
            var           CustomerServiceModel = CustomerServiceList.OrderBy(e => e.ConnectionCount).FirstOrDefault() ?? new OnlineCustomerService();
            string        terminalId           = Model.data.deviceId;
            CommandResult CommandResultModel   = new CommandResult();

            CommandResultModel.code = 1;
            CommandResultModel.msg  = "";
            CommandResultModel.data = new
            {
                terminalId = terminalId,
                imgService = "http://hmspimg.afarsoft.com/"
            };
            #region 数据库处理
            BaseDataOutput <int> Output = _CustomerConnectService.AddServiceConnectRecords(new CRMCustomerService.CRMCustomerConnect.Dto.AddCustomerConnectRecordsDto
            {
                DeviceId         = Model.data.deviceId,
                CustomerId       = Guid.NewGuid().ToString(),
                OpenId           = "",
                UnionId          = "",
                CustomerCode     = "",
                CustomerNickName = Model.data.nickName,
                CustomerFaceImg  = Model.data.faceImg,
                ServiceId        = string.IsNullOrEmpty(CustomerServiceModel.servicerId) ? string.Empty : CustomerServiceModel.servicerId,
            });
            #endregion
            if (Output.Code == 0)
            {
                #region 在线客户处理
                //处理在线客户
                var SameModel = CustomerList.Where(e => e.deviceId == terminalId).FirstOrDefault();
                if (SameModel == null)
                {
                    CustomerList.Add(new OnlineCustomer
                    {
                        nickName           = Model.data.nickName,
                        faceimg            = Model.data.faceImg,
                        userId             = Model.data.userId,
                        deviceId           = Model.data.deviceId,
                        ConnectionId       = Context.ConnectionId,
                        servicerTerminalId = CustomerServiceModel.servicerId,
                        ServiceRecordId    = Output.Data
                    });
                }
                else
                {
                    CustomerList.Remove(SameModel);
                    SameModel.servicerTerminalId = CustomerServiceModel.servicerId;
                    SameModel.ConnectionId       = Context.ConnectionId;
                    SameModel.ServiceRecordId    = Output.Data;
                    CustomerList.Add(SameModel);
                }
                #endregion
                #region 客服消息及客服连接数量处理
                if (!string.IsNullOrEmpty(CustomerServiceModel.ConnectionId))
                {
                    CustomerServiceList.Remove(CustomerServiceModel);
                    CustomerServiceModel.ConnectionCount += 1;
                    CustomerServiceList.Add(CustomerServiceModel);
                    //发送连接消息
                    await Clients.Client(CustomerServiceModel.ConnectionId).SendAsync("command", new
                    {
                        command = "userDistributeMessage",
                        time    = DateTime.Now,
                        data    = new
                        {
                            servicerTerminalId = CustomerServiceModel.servicerId,
                            userTerminalId     = Model.data.deviceId,
                            content            = new
                            {
                                servicerId = CustomerServiceModel.servicerId,
                                deviceId   = Model.data.deviceId,
                                nickName   = Model.data.nickName,
                                faceImg    = Model.data.faceImg,
                            }
                        }
                    });
                }
                else
                {
                    //没分配到有效客服
                    await Clients.Client(Context.ConnectionId).SendAsync("command", new
                    {
                        command = "noServicerMessage",
                        time    = DateTime.Now,
                        data    = new
                        {
                            servicerTerminalId = "",
                            userTerminalId     = Model.data.deviceId,
                            fromTerminal       = "server"
                        }
                    });
                }
                #endregion
                #region 客户消息处理
                await Clients.Client(Context.ConnectionId).SendAsync("command", new
                {
                    command = "servicerDistributeMessage",
                    time    = DateTime.Now,
                    data    = new
                    {
                        userTerminalId     = Model.data.deviceId,
                        servicerTerminalId = CustomerServiceModel.servicerId,
                        content            = new
                        {
                            nickName = CustomerServiceModel.nickName,
                            faceImg  = CustomerServiceModel.faceImg,
                            deviceId = CustomerServiceModel.deviceId,
                            userId   = Model.data.userId,
                        }
                    }
                });

                #endregion
                CommandResultModel.code = 0;
            }
            return(CommandResultModel);
        }
Ejemplo n.º 9
0
        /// <summary>
        /// 客服链接
        /// </summary>
        /// <param name="Model"></param>
        /// <returns></returns>
        public CommandResult ServicerConnection(string paras)
        {
            var           Model = JsonConvert.DeserializeObject <Command <CommandServicerConnection> >(paras);
            CommandResult CommandResultModel = new CommandResult();

            CommandResultModel.code = 1;
            CommandResultModel.msg  = "";
            CommandResultModel.data = new
            {
                terminalId = Model.data.servicerId,
                imgService = "http://hmspimg.afarsoft.com/"
            };
            #region 数据库操作
            //BaseOutput Output = _ServiceConnectService.AddServiceConnectRecords(new CRMCustomerService.CRMServiceConnect.Dto.AddServiceConnectRecordsDto
            //{
            //    DeviceId = Model.data.deviceId,
            //    ServiceId = Model.data.servicerId,
            //    ServiceCode = "",
            //    ServiceNickName = Model.data.nickName,
            //    ServiceFaceImg = Model.data.faceimg
            //});
            BaseDataOutput <ServiceConnectRecordsInfoOutput> Output = _ServiceConnectService.ServiceConnectRecordsInfo(new CRMCustomerService.CRMServiceConnect.Dto.ServiceConnectRecordsInfoInput
            {
                ServicerId = Model.data.servicerId
            });
            #endregion
            if (Output.Code == 0)
            {
                #region 处理在线客服信息
                var SameModel = CustomerServiceList.Where(e => e.servicerId == Model.data.servicerId).FirstOrDefault();
                if (SameModel == null)
                {
                    CustomerServiceList.Add(new OnlineCustomerService
                    {
                        nickName        = Output.Data.ServiceNickName,
                        faceImg         = Output.Data.ServiceFaceImg,
                        servicerId      = Model.data.servicerId,
                        deviceId        = Output.Data.DeviceId,
                        ConnectionId    = Context.ConnectionId,
                        ConnectionCount = 0,
                    });
                }
                else
                {
                    CustomerServiceList.Remove(SameModel);
                    SameModel.ConnectionId = Context.ConnectionId;
                    CustomerServiceList.Add(SameModel);
                }
                #endregion
                CommandResultModel.code = 0;
                CommandResultModel.data = new
                {
                    terminalId = Model.data.servicerId,
                    nickName   = Output.Data.ServiceNickName,
                    faceImg    = Output.Data.ServiceFaceImg,
                    Code       = Output.Data.ServiceCode,
                    imgService = "http://hmspimg.afarsoft.com/"
                };
            }
            return(CommandResultModel);
        }
Ejemplo n.º 10
0
        /// <summary>
        /// 添加客户,并建立连接
        /// </summary>
        /// <param name="addCustomerConnectRecordsDto"></param>
        public BaseDataOutput <int> AddServiceConnectRecords(AddCustomerConnectRecordsDto addCustomerConnectRecordsDto)
        {
            BaseDataOutput <int> output          = new BaseDataOutput <int>();
            int         CustomerConnectRecordsId = 0;
            int         ServiceRecordsId         = 0;
            ChatRecords ChatRecordsModel         = new ChatRecords();
            //处理客户记录表
            CustomerConnectRecords CustomerConnectRecordsModel = _CustomerConnectRecords.FirstOrDefault(e => e.DeviceId == addCustomerConnectRecordsDto.DeviceId);

            if (CustomerConnectRecordsModel == null)
            {
                CustomerConnectRecords NewCustomerConnectRecordsModel = new CustomerConnectRecords();
                NewCustomerConnectRecordsModel = EntityHelper.CopyValue(addCustomerConnectRecordsDto, NewCustomerConnectRecordsModel);
                NewCustomerConnectRecordsModel.CustomerState = OrderInfo.LoginState.Online;
                CustomerConnectRecordsId = _CustomerConnectRecords.InsertAndGetId(NewCustomerConnectRecordsModel);
            }
            else
            {
                CustomerConnectRecordsModel.CustomerState = OrderInfo.LoginState.Online;
                _CustomerConnectRecords.Update(CustomerConnectRecordsModel);
                CustomerConnectRecordsId = CustomerConnectRecordsModel.Id;
            }
            //处理连接记录表
            ServiceRecords ServiceRecordsModel = new ServiceRecords();

            ServiceRecordsModel = EntityHelper.CopyValue(addCustomerConnectRecordsDto, ServiceRecordsModel);
            ServiceRecordsModel.CustomerDeviceId = addCustomerConnectRecordsDto.DeviceId;
            //连接记录表-处理客户信息
            ServiceRecordsModel.CustomerConnectRecordsId = CustomerConnectRecordsId;
            ServiceRecordsModel.CustomerContentDate      = DateTime.Now;
            ServiceRecordsModel.CustomerState            = OrderInfo.LoginState.Online;
            //连接记录表-如果匹配到客服,则处理客服信息
            if (addCustomerConnectRecordsDto.ServiceId != null)
            {
                ServiceConnectRecords ServiceConnectRecordsModel = _ServiceConnectRecords.FirstOrDefault(e => e.ServiceId == addCustomerConnectRecordsDto.ServiceId);
                if (ServiceConnectRecordsModel != null)
                {
                    //连接记录表-处理客服信息
                    ServiceRecordsModel    = EntityHelper.CopyValue(ServiceConnectRecordsModel, ServiceRecordsModel);
                    ServiceRecordsModel.Id = 0;
                    ServiceRecordsModel.ServiceConnectRecordsId = ServiceConnectRecordsModel.Id;
                    ServiceRecordsModel.ServiceId            = addCustomerConnectRecordsDto.ServiceId;
                    ServiceRecordsModel.ServiceContentDate   = DateTime.Now;
                    ServiceRecordsModel.ServiceState         = OrderInfo.LoginState.Online;
                    ServiceConnectRecordsModel.ServiceCount += 1;
                    _ServiceConnectRecords.Update(ServiceConnectRecordsModel);
                    //聊天记录表-处理客服信息
                    ChatRecordsModel           = EntityHelper.CopyValue(ServiceConnectRecordsModel, ChatRecordsModel);
                    ChatRecordsModel.ServiceId = addCustomerConnectRecordsDto.ServiceId;
                }
            }
            ServiceRecordsId = _ServiceRecords.InsertAndGetId(ServiceRecordsModel);
            //聊天记录表-处理客户信息
            ChatRecordsModel    = EntityHelper.CopyValue(addCustomerConnectRecordsDto, ChatRecordsModel);
            ChatRecordsModel.Id = 0;
            ChatRecordsModel.CustomerDeviceId = addCustomerConnectRecordsDto.DeviceId;
            //聊天记录表-处理聊天信息
            ChatRecordsModel.ServiceRecordsId = ServiceRecordsId;
            ChatRecordsModel.SendInfoType     = OrderInfo.SendInfoType.TextInfo;
            ChatRecordsModel.SendSource       = OrderInfo.TerminalRefer.system;
            ChatRecordsModel.SendContent      = "客服[" + ChatRecordsModel.ServiceNickName + "]为您服务";
            ChatRecordsModel.SendDateTime     = DateTime.Now;
            ChatRecordsModel.ReceiveState     = OrderInfo.ReceiveState.Received;
            _ChatRecords.Insert(ChatRecordsModel);
            output.Data = ServiceRecordsId;
            return(output);
        }
Ejemplo n.º 11
0
        /// <summary>
        /// 根据AccessToken获取用户信息
        /// </summary>
        /// <param name="authorizationAccessTokenlInput"></param>
        /// <returns></returns>
        public async Task <BaseDataOutput <string> > AuthorizationAccessToken(AuthorizationAccessTokenlInput authorizationAccessTokenlInput)
        {
            BaseDataOutput <string> Output = new BaseDataOutput <string>();

            if (!string.IsNullOrEmpty(authorizationAccessTokenlInput.OAuthCode) && !string.IsNullOrEmpty(authorizationAccessTokenlInput.ThirdPlatCode))
            {
                BaseDataOutput <string> AccessTokenOutput             = new BaseDataOutput <string>();
                BaseDataOutput <AuthorizationUserInfoDto> ThirdOutput = new BaseDataOutput <AuthorizationUserInfoDto>();
                OauthSetting OauthSettingModel = _oauthSetting.FirstOrDefault(e => e.ThirdPlatCode == authorizationAccessTokenlInput.ThirdPlatCode);
                if (OauthSettingModel != null)
                {
                    var GetAccessTokenObj = new
                    {
                        OAuthCode = authorizationAccessTokenlInput.OAuthCode
                    };
                    var CodeResult = await _httpClientFactory.CreateClient().PostAsync(OauthSettingModel.GetAccessTokenUrl, new StringContent(JsonConvert.SerializeObject(GetAccessTokenObj), Encoding.UTF8, "application/json"));

                    var ResultStr = await CodeResult.Content.ReadAsStringAsync();

                    AccessTokenOutput = JsonConvert.DeserializeObject <BaseDataOutput <string> >(ResultStr);
                    if (AccessTokenOutput.Code == 0)
                    {
                        #region 根据AccessToken获取用户信息
                        var GetUserInfoObj = new
                        {
                            AccessToken = AccessTokenOutput.Data
                        };
                        var UserInfoResult = await _httpClientFactory.CreateClient().PostAsync(OauthSettingModel.AuthorizationUrl, new StringContent(JsonConvert.SerializeObject(GetUserInfoObj), Encoding.UTF8, "application/json"));

                        var UserInfoResultStr = await UserInfoResult.Content.ReadAsStringAsync();

                        ThirdOutput = JsonConvert.DeserializeObject <BaseDataOutput <AuthorizationUserInfoDto> >(UserInfoResultStr);
                        if (ThirdOutput.Code == 0)
                        {
                            if (ThirdOutput.Data.UserType == OrderInfo.TerminalRefer.servicer)
                            {
                                ServiceConnectRecords ServiceConnectRecordsModel = _serviceConnectRecords.FirstOrDefault(e => e.ServiceId == ThirdOutput.Data.UserId);
                                if (ServiceConnectRecordsModel == null)
                                {
                                    int UserId = _serviceConnectRecords.InsertAndGetId(new ServiceConnectRecords
                                    {
                                        ServiceId       = ThirdOutput.Data.UserId,
                                        ServiceCode     = ThirdOutput.Data.UserCode,
                                        ServiceNickName = ThirdOutput.Data.UserNickName,
                                        ServiceCount    = 0,
                                        ServiceFaceImg  = ThirdOutput.Data.UserFaceImg,
                                        ServiceState    = OrderInfo.LoginState.OffLine,
                                        DeviceId        = authorizationAccessTokenlInput.DeviceId
                                    });
                                    Output.Data = ThirdOutput.Data.UserId;
                                }
                                else
                                {
                                    Output.Data = ServiceConnectRecordsModel.ServiceId.ToString();
                                }
                            }
                            if (ThirdOutput.Data.UserType == OrderInfo.TerminalRefer.user)
                            {
                                CustomerConnectRecords CustomerConnectRecordsModel = _customerConnectRecords.FirstOrDefault(e => e.CustomerId == ThirdOutput.Data.UserId);
                                if (CustomerConnectRecordsModel == null)
                                {
                                    int CustomerId = _customerConnectRecords.InsertAndGetId(new CustomerConnectRecords
                                    {
                                        CustomerId       = ThirdOutput.Data.UserId,
                                        CustomerCode     = ThirdOutput.Data.UserCode,
                                        CustomerNickName = ThirdOutput.Data.UserNickName,
                                        CustomerFaceImg  = ThirdOutput.Data.UserFaceImg,
                                        CustomerState    = OrderInfo.LoginState.OffLine,
                                        DeviceId         = authorizationAccessTokenlInput.DeviceId
                                    });
                                    Output.Data = ThirdOutput.Data.UserId;
                                }
                                else
                                {
                                    Output.Data = CustomerConnectRecordsModel.CustomerId.ToString();
                                }
                            }
                        }
                        else
                        {
                            Output.Code    = 1;
                            Output.Message = ThirdOutput.Message;
                        }
                        #endregion
                    }
                    else
                    {
                        Output.Code    = 1;
                        Output.Message = "获取AccessToken失败:" + AccessTokenOutput.Message;
                    }
                }
                else
                {
                    Output.Code    = 1;
                    Output.Message = "未获取到授权设置信息";
                }
            }
            else
            {
                Output.Code    = 1;
                Output.Message = "未获取AccessToken或第三方平台编号";
            }
            return(Output);
        }