fix(internal): 删除cateage部分,修复repo和service部分

This commit is contained in:
2025-11-17 18:08:42 +08:00
parent 5bb025c1aa
commit 907befeb55
11 changed files with 57 additions and 95 deletions

View File

@@ -18,7 +18,6 @@ func RegisterRouter(r *gin.Engine) {
{
handler.RegisterRouterAuth(v1.Group("/auth"))
handler.RegisterRouterUser(v1.Group("/user"))
handler.RegisterRouterCateage(v1.Group("/cateage"))
v1.GET("/proxy", handler.Proxy)
}

View File

@@ -2,6 +2,7 @@ package handler
import (
"errors"
"github.com/gin-gonic/gin"
"github.com/zhilv666/navsite/internal/model"
"github.com/zhilv666/navsite/internal/service"

View File

@@ -1,20 +0,0 @@
package handler
import (
"github.com/gin-gonic/gin"
"github.com/zhilv666/navsite/internal/service"
"github.com/zhilv666/navsite/pkg/common"
)
func GetAllCateageWithSites(c *gin.Context) {
cateagies, err := service.GetAllCateageWithSites()
if err != nil {
common.Fail(c, err.Error())
return
}
common.Succ(c, cateagies)
}
func RegisterRouterCateage(g *gin.RouterGroup) {
g.GET("/", GetAllCateageWithSites)
}

View File

@@ -1,16 +0,0 @@
package model
import (
"time"
)
type Cateage struct {
ID uint `gorm:"primaryKey" json:"id"`
CreatedAt time.Time `json:"created_at"`
UpdatedAt time.Time `json:"updated_at"`
DeletedAt *time.Time `gorm:"index" json:"-"`
AnchorId string `gorm:"size:100;not null;unique" json:"anchor_id"`
Name string `gorm:"size:100;not null;unique" json:"name"`
Sites []Site `gorm:"foreignKey:CateageID" json:"sites"` // 方便获取分类下所有网站
}

View File

@@ -8,7 +8,7 @@ import (
func Init() {
err := db.GetDB().AutoMigrate(
new(User), new(Cateage), new(Site),
new(User),
)
if err != nil {
logger.Error("database migrate error", zap.Stack("migrate"))

View File

@@ -1,18 +0,0 @@
package model
import "time"
type Site struct {
ID uint `gorm:"primaryKey" json:"id"`
CreatedAt time.Time `json:"created_at"`
UpdatedAt time.Time `json:"updated_at"`
DeletedAt *time.Time `gorm:"index" json:"-"`
Name string `gorm:"size:100;not null;unique" json:"name"`
Describe string `gorm:"size:100" json:"describe"`
CateageID uint `gorm:"not null;index" json:"cateage_id"`
Cateage Cateage `gorm:"foreignKey:CateageID;constraint:OnUpdate:CASCADE,OnDelete:SET NULL;" json:"cateage"` // 外键关联
Url string `gorm:"size:500;not null" json:"url"`
Cors bool `gorm:"default:false" json:"cors"`
Icon string `gorm:"size:500;default:'https://cos.kmux.cn/md/20251115174627218.png'" json:"icon"`
}

View File

@@ -1,4 +1,4 @@
package service
package repo
import (
"github.com/zhilv666/navsite/pkg/config"

46
internal/repo/user.go Normal file
View File

@@ -0,0 +1,46 @@
package repo
import (
"github.com/pkg/errors"
"github.com/zhilv666/navsite/internal/model"
)
func GetUserByID(id uint) (*model.User, error) {
var user model.User
if err := DB().First(&user, id).Error; err != nil {
return nil, errors.Wrapf(err, "failed get old user")
}
return &user, nil
}
func GetUserByName(username string) (*model.User, error) {
user := model.User{Username: username}
if err := DB().Where(user).First(&user).Error; err != nil {
return nil, errors.Wrapf(err, "failed get old user")
}
return &user, nil
}
func GetUsers(pageIndex, pageSize int) (users []*model.User, count int64, err error) {
userDB := DB().Model(&model.User{})
if err := userDB.Count(&count).Error; err != nil {
return nil, 0, errors.Wrapf(err, "failed get counts")
}
if err := userDB.Order(columnName("id")).Offset((pageIndex - 1) * pageSize).Limit(pageSize).Find(&users).Error; err != nil {
return nil, 0, errors.Wrapf(err, "failed get users")
}
return users, count, nil
}
func AddUser(user *model.User) error {
return errors.WithStack(DB().Create(&user).Error)
}
func UpdateUser(user *model.User) error {
return errors.WithStack(DB().Save(&user).Error)
}
func DeleteUser(id uint) error {
return errors.WithStack(DB().Delete(&model.User{}, id).Error)
}

View File

@@ -1,4 +1,4 @@
package service
package repo
import (
"fmt"

View File

@@ -1,14 +0,0 @@
package service
import (
"github.com/pkg/errors"
"github.com/zhilv666/navsite/internal/model"
)
func GetAllCateageWithSites() ([]model.Cateage, error) {
var cateagies []model.Cateage
if err := DB().Preload("Sites").Find(&cateagies).Error; err != nil {
return nil, errors.Wrap(err, "failed get cateagies")
}
return cateagies, nil
}

View File

@@ -1,46 +1,30 @@
package service
import (
"github.com/pkg/errors"
"github.com/zhilv666/navsite/internal/model"
"github.com/zhilv666/navsite/internal/repo"
)
func GetUserByID(id uint) (*model.User, error) {
var user model.User
if err := DB().First(&user, id).Error; err != nil {
return nil, errors.Wrapf(err, "failed get old user")
}
return &user, nil
return repo.GetUserByID(id)
}
func GetUserByName(username string) (*model.User, error) {
user := model.User{Username: username}
if err := DB().Where(user).First(&user).Error; err != nil {
return nil, errors.Wrapf(err, "failed get old user")
}
return &user, nil
return repo.GetUserByName(username)
}
func GetUsers(pageIndex, pageSize int) (users []*model.User, count int64, err error) {
userDB := DB().Model(&model.User{})
if err := userDB.Count(&count).Error; err != nil {
return nil, 0, errors.Wrapf(err, "failed get counts")
}
if err := userDB.Order(columnName("id")).Offset((pageIndex - 1) * pageSize).Limit(pageSize).Find(&users).Error; err != nil {
return nil, 0, errors.Wrapf(err, "failed get users")
}
return users, count, nil
return repo.GetUsers(pageIndex, pageSize)
}
func AddUser(user *model.User) error {
return errors.WithStack(DB().Create(&user).Error)
return repo.AddUser(user)
}
func UpdateUser(user *model.User) error {
return errors.WithStack(DB().Save(&user).Error)
return repo.UpdateUser(user)
}
func DeleteUser(id uint) error {
return errors.WithStack(DB().Delete(&model.User{}, id).Error)
return repo.DeleteUser(id)
}