67 lines
1.7 KiB
Go
67 lines
1.7 KiB
Go
package admin
|
||
|
||
import (
|
||
"errors"
|
||
"github.com/kataras/iris/v12"
|
||
"github.com/sirupsen/logrus"
|
||
"main/database"
|
||
"main/model"
|
||
"main/utils"
|
||
)
|
||
|
||
func getUserList(ctx iris.Context) {
|
||
err := ctx.JSON(utils.FormatRes(iris.StatusOK, "", utils.UserList))
|
||
if utils.ErrHandle(ctx, err) {
|
||
return
|
||
}
|
||
}
|
||
|
||
func updateUserInfo(ctx iris.Context) {
|
||
var userinfo model.Userinfo
|
||
err := ctx.ReadJSON(&userinfo)
|
||
if utils.ErrHandle(ctx, err) {
|
||
return
|
||
}
|
||
db := database.GetInstance().GetMysqlDb()
|
||
if err1 := db.Save(&userinfo).Error; err1 != nil {
|
||
logrus.Errorln("sql执行失败:", err1)
|
||
}
|
||
utils.UpdateUserInfo()
|
||
err = ctx.JSON(utils.FormatRes(iris.StatusOK, "", "success"))
|
||
if utils.ErrHandle(ctx, err) {
|
||
return
|
||
}
|
||
}
|
||
|
||
func deleteUser(ctx iris.Context) {
|
||
loginUser := utils.GetLoginUser(ctx)
|
||
username := ctx.URLParam("username")
|
||
if username == loginUser.Username {
|
||
logrus.Errorln(loginUser.Username, "无法删除本人")
|
||
ctx.StatusCode(iris.StatusBadRequest)
|
||
ctx.SetErr(errors.New("不可删除本人用户"))
|
||
return
|
||
}
|
||
db := database.GetInstance().GetMysqlDb()
|
||
var user []model.User
|
||
if err := db.Where("username = ?", username).Find(&user).Error; err != nil {
|
||
logrus.Errorln("sql执行失败:", err)
|
||
}
|
||
if len(user) == 0 {
|
||
ctx.StatusCode(iris.StatusBadRequest)
|
||
ctx.SetErr(errors.New("用户不存在"))
|
||
return
|
||
}
|
||
if err := db.Where("username = ?", username).Delete(&model.User{}).Error; err != nil {
|
||
logrus.Errorln("sql执行失败:", err)
|
||
}
|
||
if err := db.Where("username = ?", username).Delete(&model.Userinfo{}).Error; err != nil {
|
||
logrus.Errorln("sql执行失败:", err)
|
||
}
|
||
utils.UpdateUserInfo()
|
||
err := ctx.JSON(utils.FormatRes(iris.StatusOK, "", "success"))
|
||
if utils.ErrHandle(ctx, err) {
|
||
return
|
||
}
|
||
}
|