From 6114886bd704d575a65f174e31311c8ae912ce99 Mon Sep 17 00:00:00 2001
From: yl <ykxkd@outlook.com>
Date: 星期二, 17 十月 2023 20:08:20 +0800
Subject: [PATCH] 1.APP登录接口 2.模具维修、维修验证功能接口 3.模具上机、模具下机功能接口 4.模具外借、模具归还功能接口

---
 VueWebCoreApi/Controllers/LoginController.cs |  101 ++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 97 insertions(+), 4 deletions(-)

diff --git a/VueWebCoreApi/Controllers/LoginController.cs b/VueWebCoreApi/Controllers/LoginController.cs
index 8db4513..dd5eed9 100644
--- a/VueWebCoreApi/Controllers/LoginController.cs
+++ b/VueWebCoreApi/Controllers/LoginController.cs
@@ -24,13 +24,13 @@
         private static readonly string Enterprise = AppSetting.GetAppSetting("Enterprise");
 
 
-        #region[鐢ㄦ埛鐧诲綍(PC/APP)]
+        #region[鐢ㄦ埛鐧诲綍(PC)]
         /// <summary>
-        /// 鐢ㄦ埛鐧诲綍(PC/APP)
+        /// 鐢ㄦ埛鐧诲綍(PC)
         /// </summary>
         /// <param name="username">鐢ㄦ埛缂栫爜</param>
         /// <param name="password">瀵嗙爜</param>
-        /// <param name="usertype">鎿嶄綔绔被鍨�(PC APP)</param>
+        /// <param name="usertype">鎿嶄綔绔被鍨�(PC)</param>
         /// <returns></returns>
         [Route(template: "LoginSave")]
         [HttpGet]
@@ -191,7 +191,7 @@
         {
             try
             {
-                var token = HttpContext.Request.Headers["Token"].ToString();
+                var token = "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyY29kZSI6Ijk5OSIsInVzZXJuYW1lIjoi5rWL6K-V6LSm5Y-3Iiwic3RvcmdfY29kZSI6IlNDQjAxXzEiLCJzdG9yZ19uYW1lIjoi55Sf5Lqn5LiA6YOoIiwiaXNfc3lzdGVtX2FkbWluIjoiTiIsInJvbGVfY29kZSI6IlIyMzA4MjMwMiw5OTk5Iiwicm9sZV9kYXRhcGVybWlzc2lvbnMiOiIiLCJ1c2VydHlwZSI6IkFQUCIsInJlZGlza2V5IjoiTmV3TUVTTG9naW5Vc2VySURBUFA5OTkiLCJ0aW1lb3V0IjoiMjAyMy0xMC0xN1QxMjozMjozOC40NTYzMTE0KzA4OjAwIn0.BX_axVR1-IT3L5SP6D5o7EhPbdW9SbZcp55C3PYy5eE"; //HttpContext.Request.Headers["Token"].ToString();
                 User us = JwtTools.Denocode(token.ToString());
                 mes = LoginBLL.LoginMenu(usercode, usertype,us);
             }
@@ -239,6 +239,99 @@
         }
         #endregion
 
