From 8e2c8ccf2da0eb78ade5e75a69fa5ee38e4ea260 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=82=B9=E6=BD=87=E9=98=B3?= Date: Wed, 27 Sep 2023 10:03:01 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=BE=AE=E4=BF=A1=E7=99=BB?= =?UTF-8?q?=E9=99=86=E6=97=B6=E5=BE=8B=E5=B8=88=E8=BA=AB=E4=BB=BD=E9=AA=8C?= =?UTF-8?q?=E8=AF=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 24Hour/Controllers/LoginController.cs | 85 +++++++++++++-------------- 1 file changed, 42 insertions(+), 43 deletions(-) diff --git a/24Hour/Controllers/LoginController.cs b/24Hour/Controllers/LoginController.cs index 2476d12..1780a5c 100644 --- a/24Hour/Controllers/LoginController.cs +++ b/24Hour/Controllers/LoginController.cs @@ -34,13 +34,15 @@ namespace _24Hour.Controllers private readonly IConfiguration _configuration; private readonly SqlSugarClient _db;//数据库 private readonly WriteSysLog _logs;//操作日志 - private readonly ILogger _logger;//日志 + private readonly ILogger _logger;//日志 + private readonly WechatMessagerClient wechatMessagerClient; Result ret = new Result(); - public LoginController(ILogger logger, SqlSugarClient db, IConfiguration configuration) + public LoginController(ILogger logger, SqlSugarClient db, IConfiguration configuration, WechatMessagerClient _wechatMessagerClient) { _logger = logger; _db = db; _configuration = configuration; + this.wechatMessagerClient = _wechatMessagerClient; } [HttpPost] @@ -313,9 +315,9 @@ namespace _24Hour.Controllers public async Task WeChatLoginByCode(string code) { var opendata = await GetOpenId(code); - if (opendata.IsSucceed==true) + if (opendata.IsSucceed == true) { - return WeChatLogin(opendata.result); + return await WeChatLogin(opendata.result); } else { @@ -335,20 +337,32 @@ namespace _24Hour.Controllers { var date = await _db.Queryable().Where(q => q.IsDeleted == 0 && q.isdeactivate == 0 && q.wechatId == openId).FirstAsync(); if (date != null) - { - //if (date.usertype == 1 && date.audit == null) - //{ - // ret.IsSucceed = false; - // ret.Message = "账号审核中!"; - // return ret; - //} - //else if (date.usertype == 1 && date.audit == 1) - //{ - // ret.IsSucceed = false; - // ret.Message = $"账号审核未通过,原因:{date.describe}!"; - // return ret; - //} - //else + { + //if (date.usertype == 1 && date.audit == null) + //{ + // ret.IsSucceed = false; + // ret.Message = "账号审核中!"; + // return ret; + //} + //else if (date.usertype == 1 && date.audit == 1) + //{ + // ret.IsSucceed = false; + // ret.Message = $"账号审核未通过,原因:{date.describe}!"; + // return ret; + //} + //else + if (date.identity == "律师" && date.audit == 1) + { + ret.IsSucceed = false; + ret.Message = $"用户信息审核未通过,原因:{date.describe},请重新注册!"; + return ret; + } + else if (date.identity == "律师" && date.audit == 2) + { + ret.IsSucceed = false; + ret.Message = "用户信息审核中!"; + return ret; + } if (date.usertype == 0 && date.becurrent == 1) { ret.IsSucceed = false; @@ -386,7 +400,8 @@ namespace _24Hour.Controllers identity = date.identity, usertype = date.usertype, unitCode = date.unitCode, - token = tokenString + token = tokenString, + openId = date.wechatId }; #endregion ret.IsSucceed = true; @@ -394,7 +409,7 @@ namespace _24Hour.Controllers else { ret.IsSucceed = false; - ret.Message = "微信未授权!"; + ret.Message = "微信未授权,请先注册账号!"; } return ret; } @@ -410,6 +425,12 @@ namespace _24Hour.Controllers { try { + if (string.IsNullOrEmpty(UserModel.wechatId) && await _db.Queryable().AnyAsync(x => x.wechatId == UserModel.wechatId && x.IsDeleted == 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 == "律师") @@ -618,29 +639,7 @@ namespace _24Hour.Controllers /// /// [HttpGet("getOpenid")] - public async Task GetOpenId(string code) - { - var opendata = HttpHelper.Get($"https://api.weixin.qq.com/sns/jscode2session?appid={appid}&secret={secid}&js_code={code}&grant_type=authorization_code"); - var data = JsonConvert.DeserializeAnonymousType(opendata, new - { - openid=default(string), - session_key = default(string), - unionid = default(string), - errcode = default(int), - errmsg = default(string), - }); - if (data.errcode==0) - { - ret.IsSucceed = true; - ret.result = data.openid; - } - else - { - ret.IsSucceed = false; - ret.Message = data.errmsg; - } - return ret; - } + public Task GetOpenId(string code) => wechatMessagerClient.GetOpenId(code); }