stanley-king 6 лет назад
Родитель
Сommit
9fbb516c3b

+ 3 - 14
admin/control/person_bonus.php

@@ -117,22 +117,11 @@ class person_bonusControl extends SystemControl
         if (!$name){
             echo ''; die;
         }
-        /**
-         * 转码
-         */
-        if(strtoupper(CHARSET) == 'GBK'){
-            $name = Language::getGBK($name);
-        }
         $obj_member = Model('member');
-        $member_info = $obj_member->getMemberInfo(array('member_name'=>$name));
+        $member_info = $obj_member->getMemberInfo(['member_mobile' => $name,'member_mobile_bind' => 1]);
         if (is_array($member_info) && count($member_info)>0){
-            if(strtoupper(CHARSET) == 'GBK'){
-                $member_info['member_name'] = Language::getUTF8($member_info['member_name']);
-            }
-            echo json_encode(array('id'=>$member_info['member_id'],
-                'name'=>$member_info['member_name'],
-                'points'=>$member_info['member_points']));
-        } else {
+            echo json_encode(array('id'=>$member_info['member_id'],'name'=>$name,'points'=>$member_info['member_points']));
+        }else {
             echo ''; die;
         }
     }

+ 2 - 11
admin/control/points.php

@@ -78,19 +78,10 @@ class pointsControl extends SystemControl
 		if (!$name){
 			echo ''; die;
 		}
-		/**
-		 * 转码
-		 */
-		if(strtoupper(CHARSET) == 'GBK'){
-			$name = Language::getGBK($name);
-		}
 		$obj_member = Model('member');
-		$member_info = $obj_member->getMemberInfo(array('member_name'=>$name));
+        $member_info = $obj_member->getMemberInfo(['member_mobile' => $name,'member_mobile_bind' => 1]);
 		if (is_array($member_info) && count($member_info)>0){
-			if(strtoupper(CHARSET) == 'GBK'){
-				$member_info['member_name'] = Language::getUTF8($member_info['member_name']);
-			}
-			echo json_encode(array('id'=>$member_info['member_id'],'name'=>$member_info['member_name'],'points'=>$member_info['member_points']));
+			echo json_encode(array('id'=>$member_info['member_id'],'name'=>$name,'points'=>$member_info['member_points']));
 		}else {
 			echo ''; die;
 		}

+ 95 - 94
admin/control/predeposit.php

