rabin пре 1 година
родитељ
комит
137d1b9229
4 измењених фајлова са 12 додато и 5 уклоњено
  1. 1 1
      database/yspay_merchant.php
  2. 3 0
      lib/Yspay.php
  3. 6 3
      yspay/Cash.php
  4. 2 1
      yspay/Merchant.php

+ 1 - 1
database/yspay_merchant.php

@@ -155,7 +155,7 @@ return array
         'cash_per'		=> array
 		(
 			'type' 		=> 'int-11',
-			'name' 		=> '平台分账百分比-如输入10,就是从总支付金额中分账10%,输入则直接使用默认分账百分比',
+			'name' 		=> '平台分账百分比-如输入10,就是从总支付金额中分账10%,输入0则使用默认分账百分比,输入-1则不进行百分比分账',
 			'default' 	=> '',
 			'desc' 		=> '平台分账百分比',
 			'match' 	=> 'option',

+ 3 - 0
lib/Yspay.php

@@ -185,6 +185,9 @@ class Yspay extends Core
 				$subOrders['merOrderId'] = $prefix . $v['order_id'];
 				$request['subOrders'][] = $subOrders;
 
+				if ($v['fenzhang'] > 0) {
+					$v['fenzhang'] = $v['fenzhang'] * 100;
+				}
 				Dever::load('pay/yspay/cash')->add($subOrders['mid'], $subOrders['totalAmount'], $subOrders['merOrderId'], $v['order_id']);
 			}
 			if ($request['subOrders']) {

+ 6 - 3
yspay/Cash.php

@@ -4,7 +4,7 @@ use Dever;
 class Cash
 {
 	# 入账:待确认
-    public function add($mid, $amount, $order_num, $source_order_num, $cash = false)
+    public function add($mid, $amount, $order_num, $source_order_num, $fenzhang = 0)
     {
     	$merchant = Dever::db('pay/yspay_merchant')->one(array('mid' => $mid));
     	if ($merchant) {
@@ -15,7 +15,7 @@ class Cash
 	        $data['source_order_num'] = $source_order_num;
 	        $info = Dever::db('pay/yspay_cash')->find($data);
 	        if ($amount && $amount > 0) {
-	        	$this->getCash($amount, $merchant, $data);
+	        	$this->getCash($amount, $merchant, $data, $fenzhang);
 	        }
 	        
 	        $data['status'] = 1;
@@ -81,7 +81,7 @@ class Cash
     	return false;
     }
 
-    private function getCash($amount, $merchant, &$data)
+    private function getCash($amount, $merchant, &$data, $fenzhang = 0)
     {
     	$yspay = Dever::db('pay/yspay')->one(array('account_id' => $merchant['account_id']));
 		if ($yspay) {
@@ -113,6 +113,9 @@ class Cash
 	        	$fz_cash = $data['cash'];
 	        }
 	        $data['fz_cash'] = round($fz_cash*$cash_per, 2);
+	        if ($fenzhang && $fenzhang > 0) {
+	        	$data['fz_cash'] += $fenzhang;
+	        }
 	        $data['hf_cash'] = round($data['cash'] - $data['fz_cash'], 2);
 	    }
     }

+ 2 - 1
yspay/Merchant.php

@@ -57,7 +57,7 @@ class Merchant
         return false;
     }
 
-    public function getOther($account_id, $table, $relate_id, $order_num, $cash)
+    public function getOther($account_id, $table, $relate_id, $order_num, $cash, $fenzhang = 0)
     {
         $result = array();
         $yspay = Dever::db('pay/yspay')->find(array('account_id' => $account_id));
@@ -82,6 +82,7 @@ class Merchant
                     'mid' => $merchant['mid'],
                     'order_id' => $order_num,
                     'amount' => $cash,
+                    'fenzhang' => $fenzhang,
                 );
             }