印度包网
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.
 
 
 

81 lines
1.6 KiB

// 账号相关的接口实现
package handler
import (
"fmt"
"server/common"
"server/db"
"server/modules/customer/app"
"server/modules/customer/bdb"
"server/modules/customer/values"
"server/util"
"github.com/liangdas/mqant/log"
"github.com/gin-gonic/gin"
)
func Login(c *gin.Context) {
a := app.NewApp(c)
defer func() {
a.Response()
}()
req := new(values.LoginReq)
if !a.S(req) {
return
}
one := &values.User{Account: req.Account, Password: req.Pass}
if err := bdb.BackDB.Get(one); err != nil {
a.Code = values.CodeParam
a.Msg = "账号不存在"
return
}
token := util.GetSimpleRandomString(6)
err := db.Redis().SetJsonData(common.GetBackendTokenKey(token), one, values.RedisTokenEx)
if err != nil {
log.Error(err.Error())
}
a.Data = values.LoginResp{Role: one.Role, Token: token, Power: one.Power, Id: int(one.ID)}
}
// 操作 1上线 2下线
type OnlineReq struct {
Opt int
}
func Online(c *gin.Context) {
a := app.NewApp(c)
defer func() {
a.Response()
}()
// if a.User.Role != values.UserRole2 {
// return
// }
req := new(OnlineReq)
if !a.S(req) {
return
}
str := "上线"
opt := 1
if req.Opt == 2 {
str = "下线"
opt = 0
}
bdb.BackDB.Update(&values.User{ID: a.User.ID}, map[string]interface{}{"online": opt})
a.RecordEdit(values.PowerGM, fmt.Sprintf("客服%s", str))
}
type OnlineResp struct {
Status int
}
func OnlineStatus(c *gin.Context) {
a := app.NewApp(c)
defer func() {
a.Response()
}()
user := &values.User{ID: a.User.ID}
bdb.BackDB.Get(user)
resp := OnlineResp{Status: user.Online}
a.Data = resp
}