feat:bug fixed

develop
old易 2024-02-02 18:21:39 +08:00
parent 424e8d7d29
commit 198b7c5841
13 changed files with 235 additions and 65 deletions

View File

@ -315,6 +315,10 @@ namespace New_College.Api.Controllers.Front
var result = await _services.UpdateCustomer(query); var result = await _services.UpdateCustomer(query);
if (result.Id > 0) 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 = "学生" }); var token = JwtHelper.IssueJwt(new TokenModelJwt() { Uid = result.Id, Role = "学生" });
result.Token = token; result.Token = token;
} }

View File

@ -28,7 +28,42 @@ namespace New_College.Controllers
/// <summary>
///三方登录
/// </summary>
/// <param name="dto"></param>
/// <returns></returns>
[Route("login")]
public async Task<MessageModel<string>> Login([FromQuery] ThridLoginRequestDto dto)
{
string token = string.Empty;
if (dto == null)
{
return new MessageModel<string>()
{
success = false,
msg = "参数错误",
};
}
if (ThridConfig.secretKey != dto.secretKey)
{
return new MessageModel<string>()
{
success = false,
msg = "密钥错误",
};
}
//首先判断是否存在账户|不存在则创建新的账户,存在则直接登录
return new MessageModel<string>()
{
msg = "ok",
success = true,
response = token
};
}
/// <summary> /// <summary>
/// Oauth2验证回调 /// Oauth2验证回调
@ -44,7 +79,7 @@ namespace New_College.Controllers
var response = new CasDoorToken(); var response = new CasDoorToken();
string jwtStr = string.Empty; string jwtStr = string.Empty;
bool suc = false; bool suc = false;
var getaccesstoken = CasdoorHttpHelper.Http_Post<CasdoorGetTokenResponse>("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<CasdoorGetTokenResponse>("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<string, string> var headers = new System.Collections.Generic.Dictionary<string, string>
{ {
{ "Authorization", string.Format("Bearer {0}", getaccesstoken.access_token) } { "Authorization", string.Format("Bearer {0}", getaccesstoken.access_token) }
@ -69,11 +104,11 @@ namespace New_College.Controllers
var single = await _CustomerInfoServices.QueryById(user.Item2.Id); var single = await _CustomerInfoServices.QueryById(user.Item2.Id);
if (!string.IsNullOrWhiteSpace(user.Item2.Phone)) if (!string.IsNullOrWhiteSpace(user.Item2.Phone))
{ {
single.NickName= user.Item2.Phone; single.NickName = user.Item2.Phone;
} }
if (!string.IsNullOrWhiteSpace(user.Item2.UserCode)) if (!string.IsNullOrWhiteSpace(user.Item2.UserCode))
{ {
single.NickName = user.Item2.UserCode; single.NickName = user.Item2.UserCode;
} }
await _CustomerInfoServices.Update(single); await _CustomerInfoServices.Update(single);
} }
@ -88,7 +123,7 @@ namespace New_College.Controllers
return new MessageModel<CasDoorToken>() return new MessageModel<CasDoorToken>()
{ {
success = false, success = false,
msg="该账户不存在或已注销" msg = "该账户不存在或已注销"
}; };
} }

View File

@ -1382,6 +1382,13 @@
</summary> </summary>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:New_College.Controllers.OauthController.Login(New_College.Model.ThridLoginRequestDto)">
<summary>
三方登录
</summary>
<param name="dto"></param>
<returns></returns>
</member>
<member name="M:New_College.Controllers.OauthController.Callback(System.String,System.String,System.String)"> <member name="M:New_College.Controllers.OauthController.Callback(System.String,System.String,System.String)">
<summary> <summary>
Oauth2验证回调 Oauth2验证回调

View File

