lingling
2025-03-19 a8833caf55053b94c4b2c1c01d10181d49eac822
添加过滤
4个文件已修改
53 ■■■■ 已修改文件
LifePayment/LifePayment.Application/LifePay/LifePayService.cs 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LifePayment/LifePayment.Domain/Common/AbstractChannelFilter.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
LifePayment/LifePayment.Domain/Common/ChannelFilter.cs 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LifePayment/LifePayment.Domain/Common/IChannelFilter.cs 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LifePayment/LifePayment.Application/LifePay/LifePayService.cs
@@ -1,36 +1,25 @@
using DynamicQuery.Net.Dto.Input;
using LifePayment.Application.Contracts;
using LifePayment.Application.Contracts;
using LifePayment.Domain;
using LifePayment.Domain.LifePay;
using LifePayment.Domain.Models;
using LifePayment.Domain.Shared;
using MailKit.Search;
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Options;
using Nest;
using Newtonsoft.Json;
using NPOI.OpenXmlFormats.Dml.Chart;
using NPOI.SS.Formula.Functions;
using StackExchange.Redis;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Security.Cryptography;
using System.Linq.Dynamic.Core;
using System.Threading.Tasks;
using Volo.Abp;
using Volo.Abp.Application.Services;
using Volo.Abp.Domain.Entities;
using Volo.Abp.Data;
using Volo.Abp.Domain.Repositories;
using Volo.Abp.EventBus.Distributed;
using ZeroD.Util;
using ZeroD.Util.Fadd;
using static LifePayment.Domain.Shared.LifePaymentConstant;
using Volo.Abp.Data;
using Z.EntityFramework.Plus;
using LifePayment.Domain.LifePay;
using pingan.openbank.api.sdk.enums;
using System.Linq.Dynamic.Core;
using static Volo.Abp.Identity.Settings.IdentitySettingNames;
using ZeroD.Util;
using static LifePayment.Domain.Shared.LifePaymentConstant;
namespace LifePayment.Application;
@@ -164,7 +153,7 @@
    public async Task<List<LifePayIntroInfoOutput>> GetIntroInfo(LifePayOrderTypeEnum lifePayType)
    {
        return await _lifePayIntroInfoRepository.Where(x => x.IsDeleted == false && x.LifePayType == lifePayType).OrderBy(x => x.Sequence)
            .Select(x => new LifePayIntroInfoOutput() { Type = x.Type, ContentSummary = x.ContentSummary, Content = x.Content, LifePayType = x.LifePayType,Path = x.Path,Sequence = x.Sequence })
            .Select(x => new LifePayIntroInfoOutput() { Type = x.Type, ContentSummary = x.ContentSummary, Content = x.Content, LifePayType = x.LifePayType, Path = x.Path, Sequence = x.Sequence })
                                           .ToListAsync();
    }
@@ -175,7 +164,7 @@
    /// <returns></returns>
    public async Task<PageOutput<UserListOutput>> GetUserPage(QueryUserPageInput input)
    {
        return await _lifePayUserRepository.Where(x => x.IsDeleted == false)
        return await _channelFilter.GetChannelLifePayUserFilter(_lifePayUserRepository).Where(x => x.IsDeleted == false)
            .WhereIf(!string.IsNullOrEmpty(input.QueryCondition), x => x.PhoneNumber.Contains(input.QueryCondition) || x.Name.Contains(input.QueryCondition))
            .WhereIf(input.CreationTime.HasValue, x => x.CreationTime.ToString("yyyy-MM-dd") == input.CreationTime.Value.ToString("yyyy-MM-dd"))
                                            .Select(x =>
@@ -284,7 +273,7 @@
            return new PageOutput<UserLifePayOrderOutput>();
        }
        return await _lifePayOrderRepository.Where(x => x.PayStatus != LifePayStatusEnum.未支付)
        return await _channelFilter.GetChannelLifePayOrderFilter(_lifePayOrderRepository).Where(x => x.PayStatus != LifePayStatusEnum.未支付)
                                            .WhereIf(input.BeginFinishTime.HasValue, x => x.FinishTime >= input.BeginFinishTime)
                                            .WhereIf(input.EndFinishTime.HasValue, x => x.FinishTime <= input.EndFinishTime)
                                            .WhereIf(input.BeginPayTime.HasValue, x => x.PayTime >= input.BeginPayTime)
@@ -406,7 +395,7 @@
    public async Task<UserLifePayOrderRefundOutput> GetUserLifePayOrderRefund(Guid id)
    {
        var order = await _lifePayOrderRepository.Where(x => x.Id == id).Select(x =>
        var order = await _channelFilter.GetChannelLifePayOrderFilter(_lifePayOrderRepository).Where(x => x.Id == id).Select(x =>
                                                    new UserLifePayOrderRefundOutput
                                                    {
                                                        Id = x.Id,
@@ -1630,5 +1619,5 @@
                    });
    }
        #endregion
    }
    #endregion
}
LifePayment/LifePayment.Domain/Common/AbstractChannelFilter.cs
@@ -16,7 +16,7 @@
    {
        public abstract IQueryable<LifePayOrder> GetChannelLifePayOrderFilter(IQueryable<LifePayOrder> query);
        public abstract IQueryable<LifePayUser> GetChannelLifePayUserFilter(IQueryable<LifePayUser> query);
        public IAbpLazyServiceProvider LazyServiceProvider { get; set; }
        protected ICurrentUser CurrentUser => LazyServiceProvider.LazyGetRequiredService<ICurrentUser>();
LifePayment/LifePayment.Domain/Common/ChannelFilter.cs
@@ -23,7 +23,19 @@
            if (CurrentUser.ClientId == Constant.ClientType.Back)
            {
                var queryUser = UserChannleRepository.Where(r => r.UserId == CurrentUser.Id).Select(s => s.ChannleId).ToList();
                var queryResult = query.Where(s => (s.ChannelId.HasValue && queryUser.Contains(s.ChannelId.Value)) || !s.ChannelId.HasValue);
                var queryResult = query.Where(s => (!string.IsNullOrEmpty(s.ChannelId) && queryUser.Contains(s.ChannelId)) || string.IsNullOrEmpty(s.ChannelId));
                return queryResult;
            }
            return query;
        }
        public override IQueryable<LifePayUser> GetChannelLifePayUserFilter(IQueryable<LifePayUser> query)
        {
            if (CurrentUser.ClientId == Constant.ClientType.Back)
            {
                var queryUser = UserChannleRepository.Where(r => r.UserId == CurrentUser.Id).Select(s => s.ChannleId).ToList();
                var queryResult = query.Where(s => (!string.IsNullOrEmpty(s.CreationChannleNum) && queryUser.Contains(s.CreationChannleNum)) || string.IsNullOrEmpty(s.CreationChannleNum));
                return queryResult;
            }
LifePayment/LifePayment.Domain/Common/IChannelFilter.cs
@@ -11,6 +11,8 @@
        public IQueryable<LifePayOrder> GetChannelLifePayOrderFilter(IQueryable<LifePayOrder> query);
        public IQueryable<LifePayUser> GetChannelLifePayUserFilter(IQueryable<LifePayUser> query);
        //public static IQueryable<T> GetChannleQuery<T>(this IQueryable<T> query, ChannelFilterInput input) where T : class, IChannelData
        //{
        //    if (query == null)