使用mybatiesPlus分页查询

    @GetMapping("list")
    public HashMap<String, Object> queryOrder( int pageNum,
                                               int pageSize) {

        if(pageNum <= 0 || pageSize <= 0){
            HashMap<String, Object> response = new HashMap<>();
            response.put("msg", "pageNum或pageSize需要大于0");
            response.put("code", 400);
            return response;
        }

        // 将分页参数传递给 service
        List<ChartOrders> list = chartOrdersService.listOrdersSortedByCreateTime(pageNum, pageSize);
        int total = list.size();

        HashMap<String, Object> map = new HashMap<>();
        map.put("msg","操作成功");
        map.put("code",200);
        map.put("data",list);
        map.put("pageNum",pageNum);
        map.put("pageSize",pageSize);
        map.put("total",total);

        return map;
    }
    List<ChartOrders> listOrdersSortedByCreateTime(int pageNum, int pageSize);
@Override
    public List<ChartOrders> listOrdersSortedByCreateTime(int pageNum, int pageSize) {
        Long userId = SecurityUtils.getUserId();

        // 使用 MyBatis-Plus 提供的分页类 Page
        Page<ChartOrders> page = new Page<>(pageNum, pageSize);

        LambdaQueryWrapper<ChartOrders> lqw = new LambdaQueryWrapper<>();
        lqw.eq(ChartOrders::getUserId, userId);
        lqw.orderByDesc(ChartOrders::getCreateTime); // 按 create_time 降序排序

        // 使用分页查询
        Page<ChartOrders> pagedResult = chartOrdersMapper.selectPage(page, lqw);

        // 获取查询结果
        List<ChartOrders> ordersList = pagedResult.getRecords();

        // 修改 totalPrice 字段的值,转换为元
        for (ChartOrders order : ordersList) {

            if (order.getTotalPrice() != null) {
                // 将分转换为元,保留两位小数
                BigDecimal priceInYuan = BigDecimal.valueOf(order.getTotalPrice())
                        .divide(BigDecimal.valueOf(100), 2, BigDecimal.ROUND_HALF_UP);
                order.setTotalPriceInYuan(priceInYuan);
            }

            // 处理 invoice 字段,当 invoice 为 null 或者为空时,将其设置为 0
            if (order.getInvoice() == null || order.getInvoice() == 0) {
                order.setInvoiceStatus("未开票");
            } else if (order.getInvoice() == 1) {
                order.setInvoiceStatus("已开票");
            }

            // 根据 status 设置支付状态
            if (order.getStatus() != null) {
                if (order.getStatus() == 0) {
                    order.setPaymentStatus("未支付");
                } else if (order.getStatus() == 1) {
                    order.setPaymentStatus("已支付");
                }
            }
        }

        return ordersList;
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值