public ResultBean getSpfl(Integer yyb) {
ResultBean res = new ResultBean();
try {
JSONArray data = new JSONArray();
String sql = "select * from tspfl_wx where yyb = " + yyb;
sql += " and zt=" + GlobalStatusType.SPFlZT_QY;
// 一级分类
List<Map<String, Object>> list1 = sqlMapper.selectList(sql + " and type = 1 and pid = 0 order by orderno ");
for (Map<String, Object> map1 : list1) {
JSONObject obj1 = new JSONObject();
obj1.put("id", map1.get("id"));
obj1.put("enspxxid", map1.get("enspxxid"));
obj1.put("banner", CommonUtils.isEmpty(map1.get("tb")) ? ""
: String.valueOf(map1.get("tb")).replace("zw:uri", Local.getUri()));
obj1.put("cate", map1.get("flmc"));
// 二级分类
List<Map<String, Object>> list2 = sqlMapper
.selectList(sql + " and type = 2 and pid = " + map1.get("id") + " order by orderno");
if (list2 != null && list2.size() > 0) {
obj1.put("ishaveChild", 1);
} else {
obj1.put("ishaveChild", 0);
}
JSONArray detail = new JSONArray();
for (Map<String, Object> map2 : list2) {
JSONObject obj2 = new JSONObject();
obj2.put("detail_id", map2.get("id"));
obj2.put("enspxxid", map2.get("enspxxid"));
obj2.put("detail_cate", map2.get("flmc"));
// 三级分类
List<Map<String, Object>> list3 = sqlMapper
.selectList(sql + " and type = 3 and pid = " + map2.get("id") + " order by orderno");
JSONArray detail_d = new JSONArray();
for (Map<String, Object> map3 : list3) {
JSONObject obj3 = new JSONObject();
obj3.put("thumb_id", map3.get("id"));
obj3.put("enspxxid", map3.get("enspxxid"));
obj3.put("thumb", CommonUtils.isEmpty(map3.get("tb")) ? ""
: String.valueOf(map3.get("tb")).replace("zw:uri", Local.getUri()));
obj3.put("name", map3.get("flmc"));
detail_d.add(obj3);
}
obj2.put("detail_d", detail_d);
detail.add(obj2);
}
obj1.put("detail", detail);
if (list2 != null && list2.size() > 0) {
data.add(obj1);
}
}
res.setSuccess(true);
res.setData(data);
} catch (Exception e) {
res.setSuccess(false);
res.setMessage("异常:" + e.getMessage());
}
return res;
}

java中产品分类返回给前台页面 后台数据组装的更多相关文章

  1. Java中处理接口返回base64编码的图片数据

    在做接口测试的时候,某些接口返回的content是一大段加密文字.这种情况下,有可能是返回的图片加密数据,需要将这些数据转换成图片进行保存查看. 例如: 这里,可以看到Content对应的键值开头有“ ...

  2. 为什么在 Java 中128==128返回false,而127==127返回true呢?

    为什么在 Java 中128==128返回false,而127==127返回true呢? 有这样一段代码 Integer a=127; Integer b=127; System.out.printl ...

  3. ASP.NET中使用JSON方便实现前台与后台的数据交换

    ASP.NET中使用JSON方便实现前台与后台的数据交换 发表于2014/9/13 6:47:08  8652人阅读 分类: ASP.NET Jquery extjs 一.前台向后台请求数据 在页面加 ...

  4. 理解Java中的协变返回类型

    在面向对象程序设计中,协变返回类型指的是子类中的成员函数的返回值类型不必严格等同于父类中被重写的成员函数的返回值类型,而可以是更 "狭窄" 的类型. Java 5.0添加了对协变返 ...

  5. Java中调用MatLab返回值

    当在Java中使用MatLab函数时,由于语言语法的不同,Matlab返回多个数据时,想在Java中获取到并进行使用.查阅了网上资料,翻箱倒柜加上自己实战,得出方法如下: 如MatLab函数返回的是N ...

  6. Java中异常分类和Throw和Throws的区别

    Java中异常分类和Throw和Throws的区别 1.异常分类 Throwable是Java中所有错误和异常的超类.它的下一级是Error和Exception 1.1 Error(错误) Error ...

  7. Laravel 5.2 中多用户认证实现(前台和后台登录)

    Laravel 5.2中多用户认证支持,即同时允许不同数据表用户(如前台用户.后台用户.app用户等)登录认证.下面我们就来简单介绍多用户登录及注册功能实现. 1.生成认证脚手架 首先我们使用Lara ...

  8. ajax传JSON时设置的contenttype导致JAVA中request.getParameter("")怎么也接收不到数据

    ajax传JSON时设置的contenttype默认值是application/x-www-form-urlencoded, 当ajax传JSON时设置的contenttype 如果是applicat ...

  9. B/S系统的前台和后台数据转递机制探究

    作者:朱金灿 来源:http://blog.csdn.net/clever101 说实话写这篇文章超出了我的能力范围之外(因为我并没有多少Web开发经验),我所期待的是能起一个抛砖引玉的作用--希望高 ...

