自用java购物
@RequestMapping("listgoodscart")
public ResultEntity listGoodsCart(@RequestParam(name = "data", required = true) String data,
@RequestParam(name = "userid", required = true) String userId) {
GoodsCartDTO goodsCartDTO;
try {
goodsCartDTO = decodeByBase64(data, GoodsCartDTO.class);
} catch (Exception e) {
e.printStackTrace();
return error(ResultCode.PARAM_DECODE_ERROR);
}
if(StringUtils.isBlank(goodsCartDTO.getArea())) {
return error(ResultCode.PARAM_CHECK_ERROR);
}
List<GoodsCart> goodsCartList = this.iGoodsCartService
.selectList(new EntityWrapper<GoodsCart>()
.eq("is_deleted", 0)
.eq("is_enable", 1)
.eq("user_id", userId)
.eq("is_balance", 0)
.groupBy("shop_id")
.setSqlSelect("shop_id as shopId"));
Map<Integer, List<Map<String, Object>>> map = Maps.newHashMap();
if (goodsCartList != null && !goodsCartList.isEmpty()) {
for (GoodsCart goodsCart : goodsCartList) {
Integer shopId = goodsCart.getShopId();
List<Map<String, Object>> list = this.iGoodsCartService.listGoodCartInfo(shopId,
Integer.valueOf(userId),goodsCartDTO.getArea());
if (list != null && !list.isEmpty()) {
for (Map<String, Object> data1 : list) {
List<Map<String, Object>> mapList = map.get(shopId);
if (mapList != null && !mapList.isEmpty()) {
mapList.add(data1);
} else {
mapList = Lists.newArrayList();
mapList.add(data1);
map.put(shopId, mapList);
}
}
}
}
}
List<GoodsCartVO> goodsCartVOList = Lists.newArrayList();
if (!map.isEmpty()) {
Set<Map.Entry<Integer, List<Map<String, Object>>>> set = map.entrySet();
for (Map.Entry<Integer, List<Map<String, Object>>> entry : set) {
GoodsCartVO goodsCartVO = new GoodsCartVO();
ShopInfo shopInfo = this.iShopInfoService.selectOne(new EntityWrapper<ShopInfo>().eq("is_deleted", 0)
.eq("is_enable", 1).eq("id", entry.getKey()).eq("status", 1).eq("business_status", 1));
goodsCartVO.setShopInfo(shopInfo);
goodsCartVO.setGoodsBaseInfoList(entry.getValue());
goodsCartVOList.add(goodsCartVO);
}
}
return success(goodsCartVOList);
}
自用java购物的更多相关文章
- java 购物商城小项目训练
java web 模拟购物车练习(项目一) 首页(index.jsp) <div align="center" class="index"> < ...
- 自用java字符串工具类
不断封装一些常用的字符串操作加到这个工具类里,不断积累: package com.netease.lede.qa.util; import java.text.ParseException; impo ...
- trackr: An AngularJS app with a Java 8 backend – Part I
该系列文章来自techdev 我想分享在techdev公司开发的项目-trackr-的一些最新的见解.trackr是一个用来跟踪我们的工作时间,创建报告和管理请假的web应用程序.做这个程序的目的有两 ...
- 再说Java EE
说到JavaEE(曾经叫J2EE)是什么,你可能回答:JavaEE是一组规范,这么说是没错,可是自己不认为这个答案非常大.非常空么?什么又是规范?规范能组成应用么?能在JVM中跑起来么?要理解这些,先 ...
- Java学习资源整理(超级全面)
这里整理一些自己平常搜集的比较好的关于Java的学习资源,主要包括博客站点.书籍.课程等. 了解Java最新资讯 这部分主要是了解与Java相关的动态以及信息,能够拓展我们的视野以及寻找一些好的ide ...
- Spark案例分析
一.需求:计算网页访问量前三名 import org.apache.spark.rdd.RDD import org.apache.spark.{SparkConf, SparkContext} /* ...
- Java Web之网上购物系统(提交订单、查看我的订单)
作业终于做完了,好开心......虽然这一周经历不是那么顺利,但是觉得还是收获了不少,有过想哭的冲动,代码不会写,事情办不好,各种发愁.空间里发小发了带父母出去游玩的照片,瞬间能量值不知道是被击退的多 ...
- Java Web之网上购物系统(注册、登录、浏览商品、添加购物车)
眼看就要期末了,我的专业课也迎来了第二次的期末作业---------<网上购物系统>.虽然老师的意图是在锻炼我们后台的能力,但是想着还是不利用网上的模板,准备自己写,以来别人写的静态页看不 ...
- 一个简单的购物金额结算(JAVA)
我编写的代码: import java.util.Scanner; public class ZuoYe01 { public static void main(String[] args) { // ...
随机推荐
- Governing sand(主席树/贪心)(2019牛客暑期多校训练营(第七场))
示例:输入:25 1 11 10 125 1 23 2 3输出:12 题意:n种树,第i种树有P[i]颗,砍掉每颗树的代价是C[i], 高度是H[i].需要用最小的花费砍掉一些树,让最高的树超过一半. ...
- Flask总结篇
1 Flask框架的优势? 相信做Python这一块的程序员都有听说这三个框架,就像神一样的存在,每一个框架的介绍我就不写出来了,感兴趣可以自己百度了解了解!下面我就说正事 Django:Python ...
- Badboy与Jmeter脚本录制
下载地址: http://www.badboy.com.au Badboy 是一个强大的工具,旨在帮助测试和开发复杂的动态应用,Badboy 包括一个简单而全面的捕获/回放界面,强大的 ...
- 【转载】终于有人把“TCC分布式事务”的实现原理讲明白了
之前网上看到很多写分布式事务的文章,不过大多都是将分布式事务各种技术方案简单介绍一下.很多朋友看了还是不知道分布式事务到底怎么回事,在项目里到底如何使用. 所以这篇文章,就用大白话+手工绘图,并结合一 ...
- 转:JVM的符号引用和直接引用
在JVM中类加载过程中,在解析阶段,Java虚拟机会把类的二级制数据中的符号引用替换为直接引用. 1.符号引用(Symbolic References): 符号引用以一组符号来描述所引用的目标,符号可 ...
- python-django中使用事务以及小坑
django中使用事务 一.导入事务模块 from django.db import transaction 二.对相应的业务进行事务操作 方式一:为整个函数进行事务操作 @transaction.a ...
- 重置文件reset
body { margin:0; padding:0; font-family: Helvetica, STHeiti, Droid Sans Fallback; // font-family: '微 ...
- ES6之promise原理
我在这里介绍了promise的原理: https://juejin.im/post/5cc54877f265da03b8585902 我在这里 仅仅张贴 我自己实现的简易promise——DiProm ...
- flashdevelop调用ios方法
来源:http://blog.csdn.net/zu12jing/article/details/7331397 flash开发工具用的是flashdevelop(由于flashdevelop还能直接 ...
- 学习python的日常4
偏函数: 偏函数是functools模块提供的一个功能,偏函数可以通过设定参数的默认值,降低函数调用的难度 其中设定的参数默认值实际上是可以被传入为其他值的,最后创建偏函数时可接收函数对象.*args ...