图片在数据库中拼接与分割

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
   }
}

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值