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.
142 lines
2.9 KiB
142 lines
2.9 KiB
package user
|
|
|
|
import (
|
|
"recook/internal/back"
|
|
"recook/internal/dbc"
|
|
"recook/internal/model/manage"
|
|
"recook/tools"
|
|
"strconv"
|
|
"strings"
|
|
|
|
"github.com/gin-gonic/gin"
|
|
)
|
|
|
|
// 员工列表
|
|
func List(c *gin.Context) {
|
|
var l []manage.UserInfo
|
|
dbc.DB.Model(&l).Select("goods_type ,id ,is_del ,name ,mobile ,role ,role_id ,role_name ,user_name ,user_id, login_time, updated_at, newrole_id").Scan(&l)
|
|
rolMap := make(map[uint]manage.Role)
|
|
for key, _info := range l {
|
|
if _info.RoleID == 0 {
|
|
continue
|
|
}
|
|
if rolMap[_info.RoleID].ID == 0 {
|
|
role := manage.Role{}
|
|
dbc.DB.Where("id = ?", _info.RoleID).First(&role)
|
|
rolMap[_info.RoleID] = role
|
|
}
|
|
strArray := StrToArr(rolMap[_info.RoleID].Code, ",")
|
|
for _, _str := range strArray {
|
|
if _str == "goodsSetting_goods_cg" {
|
|
l[key].IsCg = 1
|
|
}
|
|
}
|
|
|
|
//获取新的角色名称
|
|
|
|
}
|
|
back.Suc(c, "操作成功", l)
|
|
}
|
|
|
|
/***
|
|
字符串转数组
|
|
*/
|
|
func StrToArr(str, partition string) []string {
|
|
formatStr := []rune(str)
|
|
//allStr := ","
|
|
var returnStr []string
|
|
j := 0
|
|
for i := 0; i < len(formatStr); i++ {
|
|
strIndex := strings.Index(partition, string(formatStr[i]))
|
|
if strIndex >= 0 {
|
|
j++
|
|
continue
|
|
}
|
|
char := ""
|
|
if len(returnStr)-1 == j {
|
|
char = returnStr[j]
|
|
} else {
|
|
char = ""
|
|
returnStr = append(returnStr, "")
|
|
}
|
|
if len(returnStr)-1 < j {
|
|
j = len(returnStr) - 1
|
|
}
|
|
returnStr[j] = char + string(formatStr[i])
|
|
}
|
|
return returnStr
|
|
}
|
|
|
|
type RoleInfo struct {
|
|
Name string `json:"name"`
|
|
ID uint `json:"id"`
|
|
Authority []Authority `json:"authority"`
|
|
}
|
|
|
|
type Authority struct {
|
|
ID int `json:"id"`
|
|
Name string `json:"name"`
|
|
Code string `json:"code"`
|
|
PrintID int64 `json:"print_id"`
|
|
}
|
|
|
|
func UpdateGoods(c *gin.Context) {
|
|
var p RoleInfo
|
|
err := tools.Params(&p, c)
|
|
if err != nil {
|
|
back.Fail(c, err.Error())
|
|
return
|
|
}
|
|
code := ""
|
|
for key, info := range p.Authority {
|
|
if key == 0 {
|
|
code += strconv.Itoa(info.ID)
|
|
} else {
|
|
code += "," + strconv.Itoa(info.ID)
|
|
}
|
|
}
|
|
l := manage.UserInfo{}
|
|
dbc.DB.Where("id = ?", p.ID).First(&l)
|
|
if l.ID == 0 {
|
|
back.Fail(c, "用户不存在")
|
|
return
|
|
}
|
|
|
|
if err := dbc.DB.Model(manage.UserInfo{}).Where("id = ?", p.ID).Updates(manage.UserInfo{
|
|
GoodsType: code,
|
|
}).Error; err != nil {
|
|
back.Err(c, err.Error())
|
|
return
|
|
}
|
|
back.Suc(c, "", nil)
|
|
}
|
|
|
|
type argsVends struct {
|
|
Id uint `json:"id" form:"id"`
|
|
VendIds []int `json:"vendIds" form:"vendIds"`
|
|
}
|
|
|
|
func UpdateVend(c *gin.Context) {
|
|
var args argsVends
|
|
err := tools.Params(&args, c)
|
|
if err != nil {
|
|
back.Fail(c, err.Error())
|
|
return
|
|
}
|
|
vendsList := ""
|
|
for _, vendId := range args.VendIds {
|
|
vendsList += "," + strconv.Itoa(vendId)
|
|
}
|
|
if vendsList != "" {
|
|
vendsList = vendsList[1:]
|
|
}
|
|
|
|
if err := dbc.DB.Model(manage.UserInfo{}).Where("id = ?", args.Id).Updates(manage.UserInfo{
|
|
VendsList: vendsList,
|
|
}).Error; err != nil {
|
|
back.Err(c, err.Error())
|
|
return
|
|
}
|
|
back.Suc(c, "", nil)
|
|
}
|