JAVA全系列 教程
3762个小节阅读:7092.7k
目录
C语言快速入门
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
xxxxxxxxxx
@RestController
@RequestMapping("/user/orders")
public class OrdersController {
@DubboReference
private OrderService orderService;
@DubboReference
private CartService cartService;
/**
* 生成订单
* @param orders 订单对象
* @param userId 用户Id
* @return 生成的订单
*/
@PostMapping("/add")
public BaseResult<Orders> add(@RequestBody Orders orders, @RequestHeader Long userId){
orders.setUserId(userId);
// 保存订单
Orders orders1 = orderService.add(orders);
// 将redis中购物车商品删除
List<CartGoods> cartGoods = orders.getCartGoods();
for (CartGoods cartGood : cartGoods) {
cartService.deleteCartOption(userId,cartGood.getGoodId());
}
return BaseResult.ok(orders1);
}
/**
* 根据id查询订单
* @param id 订单id
* @return 查询结果
*/
@GetMapping("/findById")
public BaseResult<Orders> findById(String id){
Orders orders = ordersService.findById(id);
return BaseResult.ok(orders);
}
/**
* 查询用户的订单
* @param status 订单状态:1.未付款 2.已付款 3.未发货 4.已发货 5.交易成功 6.交易关闭 7.待评价,传入空值代表查询所有
* @param userId 用户id
* @return 查询结果
*/
@GetMapping("/findUserOrders")
public BaseResult<List<Orders>> findUserOrders(Integer status,@RequestHeader Long userId){
List<Orders> orders = ordersService.findUserOrders(userId, status);
return BaseResult.ok(orders);
}
}
修改订单的功能并不是让用户主动调用的,而是在用户支付完成后修改订单状态时调用,所以只重写接口方法即可,不需要写控制器