sunpengfei
10 小时以前 8cc3bff6979c8e3d66e9d4caa91398c3f0e58f0a
FlexJobApi.UserServer.Application/ElectronSign/Queries/ContractTemplateQueryHandler.cs
@@ -21,7 +21,8 @@
            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>,
@@ -33,6 +34,7 @@
        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>
        /// 查询运营端协议管理列表
@@ -225,13 +227,18 @@
        /// <param name="request"></param>
        /// <param name="cancellationToken"></param>
        /// <returns></returns>
        public Task<List<SelectOption<Guid, GetEnterpriseContractTemplateSelectQueryOption>>> Handle(GetEnterpriseContractTemplateSelectQuery request, CancellationToken cancellationToken)
        public async Task<List<SelectOption<Guid, GetEnterpriseContractTemplateSelectQueryOption>>> Handle(GetEnterpriseContractTemplateSelectQuery request, CancellationToken cancellationToken)
        {
            var logier = JwtUtils.GetCurrentLogier();
            return request.GetSelect<ContractTemplate, Guid, GetEnterpriseContractTemplateSelectQueryOption>(
            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),
                q => q.Where(it => it.EnterpriseId == logier.EnterpriseId && !it.IsDisabled && it.Status== EnumContractTemplateStatus.Completed && it.Access.HasValue && accesses.Contains(it.Access.Value)),
                cancellationToken);
        }