@ -66,7 +66,7 @@ namespace New_College
WeixinConfig.KEY = Appsettings.app(new string[] { "Weixin", "KEY" }).ObjToString(); WeixinConfig.KEY = Appsettings.app(new string[] { "Weixin", "KEY" }).ObjToString();
WeixinConfig.NotifyUrl = Appsettings.app(new string[] { "WeChatPay", "NotifyUrl" }).ObjToString(); WeixinConfig.NotifyUrl = Appsettings.app(new string[] { "WeChatPay", "NotifyUrl" }).ObjToString();
WeixinConfig.APIv3Key = Appsettings.app(new string[] { "WeChatPay", "APIv3Key" }).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(); WeixinConfig.PrivateKey = Appsettings.app(new string[] { "WeChatPay", "PrivateKey" }).ObjToString();
//阿里云oss配置 //阿里云oss配置
@ -81,10 +81,15 @@ namespace New_College
///三方验证接口 ///三方验证接口
CasdoorConfig.Endpoint = Appsettings.app(new string[] { "Casdoor", "Endpoint" }); CasdoorConfig.Endpoint = Appsettings.app(new string[] { "Casdoor", "Endpoint" });
CasdoorConfig.ClientId = Appsettings.app(new string[] { "Casdoor", "ClientId" }); 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" }); CasdoorConfig.CallbackPath = Appsettings.app(new string[] { "Casdoor", "CallbackPath" });
//三方验证
ThridConfig.secretKey = Appsettings.app(new string[] { "ThridConfig", "secretKey" });
services.AddMemoryCacheSetup(); services.AddMemoryCacheSetup();
services.AddSqlsugarSetup(); services.AddSqlsugarSetup();
services.AddDbSetup(); services.AddDbSetup();
@ -98,7 +103,7 @@ namespace New_College
services.AddHttpApi(); services.AddHttpApi();
// 授权+认证 (jwt or ids4) // 授权+认证 (jwt or ids4)
services.AddAuthorizationSetup(); services.AddAuthorizationSetup();
@ -120,7 +125,7 @@ namespace New_College
services.Configure<KestrelServerOptions>(x => x.AllowSynchronousIO = true) services.Configure<KestrelServerOptions>(x => x.AllowSynchronousIO = true)
.Configure<IISServerOptions>(x => x.AllowSynchronousIO = true); .Configure<IISServerOptions>(x => x.AllowSynchronousIO = true);
services.AddSession(); services.AddSession();
services.AddControllers(o => services.AddControllers(o =>
{ {
// 全局异常过滤 // 全局异常过滤
@ -141,11 +146,11 @@ namespace New_College
//取消Unicode编码 //取消Unicode编码
options.JsonSerializerOptions.Encoder = JavaScriptEncoder.Create(UnicodeRanges.All); options.JsonSerializerOptions.Encoder = JavaScriptEncoder.Create(UnicodeRanges.All);
//忽略空值 //忽略空值
// options.JsonSerializerOptions.IgnoreNullValues = true; // options.JsonSerializerOptions.IgnoreNullValues = true;
//允许额外符号 //允许额外符号
options.JsonSerializerOptions.AllowTrailingCommas = true; options.JsonSerializerOptions.AllowTrailingCommas = true;
//反序列化过程中属性名称是否使用不区分大小写的比较 //反序列化过程中属性名称是否使用不区分大小写的比较
// options.JsonSerializerOptions.PropertyNameCaseInsensitive = false; // options.JsonSerializerOptions.PropertyNameCaseInsensitive = false;
////将long类型转为string ////将long类型转为string
//options.SerializerSettings.Converters.Add(new NumberConverter(NumberConverterShip.Int64)); //options.SerializerSettings.Converters.Add(new NumberConverter(NumberConverterShip.Int64));
}); });
@ -167,7 +172,7 @@ namespace New_College
// 注意在Program.CreateHostBuilder添加Autofac服务工厂 // 注意在Program.CreateHostBuilder添加Autofac服务工厂
public void ConfigureContainer(ContainerBuilder builder) public void ConfigureContainer(ContainerBuilder builder)
{ {
builder.RegisterModule(new AutofacModuleRegister()); builder.RegisterModule(new AutofacModuleRegister());
} }
@ -176,7 +181,7 @@ namespace New_College
{ {
// Ip限流,尽量放管道外层 // Ip限流,尽量放管道外层
app.UseIpLimitMildd(); app.UseIpLimitMildd();
// 记录请求与返回数据 // 记录请求与返回数据
@ -205,7 +210,7 @@ namespace New_College
// 封装Swagger展示 // 封装Swagger展示
app.UseSwaggerMildd(() => GetType().GetTypeInfo().Assembly.GetManifestResourceStream("New_College.Api.index.html")); app.UseSwaggerMildd(() => GetType().GetTypeInfo().Assembly.GetManifestResourceStream("New_College.Api.index.html"));
// ↓↓↓↓↓↓ 注意下边这些中间件的顺序,很重要 ↓↓↓↓↓↓ // ↓↓↓↓↓↓ 注意下边这些中间件的顺序,很重要 ↓↓↓↓↓↓

View File

@ -244,6 +244,9 @@
"NotifyUrl": "https://zytb.ycymedu.com/api/front/WeixinPay/PayNotify", "NotifyUrl": "https://zytb.ycymedu.com/api/front/WeixinPay/PayNotify",
"PrivateKey": "/cert/apiclient_cert.p12", // "PrivateKey": "/cert/apiclient_cert.p12", //
"SerialNumber": "1B304596B953D156B37863FF52FCAE40B458C9F2" // "SerialNumber": "1B304596B953D156B37863FF52FCAE40B458C9F2" //
},
"ThridConfig": {
"secretKey": "01eb9ee95ba00e440ece83f904ef9640"
} }
} }

