//欢迎来到(模拟)京东商城代码编辑
//商城接口类:定义查询和添加商品的方法(修改和删除暂不写)
package shopping.dao;import shopping.entity.Product;
import java.util.List;public interface ProductDao {void add(Product product);List<Product> findAll();Product findById(int id);
}//商品类   定义初始化数据,实现商品接口类中的方法
package shopping.dao.impl;import shopping.dao.ProductDao;
import shopping.entity.Product;import java.util.ArrayList;
import java.util.List;public class ProductDaoImpl implements ProductDao {private static List<Product> productList = new ArrayList<Product>();static {productList.add(new Product(1111,"蜘蛛王皮鞋       ",238,"黑色",44,100000));productList.add(new Product(3333,"Thinkpad x240   ",5938,"黑色",42,9999));productList.add(new Product(2222,"皮卡丘抱枕       ",238,"白色",34,5000));}@Overridepublic void add(Product product) {boolean flag = false;for (int i=0;i<productList.size();i++){Product p = productList.get(i);if (p.getId()==product.getId()){flag=true;break;}}if (flag){System.out.println("该商品已经存在");}else {productList.add(product);System.out.println("添加成功");}}@Overridepublic List<Product> findAll() {return productList;}@Overridepublic Product findById(int id) {for (int i=0; i<productList.size();i++){Product product = productList.get(i);if (product.getId()==id){return product;}}return null;}
}//购物车接口类  定义购物车的添加商品和查看购物车的方法
package shopping.dao;import shopping.entity.CartItem;import java.util.LinkedHashMap;public interface CartItemDao {public void addCartItem(CartItem item);public LinkedHashMap<Integer,CartItem> findCart();}//购物车类实现购物车接口
package shopping.dao.impl;import shopping.dao.CartItemDao;
import shopping.entity.CartItem;import java.util.LinkedHashMap;public class CartItemDaoImpl implements CartItemDao {private static LinkedHashMap<Integer,CartItem> shoppingCart = new LinkedHashMap<>();static{}@Overridepublic void addCartItem(CartItem item) {CartItem item2 = shoppingCart.get(item.getId());if (item2==null){shoppingCart.put(item.getId(),item);}else {//             int num1 = item2.getAmount();
//             int num2 = item.getAmount();
//             int num = num1+num2;
//             item2.setAmount(num);item2.setAmount(item2.getAmount()+item.getAmount());}}@Overridepublic LinkedHashMap<Integer, CartItem> findCart() {return shoppingCart;}
}//测试类   测试商城添加商品,查看商品,和购物车添加商品,查看购物车功能
package shopping.test;import shopping.dao.CartItemDao;
import shopping.dao.ProductDao;
import shopping.dao.impl.CartItemDaoImpl;
import shopping.dao.impl.ProductDaoImpl;
import shopping.entity.CartItem;
import shopping.entity.Product;import java.util.Collection;
import java.util.List;
import java.util.Map;
import java.util.Scanner;public class Test {public static void main(String[] args) {Scanner sc = new Scanner(System.in);do {System.out.println();System.out.println("******欢迎进如京东商城******");System.out.println("\t1.添加商品");System.out.println("\t2.查看所有商品");System.out.println("\t3.查看指定商品编号");System.out.println("\t4.添加到购物车");System.out.println("\t5.显示购物车");System.out.println("\t6.退出");System.out.println("****************************");System.out.print("请选择菜单:");int choice = sc.nextInt();switch (choice){case 1:addProduct();break;case 2:showAll();break;case 3:showById();break;case 4:
//                    System.out.println("添加到购物车");addCartItem();break;case 5:
//                    System.out.println("显示购物车");showCartItem();break;case 6:System.out.println("谢谢使用");return;default :System.out.println("输入错误,请输入(1-6):");}}while (true);}private static void showCartItem() {CartItemDao cartItemDao = new CartItemDaoImpl();Map<Integer,CartItem> shoppingCart = cartItemDao.findCart();Collection<CartItem> items = shoppingCart.values();System.out.println("编号\t商品名称   \t\t价格\t数量\t小计");double total = 0;for (CartItem item:items){System.out.println(item.getId()+"\t"+item.getName()+"\t"+item.getPrice()+"\t"+item.getAmount()+"\t"+item.getPrice()*item.getAmount());total = total+item.getPrice()*item.getAmount();}System.out.println("总价"+total);}private static void addCartItem() {System.out.print("请输入要购买的商品编号:");Scanner sc = new Scanner(System.in);int id = sc.nextInt();System.out.print("请输入要购买的商品数量:");int amount = sc.nextInt();ProductDao productDao = new ProductDaoImpl();Product product = productDao.findById(id);CartItem item = new CartItem();item.setId(id);item.setName(product.getName());item.setPrice(product.getPrice());item.setAmount(amount);CartItemDao cartItemDao = new CartItemDaoImpl();cartItemDao.addCartItem(item);}private static void showById() {Scanner sc = new Scanner(System.in);System.out.print("请输入要查询的商品编号:");int id = sc.nextInt();ProductDao productDao = new ProductDaoImpl();Product product = productDao.findById(id);System.out.println("编号\t商品名称               \t\t价格\t 颜色 \t 尺寸  \t 库存");if (product==null){System.out.println("该编号的商品不存在");}else {System.out.println(product.getId()+"\t"+product.getName()+"\t"+product.getPrice()+"\t"+product.getColor()+"\t"+product.getSize()+"\t"+product.getStock());}}private static void showAll() {ProductDao productDao = new ProductDaoImpl();List<Product> productList = productDao.findAll();System.out.println("编号\t商品名称               \t\t价格\t 颜色 \t 尺寸  \t 库存");for (Product product:productList){System.out.println(product.getId()+"\t"+product.getName()+"  \t"+product.getPrice()+"\t"+product.getColor()+"\t"+product.getSize()+"\t"+product.getStock());}}private static void addProduct() {Scanner sc = new Scanner(System.in);System.out.print("请输入商品编号:");int id = sc.nextInt();System.out.print("请输入商品名称:");String name = sc.next();System.out.print("请输入商品价格:");double price = sc.nextDouble();System.out.print("请输入商品颜色:");String color = sc.next();System.out.print("请输入商品尺寸:");int size = sc.nextInt();System.out.print("请输入商品库存:");int stock = sc.nextInt();Product product = new Product(id,name,price,color,size,stock);ProductDao productDao = new ProductDaoImpl();productDao.add(product);}
}

模拟商城添加、查看商品和添加商品到购物车、查看购物车相关推荐

  1. 学习淘淘商城第二十三课(添加商品的实现)

    上节课我们一起学习了富文本编辑器的使用,这节课我们一起学习下商品添加的实现. 在item-add.jsp当中,当点击提交按钮后,会触发submitForm方法,如下图所示. 在提交表单前需要校验输入的 ...

  2. PHP的ECSHOP商城的改造成MVC添加商品功能总结

    PHP的ECSHOP商城的改造成MVC添加商品功能总结原始的ECSHOP商城不是MVC的架构,改造成MVC架构. admin后台 Platform =back,登录页面进去是index.php,里面是 ...

  3. 淘淘商城第78讲——查询商品详情添加缓存的分析

    通过上文的学习,我相信大家一定实现了商品详情页面的展示,接下来我们将学习如何在商品详情页面展示时添加缓存. 因为查询商品详情涉及到查询数据库,当商品详情页面的访问的并发量比较高时,查询商品详情都去查询 ...

  4. 初学者 模拟购物车(包含添加商品和删除商品功能)

    购物车界面与功能实现分析图: 购物车对象: package cn.itsource._01_buycart.domain;import java.util.ArrayList; import java ...

  5. 乐优商城(填坑)——秒杀商品添加

    一.需求 后台商品管理中,将商品添加到可秒杀商品列表 选中商品将其设置为可秒杀. 选择具体的参与秒杀的商品规格,然后设置相关参数,点击保存即可. 二.后端接口修改 原来的添加秒杀商品接口在leyou- ...

  6. 【VUE项目实战】54、商品添加功能(四)-商品图片上传模块

    接上篇<53.商品添加功能(三)-商品参数及属性模块> 上一篇我们完成了商品参数和商品属性面板的开发,本篇我们来完成商品图片上传模块的开发. 一.要实现的效果 我们在商品图片页签,需要放置 ...

  7. shopxo二次开发:商品管理添加、商品导入库存、设置库存量(教程)

    shopxo二次开发:商品添加与库存设置(教程如下) 商品添加与库存设置的一系列的操作说明: 步骤 · 如下: 商品添加与库存设置的一系列的操作说明: 商品管理.商品添加.商品类型设置.商品导入库存. ...

  8. Vue小案例 之 商品管理------添加商品

    进行添加button,以及商品列表的创建 html: <div class="form-btn"><button>确认添加</button>&l ...

  9. mysql数据库添加商品_如何检测mysql 数据库执行了哪些sql语句 ecshop如何添加商品属性 ecshop 商品属性批量采集入库...

    打开mysql日志,检测添加属性时候的msyql语句如下. 121126 22:41:55     158 Connect     root@localhost on 158 Query       ...

最新文章

  1. servlet单实例多线程模式
  2. Java 8新特性(二)
  3. filter函数使用出现的问题
  4. 使用序列化反序列化实现学生管理系统
  5. 设置grub从哪个分区的menu.lst引导系统
  6. 【李宏毅2020 ML/DL】P51 Network Compression - Knowledge Distillation | 知识蒸馏两大流派
  7. ImportError: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `CXXABI_1.3.9‘ not found
  8. 如何解决类似 curl: (7) Failed to connect to raw.githubusercontent.com port 443: Connection refused 的问题 #10
  9. Android,App 常用图标尺寸规范
  10. 【转】全球十部最经典的科幻片,你看过几部?
  11. 网站被攻击怎么办如何解决
  12. Python OpenCV _1基本操作(画图,循环播放图像,鼠标事件,读取中文路径中的图片)
  13. P4188 [USACO18JAN]Lifeguards S
  14. android studio marvin 配置
  15. c++ sort 转载
  16. NFS 服务 lap1+lap2+mysql+nfs
  17. HC05蓝牙模块配对步骤及AT模式设置方法
  18. DVWA靶场联系(第三周)
  19. oracle事务的四种隔离级别,事务的四种隔离级别
  20. 在windows电脑定时运行python脚本

热门文章

  1. Linux查看本机状况命令
  2. 还在为怎么写SCI投稿邮件发愁?给你收集7个阶段邮件模板
  3. OpenCV像素值读写之at()函数
  4. 用这10个人工智能战略彻底改变你的业务
  5. 我的程序员人生路——雷军(3)
  6. vivox7 Android7.1安装包
  7. 函数计算-触发OSS来处理图片加水印和大小裁剪
  8. 关于硬盘标称容量和实际容量
  9. oracle 计算日期季度,Oracle日期查询:季度、月份、星期等时间信息
  10. 计算机vb大小写字母转换,vb做的大小写字母转换器