From be73ebb3bce9c66675ef5f0ca36753ea491ad6f1 Mon Sep 17 00:00:00 2001 From: liuyangyi Date: Sun, 29 Sep 2024 22:52:14 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4=E6=95=B0=E6=8D=AE=E5=90=8C?= =?UTF-8?q?=E6=AD=A5=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/Front/CustomerController.cs | 35 ++++++++----------- .../Controllers/OAuthController.cs | 4 +-- 2 files changed, 17 insertions(+), 22 deletions(-) diff --git a/New_College.Api/Controllers/Front/CustomerController.cs b/New_College.Api/Controllers/Front/CustomerController.cs index fafa06d..e10079c 100644 --- a/New_College.Api/Controllers/Front/CustomerController.cs +++ b/New_College.Api/Controllers/Front/CustomerController.cs @@ -22,7 +22,7 @@ namespace New_College.Api.Controllers.Front { [Route("api/front/[controller]/[action]")] [ApiController] - [Authorize(Roles = "users")] + [Authorize] public class CustomerController : ControllerBase { private readonly IV_CustomerInfoServices _services; @@ -194,6 +194,11 @@ namespace New_College.Api.Controllers.Front response.OpenId = result.openid; response.Id = save; } + //同步合并公众号与微信小程序数据 + Task.Run(async () => + { + await updatesync(result.unionid); + }); TokenModelJwt tokenModel = new TokenModelJwt { Uid = response.Id, Role = "users" }; response.Token = JwtHelper.IssueJwt(tokenModel); response.session_key = result.session_key; @@ -249,7 +254,7 @@ namespace New_College.Api.Controllers.Front { await DistrFanc(request.SaleId, customerinfo.Id); }); - newId = await updatesync(customerinfo.Phone); + // newId = await updatesync(customerinfo.Phone); } catch (Exception ex) @@ -304,18 +309,17 @@ namespace New_College.Api.Controllers.Front /// /// 同步合并数据 /// - /// + /// /// - private async Task updatesync(string phone) + private async Task updatesync(string uuid) { int newId = 0; - var customer = await _services.Query(c => c.Phone == phone); + var customer = await _services.Query(c => c.UUID == uuid); if (customer.Count() > 1) { - var exists = customer.Exists(e => !string.IsNullOrWhiteSpace(e.UUID)); - if (exists) + var firstinfo = customer.FirstOrDefault(e => !string.IsNullOrWhiteSpace(e.UUID) && e.IsDelete == false && string.IsNullOrWhiteSpace(e.GZOpenId)); + if (firstinfo != null) { - var firstinfo = customer.FirstOrDefault(e => !string.IsNullOrWhiteSpace(e.UUID)); newId = firstinfo.Id; var endinfo = customer.FirstOrDefault(e => e.Id != firstinfo.Id); firstinfo.IsVIP = endinfo.IsVIP ? true : firstinfo.IsVIP; @@ -323,19 +327,10 @@ namespace New_College.Api.Controllers.Front firstinfo.subjectgroupName = endinfo.subjectgroupName; firstinfo.Subjectgroup = endinfo.Subjectgroup; firstinfo.OpenId = endinfo.OpenId; - //firstinfo.UserPwd = endinfo.UserPwd; - //firstinfo.Salt= endinfo.Salt; firstinfo.NickName = !string.IsNullOrWhiteSpace(endinfo.NickName) ? endinfo.NickName : firstinfo.NickName; - var casdoorinfo = await _casdoorUserServices.QueryById((string)firstinfo.UUID); - if (casdoorinfo != null) - { - - casdoorinfo.id_card = firstinfo.OpenId; - await _casdoorUserServices.Update(casdoorinfo); - await _services.Update(firstinfo); - - await _services.Delete(endinfo); - } + firstinfo.GZOpenId = endinfo.GZOpenId; + await _services.Update(firstinfo); + await _services.Delete(endinfo); } } return newId; diff --git a/New_College.Api/Controllers/OAuthController.cs b/New_College.Api/Controllers/OAuthController.cs index c1fa122..9c9c4df 100644 --- a/New_College.Api/Controllers/OAuthController.cs +++ b/New_College.Api/Controllers/OAuthController.cs @@ -43,7 +43,7 @@ namespace New_College.Controllers var response = new CasDoorToken(); string jwtStr = string.Empty; bool suc = false; - var userinfo = CasdoorHttpHelper.Http_Post>("/api/syswechat/user_info", null, + var userinfo = CasdoorHttpHelper.Http_Post>("api/syswechat/user_info", null, new StringContent(Newtonsoft.Json.JsonConvert.SerializeObject( new CasdoorRequest() { @@ -55,7 +55,7 @@ namespace New_College.Controllers if (userinfo != null && userinfo.code == 200 && userinfo.type == "success") { var user = (await _CustomerInfoServices.Query(q => q.UUID == userinfo.result.UnionId)).FirstOrDefault(); - if (user != null) + if (user == null) { //没有用户则注册一个新用户 user = new Model.Models.V_CustomerInfo()