From b166c0f80252ab4e1af4136789cb976364b779b2 Mon Sep 17 00:00:00 2001
From: yl <ykxkd@outlook.com>
Date: 星期一, 21 十一月 2022 15:12:04 +0800
Subject: [PATCH] 大岛的登陆接口存redis加企业区分

---
 VueWebApi/DLL/DAL/LoginDAL.cs |  286 ++++++++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 250 insertions(+), 36 deletions(-)

diff --git a/VueWebApi/DLL/DAL/LoginDAL.cs b/VueWebApi/DLL/DAL/LoginDAL.cs
index d03f424..234f067 100644
--- a/VueWebApi/DLL/DAL/LoginDAL.cs
+++ b/VueWebApi/DLL/DAL/LoginDAL.cs
@@ -1,6 +1,7 @@
 锘縰sing Dapper;
 using System;
 using System.Collections.Generic;
+using System.Configuration;
 using System.Data;
 using System.Data.SqlClient;
 using System.Linq;
@@ -18,13 +19,16 @@
         public static string strProcName = ""; //瀹氫箟鍏ㄥ眬sql鍙橀噺
         public static List<SqlParameter> listStr = new List<SqlParameter>(); //瀹氫箟鍏ㄥ眬鍙傛暟闆嗗悎
         public static SqlParameter[] parameters; //瀹氫箟鍏ㄥ眬SqlParameter鍙傛暟鏁扮粍
+        public static string fileip = System.Configuration.ConfigurationManager.AppSettings["FileIP"];
+        //鑾峰彇浼佷笟閰嶇疆Enterprise
+        private static readonly string Enterprise = ConfigurationManager.AppSettings["Enterprise"];
 
         #region [鐧诲綍鏌ヨ]
-        public static DataTable LoginSearch(string username,string password)
+        public static DataTable LoginSearch(string username, string password)
         {
-          
+
             //鎵цsql
-            strProcName = "select *  from [dbo].[TUser] where username=@username and password=@password";
+            strProcName = "select *  from [dbo].[TUser] where usercode=@username and password=@password and is_delete='0'";
             //鍒涘缓鍙傛暟
             listStr.Add(new SqlParameter("@username", username));
             listStr.Add(new SqlParameter("@password", password));
@@ -35,9 +39,77 @@
         }
         #endregion
 
+        #region [鍐欏叆鐧诲綍璁板綍琛╙
+        public static ToMessage LoginBas(string usercode, string usertype)
+        {
+            var sql = "";
+            var cont = 0;
+            var dynamicParams = new DynamicParameters();
+            try
+            {
+                sql = @"select * from  T_Bas_Login  where usercode=@usercode and  origin=@usertype";
+                dynamicParams.Add("@usercode", usercode);
+                dynamicParams.Add("@usertype", usertype);
+                cont = DapperHelper.selectcount(sql, dynamicParams);
+                if (cont > 0)
+                {
+                    sql = @"update T_Bas_Login set indate=@indate,status='Y'  where usercode=@usercode and origin=@usertype";
+                    dynamicParams.Add("@usercode", usercode);
+                    dynamicParams.Add("@usertype", usertype);
+                    dynamicParams.Add("@indate", DateTime.Now.ToString());
+                    cont = DapperHelper.SQL(sql, dynamicParams);
+                    if (cont > 0)
+                    {
+                        mes.code = "200";
+                        mes.count = 0;
+                        mes.Message = "璁板綍鎴愬姛!";
+                        mes.data = null;
+                    }
+                    else
+                    {
+                        mes.code = "300";
+                        mes.count = 0;
+                        mes.Message = "璁板綍澶辫触!";
+                        mes.data = null;
+                    }
+                }
+                else
+                {
+                    sql = @"insert into T_Bas_Login(usercode,status,indate,origin) 
+                            values(@usercode,'Y',@indate,@usertype)";
+                    dynamicParams.Add("@usercode", usercode);
+                    dynamicParams.Add("@usertype", usertype);
+                    dynamicParams.Add("@indate", DateTime.Now.ToString());
+                    cont = DapperHelper.SQL(sql, dynamicParams);
+                    if (cont > 0)
+                    {
+                        mes.code = "200";
+                        mes.count = 0;
+                        mes.Message = "璁板綍鎴愬姛!";
+                        mes.data = null;
+                    }
+                    else
+                    {
+                        mes.code = "300";
+                        mes.count = 0;
+                        mes.Message = "璁板綍澶辫触!";
+                        mes.data = null;
+                    }
+                }
+            }
+            catch (Exception e)
+            {
+                mes.code = "300";
+                mes.count = 0;
+                mes.Message = e.Message;
+                mes.data = null;
+            }
+            return mes;
+        }
+        #endregion
 
         #region[鏌ヨ鑿滃崟鍔熻兘]
