随笔 - 35  文章 - 20 评论 - 0 阅读 - 3497
< 2025年3月 >
23 24 25 26 27 28 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 1 2 3 4 5

controllers->admin->manager.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
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
package admin
 
import (
    "fmt"
    "ginshop06/models"
    "net/http"
    "strings"
 
    "github.com/gin-gonic/gin"
)
 
type ManagerController struct {
    BaseController
}
 
func (con ManagerController) Index(c *gin.Context) {
 
    managerList := []models.Manager{}
    models.DB.Preload("Role").Find(&managerList)
 
    fmt.Printf("%#v", managerList)
 
    c.HTML(http.StatusOK, "admin/manager/index.html", gin.H{
        "managerList": managerList,
    })
 
}
func (con ManagerController) Add(c *gin.Context) {
    //获取所有的角色
    roleList := []models.Role{}
    models.DB.Find(&roleList)
    c.HTML(http.StatusOK, "admin/manager/add.html", gin.H{
        "roleList": roleList,
    })
}
func (con ManagerController) DoAdd(c *gin.Context) {
 
    roleId, err1 := models.Int(c.PostForm("role_id"))
    if err1 != nil {
        con.Error(c, "传入数据错误", "/admin/manager/add")
        return
    }
    username := strings.Trim(c.PostForm("username"), " ")
    password := strings.Trim(c.PostForm("password"), " ")
    email := strings.Trim(c.PostForm("email"), " ")
    mobile := strings.Trim(c.PostForm("mobile"), " ")
    //用户名和密码长度是否合法
    if len(username) < 2 || len(password) < 6 {
        con.Error(c, "用户名或者密码的长度不合法", "/admin/manager/add")
        return
    }
 
    //判断管理是否存在
    managerList := []models.Manager{}
    models.DB.Where("username=?", username).Find(&managerList)
    if len(managerList) > 0 {
        con.Error(c, "此管理员已存在", "/admin/manager/add")
        return
    }
    //执行增加管理员
    manager := models.Manager{
        Username: username,
        Password: models.Md5(password),
        Email:    email,
        Mobile:   mobile,
        RoleId:   roleId,
        Status:   1,
        AddTime:  int(models.GetUnix()),
    }
    err2 := models.DB.Create(&manager).Error
    if err2 != nil {
        con.Error(c, "增加管理员失败", "/admin/manager/add")
        return
    }
 
    con.Success(c, "增加管理员成功", "/admin/manager")
}
 
func (con ManagerController) Edit(c *gin.Context) {
 
    //获取管理员
    id, err := models.Int(c.Query("id"))
    if err != nil {
        con.Error(c, "传入数据错误", "/admin/manager")
        return
    }
    manager := models.Manager{Id: id}
    models.DB.Find(&manager)
 
    //获取所有的角色
    roleList := []models.Role{}
    models.DB.Find(&roleList)
 
    c.HTML(http.StatusOK, "admin/manager/edit.html", gin.H{
        "manager":  manager,
        "roleList": roleList,
    })
}
 
func (con ManagerController) DoEdit(c *gin.Context) {
    id, err1 := models.Int(c.PostForm("id"))
    if err1 != nil {
        con.Error(c, "传入数据错误", "/admin/manager")
        return
    }
    roleId, err2 := models.Int(c.PostForm("role_id"))
    if err2 != nil {
        con.Error(c, "传入数据错误", "/admin/manager")
        return
    }
    username := strings.Trim(c.PostForm("username"), " ")
    password := strings.Trim(c.PostForm("password"), " ")
    email := strings.Trim(c.PostForm("email"), " ")
    mobile := strings.Trim(c.PostForm("mobile"), " ")
 
    if len(mobile) > 11 {
        con.Error(c, "mobile长度不合法", "/admin/manager/edit?id="+models.String(id))
        return
    }
 
    //执行修改
    manager := models.Manager{Id: id}
    models.DB.Find(&manager)
    manager.Username = username
    manager.Email = email
    manager.Mobile = mobile
    manager.RoleId = roleId
 
    //注意:判断密码是否为空 为空表示不修改密码 不为空表示修改密码
 
    if password != "" {
        //判断密码长度是否合法
        if len(password) < 6 {
            con.Error(c, "密码的长度不合法 密码长度不能小于6位", "/admin/manager/edit?id="+models.String(id))
            return
        }
        manager.Password = models.Md5(password)
    }
    err3 := models.DB.Save(&manager).Error
    if err3 != nil {
        con.Error(c, "修改数据失败", "/admin/manager/edit?id="+models.String(id))
        return
    }
    con.Success(c, "修改数据成功", "/admin/manager")
}
 
func (con ManagerController) Delete(c *gin.Context) {
    id, err := models.Int(c.Query("id"))
    if err != nil {
        con.Error(c, "传入数据错误", "/admin/manager")
    } else {
        manager := models.Manager{Id: id}
        models.DB.Delete(&manager)
        con.Success(c, "删除数据成功", "/admin/manager")
    }
}

  

posted on   KOA2后端  阅读(134)  评论(0编辑  收藏  举报
(评论功能已被禁用)
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示