diff --git a/New_College.Api/Controllers/Back/VipCardController.cs b/New_College.Api/Controllers/Back/VipCardController.cs index 7708281..d0d40f1 100644 --- a/New_College.Api/Controllers/Back/VipCardController.cs +++ b/New_College.Api/Controllers/Back/VipCardController.cs @@ -143,13 +143,13 @@ namespace New_College.Api.Controllers.Back response.IsVip = false; response.pcRole = new PCRole() { - ScoreCount = 1, + ScoreCount = 3, SearchCount = 10, ShowCount=10 }; response.minProRole = new MinProRole() { - ScoreCount = 1, + ScoreCount = 3, SearchCount = 10, ShowCount = 10 }; diff --git a/New_College.Api/Controllers/Front/CustomerController.cs b/New_College.Api/Controllers/Front/CustomerController.cs index e148471..29e0fd3 100644 --- a/New_College.Api/Controllers/Front/CustomerController.cs +++ b/New_College.Api/Controllers/Front/CustomerController.cs @@ -56,7 +56,7 @@ namespace New_College.Api.Controllers.Front case "add-user": if (!string.IsNullOrWhiteSpace(sync.extendedUser.id)) { - var singlelist = await _services.Query(e => e.OpenId == sync.extendedUser.id); + var singlelist = await _services.Query(e => e.UUID == sync.extendedUser.id); if (singlelist.Any()) { var single = singlelist.FirstOrDefault(); @@ -68,7 +68,7 @@ namespace New_College.Api.Controllers.Front Expectedscore = sync.extendedUser.score, AvatarUrl = sync.extendedUser.avatar }; - await _services.UpdateCustomer(custome); + await _services.UpdateCustomer(custome);//注册已后台数据库自动完成 } } break; @@ -185,17 +185,58 @@ namespace New_College.Api.Controllers.Front code = request.code, access_Token = accessToken.access_token, }; + int newId = 0; var repUserPhoneNumber = _services.WxaBusinessGetUserPhoneNumber(reqUserPhoneNumber); var customerinfo = (await _services.Query(e => e.OpenId == request.openId)).FirstOrDefault(); customerinfo.Phone = repUserPhoneNumber.phone_info.phoneNumber; var result = repUserPhoneNumber.errcode == 0 ? await _services.Update(customerinfo) : false; + if (result) + { + newId = await updatesync(customerinfo.Phone); + } return new MessageModel() { - msg = result ? "修改成功" : "保存失败", + msg = newId.ToString(), response = repUserPhoneNumber.phone_info.phoneNumber, success = result ? true : false, }; + } + /// + /// 同步合并数据 + /// + /// + /// + private async Task updatesync(string phone) + { + int newId = 0; + var customer = await _services.Query(c => c.Phone == phone); + if (customer.Count() > 1) + { + var exists = customer.Exists(e => e.UUID.Contains("-")); + if (exists) + { + var firstinfo = customer.FirstOrDefault(e => e.UUID.Contains("-")); + newId = firstinfo.Id; + var endinfo = customer.FirstOrDefault(e => e.Id != firstinfo.Id); + firstinfo.IsVIP = endinfo.IsVIP ? true : firstinfo.IsVIP; + 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); + } + } + } + return newId; } diff --git a/New_College.Api/Controllers/OAuthController.cs b/New_College.Api/Controllers/OAuthController.cs index 03c8759..74e3665 100644 --- a/New_College.Api/Controllers/OAuthController.cs +++ b/New_College.Api/Controllers/OAuthController.cs @@ -8,6 +8,7 @@ using New_College.Model; using New_College.Model.ViewModels; using NPOI.SS.Formula.Functions; using System.Collections.Generic; +using System.Linq; using System.Net.Http; using System.Text; using System.Text.Json; @@ -58,7 +59,7 @@ namespace New_College.Controllers // //不存在则创建新的账户| // //存在则直接登录| - + // return new MessageModel() // { @@ -97,39 +98,37 @@ namespace New_College.Controllers } response.servicetoken = getaccesstoken.access_token; var userinfo = CasdoorHttpHelper.Http_Get("/api/userinfo", headers, new Dictionary()); - var user = await _CustomerInfoServices.GetUserInfo(new Model.Request.LoginQuery() { openId = userinfo.sub }); + var user = (await _CustomerInfoServices.Query(q => q.UUID == userinfo.sub)).FirstOrDefault(); if (user != null) { - if (user.Item1) + if (string.IsNullOrEmpty(user.NickName)) { - if (string.IsNullOrEmpty(user.Item2.NickName)) + var single = await _CustomerInfoServices.QueryById(user.Id); + if (!string.IsNullOrWhiteSpace(user.Phone)) { - var single = await _CustomerInfoServices.QueryById(user.Item2.Id); - if (!string.IsNullOrWhiteSpace(user.Item2.Phone)) - { - single.NickName = user.Item2.Phone; - } - if (!string.IsNullOrWhiteSpace(user.Item2.UserCode)) - { - single.NickName = user.Item2.UserCode; - } - await _CustomerInfoServices.Update(single); + single.NickName = user.Phone; } - TokenModelJwt tokenModel = new TokenModelJwt { Uid = user.Item2.Id, Role = "users" }; - jwtStr = JwtHelper.IssueJwt(tokenModel); - response.token = jwtStr; - response.Id = user.Item2.Id; - suc = true; - } - else - { - return new MessageModel() + if (!string.IsNullOrWhiteSpace(user.UserCode)) { - success = false, - msg = "该账户不存在或已注销" - - }; + single.NickName = user.UserCode; + } + await _CustomerInfoServices.Update(single); } + TokenModelJwt tokenModel = new TokenModelJwt { Uid = user.Id, Role = "users" }; + jwtStr = JwtHelper.IssueJwt(tokenModel); + response.token = jwtStr; + response.Id = user.Id; + suc = true; + + } + else + { + return new MessageModel() + { + success = false, + msg = "该账户不存在或已注销" + + }; } return new MessageModel() { diff --git a/New_College.Api/New_College.Model.xml b/New_College.Api/New_College.Model.xml index 66ca357..e46d488 100644 --- a/New_College.Api/New_College.Model.xml +++ b/New_College.Api/New_College.Model.xml @@ -3187,6 +3187,11 @@ 年份 + + + CasdoorId + + 省份id diff --git a/New_College.Api/New_College.xml b/New_College.Api/New_College.xml index 55b3f38..015b19b 100644 --- a/New_College.Api/New_College.xml +++ b/New_College.Api/New_College.xml @@ -245,6 +245,13 @@ + + + 同步合并数据 + + + + 解密手机号同时保存用户信息 diff --git a/New_College.Api/Startup.cs b/New_College.Api/Startup.cs index d44498d..a5072c2 100644 --- a/New_College.Api/Startup.cs +++ b/New_College.Api/Startup.cs @@ -250,7 +250,7 @@ namespace New_College }); // 生成种子数据 - app.UseSeedDataMildd(myContext, Env.WebRootPath); + // app.UseSeedDataMildd(myContext, Env.WebRootPath); // 开启QuartzNetJob调度服务 app.UseQuartzJobMildd(tasksQzServices, schedulerCenter); //服务注册 diff --git a/New_College.Api/appsettings.Development.json b/New_College.Api/appsettings.Development.json index 81e3d32..8ad240a 100644 --- a/New_College.Api/appsettings.Development.json +++ b/New_College.Api/appsettings.Development.json @@ -104,7 +104,7 @@ "DBType": 0, "Enabled": true, "HitRate": 20, - "Connection": "Server=192.168.103.102; Port=3306;SslMode=None;Database=casdoor; Uid=ycymedu; Pwd=Vs..127134" + "Connection": "Server=192.168.103.102; Port=3306;SslMode=None;Database=casdoor; Uid=ycymedu; Pwd=Vs..127134;CharSet=utf8mb4;AllowLoadLocalInfile=true" }, { "ConnId": "WMBLOG_ORACLE", diff --git a/New_College.Api/appsettings.json b/New_College.Api/appsettings.json index ff63e33..c4fc9d3 100644 --- a/New_College.Api/appsettings.json +++ b/New_College.Api/appsettings.json @@ -104,7 +104,7 @@ "DBType": 0, "Enabled": true, "HitRate": 20, - "Connection": "Server=192.168.103.102; Port=3306;SslMode=None;Database=casdoor; Uid=ycymedu; Pwd=Vs..127134" + "Connection": "Server=192.168.103.102; Port=3306;SslMode=None;Database=casdoor; Uid=ycymedu; Pwd=Vs..127134;CharSet=utf8mb4;AllowLoadLocalInfile=true" }, { "ConnId": "WMBLOG_ORACLE", diff --git a/New_College.Common/Helper/MajorPlanScoreTool.cs b/New_College.Common/Helper/MajorPlanScoreTool.cs index d6e72e6..e2a51d8 100644 --- a/New_College.Common/Helper/MajorPlanScoreTool.cs +++ b/New_College.Common/Helper/MajorPlanScoreTool.cs @@ -17,11 +17,22 @@ namespace New_College.Common /// public static int GetPlanPercentage(int LowScore, int requestScore) { - int minscore = requestScore - 25;//最小 + int minscore = requestScore - 60;//最小 int constscore = requestScore;//中位数 int maxscore = requestScore + 15;//最大 - - int percentage = LowScore <= minscore ? new Random().Next(90, 99) : minscore < LowScore && LowScore <= constscore ? new Random().Next(65, 89) : LowScore > constscore && LowScore <= maxscore ? new Random().Next(30, 64) : new Random().Next(1, 29); + int percentage = 0; + if (LowScore >= requestScore - 26 && LowScore <= minscore) + { + percentage = new Random().Next(81, 99); + } + if (LowScore >= requestScore - 1 && LowScore <= requestScore - 26) + { + percentage = new Random().Next(31, 80); + } + if (LowScore >= requestScore && LowScore <= maxscore) + { + percentage = new Random().Next(1, 30); + } return percentage; } @@ -33,10 +44,23 @@ namespace New_College.Common /// public static int GetPlanScore(int LowScore, int requestScore) { - int minscore = requestScore - 25;//最小 - int constscore = requestScore;//中位数 + int minscore = requestScore - 60;//最小 + // int constscore = requestScore;//中位数 int maxscore = requestScore + 15;//最大 - int type = LowScore <= minscore ? 0 : minscore < LowScore && LowScore <= constscore ? 1 : LowScore > constscore && LowScore <= maxscore ? 2 : 0; + int type = 0; + // int type = LowScore <= minscore ? 0 : minscore < LowScore && LowScore <= constscore ? 1 : LowScore > constscore && LowScore <= maxscore ? 2 : 0; + if (LowScore >= requestScore - 26 && LowScore <= minscore) + { + type = 0; + } + if (LowScore <= requestScore - 1 && LowScore >= requestScore - 26) + { + type = 1; + } + if (LowScore >= requestScore && LowScore <= maxscore) + { + type = 2; + } return type; diff --git a/New_College.Extensions/ServiceExtensions/DbSetup.cs b/New_College.Extensions/ServiceExtensions/DbSetup.cs index 26d6c63..7d0ca0d 100644 --- a/New_College.Extensions/ServiceExtensions/DbSetup.cs +++ b/New_College.Extensions/ServiceExtensions/DbSetup.cs @@ -13,7 +13,7 @@ namespace New_College.Extensions { if (services == null) throw new ArgumentNullException(nameof(services)); - services.AddScoped(); + //services.AddScoped(); services.AddScoped(); } } diff --git a/New_College.Model/Models/CasDoorUsers.cs b/New_College.Model/Models/CasDoorUsers.cs index 1244216..9efe92c 100644 --- a/New_College.Model/Models/CasDoorUsers.cs +++ b/New_College.Model/Models/CasDoorUsers.cs @@ -17,9 +17,12 @@ namespace New_College.Model.Models } [SugarColumn(IsPrimaryKey = true)] + public string id { get; set; } + + [SugarColumn(Length = 100)] public string owner { get; set; } - [SugarColumn(IsPrimaryKey = true)] + [SugarColumn(Length = 100)] public string name { get; set; } [SugarColumn(Length = 100)] @@ -28,9 +31,6 @@ namespace New_College.Model.Models [SugarColumn(Length = 100)] public string updated_time { get; set; } - [SugarColumn(Length = 100)] - public string id { get; set; } - [SugarColumn(Length = 100)] public string external_id { get; set; } diff --git a/New_College.Model/Models/V_CustomerInfo.cs b/New_College.Model/Models/V_CustomerInfo.cs index 05ca73c..a6eb6f7 100644 --- a/New_College.Model/Models/V_CustomerInfo.cs +++ b/New_College.Model/Models/V_CustomerInfo.cs @@ -140,7 +140,14 @@ namespace New_College.Model.Models /// 年份 /// [SugarColumn(IsNullable = true)] - public int Year { get; set; } + public int Year { get; set; } + + + /// + /// CasdoorId + /// + [SugarColumn(IsNullable = true)] + public string UUID { get; set; } } } diff --git a/New_College.Repository/BASE/T_EnrollmentPlanedescRepository.cs b/New_College.Repository/BASE/T_EnrollmentPlanedescRepository.cs index 2397d77..0662327 100644 --- a/New_College.Repository/BASE/T_EnrollmentPlanedescRepository.cs +++ b/New_College.Repository/BASE/T_EnrollmentPlanedescRepository.cs @@ -191,7 +191,7 @@ namespace New_College.Repository .WhereIF(query.Type == "稳", p => int.Parse(p._23Score) > 0 && (int.Parse(p._23Score) <= query.Score + 5 && int.Parse(p._23Score) > query.Score - 15)) .WhereIF(query.Type == "保", p => int.Parse(p._23Score) > 0 && (int.Parse(p._23Score) < query.Score - 15)) .WhereIF(!string.IsNullOrWhiteSpace(query.SubjectClaim), c => SqlFunc.Contains(c._24subject, claim[0]) || SqlFunc.Contains(c._24subject, claim[1]) || SqlFunc.Contains(c._24subject, claim[2]) || c._24subject == "不限") - .WhereIF(majornames.Any() && majornames.Count() > 0, p => SqlFunc.ContainsArray(majornames, p.MajorCode)) + .WhereIF(majornames.Any() && majornames.Count() > 0, p => SqlFunc.ContainsArray(majornames, p.MajorName)) .ToListAsync(); var universitylist = recommendInfo.GroupBy(g => g.UniversityName).Select(c => new UniversityEnrollmentPlanResult() { UniversityName = c.Key }).ToList(); diff --git a/New_College.Services/D_PlanMajorDescServices.cs b/New_College.Services/D_PlanMajorDescServices.cs index 3590003..56be7e0 100644 --- a/New_College.Services/D_PlanMajorDescServices.cs +++ b/New_College.Services/D_PlanMajorDescServices.cs @@ -62,7 +62,7 @@ namespace New_College.Services public async Task GetAIPerview(OneSubmitGoRequest request) { var aidto = new AIPerviewDto(); - int startscore = request.Score - 25; + int startscore = request.Score - 60; int endscore = request.Score + 15; var claim = request.SubjectClaim.Split(",", StringSplitOptions.RemoveEmptyEntries).ToList(); var natureNames = NatureHelper.NatureNames(request.Nature); @@ -76,7 +76,7 @@ namespace New_College.Services .AndIF(request._985.HasValue && request._985 == 1, c => SqlFunc.Contains(c.LnstitutionalLevel, "985")) .AndIF(!string.IsNullOrWhiteSpace(request.Ownership), c => c.Ownership == request.Ownership) .AndIF(!string.IsNullOrWhiteSpace(request.Nature), c => SqlFunc.ContainsArray(natureNames, c.Nature)) - .AndIF(request.EndScore > endscore || request.StartScore < startscore, c => SqlFunc.Between(c._23SchoolScore, request.StartScore, request.EndScore)) + .AndIF(request.EndScore > request.StartScore, c => SqlFunc.Between(c._23SchoolScore, startscore, endscore)) .ToExpression(); var querylist = (await t_TbSNeedDataInfoPev.Query(expression)).Select(c => new TbSNeedDataInfoPerviewViewDto() { @@ -166,7 +166,7 @@ namespace New_College.Services request.PageSize = request.PageSize > 50 ? 50 : request.PageSize; var claim = request.SubjectClaim.Split(",", StringSplitOptions.RemoveEmptyEntries).ToList(); var pagemodel = new AIGOPageModel(); - int startscore = request.Score - 25; + int startscore = request.Score - 60; int endscore = request.Score + 15; int qyear = request.Year >= 2023 ? 2023 : request.Year; var batlist = await _batchlineRepository.Query(c => c.Year == qyear && c.Type_name == "综合"); @@ -319,7 +319,7 @@ namespace New_College.Services .AndIF(!string.IsNullOrWhiteSpace(request.Major), c => SqlFunc.Contains(c.MajorName, request.Major)) .AndIF(!string.IsNullOrWhiteSpace(request.Province), c => SqlFunc.Contains(request.Province, c.Province)) //.AndIF(!string.IsNullOrWhiteSpace(request.SchoolType), c => c.SchoolType == request.SchoolType) - .AndIF(request.Score > 0, c => SqlFunc.Between(c._23Score, request.Score - 25, request.Score + 15)) + .AndIF(request.Score > 0, c => SqlFunc.Between(c._23Score, request.Score - 60, request.Score + 15)) .AndIF(request.Syl.HasValue && request.Syl == 1, c => SqlFunc.Contains(c.LnstitutionalLevel, "双一流")) .AndIF(request._211.HasValue && request._211 == 1, c => SqlFunc.Contains(c.LnstitutionalLevel, "211")) .AndIF(request._985.HasValue && request._985 == 1, c => SqlFunc.Contains(c.LnstitutionalLevel, "985")) diff --git a/New_College.Services/T_EnrollmentPlanedescServices.cs b/New_College.Services/T_EnrollmentPlanedescServices.cs index 7663037..b02b3b5 100644 --- a/New_College.Services/T_EnrollmentPlanedescServices.cs +++ b/New_College.Services/T_EnrollmentPlanedescServices.cs @@ -753,7 +753,7 @@ namespace New_College.Services Count = wenuIds.Count(), UniversityIds = wenuIds }); - var baouIds = plandesc.Where(k => k.Scoreline > 0 && (query.Score - 26 > k.Scoreline)).Select(e => e.UniversityId).Distinct().ToList(); + var baouIds = plandesc.Where(k => k.Scoreline > 0 && (query.Score - 26 >= k.Scoreline && query.Score - 60 <= k.Scoreline)).Select(e => e.UniversityId).Distinct().ToList(); list.Add(new CWBEnrollmentPlanResult() { Name = "保",