From ee0a37fdf6626ad77231b26d50f725c732a49ac4 Mon Sep 17 00:00:00 2001 From: v-me-50 Date: Thu, 18 Sep 2025 11:12:54 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90=E8=B0=83=E6=95=B4=E3=80=91=E7=A6=81?= =?UTF-8?q?=E6=AD=A2=E5=9C=A8=E5=90=8C=E4=B8=80=E4=B8=AAca=E4=B8=8B?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E7=9B=B8=E5=90=8C=E7=9A=84=E9=82=AE=E7=AE=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/internal/cert/apply/account.go | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/backend/internal/cert/apply/account.go b/backend/internal/cert/apply/account.go index 08afe0c..9e7278c 100644 --- a/backend/internal/cert/apply/account.go +++ b/backend/internal/cert/apply/account.go @@ -146,6 +146,16 @@ func AddAccount(email, ca, Kid, HmacEncoded, CADirURL string) error { } else if ca == "custom" && CADirURL == "" { return fmt.Errorf("CADirURL is required for custom CA") } + + // Check if account already exists + data, err := db.Where(`email=? and type=?`, []interface{}{email, ca}).Select() + if err != nil { + return fmt.Errorf("failed to query account: %w", err) + } + if len(data) > 0 { + return fmt.Errorf("当前ca已存在相同的邮箱,请勿重复添加") + } + account := map[string]interface{}{ "email": email, "type": ca, @@ -229,7 +239,7 @@ func GetAccountList(search, ca string, p, limit int64) ([]map[string]interface{} } } count, err := db.Where(whereSql, whereArgs).Count() - data, err := db.Where(whereSql, whereArgs).Limit(limits).Select() + data, err := db.Where(whereSql, whereArgs).Order("create_time", "desc").Limit(limits).Select() if err != nil { return nil, 0, fmt.Errorf("failed to get account list: %w", err) }