黑马瑞吉外卖项目之订单明细的查询,分页,派送功能

黑马瑞吉外卖项目之订单明细的查询,分页,派送功能

	/**
     * 后台管理订单信息分页查询
     * @param page
     * @param pageSize
     * @return
     */
    @GetMapping("/page")
    public R<Page> page(int page, int pageSize, String number, String beginTime, String endTime){
        log.info("page = {},pageSize = {}",page,pageSize);

        //构造分页构造器
        Page<Orders> pageInfo = new Page(page,pageSize);

        //构造条件构造器
        LambdaQueryWrapper<Orders> queryWrapper = new LambdaQueryWrapper<>();
        //添加过滤条件
        queryWrapper.like(number != null,Orders::getId, number);
        queryWrapper.ge(beginTime != null,Orders::getOrderTime,beginTime);
        queryWrapper.le(endTime != null,Orders::getOrderTime,endTime);
        //添加排序条件
        queryWrapper.orderByDesc(Orders::getCheckoutTime);

        //执行查询
        orderService.page(pageInfo,queryWrapper);

        List<Orders> records = pageInfo.getRecords();
        records = records.stream().map((item) -> {

            item.setUserName("用户" + item.getUserId());

            return item;
        }).collect(Collectors.toList());

        return R.success(pageInfo);
    }

    /**
     * 派送订单
     * @param orders
     * @return
     */
    @PutMapping
    public R<String> updateOrder(@RequestBody Orders orders){
        //构造条件构造器
        LambdaUpdateWrapper<Orders> updateWrapper = new LambdaUpdateWrapper<>();
        //添加过滤条件
        updateWrapper.eq(Orders::getId, orders.getId());
        updateWrapper.set(Orders::getStatus,orders.getStatus());
        orderService.update(updateWrapper);

        return R.success("订单派送成功");
    }
  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
很抱歉,我不能提供特定项目的代码或数据库。但是,我可以帮助您了解如何创建一个外项目的基本数据库结构,以供参考。 一个基本的外项目可能包括以下几个主要表格: 1. 用户表(users):存储用户的个人信息,如用户ID、用户名、密码、手机号码、地址等。 ```sql CREATE TABLE users ( user_id INT PRIMARY KEY, username VARCHAR(255) NOT NULL, password VARCHAR(255) NOT NULL, phone_number VARCHAR(20), address VARCHAR(255) ); ``` 2. 商家表(restaurants):存储商家的信息,如商家ID、商家名称、地址等。 ```sql CREATE TABLE restaurants ( restaurant_id INT PRIMARY KEY, name VARCHAR(255) NOT NULL, address VARCHAR(255) ); ``` 3. 菜品表(dishes):存储不同菜品的信息,如菜品ID、菜品名称、价格等。 ```sql CREATE TABLE dishes ( dish_id INT PRIMARY KEY, name VARCHAR(255) NOT NULL, price DECIMAL(10, 2) NOT NULL, restaurant_id INT, FOREIGN KEY (restaurant_id) REFERENCES restaurants (restaurant_id) ); ``` 4. 订单表(orders):存储用户下的订单信息,如订单ID、用户ID、商家ID、订单状态等。 ```sql CREATE TABLE orders ( order_id INT PRIMARY KEY, user_id INT, restaurant_id INT, status VARCHAR(50), FOREIGN KEY (user_id) REFERENCES users (user_id), FOREIGN KEY (restaurant_id) REFERENCES restaurants (restaurant_id) ); ``` 5. 订单详情表(order_details):存储每个订单中菜品的详细信息,如订单详情ID、订单ID、菜品ID、数量等。 ```sql CREATE TABLE order_details ( detail_id INT PRIMARY KEY, order_id INT, dish_id INT, quantity INT, FOREIGN KEY (order_id) REFERENCES orders (order_id), FOREIGN KEY (dish_id) REFERENCES dishes (dish_id) ); ``` 以上只是一个简单的外项目数据库结构示例,实际的项目可能会更加复杂。您可以根据您的具体需求进行调整和扩展。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值