-        public static ToMessage LoginMenu(string usercode)
+        public static ToMessage LoginMenu(string usercode, string usertype)
         {
             string sql = "";
             var dynamicParams = new DynamicParameters();
@@ -45,28 +117,39 @@
             try
             {
                 //鑾峰彇鑿滃崟闆嗗悎(鏍规嵁鐧诲綍鐢ㄦ埛缂栫爜鏌ヨ鏉冮檺鍙嶆帹鑿滃崟)
-                sql = @"select distinct rt.right_code as code,rt.right_name as name,rt.right_seq from TRight rt where rt.right_code in( 
+                sql = @"select distinct rt.right_code as code,rt.right_name as name,rt.right_seq,rt.is_delete as flag,imgurl from TRight rt where rt.right_code in( 
 							select A.parent_id  from TRight A
 							left join TRoleRightRelation B on B.right_code=A.right_code
 							left join TRole C on C.role_code=B.role_code
 							left join TUserRoleRelation D on D.role_code=C.role_code
 							left join TUser E on E.usercode=D.user_code
-							where E.usercode=@usercode)  and rt.Type='PC' order by rt.right_seq";
+							where E.usercode=@usercode)  and rt.Type=@usertype order by rt.right_seq";
                 dynamicParams.Add("@usercode", usercode);
+                dynamicParams.Add("@usertype", usertype);
                 var data = DapperHelper.select<TreeObejct>(sql, dynamicParams);
+                data = data.Select(c =>
+                {
+                    c.imgurl = fileip + c.imgurl;
+                    return c;
+                }).ToList();
                 for (int i = 0; i < data.Count; i++)
                 {
-                    sql = @"select distinct mu.right_code as code,mu.right_name as name,mu.right_seq
+                    sql = @"select distinct mu.right_code as code,mu.right_name as name,mu.right_seq,mu.is_delete as flag,imgurl
 							from TRight mu
                             inner join TRoleRightRelation rl on mu.right_code=rl.right_code
                             inner join TUserRoleRelation ro on rl.role_code=ro.role_code
-                            where mu.type='PC' and ro.user_code=@usercode and mu.parent_id=@paent_id 
+                            where mu.type=@usertype and ro.user_code=@usercode and mu.parent_id=@paent_id 
 							order by mu.right_seq, mu.right_code";
                     dynamicParams.Add("@usercode", usercode);
+                    dynamicParams.Add("@usertype", usertype);
                     dynamicParams.Add("@paent_id", data[i].code);
-                    var data0 = DapperHelper.select<TreeObejctCont>(sql, dynamicParams);
+                    var data0 = DapperHelper.select<TreeObejctCn>(sql, dynamicParams);
+                    data0 = data0.Select(c =>
+                    {
+                        c.imgurl = fileip + c.imgurl;
+                        return c;
+                    }).ToList();
                     data[i].children = data0;
-
                 }
                 mes.code = "200";
                 mes.Message = "鏌ヨ鎴愬姛!";
@@ -75,57 +158,188 @@
             catch (Exception e)
             {
                 mes.code = "300";
+                mes.count = 0;
                 mes.Message = e.Message;
+                mes.data = null;
             }
             return mes;
         }
         #endregion
