From 1c5746f3ac84d384f820e3127901d5c34b485fe6 Mon Sep 17 00:00:00 2001 From: admin Date: Wed, 27 Dec 2023 18:19:02 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=99=BB=E5=BD=95?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E8=BF=94=E5=9B=9E=E5=80=BC=EF=BC=8C=E4=BE=9B?= =?UTF-8?q?=E5=89=8D=E7=AB=AF=E5=88=A4=E6=96=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 24Hour/Controllers/LoginController.cs | 654 +++++++++++++------------- 1 file changed, 330 insertions(+), 324 deletions(-) diff --git a/24Hour/Controllers/LoginController.cs b/24Hour/Controllers/LoginController.cs index 0b48346..7f084a2 100644 --- a/24Hour/Controllers/LoginController.cs +++ b/24Hour/Controllers/LoginController.cs @@ -1,57 +1,57 @@ using _24Hour.Model; using com.sun.org.apache.bcel.@internal.generic; -using com.sun.xml.@internal.ws.api.model; -using Elight.Entity; -using Elight.Logic; -using Elight.Logic.SystemModel; -using Elight.Utility; -using Elight.Utility.Code; -using Elight.Utility.Encrypt; -using Elight.Utility.Extensions; -using Elight.Utility.logs; -using java.security; -using Microsoft.AspNetCore.Authorization; -using Microsoft.AspNetCore.Mvc; -using Microsoft.Extensions.Configuration; +using com.sun.xml.@internal.ws.api.model; +using Elight.Entity; +using Elight.Logic; +using Elight.Logic.SystemModel; +using Elight.Utility; +using Elight.Utility.Code; +using Elight.Utility.Encrypt; +using Elight.Utility.Extensions; +using Elight.Utility.logs; +using java.security; +using Microsoft.AspNetCore.Authorization; +using Microsoft.AspNetCore.Mvc; +using Microsoft.Extensions.Configuration; using Microsoft.Extensions.Logging; -using Microsoft.IdentityModel.Tokens; -using Newtonsoft.Json; -using SqlSugar; -using System.IdentityModel.Tokens.Jwt; -using System.Runtime.Serialization; -using System.Security.Claims; -using System.Text; - -namespace _24Hour.Controllers +using Microsoft.IdentityModel.Tokens; +using Newtonsoft.Json; +using SqlSugar; +using System.IdentityModel.Tokens.Jwt; +using System.Runtime.Serialization; +using System.Security.Claims; +using System.Text; + +namespace _24Hour.Controllers { - /// - /// 登录 - /// -#if DEBUG + /// + /// 登录 + /// +#if DEBUG -#else - [HiddenApi] -#endif - [ApiController] - [Route("api/APP")] - public class LoginController : ControllerBase - { - private readonly IConfiguration _configuration; - private readonly SqlSugarClient _db;//数据库 - private readonly WriteSysLog _logs;//操作日志 - private readonly ILogger _logger;//日志 - private readonly WechatMessagerClient wechatMessagerClient; - Result ret = new Result(); - public LoginController(ILogger logger, SqlSugarClient db, IConfiguration configuration, WechatMessagerClient _wechatMessagerClient) - { - _logger = logger; - _db = db; - _configuration = configuration; - this.wechatMessagerClient = _wechatMessagerClient; +#else + [HiddenApi] +#endif + [ApiController] + [Route("api/APP")] + public class LoginController : ControllerBase + { + private readonly IConfiguration _configuration; + private readonly SqlSugarClient _db;//数据库 + private readonly WriteSysLog _logs;//操作日志 + private readonly ILogger _logger;//日志 + private readonly WechatMessagerClient wechatMessagerClient; + Result ret = new Result(); + public LoginController(ILogger logger, SqlSugarClient db, IConfiguration configuration, WechatMessagerClient _wechatMessagerClient) + { + _logger = logger; + _db = db; + _configuration = configuration; + this.wechatMessagerClient = _wechatMessagerClient; } - [HttpPost] - [Route("LoginDefault")] + [HttpPost] + [Route("LoginDefault")] [CustomCorsActionFilterAttribute] public async Task LoginDefault() { @@ -77,10 +77,10 @@ namespace _24Hour.Controllers date.departmentName = dept.departname; } } - #region jwt生成token + #region jwt生成token var tokenHandler = new JwtSecurityTokenHandler(); var claims = new Claim[] - { + { new Claim(ClaimTypes.UserData,JsonConvert.SerializeObject(date)), }; @@ -116,23 +116,23 @@ namespace _24Hour.Controllers #endregion ret.IsSucceed = true; return ret; - } - - - /// - /// 系统登录 - /// - /// - /// - [HttpPost] - [Route("SystemLogin")] - [CustomCorsActionFilterAttribute] - public async Task SystemLogin(UserLogin login) - { - try - { + } + + + /// + /// 系统登录 + /// + /// + /// + [HttpPost] + [Route("SystemLogin")] + [CustomCorsActionFilterAttribute] + public async Task SystemLogin(UserLogin login) + { + try + { var Passmd5 = Md5.Encrypt32(login.Password).ToLower(); - var date = await _db.Queryable().Where(x => x.phone == login.phone && x.IsDeleted == 0).FirstAsync(); + var date = await _db.Queryable().Where(x => x.phone == login.phone && x.IsDeleted == 0).FirstAsync(); if (date == null) { ret.IsSucceed = false; @@ -154,10 +154,10 @@ namespace _24Hour.Controllers } } - #region jwt生成token + #region jwt生成token var tokenHandler = new JwtSecurityTokenHandler(); var claims = new Claim[] - { + { new Claim(ClaimTypes.UserData,JsonConvert.SerializeObject(date)), }; @@ -184,7 +184,7 @@ namespace _24Hour.Controllers phone = date.phone, photo = date.photo, duties = date.duties, - identity = date.identity, + identity = date.identity, openId = date.wechatId, unitCode = date.unitCode, unitname = Unitdate?.unitname, @@ -192,31 +192,31 @@ namespace _24Hour.Controllers departmentName = date.departmentName, token = tokenString }; - #endregion - } - catch (Exception ex) - { - ret.IsSucceed = false; - ret.Message = $"{ex.Message}"; - LogService.WriteLog(ex, "登录"); - } - return ret; - } - - /// - /// app--登录 - /// - /// - /// - [HttpPost] - [Route("Login")] - [CustomCorsActionFilterAttribute] - public async Task Login(UserLogin login) - { - try - { - var Passmd5 = Md5.Encrypt32(login.Password).ToLower(); - var date = await _db.Queryable().Where(x => x.phone == login.phone && x.IsDeleted == 0).FirstAsync(); + #endregion + } + catch (Exception ex) + { + ret.IsSucceed = false; + ret.Message = $"{ex.Message}"; + LogService.WriteLog(ex, "登录"); + } + return ret; + } + + /// + /// app--登录 + /// + /// + /// + [HttpPost] + [Route("Login")] + [CustomCorsActionFilterAttribute] + public async Task Login(UserLogin login) + { + try + { + var Passmd5 = Md5.Encrypt32(login.Password).ToLower(); + var date = await _db.Queryable().Where(x => x.phone == login.phone && x.IsDeleted == 0).FirstAsync(); if (date == null) { ret.IsSucceed = false; @@ -267,10 +267,10 @@ namespace _24Hour.Controllers date.departmentName = dept.departname; } } - #region jwt生成token + #region jwt生成token var tokenHandler = new JwtSecurityTokenHandler(); var claims = new Claim[] - { + { new Claim(ClaimTypes.UserData,JsonConvert.SerializeObject(date)), }; @@ -295,7 +295,7 @@ namespace _24Hour.Controllers phone = date.phone, photo = date.photo, duties = date.duties, - identity = date.identity, + identity = date.identity, openId = date.wechatId, usertype = date.usertype, unitCode = date.unitCode, @@ -303,16 +303,16 @@ namespace _24Hour.Controllers departmentName = date.departmentName, token = tokenString }; - #endregion - ret.IsSucceed = true; - } - catch (Exception ex) - { - ret.IsSucceed = false; - ret.Message = $"{ex.Message}"; - LogService.WriteLog(ex, "登录"); - } - return ret; + #endregion + ret.IsSucceed = true; + } + catch (Exception ex) + { + ret.IsSucceed = false; + ret.Message = $"{ex.Message}"; + LogService.WriteLog(ex, "登录"); + } + return ret; } /// @@ -320,8 +320,8 @@ namespace _24Hour.Controllers /// /// /// - [HttpGet] - [Route("WeChatLoginCode")] + [HttpGet] + [Route("WeChatLoginCode")] public async Task WeChatLoginByCode(string code) { var opendata = await GetOpenId(code); @@ -339,8 +339,8 @@ namespace _24Hour.Controllers /// /// /// - [HttpGet] - [Route("WeChatLoginByGzhCode")] + [HttpGet] + [Route("WeChatLoginByGzhCode")] public async Task WeChatLoginByGzhCode(string code) { var opendata = await GetGzhOpenId(code); @@ -359,8 +359,8 @@ namespace _24Hour.Controllers ///// ///// ///// - //[HttpGet] - //[Route("GetCode")] + //[HttpGet] + //[Route("GetCode")] //public async Task GetCode(string code,string state) //{ // var opendata = await GetGzhOpenId(code); @@ -372,128 +372,134 @@ namespace _24Hour.Controllers // { // return opendata; // } - //} - - /// - /// 微信授权登录 - /// - /// - /// - [HttpGet] - [Route("WeChatLogin")] - public async Task WeChatLogin(string openId) - { - var date = await _db.Queryable() - .Where(q => q.IsDeleted == 0 && q.wechatId == openId) - .OrderByDescending(x => x.createtime) - .FirstAsync(); - if (date != null) + //} + + /// + /// 微信授权登录 + /// + /// + /// + [HttpGet] + [Route("WeChatLogin")] + public async Task WeChatLogin(string openId) + { + var date = await _db.Queryable() + .Where(q => q.IsDeleted == 0 && q.wechatId == openId) + .OrderByDescending(x => x.createtime) + .FirstAsync(); + if (date != null) { if (date.identity == "律师" && date.audit == 1) { + ret.IsSucceed = false; ret.Message = $"用户信息审核未通过,原因:{date.describe},请重新注册!"; + ret.result = "用户信息审核未通过"; return ret; } else if (date.identity == "律师" && date.audit == 2) { ret.IsSucceed = false; ret.Message = "用户信息审核中!"; + ret.result = "用户信息审核中"; return ret; - } + } if (date.isdeactivate == 1) { ret.IsSucceed = false; ret.Message = "该账号已被禁用,请联系管理员!"; + ret.result = "该账号已被禁用"; + return ret; + } + if (date.usertype == 0 && date.becurrent == 1) + { + ret.IsSucceed = false; + ret.Message = $"账号未授权无法登录,请联系管理员!"; + ret.result = "账号未授权无法登录"; return ret; - } - if (date.usertype == 0 && date.becurrent == 1) - { - ret.IsSucceed = false; - ret.Message = $"账号未授权无法登录,请联系管理员!"; - return ret; - } - #region jwt生成token - var tokenHandler = new JwtSecurityTokenHandler(); - var claims = new Claim[] - { - new Claim(ClaimTypes.UserData,JsonConvert.SerializeObject(date)), - }; - - var key = new SymmetricSecurityKey(Encoding.ASCII.GetBytes(_configuration.GetSection("JwtConfiguration:Jwtkey").Value)); - var signingCredentials = new SigningCredentials(key, SecurityAlgorithms.HmacSha256); - //Token - var jwttoken = new JwtSecurityToken( - issuer: _configuration.GetSection("JwtConfiguration:Issuer").Value, - audience: _configuration.GetSection("JwtConfiguration:Audience").Value, - claims: claims, - notBefore: DateTime.Now, - expires: DateTime.Now.AddDays(1), - signingCredentials: signingCredentials - ); - //var token = new JwtSecurityTokenHandler().CreateToken(jwttoken); - var tokenString = new JwtSecurityTokenHandler().WriteToken(jwttoken); - ret.result = new - { - Id = date.Id, - name = date.name, - sex = date.sex, - phone = date.phone, - photo = date.photo, - duties = date.duties, - identity = date.identity, - usertype = date.usertype, - unitCode = date.unitCode, - token = tokenString, - openId = date.wechatId, - departmentPhoto = date.departmentPhoto, - identityphoto = date.identityphoto, - cardIdphoto = date.cardIdphoto, - departmentName = date.departmentName, - identitycardId = date.identitycardId, - departmentSCC = date.departmentUnifiedSocialCreditCode - }; - #endregion - ret.IsSucceed = true; - } - else - { - ret.IsSucceed = false; - ret.Message = "微信未授权,请先注册账号!"; - } - return ret; - } - - /// - /// APP添加用户 - /// - /// - /// - [HttpPost] - [Route("AddUser1")] - public async Task AddUser1(App_Sys_UserModel UserModel) - { - try + } + #region jwt生成token + var tokenHandler = new JwtSecurityTokenHandler(); + var claims = new Claim[] + { + new Claim(ClaimTypes.UserData,JsonConvert.SerializeObject(date)), + }; + + var key = new SymmetricSecurityKey(Encoding.ASCII.GetBytes(_configuration.GetSection("JwtConfiguration:Jwtkey").Value)); + var signingCredentials = new SigningCredentials(key, SecurityAlgorithms.HmacSha256); + //Token + var jwttoken = new JwtSecurityToken( + issuer: _configuration.GetSection("JwtConfiguration:Issuer").Value, + audience: _configuration.GetSection("JwtConfiguration:Audience").Value, + claims: claims, + notBefore: DateTime.Now, + expires: DateTime.Now.AddDays(1), + signingCredentials: signingCredentials + ); + //var token = new JwtSecurityTokenHandler().CreateToken(jwttoken); + var tokenString = new JwtSecurityTokenHandler().WriteToken(jwttoken); + ret.result = new + { + Id = date.Id, + name = date.name, + sex = date.sex, + phone = date.phone, + photo = date.photo, + duties = date.duties, + identity = date.identity, + usertype = date.usertype, + unitCode = date.unitCode, + token = tokenString, + openId = date.wechatId, + departmentPhoto = date.departmentPhoto, + identityphoto = date.identityphoto, + cardIdphoto = date.cardIdphoto, + departmentName = date.departmentName, + identitycardId = date.identitycardId, + departmentSCC = date.departmentUnifiedSocialCreditCode + }; + #endregion + ret.IsSucceed = true; + } + else + { + ret.IsSucceed = false; + ret.Message = "微信未授权,请先注册账号!"; + ret.result = "微信未授权"; + } + return ret; + } + + /// + /// APP添加用户 + /// + /// + /// + [HttpPost] + [Route("AddUser1")] + public async Task AddUser1(App_Sys_UserModel UserModel) + { + try { - _logger.LogInformation(UserModel.ConvertToJsonStr()); + _logger.LogInformation(UserModel.ConvertToJsonStr()); //if (string.IsNullOrEmpty(UserModel.wechatId) && await _db.Queryable().AnyAsync(x => x.wechatId == UserModel.wechatId && x.IsDeleted == 0)) //{ // ret.IsSucceed = false; // ret.Message = "当前微信已与其他账号绑定"; // return ret; //} - if (string.IsNullOrEmpty(UserModel.wechatId) == false) - { - if (await _db.Queryable().AnyAsync(x => x.wechatId == UserModel.wechatId && x.IsDeleted == 0 && x.audit != 1 && x.isdeactivate == 0)) - { - ret.IsSucceed = false; - ret.Message = "当前微信已与其他账号绑定"; - return ret; - } - } - var data = await _db.Queryable().Where(q => q.phone == UserModel.phone && q.IsDeleted == 0).FirstAsync(); + if (string.IsNullOrEmpty(UserModel.wechatId) == false) + { + if (await _db.Queryable().AnyAsync(x => x.wechatId == UserModel.wechatId && x.IsDeleted == 0 && x.audit != 1 && x.isdeactivate == 0)) + { + ret.IsSucceed = false; + ret.Message = "当前微信已与其他账号绑定"; + return ret; + } + } + var data = await _db.Queryable().Where(q => q.phone == UserModel.phone && q.IsDeleted == 0).FirstAsync(); if (UserModel.identity == "律师") - { + { if (data != null && (data.identity != "律师" || data.audit == 0)) { ret.IsSucceed = false; @@ -580,7 +586,7 @@ namespace _24Hour.Controllers ret.IsSucceed = true; ret.result = "添加成功"; } - } + } } else { @@ -606,57 +612,57 @@ namespace _24Hour.Controllers { ret.IsSucceed = true; ret.result = "添加成功"; - } - } - } - catch (System.Exception ex) - { - _db.RollbackTran(); - ret.IsSucceed = false; - ret.Message = ex.Message; - } - return ret; - } - - /// - /// 单位list集合 - /// - /// - /// - [HttpPost] - [Route("QueryUnitlist")] - public async Task QueryUnitlist(App_Sys_UnitInput Unitdata) - { - var list = await _db.Queryable() - .WhereIF(!Unitdata.unitCode.IsNull(), q => q.unitCode.Contains(Unitdata.unitCode)) - .WhereIF(!Unitdata.unitname.IsNull(), q => q.unitname.Contains(Unitdata.unitname)) - .WhereIF(!Unitdata.unitjc.IsNull(), q => q.unitjc.Contains(Unitdata.unitjc)) - .Where(q => q.IsDelete == 0).ToListAsync(); - ret.IsSucceed = true; - ret.result = list; - return ret; - } - - /// - /// 获取设备视频流地址 - /// - /// - /// - [HttpGet] - [Route("getrtsp")] - public async Task getrtsp(string str) - { - ret.IsSucceed = true; - ret.result = $"{_configuration.GetSection($"Videoaddress:{str}").Value}"; - return ret; - } - - [HttpGet] - [Route("cardIdLogin")] - public async Task cardIdLogin(string cardId, string name) - { - var date = await _db.Queryable().Where(q => q.IsDeleted == 0 && q.cardId == cardId && q.name == name).FirstAsync(); - if (date != null) + } + } + } + catch (System.Exception ex) + { + _db.RollbackTran(); + ret.IsSucceed = false; + ret.Message = ex.Message; + } + return ret; + } + + /// + /// 单位list集合 + /// + /// + /// + [HttpPost] + [Route("QueryUnitlist")] + public async Task QueryUnitlist(App_Sys_UnitInput Unitdata) + { + var list = await _db.Queryable() + .WhereIF(!Unitdata.unitCode.IsNull(), q => q.unitCode.Contains(Unitdata.unitCode)) + .WhereIF(!Unitdata.unitname.IsNull(), q => q.unitname.Contains(Unitdata.unitname)) + .WhereIF(!Unitdata.unitjc.IsNull(), q => q.unitjc.Contains(Unitdata.unitjc)) + .Where(q => q.IsDelete == 0).ToListAsync(); + ret.IsSucceed = true; + ret.result = list; + return ret; + } + + /// + /// 获取设备视频流地址 + /// + /// + /// + [HttpGet] + [Route("getrtsp")] + public async Task getrtsp(string str) + { + ret.IsSucceed = true; + ret.result = $"{_configuration.GetSection($"Videoaddress:{str}").Value}"; + return ret; + } + + [HttpGet] + [Route("cardIdLogin")] + public async Task cardIdLogin(string cardId, string name) + { + var date = await _db.Queryable().Where(q => q.IsDeleted == 0 && q.cardId == cardId && q.name == name).FirstAsync(); + if (date != null) { //if (date.usertype == 1 && date.audit == null) // { @@ -671,52 +677,52 @@ namespace _24Hour.Controllers // return ret; // } // else - if (date.usertype == 0 && date.becurrent == 1 && date.isdeactivate == 1) - { - ret.IsSucceed = false; - ret.Message = $"用户未授权无法登录,请联系管理员!"; - return ret; - } - #region jwt生成token - var tokenHandler = new JwtSecurityTokenHandler(); - var claims = new Claim[] - { - new Claim(ClaimTypes.UserData,JsonConvert.SerializeObject(date)), - }; - - var key = new SymmetricSecurityKey(Encoding.ASCII.GetBytes(_configuration.GetSection("JwtConfiguration:Jwtkey").Value)); - var signingCredentials = new SigningCredentials(key, SecurityAlgorithms.HmacSha256); - //Token - var jwttoken = new JwtSecurityToken( - issuer: _configuration.GetSection("JwtConfiguration:Issuer").Value, - audience: _configuration.GetSection("JwtConfiguration:Audience").Value, - claims: claims, - notBefore: DateTime.Now, - expires: DateTime.Now.AddDays(1), - signingCredentials: signingCredentials - ); - //var token = new JwtSecurityTokenHandler().CreateToken(jwttoken); - var tokenString = new JwtSecurityTokenHandler().WriteToken(jwttoken); - ret.result = new - { - Id = date.Id, - name = date.name, - sex = date.sex, - phone = date.phone, - photo = date.photo, - duties = date.duties, - identity = date.identity, - openId = date.wechatId, - usertype = date.usertype, - unitCode = date.unitCode, - token = tokenString - }; - #endregion - ret.IsSucceed = true; - } - else + if (date.usertype == 0 && date.becurrent == 1 && date.isdeactivate == 1) + { + ret.IsSucceed = false; + ret.Message = $"用户未授权无法登录,请联系管理员!"; + return ret; + } + #region jwt生成token + var tokenHandler = new JwtSecurityTokenHandler(); + var claims = new Claim[] + { + new Claim(ClaimTypes.UserData,JsonConvert.SerializeObject(date)), + }; + + var key = new SymmetricSecurityKey(Encoding.ASCII.GetBytes(_configuration.GetSection("JwtConfiguration:Jwtkey").Value)); + var signingCredentials = new SigningCredentials(key, SecurityAlgorithms.HmacSha256); + //Token + var jwttoken = new JwtSecurityToken( + issuer: _configuration.GetSection("JwtConfiguration:Issuer").Value, + audience: _configuration.GetSection("JwtConfiguration:Audience").Value, + claims: claims, + notBefore: DateTime.Now, + expires: DateTime.Now.AddDays(1), + signingCredentials: signingCredentials + ); + //var token = new JwtSecurityTokenHandler().CreateToken(jwttoken); + var tokenString = new JwtSecurityTokenHandler().WriteToken(jwttoken); + ret.result = new + { + Id = date.Id, + name = date.name, + sex = date.sex, + phone = date.phone, + photo = date.photo, + duties = date.duties, + identity = date.identity, + openId = date.wechatId, + usertype = date.usertype, + unitCode = date.unitCode, + token = tokenString + }; + #endregion + ret.IsSucceed = true; + } + else { - var datea = await _db.Queryable().Where(q => q.IsDeleted == 0 && q.cardId == cardId).FirstAsync(); + var datea = await _db.Queryable().Where(q => q.IsDeleted == 0 && q.cardId == cardId).FirstAsync(); if (datea == null) { var unitcode = _configuration.GetSection("CaseTwenty:UnitCode").Value; @@ -737,15 +743,15 @@ namespace _24Hour.Controllers ret.IsSucceed = true; ret.result = "添加成功"; } - } + } else { - ret.IsSucceed = false; - ret.Message = $"用户未授权无法登录,请联系管理员!"; + ret.IsSucceed = false; + ret.Message = $"用户未授权无法登录,请联系管理员!"; return ret; } - } - return ret; + } + return ret; } /// /// 小程序AppID @@ -769,17 +775,17 @@ namespace _24Hour.Controllers /// [HttpGet("GetGzhOpenId")] public Task GetGzhOpenId(string code) => wechatMessagerClient.GetGzhOpenId(code); - } - - - public class UserLogin - { - [DataMember] - public string phone { get; set; } - /// - /// 登录密码 - /// - [DataMember] - public string Password { get; set; } - } + } + + + public class UserLogin + { + [DataMember] + public string phone { get; set; } + /// + /// 登录密码 + /// + [DataMember] + public string Password { get; set; } + } } \ No newline at end of file From 90dab7291a50deef0c2cce49df1376d9e535ae72 Mon Sep 17 00:00:00 2001 From: admin Date: Wed, 27 Dec 2023 18:26:22 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E6=97=A0=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 24Hour/Controllers/LoginController.cs | 646 +++++++++++++------------- 1 file changed, 323 insertions(+), 323 deletions(-) diff --git a/24Hour/Controllers/LoginController.cs b/24Hour/Controllers/LoginController.cs index 6fdf6fa..452e3da 100644 --- a/24Hour/Controllers/LoginController.cs +++ b/24Hour/Controllers/LoginController.cs @@ -1,57 +1,57 @@ using _24Hour.Model; using com.sun.org.apache.bcel.@internal.generic; -using com.sun.xml.@internal.ws.api.model; -using Elight.Entity; -using Elight.Logic; -using Elight.Logic.SystemModel; -using Elight.Utility; -using Elight.Utility.Code; -using Elight.Utility.Encrypt; -using Elight.Utility.Extensions; -using Elight.Utility.logs; -using java.security; -using Microsoft.AspNetCore.Authorization; -using Microsoft.AspNetCore.Mvc; -using Microsoft.Extensions.Configuration; +using com.sun.xml.@internal.ws.api.model; +using Elight.Entity; +using Elight.Logic; +using Elight.Logic.SystemModel; +using Elight.Utility; +using Elight.Utility.Code; +using Elight.Utility.Encrypt; +using Elight.Utility.Extensions; +using Elight.Utility.logs; +using java.security; +using Microsoft.AspNetCore.Authorization; +using Microsoft.AspNetCore.Mvc; +using Microsoft.Extensions.Configuration; using Microsoft.Extensions.Logging; -using Microsoft.IdentityModel.Tokens; -using Newtonsoft.Json; -using SqlSugar; -using System.IdentityModel.Tokens.Jwt; -using System.Runtime.Serialization; -using System.Security.Claims; -using System.Text; - -namespace _24Hour.Controllers +using Microsoft.IdentityModel.Tokens; +using Newtonsoft.Json; +using SqlSugar; +using System.IdentityModel.Tokens.Jwt; +using System.Runtime.Serialization; +using System.Security.Claims; +using System.Text; + +namespace _24Hour.Controllers { - /// - /// 登录 - /// -#if DEBUG + /// + /// 登录 + /// +#if DEBUG -#else - [HiddenApi] -#endif - [ApiController] - [Route("api/APP")] - public class LoginController : ControllerBase - { - private readonly IConfiguration _configuration; - private readonly SqlSugarClient _db;//数据库 - private readonly WriteSysLog _logs;//操作日志 - private readonly ILogger _logger;//日志 - private readonly WechatMessagerClient wechatMessagerClient; - Result ret = new Result(); - public LoginController(ILogger logger, SqlSugarClient db, IConfiguration configuration, WechatMessagerClient _wechatMessagerClient) - { - _logger = logger; - _db = db; - _configuration = configuration; - this.wechatMessagerClient = _wechatMessagerClient; +#else + [HiddenApi] +#endif + [ApiController] + [Route("api/APP")] + public class LoginController : ControllerBase + { + private readonly IConfiguration _configuration; + private readonly SqlSugarClient _db;//数据库 + private readonly WriteSysLog _logs;//操作日志 + private readonly ILogger _logger;//日志 + private readonly WechatMessagerClient wechatMessagerClient; + Result ret = new Result(); + public LoginController(ILogger logger, SqlSugarClient db, IConfiguration configuration, WechatMessagerClient _wechatMessagerClient) + { + _logger = logger; + _db = db; + _configuration = configuration; + this.wechatMessagerClient = _wechatMessagerClient; } - [HttpPost] - [Route("LoginDefault")] + [HttpPost] + [Route("LoginDefault")] [CustomCorsActionFilterAttribute] public async Task LoginDefault() { @@ -77,10 +77,10 @@ namespace _24Hour.Controllers date.departmentName = dept.departname; } } - #region jwt生成token + #region jwt生成token var tokenHandler = new JwtSecurityTokenHandler(); var claims = new Claim[] - { + { new Claim(ClaimTypes.UserData,JsonConvert.SerializeObject(date)), }; @@ -116,23 +116,23 @@ namespace _24Hour.Controllers #endregion ret.IsSucceed = true; return ret; - } - - - /// - /// 系统登录 - /// - /// - /// - [HttpPost] - [Route("SystemLogin")] - [CustomCorsActionFilterAttribute] - public async Task SystemLogin(UserLogin login) - { - try - { + } + + + /// + /// 系统登录 + /// + /// + /// + [HttpPost] + [Route("SystemLogin")] + [CustomCorsActionFilterAttribute] + public async Task SystemLogin(UserLogin login) + { + try + { var Passmd5 = Md5.Encrypt32(login.Password).ToLower(); - var date = await _db.Queryable().Where(x => x.phone == login.phone && x.IsDeleted == 0).FirstAsync(); + var date = await _db.Queryable().Where(x => x.phone == login.phone && x.IsDeleted == 0).FirstAsync(); if (date == null) { ret.IsSucceed = false; @@ -154,10 +154,10 @@ namespace _24Hour.Controllers } } - #region jwt生成token + #region jwt生成token var tokenHandler = new JwtSecurityTokenHandler(); var claims = new Claim[] - { + { new Claim(ClaimTypes.UserData,JsonConvert.SerializeObject(date)), }; @@ -184,7 +184,7 @@ namespace _24Hour.Controllers phone = date.phone, photo = date.photo, duties = date.duties, - identity = date.identity, + identity = date.identity, openId = date.wechatId, unitCode = date.unitCode, unitname = Unitdate?.unitname, @@ -192,31 +192,31 @@ namespace _24Hour.Controllers departmentName = date.departmentName, token = tokenString }; - #endregion - } - catch (Exception ex) - { - ret.IsSucceed = false; - ret.Message = $"{ex.Message}"; - LogService.WriteLog(ex, "登录"); - } - return ret; - } - - /// - /// app--登录 - /// - /// - /// - [HttpPost] - [Route("Login")] - [CustomCorsActionFilterAttribute] - public async Task Login(UserLogin login) - { - try - { - var Passmd5 = Md5.Encrypt32(login.Password).ToLower(); - var date = await _db.Queryable().Where(x => x.phone == login.phone && x.IsDeleted == 0).FirstAsync(); + #endregion + } + catch (Exception ex) + { + ret.IsSucceed = false; + ret.Message = $"{ex.Message}"; + LogService.WriteLog(ex, "登录"); + } + return ret; + } + + /// + /// app--登录 + /// + /// + /// + [HttpPost] + [Route("Login")] + [CustomCorsActionFilterAttribute] + public async Task Login(UserLogin login) + { + try + { + var Passmd5 = Md5.Encrypt32(login.Password).ToLower(); + var date = await _db.Queryable().Where(x => x.phone == login.phone && x.IsDeleted == 0).FirstAsync(); if (date == null) { ret.IsSucceed = false; @@ -267,10 +267,10 @@ namespace _24Hour.Controllers date.departmentName = dept.departname; } } - #region jwt生成token + #region jwt生成token var tokenHandler = new JwtSecurityTokenHandler(); var claims = new Claim[] - { + { new Claim(ClaimTypes.UserData,JsonConvert.SerializeObject(date)), }; @@ -295,7 +295,7 @@ namespace _24Hour.Controllers phone = date.phone, photo = date.photo, duties = date.duties, - identity = date.identity, + identity = date.identity, openId = date.wechatId, usertype = date.usertype, unitCode = date.unitCode, @@ -303,16 +303,16 @@ namespace _24Hour.Controllers departmentName = date.departmentName, token = tokenString }; - #endregion - ret.IsSucceed = true; - } - catch (Exception ex) - { - ret.IsSucceed = false; - ret.Message = $"{ex.Message}"; - LogService.WriteLog(ex, "登录"); - } - return ret; + #endregion + ret.IsSucceed = true; + } + catch (Exception ex) + { + ret.IsSucceed = false; + ret.Message = $"{ex.Message}"; + LogService.WriteLog(ex, "登录"); + } + return ret; } /// @@ -320,8 +320,8 @@ namespace _24Hour.Controllers /// /// /// - [HttpGet] - [Route("WeChatLoginCode")] + [HttpGet] + [Route("WeChatLoginCode")] public async Task WeChatLoginByCode(string code) { var opendata = await GetOpenId(code); @@ -339,8 +339,8 @@ namespace _24Hour.Controllers /// /// /// - [HttpGet] - [Route("WeChatLoginByGzhCode")] + [HttpGet] + [Route("WeChatLoginByGzhCode")] public async Task WeChatLoginByGzhCode(string code) { var opendata = await GetGzhOpenId(code); @@ -359,8 +359,8 @@ namespace _24Hour.Controllers ///// ///// ///// - //[HttpGet] - //[Route("GetCode")] + //[HttpGet] + //[Route("GetCode")] //public async Task GetCode(string code,string state) //{ // var opendata = await GetGzhOpenId(code); @@ -372,22 +372,22 @@ namespace _24Hour.Controllers // { // return opendata; // } - //} - - /// - /// 微信授权登录 - /// - /// - /// - [HttpGet] - [Route("WeChatLogin")] - public async Task WeChatLogin(string openId) - { - var date = await _db.Queryable() - .Where(q => q.IsDeleted == 0 && q.wechatId == openId) - .OrderByDescending(x => x.createtime) - .FirstAsync(); - if (date != null) + //} + + /// + /// 微信授权登录 + /// + /// + /// + [HttpGet] + [Route("WeChatLogin")] + public async Task WeChatLogin(string openId) + { + var date = await _db.Queryable() + .Where(q => q.IsDeleted == 0 && q.wechatId == openId) + .OrderByDescending(x => x.createtime) + .FirstAsync(); + if (date != null) { if (date.identity == "律师" && date.audit == 1) { @@ -403,102 +403,102 @@ namespace _24Hour.Controllers ret.Message = "用户信息审核中!"; ret.result = "用户信息审核中"; return ret; - } + } if (date.isdeactivate == 1) { ret.IsSucceed = false; ret.Message = "该账号已被禁用,请联系管理员!"; ret.result = "该账号已被禁用"; return ret; - } - if (date.usertype == 0 && date.becurrent == 1) - { - ret.IsSucceed = false; - ret.Message = $"账号未授权无法登录,请联系管理员!"; + } + if (date.usertype == 0 && date.becurrent == 1) + { + ret.IsSucceed = false; + ret.Message = $"账号未授权无法登录,请联系管理员!"; ret.result = "账号未授权无法登录"; - return ret; - } - #region jwt生成token - var tokenHandler = new JwtSecurityTokenHandler(); - var claims = new Claim[] - { - new Claim(ClaimTypes.UserData,JsonConvert.SerializeObject(date)), - }; - - var key = new SymmetricSecurityKey(Encoding.ASCII.GetBytes(_configuration.GetSection("JwtConfiguration:Jwtkey").Value)); - var signingCredentials = new SigningCredentials(key, SecurityAlgorithms.HmacSha256); - //Token - var jwttoken = new JwtSecurityToken( - issuer: _configuration.GetSection("JwtConfiguration:Issuer").Value, - audience: _configuration.GetSection("JwtConfiguration:Audience").Value, - claims: claims, - notBefore: DateTime.Now, - expires: DateTime.Now.AddDays(1), - signingCredentials: signingCredentials - ); - //var token = new JwtSecurityTokenHandler().CreateToken(jwttoken); - var tokenString = new JwtSecurityTokenHandler().WriteToken(jwttoken); - ret.result = new - { - Id = date.Id, - name = date.name, - sex = date.sex, - phone = date.phone, - photo = date.photo, - duties = date.duties, - identity = date.identity, - usertype = date.usertype, - unitCode = date.unitCode, - token = tokenString, - openId = date.wechatId, - identityphoto = date.identityphoto, - cardIdphoto = date.cardIdphoto, - departmentName = date.departmentName, - identitycardId = date.identitycardId, - departmentSCC = date.departmentUnifiedSocialCreditCode - }; - #endregion - ret.IsSucceed = true; - } - else - { - ret.IsSucceed = false; - ret.Message = "微信未授权,请先注册账号!"; + return ret; + } + #region jwt生成token + var tokenHandler = new JwtSecurityTokenHandler(); + var claims = new Claim[] + { + new Claim(ClaimTypes.UserData,JsonConvert.SerializeObject(date)), + }; + + var key = new SymmetricSecurityKey(Encoding.ASCII.GetBytes(_configuration.GetSection("JwtConfiguration:Jwtkey").Value)); + var signingCredentials = new SigningCredentials(key, SecurityAlgorithms.HmacSha256); + //Token + var jwttoken = new JwtSecurityToken( + issuer: _configuration.GetSection("JwtConfiguration:Issuer").Value, + audience: _configuration.GetSection("JwtConfiguration:Audience").Value, + claims: claims, + notBefore: DateTime.Now, + expires: DateTime.Now.AddDays(1), + signingCredentials: signingCredentials + ); + //var token = new JwtSecurityTokenHandler().CreateToken(jwttoken); + var tokenString = new JwtSecurityTokenHandler().WriteToken(jwttoken); + ret.result = new + { + Id = date.Id, + name = date.name, + sex = date.sex, + phone = date.phone, + photo = date.photo, + duties = date.duties, + identity = date.identity, + usertype = date.usertype, + unitCode = date.unitCode, + token = tokenString, + openId = date.wechatId, + identityphoto = date.identityphoto, + cardIdphoto = date.cardIdphoto, + departmentName = date.departmentName, + identitycardId = date.identitycardId, + departmentSCC = date.departmentUnifiedSocialCreditCode + }; + #endregion + ret.IsSucceed = true; + } + else + { + ret.IsSucceed = false; + ret.Message = "微信未授权,请先注册账号!"; ret.result = "微信未授权"; - } - return ret; - } - - /// - /// APP添加用户 - /// - /// - /// - [HttpPost] - [Route("AddUser1")] - public async Task AddUser1(App_Sys_UserModel UserModel) - { - try + } + return ret; + } + + /// + /// APP添加用户 + /// + /// + /// + [HttpPost] + [Route("AddUser1")] + public async Task AddUser1(App_Sys_UserModel UserModel) + { + try { - _logger.LogInformation(UserModel.ConvertToJsonStr()); + _logger.LogInformation(UserModel.ConvertToJsonStr()); //if (string.IsNullOrEmpty(UserModel.wechatId) && await _db.Queryable().AnyAsync(x => x.wechatId == UserModel.wechatId && x.IsDeleted == 0)) //{ // ret.IsSucceed = false; // ret.Message = "当前微信已与其他账号绑定"; // return ret; //} - if (string.IsNullOrEmpty(UserModel.wechatId) == false) - { - if (await _db.Queryable().AnyAsync(x => x.wechatId == UserModel.wechatId && x.IsDeleted == 0 && x.audit != 1 && x.isdeactivate == 0)) - { - ret.IsSucceed = false; - ret.Message = "当前微信已与其他账号绑定"; - return ret; - } - } - var data = await _db.Queryable().Where(q => q.phone == UserModel.phone && q.IsDeleted == 0).FirstAsync(); + if (string.IsNullOrEmpty(UserModel.wechatId) == false) + { + if (await _db.Queryable().AnyAsync(x => x.wechatId == UserModel.wechatId && x.IsDeleted == 0 && x.audit != 1 && x.isdeactivate == 0)) + { + ret.IsSucceed = false; + ret.Message = "当前微信已与其他账号绑定"; + return ret; + } + } + var data = await _db.Queryable().Where(q => q.phone == UserModel.phone && q.IsDeleted == 0).FirstAsync(); if (UserModel.identity == "律师") - { + { if (data != null && (data.identity != "律师" || data.audit == 0)) { ret.IsSucceed = false; @@ -584,7 +584,7 @@ namespace _24Hour.Controllers ret.IsSucceed = true; ret.result = "添加成功"; } - } + } } else { @@ -610,57 +610,57 @@ namespace _24Hour.Controllers { ret.IsSucceed = true; ret.result = "添加成功"; - } - } - } - catch (System.Exception ex) - { - _db.RollbackTran(); - ret.IsSucceed = false; - ret.Message = ex.Message; - } - return ret; - } - - /// - /// 单位list集合 - /// - /// - /// - [HttpPost] - [Route("QueryUnitlist")] - public async Task QueryUnitlist(App_Sys_UnitInput Unitdata) - { - var list = await _db.Queryable() - .WhereIF(!Unitdata.unitCode.IsNull(), q => q.unitCode.Contains(Unitdata.unitCode)) - .WhereIF(!Unitdata.unitname.IsNull(), q => q.unitname.Contains(Unitdata.unitname)) - .WhereIF(!Unitdata.unitjc.IsNull(), q => q.unitjc.Contains(Unitdata.unitjc)) - .Where(q => q.IsDelete == 0).ToListAsync(); - ret.IsSucceed = true; - ret.result = list; - return ret; - } - - /// - /// 获取设备视频流地址 - /// - /// - /// - [HttpGet] - [Route("getrtsp")] - public async Task getrtsp(string str) - { - ret.IsSucceed = true; - ret.result = $"{_configuration.GetSection($"Videoaddress:{str}").Value}"; - return ret; - } - - [HttpGet] - [Route("cardIdLogin")] - public async Task cardIdLogin(string cardId, string name) - { - var date = await _db.Queryable().Where(q => q.IsDeleted == 0 && q.cardId == cardId && q.name == name).FirstAsync(); - if (date != null) + } + } + } + catch (System.Exception ex) + { + _db.RollbackTran(); + ret.IsSucceed = false; + ret.Message = ex.Message; + } + return ret; + } + + /// + /// 单位list集合 + /// + /// + /// + [HttpPost] + [Route("QueryUnitlist")] + public async Task QueryUnitlist(App_Sys_UnitInput Unitdata) + { + var list = await _db.Queryable() + .WhereIF(!Unitdata.unitCode.IsNull(), q => q.unitCode.Contains(Unitdata.unitCode)) + .WhereIF(!Unitdata.unitname.IsNull(), q => q.unitname.Contains(Unitdata.unitname)) + .WhereIF(!Unitdata.unitjc.IsNull(), q => q.unitjc.Contains(Unitdata.unitjc)) + .Where(q => q.IsDelete == 0).ToListAsync(); + ret.IsSucceed = true; + ret.result = list; + return ret; + } + + /// + /// 获取设备视频流地址 + /// + /// + /// + [HttpGet] + [Route("getrtsp")] + public async Task getrtsp(string str) + { + ret.IsSucceed = true; + ret.result = $"{_configuration.GetSection($"Videoaddress:{str}").Value}"; + return ret; + } + + [HttpGet] + [Route("cardIdLogin")] + public async Task cardIdLogin(string cardId, string name) + { + var date = await _db.Queryable().Where(q => q.IsDeleted == 0 && q.cardId == cardId && q.name == name).FirstAsync(); + if (date != null) { //if (date.usertype == 1 && date.audit == null) // { @@ -675,52 +675,52 @@ namespace _24Hour.Controllers // return ret; // } // else - if (date.usertype == 0 && date.becurrent == 1 && date.isdeactivate == 1) - { - ret.IsSucceed = false; - ret.Message = $"用户未授权无法登录,请联系管理员!"; - return ret; - } - #region jwt生成token - var tokenHandler = new JwtSecurityTokenHandler(); - var claims = new Claim[] - { - new Claim(ClaimTypes.UserData,JsonConvert.SerializeObject(date)), - }; - - var key = new SymmetricSecurityKey(Encoding.ASCII.GetBytes(_configuration.GetSection("JwtConfiguration:Jwtkey").Value)); - var signingCredentials = new SigningCredentials(key, SecurityAlgorithms.HmacSha256); - //Token - var jwttoken = new JwtSecurityToken( - issuer: _configuration.GetSection("JwtConfiguration:Issuer").Value, - audience: _configuration.GetSection("JwtConfiguration:Audience").Value, - claims: claims, - notBefore: DateTime.Now, - expires: DateTime.Now.AddDays(1), - signingCredentials: signingCredentials - ); - //var token = new JwtSecurityTokenHandler().CreateToken(jwttoken); - var tokenString = new JwtSecurityTokenHandler().WriteToken(jwttoken); - ret.result = new - { - Id = date.Id, - name = date.name, - sex = date.sex, - phone = date.phone, - photo = date.photo, - duties = date.duties, - identity = date.identity, - openId = date.wechatId, - usertype = date.usertype, - unitCode = date.unitCode, - token = tokenString - }; - #endregion - ret.IsSucceed = true; - } - else + if (date.usertype == 0 && date.becurrent == 1 && date.isdeactivate == 1) + { + ret.IsSucceed = false; + ret.Message = $"用户未授权无法登录,请联系管理员!"; + return ret; + } + #region jwt生成token + var tokenHandler = new JwtSecurityTokenHandler(); + var claims = new Claim[] + { + new Claim(ClaimTypes.UserData,JsonConvert.SerializeObject(date)), + }; + + var key = new SymmetricSecurityKey(Encoding.ASCII.GetBytes(_configuration.GetSection("JwtConfiguration:Jwtkey").Value)); + var signingCredentials = new SigningCredentials(key, SecurityAlgorithms.HmacSha256); + //Token + var jwttoken = new JwtSecurityToken( + issuer: _configuration.GetSection("JwtConfiguration:Issuer").Value, + audience: _configuration.GetSection("JwtConfiguration:Audience").Value, + claims: claims, + notBefore: DateTime.Now, + expires: DateTime.Now.AddDays(1), + signingCredentials: signingCredentials + ); + //var token = new JwtSecurityTokenHandler().CreateToken(jwttoken); + var tokenString = new JwtSecurityTokenHandler().WriteToken(jwttoken); + ret.result = new + { + Id = date.Id, + name = date.name, + sex = date.sex, + phone = date.phone, + photo = date.photo, + duties = date.duties, + identity = date.identity, + openId = date.wechatId, + usertype = date.usertype, + unitCode = date.unitCode, + token = tokenString + }; + #endregion + ret.IsSucceed = true; + } + else { - var datea = await _db.Queryable().Where(q => q.IsDeleted == 0 && q.cardId == cardId).FirstAsync(); + var datea = await _db.Queryable().Where(q => q.IsDeleted == 0 && q.cardId == cardId).FirstAsync(); if (datea == null) { var unitcode = _configuration.GetSection("CaseTwenty:UnitCode").Value; @@ -741,15 +741,15 @@ namespace _24Hour.Controllers ret.IsSucceed = true; ret.result = "添加成功"; } - } + } else { - ret.IsSucceed = false; - ret.Message = $"用户未授权无法登录,请联系管理员!"; + ret.IsSucceed = false; + ret.Message = $"用户未授权无法登录,请联系管理员!"; return ret; } - } - return ret; + } + return ret; } /// /// 小程序AppID @@ -773,17 +773,17 @@ namespace _24Hour.Controllers /// [HttpGet("GetGzhOpenId")] public Task GetGzhOpenId(string code) => wechatMessagerClient.GetGzhOpenId(code); - } - - - public class UserLogin - { - [DataMember] - public string phone { get; set; } - /// - /// 登录密码 - /// - [DataMember] - public string Password { get; set; } - } + } + + + public class UserLogin + { + [DataMember] + public string phone { get; set; } + /// + /// 登录密码 + /// + [DataMember] + public string Password { get; set; } + } } \ No newline at end of file