1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- package model
- import (
- "Panel_development/global"
- "Panel_development/unity"
- "errors"
- "gorm.io/gorm"
- )
- type PageManage struct {
- gorm.Model
- UserId int `gorm:"type:int;not null;comment:用户id" json:"userId" `
- PanelId string `gorm:"type:varchar(255);not null;unique;comment:页面id" json:"panelId" `
- Name string `gorm:"type:varchar(255);not null;comment:页面名称" json:"name" `
- Data string `gorm:"type:longtext;comment:页面数据" json:"data" validate:"required"`
- }
- func (p PageManage) GetPageManageById(uid, id int) (PageManage, error) {
- //TODO implement me
- tx := global.DBLink.Where("id=?", id).Where("user_id=?", uid).First(&p)
- if tx.RowsAffected > 0 {
- return p, nil
- }
- return PageManage{}, errors.New("没有找到该页面")
- }
- func (p PageManage) GetPageManage(params unity.QueryPageParams, model PageManage, queryCond interface{}) (result []PageManage, total int64, err error) {
- //TODO implement me
- var count int64
- if queryCond != nil {
- if err = global.DBLink.Model(model).Where(queryCond, params.Query).Where("user_id=?", model.UserId).Count(&count).Error; err != nil {
- return nil, 0, err
- }
- // 计算查询的偏移量,并设置每次查询的记录数量
- offset := (params.Page - 1) * params.Size
- // 执行分页查询,包括偏移量设置、限制查询数量、排序及应用额外查询条件
- if err = global.DBLink.Offset(offset).Limit(params.Size).Order(params.Desc).Where(queryCond, params.Query).Where("user_id=?", model.UserId).Find(&result).Error; err != nil {
- return nil, 0, err
- }
- } else {
- if err = global.DBLink.Model(model).Where("user_id=?", model.UserId).Count(&count).Error; err != nil {
- return nil, 0, err
- }
- // 计算查询的偏移量,并设置每次查询的记录数量
- offset := (params.Page - 1) * params.Size
- // 执行分页查询,包括偏移量设置、限制查询数量、排序及应用额外查询条件
- if err = global.DBLink.Offset(offset).Limit(params.Size).Order(params.Desc).Where("user_id=?", model.UserId).Find(&result).Error; err != nil {
- return nil, 0, err
- }
- }
- return result, count, nil
- }
- func (p PageManage) UpdatePageManage(manage PageManage) error {
- //TODO implement me
- tx := global.DBLink.Where("user_id=?", manage.UserId).Where("id=?", manage.ID).Updates(&manage)
- if tx.RowsAffected > 0 {
- return nil
- }
- return errors.New("更新失败")
- }
- func (p PageManage) DeletePageManageById(uid, id int) error {
- //TODO implement me
- tx := global.DBLink.Where("user_id=?", uid).Where("id=?", id).Delete(&PageManage{})
- if tx.RowsAffected > 0 {
- return nil
- }
- return errors.New("删除失败")
- }
- func (p PageManage) TableName() string {
- return "page_manage"
- }
|