You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

92 lines
1.8 KiB

package manage_user
import (
"github.com/gin-gonic/gin"
"github.com/golangkit/formatime"
"recook/internal/back"
"recook/internal/dbc"
"recook/internal/model/manage"
"recook/tools"
)
type Del struct {
DeleteID uint `json:"deleteID"`
ID int64 `json:"id"`
Password string `json:"password"`
}
func RoleDel(c *gin.Context) {
var p Del
err := tools.Params(&p, c)
if err != nil {
back.Fail(c, err.Error())
return
}
var userId = c.MustGet("Manager_ID").(uint)
var user manage.UserInfo
user.ID = userId
if err = dbc.DB.Find(&user).Error; err != nil {
back.Fail(c, "数据错误:"+err.Error())
return
}
if user.Password != tools.MD5(p.Password) {
back.Fail(c, "密码错误")
return
}
tx := dbc.DB.Begin()
{
info := &manage.Role{
UserID: user.ID,
UserName: user.Name,
IsDel: 1,
UpdatedAt: formatime.NewSecondNow(),
}
if err = tx.Table("recook_manage_role").Where("id = ?", p.DeleteID).Update(info).Error; err != nil {
back.Fail(c, err.Error())
return
}
}
tx.Commit()
back.Suc(c, "操作成功", p)
return
}
func RoleStart(c *gin.Context) {
var p Del
err := tools.Params(&p, c)
if err != nil {
back.Fail(c, err.Error())
return
}
var userId = c.MustGet("Manager_ID").(uint)
var user manage.UserInfo
user.ID = userId
if err = dbc.DB.Find(&user).Error; err != nil {
back.Fail(c, "数据错误:"+err.Error())
return
}
if user.Password != tools.MD5(p.Password) {
back.Fail(c, "密码错误")
return
}
tx := dbc.DB.Begin()
{
info := &manage.Role{
UserID: user.ID,
UserName: user.Name,
IsDel: 2,
UpdatedAt: formatime.NewSecondNow(),
}
if err = tx.Table("recook_manage_role").Where("id = ?", p.DeleteID).Update(info).Error; err != nil {
back.Fail(c, err.Error())
return
}
}
tx.Commit()
back.Suc(c, "操作成功", p)
return
}