+
 
 
         #region[淇敼瀵嗙爜]
-        public static ToMessage UpdateUserPassword(string username, string password, string newpassword)
+        public static ToMessage UpdateUserPassword(string usercode, string username, string password, string newpassword)
         {
-         
-            //鎵цsql锛屽垽鏂綋鍓嶇敤鎴风櫥褰曡处鍙锋槸鍚︽纭�
-            strProcName = "select *  from [dbo].[TUser] where username=@username and password=@password";
-            //鍒涘缓鍙傛暟
-            listStr.Add(new SqlParameter("@username", username));
-            listStr.Add(new SqlParameter("@password", password));
-            parameters = listStr.ToArray();
-            listStr.Clear();
-            dt = DBHelper.GetTable(strProcName, parameters);
-            if (dt.Rows.Count <= 0)
+            var sql = "";
+            List<object> list = new List<object>();
+            var dynamicParams = new DynamicParameters();
+
+            sql = @"select *  from [dbo].[TUser] where usercode=@usercode and username=@username and password=@password";
+            dynamicParams.Add("@usercode", usercode);
+            dynamicParams.Add("@username", username);
+            dynamicParams.Add("@password", password);
+            var data = DapperHelper.selectdata(sql, dynamicParams);
+            if (data.Rows.Count <= 0)
             {
                 mes.code = "300";
+                mes.count = 0;
                 mes.Message = "杈撳叆鐨勫瘑鐮佷笉姝g‘,璇烽噸鏂拌緭鍏ワ紒";
+                mes.data = null;
             }
-            else 
+            else
             {
-                //鎵цsql锛屽垽鏂綋鍓嶇敤鎴风櫥褰曡处鍙锋槸鍚︽纭�
-                strProcName = "update [dbo].[TUser] set password=@newpassword where username=@username and password=@password";
-                //鍒涘缓鍙傛暟
-                listStr.Add(new SqlParameter("@username", username));
-                listStr.Add(new SqlParameter("@password", password));
-                listStr.Add(new SqlParameter("@newpassword", newpassword));
-                parameters = listStr.ToArray();
-                listStr.Clear();
-                res = DBHelper.ExecuteSql(strProcName, parameters);
-                if (res)
+                //淇敼瀵嗙爜
+                sql = @"update [dbo].[TUser] set password=@newpassword where usercode=@usercode and username=@username and password=@password";
+                list.Add(new { str = sql, parm = new { usercode = usercode, username = username, password = password, newpassword = newpassword } });
+                //鍐欏叆鎿嶄綔璁板綍琛�
+                sql = @"insert into T_Bas_User_Operlog(usercode,oper_date,oper_type,description,origin) values(@usercode,@oper_date,@oper_type,@description,@origin)";
+                list.Add(new
+                {
+                    str = sql,
+                    parm = new
+                    {
+                        usercode = usercode,
+                        oper_date = DateTime.Now.ToString(),
+                        oper_type = "PC",
+                        description = username + "淇敼浜嗗瘑鐮�",
+                        origin = "PC"
+                    }
+                });
+                bool aa = DapperHelper.DoTransaction(list);
+                if (aa)
                 {
                     mes.code = "200";
-                    mes.Message = "淇敼瀵嗙爜鎴愬姛锛�";
+                    mes.count = 0;
+                    mes.Message = "淇敼瀵嗙爜鎴愬姛!";
+                    mes.data = null;
                 }
-                else 
+                else
                 {
                     mes.code = "300";
-                    mes.Message = "淇敼瀵嗙爜澶辫触锛�";
-                }               
+                    mes.count = 0;
+                    mes.Message = "淇敼瀵嗙爜澶辫触!";
+                    mes.data = null;
+                }
             }
             return mes;
         }
         #endregion
 
