场景如下:把未发货的商品发货,即,订单状态由未发货变为已发货,这里用到了updateByExampleSelective.
@Override
@Transactional(propagation = Propagation.REQUIRED)
public void updateDeliverOrderStatus(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.updateByExampleSelective(updateOrder, example);
}