开始

这些都是根据订单的状态来的
image.png
image.png

根据不同的订单状态
image.png
点击一键支付
image.png

会发起支付的请求
image.png
支付成功,状态就会变成待发货的状态
image.png

在这里我们直接修改订单的状态来修改。这里来写接口变更订单的状态
也可以用下面的sql脚本去数据库内更新

  1. update order_status set order_status='10' where order_id=''

后端代码编写

MyOrdersController
image.png

@ApiOperation(value = "商家发货",notes = "商家发货",httpMethod ="GET" )
    @PostMapping("/delivery")
    public IMOOCJSONResult delivery(
            @ApiParam(name = "orderId",value = "订单id",required = true)
            @RequestParam String orderId) throws Exception{
        if(StringUtils.isBlank(orderId)){
            return IMOOCJSONResult.errorMsg("订单id不能为空");
        }
        myOrderService.updateDeliverOrderStatus(orderId);
        return IMOOCJSONResult.ok(grid);
    }

service层
image.png

 /**
     * 订单状态--->商家发货
     * @param orderId
     */
    public void updateDeliverStatus(String orderId);

service实现类MyOrderServiceImpl
image.png

image.png

image.png
image.png
必须是已付款代发货的状态才能去变更
image.png

  @Override
    public void updateDeliverStatus(String orderId) {
        OrderStatus updateOrder=new OrderStatus();
        updateOrder.setOrderStatus(OrderStatusEnum.WAIT_RECEIVE.type);//已发货,待收货
        updateOrder.setDeliverTime(new Date());

        Example example=new Example(OrderStatus.class);
        Example.Criteria criteria = example.createCriteria();
        criteria.andEqualTo("orderId",orderId);
        criteria.andEqualTo("orderStatus",OrderStatusEnum.WAIT_DELIVER.type);//已付款 待收货

        orderStatusMapper.updateByExample(updateOrder, example);
    }

image.png

controller

image.png

@ApiOperation(value = "商家发货",notes = "商家发货",httpMethod ="GET" )
    @GetMapping("/deliver")
    public IMOOCJSONResult deliver(
            @ApiParam(name = "orderId",value = "订单id",required = true)
            @RequestParam String orderId) throws Exception{
        if(StringUtils.isBlank(orderId)){
            return IMOOCJSONResult.errorMsg("订单id不能为空");
        }
        myOrderService.updateDeliverStatus(orderId);
        return IMOOCJSONResult.ok();
    }

测试

在代发货里面复制这个订单id
image.png
因为是get请求,可以直接在浏览器里面测试接口
http://localhost:8088/myorders/deliver?orderId=210429APD42K10BC
数据库内随便找一条数据 把这个数据的状态改成 20
image.png
通过接口改成30的状态

image.png
查看数据库内的订单状态: 把20的状态 改成30
image.png
然后这个订单就编程了确认收货的状态
image.png

image.png
点击每个tab触发的根据状态查询
image.png

image.png

结束