Просмотр исходного кода

【会员端】——【Recharge Details】,新增“编辑”按钮及功能。

max 1 год назад
Родитель
Сommit
bd6dcd751e
2 измененных файлов с 70 добавлено и 4 удалено
  1. 43 0
      common/models/RechargeLog.php
  2. 27 4
      common/models/forms/RechargeForm.php

+ 43 - 0
common/models/RechargeLog.php

@@ -0,0 +1,43 @@
+<?php
+
+namespace common\models;
+
+class RechargeLog
+{
+    const TYPE_MANUAL = 0;      // 手动充值
+    const TYPE_AUTO = 1;        // 自动充值
+    const TYPE_ADMIN = 2;       // 后台管理员
+
+
+    const STATUS_APPLIED = 0;       // 已申请
+    const STATUS_PROVED = 1;       // 已上传凭证
+    const STATUS_AUDITED = 2;       // 已审核
+    const STATUS_REFUSED = 3;       // 已拒绝
+
+    const STATUS_NEW = 0;
+    const STATUS_PROCESSING = 1;
+    const STATUS_SUCCESS = 2;
+    const STATUS_REJECT = 3;
+
+    const STATUS_NAME = [
+        self::STATUS_APPLIED => 'To be reviewed', // 待审核
+        self::STATUS_PROVED => 'Voucher uploaded', // 已上传凭证
+        self::STATUS_AUDITED => 'Approved', // 已审核
+        self::STATUS_REFUSED => 'Rejected', // 已拒绝
+    ];
+
+    const RECHARGE_STATUS_NAME = [
+        self::STATUS_NEW => 'NEW',
+        self::STATUS_PROCESSING => 'PROCESSING',
+        self::STATUS_SUCCESS => 'SUCCESS',
+        self::STATUS_REJECT => 'FAILED',
+    ];
+    const STATUS_NAME_LANGUAGE_PREFIX = 'rechargeStatusTitle:';
+    const RECHARGE_STATUS_NAME_LANGUAGE_PREFIX = 'rechargeStatus:';
+    /**
+     * @inheritdoc
+     */
+    public static function tableName() {
+        return '{{%RECHARGE_LOG}}';
+    }
+}

+ 27 - 4
common/models/forms/RechargeForm.php

@@ -10,6 +10,7 @@ use common\helpers\Tool;
 use common\helpers\user\Cash;
 use common\helpers\user\Info;
 use common\models\Recharge;
+use common\models\RechargeLog;
 use common\models\UserInfo;
 use yii\base\Exception;
 
@@ -240,15 +241,37 @@ class RechargeForm extends Model {
         if(!$this->id){
             return false;
         }
+        $rechargeModel = Recharge::findOne(['ID' => $this->id]);
+        if($rechargeModel->AUDIT_STATUS !== Recharge::STATUS_NEW){
+            $this->addError('scenario', 'This status cannot be modified');
+        }
         $db = \Yii::$app->db;
         $transaction = $db->beginTransaction();
         try {
             $nowTime = Date::nowTime();
-            $period = Recharge::getPeriod($nowTime);
-            //增加记录
-            $userInfo = Info::baseInfo($this->_userId);
+            $rechargeLogModel = new RechargeLog();
+            $rechargeLogModel->SN = $this->_generateSn();
+            $rechargeLogModel->USER_ID = $rechargeModel->USER_ID;
+            $rechargeLogModel->REAL_NAME = $rechargeModel->REAL_NAME;
+            $rechargeLogModel->ID_CARD = $rechargeModel->ID_CARD;
+            $rechargeLogModel->RECHARGE_PERIOD_NUM = $rechargeModel->RECHARGE_PERIOD_NUM;
+            $rechargeLogModel->RECHARGE_YEAR = $rechargeModel->RECHARGE_YEAR;
+            $rechargeLogModel->RECHARGE_MONTH =$rechargeModel->RECHARGE_MONTH;
+            $rechargeLogModel->AMOUNT = $rechargeModel->applyAmount;
+            $rechargeLogModel->UPDATE_AMOUNT = $this->applyAmount;
+            $rechargeLogModel->OPEN_BANK = $rechargeModel->openBank;
+            $rechargeLogModel->UPDATE_OPEN_BANK = $this->openBank;
+            $rechargeLogModel->BANK_ADDRESS = $rechargeModel->bankAddress;
+            $rechargeLogModel->UPDATE_BANK_ADDRESS = $this->bankAddress;
+            $rechargeLogModel->BANK_NO = $rechargeModel->bankNo;
+            $rechargeLogModel->UPDATE_BANK_NO = $this->bankNo;
+            $rechargeLogModel->P_MONTH = $rechargeModel->P_MONTH;
+            $rechargeLogModel->AUDIT_STATUS = $rechargeModel->AUDIT_STATUS;
+            $rechargeLogModel->CREATED_AT = $nowTime;
+            if (!$rechargeLogModel->save()) {
+                throw new Exception(Form::formatErrorsForApi($rechargeLogModel->getErrors()));
+            }
 
-            $rechargeModel = Recharge::findOne(['ID' => $this->id]);
             $rechargeModel->AMOUNT = $this->applyAmount;
             $rechargeModel->OPEN_BANK = $this->openBank;
             $rechargeModel->BANK_ADDRESS = $this->bankAddress;