Selaa lähdekoodia

新增API: 重新统计客户的消费总额

shizhongqi 5 kuukautta sitten
vanhempi
commit
7f21f177b0
1 muutettua tiedostoa jossa 35 lisäystä ja 0 poistoa
  1. 35 0
      app-hd/controllers/CustomController.php

+ 35 - 0
app-hd/controllers/CustomController.php

@@ -8,6 +8,7 @@ use bizHd\custom\classes\HdClass;
 use bizHd\custom\services\CustomService;
 use biz\sj\services\MerchantAssetService;
 use biz\sj\services\MerchantRemarkService;
+use bizHd\member\classes\MemberLevelClass;
 use bizHd\order\classes\OrderClass;
 use bizHd\stat\classes\StatVisitClass;
 use bizHd\user\services\UserAssetService;
@@ -714,4 +715,38 @@ class CustomController extends BaseController
         $hd->save();
         util::complete('删除成功');
     }
+
+    //重新统计客户的消费总额
+    public function actionUpdateBuyAmount()
+    {
+        $post = Yii::$app->request->post();
+        $customId = $post['customId'];
+        $mainId = $this->mainId;
+
+        $c = CustomClass::getLockById($customId);
+
+        // 1.重新统计客户的消费总额
+        $orderList = OrderClass::getAllByCondition(['customId' => $customId], null, 'id, actPrice');
+
+        $buyAmount= 0;
+        $levelDatas = MemberLevelClass::getAllByCondition(['mainId' => $mainId], 'amount DESC', '*');
+        if (!empty($orderList)) {
+            foreach ($orderList as $order) {
+                $buyAmount = bcadd($buyAmount, $order['actPrice'], 2);
+            }
+        }
+        $c->buyAmount = $buyAmount;
+
+        // 根据 byuAmount 设置等级
+        $memberData = CustomClass::getCustomExpenseLevel($levelDatas, $buyAmount);
+        $c->member = $memberData['level'];
+        $c->memberName = $memberData['name'];
+        $c->save();
+
+
+        // 2.更新此客户所对应花店的消费金额 expendAmount ---- xhHd -> expendAmount
+        HdClass::updateById($c->hdId, ['expendAmount'=>$buyAmount]);
+
+        util::success(['customId'=>$customId, 'buyAmount'=>$buyAmount]);
+    }
 }