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.

130 lines
2.5 KiB

package user
import (
"github.com/gin-gonic/gin"
"github.com/golangkit/formatime"
"recook/internal/back"
"recook/internal/dbc"
"recook/internal/model/manage"
"recook/tools"
)
type deleteParam struct {
DeleteID uint `json:"deleteID" validate:"required"`
Password string `json:"password" ` // 本人密码
ID uint `json:"id" validate:"required"`
}
// 删除员工需要密码
func Delete(c *gin.Context) {
var p deleteParam
err := tools.Params(&p, c)
if err != nil {
back.Fail(c, err.Error())
return
}
var u manage.UserInfo
dbc.DB.First(&u, "id=?", p.ID)
/*
if u.Role != 1 {
http.Fail(c, "您没有权限")
return
}
if u.Password != tools.MD5(p.Password) {
http.Fail(c, "密码错误")
return
}
*/
var du manage.UserInfo
dbc.DB.First(&du, "id=?", p.DeleteID)
err = dbc.DB.Delete(&du).Error
if err != nil {
back.Err(c, err.Error())
return
}
back.Suc(c, "删除成功", nil)
}
func Del(c *gin.Context) {
var p deleteParam
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 {
http.Fail(c, "数据错误:"+err.Error())
return
}
if user.Password != tools.MD5(p.Password) {
http.Fail(c, "密码错误")
return
}
*/
tx := dbc.DB.Begin()
{
info := &manage.UserInfo{
UserID: user.ID,
UserName: user.Name,
IsDel: 1,
UpdatedAt: formatime.NewSecondNow(),
}
if err = tx.Table("recook_manage_user_info").Where("id = ?", p.DeleteID).Update(info).Error; err != nil {
back.Fail(c, err.Error())
return
}
}
tx.Commit()
back.Suc(c, "操作成功", p)
return
}
func Start(c *gin.Context) {
var p deleteParam
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) {
http.Fail(c, "密码错误")
return
}
*/
tx := dbc.DB.Begin()
{
info := &manage.UserInfo{
UserID: user.ID,
UserName: user.Name,
IsDel: 2,
UpdatedAt: formatime.NewSecondNow(),
}
if err = tx.Table("recook_manage_user_info").Where("id = ?", p.DeleteID).Update(info).Error; err != nil {
back.Fail(c, err.Error())
return
}
}
tx.Commit()
back.Suc(c, "操作成功", p)
return
}