Bläddra i källkod

解决重复请求

shish 2 år sedan
förälder
incheckning
70a5372216
1 ändrade filer med 9 tillägg och 0 borttagningar
  1. 9 0
      app-ghs/controllers/ProductController.php

+ 9 - 0
app-ghs/controllers/ProductController.php

@@ -602,6 +602,15 @@ class ProductController extends BaseController
         $targetId = Yii::$app->request->post('targetId', 0);
         $changeParams = ['staffId' => $shopAdmin->id, 'staffName' => $shopAdmin->name, 'changeType' => $changeType, 'targetId' => $targetId];
 
+
+        //解决重复请求问题
+        $cacheKey = 'batch_change_price_' . $targetId;
+        $has = Yii::$app->redis->executeCommand('GET', [$cacheKey]);
+        if (!empty($has)) {
+            util::fail('请稍等30秒');
+        }
+        Yii::$app->redis->executeCommand('SETEX', [$cacheKey, 30, 'has']);
+
         $post = Yii::$app->request->post();
         $data = $post['data'] ?? '';
         if (empty($data)) {