package controller import ( "github.com/gin-gonic/gin" "github.com/wenstudio/gofly/models" "github.com/wenstudio/gofly/tools" "strconv" ) func GetKefuInfo(c *gin.Context) { kefuId, _ := c.Get("kefu_id") user := models.FindUserById(kefuId) info := make(map[string]interface{}) info["name"] = user.Nickname info["id"] = user.Name info["avator"] = user.Avator c.JSON(200, gin.H{ "code": 200, "msg": "ok", "result": info, }) } func GetKefuInfoAll(c *gin.Context) { id, _ := c.Get("kefu_id") userinfo := models.FindUserRole("user.avator,user.name,user.id, role.name role_name", id) c.JSON(200, gin.H{ "code": 200, "msg": "验证成功", "result": userinfo, }) } func GetKefuInfoSetting(c *gin.Context) { kefuId := c.Query("kefu_id") user := models.FindUserById(kefuId) c.JSON(200, gin.H{ "code": 200, "msg": "ok", "result": user, }) } func PostKefuInfo(c *gin.Context) { id := c.PostForm("id") name := c.PostForm("name") password := c.PostForm("password") avator := c.PostForm("avator") nickname := c.PostForm("nickname") roleId := c.PostForm("role_id") senabled := c.PostForm("enabled") enabled64, err := strconv.ParseUint(senabled, 10, 32) if err != nil { enabled64 = 0 } enabled := uint(enabled64) if roleId == "" { c.JSON(200, gin.H{ "code": 400, "msg": "请选择角色!", }) return } if len(password) <= 0 { c.JSON(200, gin.H{ "code": 400, "msg": "请设置密码", }) return } //插入新用户 if id == "" { uid := models.CreateUser(name, tools.Md5(password), avator, nickname, enabled) if uid == 0 { c.JSON(200, gin.H{ "code": 400, "msg": "增加用户失败", "result": "", }) return } roleIdInt, _ := strconv.Atoi(roleId) models.CreateUserRole(uid, uint(roleIdInt)) } else { //更新用户 if password != "" { password = tools.Md5(password) } models.UpdateUser(id, name, password, avator, nickname, enabled) roleIdInt, _ := strconv.Atoi(roleId) uid, _ := strconv.Atoi(id) models.DeleteRoleByUserId(uid) models.CreateUserRole(uint(uid), uint(roleIdInt)) } c.JSON(200, gin.H{ "code": 200, "msg": "ok", "result": "", }) } func GetKefuList(c *gin.Context) { users := models.FindUsers() c.JSON(200, gin.H{ "code": 200, "msg": "获取成功", "result": users, }) } func GetKefuListEnabled(c *gin.Context) { users := models.FindUsers() enabledUsers := []models.User{} for _, user := range users { if user.Enabled == 1 { enabledUsers = append(enabledUsers, user) } } c.JSON(200, gin.H{ "code": 200, "msg": "获取成功", "result": enabledUsers, }) } func DeleteKefuInfo(c *gin.Context) { kefuId := c.Query("id") models.DeleteUserById(kefuId) models.DeleteRoleByUserId(kefuId) c.JSON(200, gin.H{ "code": 200, "msg": "删除成功", "result": "", }) }