select g.id goods_id,g.name as goods_name,g.goods_code goods_code,g.cate_lv1_id,g.cate_lv2_id,
pc1.name cate_lv1_name,pc2.name cate_lv2_name ,g.prd_id,p.name prd_name,g.brand_name ,c.id customer_id,
g.texture,g.size_marking,g.light_color,u.name unit_name,u.id unit_id,
case when g.has_logo ='1' then '是'
when g.has_logo = '2' then '否'
else '错误' end has_logo_desc,c.name customer_name ,g.has_logo,
(
select string_agg(gp.id||','||gp.pic_name||','||gp.pic_url,';') from t_goods_pic gp
where gp.status =1 and gp.goods_id = g.id
) goods_pics_str,
(
select string_agg(gl.id||','||gl.logo_name||','||gl.logo_url,';') from t_goods_logo gl
where gl.status =1 and gl.goods_id = g.id
) goods_logos_str
from t_goods_cust_priv tgc
inner join t_goods g on g.id = tgc.goods_id
left join t_customer c on c.id= tgc.customer_id
left join t_unit u on u.id = g.unit_id
left join t_supplier_goods_config tsg on tsg.goods_id=g.id and tsg.status=1
left join t_product_category pc1 on g.cate_lv1_id = pc1.id
left join t_product_category pc2 on g.cate_lv2_id = pc2.id
left join t_product p on p.id = g.prd_id
where g.status = 1 and goods_type= 2
(
select string_agg(gp.id||','||gp.pic_name||','||gp.pic_url,';') from t_goods_pic gp
where gp.status =1 and gp.goods_id = g.id
) goods_pics_str,
(
select string_agg(gl.id||','||gl.logo_name||','||gl.logo_url,';') from t_goods_logo gl
where gl.status =1 and gl.goods_id = g.id
) goods_logos_str
//图片分割赋值
for index,v:=range result.DataList{
if v.GoodsPicsStr !=""{
kv := strings.Split(v.GoodsPicsStr, ";")
goodsPics := make([]GoodsPic, 0)
for _,v1:=range kv{
kv1:=strings.Split(v1, ",")
goodsPic :=GoodsPic{
Id :kv1[0],
PicName:kv1[1],
Url:kv1[2],
}
goodsPics = append(goodsPics, goodsPic)
}
result.DataList[index].GoodsPics =goodsPics
}else{
goodsPics1 := make([]GoodsPic, 0)
result.DataList[index].GoodsPics =goodsPics1
}
}