zhengyuxuan
2025-03-18 5352dfc3db2200df3dc5348e913e108f678adf5e
Merge branch 'master' of http://120.26.58.240:8888/r/LifePaymentApi
10个文件已添加
5个文件已修改
640 ■■■■■ 已修改文件
LifePayment/LifePayment.Application.Contracts/Setting/IOperateHistoryService.cs 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LifePayment/LifePayment.Application.Contracts/Setting/OperateHistoryDto.cs 74 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LifePayment/LifePayment.Application/Setting/OperateHistoryService.cs 75 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LifePayment/LifePayment.Domain.Shared/Enum/OperateHistory/OperateHistoryTypeEnum.cs 153 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LifePayment/LifePayment.Domain/Common/OperateHistory.cs 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LifePayment/LifePayment.EntityFrameworkCore/LifePaymentServicesDbContext.cs 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LifePayment/LifePayment.Host/Cert/CSR文件.csr 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LifePayment/LifePayment.Host/Cert/alipayCertPublicKey_RSA2.crt 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LifePayment/LifePayment.Host/Cert/alipayRootCert.crt 88 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LifePayment/LifePayment.Host/Cert/appCertPublicKey_2021004171602214.crt 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LifePayment/LifePayment.Host/LifePayment.Host.csproj 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LifePayment/LifePayment.Host/LifePaymentService.HttpApi.xml 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LifePayment/LifePayment.Host/LifePaymentServiceHostModule.cs 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LifePayment/LifePayment.Host/LifePaymentServices.Application.Contracts.xml 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LifePayment/LifePayment.HttpApi/LifePay/OperateHistoryController.cs 46 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LifePayment/LifePayment.Application.Contracts/Setting/IOperateHistoryService.cs
New file
@@ -0,0 +1,17 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Volo.Abp.Application.Services;
using ZeroD.Util;
namespace LifePayment.Application.Contracts
{
    public interface IOperateHistoryService : IApplicationService
    {
        Task<PageOutput<OperateHistoryDto>> GetOperateHistoryByRelationId(GetOperateHistoryInput input);
        Task<PageOutput<OperateHistoryDto>> GetOperateHistoryByType(QueryOperateHistoryByTypeInput input);
    }
}
LifePayment/LifePayment.Application.Contracts/Setting/OperateHistoryDto.cs
New file
@@ -0,0 +1,74 @@
using LifePayment.Domain.Shared;
using System;
using ZeroD.Util;
namespace LifePayment.Application.Contracts
{
    public class OperateHistoryDto
    {
        /// <summary>
        /// å…³è”关系ID
        /// </summary>
        public Guid RelationId { get; set; }
        /// <summary>
        /// è¡¨å
        /// </summary>
        public int? TableType { get; set; }
        /// <summary>
        /// æ“ä½œ
        /// </summary>
        public string OperateName { get; set; }
        /// <summary>
        /// æ“ä½œå†…容
        /// </summary>
        public string OperateContent { get; set; }
        /// <summary>
        /// æ“ä½œäºº
        /// </summary>
        public string CreatorName { get; set; }
        /// <summary>
        /// æ“ä½œæ—¶é—´
        /// </summary>
        public DateTime CreationTime { get; set; }
        /// <summary>
        /// æ“ä½œç»†èŠ‚
        /// </summary>
        public string OperateDetail { get; set; }
    }
    public class GetOperateHistoryInput : PageInput
    {
        public Guid RelationId { get; set; }
        public string OperateName { get; set; }
    }
    public class QueryOperateHistoryByTypeInput : PageInput
    {
        public Guid TypeId { get; set; }
        public OperateHistoryTypeEnum OperateHistoryType { get; set; }
    }
    public class CreateOperateHistoryInput
    {
        /// <summary>
        /// å…³è”关系ID
        /// </summary>
        public Guid RelationId { get; set; }
        public int? TableType { get; set; }
        public string OperateName { get; set; }
        public string OperateContent { get; set; }
        public string CreatorName { get; set; }
    }
}
LifePayment/LifePayment.Application/Setting/OperateHistoryService.cs
New file
@@ -0,0 +1,75 @@
using LifePayment.Application.Contracts;
using LifePayment.Domain.Models;
using LifePayment.Domain.Shared;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Linq.Dynamic.Core;
using System.Threading.Tasks;
using Volo.Abp.Application.Services;
using Volo.Abp.Domain.Repositories;
using ZeroD.Util;
namespace LifePayment.Application
{
    public class OperateHistoryService : ApplicationService, IOperateHistoryService
    {
        private readonly IRepository<OperateHistory, Guid> _operateHistory;
        public OperateHistoryService(
               IRepository<OperateHistory, Guid> operateHistory)
        {
            _operateHistory = operateHistory;
        }
        public async Task<PageOutput<OperateHistoryDto>> GetOperateHistoryByRelationId(GetOperateHistoryInput input)
        {
            var query = _operateHistory.Where(r => r.RelationId == input.RelationId)
                                       .WhereIf(input.OperateName.IsNotNullOrEmpty(), r => r.OperateName == input.OperateName)
                                       .Select(r => new OperateHistoryDto
                                       {
                                           OperateName = r.OperateName,
                                           RelationId = r.RelationId,
                                           CreationTime = r.CreationTime,
                                           CreatorName = r.CreatorName,
                                           OperateContent = r.OperateContent,
                                           TableType = r.TableType
                                       });
            var result = await query.GetPageResult(input.PageModel);
            return result;
        }
        public async Task<PageOutput<OperateHistoryDto>> GetOperateHistoryByType(QueryOperateHistoryByTypeInput input)
        {
            var query = _operateHistory.AsQueryable();
            switch (input.OperateHistoryType)
            {
                case OperateHistoryTypeEnum.AccountManage:
                    query = query.Where(x => x.UserId == input.TypeId
                                          && LifePaymentConstant.LogsSpecies.AccountManageOperateNameList.Contains(x.OperateName));
                    break;
                default:
                    query = query.Where(x => x.RelationId == input.TypeId);
                    break;
            }
            var result = await query.Select(r =>
                                            new OperateHistoryDto
                                            {
                                                OperateName = r.OperateName,
                                                RelationId = r.RelationId,
                                                CreationTime = r.CreationTime,
                                                CreatorName = r.CreatorName,
                                                OperateContent = r.OperateContent,
                                                TableType = r.TableType
                                            })
                                    .GetPageResult(input.PageModel);
            return result;
        }
    }
}
LifePayment/LifePayment.Domain.Shared/Enum/OperateHistory/OperateHistoryTypeEnum.cs
New file
@@ -0,0 +1,153 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace LifePayment.Domain.Shared;
public enum OperateHistoryTypeEnum
{
    /// <summary>
    /// è®¤è¯ç”¨æˆ·æ—¥å¿—
    /// </summary>
    [Description("认证用户日志")]
    CertifiedUser = 10,
    /// <summary>
    /// å¹³å°ç”¨æˆ·æ—¥å¿—
    /// </summary>
    [Description("平台用户日志")]
    PlatformUser = 11,
    /// <summary>
    /// ç”¨æˆ·è®¤è¯å®¡æ ¸æ—¥å¿—
    /// </summary>
    [Description("用户认证审核日志")]
    UserCertificationAudit = 12,
    /// <summary>
    /// å…¬å‘Šæ—¥å¿—
    /// </summary>
    [Description("公告日志")]
    SystemNotice = 13,
    /// <summary>
    /// èµ„讯管理日志
    /// </summary>
    [Description("资讯管理日志")]
    InformationForManage = 14,
    /// <summary>
    /// èµ„讯审核日志
    /// </summary>
    [Description("资讯审核日志")]
    InformationWaitForCheck = 15,
    /// <summary>
    /// é’±åŒ…开户日志
    /// </summary>
    [Description("钱包开户日志")]
    WalletAccountOpen = 16,
    /// <summary>
    /// è½¬è´¦å®¡æ ¸å¯¹å•日志
    /// </summary>
    [Description("转账审核对单日志")]
    WalletSingleTransfer = 17,
    /// <summary>
    /// å……值审核
    /// </summary>
    [Description("充值审核日志")]
    WalletRecharge = 18,
    /// <summary>
    /// è´¦æˆ·ç®¡ç†
    /// </summary>
    [Description("账户管理")]
    AccountManage = 19,
    /// <summary>
    /// è®¤è¯ç®¡ç†
    /// </summary>
    [Description("认证管理")]
    UserCertificationManage = 20,
    /// <summary>
    /// æ‰¹é‡è½¬è´¦å®¡æ ¸æ—¥å¿—
    /// </summary>
    [Description("批量转账审核日志")]
    AuditWalletBatchTransfer = 21,
    /// <summary>
    /// è¡Œä¸šæœºæž„审核日志
    /// </summary>
    [Description("行业机构审核日志")]
    IndustryBodyAudit = 22,
    /// <summary>
    /// è¡Œä¸šé…å¥—审核日志
    /// </summary>
    [Description("行业配套审核日志")]
    IndustryMatingAudit = 23,
    /// <summary>
    /// ç”²æ–¹ä¼ä¸šå®¡æ ¸æ—¥å¿—
    /// </summary>
    [Description("甲方企业审核日志")]
    FirstPartyCompanyAudit = 24,
    /// <summary>
    /// äººèµ„公司审核日志
    /// </summary>
    [Description("人资公司审核日志")]
    ParkOrHRAudit = 25,
    /// <summary>
    /// è¡Œä¸šæœºæž„管理日志
    /// </summary>
    [Description("行业机构管理日志")]
    IndustryBodyManage = 26,
    /// <summary>
    /// è¡Œä¸šé…å¥—管理日志
    /// </summary>
    [Description("行业配套管理日志")]
    IndustryMatingManage = 27,
    /// <summary>
    /// ç”²æ–¹ä¼ä¸šç®¡ç†æ—¥å¿—
    /// </summary>
    [Description("甲方企业管理日志")]
    FirstPartyCompanyManage = 28,
    /// <summary>
    /// äººèµ„公司管理日志
    /// </summary>
    [Description("人资公司管理日志")]
    ParkOrHRManage = 29,
    /// <summary>
    /// å®¢æˆ·ç®¡ç†æ—¥å¿—
    /// </summary>
    [Description("客户管理日志")]
    CustomerManage = 30,
    /// <summary>
    /// å¥–励配置日志
    /// </summary>
    [Description("奖励配置日志")]
    ParkRewardManage = 31,
    /// <summary>
    /// å®¢æˆ·æ¨¡æ¿æ“ä½œæ—¥å¿—
    /// </summary>
    [Description("客户模板操作日志")]
    CustomerContractTemplate = 32,
    LifePayOrder = 40,
    LifePayChannles = 42,
}
LifePayment/LifePayment.Domain/Common/OperateHistory.cs
New file
@@ -0,0 +1,35 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Volo.Abp.Domain.Entities.Auditing;
namespace LifePayment.Domain.Models
{
    public class OperateHistory : CreationAuditedEntity<Guid>
    {
        /// <summary>
        /// å…³è”关系ID
        /// </summary>
        public Guid RelationId { get; set; }
        public int? TableType { get; set; }
        public string OperateName { get; set; }
        public string OperateContent { get; set; }
        public string CreatorName { get; set; }
        /// <summary>
        /// æ“ä½œç»†èŠ‚
        /// </summary>
        public string OperateDetail { get; set; }
        /// <summary>
        /// ç”¨æˆ·id
        /// </summary>
        public Guid? UserId { get; set; }
    }
}
LifePayment/LifePayment.EntityFrameworkCore/LifePaymentServicesDbContext.cs
@@ -28,8 +28,11 @@
        public virtual DbSet<Role> Roles { get; set; }
        public virtual DbSet<UserRole> UserRoles { get; set; }
        public virtual DbSet<OperateHistory> OperateHistory { get; set; }
        public virtual DbSet<LifePayChannles> LifePayChannles { get; set; }
        public virtual DbSet<LifePayAccount> LifePayAccount { get; set; }
