From db0147994ef4899702ac864ac0794a79fe980416 Mon Sep 17 00:00:00 2001 From: username@email.com <yzy2002yzy@163.com> Date: 星期四, 02 二月 2023 11:12:03 +0800 Subject: [PATCH] 分配客户聊天的业务经理 --- zhengcaioa/zhengcaioa/Controllers/UserController.cs | 146 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 145 insertions(+), 1 deletions(-) diff --git a/zhengcaioa/zhengcaioa/Controllers/UserController.cs b/zhengcaioa/zhengcaioa/Controllers/UserController.cs index d6b4099..eb4a16f 100644 --- a/zhengcaioa/zhengcaioa/Controllers/UserController.cs +++ b/zhengcaioa/zhengcaioa/Controllers/UserController.cs @@ -6,6 +6,7 @@ using Newtonsoft.Json; using System; using System.Collections.Generic; +using System.IdentityModel.Tokens.Jwt; using System.Linq; using System.Text.RegularExpressions; using System.Threading.Tasks; @@ -26,11 +27,15 @@ private readonly ISysAttachmentService _sysAttachmentService; private readonly IPltRoleService _pltRoleService; private readonly IPltPageService _pltPageService; + private readonly ICooperatecustomCustomerService _cooperatecustomCustomerService; + private readonly IIntentionCustomerService _intentionCustomerService; public UserController(ILogger<UserController> logger, IUserService userService, IHrDeptService hrDeptService, IHrPositionService hrPositionService, ILiaotianService liaotianService, IPltJiatingchengyuanService pltJiatingchengyuanService, ISysAttachmentService sysAttachmentService , IPltRoleService pltRoleService - , IPltPageService pltPageService) + , IPltPageService pltPageService + , ICooperatecustomCustomerService cooperatecustomCustomerService + , IIntentionCustomerService intentionCustomerService) { _logger = logger; _userService = userService; @@ -41,6 +46,8 @@ _sysAttachmentService = sysAttachmentService; _pltRoleService = pltRoleService; _pltPageService = pltPageService; + _cooperatecustomCustomerService = cooperatecustomCustomerService; + _intentionCustomerService = intentionCustomerService; } @@ -585,7 +592,144 @@ return JsonConvert.SerializeObject(resultEntity); } #endregion + //鎻愰棶 + public IActionResult GetHuiYuanYwjl(string change = "D") + { + ReturnMsg<PltUserDTO> returnMsg = new ReturnMsg<PltUserDTO>(); + returnMsg.code = 2; + try + { + string userid = ""; + var headers = Request.Headers; + if (headers != null) + { + //string SecurityKey = _configuration.GetSection("SecurityKey").Value; + var keyId = headers["Authorization"].FirstOrDefault(); + if (string.IsNullOrEmpty("keyId")) + { + returnMsg.code = 2; + returnMsg.error = "娌℃湁鑾峰彇鍒皌oken"; + returnMsg.count = 0; + return new JsonResult(returnMsg); + } + + + JwtSecurityToken jwt = null; + var handler = new JwtSecurityTokenHandler(); + var key1 = keyId.Replace("Bearer", "").Trim(); + jwt = handler.ReadJwtToken(key1); + System.Security.Claims.Claim sss = jwt.Claims.Where(x => x.Type == "id").FirstOrDefault(); + userid = sss.Value; + + } + + + + //鏌ユ壘鐢ㄦ埛瀵瑰簲鐨勪笟鍔$粡鐞嗭紝娌℃湁鐨勮瘽灏卞垎閰嶄竴涓笟鍔$粡鐞� + PltUserDTO dTO = new PltUserDTO(); + + var cooperatecustomCustomerDTOs = _cooperatecustomCustomerService.GetList(userid); + //鍚堜綔瀹㈡埛鏄惁瀛樺湪涓氬姟缁忕悊 + if (cooperatecustomCustomerDTOs.Count > 0) + { + var cooperatecustomCustomerDTO = cooperatecustomCustomerDTOs.Where(x => x.Ywjl != null).FirstOrDefault(); + if (cooperatecustomCustomerDTO != null) + { + dTO = _userService.GetPltUserEntity(cooperatecustomCustomerDTO.Ywjl); + if (!string.IsNullOrEmpty(dTO.Id) && dTO.IsYwjl == "A" && dTO.Zhiwustatus == "A") + { + returnMsg.code = 1; + returnMsg.returnObj = dTO; + return new JsonResult(returnMsg); + } + } + + } + + var intentionCustomerDTOs = _intentionCustomerService.GetList(userid); + //妗f瀹㈡埛鏄惁瀛樺湪涓氬姟缁忕悊 + if (intentionCustomerDTOs.Count > 0) + { + var intentionCustomerDTO = intentionCustomerDTOs.Where(x => x.Ywjl != null).FirstOrDefault(); + if (intentionCustomerDTO != null) + { + dTO = _userService.GetPltUserEntity(intentionCustomerDTO.Ywjl); + if (!string.IsNullOrEmpty(dTO.Id) && dTO.IsYwjl == "A" && dTO.Zhiwustatus == "A") + { + returnMsg.code = 1; + returnMsg.returnObj = dTO; + return new JsonResult(returnMsg); + } + } + } + //鏄惁鏇剧粡鍒嗛厤杩囦笟鍔$粡鐞� + var customerYwjls = _userService.GetListCustomerYwjl(userid); + if (customerYwjls.Count > 0) + { + if (change != "A") + { + + dTO = _userService.GetPltUserEntity(customerYwjls.First().YwjlId); + if (!string.IsNullOrEmpty(dTO.Id) && dTO.IsYwjl == "A" && dTO.Zhiwustatus == "A") + { + returnMsg.code = 1; + returnMsg.returnObj = dTO; + return new JsonResult(returnMsg); + } + } + else + { + var pltUserDTOs = _userService.GetList(null, "A").Where(x => x.Id != customerYwjls.First().YwjlId).OrderBy(x => x.FenpeiDate).ToList(); + if (pltUserDTOs.Count > 0) + { + dTO = pltUserDTOs.First(); + _userService.savePltUserFenpeiDate(DateTime.Now, dTO.Id); + CustomerYwjl customerYwjl = new CustomerYwjl(); + customerYwjl.UserId = userid; + customerYwjl.YwjlId = dTO.Id; + customerYwjl.Createtime = DateTime.Now; + _userService.saveCustomerYwjl(customerYwjl); + returnMsg.code = 1; + returnMsg.returnObj = dTO; + return new JsonResult(returnMsg); + } + + } + + } + + + //鍒嗛厤瀹㈡埛缁忕悊 + var userDTOs = _userService.GetList(null, "A").OrderBy(x => x.FenpeiDate).ToList(); + if (userDTOs.Count > 0) + { + dTO = userDTOs.First(); + _userService.savePltUserFenpeiDate(DateTime.Now, dTO.Id); + CustomerYwjl customerYwjl = new CustomerYwjl(); + customerYwjl.UserId = userid; + customerYwjl.YwjlId = dTO.Id; + customerYwjl.Createtime = DateTime.Now; + _userService.saveCustomerYwjl(customerYwjl); + returnMsg.code = 1; + returnMsg.returnObj = dTO; + return new JsonResult(returnMsg); + } + + + returnMsg.code = 2; + returnMsg.error = "娌℃湁鎵惧埌涓氬姟缁忕悊"; + returnMsg.count = 0; + } + catch (Exception ex) + { + returnMsg.code = 2; + returnMsg.error = "娌℃湁鑾峰彇鍒皌oken"; + returnMsg.count = 0; + + } + return new JsonResult(returnMsg); + } } } \ No newline at end of file -- Gitblit v1.9.1