theo před 3 roky
rodič
revize
e959635e49
2 změnil soubory, kde provedl 42 přidání a 5 odebrání
  1. 22 0
      common/models/RemainPv.php
  2. 20 5
      common/models/forms/OrderForm.php

+ 22 - 0
common/models/RemainPv.php

@@ -0,0 +1,22 @@
+<?php
+namespace common\models;
+
+use Yii;
+
+/**
+ * This is the model class for table "{{%REMAIN_PV}}".
+ *
+ * @property string $USER_ID 会员ID
+ * @property int $REMAIN_PV 剩余BV
+ * @property int $UPDATED_AT 更新时间
+ */
+class RemainPv extends \common\components\ActiveRecord
+{
+    /**
+     * @inheritdoc
+     */
+    public static function tableName()
+    {
+        return '{{%REMAIN_PV}}';
+    }
+}

+ 20 - 5
common/models/forms/OrderForm.php

@@ -504,7 +504,6 @@ class OrderForm extends Model
                     ];
                 }
             }
-            print_r($this->_remainPv);
         }
         $this->_decAmount = $totalAmount;
         $this->_decPv = $totalPv;
@@ -715,11 +714,27 @@ class OrderForm extends Model
             $flowRemainPvModel->REMAIN_PV_FLOW = $this->_remainPv;
             $flowRemainPvModel->UPDATED_AT = Date::nowTime();
             $flowRemainPvModel->ORDER_SN = 'OS'.$ordNo;
+            if(!$flowRemainPvModel->save()){
+                $this->addErrors($flowRemainPvModel->getErrors());
+                return false;
+            }
+
+            $oRemainPv = RemainPv::find()->where(['USER_ID' => $userId])->one();
+            if($oRemainPv){
+                $oRemainPv->updateCounters(['REMAIN_PV'=>$this->_remainPv]);
+            }else{
+                $remainPvModel = new RemainPv();
+                $remainPvModel->ID = $this->_generateSn();
+                $remainPvModel->USER_ID = $userId;
+                $remainPvModel->UPDATED_AT = Date::nowTime();
+                $remainPvModel->REMAIN_PV = $this->_remainPv;
+                if(!$remainPvModel->save()){
+                    $this->addErrors($remainPvModel->getErrors());
+                    return false;
+                }
+            }
         }
-        if(!$flowRemainPvModel->save()){
-            $this->addErrors($flowRemainPvModel->getErrors());
-            return false;
-        }
+
 
         return $orderModel;
     }