123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136 |
- package system
- import (
- "context"
- "hongze/fms_api/global"
- "hongze/fms_api/models/base"
- )
- type SysMenu struct {
- MenuId int64 `gorm:"primaryKey;column:menu_id;" json:"menu_id"`
- ParentId int64 `gorm:"column:parent_id" json:"parent_id"`
- RootId int64 `gorm:"column:root_id" json:"root_id"`
- Name string `gorm:"column:name" json:"name"`
- Sort int8 `gorm:"column:sort" json:"sort"`
- Path string `gorm:"column:path" json:"path"`
- PathName string `gorm:"column:path_name" json:"path_name"`
- IconPath string `gorm:"column:icon_path" json:"icon_path"`
- Component string `gorm:"column:component" json:"component"`
- Hidden int8 `gorm:"column:hidden" json:"hidden"`
- HiddenLayout int8 `gorm:"column:hidden_layout" json:"hidden_layout"`
- Level int8 `gorm:"column:level" json:"level"`
- MenuType int8 `gorm:"column:menu_type" json:"menu_type"`
- ButtonCode string `gorm:"column:button_code" json:"button_code"`
- base.TimeBase
- }
- func (m *SysMenu) TableName() string {
- return "sys_menu"
- }
- type SysMenuAddReq struct {
- ParentId int64 `json:"parent_id"`
- Name string `json:"name" binding:"required"`
- Sort int8 `json:"sort"`
- Path string `json:"path"`
- PathName string `json:"path_name"`
- IconPath string `json:"icon_path"`
- Component string `json:"component"`
- Hidden int8 `json:"hidden" binding:"oneof=0 1"`
- HiddenLayout int8 `json:"hidden_layout" binding:"oneof=0 1"`
- MenuType int8 `json:"menu_type" binding:"oneof=0 1"`
- ButtonCode string `json:"button_code" binding:"required_if=menu_type 1"`
- }
- type SysMenuEditReq struct {
- MenuId int64 `json:"menu_id" binding:"required,gte=1"`
- SysMenuAddReq
- }
- func (m *SysMenu) Add() (err error) {
- err = global.DEFAULT_MYSQL.Create(m).Error
- return
- }
- func (m *SysMenu) Update(updateCols []string) (err error) {
- err = global.DEFAULT_MYSQL.Model(m).Select(updateCols).Updates(m).Error
- return
- }
- func (m *SysMenu) SelectPage(page base.IPage, condition string, pars []interface{}) (count int64,results []*SysMenu, err error) {
- results = make([]*SysMenu, 0)
- query := global.DEFAULT_MYSQL.WithContext(context.TODO()).Model(m).
- Where(condition, pars...)
- query.Count(&count)
- if len(page.GetOrderItemsString()) > 0 {
- query = query.Order(page.GetOrderItemsString())
- }
- err = query.Limit(int(page.GetPageSize())).Offset(int(page.Offset())).Find(&results).Error
- return
- }
- type SysMenuButtonResp struct {
- MenuId int64 `json:"menu_id"`
- ParentId int64 `json:"parent_id"`
- Name string `json:"name" binding:"required"`
- MenuType int8 `json:"menu_type" binding:"oneof=0 1"`
- ButtonCode string `json:"button_code" binding:"required_if=menu_type 1"`
- }
- func (m *SysMenu) GetMenuListByCondition(condition string, pars []interface{}, orderStr string) (results []*SysMenu, err error) {
- results = make([]*SysMenu, 0)
- if orderStr == "" {
- orderStr = "sort asc, create_time desc"
- }
- err = global.DEFAULT_MYSQL.WithContext(context.TODO()).Model(m).
- Where(condition, pars...).Order(orderStr).Find(&results).Error
- return
- }
- type MenuShortListItem struct {
- MenuId int64 `json:"menu_id" form:"menu_id"`
- }
- type MenuListReq struct {
- base.PageReq
- Name string `json:"name" form:"name"`
- HideLevel3 int8 `json:"hide_level3" form:"hide_level3"`
- HideButton int8 `json:"hide_button" form:"hide_button"`
- }
- type MenuListItemResp struct {
- MenuId int64 `json:"menu_id"`
- ParentId int64 `json:"parent_id"`
- Name string `json:"name"`
- Sort int8 `json:"sort"`
- Path string `json:"path"`
- PathName string `json:"path_name"`
- IconPath string `json:"icon_path"`
- Component string `json:"component"`
- Hidden int8 `json:"hidden"`
- HiddenLayout int8 `json:"hidden_layout"`
- Level int8 `json:"level"`
- MenuType int8 `json:"menu_type"`
- ButtonCode string `json:"button_code"`
- HasBind bool `json:"has_bind"`
- CreateTime string `json:"create_time"`
- ModifyTime string `json:"modify_time"`
- Children []*MenuListItemResp `json:"children"`
- }
- func (m *SysMenu) GetMenuByName(name string) (list []*SysMenu, err error) {
- err = global.DEFAULT_MYSQL.Model(m).Where("name like ?", name).Find(&list).Error
- return
- }
- func (m *SysMenu) GetMenuByMenuId(menuId int64) (item *SysMenu, err error) {
- err = global.DEFAULT_MYSQL.Model(m).Where("menu_id = ?", menuId).First(&item).Error
- return
- }
- func (m *SysMenu) DeleteByCondition(condition string, pars []interface{}) (err error) {
- err = global.DEFAULT_MYSQL.Where(condition, pars...).Delete(m).Error
- return
- }
|