赞
踩
项目演示:
整体功能
gitee地址:react 完整代码
pom 文件:
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <artifactId>product-service</artifactId> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.3.9.RELEASE</version> <relativePath/> </parent> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> <version>5.4.4</version> </dependency> </dependencies> </project>
控制器代码:
/** * @author zxl * @date 4/15/22 */ @RestController @RequestMapping("/") public class ProductController { private HashSet set = new HashSet(); //private final AtomicInteger AMOUNT = new AtomicInteger(); @GetMapping("/products") public HashMap products(){ HashMap result = new HashMap(); ArrayList list = new ArrayList(); HashMap data = null; for (int i = 0; i < 8; i++) { data = new HashMap(); data.put("id",i+1); data.put("imageUrl","https://cdn.chec.io/merchants/19661/assets/VFgCKovPcmNWYm4G|Screenshot 2020-11-25 at 11.01.24.png"); data.put("name","第"+(i+1)+"个商品"); data.put("price",45.5+i); data.put("description","<p style='color:red;'>商品描述</p>"); list.add(data); } result.put("data",list); return result; } @GetMapping("/cart/{productId}/{amount}") public HashMap cart(@PathVariable String productId,@PathVariable Integer amount){ HashMap result = new HashMap(); //cartItem HashMap data = new HashMap(); data.put("id",productId); // data.put("imageUrl","https://cdn.chec.io/merchants/18462/images/676785cedc85f69ab27c42c307af5dec30120ab75f03a9889ab29|u9 1.png"); data.put("imageUrl","https://cdn.chec.io/merchants/19661/assets/VFgCKovPcmNWYm4G|Screenshot 2020-11-25 at 11.01.24.png"); data.put("name",productId); data.put("price",45.5); data.put("description","<p style='color:red;'>商品描述</p>"); data.put("totalPrice",45.5); data.put("quantity",amount); result.put("totalPrice",99999); set.add(data); //cart result.put("items",set); result.put("total_items",set.size()); result.put("id",1234); return result; } @PutMapping("/cart/{productId}/{amount}") public HashMap updateCart(@PathVariable String productId,@PathVariable Integer amount){ HashMap result = new HashMap(); //cartItem HashMap data = new HashMap(); //update cartItem for (Object o : set) { HashMap item = (HashMap) o; if(productId.equals(item.get("id"))){ item.put("quantity",amount); } } result.put("totalPrice",99999); //set.add(data); //cart result.put("items",set); result.put("total_items",set.size()); result.put("id",1234); return result; } @DeleteMapping("/cart/{productId}") public HashMap removeFromCart(@PathVariable String productId){ HashMap result = new HashMap(); //cartItem //remove item Iterator iterator = set.iterator(); while(iterator.hasNext()){ HashMap item = (HashMap)iterator.next(); if(productId.equals(item.get("id"))){ iterator.remove(); } } result.put("totalPrice",99999); result.put("items",set); result.put("total_items",set.size()); result.put("id",1234); return result; } @GetMapping("/carts") public HashMap carts(){ HashMap result = new HashMap(); result.put("totalPrice",99999); result.put("items",set); result.put("total_items",set.size()); result.put("id",1234); return result; } @GetMapping("/carts/empty") public HashMap empty(){ set.clear(); HashMap result = new HashMap(); result.put("totalPrice",99999); result.put("items",set); result.put("total_items",set.size()); result.put("id",1234); return result; } @PostMapping("/carts/checkout") public HashMap checkout(@RequestBody Shipping shipping){ HashMap data = new HashMap(); data.put("customer",shipping); set.clear(); return data; } }
application.yml
server:
port: 19090
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。