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