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. CentOS硬软链接

    硬软链接说明 软链接: 1.软链接,以路径的形式存在.类似于Windows操作系统中的快捷方式 2.软链接可以 跨文件系统 ,硬链接不可以 3.软链接可以对一个不存在的文件名进行链接 4.软链接可以对 ...

  2. form 表单上传文件及传输数据的编码格式

    form中的 action  控制请求往什么地方提交 method  请求方式 如果不写默认是get 请求 如果想传文件 必须要把默认的urlencoded的改成enctype="multi ...

  3. Flv.js记录(vue)

    下载 npm install flv.js 插入 import flvjs from 'flv.js'   第一种报错:Failed to read the 'buffered' property f ...

  4. 二、springboot项目使用seata实现分布式事务

    所有文章 https://www.cnblogs.com/lay2017/p/12078232.html 正文 在上一篇文章中,我们简单地了解了一下什么是seata.它是来自阿里巴巴的内部项目不断地发 ...

  5. maven依赖问题的出现原因与解决方式

    摘要 maven依赖问题作为开发者应该是经常遇到的问题,在个人单独开发单独维护的项目里,可能体现不那么明显,一是自己对导入的jar大部分都很明确,二是出现问题第一解决发现也很快,问题就没那么严重,而在 ...

  6. 整理一下《java并发编程实战》中的知识点

    分工.同步.互斥的历史由来 分工:单道.多道.分时 同步:线程通信(组织编排任务) 互斥:因(多线程访问共享资源)果(串行化共享资源的访问) 1切都是为了提高性能 2.可见性.原子性.有序性 可见性: ...

  7. 第4.6节 print、import及断言

    一.print函数 前面第二章介绍了print的语法,其语法如下: print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False) ...

  8. 第7.27节 Python案例详解: @property装饰器定义属性访问方法getter、setter、deleter

    上节详细介绍了利用@property装饰器定义属性的语法,本节通过具体案例来进一步说明. 一.    案例说明 本节的案例是定义Rectangle(长方形)类,为了说明问题,除构造函数外,其他方法都只 ...

  9. 嘶吼CTF easy calc

    进入之后可以看到我们需要输入一个计算式来得到答案,burpsuite进行抓包之后发现页面来自于calc.php 我们直接访问calc.php页面 发现源代码泄露 可以看到当我们没有输入num值的时候就 ...

  10. 攻防世界 web进阶区 ics-06

    攻防世界 ics-06 涉及知识点: (1)php://filter协议 (2)php中preg_replace()函数的漏洞 解析: 进入题目的界面,一通乱点点出了唯一一个可以进入的界面. 观察ur ...