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

Merge branch 'feature/EK-3322' of guanli/ngds into master

ryan001 1 неделя назад
Родитель
Сommit
74156449c5

+ 1 - 0
backendApi/config/urlManagerRules.php

@@ -506,6 +506,7 @@ return [
             'GET transfer-list-export' => 'transfer-list-export',
             'GET history-bonus-export' => 'history-bonus-export',
             'GET recharge' => 'recharge',
+            'GET,POST recharge-type' => 'recharge-type',
             'GET,POST recharge-status' => 'recharge-status',
             'GET recharge-export' => 'recharge-export',
             'POST mult-point' => 'mult-point',

+ 19 - 0
backendApi/modules/v1/controllers/FinanceController.php

@@ -1184,6 +1184,25 @@ class FinanceController extends BaseController {
         return static::notice($data);
     }
 
+    /**
+     * 提交充值申请
+     * @return mixed
+     * @throws \yii\db\Exception
+     * @throws \yii\web\HttpException
+     */
+    public function actionRechargeType() {
+        if (\Yii::$app->request->isPost) {
+            $formModel = new RechargeForm();
+            $formModel->scenario = 'updateByAdmin';
+            if ($formModel->load(\Yii::$app->request->post(), '') && $formModel->updateType()) {
+                return static::notice(Yii::t('app', 'successfully'));
+            } else {
+                return static::notice(Form::formatErrorsForApi($formModel->getErrors()), 400);
+            }
+        }
+        return static::notice(['type'=>['Cash', 'Credit Card', 'Direct Banking']]);
+    }
+
     /**
      * 充值导出
      * @return mixed

+ 6 - 0
backendApi/modules/v1/models/lists/finance/RechargeList.php

@@ -117,6 +117,12 @@ class RechargeList extends \common\libs\dataList\DataList implements DataListInt
                         'width' => '200',
                     ],
                 ],
+                'TYPE' => [
+                    'header' => \Yii::t('ctx', 'modelsListsFinanceRechargeListgetColumnType'), // 类型
+                    'headerOther' => [
+                        'width' => '150',
+                    ],
+                ],
             ];
         }
         return $this->columns;

+ 1 - 0
common/messages/en-US/ctx.php

@@ -81,6 +81,7 @@ return [
     'modelsListsFinanceRechargeListgetColumnAmount' => 'Recharge amount',
     'modelsListsFinanceRechargeListgetColumnCreatedAt' => 'Apply time',
     'modelsListsFinanceRechargeListgetColumnRemark' => 'Remark',
+    'modelsListsFinanceRechargeListgetColumnType' => 'Type',
     'rechargeRecordSerialNumber'=>'Recharge record serial number',
     'rechargeAuditStatusToBeReviewed'=>'To be reviewed',
     'rechargeAuditStatusVoucherUploaded'=>'Voucher uploaded',

+ 1 - 0
common/messages/zh-CN/ctx.php

@@ -81,6 +81,7 @@ return [
     'modelsListsFinanceRechargeListgetColumnAmount' => '充值金额',
     'modelsListsFinanceRechargeListgetColumnCreatedAt' => '申请时间',
     'modelsListsFinanceRechargeListgetColumnRemark' => '备注',
+    'modelsListsFinanceRechargeListgetColumnType' => '类型',
     'rechargeRecordSerialNumber'=>'充值记录流水号',
     'rechargeAuditStatusToBeReviewed'=>'待审核',
     'rechargeAuditStatusVoucherUploaded'=>'已上传凭证',

+ 4 - 0
common/models/Recharge.php

@@ -33,6 +33,7 @@ use Yii;
  * @property string $AUDIT_ADMIN 审核管理员
  * @property int $CREATED_AT 创建时间
  * @property int $AUDITED_AT 审核时间
+ * @property string $TYPE 支付方式
  */
 class Recharge extends \common\components\ActiveRecord {
     const TYPE_MANUAL = 0;      // 手动充值
@@ -86,6 +87,8 @@ class Recharge extends \common\components\ActiveRecord {
             [['REMARK'], 'string', 'max' => 4000],
             [['ID'], 'unique'],
             [['SN'], 'unique'],
+            ['TYPE', 'string', 'max' => 50], // 限制长度
+            ['TYPE', 'in', 'range' => ['Cash', 'Credit Card', 'Direct Banking']],
         ];
     }
 
@@ -117,6 +120,7 @@ class Recharge extends \common\components\ActiveRecord {
             'AUDIT_ADMIN' => '审核管理员',
             'CREATED_AT' => '创建时间',
             'AUDITED_AT' => '审核时间',
+            'TYPE' => '支付方式',
         ];
     }
 

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

