feat: import services and standardize Go 1.26.5

This commit is contained in:
2026-08-09 10:43:45 +08:00
parent 689c74b28f
commit 86024fa81d
1456 changed files with 220765 additions and 2 deletions

View File

@@ -0,0 +1,40 @@
package models
import (
"time"
"gorm.io/gorm"
)
// 用户的自定义权限关联表
type MgtLinkUserPmn struct {
UserId uint `gorm:"column:user_id;primaryKey" json:"user_id"` // 用户ID
AppId uint `gorm:"column:app_id;primaryKey" json:"app_id"` // 应用ID
PmnId uint `gorm:"column:pmn_id;primaryKey" json:"pmn_id"` // 权限ID
CreatedAt time.Time `gorm:"column:created_at;autoCreateTime" json:"created_at,omitempty"` // 创建时间
}
func (MgtLinkUserPmn) TableName() string {
return "mgt_link_user_pmn"
}
// func init() {
// database.AppendMigrate(&MgtLinkUserPmn{})
// }
// AfterDelete钩子仅当该用户在该应用下不再拥有任何权限时移除用户-应用关联
func (l *MgtLinkUserPmn) AfterDelete(tx *gorm.DB) error {
var count int64
if err := tx.Model(&MgtLinkUserPmn{}).
Where("app_id = ? AND user_id = ?", l.AppId, l.UserId).
Count(&count).Error; err != nil {
return err
}
if count == 0 {
if err := tx.Where("app_id = ? AND user_id = ?", l.AppId, l.UserId).
Delete(&MgtLinkUserApp{}).Error; err != nil {
return err
}
}
return nil
}