From 6fe3d6fc4e93f4cf31dc02d4f0cbc48d56c249b7 Mon Sep 17 00:00:00 2001
From: yl <ykxkd@outlook.com>
Date: 星期五, 30 六月 2023 13:35:23 +0800
Subject: [PATCH] 多车间模式接口过滤
---
VueWebApi/Controllers/LoginController.cs | 120 +++++++++++++++++++++++++++++++++++++++++++-----------------
1 files changed, 86 insertions(+), 34 deletions(-)
diff --git a/VueWebApi/Controllers/LoginController.cs b/VueWebApi/Controllers/LoginController.cs
index 01057f4..5d97751 100644
--- a/VueWebApi/Controllers/LoginController.cs
+++ b/VueWebApi/Controllers/LoginController.cs
@@ -1,6 +1,7 @@
锘縰sing Newtonsoft.Json;
using System;
using System.Collections.Generic;
+using System.Configuration;
using System.Data;
using System.Linq;
using System.Net;
@@ -20,6 +21,10 @@
//瀹氫箟鍏ㄥ眬淇℃伅杩斿洖鍙橀噺
ToMessage mes = new ToMessage();
RedisHelper redis = new RedisHelper();
+ //鑾峰彇浼佷笟閰嶇疆Enterprise
+ private static readonly string Enterprise = ConfigurationManager.AppSettings["Enterprise"];
+
+
#region[PC鐢ㄦ埛鐧诲綍]
/// <summary>
@@ -45,23 +50,24 @@
ms.usercode = dt.Rows[0]["USERCODE"].ToString();
ms.username = dt.Rows[0]["USERNAME"].ToString();
ms.password = dt.Rows[0]["PASSWORD"].ToString();
+ ms.stu_torgcode= dt.Rows[0]["org_code"].ToString();
+ ms.description = dt.Rows[0]["description"].ToString()==null?"": dt.Rows[0]["description"].ToString();
+ ms.stu_torgname= dt.Rows[0]["org_name"].ToString();
ms.usertype = usertype;
- ms.rediskey = "LoginUserID" + ms.usertype + ms.userid;
+ ms.rediskey = Enterprise+ms.stu_torgcode+"LoginUserID" + ms.usertype + ms.userid;
mss.Add(ms);
HttpContext.Current.Session.Clear(); //浠庝細璇濈姸鎬侀泦鍚堜腑鍒犻櫎鎵�鏈夌殑閿��
- //HttpContext.Current.Session["User"] = JsonConvert.SerializeObject(ms);
- //User loginUser = JsonConvert.DeserializeObject<User>(HttpContext.Current.Session["User"].ToString());
User loginUser = JsonConvert.DeserializeObject<User>(JsonConvert.SerializeObject(ms));
//濡傛灉redis鐧诲綍鐢ㄦ埛涓笉瀛樺湪褰撳墠鐢ㄦ埛
- if (redis.Get<User>("LoginUserID" + ms.usertype + ms.userid, 0) == null)
+ if (redis.Get<User>(Enterprise+ms.stu_torgcode+"LoginUserID" + ms.usertype + ms.userid, 0) == null)
{
//redis.Remove("LoginUserID" + ms.userid, 0);
//鍐欏叆redis(娉ㄦ剰锛歳edis绫婚噷闈㈢殑澶辨晥鏃堕棿蹇呴』鍦╧ey鍒涘缓瀹屾垚涔嬪悗鎵嶇敓鏁�)
- redis.Set<User>("LoginUserID" + ms.usertype + ms.userid, ms, redis.secondsTimeOut, 0);
+ redis.Set<User>(Enterprise+ms.stu_torgcode+"LoginUserID" + ms.usertype + ms.userid, ms, redis.secondsTimeOut, 0);
//鐧诲綍淇℃伅鍐欏叆session
HttpContext.Current.Session["User"] = JsonConvert.SerializeObject(ms);
//鍐欏叆鐧诲綍鎿嶄綔璁板綍
- mes = LoginBLL.LoginBas(ms.usercode, ms.usertype);
+ mes = LoginBLL.LoginBas(ms.usercode, ms.usertype, ms.stu_torgcode);
mes.code = "200";
mes.Message = "鐧诲綍鎴愬姛!";
mes.data = ms;
@@ -69,9 +75,9 @@
else //濡傛灉瀛樺湪
{
//鑾峰彇redis涓綋鍓嶇敤鎴蜂俊鎭�
- User r_loginUser = redis.Get<User>("LoginUserID" + ms.usertype + ms.userid, 0);
+ User r_loginUser = redis.Get<User>(Enterprise+ ms.stu_torgcode + "LoginUserID" + ms.usertype + ms.userid, 0);
//濡傛灉session涓殑鐢ㄦ埛usercode鍜宺edis涓殑鐢ㄦ埛usercode鍖归厤
- if ((r_loginUser.usercode + r_loginUser.usertype).Equals(loginUser.usercode + loginUser.usertype))
+ if ((r_loginUser.stu_torgcode+r_loginUser.usercode + r_loginUser.usertype).Equals(loginUser.stu_torgcode+loginUser.usercode + loginUser.usertype))
{
mes.data = ms;
mes.code = "302";
@@ -80,11 +86,11 @@
else
{
//閲嶇疆杩囨湡鏃堕棿(娉ㄦ剰锛歳edis绫婚噷闈㈢殑澶辨晥鏃堕棿蹇呴』鍦╧ey鍒涘缓瀹屾垚涔嬪悗鎵嶇敓鏁�)
- redis.Set<User>("LoginUserID" + ms.usertype + loginUser.userid, loginUser, redis.secondsTimeOut, 0);
+ redis.Set<User>(Enterprise+ ms.stu_torgcode + "LoginUserID" + ms.usertype + loginUser.userid, loginUser, redis.secondsTimeOut, 0);
//鐧诲綍淇℃伅鍐欏叆session
HttpContext.Current.Session["User"] = JsonConvert.SerializeObject(ms);
//鍐欏叆鐧诲綍鎿嶄綔璁板綍
- mes = LoginBLL.LoginBas(ms.usercode, ms.usertype);
+ mes = LoginBLL.LoginBas(ms.usercode, ms.usertype, ms.stu_torgcode);
mes.data = ms;
mes.code = "200";
mes.Message = "鐧诲綍鎴愬姛!";
@@ -123,10 +129,11 @@
/// <param name="username">鐢ㄦ埛鍚�</param>
/// <param name="usertype">鎿嶄綔绔疨C/APP</param>
/// <param name="rid">rid鏋佸厜鎺ㄩ�佽幏鍙栬澶噄d</param>
+ /// <param name="stu_torgcode">鎵�灞炵粍缁囩紪鐮�</param>
/// <returns></returns>
[Route(template: "ForcedOffline")]
[HttpPost]
- public HttpResponseMessage ForcedOffline(int userid, string usercode, string username, string usertype,string rid)
+ public HttpResponseMessage ForcedOffline(int userid, string usercode, string username, string usertype,string rid,string stu_torgcode)
{
string sql="";
List<object> list = new List<object>();
@@ -135,11 +142,15 @@
if (usertype == "APP")
{
//鏇存柊rid
- sql = @"update [dbo].[TUser] set rid=@rid where usercode=@usercode";
- list.Add(new { str = sql, parm = new { rid = rid, usercode = username } });
+ sql = @"update [dbo].[TUser] set rid=@rid where usercode=@usercode and stu_torgcode=@stu_torgcode";
+ list.Add(new { str = sql, parm = new { rid = rid, usercode = username, stu_torgcode= stu_torgcode } });
bool aa = DapperHelper.DoTransaction(list);
+ redis.Remove(Enterprise+ stu_torgcode + "LoginUserID" + usertype + userid, 1); //鍒犻櫎redis
}
- redis.Remove("LoginUserID" + usertype + userid, 0); //鍒犻櫎redis
+ else
+ {
+ redis.Remove(Enterprise+ stu_torgcode + "LoginUserID" + usertype + userid, 0); //鍒犻櫎redis
+ }
mes.code = "200";
mes.count = 0;
mes.Message = "寮哄埗涓嬬嚎鎴愬姛!";
@@ -207,15 +218,16 @@
/// <param name="usercode">鐢ㄦ埛缂栫爜</param>
/// <param name="username">鐢ㄦ埛鍚�</param>
/// <param name="usertype">鎿嶄綔绔疨C/APP</param>
+ /// <param name="stu_torgcode">鎵�灞炵粍缁囩紪鐮�</param>
/// <returns></returns>
[Route(template: "LoginOut")]
[HttpPost]
[ChannelActionFilter]
- public HttpResponseMessage LoginOut(int userid, string usercode, string username, string usertype)
+ public HttpResponseMessage LoginOut(int userid, string usercode, string username, string usertype,string stu_torgcode)
{
var sql = "";
List<object> list = new List<object>();
- mes = LoginBLL.LoginOut(userid, usercode, username, usertype);
+ mes = LoginBLL.LoginOut(userid, usercode, username, usertype, stu_torgcode);
return mes.ResponseMess(mes);
}
#endregion
@@ -248,24 +260,27 @@
ms.usercode = dt.Rows[0]["USERCODE"].ToString();
ms.username = dt.Rows[0]["USERNAME"].ToString();
ms.password = dt.Rows[0]["PASSWORD"].ToString();
+ ms.stu_torgcode = dt.Rows[0]["org_code"].ToString();
+ ms.description = dt.Rows[0]["description"].ToString() == null ? "" : dt.Rows[0]["description"].ToString();
+ ms.stu_torgname = dt.Rows[0]["org_name"].ToString();
ms.usertype = usertype;
- ms.rediskey = "LoginUserID" + ms.usertype + ms.userid;
+ ms.rediskey = Enterprise+ ms.stu_torgcode + "LoginUserID" + ms.usertype + ms.userid;
mss.Add(ms);
HttpContext.Current.Session.Clear(); //浠庝細璇濈姸鎬侀泦鍚堜腑鍒犻櫎鎵�鏈夌殑閿��
User loginUser = JsonConvert.DeserializeObject<User>(JsonConvert.SerializeObject(ms));
//濡傛灉redis鐧诲綍鐢ㄦ埛涓笉瀛樺湪褰撳墠鐢ㄦ埛
- if (redis.Get<User>("LoginUserID" + ms.usertype + ms.userid, 0) == null)
+ if (redis.Get<User>(Enterprise+ ms.stu_torgcode + "LoginUserID" + ms.usertype + ms.userid, 1) == null)
{
//鍐欏叆redis(娉ㄦ剰锛歳edis绫婚噷闈㈢殑澶辨晥鏃堕棿蹇呴』鍦╧ey鍒涘缓瀹屾垚涔嬪悗鎵嶇敓鏁�)
- redis.Set<User>("LoginUserID" + ms.usertype + ms.userid, ms, redis.secondsTimeOut, 0);
+ redis.Set<User>(Enterprise+ ms.stu_torgcode + "LoginUserID" + ms.usertype + ms.userid, ms, redis.secondsTimeOut, 1);
//鐧诲綍淇℃伅鍐欏叆session
HttpContext.Current.Session["User"] = JsonConvert.SerializeObject(ms);
//鏇存柊rid
- sql = @"update [dbo].[TUser] set rid=@rid where usercode=@usercode";
- list.Add(new { str = sql, parm = new { rid = rid, usercode = username } });
+ sql = @"update [dbo].[TUser] set rid=@rid where usercode=@usercode and stu_torgcode=@stu_torgcode";
+ list.Add(new { str = sql, parm = new { rid = rid, usercode = username, stu_torgcode= ms.stu_torgcode } });
bool aa = DapperHelper.DoTransaction(list);
//鍐欏叆鐧诲綍鎿嶄綔璁板綍
- mes = LoginBLL.LoginBas(ms.usercode, ms.usertype);
+ mes = LoginBLL.LoginBas(ms.usercode, ms.usertype, ms.stu_torgcode);
mes.code = "200";
mes.Message = "鐧诲綍鎴愬姛!";
mes.data = ms;
@@ -273,9 +288,9 @@
else //濡傛灉瀛樺湪
{
//鑾峰彇redis涓綋鍓嶇敤鎴蜂俊鎭�
- User r_loginUser = redis.Get<User>("LoginUserID" + ms.usertype + ms.userid, 0);
+ User r_loginUser = redis.Get<User>(Enterprise+ ms.stu_torgcode + "LoginUserID" + ms.usertype + ms.userid, 1);
//濡傛灉session涓殑鐢ㄦ埛usercode鍜宺edis涓殑鐢ㄦ埛usercode鍖归厤
- if ((r_loginUser.usercode + r_loginUser.usertype).Equals(loginUser.usercode + loginUser.usertype))
+ if ((r_loginUser.stu_torgcode+r_loginUser.usercode + r_loginUser.usertype).Equals(loginUser.stu_torgcode+loginUser.usercode + loginUser.usertype))
{
mes.data = ms;
mes.code = "302";
@@ -284,15 +299,15 @@
else
{
//閲嶇疆杩囨湡鏃堕棿(娉ㄦ剰锛歳edis绫婚噷闈㈢殑澶辨晥鏃堕棿蹇呴』鍦╧ey鍒涘缓瀹屾垚涔嬪悗鎵嶇敓鏁�)
- redis.Set<User>("LoginUserID" + ms.usertype + loginUser.userid, loginUser, redis.secondsTimeOut, 0);
+ redis.Set<User>(Enterprise+ ms.stu_torgcode + "LoginUserID" + ms.usertype + loginUser.userid, loginUser, redis.secondsTimeOut, 1);
//鐧诲綍淇℃伅鍐欏叆session
HttpContext.Current.Session["User"] = JsonConvert.SerializeObject(ms);
//鏇存柊rid
- sql = @"update [dbo].[TUser] set rid=@rid where usercode=@usercode";
- list.Add(new { str = sql, parm = new { rid = rid, usercode = username } });
+ sql = @"update [dbo].[TUser] set rid=@rid where usercode=@usercode and stu_torgcode=@stu_torgcode";
+ list.Add(new { str = sql, parm = new { rid = rid, usercode = username, stu_torgcode= ms.stu_torgcode } });
bool aa = DapperHelper.DoTransaction(list);
//鍐欏叆鐧诲綍鎿嶄綔璁板綍
- mes = LoginBLL.LoginBas(ms.usercode, ms.usertype);
+ mes = LoginBLL.LoginBas(ms.usercode, ms.usertype, ms.stu_torgcode);
mes.data = ms;
mes.code = "200";
mes.Message = "鐧诲綍鎴愬姛!";
@@ -338,6 +353,40 @@
}
#endregion
+ #region[APP淇敼瀵嗙爜]
+ /// <summary>
+ /// APP淇敼瀵嗙爜
+ /// </summary>
+ /// <param name="usercode">鐢ㄦ埛缂栫爜</param>
+ /// <param name="username">鐢ㄦ埛鍚嶇О</param>
+ /// <param name="password">瀵嗙爜</param>
+ /// <param name="newpassword">鏂板瘑鐮�</param>
+ /// <returns></returns>
+ [ChannelActionFilterAttributeApp, Route(template: "AppUpdateUserPassword")]
+ [HttpPost]
+ public HttpResponseMessage AppUpdateUserPassword(string usercode, string username, string password, string newpassword)
+ {
+ mes = LoginBLL.AppUpdateUserPassword(usercode, username, password, newpassword);
+ return mes.ResponseMess(mes);
+ }
+ #endregion
+
+ #region[APP瀵嗙爜閲嶇疆]
+ /// <summary>
+ /// APP瀵嗙爜閲嶇疆
+ /// </summary>
+ /// <param name="usercode">鐢ㄦ埛缂栧彿</param>
+ /// <param name="username">鐢ㄦ埛鍚嶇О</param>
+ /// <returns></returns>
+ [ChannelActionFilterAttributeApp, Route(template: "ResettUserPassword")]
+ [HttpPost]
+ public HttpResponseMessage ResettUserPassword(string usercode, string username)
+ {
+ mes = LoginBLL.ResettUserPassword(usercode, username);
+ return mes.ResponseMess(mes);
+ }
+ #endregion
+
#region[APP鐧诲嚭]
/// <summary>
/// APP鐧诲嚭
@@ -346,12 +395,13 @@
/// <param name="usercode">鐢ㄦ埛缂栫爜</param>
/// <param name="username">鐢ㄦ埛鍚�</param>
/// <param name="usertype">鎿嶄綔绔疨C/APP</param>
+ /// <param name="stu_torgcode">鎵�灞炵粍缁囩紪鐮�</param>
/// <returns></returns>
[Route(template: "LoginAppOut")]
[HttpPost]
- public HttpResponseMessage LoginAppOut(int userid, string usercode, string username, string usertype)
+ public HttpResponseMessage LoginAppOut(int userid, string usercode, string username, string usertype,string stu_torgcode)
{
- mes = LoginBLL.LoginAppOut(userid, usercode, username, usertype);
+ mes = LoginBLL.LoginAppOut(userid, usercode, username, usertype, stu_torgcode);
return mes.ResponseMess(mes);
}
#endregion
@@ -364,16 +414,18 @@
/// <param name="usercode">鐢ㄦ埛缂栫爜</param>
/// <param name="username">鐢ㄦ埛鍚嶇О</param>
/// <param name="usertype">鎿嶄綔绔疨C/APP</param>
+ /// <param name="stu_torgcode">鎵�灞炵紪鐮佺粍缁�</param>
+ /// <param name="stu_torgtypecode">鎵�灞炵粍缁囩被鍨�</param>
/// <returns></returns>
[Route(template: "LoginAppAnDonMessage")]
[HttpPost]
- public HttpResponseMessage LoginAppAnDonMessage(string rid, string usercode, string username, string usertype)
+ public HttpResponseMessage LoginAppAnDonMessage(string rid, string usercode, string username, string usertype,string stu_torgcode,string stu_torgtypecode)
{
- mes = LoginBLL.LoginAppAnDonMessage(rid, usercode, username, usertype);
- return mes.ResponseMess(mes);
+ mes = LoginBLL.LoginAppAnDonMessage(rid, usercode, username, usertype, stu_torgcode, stu_torgtypecode);
+ return TJson.toJson(mes);
+ //return mes.ResponseMess(mes);
}
#endregion
-
}
}
\ No newline at end of file
--
Gitblit v1.9.3