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. Linux无法新增用户

    1.查看当前用户是否有权限创建用户 2.磁盘空间不足,vi打开/etc/passwd 报: E297: Write error in swap file"adduser.sh" 1 ...

  2. uniapp cli版本中如何引入scss?

    一.安装依赖 npm i node-sass@4.14.1 sass-loader -D 二.在脚手架版本新建项目成功后,官方为我们准备了uni.scss文件,在这个里面写即可全局使用. ... 一. ...

  3. Django连接redis

    CACHES = { "default": { "BACKEND": "django_redis.cache.RedisCache", &q ...

  4. 【MySQL篇】Navicat导入SQL文件报错终极解决方案

    面对大数据库文件(一般50M以上),使用Navicat导入的时候容易出现[ERR]2006等报错问题,此文提供了几种办法,包括修改MySQL的配置参数在网上也有很多详细教程介绍过,但此文精彩处在于前面 ...

  5. 老猿学5G扫盲贴:与用户和终端相关的名词UE、SUPI、GPSI、PEI

    专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 专栏:PyQt+moviepy音视频剪辑实战 专栏:PyQt入门学习 老猿Python博文目录 老猿学5G博文目录 和4 ...

  6. PyQt学习随笔:Qt事件QEvent.type类型常量及其含义资料汇总详细内容速查

    下表是Qt5.11提供的所有已经定义的事件类型常量及其含义说明(其中标蓝色的是老猿认为价值比较大的事件),事件的事件类型通过QEvent.type()来获取.由于老猿没有找到直接粘贴Excel表格的方 ...

  7. Metasploit魔鬼训练营第一章作业

    1, Samba服务 Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成.SMB(Server Messages Block,信息服务块)是一种在局域网上共 ...

  8. Android10_原理机制系列_Window介绍及WMS的启动过程

    简介 Window简介 Android中,Window是一个重要部分,用户看到的界面.触摸显示界面进行一系列操作都涉及到Window.但实际上,Window本身并不具备绘制功能. 该篇简单介绍下Win ...

  9. 在iframe中获取另一个iframe中的元素

    $(top.parent.iframeId).contents().find("#selector") //iframeId为iframe的id名称

  10. JavaScript异步编程的四种方法

    1.回调函数 f1(f2); 回调函数是异步编程的基本方法.其优点是易编写.易理解和易部署:缺点是不利于代码的阅读和维护,各个部分之间高度耦合 (Coupling),流程比较混乱,而且每个任务只能指定 ...