@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购物的更多相关文章

  1. java 购物商城小项目训练

    java web 模拟购物车练习(项目一) 首页(index.jsp) <div align="center" class="index"> < ...

  2. 自用java字符串工具类

    不断封装一些常用的字符串操作加到这个工具类里,不断积累: package com.netease.lede.qa.util; import java.text.ParseException; impo ...

  3. trackr: An AngularJS app with a Java 8 backend – Part I

    该系列文章来自techdev 我想分享在techdev公司开发的项目-trackr-的一些最新的见解.trackr是一个用来跟踪我们的工作时间,创建报告和管理请假的web应用程序.做这个程序的目的有两 ...

  4. 再说Java EE

    说到JavaEE(曾经叫J2EE)是什么,你可能回答:JavaEE是一组规范,这么说是没错,可是自己不认为这个答案非常大.非常空么?什么又是规范?规范能组成应用么?能在JVM中跑起来么?要理解这些,先 ...

  5. Java学习资源整理(超级全面)

    这里整理一些自己平常搜集的比较好的关于Java的学习资源,主要包括博客站点.书籍.课程等. 了解Java最新资讯 这部分主要是了解与Java相关的动态以及信息,能够拓展我们的视野以及寻找一些好的ide ...

  6. Spark案例分析

    一.需求:计算网页访问量前三名 import org.apache.spark.rdd.RDD import org.apache.spark.{SparkConf, SparkContext} /* ...

  7. Java Web之网上购物系统(提交订单、查看我的订单)

    作业终于做完了,好开心......虽然这一周经历不是那么顺利,但是觉得还是收获了不少,有过想哭的冲动,代码不会写,事情办不好,各种发愁.空间里发小发了带父母出去游玩的照片,瞬间能量值不知道是被击退的多 ...

  8. Java Web之网上购物系统(注册、登录、浏览商品、添加购物车)

    眼看就要期末了,我的专业课也迎来了第二次的期末作业---------<网上购物系统>.虽然老师的意图是在锻炼我们后台的能力,但是想着还是不利用网上的模板,准备自己写,以来别人写的静态页看不 ...

  9. 一个简单的购物金额结算(JAVA)

    我编写的代码: import java.util.Scanner; public class ZuoYe01 { public static void main(String[] args) { // ...

随机推荐

  1. LOJ3120 CTS2019 珍珠 生成函数、二项式反演、NTT

    传送门 题目大意:给出一个长度为\(n\)的序列\(a_i\),序列中每一个数可以取\(1\)到\(D\)中的所有数.问共有多少个序列满足:设\(p_i\)表示第\(i\)个数在序列中出现的次数,\( ...

  2. Jupyter Notebook的配置(密码端口+远程登陆+nbextension)

    1 生成配置文件 linux和mac系统打开终端 windows系统打开anaconda自带的终端 jupyter notebook --generate-config 此时系统会生成 ~/.jupy ...

  3. 转:Java接口和抽象类

    转:http://www.cnblogs.com/dolphin0520/p/3811437.html 一.抽象类 在了解抽象类之前,先来了解一下抽象方法.抽象方法是一种特殊的方法:它只有声明,而没有 ...

  4. sql 作业创建

    转载:https://jingyan.baidu.com/article/adc81513be3423f722bf7351.html

  5. 15天入门RT-Thread之第一天

    今天开始学习jiezhi15天的RT-Thread入门系列课程 感谢RT-Thread提供的免费课程,终于可以系统入门RT-Thread ,感兴趣的同学可以关注RT-Thread官方公众号,获取最新的 ...

  6. (六) Docker 部署 Redis 高可用集群 (sentinel 哨兵模式)

    参考并感谢 官方文档 https://hub.docker.com/_/redis GitHub https://github.com/antirez/redis happyJared https:/ ...

  7. emacs手动安装、解决不能使用中文输入法

    emacs的安装 emacs的下载,解压 wget http://mirrors.ustc.edu.cn/gnu/emacs/emacs-25.3.tar.gz tar -zxf emacs-25.3 ...

  8. iOS - swift 后使用打包动态库

    WWDC2014上发布的Xcode6 beta版有了不少更新,其中令我惊讶的一个是苹果在iOS上开放了动态库,在Xcode6 Beta版的更新文档中是这样描述的: Frameworks for iOS ...

  9. css列表滑动防止被底部遮住和适配屏幕长一点的机型处理

    1.移动端处理列表滑动的时候,微信底下有自带的返回页面按钮,经常会被遮住,遇到屏幕长一点的,下面会短一大截,以下用此方法可以解决..container{ position:relative; back ...

  10. Node.js学习之(第三章:简易小demo)

    前言 我们前面已经学习完了Node中一些核心模块还有如何正确配置响应头的Content-Type,今天我们来实现一个简单的demo,巩固下之前学习的内容. 需求 我们平时访问百度或者其他大的门户网站的 ...