@@ -623,112 +623,113 @@ class predepositControl extends SystemControl{
 	/**
 	 * 添加余额
 	 */
-	public function add_money(){
-		
-			$obj_validate = new Validator();
-			$obj_validate->validateparam = array(
-				array("input"=>$_POST["member_id"], "require"=>"true", "message"=>Language::get('admin_points_member_error_again')),
-				array("input"=>$_POST["pointsnum"], "require"=>"true",'validator'=>'Compare','operator'=>' >= ','to'=>1,"message"=>Language::get('admin_points_points_min_error'))
-			);
-			$error = $obj_validate->validate();
-			if ($error != ''){
-				showMessage($error,'','','error');
-			}
-			
-			$money = abs(floatval($_POST['pointsnum']));
-			$memo=trim($_POST['pointsdesc']);
-		    if ($money <= 0) {
-		       showMessage('输入的金额必需大于0','','html','error');
-		    }
-			//查询会员信息
-			$obj_member = Model('member');
-			$member_id = intval($_POST['member_id']);
-			$member_info = $obj_member->getMemberInfo(array('member_id'=>$member_id));
+	public function add_money()
+    {
+        $obj_validate = new Validator();
+        $obj_validate->validateparam = array(
+            array("input"=>$_POST["member_id"], "require"=>"true", "message"=>Language::get('admin_points_member_error_again')),
+            array("input"=>$_POST["pointsnum"], "require"=>"true",'validator'=>'Compare','operator'=>' >= ','to'=>1,"message"=>Language::get('admin_points_points_min_error'))
+        );
+        $error = $obj_validate->validate();
+        if ($error != ''){
+            showMessage($error,'','','error');
+        }
 
-			if (!is_array($member_info) || count($member_info)<=0){
-				showMessage(Language::get('admin_points_userrecord_error'),'index.php?act=predeposit&op=predeposit_add','','error');
-			}
-			$available_predeposit=floatval($member_info['available_predeposit']);
-			$freeze_predeposit=floatval($member_info['freeze_predeposit']);
-			if ($_POST['operatetype'] == 2 && $money > $available_predeposit){
-				showMessage(('预存款不足,会员当前预存款').$available_predeposit,'index.php?act=predeposit&op=predeposit_add','','error');
-			}
-			if ($_POST['operatetype'] == 3 && $money > $available_predeposit){
-				showMessage(('可冻结预存款不足,会员当前预存款').$available_predeposit,'index.php?act=predeposit&op=predeposit_add','','error');
-			}
-			if ($_POST['operatetype'] == 4 && $money > $freeze_predeposit){
-				showMessage(('可恢复冻结预存款不足,会员当前冻结预存款').$freeze_predeposit,'index.php?act=predeposit&op=predeposit_add','','error');
-			}
-			$model_pd = Model('predeposit');
-			$order_sn = $model_pd->makeSn();
-			$admininfo = $this->getAdminInfo();
-			$log_msg = "管理员【".$admininfo['admin_name']."】操作会员【".$member_info['member_name']."】预存款,金额为".$money.",编号为".$order_sn;
-			$admin_act="sys_add_money";
-			switch ($_POST['operatetype'])
-			{
-				case 1:
-					$admin_act="sys_add_money";
-					$log_msg = "管理员【".$admininfo['admin_name']."】操作会员【".$member_info['member_name']."】预存款【增加】,金额为".$money.",编号为".$order_sn;
-					break;  
-				case 2:
-					$admin_act="sys_del_money";
-					$log_msg = "管理员【".$admininfo['admin_name']."】操作会员【".$member_info['member_name']."】预存款【减少】,金额为".$money.",编号为".$order_sn;
-				    break;  
-				case 3:
-					$admin_act="sys_freeze_money";
-					$log_msg = "管理员【".$admininfo['admin_name']."】操作会员【".$member_info['member_name']."】预存款【冻结】,金额为".$money.",编号为".$order_sn;
-					break;  
-				case 4:
-					$admin_act="sys_unfreeze_money";
-					$log_msg = "管理员【".$admininfo['admin_name']."】操作会员【".$member_info['member_name']."】预存款【解冻】,金额为".$money.",编号为".$order_sn;
-					break;
-				default:
-					showMessage('操作失败','index.php?act=predeposit&op=pd_log_list');
-					break;  
-			}
-			try
-            {
-                $trans = new trans_wapper($model_pd,__METHOD__);
-                //扣除冻结的预存款
-				$data = array();
-				$data['member_id'] = $member_info['member_id'];
-				$data['member_name'] = $member_info['member_name'];
-				$data['amount'] = $money;
-				$data['order_sn'] = $order_sn;
-				$data['admin_name'] = $admininfo['name'];
-				$data['pdr_sn'] = $order_sn;
-				$data['lg_desc'] = $memo;
-				$model_pd->changePd($admin_act,$data);
-                $trans->commit();
-				$this->log($log_msg,1);
-				showMessage('操作成功','index.php?act=predeposit&op=pd_log_list');
-			} catch (Exception $e) {
-                $trans->rollback();
-				$this->log($log_msg,0);
-				showMessage($e->getMessage(),'index.php?act=predeposit&op=pd_log_list','html','error');
-			}
+        $money = abs(floatval($_POST['pointsnum']));
+        $memo=trim($_POST['pointsdesc']);
+        if ($money <= 0) {
+           showMessage('输入的金额必需大于0','','html','error');
+        }
+        //查询会员信息
+        $obj_member = Model('member');
+        $member_id = intval($_POST['member_id']);
+        $member_info = $obj_member->getMemberInfo(array('member_id'=>$member_id));
+
+        if (!is_array($member_info) || count($member_info)<=0){
+            showMessage(Language::get('admin_points_userrecord_error'),'index.php?act=predeposit&op=predeposit_add','','error');
+        }
+        $available_predeposit=floatval($member_info['available_predeposit']);
+        $freeze_predeposit=floatval($member_info['freeze_predeposit']);
+        if ($_POST['operatetype'] == 2 && $money > $available_predeposit){
+            showMessage(('预存款不足,会员当前预存款').$available_predeposit,'index.php?act=predeposit&op=predeposit_add','','error');
+        }
+        if ($_POST['operatetype'] == 3 && $money > $available_predeposit){
+            showMessage(('可冻结预存款不足,会员当前预存款').$available_predeposit,'index.php?act=predeposit&op=predeposit_add','','error');
+        }
+        if ($_POST['operatetype'] == 4 && $money > $freeze_predeposit){
+            showMessage(('可恢复冻结预存款不足,会员当前冻结预存款').$freeze_predeposit,'index.php?act=predeposit&op=predeposit_add','','error');
+        }
+        $model_pd = Model('predeposit');
+        $order_sn = $model_pd->makeSn();
+        $admininfo = $this->getAdminInfo();
+        $log_msg = "管理员【".$admininfo['admin_name']."】操作会员【".$member_info['member_name']."】预存款,金额为".$money.",编号为".$order_sn;
+        $admin_act="sys_add_money";
+        switch ($_POST['operatetype'])
+        {
+            case 1:
+                $admin_act="sys_add_money";
+                $log_msg = "管理员【".$admininfo['admin_name']."】操作会员【".$member_info['member_name']."】预存款【增加】,金额为".$money.",编号为".$order_sn;
+                break;
+            case 2:
+                $admin_act="sys_del_money";
+                $log_msg = "管理员【".$admininfo['admin_name']."】操作会员【".$member_info['member_name']."】预存款【减少】,金额为".$money.",编号为".$order_sn;
+                break;
+            case 3:
+                $admin_act="sys_freeze_money";
+                $log_msg = "管理员【".$admininfo['admin_name']."】操作会员【".$member_info['member_name']."】预存款【冻结】,金额为".$money.",编号为".$order_sn;
+                break;
+            case 4:
+                $admin_act="sys_unfreeze_money";
+                $log_msg = "管理员【".$admininfo['admin_name']."】操作会员【".$member_info['member_name']."】预存款【解冻】,金额为".$money.",编号为".$order_sn;
+                break;
+            default:
+                showMessage('操作失败','index.php?act=predeposit&op=pd_log_list');
+                break;
+        }
+        try
+        {
+            $trans = new trans_wapper($model_pd,__METHOD__);
+            //扣除冻结的预存款
+            $data = array();
+            $data['member_id'] = $member_info['member_id'];
+            $data['member_name'] = $member_info['member_name'];
+            $data['amount'] = $money;
+            $data['order_sn'] = $order_sn;
+            $data['admin_name'] = $admininfo['name'];
+            $data['pdr_sn'] = $order_sn;
+            $data['lg_desc'] = $memo;
+            $model_pd->changePd($admin_act,$data);
+            $trans->commit();
+            $this->log($log_msg,1);
+            showMessage('操作成功','index.php?act=predeposit&op=pd_log_list');
+        } catch (Exception $e) {
+            $trans->rollback();
+            $this->log($log_msg,0);
+            showMessage($e->getMessage(),'index.php?act=predeposit&op=pd_log_list','html','error');
+        }
 	}
 
 	//取得会员信息
-	public function checkmemberOp(){
+	public function checkmemberOp()
+    {
 		$name = trim($_GET['name']);
 		if (!$name){
 			echo ''; die;
 		}
-		/**
-		 * 转码
-		 */
-		if(strtoupper(CHARSET) == 'GBK'){
-			$name = Language::getGBK($name);
-		}
+
 		$obj_member = Model('member');
-		$member_info = $obj_member->getMemberInfo(array('member_name'=>$name));
-		if (is_array($member_info) && count($member_info)>0){
+		$member_info = $obj_member->getMemberInfo(['member_mobile' => $name,'member_mobile_bind' => 1]);
+		if (is_array($member_info) && count($member_info)>0)
+		{
 			if(strtoupper(CHARSET) == 'GBK'){
 				$member_info['member_name'] = Language::getUTF8($member_info['member_name']);
 			}
-			echo json_encode(array('id'=>$member_info['member_id'],'name'=>$member_info['member_name'],'available_predeposit'=>$member_info['available_predeposit'],'freeze_predeposit'=>$member_info['freeze_predeposit']));
-		}else {
+			echo json_encode(array('id'=>$member_info['member_id'],
+                'name'=>$member_info['member_mobile'],
+                'available_predeposit'=>$member_info['available_predeposit'],
+                'freeze_predeposit'=>$member_info['freeze_predeposit']));
+		}
+		else {
 			echo ''; die;
 		}
 	}

+ 3 - 3
admin/templates/default/oper_send.smspush.php

@@ -92,7 +92,7 @@
         var membername = $.trim($("#member_name").val());
         if(membername == ''){
             $("#member_id").val('0');
-            alert(<?php echo $lang['admin_points_addmembername_error']; ?>);
+            alert("请输入会员手机");
             return false;
         }
         $.getJSON("index.php?act=points&op=checkmember", {'name':membername}, function(data){
@@ -130,10 +130,10 @@
             },
             messages : {
                 member_name: {
-                    required : '<?php echo $lang['admin_points_addmembername_error'];?>'
+                    required : '请输入会员手机'
                 },
                 member_id : {
-                    required : '<?php echo $lang['admin_points_member_error_again'];?>'
+                    required : '会员信息错误,请重新填写会员手机'
                 },
                 bonus_rate  : {
                     required : '<?php echo $lang['admin_points_points_null_error']; ?>',

+ 3 - 3
admin/templates/default/points.add.php

@@ -64,7 +64,7 @@ function checkmember(){
 	var membername = $.trim($("#member_name").val());
 	if(membername == ''){
 		$("#member_id").val('0');
-		alert(<?php echo $lang['admin_points_addmembername_error']; ?>);
+		alert("请输入会员手机");
 		return false;
 	}
 	$.getJSON("index.php?act=points&op=checkmember", {'name':membername}, function(data){
@@ -106,10 +106,10 @@ $(function(){
         },
         messages : {
 			member_name: {
-				required : '<?php echo $lang['admin_points_addmembername_error'];?>'
+				required : '请输入会员手机'
 			},
 			member_id : {
-				required : '<?php echo $lang['admin_points_member_error_again'];?>'
+				required : '会员信息错误,请重新填写会员手机'
             },
             pointsnum  : {
                 required : '<?php echo $lang['admin_points_points_null_error']; ?>',

+ 4 - 4
admin/templates/default/predeposit.add.php

@@ -19,7 +19,7 @@
     <table class="table tb-type2 nobdb">
       <tbody>
         <tr class="noborder">
-          <td colspan="2" class="required"><label class="validation">会员名称:</label></td>
+          <td colspan="2" class="required"><label class="validation">会员手机:</label></td>
         </tr>
         <tr class="noborder">
           <td class="vatop rowform"><input type="text" name="member_name" id="member_name" class="txt" onchange="javascript:checkmember();">
@@ -70,7 +70,7 @@ function checkmember(){
 	var membername = $.trim($("#member_name").val());
 	if(membername == ''){
 		$("#member_id").val('0');
-		alert(请输入会员名);
+		alert("请输入会员手机");
 		return false;
 	}
 	$.getJSON("index.php?act=predeposit&op=checkmember", {'name':membername}, function(data){
@@ -108,10 +108,10 @@ $(function(){
         },
         messages : {
 			member_name: {
-				required : '请输入会员'
+				required : '请输入会员手机'
 			},
 			member_id : {
-				required : '会员信息错误,请重新填写会员'
+				required : '会员信息错误,请重新填写会员手机'
             },
             pointsnum  : {
                 required : '请添加预存款',

+ 3 - 3
data/logic/buy.logic.php

@@ -996,8 +996,8 @@ class buyLogic
         $buyer_info	= Model('member')->getMemberInfoByID($this->_member_info['member_id']);
         $this->_logic_buy_1->bonusPay($this->_order_data['order_list'], $this->_post_data, $buyer_info,$priceCalculate);
 
-        if (empty($this->_post_data['password'])) return;
-        if ($buyer_info['member_paypwd'] == '' || $buyer_info['member_paypwd'] != md5($this->_post_data['password'])) return ;
+//        if (empty($this->_post_data['password'])) return;
+//        if ($buyer_info['member_paypwd'] == '' || $buyer_info['member_paypwd'] != md5($this->_post_data['password'])) return ;
 
         //使用充值卡支付
         if (!empty($this->_post_data['rcb_pay'])) {
@@ -1006,7 +1006,7 @@ class buyLogic
 
         //使用预存款支付
         if (!empty($this->_post_data['pd_pay'])) {
-            $this->_logic_buy_1->pdPay($order_list ? $order_list :$this->_order_data['order_list'], $this->_post_data, $buyer_info);
+            $this->_logic_buy_1->pdPay($order_list ? $order_list : $this->_order_data['order_list'], $this->_post_data, $buyer_info);
         }
     }
 

+ 10 - 4
data/logic/buy_1.logic.php

@@ -583,6 +583,13 @@ class buy_1Logic
      * 预存款支付,依次循环每个订单
      * 如果预存款足够就单独支付了该订单,如果不足就暂时冻结,等API支付成功了再彻底扣除
      */
+
+    private function bonus_amount($order_info)
+    {
+        $bonus_amount = unserialize($order_info['bonus_amount']);
+        $amount = floatval($bonus_amount['user_bonus']) + floatval($bonus_amount['room_bonus']);
+        return $amount;
+    }
     public function pdPay($order_list, $input, $buyer_info)
     {
         $member_id = $buyer_info['member_id'];
@@ -599,7 +606,8 @@ class buy_1Logic
             if ($order_info['payment_code'] == 'offline') continue;
             if ($order_info['order_state'] == ORDER_STATE_PAY) continue;
 
-            $order_amount = floatval($order_info['order_amount']) - floatval($order_info['rcb_amount']);
+
+            $order_amount = floatval($order_info['order_amount']) - floatval($order_info['rcb_amount']) - $this->bonus_amount($order_info);
             $data_pd = array();
             $data_pd['member_id'] = $member_id;
             $data_pd['member_name'] = $member_name;
@@ -648,9 +656,7 @@ class buy_1Logic
                 $param = array();
                 $param['code'] = 'new_order';
                 $param['store_id'] = $order_info['store_id'];
-                $param['param'] = array(
-                        'order_sn' => $order_info['order_sn']
-                );
+                $param['param'] = ['order_sn' => $order_info['order_sn']];
                 QueueClient::push('sendStoreMsg', $param);
             }
             else

+ 13 - 5
helper/buy_first.php

@@ -75,8 +75,6 @@ class buy_first
         $ways = $this->mPriceCalculate->bonus_way($total_bonus);
 
         $result['user_bonus'] = $ways['user_bonus'];
-        $result['available_pred']  = $ways['user_bonus'] + $ways['room_bonus'];
-
         $result['show_room']  = $ways['show_room'];
         $result['room_bonus'] = $ways['room_bonus'];
         $result['rooms']  = $ways['rooms'];
@@ -99,11 +97,21 @@ class buy_first
             $result['discount_gap'] = $discount_gap;
         }
         $result['bonus_rates'] = $this->formate_rates([ 30 => $result['user_bonus'] + $result['room_bonus']]);
-        $result['
-        '] = $config['bonus_gap']['earn_bonus'];
+        $result['earn_bonus'] = $config['bonus_gap']['earn_bonus'];
 
         $result['usable_pred'] = true;
-        $result['pay_cash_pred']   = $result['goods_amount'] + $result['freight'] - $result['full_discount'] - $result['opgoods_discount'] - $result['user_bonus'] - $result['room_bonus'];
+        $cash_amount = $result['goods_amount'] + $result['freight'] - $result['full_discount'] - $result['opgoods_discount'] - $result['user_bonus'] - $result['room_bonus'];
+        $total_pred_cent = intval($result['total_pred'] * 100 + 0.5);
+        $cash_amount_cent = intval($cash_amount * 100 + 0.5);
+        if($total_pred_cent >= $cash_amount_cent) {
+            $pay_pred = $cash_amount_cent / 100;
+        }
+        else {
+            $pay_pred = $total_pred_cent / 100;
+        }
+
+        $result['user_pred'] = $pay_pred;
+        $result['pay_cash_pred']   = $result['goods_amount'] + $result['freight'] - $result['full_discount'] - $result['opgoods_discount'] - $result['user_bonus'] - $result['room_bonus'] - $pay_pred;
         $result['pay_cash_nopred'] = $result['goods_amount'] + $result['freight'] - $result['full_discount'] - $result['opgoods_discount'];
 
         //购物车显示应付现金

+ 1 - 0
helper/order_helper.php

@@ -801,6 +801,7 @@ class order_helper extends order_base
         $result["order_amount"] = doubleval($order["order_amount"]);
         $result["rcb_amount"] = doubleval($order["rcb_amount"]);
         $result["pd_amount"] = doubleval($order["pd_amount"]);
+        $result["user_pred"] = $result["pd_amount"];
         $result["shipping_fee"] = doubleval($order["shipping_fee"]);
         $result["evaluation_state"] = intval($order["evaluation_state"]);
         $result["order_state"] = intval($order["order_state"]);

+ 5 - 12
helper/pay_helper.php

@@ -53,24 +53,17 @@ class pay_helper
         $this->mPaysn = $paysn;
     }
 
-//    private function pay_bonus()
-//    {
-//        $pay_sn = $this->mPaysn;
-//        $member_info = array('member_id' => session_helper::memberid(), 'member_name'  => session_helper::nickname());
-//        $this->mPaymentLogic->payPredepositEx($pay_sn,$member_info);
-//    }
-
-    public function pay($payment,$usebonus,&$err)
+    public function pay($payment,$usebonus,$usepred,&$err)
     {
         $usebonus = false;
         if($this->mOrderType == self::real_order) {
-            return $this->real_pay($payment,$usebonus,$err);
+            return $this->real_pay($payment,$usebonus,$usepred,$err);
         } else {
-            return $this->virtual_pay($payment,$usebonus,$err);
+            return $this->virtual_pay($payment,$usebonus,$usepred,$err);
         }
     }
 
-    private function real_pay($payment,$usebonus,&$err)
+    private function real_pay($payment,$usebonus,$usepred,&$err)
     {
         $pay_sn = $this->mPaysn;
         $payinfo = $this->mPaymentLogic->getRealOrderInfo($pay_sn, $_SESSION['member_id'],true);
@@ -108,7 +101,7 @@ class pay_helper
         }
     }
 
-    private function virtual_pay($payment,$usebonus,&$err)
+    private function virtual_pay($payment,$usebonus,$usepred,&$err)
     {
         $order_sn = $this->mPaysn;
         $payinfo = $this->mPaymentLogic->getVrOrderInfo($order_sn, null,true);

+ 2 - 2
mobile/control/convert.php

@@ -65,8 +65,8 @@ class convertControl extends mobileControl
                 $return_url = $_GET['return_url'];
                 QueueClient::push('OnGoodsConvert',['appid' => $appid,'convert_sn' => $convert_sn,'return_url' => $return_url,'success' => true]);
             }
-            //                $url = url_helper::mshop_special(0);
-            $url = url_helper::mshop_index();
+            $url = url_helper::mshop_special(1451);
+            //$url = url_helper::mshop_index();
             return self::outsuccess(['direct_uri' => $url],"redirect");
         }
         else {

+ 11 - 2
mobile/control/member_bonus.php

@@ -47,6 +47,7 @@ class member_bonusControl extends mbMemberControl
     {
         $result = [];
         $result['bonus_total']  = $this->mUserAccount->total_bonus();
+        $result['pred_total']   = $this->total_pred();
         $result['bonus_rate']   = 30;
         $mine_rooms = room_helper::user_rooms(session_helper::memberid(),'shared_bonus desc',4);
         if(empty($mine_rooms)) {
@@ -67,6 +68,13 @@ class member_bonusControl extends mbMemberControl
         return self::outsuccess($result);
     }
 
+    private function total_pred()
+    {
+        $member = Model('member');
+        $info = $member->getMemberInfoByID(session_helper::memberid());
+        return (floatval($info['available_predeposit']) * 100 + 0.5 ) / 100;
+    }
+
     public function mine_bonusOp()
     {
         $result = [];
@@ -101,6 +109,7 @@ class member_bonusControl extends mbMemberControl
     {
         $result = [];
         $result['bonus_total']  = $this->mUserAccount->total_bonus();
+        $result['pred_total']   = $this->total_pred();
 
         $bonus_state = $this->mUserAccount->bonus_state();
         $expiring = $bonus_state['expiring'];
@@ -1496,9 +1505,9 @@ class tpl_free_gifts
         if($this->mMine)
         {
             if($called) {
-                $str .=     "<span class=\"call_btn called\" data-user=\"{$user}\">召唤TA</span>";
+                $str .= "<span class=\"call_btn called\" data-user=\"{$user}\">召唤TA</span>";
             } else {
-                $str .=     "<span class=\"call_btn\" data-user=\"{$user}\">召唤TA</span>";
+                $str .= "<span class=\"call_btn\" data-user=\"{$user}\">召唤TA</span>";
             }
         }
         $str .= "</div>";

+ 22 - 157
mobile/control/member_buy.php

@@ -158,9 +158,15 @@ class member_buyControl extends mbMemberControl
         $param['pay_name'] = "online";
 
         $param['usebonus'] = $_POST['usebonus'];
+        $param['pd_pay']   = $_POST['usepred'];
+
         $param['room_id'] = $_POST['room_id'];
         $usebonus = $_POST['usebonus'];
 
+        $_POST['pd_pay'] = 1;
+        $usepred  = $_POST['pd_pay'];
+        $param['pd_pay'] = 1;
+
         $logic_buy = logic('buy');
         $result = $logic_buy->buyStep2($param, $_SESSION['member_id'], $_SESSION['member_name'], $_SESSION['member_email']);
         if (!$result['state']) {
@@ -172,7 +178,7 @@ class member_buyControl extends mbMemberControl
             $payment = $_POST['payment'];
 
             $payer = new pay_helper($pay_sn);
-            $out_put = $payer->pay($payment,$usebonus,$err);
+            $out_put = $payer->pay($payment,$usebonus,$usepred,$err);
 
             if($out_put == false) {
                 return self::outerr($err['code'],$err['msg']);
@@ -354,130 +360,25 @@ class member_buyControl extends mbMemberControl
         }
     }
 
-    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-    /// 旧接口
-    public function payOp()
-    {
-        $pay_sn  = $_GET['pay_sn'];
-        $payment = $_GET['payment'];
-        $usebonus = intval($_GET['usebonus']) == 0 ? false : true;
-
-        if(empty($pay_sn) || empty($payment)) {
-            return self::outerr(errcode::ErrParamter,"支付号或者支付类型错误");
-        }
-
-        $payer = new pay_helper($pay_sn);
-        $out_put = $payer->pay($payment,$usebonus,$err);
-
-        if($out_put == false) {
-            return self::outerr($err['code'],$err['msg']);
-        } else {
-            $out_put['payment'] = $payment;
-            $out_put['pay_sn']  = $pay_sn;
-
-            return self::outsuccess($out_put);
-        }
-    }
-    /**
-     * 购物车、直接购买第一步:选择收获地址和配置方式
-     */
-    public function buy_step1Op()
-    {
-        $cart_id = explode(',', urldecode($_POST['cart_id']));
-        $logic_buy = logic('buy');
-
-        //得到购买数据
-        $result = $logic_buy->buyStep1($cart_id, $_POST['ifcart'], $_SESSION['member_id'], $_SESSION['store_id']);
-        if (!$result['state']) {
-            return self::outerr(errcode::ErrOrder, $result['msg']);
-        } else {
-            $result = $result['data'];
-        }
-
-        //整理数据
-        $store_cart_list = array();
-        foreach ($result['store_cart_list'] as $key => $value) {
-            $store_cart_item = array();
-            $store_cart_item['goods_list'] = $value;
-            $store_cart_item['store_goods_total'] = $result['store_goods_total'][$key];
-            if (!empty($result['store_premiums_list'][$key])) {
-                $result['store_premiums_list'][$key][0]['premiums'] = true;
-                $result['store_premiums_list'][$key][0]['goods_total'] = 0.00;
-                $store_cart_item['goods_list'][] = $result['store_premiums_list'][$key][0];
-            }
-            $store_cart_item['store_mansong_rule_list'] = $result['store_mansong_rule_list'][$key];
-            $store_cart_item['store_voucher_list'] = $result['store_voucher_list'][$key];
-            if (!empty($result['cancel_calc_sid_list'])) {
-                $store_cart_item['freight'] = '0';
-                $store_cart_item['freight_message'] = $result['cancel_calc_sid_list'][$key]['desc'];
-            } else {
-                $store_cart_item['freight'] = '1';
-                $store_cart_item['freight_message'] = $result['need_calc_sid_list']['desc'];
-            }
-            $store_cart_item['store_name'] = $value[0]['store_name'];
-            array_push($store_cart_list, $store_cart_item);
-        }
-
-        $buy_list = array();
-        $buy_list['store_cart_list'] = $store_cart_list;
-        $buy_list['freight_hash'] = $result['freight_list'];
-        $buy_list['address_info'] = $result['address_info'];
-        $buy_list['ifshow_offpay'] = null;
-        $buy_list['vat_hash'] = $result['vat_hash'];
-        $buy_list['inv_info'] = $result['inv_info'];
-        $buy_list['available_predeposit'] = $result['available_predeposit'];
-        $buy_list['available_rc_balance'] = $result['available_rc_balance'];
-
-        return self::outsuccess($buy_list);
-    }
-
-    /**
-     * 购物车、直接购买第二步:保存订单入库,产生订单号,开始选择支付方式
-     */
-    public function buy_step2Op()
+    private function pay_goods($cart_ids)
     {
-        $param = array();
-        $param['ifcart'] = $_POST['ifcart'];
-        $param['cart_id'] = explode(',', urldecode($_POST['cart_id']));
-        $param['address_id'] = $_POST['address_id'];
-
-        $param['vat_hash'] = $_POST['vat_hash'];
-        $param['offpay_hash'] = $_POST['offpay_hash'];
-        $param['offpay_hash_batch'] = $_POST['offpay_hash_batch'];
-        $param['pay_name'] = $_POST['pay_name'];
-        $param['invoice_id'] = $_POST['invoice_id'];
-
-        //处理代金券
-        $voucher = array();
-        $post_voucher = explode(',', $_POST['voucher']);
-        if (!empty($post_voucher)) {
-            foreach ($post_voucher as $value) {
-                list($voucher_t_id, $store_id, $voucher_price) = explode('|', $value);
-                $voucher[$store_id] = $value;
+        if (boolval($_POST['ifcart']) == true)
+        {
+            $mod_cart = Model('cart');
+            $items = $mod_cart->listCart('db', array('cart_id' => array('in', $cart_ids)), false);
+            $id_num = [];
+            foreach ($items as $val) {
+                $cart_id = $val['cart_id'];
+                $goods_num = $val['goods_num'];
+                $id_num[] = "{$cart_id}|{$goods_num}";
             }
+            return $id_num;
+        } else {
+            $id_num = $cart_ids;
+            return $id_num;
         }
-        $param['voucher'] = $voucher;
-
-        //手机端暂时不做支付留言,页面内容太多了
-        //$param['pay_message'] = json_decode($_POST['pay_message']);
-        $param['pd_pay'] = $_POST['pd_pay'];
-        $param['rcb_pay'] = $_POST['rcb_pay'];
-        $param['password'] = $_POST['password'];
-        $param['fcode'] = $_POST['fcode'];
-        $param['order_from'] = 2;
-        $logic_buy = logic('buy');
-
-        $result = $logic_buy->buyStep2($param, $_SESSION['member_id'], $_SESSION['member_name'], $_SESSION['member_email']);
-        if (!$result['state']) {
-            return self::outerr(errcode::ErrOrder, $result['msg']);
-        }
-
-        return self::outsuccess(array('pay_sn' => $result['data']['pay_sn']));
     }
-
-    /**
-     * 验证密码
-     */
+    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
     public function check_passwordOp()
     {
         if (empty($_POST['password'])) {
@@ -494,40 +395,4 @@ class member_buyControl extends mbMemberControl
         }
     }
 
-    /**
-     * 更换收货地址
-     */
-    public function change_addressOp()
-    {
-        $logic_buy = Logic('buy');
-        $data = $logic_buy->changeAddr($_POST['freight_hash'], $_POST['city_id'], $_POST['area_id'], $_SESSION['member_id']);
-        if (!empty($data) && $data['state'] == 'success') {
-            return self::outsuccess($data);
-        } else {
-            return self::outerr(errcode::ErrOrder, '地址修改失败');
-        }
-    }
-
-    /**
-     * @param $cart_ids
-     * @return array
-     */
-    private function pay_goods($cart_ids)
-    {
-        if (boolval($_POST['ifcart']) == true)
-        {
-            $mod_cart = Model('cart');
-            $items = $mod_cart->listCart('db', array('cart_id' => array('in', $cart_ids)), false);
-            $id_num = [];
-            foreach ($items as $val) {
-                $cart_id = $val['cart_id'];
-                $goods_num = $val['goods_num'];
-                $id_num[] = "{$cart_id}|{$goods_num}";
-            }
-            return $id_num;
-        } else {
-            $id_num = $cart_ids;
-            return $id_num;
-        }
-    }
 }

+ 3 - 3
mobile/control/member_order.php

@@ -107,8 +107,8 @@ class member_orderControl extends mbMemberControl
 
     private function state_type($act_type)
     {
-        if($act_type == "if_cancel") return "order_cancel";
-        if($act_type == "if_delete") return "order_delete";
+        if($act_type == "if_cancel")  return "order_cancel";
+        if($act_type == "if_delete")  return "order_delete";
         if($act_type == "if_receive") return "order_receive";
         return false;
     }
@@ -136,7 +136,7 @@ class member_orderControl extends mbMemberControl
         }
 
         $payer = new pay_helper($pay_sn);
-        $out_put = $payer->pay($payment,false,$err);
+        $out_put = $payer->pay($payment,false,true,$err);
 
         if($out_put == false) {
             return self::outerr($err['code'],$err['msg']);

+ 1 - 1
mobile/control/member_vorder.php

@@ -95,7 +95,7 @@ class member_vorderControl extends mbMemberControl
         }
 
         $payer = new pay_helper($pay_sn);
-        $out_put = $payer->pay($payment,false,$err);
+        $out_put = $payer->pay($payment,false,true,$err);
 
         if($out_put == false) {
             return self::outerr($err['code'],$err['msg']);