Ver código fonte

自动订单扣除剩余pv不为负

theo 3 anos atrás
pai
commit
dea87674f0
1 arquivos alterados com 4 adições e 3 exclusões
  1. 4 3
      common/helpers/bonus/BonusSend.php

+ 4 - 3
common/helpers/bonus/BonusSend.php

@@ -138,11 +138,12 @@ class BonusSend extends BaseObject {
             $oRemainPv=RemainPv::findOne(["USER_ID"=>$fOrder['USER_ID']]);
             $transactionRemain = \Yii::$app->db->beginTransaction();
             try{
+                $fakeOrderPv = $oRemainPv->REMAIN_PV>=$mesureUpCondition?$mesureUpCondition:$oRemainPv->REMAIN_PV;
                 $flowRemainPvModel = new FlowRemainPv();
                 $flowRemainPvModel->ID = $this->_generateSn();
                 $flowRemainPvModel->USER_ID = $fOrder['USER_ID'];
-                $flowRemainPvModel->REMAIN_PV_FLOW = 0 - $mesureUpCondition;
-                $flowRemainPvModel->REMAIN_PV_TOTAL = $oRemainPv->REMAIN_PV - $mesureUpCondition;
+                $flowRemainPvModel->REMAIN_PV_FLOW = 0 - $fakeOrderPv;
+                $flowRemainPvModel->REMAIN_PV_TOTAL = $oRemainPv->REMAIN_PV - $fakeOrderPv;
                 $flowRemainPvModel->PERIOD_NUM = $this->_periodNum;
                 $flowRemainPvModel->UPDATED_AT = Date::nowTime();
                 $flowRemainPvModel->ORDER_SN = $fOrder['SN'];
@@ -150,7 +151,7 @@ class BonusSend extends BaseObject {
                     $this->addErrors($flowRemainPvModel->getErrors());
                     return false;
                 }
-                $oRemainPv->updateCounters(['REMAIN_PV'=> 0 - $mesureUpCondition]);
+                $oRemainPv->updateCounters(['REMAIN_PV'=>0-$fakeOrderPv]);
                 $transactionRemain->commit();
             } catch (Exception $e) {
                 $transactionRemain->rollBack();