From 6b24ae48c664c25676672ece72d134474c6af817 Mon Sep 17 00:00:00 2001 From: liaoxujun@qq.com <liaoxujun@qq.com> Date: 星期二, 12 九月 2023 15:00:23 +0800 Subject: [PATCH] 消息发送 --- DocumentServiceApi.InitQMessage/MessageReceive.cs | 89 ++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 85 insertions(+), 4 deletions(-) diff --git a/DocumentServiceApi.InitQMessage/MessageReceive.cs b/DocumentServiceApi.InitQMessage/MessageReceive.cs index 39221e6..272bf15 100644 --- a/DocumentServiceApi.InitQMessage/MessageReceive.cs +++ b/DocumentServiceApi.InitQMessage/MessageReceive.cs @@ -1,11 +1,14 @@ -锘縰sing DocumentServiceAPI.Model.Oder; +锘縰sing DocumentServiceAPI.Model.cyDocumentModel; +using DocumentServiceAPI.Model.Oder; using DocumentServiceAPI.Model.Permissions; using DocumentServiceAPI.Model.UserInfoModel; using Furion; using Furion.JsonSerialization; using Furion.Logging.Extensions; +using Furion.Schedule; using InitQ.Abstractions; using InitQ.Attributes; +using InitQ.Cache; using Microsoft.Extensions.Options; using SqlSugar; using System; @@ -21,8 +24,12 @@ /// </summary> public class MessageReceive: IRedisSubscribe { - - + private InitQ.Cache.ICacheService _cacheService; + public MessageReceive(InitQ.Cache.ICacheService cacheService) + { + _cacheService = cacheService; + } + /// <summary> /// 鍒濆鍖栬鍗曞鐞� /// </summary> @@ -53,6 +60,8 @@ PayTime = obj.PayTime, ZcUserID = obj.ZcUserID, ITCode = obj.ITCode, + HasDocumentPermission=obj.HasDocumentPermission + }; TenantInfo? Tinfo = await _db.Queryable<TenantInfo>().Where(x=>x.ZcUserID==obj.ZcUserID).SingleAsync(); if(Tinfo==null) @@ -64,7 +73,7 @@ CreatBy = "娑堟伅闃熷垪 InitTenantOder", CreatTime = DateTime.Now, Description = obj.Description, - Name = obj.ITCode, + Name =obj.TenantName , PsW = obj.ITCode.Substring(obj.ITCode.Length - 4), @@ -76,17 +85,61 @@ Description = obj.Description, EmployeeMaxCount = obj.EmployeeCount ?? 0, UnitMaxCount = obj.UnitCount ?? 0, + + HasDocumentPermission=obj.HasDocumentPermission, OverTime = DateTime.Now.AddMonths(obj.MonthCount ?? 0), }; + + //鏂板缓绉熸埛鍛樺伐 + Document_EmployeeInfo employeeInfo = new Document_EmployeeInfo() + { + EmployeeName = "闆嗗洟璐﹀彿", + UserName = Tinfo.ItCode, + AdviseFlag = 2, + UserId = 0, + IsWork = 1, + UserPassWord = Tinfo.ItCode.Substring(Tinfo.ItCode.Length - 6), + Job = "闆嗗洟鐢ㄦ埛", + IsLogin = true, + LastUpdateName = "娑堟伅闃熷垪 InitTenantOder", + LastUpdateTime = DateTime.Now, + }; + EmployeeAtTenant employeeAtTenant = new EmployeeAtTenant() + { + CreatBy = "娑堟伅闃熷垪 InitTenantOder", + CreatTime = DateTime.Now, + + }; + + Document_TenderUnit tenderUnit = new Document_TenderUnit() + { + UnitName = obj.TenantName ?? "闆嗗洟鍏徃", + AdviseFlag = 2, + UserId = 0, + CreatTime = DateTime.Now.ToString("yyyy MM dd"), + LastUpdateName = "娑堟伅闃熷垪 InitTenantOder", + LastUpdateTime = DateTime.Now, + IsDeled = false, + IsEn = true, + + + }; + try { await _db.AsTenant().BeginTranAsync(); var id= await _db.Insertable(Tinfo).ExecuteReturnIdentityAsync(); + var eid = await _db.Insertable(employeeInfo).ExecuteReturnIdentityAsync(); permissions.TenantId = id; + employeeAtTenant.TenantID = id; + employeeAtTenant.EmployeeID = eid; + tenderUnit.TenantId = id; + await _db.Insertable(tenderUnit).ExecuteCommandAsync(); + await _db.Insertable(employeeAtTenant).ExecuteCommandAsync(); await _db.Insertable(permissions).ExecuteCommandAsync (); await _db.Insertable(oder).ExecuteCommandAsync(); await _db.AsTenant().CommitTranAsync(); @@ -102,11 +155,17 @@ } else { + var Employee = await _db.Queryable<EmployeeAtTenant,Document_EmployeeInfo>((EAT, E) => new JoinQueryInfos( + + JoinType.Left, EAT.EmployeeID == E.EmployeeId +)).Where((EAT, E) => EAT.TenantID==Tinfo.Id).Select((EAT,E)=>E).FirstAsync(); + 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 @@ -148,6 +207,14 @@ await _db.Updateable(tp).ExecuteCommandAsync(); } + if (obj.ITCode != Employee.UserName) + { + //濡傛灉鍙戠幇鐢ㄦ埛鍚嶅凡缁忔洿鏀癸紝鍒欒闆嗗洟鍛樺伐鐢ㄦ埛鍚嶈窡闅忔洿鏀� + Employee.UserName = obj.ITCode; + Employee.LastUpdateName= "娑堟伅闃熷垪 InitTenantOder"; + Employee.LastUpdateTime = DateTime.Now; + await _db.Updateable(Employee).ExecuteCommandAsync(); + } await _db.Insertable(oder).ExecuteCommandAsync(); await _db.AsTenant().CommitTranAsync(); @@ -177,5 +244,19 @@ } + /// <summary> + /// 鍙戦�佹秷鎭粰鐢ㄦ埛涓紝鐢ㄦ埛涓績浼氬搷搴旇繖涓秷鎭� + /// </summary> + /// <param name="msg"></param> + /// <returns></returns> + [SubscribeDelay(INITQMessageDefine.DTSendMessage)] + private async Task SendMessage(string msg) + { + + await _cacheService.ListRightPushAsync(INITQMessageDefine.DTSendMessage, msg); + } + } + + } -- Gitblit v1.9.1