+        #region[PC鐧诲嚭]
+        public static ToMessage LoginOut(int userid, string usercode, string username, string usertype)
+        {
+            var sql = "";
+            var cont = 0;
+            var dynamicParams = new DynamicParameters();
+            RedisHelper redis = new RedisHelper();
+            try
+            {
+                sql = @"update T_Bas_Login set outdate=@outdate,status='N'  where usercode=@usercode and origin=@usertype";
+                dynamicParams.Add("@usercode", usercode);
+                dynamicParams.Add("@outdate", DateTime.Now.ToString());
+                dynamicParams.Add("@usertype", usertype);
+                cont = DapperHelper.SQL(sql, dynamicParams);
+                if (cont > 0)
+                {
+                    redis.Remove(Enterprise+"LoginUserID" + usertype + userid, 0); //鍒犻櫎redis
+                    mes.code = "200";
+                    mes.count = 0;
+                    mes.Message = "鐧诲嚭鎴愬姛!";
+                    mes.data = null;
+                }
+                else
+                {
+                    mes.code = "300";
+                    mes.count = 0;
+                    mes.Message = "鐧诲嚭澶辫触!";
+                    mes.data = null;
+                }
+            }
+            catch (Exception e)
+            {
+                mes.code = "300";
+                mes.count = 0;
+                mes.Message = e.Message;
+                mes.data = null;
+            }
+            return mes;
+        }
+        #endregion
 
+        #region[App鐧诲嚭]
+        public static ToMessage LoginAppOut(int userid, string usercode, string username, string usertype)
+        {
+            var sql = "";
+            var cont = 0;
+            var dynamicParams = new DynamicParameters();
+            RedisHelper redis = new RedisHelper();
+            try
+            {
+                sql = @"update T_Bas_Login set outdate=@outdate,status='N'  where usercode=@usercode and origin=@usertype";
+                dynamicParams.Add("@usercode", usercode);
+                dynamicParams.Add("@outdate", DateTime.Now.ToString());
+                dynamicParams.Add("@usertype", usertype);
+                cont = DapperHelper.SQL(sql, dynamicParams);
+                if (cont > 0)
+                {
+                    mes.code = "200";
+                    mes.count = 0;
+                    mes.Message = "鐧诲嚭鎴愬姛!";
+                    mes.data = null;
+                }
+                else
+                {
+                    mes.code = "300";
+                    mes.count = 0;
+                    mes.Message = "鐧诲嚭澶辫触!";
+                    mes.data = null;
+                }
+            }
+            catch (Exception e)
+            {
+                mes.code = "300";
+                mes.count = 0;
+                mes.Message = e.Message;
+                mes.data = null;
+            }
+            return mes;
+        }
+        #endregion
 
+        #region[App鐧诲綍鏌ヨ瀹夌伅鍛煎彨淇℃伅]
+        public static ToMessage LoginAppAnDonMessage(int userid, string usercode, string username, string usertype)
+        {
+            var sql = "";
+            var dynamicParams = new DynamicParameters();
+            RedisHelper redis = new RedisHelper();
+            try
+            {
+                sql = @"select B.eqp_code,E.name as eqp_name,B.wkshp_code,T.org_name as wkshp_name,
+                        A.type as typecode,D.name as typename,B.start_user,B.start_date   
+                        from TAnDnMessagePush A
+                        inner join TAnDon_Task_Info B on A.m_id=B.id
+                        left  join TEqpInfo E on B.eqp_code=E.code
+                        left  join TOrganization T on B.wkshp_code=T.org_code 
+                        left  join TAnDonType D on A.type=d.code
+                        where A.resp_user=@username and B.status='START' and T.description='W'";
+                dynamicParams.Add("@username", username);
+                var data = DapperHelper.selectdata(sql, dynamicParams);
+
+                mes.code = "200";
+                mes.count = 0;
+                mes.Message = "鏌ヨ鎴愬姛!";
+                mes.data = data;
+            }
+            catch (Exception e)
+            {
+                mes.code = "300";
+                mes.count = 0;
+                mes.Message = e.Message;
+                mes.data = null;
+            }
+            return mes;
+        }
+        #endregion
     }
 }
\ No newline at end of file

--
Gitblit v1.9.3