diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/controller/NotifyController.java b/src/main/java/com/chaozhanggui/system/cashierservice/controller/NotifyController.java index 7cfcf74..16647b9 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/controller/NotifyController.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/controller/NotifyController.java @@ -2,12 +2,13 @@ package com.chaozhanggui.system.cashierservice.controller; import com.alibaba.fastjson.JSON; +import com.chaozhanggui.system.cashierservice.service.OrderService; +import com.chaozhanggui.system.cashierservice.sign.CodeEnum; +import com.chaozhanggui.system.cashierservice.sign.Result; import lombok.extern.slf4j.Slf4j; -import org.springframework.web.bind.annotation.CrossOrigin; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; +import java.util.HashMap; import java.util.Map; @CrossOrigin(origins = "*") @@ -17,6 +18,11 @@ import java.util.Map; public class NotifyController { + private final OrderService orderService; + + public NotifyController(OrderService orderService) { + this.orderService = orderService; + } @RequestMapping("notifyPay") public String notifyPay(@RequestBody Map map){ @@ -24,4 +30,13 @@ public class NotifyController { return null; } + /** + * 支付取消 + * @return 影响数量 + */ + @PostMapping("cancel") + public Result notifyCancel(@RequestBody HashMap data) { + return Result.success(CodeEnum.SUCCESS, orderService.cancelOrder(data.get("orderId"))); + } + } diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/interceptor/SignInterceptor.java b/src/main/java/com/chaozhanggui/system/cashierservice/interceptor/SignInterceptor.java index 91d41a3..12b8d3e 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/interceptor/SignInterceptor.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/interceptor/SignInterceptor.java @@ -49,6 +49,10 @@ public class SignInterceptor implements HandlerInterceptor { return true; } + if (requestUri.contains("/notify/cancel")) { + return true; + } + String token=request.getHeader("token"); String loginName=request.getHeader("loginName"); String clientType=request.getHeader("clientType"); diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/service/OrderService.java b/src/main/java/com/chaozhanggui/system/cashierservice/service/OrderService.java index 033e603..7226692 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/service/OrderService.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/service/OrderService.java @@ -1838,4 +1838,11 @@ public class OrderService { return true; } + + public Object cancelOrder(Integer orderId) { + return mPOrderInfoMapper.update(null, new LambdaUpdateWrapper() + .eq(TbOrderInfo::getId, orderId) + .eq(TbOrderInfo::getStatus, "paying") + .set(TbOrderInfo::getStatus, "unpaid")); + } }