From 6369fed5fcd8015509146db77066d2d2da937320 Mon Sep 17 00:00:00 2001 From: xiaojunnuo Date: Mon, 14 Jul 2025 23:15:22 +0800 Subject: [PATCH] chore: --- .../libs/lib-server/src/basic/constants.ts | 4 +++ .../monitor/facade/cert-info-facade.ts | 25 +++++++++++++++++++ 2 files changed, 29 insertions(+) diff --git a/packages/libs/lib-server/src/basic/constants.ts b/packages/libs/lib-server/src/basic/constants.ts index f7afaa75..c1698092 100644 --- a/packages/libs/lib-server/src/basic/constants.ts +++ b/packages/libs/lib-server/src/basic/constants.ts @@ -111,6 +111,10 @@ export const Constants = { code: 20013, message: '证书正在申请中,请稍后重新获取(需要事先在“域名管理”页面配置好校验方式)', }, + openDomainNoVerifier:{ + code: 20014, + message: '域名校验方式未配置', + }, openEmailNotFound: { code: 20021, message: '用户邮箱还未配置', diff --git a/packages/ui/certd-server/src/modules/monitor/facade/cert-info-facade.ts b/packages/ui/certd-server/src/modules/monitor/facade/cert-info-facade.ts index 88249deb..83e51de9 100644 --- a/packages/ui/certd-server/src/modules/monitor/facade/cert-info-facade.ts +++ b/packages/ui/certd-server/src/modules/monitor/facade/cert-info-facade.ts @@ -7,6 +7,8 @@ import { UserSettingsService } from "../../mine/service/user-settings-service.js import { UserEmailSetting } from "../../mine/service/models.js"; import { PipelineEntity } from "../../pipeline/entity/pipeline.js"; import { CertInfoService } from "../service/cert-info-service.js"; +import { DomainService } from "../../cert/service/domain-service.js"; +import { DomainVerifierGetter } from "../../pipeline/service/getter/domain-verifier-getter.js"; @Provide("CertInfoFacade") @@ -19,6 +21,9 @@ export class CertInfoFacade { @Inject() certInfoService: CertInfoService ; + @Inject() + domainService: DomainService + @Inject() userSettingsService : UserSettingsService @@ -62,6 +67,26 @@ export class CertInfoFacade { } async createAutoPipeline(req:{domains:string[],userId:number}){ + + const verifierGetter = new DomainVerifierGetter(req.userId, this.domainService) + + const allDomains = [] + for (const item of req.domains) { + allDomains.push(item.replaceAll("*.","")) + } + const verifiers = await verifierGetter.getVerifiers(allDomains) + for (const item of allDomains) { + if (!verifiers[item]){ + throw new CodeException({ + ...Constants.res.openDomainNoVerifier, + message:`域名${item}没有配置校验方式,请先在域名管理页面配置`, + data:{ + domain:item + } + }); + } + } + const userEmailSetting = await this.userSettingsService.getSetting(req.userId,UserEmailSetting) if(!userEmailSetting.list){ throw new CodeException(Constants.res.openEmailNotFound)