+        #region[APP鐢ㄦ埛鐧诲綍]
+        /// <summary>
+        /// APP鐢ㄦ埛鐧诲綍
+        /// </summary>
+        /// <param name="username">鐢ㄦ埛缂栫爜</param>
+        /// <param name="password">瀵嗙爜</param>
+        /// <param name="usertype">鎿嶄綔绔被鍨�(APP)</param>
+        /// <returns></returns>
+        [Route(template: "LoginAppSave")]
+        [HttpGet]
+        public JsonResult LoginAppSave(string username, string password, string usertype)
+        {
+            try
+            {
+                Dictionary<string, object> payLoad = new Dictionary<string, object>();
+                mes = LoginBLL.LoginSearch(username, password);
+                if (mes.code == "200")
+                {
+                    DataTable dt = (DataTable)mes.data;
+                    //jwt鐢熸垚Token鍓嶇殑鐢ㄦ埛淇℃伅
+                    payLoad.Add("usercode", dt.Rows[0]["usercode"].ToString());
+                    payLoad.Add("username", dt.Rows[0]["username"].ToString());
+                    payLoad.Add("storg_code", dt.Rows[0]["storg_code"].ToString());
+                    payLoad.Add("storg_name", dt.Rows[0]["storg_name"].ToString());
+                    payLoad.Add("is_system_admin", dt.Rows[0]["is_system_admin"].ToString());
+                    payLoad.Add("role_code", dt.Rows[0]["role_code"].ToString());
+                    payLoad.Add("role_datapermissions", dt.Rows[0]["role_datapermissions"].ToString());
+                    payLoad.Add("usertype", usertype);
+                    payLoad.Add("rediskey", Enterprise + "LoginUserID" + usertype + JwtTools.FindFirstKeyByValue(payLoad, "usercode"));
+                    //鑾峰彇jwt鐢熸垚token
+                    mes = JwtTools.Encode(payLoad);
+
+                    List<User> mss = new List<User>();
+                    User ms = new User();
+                    ms.usercode = dt.Rows[0]["usercode"].ToString();
+                    ms.username = dt.Rows[0]["username"].ToString();
+                    ms.storg_code = dt.Rows[0]["storg_code"].ToString();
+                    ms.storg_name = dt.Rows[0]["storg_name"].ToString();
+                    ms.is_system_admin = dt.Rows[0]["is_system_admin"].ToString();
+                    ms.role_code = dt.Rows[0]["role_code"].ToString();
+                    ms.role_datapermissions = dt.Rows[0]["role_datapermissions"].ToString();
+                    ms.usertype = usertype;
+                    ms.rediskey = Enterprise + "LoginUserID" + ms.usertype + ms.usercode;
+                    ms.token = mes.data.ToString();
+                    mss.Add(ms);
+
+
+                    User loginUser = JsonConvert.DeserializeObject<User>(JsonConvert.SerializeObject(ms));
+                    //濡傛灉redis鐧诲綍鐢ㄦ埛涓笉瀛樺湪褰撳墠鐢ㄦ埛
+                    if (redis.Get<User>(ms.rediskey, 0) == null)
+                    {
+                        //鍐欏叆redis(娉ㄦ剰锛歳edis绫婚噷闈㈢殑澶辨晥鏃堕棿蹇呴』鍦╧ey鍒涘缓瀹屾垚涔嬪悗鎵嶇敓鏁�)
+                        redis.Set<User>(ms.rediskey, ms, redis.secondsTimeOut, 0);
+                        //鍐欏叆鐧诲綍鎿嶄綔璁板綍 
+                        LogHelper.DbOperateLog(ms.usercode, "鐧诲綍", "鐧诲綍浜嗙郴缁�", ms.usertype);
+                        mes.code = "200";
+                        mes.Message = "鐧诲綍鎴愬姛!";
+                        mes.data = ms.token.ToString();
+                    }
+                    else //濡傛灉瀛樺湪
+                    {
+                        //鑾峰彇redis涓綋鍓嶇敤鎴蜂俊鎭�
+                        User r_loginUser = redis.Get<User>(ms.rediskey, 0);
+                        //濡傛灉session涓殑鐢ㄦ埛usercode鍜宺edis涓殑鐢ㄦ埛usercode鍖归厤
+                        if ((r_loginUser.rediskey).Equals(loginUser.rediskey))
+                        {
+                            redis.Remove(loginUser.rediskey, 0);//鍒犻櫎redis
+                            redis.Set<User>(loginUser.rediskey, ms, redis.secondsTimeOut, 0);//鍐欏叆redis
+                        }
+                        else
+                        {
+                            //閲嶇疆杩囨湡鏃堕棿(娉ㄦ剰锛歳edis绫婚噷闈㈢殑澶辨晥鏃堕棿蹇呴』鍦╧ey鍒涘缓瀹屾垚涔嬪悗鎵嶇敓鏁�)
+                            redis.Set<User>(loginUser.rediskey, loginUser, redis.secondsTimeOut, 0);
+                            //鍐欏叆鐧诲綍鎿嶄綔璁板綍
+                            LogHelper.DbOperateLog(ms.usercode, "鐧诲綍", "鐧诲綍浜嗙郴缁�", ms.usertype);
+                            mes.data = ms;
+                            mes.code = "200";
+                            mes.Message = "鐧诲綍鎴愬姛!";
+                        }
+                    }
+                }
+            }
+            catch (Exception e)
+            {
+                mes.code = "300";
+                mes.Message = e.Message;
+                mes.data = null;
+            }
+
+            return Json(mes);
+        }
+        #endregion
+
         #region[APP瀵嗙爜閲嶇疆]
         /// <summary>
         /// APP瀵嗙爜閲嶇疆

--
Gitblit v1.9.3