package org.jeecg.modules.test.seata.order.controller; /** * @Description: TODO * @author: zyf * @date: 2022/01/24 * @version: V1.0 */ import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.jeecg.modules.test.seata.order.dto.PlaceOrderRequest; import org.jeecg.modules.test.seata.order.service.SeataOrderService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @RestController @RequestMapping("/test/seata/order") @Api(tags = "seata测试") public class SeataOrderController { @Autowired private SeataOrderService orderService; /** * 自由下单 */ @PostMapping("/placeOrder") @ApiOperation(value = "自由下单", notes = "自由下单") public String placeOrder(@Validated @RequestBody PlaceOrderRequest request) { orderService.placeOrder(request); return "下单成功"; } /** * 测试商品库存不足-异常回滚 */ @PostMapping("/test1") @ApiOperation(value = "测试商品库存不足", notes = "测试商品库存不足") public String test1() { //商品单价10元,库存20个,用户余额50元,模拟一次性购买22个。 期望异常回滚 orderService.placeOrder(new PlaceOrderRequest(1L, 1L, 22)); return "下单成功"; } /** * 测试用户账户余额不足-异常回滚 */ @PostMapping("/test2") @ApiOperation(value = "测试用户账户余额不足", notes = "测试用户账户余额不足") public String test2() { //商品单价10元,库存20个,用户余额50元,模拟一次性购买6个。 期望异常回滚 orderService.placeOrder(new PlaceOrderRequest(1L, 1L, 6)); return "下单成功"; } }