淘淘商城开发第四天

第四天

实现的东西:商品添加

1543827679(1).png

1543828475(1).png

kindeEditor富文本编辑器

商品和规格参数的添加(多表的时候,把数据用json表示)

商品规格与分类有关,规格里又可以填写数据,涉及多表


1543805378(1).png

展示商品规格Service(注意list的判断)

    //展示商品规格参数
    public TaotaoResult getItemParamByCid(Long cid) {
        //根据cid查询规格参数模板
        TbItemParamExample example = new TbItemParamExample();
        Criteria criteria = example.createCriteria();
        criteria.andItemCatIdEqualTo(cid);
        //执行查询
        List<TbItemParam>list = itemParamMapper.selectByExampleWithBLOBs(example);
        //判断是否查询到结果
        if (list != null&&list.size() > 0) {//如图二,若商品添加过模板,要提示用户,所以要判断
            TbItemParam itemParam = list.get(0);
            return TaotaoResult.ok(itemParam);
        }
        return TaotaoResult.ok();
    }

Service

    //第四天,最后把规格和参数展示在页面
    public String getItemParamHtml(Long itemId) {
        // 根据商品ip查询规格参数
        TbItemParamItemExample example = new TbItemParamItemExample();
        com.taotao.pojo.TbItemParamItemExample.Criteria criteria = example.createCriteria();
        criteria.andItemIdEqualTo(itemId);
        //执行查询
        List<TbItemParamItem> list = itemParamItemMapper.selectByExampleWithBLOBs(example);
        if(list == null || list.isEmpty()) {
            return "";
        }
        //取规格参数
        TbItemParamItem itemParamItem = list.get(0);
        //取json数据
        String paramData = itemParamItem.getParamData();
        //转换成java对象
        List<Map> mapList = JsonUtils.jsonToList(paramData, Map.class);
        //遍历list生成html
        StringBuffer sb = new StringBuffer();
        
        sb.append("<table cellpadding=\"0\" cellspacing=\"1\" width=\"100%\" border=\"0\" class=\"Ptable\">\n");
        sb.append(" <tbody>\n");
        for (Map map : mapList) {
            sb.append("     <tr>\n");
            sb.append("         <th class=\"tdTitle\" colspan=\"2\">"+map.get("group")+"</th>\n");
            sb.append("     </tr>\n");
            //取规格项
            List<Map>mapList2 = (List<Map>) map.get("params");
            for (Map map2 : mapList2) {
                sb.append("     <tr>\n");
                sb.append("         <td class=\"tdTitle\">"+map2.get("k")+"</td>\n");
                sb.append("         <td>"+map2.get("v")+"</td>\n");
                sb.append("     </tr>\n");
            }
        }
        sb.append(" </tbody>\n");
        sb.append("</table>");
        return sb.toString();
    }

    
}

Controller

    @RequestMapping("/page/item/{itemId}")
    public String showItemParam(@PathVariable Long itemId, Model model) {
            //第四天最后商品规格和参数在页面展示。
        String html = itemService.getItemParamHtml(itemId);
        model.addAttribute("myhtml",html);
        return "itemparam";
    }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。