From e1a1b1f7990268d4c7ddbc4391ef29ac1cf50ab5 Mon Sep 17 00:00:00 2001 From: npc0-hue Date: Fri, 24 Oct 2025 11:59:26 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20-=20=E7=A7=BB=E9=99=A4=E5=90=8E?= =?UTF-8?q?=E5=8F=B0=E7=94=A8=E6=88=B7mail=E5=94=AF=E4=B8=80=E7=B4=A2?= =?UTF-8?q?=E5=BC=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- admin/server/initialize/gorm.go | 13 +++--- admin/server/initialize/gorm_pgsql.go | 6 ++- admin/server/model/system/sys_user.go | 40 +------------------ .../apps/workflow/generate_task_pipeline.py | 8 ++-- api/core/workflow/workflow_cycle_manager.py | 9 ++--- 5 files changed, 20 insertions(+), 56 deletions(-) diff --git a/admin/server/initialize/gorm.go b/admin/server/initialize/gorm.go index af7991550..61f347675 100644 --- a/admin/server/initialize/gorm.go +++ b/admin/server/initialize/gorm.go @@ -1,6 +1,8 @@ package initialize import ( + "fmt" + "log" "os" "github.com/flipped-aurora/gin-vue-admin/server/global" @@ -38,9 +40,6 @@ func Gorm() *gorm.DB { func RegisterTables() { db := global.GVA_DB - // 在注册表之前,清理重复的 email 数据 - system.CleanDuplicateEmails() - err := db.AutoMigrate( system.SysApi{}, system.SysIgnoreApi{}, @@ -82,10 +81,10 @@ func RegisterTables() { os.Exit(0) } - // 如果是PostgreSQL数据库,创建必要的序列 - if global.GVA_CONFIG.System.DbType == "pgsql" { - createPostgreSQLSequences(db) - } + //// 如果是PostgreSQL数据库,创建必要的序列 + //if global.GVA_CONFIG.System.DbType == "pgsql" { + // createPostgreSQLSequences(db) + //} err = bizModel() diff --git a/admin/server/initialize/gorm_pgsql.go b/admin/server/initialize/gorm_pgsql.go index 1d126d583..9c0804cd6 100644 --- a/admin/server/initialize/gorm_pgsql.go +++ b/admin/server/initialize/gorm_pgsql.go @@ -28,7 +28,7 @@ func GormPgSql() *gorm.DB { sqlDB.SetMaxOpenConns(p.MaxOpenConns) // 为PostgreSQL创建必要的序列 - createPostgreSQLSequences(db) + //createPostgreSQLSequences(db) return db } @@ -49,6 +49,10 @@ func GormPgSqlByConfig(p config.Pgsql) *gorm.DB { sqlDB, _ := db.DB() sqlDB.SetMaxIdleConns(p.MaxIdleConns) sqlDB.SetMaxOpenConns(p.MaxOpenConns) + + // 为PostgreSQL创建必要的序列 + //createPostgreSQLSequences(db) + return db } } diff --git a/admin/server/model/system/sys_user.go b/admin/server/model/system/sys_user.go index 8d2370a0d..97f2fbe17 100644 --- a/admin/server/model/system/sys_user.go +++ b/admin/server/model/system/sys_user.go @@ -35,7 +35,7 @@ type SysUser struct { Authority SysAuthority `json:"authority" gorm:"foreignKey:AuthorityId;references:AuthorityId;comment:用户角色"` // 用户角色 Authorities []SysAuthority `json:"authorities" gorm:"many2many:sys_user_authority;"` // 多用户角色 Phone string `json:"phone" gorm:"comment:用户手机号"` // 用户手机号 - Email string `json:"email" gorm:"uniqueIndex;comment:用户邮箱"` // 用户邮箱 + Email string `json:"email" gorm:"index;comment:用户邮箱"` // 用户邮箱 Enable int `json:"enable" gorm:"default:1;comment:用户是否被冻结 1正常 2冻结"` //用户是否被冻结 1正常 2冻结 OriginSetting common.JSONMap `json:"originSetting" form:"originSetting" gorm:"type:text;default:null;column:origin_setting;comment:配置;"` //配置 } @@ -115,41 +115,3 @@ type SysUserGlobalCode struct { } // Extend: Stop global code - -// CleanDuplicateEmails 清除重复的 email 数据,只保留 id 最大的数据 -func CleanDuplicateEmails() { - // 查找所有重复的 email - var err error - var duplicateEmails []string - if err = global.GVA_DB.Model(&SysUser{}). - Select("email"). - Group("email"). - Having("COUNT(*) > 1"). - Pluck("email", &duplicateEmails).Error; err != nil { - return - } - - // 对每个重复的 email,删除除了 id 最大的记录之外的所有记录 - for _, email := range duplicateEmails { - var users []SysUser - if err = global.GVA_DB.Where("email = ?", email).Order("id DESC").Find(&users).Error; err != nil { - return - } - - // 如果找到重复记录,删除除了第一个(id 最大)之外的所有记录 - if len(users) > 1 { - var idsToDelete []uint - for i := 1; i < len(users); i++ { - idsToDelete = append(idsToDelete, users[i].ID) - } - - if len(idsToDelete) > 0 { - if err = global.GVA_DB.Where("id IN ?", idsToDelete).Delete(&SysUser{}).Error; err != nil { - return - } - } - } - } - - return -} diff --git a/api/core/app/apps/workflow/generate_task_pipeline.py b/api/core/app/apps/workflow/generate_task_pipeline.py index 74af464c3..f6e70294e 100644 --- a/api/core/app/apps/workflow/generate_task_pipeline.py +++ b/api/core/app/apps/workflow/generate_task_pipeline.py @@ -673,10 +673,10 @@ class WorkflowAppGenerateTaskPipeline: if isinstance( event, ( - QueueNodeFailedEvent, - QueueNodeInIterationFailedEvent, - QueueNodeInLoopFailedEvent, - QueueNodeExceptionEvent, + QueueNodeFailedEvent, + QueueNodeInIterationFailedEvent, + QueueNodeInLoopFailedEvent, + QueueNodeExceptionEvent, ), ): yield from self._handle_node_failed_events( diff --git a/api/core/workflow/workflow_cycle_manager.py b/api/core/workflow/workflow_cycle_manager.py index b4c6ff7c2..41a04713b 100644 --- a/api/core/workflow/workflow_cycle_manager.py +++ b/api/core/workflow/workflow_cycle_manager.py @@ -36,7 +36,6 @@ from tasks.extend.update_account_money_when_workflow_node_execution_created_exte update_account_money_when_workflow_node_execution_created_extend, ) - # 二开部分End - 密钥额度限制 @dataclass @@ -215,9 +214,9 @@ class WorkflowCycleManager: self, *, event: QueueNodeFailedEvent - | QueueNodeInIterationFailedEvent - | QueueNodeInLoopFailedEvent - | QueueNodeExceptionEvent, + | QueueNodeInIterationFailedEvent + | QueueNodeInLoopFailedEvent + | QueueNodeExceptionEvent, ) -> WorkflowNodeExecution: """ Workflow node execution failed @@ -361,7 +360,7 @@ class WorkflowCycleManager: node_exec for node_exec in self._node_execution_cache.values() if node_exec.workflow_execution_id == workflow_execution_id - and node_exec.status == WorkflowNodeExecutionStatus.RUNNING + and node_exec.status == WorkflowNodeExecutionStatus.RUNNING ] for node_execution in running_node_executions: