From 19459be5ff2c2ca74b3f953bb1255061a36c24ad Mon Sep 17 00:00:00 2001
From: liaoxujun@qq.com <liaoxujun@qq.com>
Date: 星期三, 23 八月 2023 14:27:52 +0800
Subject: [PATCH] 修正授权函数类,增加数据库连接配置
---
DocumentServiceAPI.Application/UserAndLogin/ViewMode/UserInfo.cs | 6
DocumentServiceAPI.Model/Permissions/TenantPermissions.cs | 2
DocumentServiceAPI.Web.Entry/appsettings.json | 2
DocumentServiceAPI.Application/DocumentServiceAPI.Application.xml | 14 ++
DocumentServiceApi.InitQMessage/DocumentServiceApi.InitQMessage.csproj | 1
DocumentServiceApi.InitQMessage/MessageReceive.cs | 158 ++++++++++++++++++++++++++++++
DocumentServiceAPI.Model/UserInfoModel/TenantInfo.cs | 7 +
DocumentServiceAPI.Model/Oder/Oder.cs | 50 ++++++++++
DocumentServiceApi.InitQMessage/INITQMessageDefine.cs | 7 +
DocumentServiceApi.InitQMessage/TenantOderInfo.cs | 50 +++++++++
10 files changed, 282 insertions(+), 15 deletions(-)
diff --git a/DocumentServiceAPI.Application/DocumentServiceAPI.Application.xml b/DocumentServiceAPI.Application/DocumentServiceAPI.Application.xml
index 91a23df..1855168 100644
--- a/DocumentServiceAPI.Application/DocumentServiceAPI.Application.xml
+++ b/DocumentServiceAPI.Application/DocumentServiceAPI.Application.xml
@@ -893,6 +893,7 @@
<member name="M:DocumentServiceAPI.Application.UserAndLogin.LogInController.LogoIn(DocumentServiceAPI.Application.UserAndLogin.ViewMode.LoginPsWordIN)">
<summary>
鐧诲綍 1 杈撳叆鍛樺伐璐︽埛鎴栬�呯鎴疯处鎴凤紝2 閫夋嫨绉熸埛璐︽埛锛�3 閫夋嫨鍏徃
+ 褰撳瘑鐮佷负绌烘椂锛屽甫鍏ョ敤鎴蜂腑蹇僼oken鍗冲彲瀹炵幇鐧诲綍
</summary>
<returns>鐧诲綍淇℃伅</returns>
</member>
@@ -922,6 +923,15 @@
<summary>
鏂板缓涓�涓猅Oken
</summary>
+ <returns></returns>
+ </member>
+ <member name="M:DocumentServiceAPI.Application.UserAndLogin.Services.TokenService.CheckJwt(System.String,Microsoft.IdentityModel.Tokens.SecurityToken@)">
+ <summary>
+ 鏍¢獙token 鐨勬湁鏁堟��
+ </summary>
+ <param name="Token"> Token鏍¢獙</param>
+ <param name="validationParameters"></param>
+ <param name="securityToken"></param>
<returns></returns>
</member>
<member name="M:DocumentServiceAPI.Application.UserAndLogin.Services.TokenService.CheckToken">
@@ -1262,8 +1272,8 @@
</member>
<member name="P:DocumentServiceAPI.Application.UserAndLogin.ViewMode.EmployeeInfoVM.UserName">
<summary>
- 鐢ㄦ埛鍚�
- </summary>
+ 鐢ㄦ埛鍚� 鎵嬫満鍙烽獙璇� 蹇呭~
+ </summary>
</member>
<member name="P:DocumentServiceAPI.Application.UserAndLogin.ViewMode.EmployeeInfoVM.UserPassWord">
<summary>
diff --git a/DocumentServiceAPI.Application/UserAndLogin/ViewMode/UserInfo.cs b/DocumentServiceAPI.Application/UserAndLogin/ViewMode/UserInfo.cs
index 7494f98..2ec9abe 100644
--- a/DocumentServiceAPI.Application/UserAndLogin/ViewMode/UserInfo.cs
+++ b/DocumentServiceAPI.Application/UserAndLogin/ViewMode/UserInfo.cs
@@ -130,8 +130,10 @@
/// </summary>
public string LastUpdateName { get; set; }
/// <summary>
- /// 鐢ㄦ埛鍚�
- /// </summary>
+ /// 鐢ㄦ埛鍚� 鎵嬫満鍙烽獙璇� 蹇呭~
+ /// </summary>
+ [Required]
+ [RegularExpression("/^(?:(?:\\+|00)86)?1\\d{10}$/")]
public string UserName { get; set; }
/// <summary>
/// 鐢ㄦ埛瀵嗙爜
diff --git a/DocumentServiceAPI.Model/Oder/Oder.cs b/DocumentServiceAPI.Model/Oder/Oder.cs
index 214e718..818f1a7 100644
--- a/DocumentServiceAPI.Model/Oder/Oder.cs
+++ b/DocumentServiceAPI.Model/Oder/Oder.cs
@@ -1,6 +1,8 @@
锘縰sing DocumentServiceAPI.Enum;
+using SqlSugar;
using System;
using System.Collections.Generic;
+using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
@@ -12,6 +14,54 @@
/// </summary>
public class Oder:BaseModel
{
+ /// <summary>
+ /// OderID
+ /// </summary>
+ [SugarColumn( IsPrimaryKey =true,IsIdentity =true)]
+ public int Id { get; set; }
+ /// <summary>
+ /// 鏈堜唤
+ /// </summary>
+ [Display(Name = "鏈堜唤")]
+ public int? MonthCount { get; set; }
+
+ /// <summary>
+ /// 鍗曚綅涓暟
+ /// </summary>
+ [Display(Name = "鍗曚綅涓暟")]
+ public int? UnitCount { get; set; }
+
+ /// <summary>
+ /// 鍛樺伐
+ /// </summary>
+ [Display(Name = "鍛樺伐涓暟")]
+ public int? EmployeeCount { get; set; }
+ /// <summary>
+ /// 鍗曚环
+ /// </summary>
+ [Display(Name = "閲戦")]
+ public decimal Amount { get; set; }
+ /// <summary>
+ /// 鏀粯鏂瑰紡
+ /// </summary>
+ public string? PayType { get; set; }
+ /// <summary>
+ /// 鏀粯鏃堕棿
+ /// </summary>
+ public DateTime? PayTime { get; set; }
+ /// <summary>
+ /// 鎻忚堪
+ /// </summary>
+ public string? Description { get; set; }
+
+ /// <summary>
+ /// 鎵嬫満鍙风爜
+ /// </summary>
+ public string ITCode { get; set; }
+ /// <summary>
+ /// 鏀块噰鐢ㄦ埛涓績ID
+ /// </summary>
+ public Guid? ZcUserID { get; set; }
}
diff --git a/DocumentServiceAPI.Model/Permissions/TenantPermissions.cs b/DocumentServiceAPI.Model/Permissions/TenantPermissions.cs
index f896efb..d5b331b 100644
--- a/DocumentServiceAPI.Model/Permissions/TenantPermissions.cs
+++ b/DocumentServiceAPI.Model/Permissions/TenantPermissions.cs
@@ -18,7 +18,7 @@
/// id
/// </summary>
[Display(Name = "id ")]
- [SugarColumn(ColumnDescription = "id ")]
+ [SugarColumn(ColumnDescription = "id " ,IsPrimaryKey =true,IsIdentity =true)]
public int Id { get; set; }
/// <summary>
diff --git a/DocumentServiceAPI.Model/UserInfoModel/TenantInfo.cs b/DocumentServiceAPI.Model/UserInfoModel/TenantInfo.cs
index 2773ab1..d84de91 100644
--- a/DocumentServiceAPI.Model/UserInfoModel/TenantInfo.cs
+++ b/DocumentServiceAPI.Model/UserInfoModel/TenantInfo.cs
@@ -68,7 +68,12 @@
/// 瀵嗙爜
/// </summary>
[SugarColumn(Length =30)]
- public string? PsW { get; set; }
+ public string? PsW { get; set; }
+
+ /// <summary>
+ /// 鏀块噰鐢ㄦ埛涓績ID
+ /// </summary>
+ public Guid? ZcUserID { get; set; }
}
diff --git a/DocumentServiceAPI.Web.Entry/appsettings.json b/DocumentServiceAPI.Web.Entry/appsettings.json
index 396bcc1..749ed0e 100644
--- a/DocumentServiceAPI.Web.Entry/appsettings.json
+++ b/DocumentServiceAPI.Web.Entry/appsettings.json
@@ -21,7 +21,7 @@
}
],
- "isCodeFirst": false, //鏄惁鎵цcodefirst 娉ㄦ剰杩欎釜鍦ㄨ縼寰欏畬鎴愬悗搴旇璁剧疆涓篺alse 闃叉鏇存敼鏁版嵁搴�
+ "isCodeFirst": true, //鏄惁鎵цcodefirst 娉ㄦ剰杩欎釜鍦ㄨ縼寰欏畬鎴愬悗搴旇璁剧疆涓篺alse 闃叉鏇存敼鏁版嵁搴�
//璇蜂繚鎸乺edis涓烘甯稿彲鐢�
"RedisConfig": {
// 濡傛灉閲囩敤瀹瑰櫒鍖栭儴缃睸ervice 瑕佸啓鎴恟edis鐨勬湇鍔″悕锛屽惁鍒欏啓鍦板潃
diff --git a/DocumentServiceApi.InitQMessage/DocumentServiceApi.InitQMessage.csproj b/DocumentServiceApi.InitQMessage/DocumentServiceApi.InitQMessage.csproj
index 04978e7..cd7176f 100644
--- a/DocumentServiceApi.InitQMessage/DocumentServiceApi.InitQMessage.csproj
+++ b/DocumentServiceApi.InitQMessage/DocumentServiceApi.InitQMessage.csproj
@@ -12,6 +12,7 @@
<ItemGroup>
<ProjectReference Include="..\DocumentServiceAPI.Core\DocumentServiceAPI.Core.csproj" />
+ <ProjectReference Include="..\DocumentServiceAPI.Model\DocumentServiceAPI.Model.csproj" />
</ItemGroup>
</Project>
diff --git a/DocumentServiceApi.InitQMessage/INITQMessageDefine.cs b/DocumentServiceApi.InitQMessage/INITQMessageDefine.cs
index 55ad3dd..a95de16 100644
--- a/DocumentServiceApi.InitQMessage/INITQMessageDefine.cs
+++ b/DocumentServiceApi.InitQMessage/INITQMessageDefine.cs
@@ -14,6 +14,11 @@
/// <summary>
/// 璐叆Oder娑堟伅
/// </summary>
- public const string InitTentOder = "DocumentServiceAPI_OderINIT";
+ public const string InitTenantOder = "DocumentServiceAPI_OderINIT";
+
+ /// <summary>
+ /// 鎾ゅ崟
+ /// </summary>
+ public const string DecTenantOder = "DocumentServiceAPI_DecOderINIT";
}
}
diff --git a/DocumentServiceApi.InitQMessage/MessageReceive.cs b/DocumentServiceApi.InitQMessage/MessageReceive.cs
index 1451c2d..39221e6 100644
--- a/DocumentServiceApi.InitQMessage/MessageReceive.cs
+++ b/DocumentServiceApi.InitQMessage/MessageReceive.cs
@@ -1,5 +1,13 @@
-锘縰sing InitQ.Abstractions;
+锘縰sing DocumentServiceAPI.Model.Oder;
+using DocumentServiceAPI.Model.Permissions;
+using DocumentServiceAPI.Model.UserInfoModel;
+using Furion;
+using Furion.JsonSerialization;
+using Furion.Logging.Extensions;
+using InitQ.Abstractions;
using InitQ.Attributes;
+using Microsoft.Extensions.Options;
+using SqlSugar;
using System;
using System.Collections.Generic;
using System.Linq;
@@ -13,15 +21,157 @@
/// </summary>
public class MessageReceive: IRedisSubscribe
{
+
+
/// <summary>
/// 鍒濆鍖栬鍗曞鐞�
/// </summary>
/// <param name="msg"></param>
- /// <returns></returns>
-
- [Subscribe(INITQMessageDefine.InitTentOder)]
+ /// <returns></returns>
+ [Subscribe(INITQMessageDefine.InitTenantOder)]
private async Task InitTenantOder(string msg)
{
+ TenantOderInfo? obj = JSON.Deserialize<TenantOderInfo>(msg);
+ if(obj==null)
+ {
+ $"InitTenantOder 鍒濆鍖� msg 瀵硅薄閿欒 ,msg涓簕msg}".LogInformation<MessageReceive>();
+ return;
+ }
+ var _db= App.GetService<ISqlSugarClient>();
+
+
+ Oder oder = new Oder()
+ {
+ Amount = obj.Amount,
+ CreatBy = "娑堟伅闃熷垪 InitTenantOder",
+ CreatTime = DateTime.Now,
+ Description = obj.Description,
+ EmployeeCount = obj.EmployeeCount,
+ MonthCount = obj.MonthCount,
+ UnitCount = obj.UnitCount,
+ PayType = obj.PayType,
+ PayTime = obj.PayTime,
+ ZcUserID = obj.ZcUserID,
+ ITCode = obj.ITCode,
+ };
+ TenantInfo? Tinfo = await _db.Queryable<TenantInfo>().Where(x=>x.ZcUserID==obj.ZcUserID).SingleAsync();
+ if(Tinfo==null)
+ {
+ Tinfo = new TenantInfo
+ {
+ ZcUserID = obj.ZcUserID,
+ ItCode = obj.ITCode,
+ CreatBy = "娑堟伅闃熷垪 InitTenantOder",
+ CreatTime = DateTime.Now,
+ Description = obj.Description,
+ Name = obj.ITCode,
+ PsW = obj.ITCode.Substring(obj.ITCode.Length - 4),
+
+
+ };
+ TenantPermissions permissions = new TenantPermissions()
+ {
+ CreatBy = "娑堟伅闃熷垪 InitTenantOder",
+ CreatTime = DateTime.Now,
+ Description = obj.Description,
+ EmployeeMaxCount = obj.EmployeeCount ?? 0,
+ UnitMaxCount = obj.UnitCount ?? 0,
+ OverTime = DateTime.Now.AddMonths(obj.MonthCount ?? 0),
+
+
+
+ };
+ try
+ {
+ await _db.AsTenant().BeginTranAsync();
+
+ var id= await _db.Insertable(Tinfo).ExecuteReturnIdentityAsync();
+ permissions.TenantId = id;
+ await _db.Insertable(permissions).ExecuteCommandAsync ();
+ await _db.Insertable(oder).ExecuteCommandAsync();
+ await _db.AsTenant().CommitTranAsync();
+ }
+ catch (Exception e)
+ {
+ await _db.AsTenant().RollbackTranAsync();
+ $"鏂板缓绉熸埛澶勭悊澶辫触 msg:{msg},e:{e.ToString()} BY锛氭秷鎭槦鍒� InitTenantOder".LogInformation<MessageReceive>();
+ return;
+ }
+
+
+ }
+ else
+ {
+ Tinfo.ItCode = obj.ITCode;
+ Tinfo.UpdataBy = "娑堟伅闃熷垪 InitTenantOder";
+ Tinfo.UpdataTime = DateTime.Now;
+ Tinfo.IsDel = false;
+ Tinfo.IsEn = true;
+ var tp= await _db.Queryable<TenantPermissions>().Where(x=>x.TenantId==Tinfo.Id).FirstAsync();
+
+ try
+ {
+ await _db.AsTenant().BeginTranAsync();
+ if (Tinfo.ItCode != obj.ITCode)
+ {
+
+ await _db.Updateable(Tinfo).ExecuteCommandAsync();
+ };
+ if (tp == null)
+ {
+ tp = new TenantPermissions()
+ {
+ CreatBy = "娑堟伅闃熷垪 InitTenantOder",
+ CreatTime = DateTime.Now,
+ IsDel = false,
+ IsEn = true,
+ EmployeeMaxCount=obj.EmployeeCount??0,
+ UnitMaxCount=obj.UnitCount??0,
+ OverTime=DateTime.Now.AddMinutes(obj.MonthCount??0),
+ TenantId= Tinfo.Id,
+
+ };
+ await _db.Insertable(tp).ExecuteCommandAsync();
+
+
+ }
+ else
+ {
+ tp.IsDel = false;
+ tp.IsEn = true;
+ tp.UnitMaxCount = obj.UnitCount ?? tp.UnitMaxCount;
+ tp.EmployeeMaxCount = obj.EmployeeCount ?? tp.EmployeeMaxCount;
+ tp.OverTime = tp.OverTime.AddMonths(obj.MonthCount??0);
+ tp.UpdataBy = "娑堟伅闃熷垪 InitTenantOder";
+ tp.UpdataTime = DateTime.Now;
+
+ await _db.Updateable(tp).ExecuteCommandAsync();
+
+ }
+ await _db.Insertable(oder).ExecuteCommandAsync();
+ await _db.AsTenant().CommitTranAsync();
+
+
+
+
+
+ }
+ catch (Exception e)
+ {
+
+ await _db.AsTenant().RollbackTranAsync();
+ $"淇敼绉熸埛鏉冮檺澶辫触 msg:{msg},e:{e.ToString()} By锛氭秷鎭槦鍒� InitTenantOder".LogInformation<MessageReceive>();
+ return;
+ }
+
+ }
+
+
+
+
+
+
+
diff --git a/DocumentServiceApi.InitQMessage/TenantOderInfo.cs b/DocumentServiceApi.InitQMessage/TenantOderInfo.cs
index b27b16f..26eac2c 100644
--- a/DocumentServiceApi.InitQMessage/TenantOderInfo.cs
+++ b/DocumentServiceApi.InitQMessage/TenantOderInfo.cs
@@ -1,5 +1,6 @@
锘縰sing System;
using System.Collections.Generic;
+using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
@@ -7,10 +8,53 @@
namespace DocumentServiceApi.InitQMessage
{
/// <summary>
- /// 璁㈠崟璇︽儏
+ /// 璁㈠崟娑堟伅妯″瀷璇︽儏
/// </summary>
- public class TenantOderInfo
+ internal class TenantOderInfo
{
- public int MyProperty { get; set; }
+ /// <summary>
+ /// 鎵嬫満鍙风爜
+ /// </summary>
+ public string ITCode { get; set; }
+ /// <summary>
+ /// 鏀块噰鐢ㄦ埛涓績ID
+ /// </summary>
+ public Guid? ZcUserID { get; set; }
+ /// <summary>
+ /// 鏈堜唤
+ /// </summary>
+ [Display(Name = "鏈堜唤")]
+ public int? MonthCount { get; set; }
+
+ /// <summary>
+ /// 鍗曚綅涓暟
+ /// </summary>
+ [Display(Name = "鍗曚綅涓暟")]
+ public int? UnitCount { get; set; }
+
+ /// <summary>
+ /// 鍛樺伐
+ /// </summary>
+ [Display(Name = "鍛樺伐涓暟")]
+ public int? EmployeeCount { get; set; }
+ /// <summary>
+ /// 鍗曚环
+ /// </summary>
+ [Display(Name = "閲戦")]
+ public decimal Amount { get; set; }
+ /// <summary>
+ /// 鏀粯鏂瑰紡
+ /// </summary>
+ public string? PayType { get; set; }
+ /// <summary>
+ /// 鏀粯鏃堕棿
+ /// </summary>
+ public DateTime? PayTime { get; set; }
+ /// <summary>
+ /// 鎻忚堪
+ /// </summary>
+ public string? Description { get; set; }
+
+
}
}
--
Gitblit v1.9.1