View File

@ -1,6 +1,11 @@
namespace New_College namespace New_College
{ {
public static class ThridConfig
{
public static string secretKey { get; set; }
}
public static class WeixinConfig public static class WeixinConfig
{ {
/// <summary> /// <summary>

View File

@ -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();
}
}
}

View File

@ -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; }
}
}

View File

@ -28,7 +28,7 @@ namespace New_College.Repository
{ {
RefAsync<int> totalCount = 0; RefAsync<int> totalCount = 0;
var pageresult = new PageModel<UniversityPlanProView>(); var pageresult = new PageModel<UniversityPlanProView>();
request.Year = request.Year > DateTime.Now.Year - 1 ? DateTime.Now.Year - 1 : request.Year;
var pagelist = await this.Db.Queryable<D_PlanMajorDescPro>().Where(c => c.Location == request.Location) var pagelist = await this.Db.Queryable<D_PlanMajorDescPro>().Where(c => c.Location == request.Location)
.Where(c => c.Years == request.Year) .Where(c => c.Years == request.Year)
.WhereIF(request.Sff.HasValue, c => c._211 == (request.Sff == 1 ? "是" : "否")) .WhereIF(request.Sff.HasValue, c => c._211 == (request.Sff == 1 ? "是" : "否"))

View File

@ -1998,32 +1998,32 @@ namespace New_College.Services
#region 院校专业关联 #region 院校专业关联
var models = new List<D_MajorMapUniversity>(); //var models = new List<D_MajorMapUniversity>();
tbinfo.ForEach(a => //tbinfo.ForEach(a =>
{ //{
if (universitylist.Where(e => e.Name == a.UniversityName).Any()) // if (universitylist.Where(e => e.Name == a.UniversityName).Any())
{ // {
if (majorlist.Where(e => a.MajorName.Contains(e.Name)).Any()) // if (majorlist.Where(e => a.MajorName.Contains(e.Name)).Any())
{ // {
var mid = majorlist.Where(e => a.MajorName.Contains(e.Name)).FirstOrDefault().Id; // var mid = majorlist.Where(e => a.MajorName.Contains(e.Name)).FirstOrDefault().Id;
var uid = universitylist.Where(e => e.Name == a.UniversityName).FirstOrDefault().Id; // var uid = universitylist.Where(e => e.Name == a.UniversityName).FirstOrDefault().Id;
if (!models.Where(e => e.Universityid == uid && e.MajorId == mid).Any()) // if (!models.Where(e => e.Universityid == uid && e.MajorId == mid).Any())
{ // {
models.Add(new D_MajorMapUniversity() // models.Add(new D_MajorMapUniversity()
{ // {
CreateTime = DateTime.UtcNow, // CreateTime = DateTime.UtcNow,
IsDelete = false, // IsDelete = false,
ModifyTime = DateTime.UtcNow, // ModifyTime = DateTime.UtcNow,
OrderSort = 0, // OrderSort = 0,
sp = 0, // sp = 0,
MajorId = majorlist.Where(e => a.MajorName.Contains(e.Name)).FirstOrDefault().Id, // MajorId = majorlist.Where(e => a.MajorName.Contains(e.Name)).FirstOrDefault().Id,
Universityid = universitylist.Where(e => e.Name == a.UniversityName).FirstOrDefault().Id // Universityid = universitylist.Where(e => e.Name == a.UniversityName).FirstOrDefault().Id
}); // });
} // }
} // }
} // }
}); //});
await d_MajorMapUniversityRepository.Add(models); //await d_MajorMapUniversityRepository.Add(models);
#endregion #endregion

View File

@ -38,6 +38,7 @@ namespace New_College.Services
/// <returns></returns> /// <returns></returns>
public async Task<MajorPlanProView> GetMajorPlanPro(MajorPlanProViewQuery request) public async Task<MajorPlanProView> GetMajorPlanPro(MajorPlanProViewQuery request)
{ {
request.Year = request.Year > (DateTime.Now.Year - 1) ? (DateTime.Now.Year - 1) : request.Year;
var majorview = new MajorPlanProView(); var majorview = new MajorPlanProView();
Expression<Func<D_PlanMajorDescPro, bool>> expression = Expressionable.Create<D_PlanMajorDescPro>() Expression<Func<D_PlanMajorDescPro, bool>> expression = Expressionable.Create<D_PlanMajorDescPro>()
.And(c => c.UId == request.UId) .And(c => c.UId == request.UId)

View File

@ -169,7 +169,7 @@ namespace New_College.Services
int startscore = request.Score - 25; int startscore = request.Score - 25;
int endscore = request.Score + 15; int endscore = request.Score + 15;
int qyear = request.Year >= 2023 ? 2023 : request.Year; 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() ? "普通类一段" : "普通类二段"; request.BatchName = batlist.Where(c => c.Average <= request.Score && c.Batch_name == "普通类一段").Any() ? "普通类一段" : "普通类二段";
Expression<Func<D_QualificationLine, bool>> expression = Expressionable.Create<D_QualificationLine>() Expression<Func<D_QualificationLine, bool>> expression = Expressionable.Create<D_QualificationLine>()
.And(c => c.Years == qyear) .And(c => c.Years == qyear)

View File

@ -43,31 +43,45 @@ namespace New_College.Services
{ {
return false; return false;
} }
var basesettinginfo = new D_UserSettingBase() var usersettinglist = await _dal.Query(e => e.CustomerId == request.CustomerId);
if (usersettinglist.Any())
{ {
CustomerId = request.CustomerId, usersettinglist.ForEach(a =>
CreateTime = DateTime.Now, {
IsDelete = false, a.ScoreCount = 10;
OrderSort = 0, a.SearchCount = 9999;
PType = 0, a.ShowCount = 9999;
ScoreCount = customerinfo.FirstOrDefault().IsVIP ? 10 : 3, });
SearchCount = customerinfo.FirstOrDefault().IsVIP ? 9999 : 10, await _dal.Update(usersettinglist);
ShowCount = customerinfo.FirstOrDefault().IsVIP ? 9999 : 10, }
}; 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() var basesettingtypeinfo = new D_UserSettingBase()
{ {
CustomerId = request.CustomerId, CustomerId = request.CustomerId,
CreateTime = DateTime.Now, CreateTime = DateTime.Now,
IsDelete = false, IsDelete = false,
OrderSort = 0, OrderSort = 0,
PType = 1, PType = 1,
ScoreCount = customerinfo.FirstOrDefault().IsVIP ? 10 : 3, ScoreCount = customerinfo.FirstOrDefault().IsVIP ? 10 : 3,
SearchCount = customerinfo.FirstOrDefault().IsVIP ? 9999 : 10, SearchCount = customerinfo.FirstOrDefault().IsVIP ? 9999 : 10,
ShowCount = customerinfo.FirstOrDefault().IsVIP ? 9999 : 10, ShowCount = customerinfo.FirstOrDefault().IsVIP ? 9999 : 10,
}; };
await _dal.Add(basesettinginfo); await _dal.Add(basesettinginfo);
await _dal.Add(basesettingtypeinfo); await _dal.Add(basesettingtypeinfo);
}
return true; return true;
} }
@ -88,7 +102,7 @@ namespace New_College.Services
var models = userbaselist.FirstOrDefault(); var models = userbaselist.FirstOrDefault();
models.ScoreCount = c.IsVIP ? 10 : 3; models.ScoreCount = c.IsVIP ? 10 : 3;
models.SearchCount = c.IsVIP ? 9999 : 10; models.SearchCount = c.IsVIP ? 9999 : 10;
models.ShowCount= c.IsVIP ? 9999 : 10; models.ShowCount = c.IsVIP ? 9999 : 10;
modelslist.Add(models); modelslist.Add(models);
} }
}); });