随机推荐

  1. java顺序、选择、循环结构

    一.顺序结构 二.选择结构 1.if都执行 2.if else if else 条件满足才执行 3.选择结构switch 一个case后有多条语句要加花括号 多个case的值不能相同 case中要加b ...

  2. 【Usaco 2009 Gold】JZOJ2020年9月19日提高B组T3 头晕的奶牛

    [Usaco 2009 Gold]JZOJ2020年9月19日提高B组T3 头晕的奶牛 题目 Description 奶牛们发现,在农场里面赛跑是很有趣的一件事.可是她们一旦在农场里面不断地转圈,就会 ...

  3. Cys_Control(一) 项目搭建

    一.基础工程搭建 Cys_Controls Cys_Resource(注:一般类库默认不能引入资源文件,故直接创建Custom Control Library) Cys_Demo 删除默认文件夹及类, ...

  4. moviepy音视频剪辑:使用rotate函数实现视频变换处理以及参数expand取值为True时的花屏问题解决方案

    ☞ ░ 前往老猿Python博文目录 ░ 一.rotate函数功能介绍 moviepy的rotate函数用于将剪辑逆时针旋转指定的角度或弧度. 调用语法:rotate(clip, angle, uni ...

  5. 【系统设计】不同分类的商品动态添加扩展属性的方法(WMS、小型电商)

    在做公司WMS系统的时候,遇到了一个商品模块的设计问题,具体业务流程如下. 客户提供需要存放的商品清单,根据商品清单生成收货单给客户,然后生成入库单进行商品入库操作. 在生成这两个单之前首先要录入商品 ...

  6. 使用cmd制作图片木马

    我们可以使用windows下自带的cmd制作图片木马,配合文件包含漏洞可以达到getshell的目的 我们找到一张图片:kiss.jpg 如图: 写好一句话木马:chopper.php 将两者放在同一 ...

  7. Number.isNaN和isNaN

    isNaN会通过Number方法,试图将字符串"测试"转换成Number类型,但转换失败了,因为 Number('测试') 的结果为NaN ,所以最后返回true. 而Number ...

  8. 利用神经网络算法的C#手写数字识别(一)

    利用神经网络算法的C#手写数字识别 转发来自云加社区,用于学习机器学习与神经网络 欢迎大家前往云+社区,获取更多腾讯海量技术实践干货哦~ 下载Demo - 2.77 MB (原始地址):handwri ...

  9. 题解-Reachable Strings

    题解-Reachable Strings 前置知识: \(\texttt{Hash}\) Reachable Strings 给一个长度为 \(n\) 的 \(\texttt{01}\) 串 \(s\ ...

  10. 笔记-Recursive Queries

    Recursive Queries \[m_{l,r}=\textrm{id}(\max_{i=l}^r a_i)\\ f(l,r)= \begin{cases} (r-l+1)+f(l,m_{l,r ...