超市优化

This commit is contained in:
zengtao01
2024-11-15 09:55:36 +08:00
parent fb82df646b
commit a2bee90229
2 changed files with 31 additions and 7 deletions

View File

@ -116,7 +116,8 @@ public interface ErrorCodeConstants {
ErrorCode AMOUNT_NOT_ENOUGH = new ErrorCode(1_007_904_008, "金额不足"); ErrorCode AMOUNT_NOT_ENOUGH = new ErrorCode(1_007_904_008, "金额不足");
ErrorCode CODE_NOT_TIME = new ErrorCode(1_007_904_008, "二维码过期"); ErrorCode CODE_NOT_TIME = new ErrorCode(1_007_904_008, "二维码过期");
ErrorCode STATUS_ERROR = new ErrorCode(1_007_904_007, "订单已完成或已退款"); ErrorCode STATUS_ERROR = new ErrorCode(1_007_904_007, "订单已完成或已退款");
ErrorCode ORDER_FAIL = new ErrorCode(1_007_904_008, "下单失败");
ErrorCode ORDER_CANCEL_FAIL = new ErrorCode(1_007_904_008, "订单取消失败");
ErrorCode STORE_ORDER_DETAIL_NOT_EXISTS = new ErrorCode(1_007_904_006,"商品订单详情不存在"); ErrorCode STORE_ORDER_DETAIL_NOT_EXISTS = new ErrorCode(1_007_904_006,"商品订单详情不存在");
//========== 用户余额明细 1-004-014-000 ============= //========== 用户余额明细 1-004-014-000 =============

View File

@ -28,8 +28,13 @@ import javax.annotation.Resource;
import javax.validation.Valid; import javax.validation.Valid;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.List; import java.util.List;
import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReentrantLock;
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.error;
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
import static cn.iocoder.yudao.module.member.enums.ErrorCodeConstants.ORDER_CANCEL_FAIL;
import static cn.iocoder.yudao.module.member.enums.ErrorCodeConstants.ORDER_FAIL;
@Tag(name = "APP超市 - 商品订单") @Tag(name = "APP超市 - 商品订单")
@RestController @RestController
@ -46,6 +51,10 @@ public class AppStoreOrderController {
@Resource @Resource
private MemberAsyncService memberAsyncService; private MemberAsyncService memberAsyncService;
private final Lock createLock = new ReentrantLock();
private final Lock cancelLock = new ReentrantLock();
@GetMapping("/page") @GetMapping("/page")
@Operation(summary = "获得商品订单分页") @Operation(summary = "获得商品订单分页")
public CommonResult<PageResult<StoreOrderRespVO>> getStoreOrderPage(@Valid StoreOrderPageReqVO pageReqVO) { public CommonResult<PageResult<StoreOrderRespVO>> getStoreOrderPage(@Valid StoreOrderPageReqVO pageReqVO) {
@ -66,9 +75,16 @@ public class AppStoreOrderController {
@PostMapping("/appCreate") @PostMapping("/appCreate")
@Operation(summary = "购物车订单") @Operation(summary = "购物车订单")
public CommonResult<Boolean> appCreate(@RequestBody CardDto dto) { public CommonResult<Boolean> appCreate(@RequestBody CardDto dto) {
AddReqVO addReqVO = storeOrderService.appCreate(dto); createLock.lock();
//记录 try {
memberAsyncService.batchRecord(addReqVO); AddReqVO addReqVO= storeOrderService.appCreate(dto);
//记录
memberAsyncService.batchRecord(addReqVO);
}catch (Exception e){
return error(ORDER_FAIL);
}finally {
createLock.unlock();
}
return success(true); return success(true);
} }
@ -93,9 +109,16 @@ public class AppStoreOrderController {
@GetMapping("/cancel") @GetMapping("/cancel")
@Operation(summary = "取消订单") @Operation(summary = "取消订单")
public CommonResult<Boolean> cancel(Integer orderId) { public CommonResult<Boolean> cancel(Integer orderId) {
AddReqVO cancel = storeOrderService.cancel(orderId); cancelLock.lock();
//记录 try {
memberAsyncService.batchRecord(cancel); AddReqVO cancel = storeOrderService.cancel(orderId);
//记录
memberAsyncService.batchRecord(cancel);
}catch (Exception e){
return error(ORDER_CANCEL_FAIL);
}finally {
cancelLock.unlock();
}
return success(true); return success(true);
} }