@RequestMapping("save") public void save(HttpServletRequest req){ Map map=getParameterMap(req); List<Dishes> dishes= JSONObject.parseArray(map.get("cart").toString(),Dishes.class); String id= UUID.randomUUID().toString(); for (Dishes dto: dishes) { Dorder dorder=new Dorder(); dorder.setdId(id); dorder.setNum(Integer.valueOf(dto.getNum())); dorder.setMoney(String.valueOf(dto.getMoney1())); dorder.setDishesId(dto.getId()); dorderMapper.insertSelective(dorder); } Order order=new Order(); order.setDate(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())); order.setuId(Integer.valueOf(map.get("userId").toString())); order.setdId(id); order.setType(String.valueOf(map.get("type"))); orderMapper.insertSelective(order); }
时间: 2024-04-02 20:37:34 浏览: 179
postman测试接口List<JSONObject>类型的参数(csdn)————程序.pdf
5星 · 资源好评率100%
这段代码是一个 Spring MVC 控制器中的一个 HTTP 请求处理方法,它使用 `@RequestMapping` 注解标识了请求的 URL 路径为 "/save",表示该方法处理客户端提交的保存订单的请求。
方法中的 `HttpServletRequest` 参数表示客户端的 HTTP 请求对象,通过调用 `getParameterMap` 方法可以获取客户端提交的请求参数,并转换为 Java 中的 `Map` 对象。其中,请求参数中的 `cart` 是一个 JSON 格式的字符串,表示用户购物车中的商品列表,通过调用 `JSONObject.parseArray` 方法将其解析为 `List<Dishes>` 类型的对象。
接下来,生成一个唯一的订单 ID,并遍历用户购物车中的商品列表,将每个商品生成一个 `Dorder` 对象并插入数据库中,同时将订单 ID 和其它相关信息赋值给 `Dorder` 对象。最后,生成一个 `Order` 对象并插入数据库中,表示用户的一个完整订单。该订单中包含了订单 ID、用户 ID、订单类型、订单日期等信息。
需要注意的是,这段代码中使用了 MyBatis 的 mapper 接口来操作数据库,其中 `dorderMapper` 和 `orderMapper` 是通过 Spring 的依赖注入机制注入的 mapper 接口实例。
阅读全文