田爽 6 місяців тому
батько
коміт
8d9c8103c2

+ 4 - 3
src/Hotline.Application/Subscribers/InternalCapSubscriber.cs

@@ -264,11 +264,9 @@ namespace Hotline.Application.Subscribers
 							delay.EmployeeName = "系统自动延期";
 							delay.ApplyOrgName = OrgSeedData.CenterName;
 							delay.ApplyOrgCode = OrgSeedData.CenterId;
-                            delay.CreatorOrgName = OrgSeedData.CenterName;
 							delay.DelayApplyType = EDelayApplyType.LocalApply;
 							delay.BeforeDelay = order.ExpiredTime;
 							delay.DelayState = EDelayState.Pass;
-                            delay.CreatorName = "系统自动延期";
 							delay.DelayReason = "系统自动延期";
 							delay.ApplyDelayTime = DateTime.Now;
 							delay.No = order.No;
@@ -276,12 +274,15 @@ namespace Hotline.Application.Subscribers
 							delay.DelayNum = 1;
 							delay.DelayUnit = Share.Enums.Settings.ETimeType.WorkDay;
 							delay.IsProDelay = false;
+                            delay.CreatorOrgId = OrgSeedData.CenterId;
+							delay.CreatorOrgName = OrgSeedData.CenterName;
+							delay.CreatorName = "系统自动延期";
 							if (delay.BeforeDelay != null)
 							{
 								delay.AfterDelay = (await _expireTime
 									.CalcEndTime(delay.BeforeDelay.Value, delay.DelayUnit, delay.DelayNum, order.AcceptTypeCode))?.EndTime; //todo
 							}
-							await _orderDelayRepository.AddAsync(delay, cancellationToken);
+							await _orderDelayRepository.AddAsync(delay,false, cancellationToken);
 						}
 						//处理工单延期
 						await _orderApplication.DelayOrderExpiredTimeAsync(order.Id, delay.DelayNum,

+ 17 - 7
src/Hotline.Repository.SqlSugar/BaseRepository.cs

@@ -27,13 +27,23 @@ namespace Hotline.Repository.SqlSugar
             return excEntity.Id;
         }
 
-        /// <summary>
-        /// 批量插入(应用场景:小数据量,超出1万条建议另行实现)
-        /// </summary>
-        /// <param name="entities"></param>
-        /// <param name="cancellationToken"></param>
-        /// <returns></returns>
-        public async Task AddRangeAsync(List<TEntity> entities, CancellationToken cancellationToken = default)
+        public async Task<string> AddAsync(TEntity entity,bool isCreator , CancellationToken cancellationToken = default)
+        {
+	        if (isCreator)
+	        {
+				entity.InitDatePermission(_dataPermissionFilterBuilder.DataPermissionManager);
+			}
+	        var excEntity = await Db.Insertable(entity).ExecuteReturnEntityAsync();
+	        return excEntity.Id;
+        }
+
+		/// <summary>
+		/// 批量插入(应用场景:小数据量,超出1万条建议另行实现)
+		/// </summary>
+		/// <param name="entities"></param>
+		/// <param name="cancellationToken"></param>
+		/// <returns></returns>
+		public async Task AddRangeAsync(List<TEntity> entities, CancellationToken cancellationToken = default)
         {
             entities.ForEach(d => d.InitDatePermission(_dataPermissionFilterBuilder.DataPermissionManager));
             await Db.Insertable(entities).ExecuteCommandAsync(cancellationToken);

+ 9 - 7
src/XF.Domain.Repository/IRepositoryWithTKey.cs

@@ -7,13 +7,15 @@ namespace XF.Domain.Repository
         where TEntity : class, IEntity<TKey>, new() where TKey : IEquatable<TKey>
     {
         Task<TKey> AddAsync(TEntity entity, CancellationToken cancellationToken = default);
-        /// <summary>
-        /// 批量插入(应用场景:小数据量,超出1万条建议另行实现)
-        /// </summary>
-        /// <param name="entities"></param>
-        /// <param name="cancellationToken"></param>
-        /// <returns></returns>
-        Task AddRangeAsync(List<TEntity> entities, CancellationToken cancellationToken = default);
+
+        Task<TKey> AddAsync(TEntity entity, bool isCreator, CancellationToken cancellationToken = default);
+		/// <summary>
+		/// 批量插入(应用场景:小数据量,超出1万条建议另行实现)
+		/// </summary>
+		/// <param name="entities"></param>
+		/// <param name="cancellationToken"></param>
+		/// <returns></returns>
+		Task AddRangeAsync(List<TEntity> entities, CancellationToken cancellationToken = default);
 
         Task RemoveAsync(TEntity entity, bool? soft = false, CancellationToken cancellationToken = default);
         Task RemoveAsync(TKey id, bool? soft = false, CancellationToken cancellationToken = default);