DocumentServiceAPI.Application/DocumentServiceAPI.Application.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
DocumentServiceAPI.Application/UserAndLogin/ViewMode/UserInfo.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
DocumentServiceAPI.Model/Oder/Oder.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
DocumentServiceAPI.Model/Permissions/TenantPermissions.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
DocumentServiceAPI.Model/UserInfoModel/TenantInfo.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
DocumentServiceAPI.Web.Entry/appsettings.json | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
DocumentServiceApi.InitQMessage/DocumentServiceApi.InitQMessage.csproj | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
DocumentServiceApi.InitQMessage/INITQMessageDefine.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
DocumentServiceApi.InitQMessage/MessageReceive.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
DocumentServiceApi.InitQMessage/TenantOderInfo.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
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 选择公司 当密码为空时,带入用户中心token即可实现登录 </summary> <returns>登录信息</returns> </member> @@ -922,6 +923,15 @@ <summary> 新建一个TOken </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,7 +1272,7 @@ </member> <member name="P:DocumentServiceAPI.Application.UserAndLogin.ViewMode.EmployeeInfoVM.UserName"> <summary> 用户名 用户名 手机号验证 必填 </summary> </member> <member name="P:DocumentServiceAPI.Application.UserAndLogin.ViewMode.EmployeeInfoVM.UserPassWord"> DocumentServiceAPI.Application/UserAndLogin/ViewMode/UserInfo.cs
@@ -130,8 +130,10 @@ /// </summary> public string LastUpdateName { get; set; } /// <summary> /// 用户名 /// 用户名 手机号验证 必填 /// </summary> [Required] [RegularExpression("/^(?:(?:\\+|00)86)?1\\d{10}$/")] public string UserName { get; set; } /// <summary> /// 用户密码 DocumentServiceAPI.Model/Oder/Oder.cs
@@ -1,6 +1,8 @@ using 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; } } 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> DocumentServiceAPI.Model/UserInfoModel/TenantInfo.cs
@@ -69,6 +69,11 @@ /// </summary> [SugarColumn(Length =30)] public string? PsW { get; set; } /// <summary> /// 政采用户中心ID /// </summary> public Guid? ZcUserID { get; set; } } DocumentServiceAPI.Web.Entry/appsettings.json
@@ -21,7 +21,7 @@ } ], "isCodeFirst": false, //是否执行codefirst 注意这个在迁徙完成后应该设置为false 防止更改数据库 "isCodeFirst": true, //是否执行codefirst 注意这个在迁徙完成后应该设置为false 防止更改数据库 //请保持redis为正常可用 "RedisConfig": { // 如果采用容器化部署Service 要写成redis的服务名,否则写地址 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> 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"; } } DocumentServiceApi.InitQMessage/MessageReceive.cs
@@ -1,5 +1,13 @@ using InitQ.Abstractions; using 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)] [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; } } DocumentServiceApi.InitQMessage/TenantOderInfo.cs
@@ -1,5 +1,6 @@ using 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; } } }