sunpengfei
12 小时以前 5c45bc53e2c18e45130c21048df4af4896455c6d
FlexJobApi.UserServer.Application/ElectronSign/Queries/ContractTemplateQueryHandler.cs
@@ -21,17 +21,20 @@
            IRepository<ContractTemplate> rep,
            IRepository<Enterprise> repEnterprise,
            IRepository<User> repUser,
            IRepository<DbAuditLog, LogDbContextLocator> repDbAuditLog
            IRepository<DbAuditLog, LogDbContextLocator> repDbAuditLog,
            IRepository<EnterpriseElectronSignSetting> repEnterpriseElectronSignSetting
        ) :
        IRequestHandler<GetContractTemplateEnterprisesQuery, GetContractTemplateEnterprisesQueryResult>,
        IRequestHandler<GetEnterpriseContractTemplatesQuery, GetEnterpriseContractTemplatesQueryResult>,
        IRequestHandler<GetEnterpriseContractTemplateLogsQuery, GetEnterpriseContractTemplateLogsQueryResult>,
        IRequestHandler<GetContractTemplateQuery, GetContractTemplateQueryResult>
        IRequestHandler<GetContractTemplateQuery, GetContractTemplateQueryResult>,
        IRequestHandler<GetEnterpriseContractTemplateSelectQuery, List<SelectOption<Guid, GetEnterpriseContractTemplateSelectQueryOption>>>
    {
        private readonly IRepository<ContractTemplate> rep = rep;
        private readonly IRepository<Enterprise> repEnterprise = repEnterprise;
        private readonly IRepository<User> repUser = repUser;
        private readonly IRepository<DbAuditLog, LogDbContextLocator> repDbAuditLog = repDbAuditLog;
        private readonly IRepository<EnterpriseElectronSignSetting> repEnterpriseElectronSignSetting = repEnterpriseElectronSignSetting;
        /// <summary>
        /// 查询运营端协议管理列表
@@ -117,6 +120,7 @@
                        Access = t.Access,
                        Code = t.Code,
                        File = t.File,
                        WxmpQrCode = t.WxmpQrCode,
                        Status = t.Status,
                        CompletedTime = t.CompletedTime,
                        Operator = uugi == null
@@ -158,6 +162,10 @@
                    "IsDeleted",
                    "Values",
                    "TemplateId",
                    "TemplateEditData",
                    "TemplateJsonData",
                    "BindProperty",
                    "ElectronSignContractTemplateId"
                };
                var properties = type.GetProperties().Where(it => !ignorePropertyNames.Contains(it.Name)).ToList();
                var traceIds = result.Data.DistinctSelect(it => it.TraceId);
@@ -213,6 +221,27 @@
            return model;
        }
        /// <summary>
        /// 查询企业合同模板选择器数据
        /// </summary>
        /// <param name="request"></param>
        /// <param name="cancellationToken"></param>
        /// <returns></returns>
        public async Task<List<SelectOption<Guid, GetEnterpriseContractTemplateSelectQueryOption>>> Handle(GetEnterpriseContractTemplateSelectQuery request, CancellationToken cancellationToken)
        {
            var logier = JwtUtils.GetCurrentLogier();
            var accesses = await repEnterpriseElectronSignSetting.AsQueryable()
                    .Where(it => it.EnterpriseId == logier.EnterpriseId)
                    .Select(it => it.ElectronSignAccess)
                    .ToListAsync();
            return await request.GetSelect<ContractTemplate, Guid, GetEnterpriseContractTemplateSelectQueryOption>(
                it => it.Id,
                it => it.Name,
                q => q.Where(it => it.EnterpriseId == logier.EnterpriseId && !it.IsDisabled && it.Status== EnumContractTemplateStatus.Completed && it.Access.HasValue && accesses.Contains(it.Access.Value)),
                cancellationToken);
        }
        private async Task AddContractTemplateLogsAsync(
            GetEnterpriseContractTemplateLogsQueryResultItem item,
            List<PropertyInfo> properties,