-
Notifications
You must be signed in to change notification settings - Fork 162
/
Copy pathadmin_panel.go
128 lines (101 loc) · 3.23 KB
/
admin_panel.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
// +----------------------------------------------------------------------
// | GoCMS 0.1
// +----------------------------------------------------------------------
// | Copyright (c) 2013-2014 http://www.6574.com.cn All rights reserved.
// +----------------------------------------------------------------------
// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
// +----------------------------------------------------------------------
// | Author: zzdboy <[email protected]>
// +----------------------------------------------------------------------
package models
//常用菜单
import "time"
import "github.com/revel/revel"
type Admin_Panel struct {
Id int64 `xorm:"pk"`
Mid int64 `xorm:"int(11)"`
Menu *Menu `xorm:"- <- ->"`
Aid int64 `xorm:"int(11)"`
Name string `xorm:"varchar(40)"`
Url string `xorm:"char(100)"`
Createtime string `xorm:"DateTime"`
}
//根据Id获取信息
func (a *Admin_Panel) GetById(Id int64) *Admin_Panel {
admin_panel := new(Admin_Panel)
has, err := DB_Read.Table("admin_panel").Id(Id).Get(admin_panel)
if err != nil {
revel.WARN.Println(has)
revel.WARN.Printf("错误: %v", err)
}
return admin_panel
}
//获取快捷方式列表
func (a *Admin_Panel) GetPanelList(Admin_Info *Admin) []*Admin_Panel {
//初始化菜单
admin_panel := []*Admin_Panel{}
err := DB_Read.Table("admin_panel").Where("aid=?", Admin_Info.Id).Find(&admin_panel)
if err != nil {
revel.WARN.Printf("错误: %v", err)
} else {
menu := new(Menu)
for i, v := range admin_panel {
admin_panel[i].Menu = menu.GetById(v.Mid)
}
}
return admin_panel
}
//根据mid获取快捷方式
func (a *Admin_Panel) GetByMid(Mid int64, Admin_Info *Admin) *Admin_Panel {
admin_panel := new(Admin_Panel)
has, err := DB_Read.Table("admin_panel").Where("mid=? and aid=?", Mid, Admin_Info.Id).Get(admin_panel)
if err != nil {
revel.WARN.Println(has)
revel.WARN.Printf("错误: %v", err)
}
return admin_panel
}
//是否已添加快捷方式
func (a *Admin_Panel) IsAdd(Mid int64, Admin_Info *Admin) bool {
admin_panel := new(Admin_Panel)
has, err := DB_Read.Table("admin_panel").Where("mid=? AND aid=?", Mid, Admin_Info.Id).Get(admin_panel)
if err != nil {
revel.WARN.Println(has)
revel.WARN.Printf("错误: %v", err)
}
if admin_panel.Id > 0 {
return true
} else {
return false
}
}
//删除快捷方式
func (a *Admin_Panel) DelPanel(Mid int64, Admin_Info *Admin) bool {
admin_panel := new(Admin_Panel)
has, err := DB_Write.Table("admin_panel").Where("mid=? AND aid=?", Mid, Admin_Info.Id).Delete(admin_panel)
if err != nil {
revel.WARN.Println(has)
revel.WARN.Printf("错误: %v", err)
return false
}
return true
}
//添加快捷方式
func (a *Admin_Panel) AddPanel(Mid int64, Admin_Info *Admin) bool {
admin_panel := new(Admin_Panel)
admin_panel.Mid = Mid
admin_panel.Aid = Admin_Info.Id
menu := new(Menu)
//获取菜单信息
menu_info := menu.GetById(Mid)
admin_panel.Name = menu_info.Name
admin_panel.Url = menu_info.Url
admin_panel.Createtime = time.Now().Format("2006-01-02 15:04:05")
has, err := DB_Write.Table("admin_panel").Insert(admin_panel)
if err != nil {
revel.WARN.Println(has)
revel.WARN.Printf("错误: %v", err)
return false
}
return true
}