licailing 3 жил өмнө
parent
commit
2d3fffbf09

+ 18 - 0
src/main/java/com/izouma/nineth/service/OrderService.java

@@ -29,6 +29,7 @@ import com.izouma.nineth.exception.BusinessException;
 import com.izouma.nineth.repo.*;
 import com.izouma.nineth.security.Authority;
 import com.izouma.nineth.utils.JpaUtils;
+import com.izouma.nineth.utils.SecurityUtils;
 import com.izouma.nineth.utils.SnowflakeIdWorker;
 import lombok.AllArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
@@ -654,4 +655,21 @@ public class OrderService {
         redisTemplate.delete(RedisKeys.ORDER_LOCK + orderId);
     }
 
+    public Object queryCreateOrder(String id) {
+        Object res = redisTemplate.opsForValue().get(RedisKeys.CREATE_ORDER + id);
+        if (res != null) {
+            if (res instanceof Map) {
+                if (MapUtils.getBooleanValue((Map) res, "success", false)) {
+                    Order order = (Order) MapUtils.getObject((Map) res, "data");
+                    if (!SecurityUtils.getAuthenticatedUser().getId().equals(order.getUserId())) {
+                        log.error("queryCreateOrder userId错误 requestUserId={} orderUserId={}",
+                                SecurityUtils.getAuthenticatedUser().getId(), order.getUserId());
+                        return null;
+                    }
+                }
+            }
+        }
+        return res;
+    }
+
 }

+ 6 - 1
src/main/java/com/izouma/nineth/web/OrderController.java

@@ -93,7 +93,7 @@ public class OrderController extends BaseController {
                         @RequestParam(required = false) Long invitor) {
 //        return orderService.create(SecurityUtils.getAuthenticatedUser().getId(),
 //                collectionId, qty, addressId, couponId, invitor);
-        return null;
+        throw new BusinessException("接口暂不可用,请刷新后重试");
     }
 
     @PostMapping("/hide")
@@ -124,5 +124,10 @@ public class OrderController extends BaseController {
             orderRepo.save(order);
         });
     }
+
+    @GetMapping("/createResult")
+    public Object createResult(@RequestParam String id) {
+        return orderService.queryCreateOrder(id);
+    }
 }