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