LifePayment/LifePayment.Host/Cert/CSRÎļþ.csr
New file
@@ -0,0 +1,17 @@
-----BEGIN CERTIFICATE REQUEST-----
MIICsTCCAZkCAQAwbDEJMAcGA1UEBhMAMQkwBwYDVQQIEwAxCTAHBgNVBAcTADEz
MDEGA1UECgwq5a6B5rOi5Yib6IOc5L+h5oGv5oqA5pyv5pyN5Yqh5pyJ6ZmQ5YWs
5Y+4MQkwBwYDVQQLEwAxCTAHBgNVBAMTADCCASIwDQYJKoZIhvcNAQEBBQADggEP
ADCCAQoCggEBAKA6zoXnrah5BNUWGjYaID/4h1VxLRmVuAPySZ8KSbPuni136V3/
3nLssKZQ6YHPwV0lBJw2pLVMHHi1zvL3SH/IdMvMqlsGHYMwtMRC2KU66Ct3ZTYk
oYFZFBHjF4vp9zIY6fTla6onoIAyN2BswwS2OFAFrFwnF5w/q/8SKU/JHlTLW/y6
1Ji+Vy7wVXJ+TJCUwKHhbdfBEFzixTdfpXaWn/ZPosjNn24FwnOiJzUoBxkh2cIc
5vbfnBqjXdY7v50DfZR8Cgg0DzJ+nKK9pbD9Z7BH6R6dr3XzRHXHFUkWQf5HbRc1
xFKUxc58/Psytg9EWvgdBtZ0sbrPcbA9x5sCAwEAAaAAMA0GCSqGSIb3DQEBBAUA
A4IBAQCcHGqNyh6q7iyImLTi1/VOhwyfphmwETsN/+KNjpkLZN+pUf9hcUsxRObV
JdcYKdO/WTGGsghBINieKdXGtBlx0wyyM0MADURstr4SWBsktrwunwyyhzufuipx
d4Wo7kC9hmtOxmJbgn/lXr6tZyTUzukWgEuU5Pxfi9DGPm58Z1fZjHdfuoboeD9n
mgHPfd+YbuVNSa9wOilBskw35xSLXnUU8tL3PLthHElg43bnbpUOeBvSZ+5uJ9KU
7zz/1HGOBMl7EY+wMwgpr/5WAKPoAucJU1NEOMKqSHwWfjUEtkeoq87Cij8B0zLt
+WRnGLDsL5vyunOz00uJccxhZlON
-----END CERTIFICATE REQUEST-----
LifePayment/LifePayment.Host/Cert/alipayCertPublicKey_RSA2.crt
New file
@@ -0,0 +1,43 @@
-----BEGIN CERTIFICATE-----
MIIDuDCCAqCgAwIBAgIQICQJCUhlwAIx+IQXPEEzhzANBgkqhkiG9w0BAQsFADCBgjELMAkGA1UE
BhMCQ04xFjAUBgNVBAoMDUFudCBGaW5hbmNpYWwxIDAeBgNVBAsMF0NlcnRpZmljYXRpb24gQXV0
aG9yaXR5MTkwNwYDVQQDDDBBbnQgRmluYW5jaWFsIENlcnRpZmljYXRpb24gQXV0aG9yaXR5IENs
YXNzIDIgUjEwHhcNMjQwOTA5MDYxMDM3WhcNMjkwOTA4MDYxMDM3WjCBmDELMAkGA1UEBhMCQ04x
MzAxBgNVBAoMKuWugeazouWIm+iDnOS/oeaBr+aKgOacr+acjeWKoeaciemZkOWFrOWPuDEPMA0G
A1UECwwGQWxpcGF5MUMwQQYDVQQDDDrmlK/ku5jlrp0o5Lit5Zu9Kee9kee7nOaKgOacr+aciemZ
kOWFrOWPuC0yMDg4MDUwNTQyMDQyMzAxMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA
h3ymDiC0//upxAEwekcap2S/soSgtxZsT+W+a/nOg1yF/IpJshpiAcj246BqihSD6q3CEjAYj80c
MnZJG/lfir/BRz1pGyCAKVWcyISj4DR+ADfehHa6XJh7BNMUhscKvB0SeFFL4HGUA/PgpnO/mEO5
PKai3o8UzwQu/atEja5TCDUqSogrTkLrYq+Dlmjc8UQENuWUx0PlnwnLrYpx4hIC3PjzpDSy8FCO
maHVG1JHyv+Nxng2//szWD9l2LGx4F1qe5jsYAgfE3aP2U5ryggZAgejBTKu6kBTMslsCFJIesG4
8OC3OGk0ZafVujUaGSrFbYQHZtUQkdiU1oVVGwIDAQABoxIwEDAOBgNVHQ8BAf8EBAMCA/gwDQYJ
KoZIhvcNAQELBQADggEBAG/AwOEBETOShrkCIW/ViAYf/UopgL6txP7laTbAbI/xLJyy657S/ESs
MBLTqzuRt2e5kVdZZAq/8Bs4jscEYoiTpDB0vmWXtvjYumKyINeRuIBqn2PIESrm34WrJATkvLpj
2QRioL+rU1eXq2rYBpryFa+QNkEPb7xU7uadYvnNsBrZB8OF8QVOssbhfCbRnIv8zaaQYd9iTXPa
7TQXwkudtamLry1x9F7J+icmoPfxa9i/yMiBm4YOD30LLBvS3YRXZCcVRxjgtv7/HQ4l4vNS0BTb
4Qj9k9X1IyjF2IJgfW5EoA/pvPs/ZXQzOgGzz0ncBMU4YqR3wlT/U3094UY=
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIE4jCCAsqgAwIBAgIIYsSr5bKAMl8wDQYJKoZIhvcNAQELBQAwejELMAkGA1UEBhMCQ04xFjAU
BgNVBAoMDUFudCBGaW5hbmNpYWwxIDAeBgNVBAsMF0NlcnRpZmljYXRpb24gQXV0aG9yaXR5MTEw
LwYDVQQDDChBbnQgRmluYW5jaWFsIENlcnRpZmljYXRpb24gQXV0aG9yaXR5IFIxMB4XDTE4MDMy
MjE0MzQxNVoXDTM3MTEyNjE0MzQxNVowgYIxCzAJBgNVBAYTAkNOMRYwFAYDVQQKDA1BbnQgRmlu
YW5jaWFsMSAwHgYDVQQLDBdDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTE5MDcGA1UEAwwwQW50IEZp
bmFuY2lhbCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSBDbGFzcyAyIFIxMIIBIjANBgkqhkiG9w0B
AQEFAAOCAQ8AMIIBCgKCAQEAsLMfYaoRoPRbmDcAfXPCmKf43pWRN5yTXa/KJWO0l+mrgQvs89bA
NEvbDUxlkGwycwtwi5DgBuBgVhLliXu+R9CYgr2dXs8D8Hx/gsggDcyGPLmVrDOnL+dyeauheARZ
fA3du60fwEwwbGcVIpIxPa/4n3IS/ElxQa6DNgqxh8J9Xwh7qMGl0JK9+bALuxf7B541Gr4p0WEN
G8fhgjBV4w4ut9eQLOoa1eddOUSZcy46Z7allwowwgt7b5VFfx/P1iKJ3LzBMgkCK7GZ2kiLrL7R
iqV+h482J7hkJD+ardoc6LnrHO/hIZymDxok+VH9fVeUdQa29IZKrIDVj65THQIDAQABo2MwYTAf
BgNVHSMEGDAWgBRfdLQEwE8HWurlsdsio4dBspzhATAdBgNVHQ4EFgQUSqHkYINtUSAtDPnS8Xoy
oP9p7qEwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwDQYJKoZIhvcNAQELBQADggIB
AIQ8TzFy4bVIVb8+WhHKCkKNPcJe2EZuIcqvRoi727lZTJOfYy/JzLtckyZYfEI8J0lasZ29wkTt
a1IjSo+a6XdhudU4ONVBrL70U8Kzntplw/6TBNbLFpp7taRALjUgbCOk4EoBMbeCL0GiYYsTS0mw
7xdySzmGQku4GTyqutIGPQwKxSj9iSFw1FCZqr4VP4tyXzMUgc52SzagA6i7AyLedd3tbS6lnR5B
L+W9Kx9hwT8L7WANAxQzv/jGldeuSLN8bsTxlOYlsdjmIGu/C9OWblPYGpjQQIRyvs4Cc/mNhrh+
14EQgwuemIIFDLOgcD+iISoN8CqegelNcJndFw1PDN6LkVoiHz9p7jzsge8RKay/QW6C03KNDpWZ
EUCgCUdfHfo8xKeR+LL1cfn24HKJmZt8L/aeRZwZ1jwePXFRVtiXELvgJuM/tJDIFj2KD337iV64
fWcKQ/ydDVGqfDZAdcU4hQdsrPWENwPTQPfVPq2NNLMyIH9+WKx9Ed6/WzeZmIy5ZWpX1TtTolo6
OJXQFeItMAjHxW/ZSZTok5IS3FuRhExturaInnzjYpx50a6kS34c5+c8hYq7sAtZ/CNLZmBnBCFD
aMQqT8xFZJ5uolUaSeXxg7JFY1QsYp5RKvj4SjFwCGKJ2+hPPe9UyyltxOidNtxjaknOCeBHytOr
-----END CERTIFICATE-----
LifePayment/LifePayment.Host/Cert/alipayRootCert.crt
New file
@@ -0,0 +1,88 @@
-----BEGIN CERTIFICATE-----
MIIBszCCAVegAwIBAgIIaeL+wBcKxnswDAYIKoEcz1UBg3UFADAuMQswCQYDVQQG
EwJDTjEOMAwGA1UECgwFTlJDQUMxDzANBgNVBAMMBlJPT1RDQTAeFw0xMjA3MTQw
MzExNTlaFw00MjA3MDcwMzExNTlaMC4xCzAJBgNVBAYTAkNOMQ4wDAYDVQQKDAVO
UkNBQzEPMA0GA1UEAwwGUk9PVENBMFkwEwYHKoZIzj0CAQYIKoEcz1UBgi0DQgAE
MPCca6pmgcchsTf2UnBeL9rtp4nw+itk1Kzrmbnqo05lUwkwlWK+4OIrtFdAqnRT
V7Q9v1htkv42TsIutzd126NdMFswHwYDVR0jBBgwFoAUTDKxl9kzG8SmBcHG5Yti
W/CXdlgwDAYDVR0TBAUwAwEB/zALBgNVHQ8EBAMCAQYwHQYDVR0OBBYEFEwysZfZ
MxvEpgXBxuWLYlvwl3ZYMAwGCCqBHM9VAYN1BQADSAAwRQIgG1bSLeOXp3oB8H7b
53W+CKOPl2PknmWEq/lMhtn25HkCIQDaHDgWxWFtnCrBjH16/W3Ezn7/U/Vjo5xI
pDoiVhsLwg==
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIF0zCCA7ugAwIBAgIIH8+hjWpIDREwDQYJKoZIhvcNAQELBQAwejELMAkGA1UE
BhMCQ04xFjAUBgNVBAoMDUFudCBGaW5hbmNpYWwxIDAeBgNVBAsMF0NlcnRpZmlj
YXRpb24gQXV0aG9yaXR5MTEwLwYDVQQDDChBbnQgRmluYW5jaWFsIENlcnRpZmlj
YXRpb24gQXV0aG9yaXR5IFIxMB4XDTE4MDMyMTEzNDg0MFoXDTM4MDIyODEzNDg0
MFowejELMAkGA1UEBhMCQ04xFjAUBgNVBAoMDUFudCBGaW5hbmNpYWwxIDAeBgNV
BAsMF0NlcnRpZmljYXRpb24gQXV0aG9yaXR5MTEwLwYDVQQDDChBbnQgRmluYW5j
aWFsIENlcnRpZmljYXRpb24gQXV0aG9yaXR5IFIxMIICIjANBgkqhkiG9w0BAQEF
AAOCAg8AMIICCgKCAgEAtytTRcBNuur5h8xuxnlKJetT65cHGemGi8oD+beHFPTk
rUTlFt9Xn7fAVGo6QSsPb9uGLpUFGEdGmbsQ2q9cV4P89qkH04VzIPwT7AywJdt2
xAvMs+MgHFJzOYfL1QkdOOVO7NwKxH8IvlQgFabWomWk2Ei9WfUyxFjVO1LVh0Bp
dRBeWLMkdudx0tl3+21t1apnReFNQ5nfX29xeSxIhesaMHDZFViO/DXDNW2BcTs6
vSWKyJ4YIIIzStumD8K1xMsoaZBMDxg4itjWFaKRgNuPiIn4kjDY3kC66Sl/6yTl
YUz8AybbEsICZzssdZh7jcNb1VRfk79lgAprm/Ktl+mgrU1gaMGP1OE25JCbqli1
Pbw/BpPynyP9+XulE+2mxFwTYhKAwpDIDKuYsFUXuo8t261pCovI1CXFzAQM2w7H
DtA2nOXSW6q0jGDJ5+WauH+K8ZSvA6x4sFo4u0KNCx0ROTBpLif6GTngqo3sj+98
SZiMNLFMQoQkjkdN5Q5g9N6CFZPVZ6QpO0JcIc7S1le/g9z5iBKnifrKxy0TQjtG
PsDwc8ubPnRm/F82RReCoyNyx63indpgFfhN7+KxUIQ9cOwwTvemmor0A+ZQamRe
9LMuiEfEaWUDK+6O0Gl8lO571uI5onYdN1VIgOmwFbe+D8TcuzVjIZ/zvHrAGUcC
AwEAAaNdMFswCwYDVR0PBAQDAgEGMAwGA1UdEwQFMAMBAf8wHQYDVR0OBBYEFF90
tATATwda6uWx2yKjh0GynOEBMB8GA1UdIwQYMBaAFF90tATATwda6uWx2yKjh0Gy
nOEBMA0GCSqGSIb3DQEBCwUAA4ICAQCVYaOtqOLIpsrEikE5lb+UARNSFJg6tpkf
tJ2U8QF/DejemEHx5IClQu6ajxjtu0Aie4/3UnIXop8nH/Q57l+Wyt9T7N2WPiNq
JSlYKYbJpPF8LXbuKYG3BTFTdOVFIeRe2NUyYh/xs6bXGr4WKTXb3qBmzR02FSy3
IODQw5Q6zpXj8prYqFHYsOvGCEc1CwJaSaYwRhTkFedJUxiyhyB5GQwoFfExCVHW
05ZFCAVYFldCJvUzfzrWubN6wX0DD2dwultgmldOn/W/n8at52mpPNvIdbZb2F41
T0YZeoWnCJrYXjq/32oc1cmifIHqySnyMnavi75DxPCdZsCOpSAT4j4lAQRGsfgI
kkLPGQieMfNNkMCKh7qjwdXAVtdqhf0RVtFILH3OyEodlk1HYXqX5iE5wlaKzDop
PKwf2Q3BErq1xChYGGVS+dEvyXc/2nIBlt7uLWKp4XFjqekKbaGaLJdjYP5b2s7N
1dM0MXQ/f8XoXKBkJNzEiM3hfsU6DOREgMc1DIsFKxfuMwX3EkVQM1If8ghb6x5Y
jXayv+NLbidOSzk4vl5QwngO/JYFMkoc6i9LNwEaEtR9PhnrdubxmrtM+RjfBm02
77q3dSWFESFQ4QxYWew4pHE0DpWbWy/iMIKQ6UZ5RLvB8GEcgt8ON7BBJeMc+Dyi
kT9qhqn+lw==
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIICiDCCAgygAwIBAgIIQX76UsB/30owDAYIKoZIzj0EAwMFADB6MQswCQYDVQQG
EwJDTjEWMBQGA1UECgwNQW50IEZpbmFuY2lhbDEgMB4GA1UECwwXQ2VydGlmaWNh
dGlvbiBBdXRob3JpdHkxMTAvBgNVBAMMKEFudCBGaW5hbmNpYWwgQ2VydGlmaWNh
dGlvbiBBdXRob3JpdHkgRTEwHhcNMTkwNDI4MTYyMDQ0WhcNNDkwNDIwMTYyMDQ0
WjB6MQswCQYDVQQGEwJDTjEWMBQGA1UECgwNQW50IEZpbmFuY2lhbDEgMB4GA1UE
CwwXQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxMTAvBgNVBAMMKEFudCBGaW5hbmNp
YWwgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgRTEwdjAQBgcqhkjOPQIBBgUrgQQA
IgNiAASCCRa94QI0vR5Up9Yr9HEupz6hSoyjySYqo7v837KnmjveUIUNiuC9pWAU
WP3jwLX3HkzeiNdeg22a0IZPoSUCpasufiLAnfXh6NInLiWBrjLJXDSGaY7vaokt
rpZvAdmjXTBbMAsGA1UdDwQEAwIBBjAMBgNVHRMEBTADAQH/MB0GA1UdDgQWBBRZ
4ZTgDpksHL2qcpkFkxD2zVd16TAfBgNVHSMEGDAWgBRZ4ZTgDpksHL2qcpkFkxD2
zVd16TAMBggqhkjOPQQDAwUAA2gAMGUCMQD4IoqT2hTUn0jt7oXLdMJ8q4vLp6sg
wHfPiOr9gxreb+e6Oidwd2LDnC4OUqCWiF8CMAzwKs4SnDJYcMLf2vpkbuVE4dTH
Rglz+HGcTLWsFs4KxLsq7MuU+vJTBUeDJeDjdA==
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIDxTCCAq2gAwIBAgIUEMdk6dVgOEIS2cCP0Q43P90Ps5YwDQYJKoZIhvcNAQEF
BQAwajELMAkGA1UEBhMCQ04xEzARBgNVBAoMCmlUcnVzQ2hpbmExHDAaBgNVBAsM
E0NoaW5hIFRydXN0IE5ldHdvcmsxKDAmBgNVBAMMH2lUcnVzQ2hpbmEgQ2xhc3Mg
MiBSb290IENBIC0gRzMwHhcNMTMwNDE4MDkzNjU2WhcNMzMwNDE4MDkzNjU2WjBq
MQswCQYDVQQGEwJDTjETMBEGA1UECgwKaVRydXNDaGluYTEcMBoGA1UECwwTQ2hp
bmEgVHJ1c3QgTmV0d29yazEoMCYGA1UEAwwfaVRydXNDaGluYSBDbGFzcyAyIFJv
b3QgQ0EgLSBHMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOPPShpV
nJbMqqCw6Bz1kehnoPst9pkr0V9idOwU2oyS47/HjJXk9Rd5a9xfwkPO88trUpz5
4GmmwspDXjVFu9L0eFaRuH3KMha1Ak01citbF7cQLJlS7XI+tpkTGHEY5pt3EsQg
wykfZl/A1jrnSkspMS997r2Gim54cwz+mTMgDRhZsKK/lbOeBPpWtcFizjXYCqhw
WktvQfZBYi6o4sHCshnOswi4yV1p+LuFcQ2ciYdWvULh1eZhLxHbGXyznYHi0dGN
z+I9H8aXxqAQfHVhbdHNzi77hCxFjOy+hHrGsyzjrd2swVQ2iUWP8BfEQqGLqM1g
KgWKYfcTGdbPB1MCAwEAAaNjMGEwHQYDVR0OBBYEFG/oAMxTVe7y0+408CTAK8hA
uTyRMB8GA1UdIwQYMBaAFG/oAMxTVe7y0+408CTAK8hAuTyRMA8GA1UdEwEB/wQF
MAMBAf8wDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEBBQUAA4IBAQBLnUTfW7hp
emMbuUGCk7RBswzOT83bDM6824EkUnf+X0iKS95SUNGeeSWK2o/3ALJo5hi7GZr3
U8eLaWAcYizfO99UXMRBPw5PRR+gXGEronGUugLpxsjuynoLQu8GQAeysSXKbN1I
UugDo9u8igJORYA+5ms0s5sCUySqbQ2R5z/GoceyI9LdxIVa1RjVX8pYOj8JFwtn
DJN3ftSFvNMYwRuILKuqUYSHc2GPYiHVflDh5nDymCMOQFcFG3WsEuB+EYQPFgIU
1DHmdZcz7Llx8UOZXX2JupWCYzK1XhJb+r4hK5ncf/w8qGtYlmyJpxk3hr1TfUJX
Yf4Zr0fJsGuv
-----END CERTIFICATE-----
LifePayment/LifePayment.Host/Cert/appCertPublicKey_2021004171602214.crt
New file
@@ -0,0 +1,23 @@
-----BEGIN CERTIFICATE-----
MIIEpjCCA46gAwIBAgIQICQJGZ4C8uub1cYcy9fcxjANBgkqhkiG9w0BAQsFADCBgjELMAkGA1UE
BhMCQ04xFjAUBgNVBAoMDUFudCBGaW5hbmNpYWwxIDAeBgNVBAsMF0NlcnRpZmljYXRpb24gQXV0
aG9yaXR5MTkwNwYDVQQDDDBBbnQgRmluYW5jaWFsIENlcnRpZmljYXRpb24gQXV0aG9yaXR5IENs
YXNzIDEgUjEwHhcNMjQwOTE5MDE1NTU0WhcNMjkwOTE4MDE1NTU0WjBuMQswCQYDVQQGEwJDTjEz
MDEGA1UECgwq5a6B5rOi5Yib6IOc5L+h5oGv5oqA5pyv5pyN5Yqh5pyJ6ZmQ5YWs5Y+4MQ8wDQYD
VQQLDAZBbGlwYXkxGTAXBgNVBAMMEDIwODgwNTA1NDIwNDIzMDEwggEiMA0GCSqGSIb3DQEBAQUA
A4IBDwAwggEKAoIBAQCgOs6F562oeQTVFho2GiA/+IdVcS0ZlbgD8kmfCkmz7p4td+ld/95y7LCm
UOmBz8FdJQScNqS1TBx4tc7y90h/yHTLzKpbBh2DMLTEQtilOugrd2U2JKGBWRQR4xeL6fcyGOn0
5WuqJ6CAMjdgbMMEtjhQBaxcJxecP6v/EilPyR5Uy1v8utSYvlcu8FVyfkyQlMCh4W3XwRBc4sU3
X6V2lp/2T6LIzZ9uBcJzoic1KAcZIdnCHOb235wao13WO7+dA32UfAoINA8yfpyivaWw/WewR+ke
na9180R1xxVJFkH+R20XNcRSlMXOfPz7MrYPRFr4HQbWdLG6z3GwPcebAgMBAAGjggEpMIIBJTAf
BgNVHSMEGDAWgBRxB+IEYRbk5fJl6zEPyeD0PJrVkTAdBgNVHQ4EFgQULdtiYUNb4gMQ6z6BVDjw
ZeUYthwwQAYDVR0gBDkwNzA1BgdggRwBbgEBMCowKAYIKwYBBQUHAgEWHGh0dHA6Ly9jYS5hbGlw
YXkuY29tL2Nwcy5wZGYwDgYDVR0PAQH/BAQDAgbAMC8GA1UdHwQoMCYwJKAioCCGHmh0dHA6Ly9j
YS5hbGlwYXkuY29tL2NybDkzLmNybDBgBggrBgEFBQcBAQRUMFIwKAYIKwYBBQUHMAKGHGh0dHA6
Ly9jYS5hbGlwYXkuY29tL2NhNi5jZXIwJgYIKwYBBQUHMAGGGmh0dHA6Ly9jYS5hbGlwYXkuY29t
OjgzNDAvMA0GCSqGSIb3DQEBCwUAA4IBAQBzK7WLZwwHwEPZXm6VHNaO6PfLEqJDEf6zz15VPBr/
/yUGGHXReyfK5pHTh9EaFvNJTCWH/DHaUr0sf05w2bfxY3ZWCGFf6+qS+FqOq6V3AfXDphWlNSK9
jS5/tJc89Hr33HW4btsLwpcEqTweN16l3n5oIaJ9Zfi7zRQtPyUaVrtKAyMt8WeZ1gq1qjAAMmjG
RHy9/LpihPemAhuKuPHpFPvksO7RAaKGlY42pg+LxdXLNECJR57rKiWKrrITDM16xJAOTBFK8caH
MdkDrdiA6z/LsrGwiNBYb7N7t40gPdCJoVIlP0qkrzpqGg+KxwYDLmYX5LlpPdP9Tfz5y/t9
-----END CERTIFICATE-----
LifePayment/LifePayment.Host/LifePayment.Host.csproj
@@ -76,6 +76,15 @@
  </ItemGroup>
  <ItemGroup>
    <None Update="Cert\alipayCertPublicKey_RSA2.crt">
      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
    </None>
    <None Update="Cert\alipayRootCert.crt">
      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
    </None>
    <None Update="Cert\appCertPublicKey_2021004171602214.crt">
      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
    </None>
    <None Update="LifePaymentServices.Application.Contracts.xml">
      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
    </None>
