Search in sources :

Example 1 with Order

use of com.doodl6.springboot.seata.common.entity.Order in project SpringBoot-Project by MartinDai.

the class TradeService method checkData.

public StorageWithOrderData checkData(String goodsCode) {
    StorageWithOrderData storageWithOrderData = new StorageWithOrderData();
    Storage storage = storageService.selectByCode(goodsCode);
    List<Order> orders = orderService.selectOrderByCode(goodsCode);
    storageWithOrderData.setStorage(storage);
    storageWithOrderData.setOrders(orders);
    return storageWithOrderData;
}
Also used : Order(com.doodl6.springboot.seata.common.entity.Order) Storage(com.doodl6.springboot.seata.common.entity.Storage) StorageWithOrderData(com.doodl6.springboot.seata.response.StorageWithOrderData)

Example 2 with Order

use of com.doodl6.springboot.seata.common.entity.Order in project SpringBoot-Project by MartinDai.

the class TradeService method createOrder.

/**
 * 创建订单
 */
@GlobalTransactional(timeoutMills = 30000)
public void createOrder(String goodsCode, int stockNum, boolean mockException) {
    String xid = RootContext.getXID();
    System.out.println("createOrder 当前正在执行的事务xid:" + xid);
    String result = storageService.reduceStock(goodsCode, stockNum);
    if (!SUCCESS_RESPONSE.equals(result)) {
        throw new IllegalStateException("库存扣减失败! xid:" + xid);
    }
    Order order = new Order().setGoodsCode(goodsCode).setStockNum(stockNum).setMoney(stockNum * 100).setUserId(1);
    result = orderService.createOrder(order);
    if (!SUCCESS_RESPONSE.equals(result)) {
        throw new IllegalStateException("创建订单失败! xid:" + xid);
    }
    if (mockException) {
        throw new IllegalStateException("模拟用户业务异常! xid:" + xid);
    }
}
Also used : Order(com.doodl6.springboot.seata.common.entity.Order) GlobalTransactional(io.seata.spring.annotation.GlobalTransactional)

Aggregations

Order (com.doodl6.springboot.seata.common.entity.Order)2 Storage (com.doodl6.springboot.seata.common.entity.Storage)1 StorageWithOrderData (com.doodl6.springboot.seata.response.StorageWithOrderData)1 GlobalTransactional (io.seata.spring.annotation.GlobalTransactional)1