• 猿创征文|瑞吉外卖——管理端_订单明细


    个人名片:

    博主酒徒ᝰ.
    专栏瑞吉外卖
    个人简介沉醉在酒中,借着一股酒劲,去拼搏一个未来。
    本篇励志一个人静静坐在电脑面前写代码的感觉,那是什么感觉?那是武林高手闭关修炼的感觉。

    本项目基于B站黑马程序员Java项目实战《瑞吉外卖》,轻松掌握springboot + mybatis plus开发核心技术的真java实战项目。

    视频链接【黑马程序员Java项目实战《瑞吉外卖》,轻松掌握springboot + mybatis
    plus开发核心技术的真java实战项目】 https://www.bilibili.com/video/BV13a411q753?
    点击观看

    因为订单是前端购物确认的,所有大部分内容在前端。这里就比较少了

    一、页面显示

    1.全部显示

    image.png

    分析:order地址,GET方式,page地址,page,pageSize属性

    /**
     * 页面显示
     * @param page
     * @param pageSize
     * @return
     */
    @GetMapping("/page")
    public R<Page> page(int page, int pageSize){
        //页面构造器
        Page<Orders> pageInfo = new Page<>(page, pageSize);
    
        //查询所有orders表信息
        LambdaQueryWrapper<Orders> queryWrapper = new LambdaQueryWrapper<>();
        queryWrapper.orderByDesc(Orders::getOrderTime);
        ordersService.page(pageInfo, queryWrapper);
    
        return R.success(pageInfo);
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18

    2.输入框查询显示

    image.png

    相对于全部显示来说,多了number,beginTime,endTime属性
    beginTime,endTime为时间,在LambdaQueryWrapper中,可以用string来比较时间。

    /**
     * 页面显示——输入框查询
     * @param page
     * @param pageSize
     * @return
     */
    @GetMapping("/page")
    public R<Page> page(int page, int pageSize, Long number, String beginTime, String endTime){
        //log.info("beginTime:{}",beginTime);
        //log.info("endTime:{}",endTime);
        //页面构造器
        Page<Orders> pageInfo = new Page<>(page, pageSize);
    
        //查询所有orders表信息
        LambdaQueryWrapper<Orders> queryWrapper = new LambdaQueryWrapper<>();
        //查询name
        if (number != null){
            queryWrapper.like(Orders::getNumber, number);
        }
        //查询beginTime 大于等于这个时间
        if (beginTime != null){
            queryWrapper.ge(Orders::getOrderTime, beginTime);
        }
        //查询endTime 小于等于这个时间
        if (endTime != null){
            queryWrapper.le(Orders::getOrderTime, endTime);
        }
        queryWrapper.orderByDesc(Orders::getOrderTime);
        ordersService.page(pageInfo, queryWrapper);
    
        return R.success(pageInfo);
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32

    二、订单状态修改

    建议完成移动端后再完善此处。

    image.png

    分析:order地址,PUT方式。

    /**
     * 订单状态修改——管理端
     * @param orders
     * @return
     */
    @PutMapping
    public R<String> order(@RequestBody Orders orders){
        //log.info("orders:{}", orders);
        Orders order = ordersService.getById(orders.getId());
        if (order.getStatus() == 2){
            orders.setStatus(3);
            ordersService.updateById(orders);
            return R.success("订单派送成功");
        }else {
            orders.setStatus(4);
            ordersService.updateById(orders);
            return R.success("订单已完成");
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
  • 相关阅读:
    【深度学习 AIGC 绘画】Robert001/UniControl-Demo docker
    不负昭华,前程似锦,新一批研发效能认证证书颁发丨IDCF
    分布式网络通信框架(一)——集群和分布式
    [Wechat]概念辨析:微信的生态平台/运管平台
    【强化学习高阶技巧】Experience Replay经验回报
    AttributeError: ‘bytes‘ object has no attribute ‘encode‘异常解决方案
    探索Web前端三大主流框架:React,Angular和Vue.js
    撂荒耕地变“希望良田” 国稻种芯:平远县热柘镇以企带村
    elasticsearch-spark的用法
    VEX —— Functions|String
  • 原文地址:https://blog.csdn.net/m0_65144570/article/details/126808383