LifePayment/LifePayment.Host/LifePaymentService.HttpApi.xml
@@ -278,6 +278,20 @@
            <param name="input"></param>
            <returns></returns>
        </member>
        <member name="M:LifePayment.HttpApi.OperateHistoryController.GetOperateHistoryByRelationId(LifePayment.Application.Contracts.GetOperateHistoryInput)">
            <summary>
            æŸ¥è¯¢æ—¥å¿—
            </summary>
            <param name="input"></param>
            <returns></returns>
        </member>
        <member name="M:LifePayment.HttpApi.OperateHistoryController.GetOperateHistoryByType(LifePayment.Application.Contracts.QueryOperateHistoryByTypeInput)">
            <summary>
            æ ¹æ®type查询日志
            </summary>
            <param name="input"></param>
            <returns></returns>
        </member>
        <member name="M:LifePayment.HttpApi.UserRoleController.CreateBackClientUser(LifePayment.Application.Contracts.CreateBackClientUserInput)">
            <summary>
            æ–°å¢žåŽå°ç®¡ç†è´¦æˆ·
LifePayment/LifePayment.Host/LifePaymentServiceHostModule.cs
@@ -54,7 +54,7 @@
            //Configure<AliYunSMSSettingOptions>(configuration.GetSection("AliYunSMSSetting"));
            context.Services.AddAutoMapperObjectMapper();
            ConfigurePays(context, configuration);
            context.Services.AddAuthentication("Bearer").AddIdentityServerAuthentication(options =>
            {
                options.Authority = configuration["AuthServer:Authority"];
@@ -150,6 +150,7 @@
                cacheOptions.GlobalCacheEntryOptions.SlidingExpiration = TimeSpan.FromMinutes(20);
            });
            this.Configure<ACOOLYOption>(configuration.GetSection("ACOOLY"));
            this.Configure<InformationOption>(configuration.GetSection("WeiXinCgi"));
        }
        public override void OnApplicationInitialization(ApplicationInitializationContext context)
