Эх сурвалжийг харах

超过30天,请按月结账

shish 4 жил өмнө
parent
commit
c06e2369ec

+ 19 - 2
app-ghs/controllers/OrderClearController.php

@@ -5,6 +5,7 @@ namespace ghs\controllers;
 use bizGhs\custom\classes\CustomClass;
 use bizGhs\order\classes\OrderClearClass;
 use bizHd\purchase\classes\PurchaseClearClass;
+use common\components\dateUtil;
 use Yii;
 use common\components\util;
 
@@ -14,7 +15,6 @@ class OrderClearController extends BaseController
     //收款 ssh 2021.2.4
     public function actionClear()
     {
-
         $shopAdmin = $this->shopAdmin;
         if (isset($shopAdmin->super) == false || $shopAdmin->super != 1) {
             util::fail('超管才能结帐');
@@ -36,8 +36,25 @@ class OrderClearController extends BaseController
 
         $current = time();
 
+        $where = ['customId' => $customId, 'status' => PurchaseClearClass::STATUS_AWAIT_PAY];
+
+        $searchTime = $get['searchTime'] ?? '';
+        //结账记录太多数据库会报错,所以必须选月份才能结账!!!!!
+        if (empty($searchTime)) {
+            util::fail('请选择月份');
+        }
+        $startTime = $get['startTime'] ?? '';
+        $endTime = $get['endTime'] ?? '';
+        $period = dateUtil::formatTime($searchTime, $startTime, $endTime);
+        $startDate = $period['startTime'];
+        $endDate = $period['endTime'];
+        $where['addTime'] = ['between', [$startDate, $endDate]];
+        if (bcdiv(bcsub(strtotime($endDate), strtotime($startDate)), 86400) > 50) {
+            util::fail('超过30天,请按月结账');
+        }
+
         //查找有没结帐订单还没有过期
-        $list = OrderClearClass::getAllByCondition(['customId' => $customId, 'status' => PurchaseClearClass::STATUS_AWAIT_PAY], null, '*', null, true);
+        $list = OrderClearClass::getAllByCondition($where, null, '*', null, true);
         if (!empty($list)) {
             foreach ($list as $item) {
                 $deadline = $item->deadline;