From 198b7c584180dbfd9f9e7dd972a5ddcf0384d642 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?old=E6=98=93?= <156663459@qq.com>
Date: Fri, 2 Feb 2024 18:21:39 +0800
Subject: [PATCH] feat:bug fixed
---
.../Controllers/Front/CustomerController.cs | 4 ++
.../Controllers/OAuthController.cs | 43 ++++++++++--
New_College.Api/New_College.xml | 7 ++
New_College.Api/Startup.cs | 23 +++---
New_College.Api/appsettings.Development.json | 3 +
New_College.Common/GlobalVar/WeiXinConfig.cs | 5 ++
New_College.Common/Helper/YZYSignCrypt.cs | 70 +++++++++++++++++++
.../Request/ThridLoginRequestDto.cs | 26 +++++++
.../BASE/D_PlanMajorDescProRepository.cs | 2 +-
New_College.Services/D_LongIdMapServices.cs | 52 +++++++-------
.../D_PlanMajorDescProServices.cs | 1 +
.../D_PlanMajorDescServices.cs | 2 +-
.../D_UserSettingBaseServices.cs | 62 +++++++++-------
13 files changed, 235 insertions(+), 65 deletions(-)
create mode 100644 New_College.Common/Helper/YZYSignCrypt.cs
create mode 100644 New_College.Model/Request/ThridLoginRequestDto.cs
diff --git a/New_College.Api/Controllers/Front/CustomerController.cs b/New_College.Api/Controllers/Front/CustomerController.cs
index 23c40d2..e148471 100644
--- a/New_College.Api/Controllers/Front/CustomerController.cs
+++ b/New_College.Api/Controllers/Front/CustomerController.cs
@@ -315,6 +315,10 @@ namespace New_College.Api.Controllers.Front
var result = await _services.UpdateCustomer(query);
if (result.Id > 0)
{
+ if (query.Expectedscore >= 0)
+ {
+ await _userSetting.UpdateSingleCustomerSetting(new UserBaseSettingUpdateDTO() { UType = 0, CustomerId = query.StudentId });//修改参数次数
+ }
var token = JwtHelper.IssueJwt(new TokenModelJwt() { Uid = result.Id, Role = "学生" });
result.Token = token;
}
diff --git a/New_College.Api/Controllers/OAuthController.cs b/New_College.Api/Controllers/OAuthController.cs
index d6ef3c8..4530c5e 100644
--- a/New_College.Api/Controllers/OAuthController.cs
+++ b/New_College.Api/Controllers/OAuthController.cs
@@ -28,7 +28,42 @@ namespace New_College.Controllers
+ ///
+ ///三方登录
+ ///
+ ///
+ ///
+ [Route("login")]
+ public async Task> Login([FromQuery] ThridLoginRequestDto dto)
+ {
+ string token = string.Empty;
+ if (dto == null)
+ {
+ return new MessageModel()
+ {
+ success = false,
+ msg = "参数错误",
+ };
+ }
+ if (ThridConfig.secretKey != dto.secretKey)
+ {
+ return new MessageModel()
+ {
+ success = false,
+ msg = "密钥错误",
+ };
+ }
+ //首先判断是否存在账户|不存在则创建新的账户,存在则直接登录
+
+
+ return new MessageModel()
+ {
+ msg = "ok",
+ success = true,
+ response = token
+ };
+ }
///
/// Oauth2验证回调
@@ -44,7 +79,7 @@ namespace New_College.Controllers
var response = new CasDoorToken();
string jwtStr = string.Empty;
bool suc = false;
- var getaccesstoken = CasdoorHttpHelper.Http_Post("api/login/oauth/access_token",null, new StringContent(Newtonsoft.Json.JsonConvert.SerializeObject(new CasdoorRequest() { code = code, grant_type = "authorization_code", client_id = CasdoorConfig.ClientId, client_secret = CasdoorConfig.ClientSecret }), Encoding.UTF8, "application/json"));//获取access_token
+ var getaccesstoken = CasdoorHttpHelper.Http_Post("api/login/oauth/access_token", null, new StringContent(Newtonsoft.Json.JsonConvert.SerializeObject(new CasdoorRequest() { code = code, grant_type = "authorization_code", client_id = CasdoorConfig.ClientId, client_secret = CasdoorConfig.ClientSecret }), Encoding.UTF8, "application/json"));//获取access_token
var headers = new System.Collections.Generic.Dictionary
{
{ "Authorization", string.Format("Bearer {0}", getaccesstoken.access_token) }
@@ -69,11 +104,11 @@ namespace New_College.Controllers
var single = await _CustomerInfoServices.QueryById(user.Item2.Id);
if (!string.IsNullOrWhiteSpace(user.Item2.Phone))
{
- single.NickName= user.Item2.Phone;
+ single.NickName = user.Item2.Phone;
}
if (!string.IsNullOrWhiteSpace(user.Item2.UserCode))
{
- single.NickName = user.Item2.UserCode;
+ single.NickName = user.Item2.UserCode;
}
await _CustomerInfoServices.Update(single);
}
@@ -88,7 +123,7 @@ namespace New_College.Controllers
return new MessageModel()
{
success = false,
- msg="该账户不存在或已注销"
+ msg = "该账户不存在或已注销"
};
}
diff --git a/New_College.Api/New_College.xml b/New_College.Api/New_College.xml
index 55b3f38..6e9a77a 100644
--- a/New_College.Api/New_College.xml
+++ b/New_College.Api/New_College.xml
@@ -1382,6 +1382,13 @@
+
+
+ 三方登录
+
+
+
+
Oauth2验证回调
diff --git a/New_College.Api/Startup.cs b/New_College.Api/Startup.cs
index 7e07d59..c0e471a 100644
--- a/New_College.Api/Startup.cs
+++ b/New_College.Api/Startup.cs
@@ -66,7 +66,7 @@ namespace New_College
WeixinConfig.KEY = Appsettings.app(new string[] { "Weixin", "KEY" }).ObjToString();
WeixinConfig.NotifyUrl = Appsettings.app(new string[] { "WeChatPay", "NotifyUrl" }).ObjToString();
WeixinConfig.APIv3Key = Appsettings.app(new string[] { "WeChatPay", "APIv3Key" }).ObjToString();
- WeixinConfig.SerialNumber= Appsettings.app(new string[] { "WeChatPay", "SerialNumber" }).ObjToString();
+ WeixinConfig.SerialNumber = Appsettings.app(new string[] { "WeChatPay", "SerialNumber" }).ObjToString();
WeixinConfig.PrivateKey = Appsettings.app(new string[] { "WeChatPay", "PrivateKey" }).ObjToString();
//阿里云oss配置
@@ -81,10 +81,15 @@ namespace New_College
///三方验证接口
CasdoorConfig.Endpoint = Appsettings.app(new string[] { "Casdoor", "Endpoint" });
CasdoorConfig.ClientId = Appsettings.app(new string[] { "Casdoor", "ClientId" });
- CasdoorConfig.ClientSecret = Appsettings.app(new string[] { "Casdoor", "ClientSecret" });
+ CasdoorConfig.ClientSecret = Appsettings.app(new string[] { "Casdoor", "ClientSecret" });
CasdoorConfig.CallbackPath = Appsettings.app(new string[] { "Casdoor", "CallbackPath" });
+ //三方验证
+ ThridConfig.secretKey = Appsettings.app(new string[] { "ThridConfig", "secretKey" });
+
+
+
services.AddMemoryCacheSetup();
services.AddSqlsugarSetup();
services.AddDbSetup();
@@ -98,7 +103,7 @@ namespace New_College
services.AddHttpApi();
-
+
// 授权+认证 (jwt or ids4)
services.AddAuthorizationSetup();
@@ -120,7 +125,7 @@ namespace New_College
services.Configure(x => x.AllowSynchronousIO = true)
.Configure(x => x.AllowSynchronousIO = true);
- services.AddSession();
+ services.AddSession();
services.AddControllers(o =>
{
// 全局异常过滤
@@ -141,11 +146,11 @@ namespace New_College
//取消Unicode编码
options.JsonSerializerOptions.Encoder = JavaScriptEncoder.Create(UnicodeRanges.All);
//忽略空值
- // options.JsonSerializerOptions.IgnoreNullValues = true;
+ // options.JsonSerializerOptions.IgnoreNullValues = true;
//允许额外符号
options.JsonSerializerOptions.AllowTrailingCommas = true;
//反序列化过程中属性名称是否使用不区分大小写的比较
- // options.JsonSerializerOptions.PropertyNameCaseInsensitive = false;
+ // options.JsonSerializerOptions.PropertyNameCaseInsensitive = false;
////将long类型转为string
//options.SerializerSettings.Converters.Add(new NumberConverter(NumberConverterShip.Int64));
});
@@ -167,7 +172,7 @@ namespace New_College
// 注意在Program.CreateHostBuilder,添加Autofac服务工厂
public void ConfigureContainer(ContainerBuilder builder)
{
-
+
builder.RegisterModule(new AutofacModuleRegister());
}
@@ -176,7 +181,7 @@ namespace New_College
{
-
+
// Ip限流,尽量放管道外层
app.UseIpLimitMildd();
// 记录请求与返回数据
@@ -205,7 +210,7 @@ namespace New_College
// 封装Swagger展示
app.UseSwaggerMildd(() => GetType().GetTypeInfo().Assembly.GetManifestResourceStream("New_College.Api.index.html"));
-
+
// ↓↓↓↓↓↓ 注意下边这些中间件的顺序,很重要 ↓↓↓↓↓↓
diff --git a/New_College.Api/appsettings.Development.json b/New_College.Api/appsettings.Development.json
index fe42b2f..2afffc4 100644
--- a/New_College.Api/appsettings.Development.json
+++ b/New_College.Api/appsettings.Development.json
@@ -244,6 +244,9 @@
"NotifyUrl": "https://zytb.ycymedu.com/api/front/WeixinPay/PayNotify",
"PrivateKey": "/cert/apiclient_cert.p12", //(新)证书私钥
"SerialNumber": "1B304596B953D156B37863FF52FCAE40B458C9F2" //(新)证书序列号
+ },
+ "ThridConfig": {
+ "secretKey": "01eb9ee95ba00e440ece83f904ef9640"
}
}
diff --git a/New_College.Common/GlobalVar/WeiXinConfig.cs b/New_College.Common/GlobalVar/WeiXinConfig.cs
index 4d05d06..9434cbe 100644
--- a/New_College.Common/GlobalVar/WeiXinConfig.cs
+++ b/New_College.Common/GlobalVar/WeiXinConfig.cs
@@ -1,6 +1,11 @@
namespace New_College
{
+ public static class ThridConfig
+ {
+
+ public static string secretKey { get; set; }
+ }
public static class WeixinConfig
{
///
diff --git a/New_College.Common/Helper/YZYSignCrypt.cs b/New_College.Common/Helper/YZYSignCrypt.cs
new file mode 100644
index 0000000..b1500bd
--- /dev/null
+++ b/New_College.Common/Helper/YZYSignCrypt.cs
@@ -0,0 +1,70 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace New_College.Common
+{
+ public class YZYSignCrypt
+ {
+ public static string GetCryptCode(DateTime dt)
+ {
+ string datestring = dt.ToString("yyyy-MM-dd HH:mm:ss");
+ StringBuilder sb = new StringBuilder();
+ var rnd = new Random();
+ int k = rnd.Next(0, 18);
+ for (int i = 0; i < datestring.Length; i++)
+ {
+ if (k == i)
+ {
+ sb.Append("A");
+ }
+ switch (datestring[i])
+ {
+ case '0':
+ sb.Append("Z");
+ break;
+ case '1':
+ sb.Append("0");
+ break;
+ case '2':
+ sb.Append("T");
+ break;
+ case '3':
+ sb.Append("t");
+ break;
+ case '4':
+ sb.Append("F");
+ break;
+ case '5':
+ sb.Append("f");
+ break;
+ case '6':
+ sb.Append("S");
+ break;
+ case '7':
+ sb.Append("s");
+ break;
+ case '8':
+ sb.Append("E");
+ break;
+ case '9':
+ sb.Append("N");
+ break;
+ case '-':
+ sb.Append("L");
+ break;
+ case ':':
+ sb.Append("D");
+ break;
+ case ' ':
+ sb.Append("a");
+ break;
+ }
+ }
+ return sb.ToString();
+ }
+
+ }
+}
diff --git a/New_College.Model/Request/ThridLoginRequestDto.cs b/New_College.Model/Request/ThridLoginRequestDto.cs
new file mode 100644
index 0000000..8d2889f
--- /dev/null
+++ b/New_College.Model/Request/ThridLoginRequestDto.cs
@@ -0,0 +1,26 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace New_College.Model
+{
+ public class ThridLoginRequestDto
+ {
+ public string secretKey { get; set; }
+ public string sign { get; set; }
+ public string openUserId { get; set; }
+ public string openUsername { get; set; }
+ public string openUserProvince { get; set; }
+ public string openUserSchool { get; set; }
+ public string openNickName { get; set; }
+
+ public string operType { get; set; }
+
+ public string isH5 { get; set; }
+
+ public string redirectUrl { get; set; }
+
+ }
+}
diff --git a/New_College.Repository/BASE/D_PlanMajorDescProRepository.cs b/New_College.Repository/BASE/D_PlanMajorDescProRepository.cs
index 9d5b27f..1a5c2f8 100644
--- a/New_College.Repository/BASE/D_PlanMajorDescProRepository.cs
+++ b/New_College.Repository/BASE/D_PlanMajorDescProRepository.cs
@@ -28,7 +28,7 @@ namespace New_College.Repository
{
RefAsync totalCount = 0;
var pageresult = new PageModel();
-
+ request.Year = request.Year > DateTime.Now.Year - 1 ? DateTime.Now.Year - 1 : request.Year;
var pagelist = await this.Db.Queryable().Where(c => c.Location == request.Location)
.Where(c => c.Years == request.Year)
.WhereIF(request.Sff.HasValue, c => c._211 == (request.Sff == 1 ? "是" : "否"))
diff --git a/New_College.Services/D_LongIdMapServices.cs b/New_College.Services/D_LongIdMapServices.cs
index e2a6f5c..b6b3704 100644
--- a/New_College.Services/D_LongIdMapServices.cs
+++ b/New_College.Services/D_LongIdMapServices.cs
@@ -1998,32 +1998,32 @@ namespace New_College.Services
#region 院校专业关联
- var models = new List();
- tbinfo.ForEach(a =>
- {
- if (universitylist.Where(e => e.Name == a.UniversityName).Any())
- {
- if (majorlist.Where(e => a.MajorName.Contains(e.Name)).Any())
- {
- var mid = majorlist.Where(e => a.MajorName.Contains(e.Name)).FirstOrDefault().Id;
- var uid = universitylist.Where(e => e.Name == a.UniversityName).FirstOrDefault().Id;
- if (!models.Where(e => e.Universityid == uid && e.MajorId == mid).Any())
- {
- models.Add(new D_MajorMapUniversity()
- {
- CreateTime = DateTime.UtcNow,
- IsDelete = false,
- ModifyTime = DateTime.UtcNow,
- OrderSort = 0,
- sp = 0,
- MajorId = majorlist.Where(e => a.MajorName.Contains(e.Name)).FirstOrDefault().Id,
- Universityid = universitylist.Where(e => e.Name == a.UniversityName).FirstOrDefault().Id
- });
- }
- }
- }
- });
- await d_MajorMapUniversityRepository.Add(models);
+ //var models = new List();
+ //tbinfo.ForEach(a =>
+ //{
+ // if (universitylist.Where(e => e.Name == a.UniversityName).Any())
+ // {
+ // if (majorlist.Where(e => a.MajorName.Contains(e.Name)).Any())
+ // {
+ // var mid = majorlist.Where(e => a.MajorName.Contains(e.Name)).FirstOrDefault().Id;
+ // var uid = universitylist.Where(e => e.Name == a.UniversityName).FirstOrDefault().Id;
+ // if (!models.Where(e => e.Universityid == uid && e.MajorId == mid).Any())
+ // {
+ // models.Add(new D_MajorMapUniversity()
+ // {
+ // CreateTime = DateTime.UtcNow,
+ // IsDelete = false,
+ // ModifyTime = DateTime.UtcNow,
+ // OrderSort = 0,
+ // sp = 0,
+ // MajorId = majorlist.Where(e => a.MajorName.Contains(e.Name)).FirstOrDefault().Id,
+ // Universityid = universitylist.Where(e => e.Name == a.UniversityName).FirstOrDefault().Id
+ // });
+ // }
+ // }
+ // }
+ //});
+ //await d_MajorMapUniversityRepository.Add(models);
#endregion
diff --git a/New_College.Services/D_PlanMajorDescProServices.cs b/New_College.Services/D_PlanMajorDescProServices.cs
index 74227dc..ed1b9ba 100644
--- a/New_College.Services/D_PlanMajorDescProServices.cs
+++ b/New_College.Services/D_PlanMajorDescProServices.cs
@@ -38,6 +38,7 @@ namespace New_College.Services
///
public async Task GetMajorPlanPro(MajorPlanProViewQuery request)
{
+ request.Year = request.Year > (DateTime.Now.Year - 1) ? (DateTime.Now.Year - 1) : request.Year;
var majorview = new MajorPlanProView();
Expression> expression = Expressionable.Create()
.And(c => c.UId == request.UId)
diff --git a/New_College.Services/D_PlanMajorDescServices.cs b/New_College.Services/D_PlanMajorDescServices.cs
index c138c40..3590003 100644
--- a/New_College.Services/D_PlanMajorDescServices.cs
+++ b/New_College.Services/D_PlanMajorDescServices.cs
@@ -169,7 +169,7 @@ namespace New_College.Services
int startscore = request.Score - 25;
int endscore = request.Score + 15;
int qyear = request.Year >= 2023 ? 2023 : request.Year;
- var batlist = await _batchlineRepository.Query(c => c.Year == request.Year && c.Type_name == "综合");
+ var batlist = await _batchlineRepository.Query(c => c.Year == qyear && c.Type_name == "综合");
request.BatchName = batlist.Where(c => c.Average <= request.Score && c.Batch_name == "普通类一段").Any() ? "普通类一段" : "普通类二段";
Expression> expression = Expressionable.Create()
.And(c => c.Years == qyear)
diff --git a/New_College.Services/D_UserSettingBaseServices.cs b/New_College.Services/D_UserSettingBaseServices.cs
index 0868f9c..5983897 100644
--- a/New_College.Services/D_UserSettingBaseServices.cs
+++ b/New_College.Services/D_UserSettingBaseServices.cs
@@ -43,31 +43,45 @@ namespace New_College.Services
{
return false;
}
- var basesettinginfo = new D_UserSettingBase()
+ var usersettinglist = await _dal.Query(e => e.CustomerId == request.CustomerId);
+ if (usersettinglist.Any())
{
- CustomerId = request.CustomerId,
- CreateTime = DateTime.Now,
- IsDelete = false,
- OrderSort = 0,
- PType = 0,
- ScoreCount = customerinfo.FirstOrDefault().IsVIP ? 10 : 3,
- SearchCount = customerinfo.FirstOrDefault().IsVIP ? 9999 : 10,
- ShowCount = customerinfo.FirstOrDefault().IsVIP ? 9999 : 10,
- };
+ usersettinglist.ForEach(a =>
+ {
+ a.ScoreCount = 10;
+ a.SearchCount = 9999;
+ a.ShowCount = 9999;
+ });
+ await _dal.Update(usersettinglist);
+ }
+ else
+ {
+ var basesettinginfo = new D_UserSettingBase()
+ {
+ CustomerId = request.CustomerId,
+ CreateTime = DateTime.Now,
+ IsDelete = false,
+ OrderSort = 0,
+ PType = 0,
+ ScoreCount = customerinfo.FirstOrDefault().IsVIP ? 10 : 3,
+ SearchCount = customerinfo.FirstOrDefault().IsVIP ? 9999 : 10,
+ ShowCount = customerinfo.FirstOrDefault().IsVIP ? 9999 : 10,
+ };
- var basesettingtypeinfo = new D_UserSettingBase()
- {
- CustomerId = request.CustomerId,
- CreateTime = DateTime.Now,
- IsDelete = false,
- OrderSort = 0,
- PType = 1,
- ScoreCount = customerinfo.FirstOrDefault().IsVIP ? 10 : 3,
- SearchCount = customerinfo.FirstOrDefault().IsVIP ? 9999 : 10,
- ShowCount = customerinfo.FirstOrDefault().IsVIP ? 9999 : 10,
- };
- await _dal.Add(basesettinginfo);
- await _dal.Add(basesettingtypeinfo);
+ var basesettingtypeinfo = new D_UserSettingBase()
+ {
+ CustomerId = request.CustomerId,
+ CreateTime = DateTime.Now,
+ IsDelete = false,
+ OrderSort = 0,
+ PType = 1,
+ ScoreCount = customerinfo.FirstOrDefault().IsVIP ? 10 : 3,
+ SearchCount = customerinfo.FirstOrDefault().IsVIP ? 9999 : 10,
+ ShowCount = customerinfo.FirstOrDefault().IsVIP ? 9999 : 10,
+ };
+ await _dal.Add(basesettinginfo);
+ await _dal.Add(basesettingtypeinfo);
+ }
return true;
}
@@ -88,7 +102,7 @@ namespace New_College.Services
var models = userbaselist.FirstOrDefault();
models.ScoreCount = c.IsVIP ? 10 : 3;
models.SearchCount = c.IsVIP ? 9999 : 10;
- models.ShowCount= c.IsVIP ? 9999 : 10;
+ models.ShowCount = c.IsVIP ? 9999 : 10;
modelslist.Add(models);
}
});