LifePayment/LifePayment.Host/LifePaymentServices.Application.Contracts.xml
@@ -1298,6 +1298,46 @@
            çº¿ä¸‹æ”¯ä»˜æ±‡æ¬¾æœ€æ™šæ—¶é—´
            </summary>
        </member>
        <member name="P:LifePayment.Application.Contracts.OperateHistoryDto.RelationId">
            <summary>
            å…³è”关系ID
            </summary>
        </member>
        <member name="P:LifePayment.Application.Contracts.OperateHistoryDto.TableType">
            <summary>
            è¡¨å
            </summary>
        </member>
        <member name="P:LifePayment.Application.Contracts.OperateHistoryDto.OperateName">
            <summary>
            æ“ä½œ
            </summary>
        </member>
        <member name="P:LifePayment.Application.Contracts.OperateHistoryDto.OperateContent">
            <summary>
            æ“ä½œå†…容
            </summary>
        </member>
        <member name="P:LifePayment.Application.Contracts.OperateHistoryDto.CreatorName">
            <summary>
            æ“ä½œäºº
            </summary>
        </member>
        <member name="P:LifePayment.Application.Contracts.OperateHistoryDto.CreationTime">
            <summary>
            æ“ä½œæ—¶é—´
            </summary>
        </member>
        <member name="P:LifePayment.Application.Contracts.OperateHistoryDto.OperateDetail">
            <summary>
            æ“ä½œç»†èŠ‚
            </summary>
        </member>
        <member name="P:LifePayment.Application.Contracts.CreateOperateHistoryInput.RelationId">
            <summary>
            å…³è”关系ID
            </summary>
        </member>
        <member name="P:LifePayment.Application.Contracts.CreateBackClientUserInput.Name">
            <summary>
            åç§°
