开始

更新订单状态

编写service层 MyOrdersService
image.png

  1. /**
  2. * 更新订单状态 -> 确认收货
  3. * @param orderId
  4. * @return
  5. */
  6. public boolean updateReceiveOrderStatus(String orderId);
  7. /**
  8. * 删除订单。逻辑删除
  9. * @param userId
  10. * @param orderId
  11. * @return
  12. */
  13. public boolean deleteOrder(String userId,String orderId);

实现类
确认订单就是更改订单的状态

只有当前的状态是30,待收货的状态,那么才能去修改成交易成功的状态。
image.png
MyOrdersServiceImpl实现类。
image.png

@Override
    public boolean updateReceiveOrderStatus(String orderId) {
        OrderStatus updateOrder=new OrderStatus();
        updateOrder.setOrderStatus(OrderStatusEnum.SUCCESS.type);
        updateOrder.setSuccessTime(new Date());

        Example example=new Example(OrderStatus.class);
        Example.Criteria criteria = example.createCriteria();
        criteria.andEqualTo("orderId",orderId);
        criteria.andEqualTo("orderId",OrderStatusEnum.WAIT_RECEIVE.value);

        return false;

image.png
image.png

image.png

 @Override
    public boolean updateReceiveOrderStatus(String orderId) {
        OrderStatus updateOrder=new OrderStatus();
        updateOrder.setOrderStatus(OrderStatusEnum.SUCCESS.type); // 状态改成交易成功
        updateOrder.setSuccessTime(new Date());

        Example example=new Example(OrderStatus.class);
        Example.Criteria criteria = example.createCriteria();
        criteria.andEqualTo("orderId",orderId);
        criteria.andEqualTo("orderStatus",OrderStatusEnum.WAIT_RECEIVE.type);//查询等待确认收货的

        int result = orderStatusMapper.updateByExampleSelective(updateOrder, example);
        return result==1?true:false;
    }

删除订单

这里是逻辑删除,并不是真正的删除。
image.png

  @Override
    public boolean deleteOrder(String userId, String orderId) {
        Orders updateOrder = new Orders();
        updateOrder.setIsDelete(YesOrNo.YES.type);
        updateOrder.setUpdatedTime(new Date());
        Example example=new Example(Orders.class);
        Example.Criteria criteria = example.createCriteria();
        criteria.andEqualTo("id",orderId);
        criteria.andEqualTo("userId",userId);
        int result = ordersMapper.updateByExampleSelective(updateOrder, example);
        return result==1?true:false;
    }

controller内完善代码 ,MyOrdersController
image.png

 @ApiOperation(value = "商家发货",notes = "商家发货",httpMethod ="GET" )
    @GetMapping("/confirmReceive")
    public IMOOCJSONResult confirmReceive(
            @ApiParam(name = "orderId",value = "订单id",required = true)
            @RequestParam String orderId,
            @ApiParam(name = "userId",value = "订单id",required = true)
            @RequestParam("userId") String userId
            ) throws Exception{
        IMOOCJSONResult checkResult = checkUserOrder(orderId, userId);
        if(checkResult.getStatus()!= HttpStatus.OK.value()) {
            return checkResult;
        }
        boolean res = myOrderService.updateReceiveOrderStatus(orderId);
        if(!res) {
            return IMOOCJSONResult.errorMsg("订单确认收货失败!");
        }

        return IMOOCJSONResult.ok();
    }

订单的删除
image.png

@ApiOperation(value = "用户订单删除",notes = "用户订单删除",httpMethod ="POST" )
    @PostMapping("/delete")
    public IMOOCJSONResult delete(
            @ApiParam(name = "orderId",value = "订单id",required = true)
            @RequestParam String orderId,
            @ApiParam(name = "userId",value = "订单id",required = true)
            @RequestParam("userId") String userId
    ) throws Exception{
        IMOOCJSONResult checkResult = checkUserOrder(orderId, userId);
        if(checkResult.getStatus()!= HttpStatus.OK.value()) {
            return checkResult;
        }
        boolean res = myOrderService.deleteOrder(userId, orderId);
        if(!res) {
            return IMOOCJSONResult.errorMsg("订单删除失败!");
        }

        return IMOOCJSONResult.ok();
    }

测试

maven install 重启服务
image.png
复制好订单的状态
image.png
image.png

确定后数据不在待收货的列表了
image.png
image.png

删除交易失败的

当前一共27条数据
image.png
image.png
数据变成26条
image.png

结束