package brand import ( "recook/internal/back" "recook/internal/dbc" "recook/internal/model/goods" "recook/internal/model/manage" "recook/internal/model/vend" "strings" "github.com/gin-gonic/gin" ) // 获取品牌列表 func QueryBrandList(c *gin.Context) { var list []goods.Brand // 采购根据权限获取品牌列表 var userId = c.MustGet("Manager_ID").(uint) var user manage.UserInfo var brandNameArr []string var enter []vend.GysEnterpriseBrand user.ID = userId if err := dbc.DB.Find(&user).Error; err != nil { back.Fail(c, "数据错误:"+err.Error()) return } if user.RoleID == 92 { categoryIDSArr := strings.Split(user.GoodsType, ",") //根据Category_id获取对应brand名 dbc.DB.Find(&enter, "category_id in (?)", categoryIDSArr) for _, item := range enter { brandNameArr = append(brandNameArr, item.Name) } dbc.DB.Find(&list, "name in (?)", brandNameArr) } else { dbc.DB.Find(&list) } brandIds := []uint{} for _, item := range list { if item.InfoId > 0 { brandIds = append(brandIds, item.InfoId) } } var ppimg []vend.GysEnterpriseImg if len(brandIds) > 0 { dbc.DB.Where("brand_id in (?) and type = 2", brandIds).Find(&ppimg) } ppimgMap := map[uint][]string{} for _, img := range ppimg { ppimgMap[img.BrandID] = append(ppimgMap[img.BrandID], img.Url) } for index, brand := range list { list[index].InfoUrl = ppimgMap[brand.InfoId] } back.Suc(c, "操作成功", list) }