LifePayment/LifePayment.HttpApi/LifePay/OperateHistoryController.cs
New file
@@ -0,0 +1,46 @@
using LifePayment.Application.Contracts;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using System.Threading.Tasks;
using Volo.Abp.AspNetCore.Mvc;
using Volo.Abp.Uow;
using ZeroD.Util;
namespace LifePayment.HttpApi
{
    [Route("api/[controller]/[action]")]
    [ApiController]
    [Authorize]
    public class OperateHistoryController : AbpController
    {
        private readonly IOperateHistoryService _operateHistoryService;
        public OperateHistoryController(
               IOperateHistoryService operateHistoryService)
        {
            _operateHistoryService = operateHistoryService;
        }
        /// <summary>
        /// æŸ¥è¯¢æ—¥å¿—
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        [HttpPost]
        [UnitOfWork(IsDisabled = true)]
        public async Task<PageOutput<OperateHistoryDto>> GetOperateHistoryByRelationId(GetOperateHistoryInput input)
        {
            return await _operateHistoryService.GetOperateHistoryByRelationId(input);
        }
        /// <summary>
        /// æ ¹æ®type查询日志
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        [HttpPost]
        [UnitOfWork(IsDisabled = true)]
        public async Task<PageOutput<OperateHistoryDto>> GetOperateHistoryByType(QueryOperateHistoryByTypeInput input)
        {
            return await _operateHistoryService.GetOperateHistoryByType(input);
        }
    }
}