From 96e5afdbba50a818f1c51dec5b07b7288bf36988 Mon Sep 17 00:00:00 2001
From: zhengyuxuan <zhengyuxuan1995>
Date: 星期三, 19 三月 2025 13:49:54 +0800
Subject: [PATCH] Merge branch 'master' of http://120.26.58.240:8888/r/LifePaymentApi

---
 LifePayment/LifePayment.Domain/Common/ChannelHelper.cs         |   47 +++++++++++++++++++++++
 LifePayment/LifePayment.Domain/Common/AbstractChannelFilter.cs |   25 ++++++++++++
 LifePayment/LifePayment.Domain/Common/ChannelFilter.cs         |   21 ++++++++++
 3 files changed, 93 insertions(+), 0 deletions(-)

diff --git a/LifePayment/LifePayment.Domain/Common/AbstractChannelFilter.cs b/LifePayment/LifePayment.Domain/Common/AbstractChannelFilter.cs
new file mode 100644
index 0000000..ce5c054
--- /dev/null
+++ b/LifePayment/LifePayment.Domain/Common/AbstractChannelFilter.cs
@@ -0,0 +1,25 @@
+锘縰sing LifePayment.Domain.Models;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Volo.Abp.Auditing;
+using Volo.Abp.DependencyInjection;
+using Volo.Abp.Domain.Entities;
+using Volo.Abp.Domain.Repositories;
+using Volo.Abp.Users;
+
+namespace LifePayment.Domain.Common
+{
+    public abstract class AbstractChannelFilter
+    {
+        public abstract Task<IQueryable<TEntity>> GetPolicyFilter<TEntity, TKey>(IQueryable<TEntity> query)
+  where TEntity : class, IChannelData, IMayHaveCreator, IEntity<TKey>;
+
+        public IAbpLazyServiceProvider LazyServiceProvider { get; set; }
+        protected ICurrentUser CurrentUser => LazyServiceProvider.LazyGetRequiredService<ICurrentUser>();
+
+        protected IRepository<User> UserDepartmentRepository => LazyServiceProvider.LazyGetRequiredService<IRepository<User>>();
+    }
+}
diff --git a/LifePayment/LifePayment.Domain/Common/ChannelFilter.cs b/LifePayment/LifePayment.Domain/Common/ChannelFilter.cs
new file mode 100644
index 0000000..91ae58b
--- /dev/null
+++ b/LifePayment/LifePayment.Domain/Common/ChannelFilter.cs
@@ -0,0 +1,21 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace LifePayment.Domain.Common
+{
+    //public class ChannelFilter : AbstractChannelFilter
+    //{
+    //    public async Task<IQueryable<ChannelsBase>> GetPolicyFilter<ChannelsBase, TKey>(IQueryable<ChannelsBase> query)
+    //    {
+    //        throw new NotImplementedException();
+    //    }
+    //}
+
+    //public class ChannelsBase:IChannelFilter
+    //{
+    //   // public Guid ChannelId { get; set; }
+    //}
+}
diff --git a/LifePayment/LifePayment.Domain/Common/ChannelHelper.cs b/LifePayment/LifePayment.Domain/Common/ChannelHelper.cs
new file mode 100644
index 0000000..bb7107a
--- /dev/null
+++ b/LifePayment/LifePayment.Domain/Common/ChannelHelper.cs
@@ -0,0 +1,47 @@
+锘縰sing DynamicQuery.Net.Dto.Input;
+using DynamicQuery.Net;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using ZeroD.Application.Services.Dto;
+using Volo.Abp.Users;
+using Volo.Abp.Auditing;
+using Volo.Abp.Domain.Entities;
+
+namespace LifePayment.Domain
+{
+    public interface IChannelFilter
+    {
+
+        public Task<IQueryable<TEntity>> GetChannelFilter<TEntity, TKey>(IQueryable<TEntity> query)
+     where TEntity : class, IChannelData, IMayHaveCreator, IEntity<TKey>;
+        //public static IQueryable<T> GetChannleQuery<T>(this IQueryable<T> query, ChannelFilterInput input) where T : class, IChannelData
+        //{
+        //    if (query == null)
+        //    {
+        //        return query;
+        //    }
+        //    if (input.Channels != null && input.Channels.Any())
+        //    {
+        //        query = query.Where(r => input.Channels.Contains(r.ChannelId));
+        //    }
+        //    return query;
+        //}
+
+    }
+
+
+
+    public interface IChannelData
+    {
+        Guid ChannelId { get; set; }
+    }
+
+    public class ChannelFilterInput
+    {
+        public List<Guid> Channels { get; set; } = new List<Guid>();
+    }
+
+}

--
Gitblit v1.9.1