Explorar o código

增加复消积分转余额

zxiansheng %!s(int64=3) %!d(string=hai) anos
pai
achega
9d56cfc8c8

+ 26 - 2
common/models/forms/TransferForm.php

@@ -33,10 +33,11 @@ use yii\helpers\Json;
  * Login form
  */
 class TransferForm extends Model {
-    const allowTransferType = [1, 2, 3];
+    const allowTransferType = [1, 2, 3, 4];
     const BONUS_TO_BALANCE = 1;
     const BONUS_TO_BONUS = 2;
     const BALANCE_TO_BALANCE = 3;
+    const POINT_TO_BALANCE = 4;
 
     public $toUserName;
     public $toRealName;
@@ -347,7 +348,30 @@ class TransferForm extends Model {
                 // 会员金额减少
                 Cash::changeUserCash($this->_fromUserInfo['ID'], 'CASH', -abs($this->amount), ['TRANSFER_SN' => $model->TRANSFER_SN,'DEAL_TYPE_ID' => DealType::TRANSFER_OUT, 'REMARK' => 'To:' . $this->_toUserInfo['USER_NAME'] . ',' . $this->remark]);
                 Cash::changeUserCash($this->_toUserInfo['ID'], 'CASH', abs($amount), ['TRANSFER_SN' => $model->TRANSFER_SN,'DEAL_TYPE_ID' => DealType::TRANSFER_IN, 'REMARK' => 'From:' . $this->_fromUserInfo['USER_NAME'] . ',' . $this->remark]);
-            }else {
+            } else if ($this->type == self::POINT_TO_BALANCE) {
+                // 复消积分转余额
+                // 减少复消积分
+                Balance::changeUserBonus(
+                    $this->_fromUserInfo['ID'], 
+                    'reconsume_points', 
+                    -abs($this->amount), 
+                    [
+                        'TRANSFER_SN' => $model->TRANSFER_SN, 
+                        'DEAL_TYPE_ID' => DealType::TRANSFER_OUT, 
+                        'REMARK' => 'To:' . $this->_toUserInfo['USER_NAME'] . ',' . $this->remark
+                    ]
+                );
+                // 增加余额
+                Cash::changeUserCash(
+                    $this->_toUserInfo['ID'], 
+                    'CASH', abs($amount), 
+                    [
+                        'TRANSFER_SN' => $model->TRANSFER_SN,
+                        'DEAL_TYPE_ID' => DealType::TRANSFER_IN, 
+                        'REMARK' => 'From:' . $this->_fromUserInfo['USER_NAME'] . ',' . $this->remark
+                    ]
+                );
+            } else {
                 throw new \Exception('错误的交易类型');
             }
 

+ 1 - 0
frontendApi/modules/v1/controllers/FinanceController.php

@@ -302,6 +302,7 @@ class FinanceController extends BaseController {
     public function actionAvailableBalance() {
         $data['bonus'] = Balance::getAvailableBalance(\Yii::$app->user->id);
         $data['cash'] = Cash::getAvailableBalance(\Yii::$app->user->id);
+        $data['point'] = Balance::getBalanceReconsumePoints(\Yii::$app->user->id);
         return static::notice($data);
     }
 

+ 9 - 3
frontendEle/src/views/finance/transfer-add.vue

@@ -13,6 +13,9 @@
         <el-form-item label="当前可用余额">
           <el-tag type="success">{{cash}}元</el-tag>
         </el-form-item>
+        <el-form-item label="当前可用复消积分">
+          <el-tag type="success">{{point}}元</el-tag>
+        </el-form-item>
         <el-form-item label="当前转账比例" v-if="false">
           <el-tag type="info">{{transferProp}}%</el-tag>
         </el-form-item>
@@ -28,9 +31,10 @@
         <!--<el-form-item label="转入会员姓名">-->
           <!--<el-input v-model="form.toRealName"></el-input>-->
         <!--</el-form-item>-->
-        <el-form-item label="转账金额" style="margin-bottom: 0;">
+        <el-form-item label="转账金额">
           <el-input v-model="form.amount" type="number" :max="maxAmount" @change="chkReal"></el-input>
-          <span style="font-size: 8pt;color: #909399;">每次转账不得少于100</span>
+          <!--<span style="font-size: 8pt;color: #909399;">每次转账不得少于100</span>-->
+          <span></span>
         </el-form-item>
         <el-form-item label="手续费" v-show="fee!=='0'">
           <el-tag type="info">{{fee}}%</el-tag>
@@ -62,7 +66,7 @@ export default {
   },
   data () {
     return {
-      allWallet:{'bonus':'会员账户','cash':'现金钱包'},
+      allWallet:{'bonus':'会员账户','cash':'现金钱包','point':'复消积分'},
       form: {
         type:1,
         toUserName: '',
@@ -77,6 +81,7 @@ export default {
       },
       balance: 0,
       cash: 0,
+      point:0,
       maxAmount: 0,
       fee: '0',
       realAmount: 0,
@@ -129,6 +134,7 @@ export default {
         this.$message.closeAll()
         this.balance = response.bonus
         this.cash = response.cash
+        this.point = response.point
         this.getMaxAmount()
         this.loading = false
       })