开始
这些都是根据订单的状态来的
根据不同的订单状态
点击一键支付
会发起支付的请求
支付成功,状态就会变成待发货的状态
在这里我们直接修改订单的状态来修改。这里来写接口变更订单的状态
也可以用下面的sql脚本去数据库内更新
update order_status set order_status='10' where order_id=''
后端代码编写
MyOrdersController
@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层
/**
* 订单状态--->商家发货
* @param orderId
*/
public void updateDeliverStatus(String orderId);
service实现类MyOrderServiceImpl
必须是已付款代发货的状态才能去变更
@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);
}
controller
@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
因为是get请求,可以直接在浏览器里面测试接口
http://localhost:8088/myorders/deliver?orderId=210429APD42K10BC
数据库内随便找一条数据 把这个数据的状态改成 20
通过接口改成30的状态
查看数据库内的订单状态: 把20的状态 改成30
然后这个订单就编程了确认收货的状态
点击每个tab触发的根据状态查询