@@ -38,13 +38,14 @@ class RechargeForm extends Model {
     private $_userId;
 
     public $id;
+    public $rechargeType;
 
     /**
      * @inheritdoc
      */
     public function rules() {
         return [
-            [['userName', 'idCard', 'applyAmount', 'auditStatus', 'remark', 'selectedIds', 'sn','amount', 'bankRealName', 'bankNo'], 'trim'],
+            [['userName', 'idCard', 'applyAmount', 'auditStatus', 'remark', 'selectedIds', 'sn','amount', 'bankRealName', 'bankNo','rechargeType'], 'trim'],
             [['selectedIds', 'auditStatus', 'userName','applyAmount','openBank','bankNo'/*,'bankAddress'*/], 'required'],
             [['selectedIds'], 'exist', 'targetClass' => Recharge::class, 'targetAttribute' => 'ID', 'message' => 'Recharge does not exist'], // 充值申请不存在
             [['userName'], 'exist', 'targetClass' => UserInfo::class, 'targetAttribute' => 'USER_NAME', 'message' => 'Member does not exist'],// 会员不存在
@@ -53,6 +54,8 @@ class RechargeForm extends Model {
             [['applyAmount'], 'number', 'max' => 10000000000, 'min' => 1],
             [['selectedIds'], 'isSelected'],
             [['id'], 'number'],
+            ['rechargeType', 'string', 'max' => 50], // 限制长度
+            ['rechargeType', 'in', 'range' => ['Cash', 'Credit Card', 'Direct Banking']],
             //[['sn'], 'isSn'],
         ];
     }
@@ -65,9 +68,10 @@ class RechargeForm extends Model {
         $parentScenarios = parent::scenarios();
         $customScenarios = [
             'addByAdmin' => ['userName', 'applyAmount'],
-            'addByUser' => ['applyAmount','openBank','bankNo','bankAddress'/*,'currency'*/],
-            'updateByUser' => ['id','applyAmount','openBank','bankNo','bankAddress'/*,'currency'*/],
+            'addByUser' => ['applyAmount','openBank','bankNo','bankAddress','rechargeType'/*,'currency'*/],
+            'updateByUser' => ['id','applyAmount','openBank','bankNo','bankAddress','rechargeType'/*,'currency'*/],
             'statusByAdmin' => ['selectedIds', 'auditStatus', 'createRemark'],
+            'updateByAdmin' => ['id', 'rechargeType'],
         ];
         return array_merge($parentScenarios, $customScenarios);
     }
@@ -211,6 +215,7 @@ class RechargeForm extends Model {
             $rechargeModel->OPEN_BANK = $this->openBank;
             $rechargeModel->BANK_ADDRESS = $this->bankAddress;
             $rechargeModel->BANK_NO = $this->bankNo;
+            $rechargeModel->TYPE = $this->rechargeType;
 //            $rechargeModel->BANK_PROVINCE = $this->bankProvince ?? 0;
 //            $rechargeModel->BANK_CITY = $this->bankCity ?? 0;
 //            $rechargeModel->BANK_COUNTY = $this->bankCounty ?? 0;
@@ -268,6 +273,7 @@ class RechargeForm extends Model {
             $rechargeLogModel->UPDATE_BANK_NO = $this->bankNo;
             $rechargeLogModel->P_MONTH = $rechargeModel->P_MONTH;
             $rechargeLogModel->AUDIT_STATUS = $rechargeModel->AUDIT_STATUS;
+            $rechargeLogModel->TYPE = $rechargeModel->TYPE;
             $rechargeLogModel->CREATED_AT = $nowTime;
             if (!$rechargeLogModel->save()) {
                 throw new Exception(Form::formatErrorsForApi($rechargeLogModel->getErrors()));
@@ -277,7 +283,8 @@ class RechargeForm extends Model {
             $rechargeModel->OPEN_BANK = $this->openBank;
             $rechargeModel->BANK_ADDRESS = $this->bankAddress;
             $rechargeModel->BANK_NO = $this->bankNo;
-            $rechargeModel->UPDATED_AT = $nowTime;
+//            $rechargeModel->UPDATED_AT = $nowTime;
+            $rechargeModel->TYPE = $this->rechargeType;
             if (!$rechargeModel->save()) {
                 throw new Exception(Form::formatErrorsForApi($rechargeModel->getErrors()));
             }
@@ -290,6 +297,64 @@ class RechargeForm extends Model {
         return $rechargeModel;
     }
 
+    /**
+     * 更新充值申请
+     * @return null|string
+     * @throws \yii\db\Exception
+     */
+    public function updateType() {
+        if (!$this->validate(['id', 'rechargeType'])) {
+            return false;
+        }
+        if(!$this->id){
+            return false;
+        }
+        $rechargeModel = Recharge::findOne(['ID' => $this->id]);
+//        if(in_array($rechargeModel->AUDIT_STATUS,[Recharge::STATUS_PROCESSING,Recharge::STATUS_SUCCESS,Recharge::STATUS_REJECT])){
+//            $this->addError('scenario', 'This status cannot be modified');
+//            return false;
+//        }
+        $db = \Yii::$app->db;
+        $transaction = $db->beginTransaction();
+        try {
+            $nowTime = Date::nowTime();
+            $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->AMOUNT;
+            $rechargeLogModel->UPDATE_AMOUNT = $rechargeModel->AMOUNT;
+            $rechargeLogModel->OPEN_BANK = $rechargeModel->OPEN_BANK;
+            $rechargeLogModel->UPDATE_OPEN_BANK = $rechargeModel->OPEN_BANK;
+            $rechargeLogModel->BANK_ADDRESS = $rechargeModel->BANK_ADDRESS;
+            $rechargeLogModel->UPDATE_BANK_ADDRESS = $rechargeModel->BANK_ADDRESS;
+            $rechargeLogModel->BANK_NO = $rechargeModel->BANK_NO;
+            $rechargeLogModel->UPDATE_BANK_NO = $rechargeModel->BANK_NO;
+            $rechargeLogModel->P_MONTH = $rechargeModel->P_MONTH;
+            $rechargeLogModel->AUDIT_STATUS = $rechargeModel->AUDIT_STATUS;
+            $rechargeLogModel->TYPE = $rechargeModel->TYPE;
+            $rechargeLogModel->CREATED_AT = $nowTime;
+            if (!$rechargeLogModel->save()) {
+                throw new Exception(Form::formatErrorsForApi($rechargeLogModel->getErrors()));
+            }
+
+            $rechargeModel->TYPE = $this->rechargeType;
+            if (!$rechargeModel->save()) {
+                throw new Exception(Form::formatErrorsForApi($rechargeModel->getErrors()));
+            }
+            $transaction->commit();
+        } catch (Exception $e) {
+            $transaction->rollBack();
+            $this->addError('updateType', $e->getMessage());
+            return false;
+        }
+        return $rechargeModel;
+    }
+
     /**
      * 生成流水号
      * @return string

+ 2 - 2
frontendApi/modules/v1/controllers/FinanceController.php

@@ -561,7 +561,7 @@ class FinanceController extends BaseController {
         $countryId = User::getEnCodeInfo(\Yii::$app->user->id)['COUNTRY_ID'];
         // 所有开户行
         $allOpenBank = OpenBank::findAllAsArray('STATUS=:STATUS AND COUNTRY_ID=:COUNTRY_ID', [':STATUS' => 1, ':COUNTRY_ID' => $countryId]);
-        return static::notice(['allOpenBank' => $allOpenBank]);
+        return static::notice(['allOpenBank' => $allOpenBank,'type'=>['Cash', 'Credit Card', 'Direct Banking']]);
     }
 
     /**
@@ -584,7 +584,7 @@ class FinanceController extends BaseController {
         $countryId = User::getEnCodeInfo(\Yii::$app->user->id)['COUNTRY_ID'];
         // 所有开户行
         $allOpenBank = OpenBank::findAllAsArray('STATUS=:STATUS AND COUNTRY_ID=:COUNTRY_ID', [':STATUS' => 1, ':COUNTRY_ID' => $countryId]);
-        return static::notice(['allOpenBank' => $allOpenBank]);
+        return static::notice(['allOpenBank' => $allOpenBank,'type'=>['Cash', 'Credit Card', 'Direct Banking']]);
     }
 
     /**