Bladeren bron

change order

stanley-king 9 jaren geleden
bovenliggende
commit
8bba85412a

+ 8 - 6
data/logic/payment.logic.php

@@ -36,7 +36,7 @@ class paymentLogic
         $obj_member = Model('member');
         $pd_amount = $obj_member->getPdAmount($member_info['member_id']);
         if (empty($order_list)) return -1;
-        if (floatval($pd_amount) <= 0) return -1;
+        if (floatval($pd_amount) <= 0.0) return -1;
 
         $model_order = Model('order');
         $model_pd = Model('predeposit');
@@ -52,13 +52,15 @@ class paymentLogic
                 $change_type = '';
                 // 计算运费+订单总额
                 $total_amount = floatval($order_info['order_amount']) + floatval($order_info['shipping_fee']);
-                if (floatval($pd_amount) > floatval($total_amount))  {
-                    $order_info['pd_amount'] = floatval($total_amount); // 余额大于订单金额的情况
-                    $pd_amount = floatval($pd_amount) - floatval($order_info['pd_amount']);
+                if ((floatval($pd_amount) + floatval($order_info['pd_amount'])) > floatval($total_amount))  {
+                    // 预存款增量, 当二次付款并使用红包的时候, 需要进行二次计算预存款
+                    $increment_amount = floatval($total_amount) - floatval($order_info['pd_amount']);
+                    $order_info['pd_amount'] += $increment_amount; // 余额大于订单金额的情况
+                    $pd_amount = floatval($pd_amount) - floatval($increment_amount);
                     $change_type = 'order_pay';
                 } else {    // 余额小于等于订单金额的情况, $pd_amount不能等于0
-                    $order_info['pd_amount'] = floatval($pd_amount);
-                    $pd_amount = 0;
+                    $order_info['pd_amount'] += floatval($pd_amount);
+                    $pd_amount = 0.0;
                     $change_type = 'order_freeze';
                 }
 

+ 21 - 3
data/model/member.model.php

@@ -738,7 +738,7 @@ class memberModel extends Model
 
     /**
      * @param $user_id  用户ID
-     * @return value  获取用户预存款金额
+     * @return float  获取用户预存款金额
      */
     public function getPdAmount($member_id){
 
@@ -747,10 +747,28 @@ class memberModel extends Model
         $member_info = $this->getMemberInfo(array('member_id'=>$member_id));
 
         if (!is_array($member_info) || count($member_info)<=0){
+            return 0.0;  // 用户信息不对
+        }
+        return floatval($member_info['available_predeposit']);
+    }
+
+    /**
+     * @param $user_id  用户ID
+     * @return array  获取用户预存款, 冻结预存款金额
+     */
+    public function getMemberPdInfo($member_id){
+
+        //查询会员信息
+        $member_id = intval($member_id);
+        $member_info = $this->getMemberInfo(array('member_id'=>$member_id));
+
+        if (!is_array($member_info) || count($member_info)<=0){
             return 0;  // 用户信息不对
         }
         $available_predeposit=floatval($member_info['available_predeposit']);
-        return $available_predeposit;
+        $freeze_predeposit=floatval($member_info['freeze_predeposit']);
+        return array('available_predeposit' => $available_predeposit,
+            'freeze_predeposit' => $freeze_predeposit);
     }
 
     /**
@@ -768,7 +786,7 @@ class memberModel extends Model
         }
 
         // 预存款订单查询条件
-        $condition = 'lg_type in(\'order_pay\', \'order_freeze\', \'order_comb_pay\' ) and (lg_freeze_amount<>0.0 or lg_av_amount<0.0) and lg_member_id=\'' . $member_info['member_id'] . '\'';
+        $condition = 'lg_type in(\'order_pay\') and (lg_freeze_amount<>0.0 or lg_av_amount<0.0) and lg_member_id=\'' . $member_info['member_id'] . '\'';
         
         $model_pd = Model('predeposit');
         $tmp_log_list = array();

+ 6 - 2
mobile/control/bonus.php

@@ -50,7 +50,9 @@ class bonusControl extends mbMemberControl
 
             // 红包总值(直接等于预存款值)
             $obj_member = Model('member');
-            $total_value = $obj_member->getPdAmount($condition['user_id']);
+            $pd_array = $obj_member->getMemberPdInfo($condition['user_id']);;
+            $total_value = $pd_array['available_predeposit'];   // 当前预存款
+            $freeze_value = $pd_array['freeze_predeposit'];     // 当前预存款冻结
             $ret_array = array();
 
             // 获取使用列表
@@ -79,7 +81,9 @@ class bonusControl extends mbMemberControl
                 array_push($bonus_list, $result);
             }
             $ret_array['bonus_list'] = $bonus_list;
-            joutput_data(array('total_value' => $total_value, "ret_array" => $ret_array));
+            joutput_data(array('total_value' => $total_value,
+                'freeze_value' => $freeze_value,
+                "ret_array" => $ret_array));
         }
     }
 

+ 1 - 1
mobile/control/control.php

@@ -147,7 +147,7 @@ class mbMemberControl extends mobileControl
                 return false;
             }
             // 判断过期
-            if (time() - $mb_user_token_info['login_time'] > func::token_expire*60) {
+            if (time() - $mb_user_token_info['login_time'] > func::token_expire * 60) {
 //                $model_mb_user_token->del_token($token);
                 $this->err_code = errcode::ErrTokenExpire;
                 return false;

+ 8 - 3
mobile/control/member_cart.php

@@ -31,14 +31,19 @@ class member_cartControl extends mbMemberControl
 
         $page = trim($_GET['page']);
         $curpage = trim($_GET['curpage']);
-        initpage($page,$curpage);
+        if (!isset($_GET['page'])) {
+            $page = "100";
+            $curpage = "1";
+            $this->page = 100;
+        }
+        initpage($page, $curpage);
 
         $model_cart = Model('cart');
         $model_goods = Model('goods');
 
 //        $condition = array('buyer_id' => trim($_GET['buyer_id']));
         $condition = array('buyer_id' => $this->member_info['member_id']);
-        $cart_list = $model_cart->getCartList($condition,$this->page);
+        $cart_list = $model_cart->getCartList($condition, $this->page);
         $page_count = $model_cart->gettotalpage();
         $model_cart->cls();
 //        $cart_list = $model_cart->listCart('db', $condition);
@@ -71,7 +76,7 @@ class member_cartControl extends mbMemberControl
             $cart_list[$key]['goods_sum'] = ncPriceFormat($value['goods_price'] * $value['goods_num']);
         }
 
-        joutput_data(array('cart_list' => $cart_list,'mobile_page' => mobile_page($page_count)));
+        joutput_data(array('cart_list' => $cart_list, 'mobile_page' => mobile_page($page_count)));
     }
 
     /**

+ 24 - 14
mobile/control/member_order.php

@@ -28,14 +28,23 @@ class member_orderControl extends mbMemberControl
         if (false == $this->checkToken($token)) {
             return joutput_error($this->err_code);
         }
-
-//        $page = trim($_GET['page']);
-//        $curpage = trim($_GET['curpage']);
-//        initpage($page, $curpage);
+        $page = trim($_GET['page']);
+        $curpage = trim($_GET['curpage']);
+        if (!isset($_GET['page'])) {
+            $page = "100";
+            $curpage = "1";
+            $this->page = 100;
+        }
+        initpage($page, $curpage);
 
         $model_order = Model('order');
         $condition = array();
         $condition['buyer_id'] = $this->member_info['member_id'];
+        $order_state = intval(trim($_GET['state']));
+        if ($order_state >= 10) {
+            $condition['order_state'] = $order_state;
+        }
+
         $order_list_array = $model_order->getNormalOrderList($condition, $this->page, '*', 'order_id desc', '', array('order_address', 'order_goods'));
         $order_group_list = array();
         $order_pay_sn_array = array();
@@ -179,13 +188,12 @@ class member_orderControl extends mbMemberControl
      */
     public function order_receiveOp()
     {
-        $token = trim($_GET['key']);
-        if (false == $this->checkToken($token)) {
-            return joutput_error($this->err_code);
-        }
+//        $token = trim($_GET['key']);
+//        if (false == $this->checkToken($token)) {
+//            return joutput_error($this->err_code);
+//        }
 
         $model_order = Model('order');
-        $logic_order = Logic('order');
         $order_id = intval($_POST['order_id']);
 
         $condition = array();
@@ -197,6 +205,7 @@ class member_orderControl extends mbMemberControl
             return joutput_error(errcode::ErrOrder, '无权操作');
         }
 
+        $logic_order = Logic('order');
         $result = $logic_order->changeOrderStateReceive($order_info, 'buyer', $this->member_info['member_name']);
         if (!$result['state']) {
             return joutput_error(errcode::ErrOrder, $result['msg']);
@@ -210,10 +219,10 @@ class member_orderControl extends mbMemberControl
      */
     public function search_deliverOp()
     {
-        $token = trim($_GET['key']);
-        if (false == $this->checkToken($token)) {
-            return joutput_error($this->err_code);
-        }
+//        $token = trim($_GET['key']);
+//        if (false == $this->checkToken($token)) {
+//            return joutput_error($this->err_code);
+//        }
 
         $order_id = intval($_POST['order_id']);
         if ($order_id <= 0) {
@@ -236,7 +245,8 @@ class member_orderControl extends mbMemberControl
         $key = "express_" . $order_info['shipping_code'];
         $deliver_info = rkcache($key);
         if (empty($deliver_info)) {
-            $deliver_info = $this->getOrderTracesByJson('STO', '3304699247030');
+            $deliver_info = $this->getOrderTracesByJson($e_code, $order_info['shipping_code']);
+            //$deliver_info = $this->getOrderTracesByJson('STO', '3304699247030');
             //$deliver_info = $this->_get_express($e_code, $order_info['shipping_code']);
             //$deliver_info = $this->getOrderTracesByJson($e_code,$order_info['shipping_code']);
             if ($deliver_info === false) {