瀏覽代碼

Merge branch 'sess_0306' of 121.43.114.153:/home/git/repositories/shopnc into sess_0306

liax 9 年之前
父節點
當前提交
ed49c2fcfb

+ 4 - 0
core/framework/libraries/validate.php

@@ -61,6 +61,10 @@ Class Validate{
 	{
 		return array('input' => $val,'validator' => "number", 'require' => true,'message' => $error);
 	}
+	static public function verify_serialnum($sn)
+	{
+		return array('input' => $sn,'validator'=>'length','min'=>16,'max'=>20,'message' =>"SN序列号只能是16位到20位.");
+	}
 
 	/**
 	 * 验证数组中的值

+ 3 - 0
data/logic/buy_1.logic.php

@@ -977,6 +977,9 @@ class buy_1Logic {
                 $cart_list[$key]['xianshi_info'] = $goods_online_info['xianshi_info'];
                 $goods_spec = unserialize($goods_online_info['goods_spec']);
                 $goods_spec_array = array();
+                if(empty($goods_spec)) {
+                    $goods_spec = array();
+                }
                 foreach ($goods_spec as $value) {
                     array_push($goods_spec_array, $value);
                 }

+ 120 - 0
data/logic/payment.logic.php

@@ -5,6 +5,7 @@
  */
 
 defined('InShopNC') or exit('Access Invalid!');
+require_once (BASE_ROOT_PATH . '/helper/predeposit_helper.php');
 
 class paymentLogic
 {
@@ -93,6 +94,125 @@ class paymentLogic
         }
     }
 
+    //add by stanley
+    public function calcPredeposit($pay_sn,$member_info,&$avail_pred)
+    {
+        //验证订单信息
+        $model_order = Model('order');
+        $order_pay_info = $model_order->getOrderPayInfo(array('pay_sn' => $pay_sn, 'buyer_id' => $member_info['member_id']));
+        if (empty($order_pay_info)) {
+            return false;
+        }
+        $member_id = intval($member_info['member_id']);
+
+        $mod_member = Model('member');
+        $pd_amount = $mod_member->getPdAmount($member_id);
+        $avail_pred = $pd_amount;
+
+
+        $order_list = $model_order->getNormalOrderList(array('pay_sn' => $pay_sn));
+        $pred_helper = new predeposit_helper();
+        $pd_amount = intval($pd_amount * 100);
+
+        $can_used = 0;
+        foreach ($order_list as $order_info) {
+            // 计算运费+订单总额
+            $cur_order_amount = intval(floatval($order_info['order_amount']) * 100);
+            $cur_pd_amount = intval(floatval($order_info['pd_amount']) * 100);
+
+            $order_pd_amount = $pred_helper->calc_pred($cur_order_amount, $pd_amount, $cur_pd_amount, $no_cash);
+            $pd_amount -= $order_pd_amount;
+            $can_used += $order_pd_amount;
+        }
+
+        return ($can_used / 100);
+    }
+
+
+    /**
+     * 尝试使用预存款, 可以扣除运费
+     * @param int $pay_sn
+     * @param int $member_id
+     * @return int
+     */
+    //add by stanley
+    public function payPredepositEx($pay_sn,$member_info)
+    {
+        //验证订单信息
+        $model_order = Model('order');
+        $order_pay_info = $model_order->getOrderPayInfo(array('pay_sn' => $pay_sn, 'buyer_id' => $member_info['member_id']));
+        if (empty($order_pay_info)) {
+            return false;
+        }
+        $member_id = intval($member_info['member_id']);
+
+        $mod_member = Model('member');
+        $pd_amount = $mod_member->getPdAmount($member_id);
+
+
+        $order_list = $model_order->getNormalOrderList(array('pay_sn' => $pay_sn));
+        $model_pd = Model('predeposit');
+        $pred_helper = new predeposit_helper();
+
+        try
+        {
+
+            DB::beginTransaction();
+            $pd_amount = intval($pd_amount * 100);
+            foreach ($order_list as $order_info)
+            {
+                // 计算运费+订单总额
+                $cur_order_amount = intval(floatval($order_info['order_amount']) * 100);
+                $cur_pd_amount = intval(floatval($order_info['pd_amount']) * 100);
+                $order_pd_amount = $pred_helper->calc_pred($cur_order_amount,$pd_amount,$cur_pd_amount,$no_cash);
+                $pd_amount -= $order_pd_amount;
+
+                $fEdit = true;
+                if($no_cash) {
+                    $order_info['pd_amount'] += floatval($order_pd_amount / 100); // 余额大于订单金额的情况
+                    $change_type = 'order_pay';
+                }
+                else
+                {
+                    if($order_pd_amount > 0) {
+                        $order_info['pd_amount'] += floatval($order_pd_amount / 100);
+                        $change_type = 'order_freeze';
+                    } else {
+                        $fEdit = false;
+                    }
+                }
+
+                if($fEdit)
+                {
+                    $data_pd = array();
+                    $data_pd['member_id'] = $member_id;
+                    $data_pd['member_name'] = $member_info['member_name'];
+                    $data_pd['amount'] = floatval($order_pd_amount / 100);
+                    $data_pd['order_sn'] = $order_info['order_sn'];
+                    //预存款立即支付,订单支付完成
+                    $ret = $model_pd->changePd($change_type, $data_pd);
+                    if (0 == $ret) {
+                        throw new Exception("订单更新失败");
+                    }
+
+                    // 修改订单
+                    $data_order = array('pd_amount' => $order_info['pd_amount']);
+                    $ret = $model_order->editOrder($data_order, array('order_id' => $order_info['order_id']));
+
+                    if (0 == $ret) {
+                        throw new Exception("订单更新失败");
+                    }
+                }
+                DB::commit();
+
+                return true;
+            }
+        }
+        catch (Exception $e) {
+            DB::rollback();
+        }
+    }
+
     /**
      * 取得实物订单所需支付金额等信息, 移动支付时, 在使用红包时需要计算运费
      * @param int $pay_sn

+ 4 - 2
data/model/refund_return.model.php

@@ -629,7 +629,8 @@ class refund_returnModel extends Model
      * @param $good
      * @return int
      */
-    public function getRefundIdForGood($good){
+    public function getRefundIdForGood($good,&$refund_state){
+        $refund_state = '0';
         //只有已付款未发货的订单才处理
         if(empty($good)) {
             return 0;
@@ -640,9 +641,10 @@ class refund_returnModel extends Model
         $condition['order_id']    = $good['order_id'];
         $condition['goods_id']    = $good['goods_id'];
         $condition['seller_state'] = array('lt', '3'); //状态:1为待审核,2为同意,3为不同意
-        $result = $this->getRefundReturnList($condition,'','refund_id');
+        $result = $this->getRefundReturnList($condition,'','refund_id,refund_state');
 
         if(!empty($result)){
+            $refund_state = $result[0]['refund_state'];
             return $result[0]['refund_id'];
         }
         return 0;

+ 14 - 14
data/model/user_bonus.model.php

@@ -54,25 +54,25 @@ class user_bonusModel extends Model
 
     public function getTypeBinded($condition,$fields = '*')
     {
-        $condition['status'] = array('in',array(2,3));
+        $condition['bonus_status'] = array('in',array(2,3));
         return $this->where($condition)->field($fields)->limit(false)->select();
     }
 
     public function getAllBind($mobile,$fields = '*') {
-        return  $this->where(array('user_mobile' => $mobile, 'status' => 2))->field($fields)->order('type_id')->select();
+        return  $this->where(array('user_mobile' => $mobile, 'bonus_status' => 2))->field($fields)->order('type_id')->select();
     }
 
     public function getStatus($bonus_sn) {
-        $ret = $this->where(array('bonus_sn' => $bonus_sn))->field('status')->find();
+        $ret = $this->where(array('bonus_sn' => $bonus_sn))->field('bonus_status')->find();
         if(empty($ret)) {
             return 0;
         } else {
-            return intval($ret['status']);
+            return intval($ret['bonus_status']);
         }
     }
 
     private function getBind($mobile,$type_id,$fields = '*') {
-        return  $this->where(array('user_mobile' => $mobile, 'type_id' => $type_id,'status' => 2))->field($fields)->find();
+        return  $this->where(array('user_mobile' => $mobile, 'type_id' => $type_id,'bonus_status' => 2))->field($fields)->find();
     }
 
     public function edit($condition,$datas)
@@ -103,21 +103,21 @@ class user_bonusModel extends Model
             }
 
             $this->beginTransaction();
-            $bonus = $this->where(array('type_id' => $type_id,'session_id' => $sess_id))->field($fields)->order('status,bonus_id')->limit(1)->find();
+            $bonus = $this->where(array('type_id' => $type_id,'session_id' => $sess_id))->field($fields)->order('bonus_status,bonus_id')->limit(1)->find();
             if(empty($bonus))
             {
                 $condition = array( 'type_id' => $type_id,
-                                    'status' => array('in', array(0,1)),
+                                    'bonus_status' => array('in', array(0,1)),
                                     'grab_time' => array('lt',time() - $time_out));
-                $bonus = $this->where($condition)->field($fields)->order('status,bonus_id')->limit(1)->find();
+                $bonus = $this->where($condition)->field($fields)->order('bonus_status,bonus_id')->limit(1)->find();
                 if(!empty($bonus))
                 {
-                    if($bonus['status'] == 0) {
+                    if($bonus['bonus_status'] == 0) {
                         $is_new_grab = true;
                     }
 
                     if(user_helper::isLogin()) { // 如果是登录状态直接绑定
-                        $datas = array('status' => 2,
+                        $datas = array('bonus_status' => 2,
                             'grab_time' => time(),
                             'get_time'  => time(),
                             'session_id' => $sess_id,
@@ -127,7 +127,7 @@ class user_bonusModel extends Model
                         $is_new_bind = true;
                     }
                     else if(user_helper::isVerfiyMobile()) { //如果该会话手机号码曾经认证过,直接绑定
-                        $datas = array('status' => 2,
+                        $datas = array('bonus_status' => 2,
                             'grab_time' => time(),
                             'get_time'  => time(),
                             'session_id' => $sess_id,
@@ -135,7 +135,7 @@ class user_bonusModel extends Model
                         $is_new_bind = true;
                     }
                     else {
-                        $datas = array('status' => 1,
+                        $datas = array('bonus_status' => 1,
                             'grab_time' => time(),
                             'session_id' => $sess_id);
                     }
@@ -167,8 +167,8 @@ class user_bonusModel extends Model
             }
 
             $this->beginTransaction();
-            $condition = array('type_id' => $type_id,'bonus_id' => $bonus_id,'session_id' => $sess_id,'status' => 1);
-            $datas = array('status' => 2,
+            $condition = array('type_id' => $type_id,'bonus_id' => $bonus_id,'session_id' => $sess_id,'bonus_status' => 1);
+            $datas = array('bonus_status' => 2,
                 'user_mobile' => $mobile,
                 'get_time' => time());
 

+ 8 - 3
data/resource/mobile/bonus/js/tel.js

@@ -203,7 +203,7 @@ $(function(){
                                                 else {
                                                     mine=formatDate(new Date(parseInt(other_ser[i].get_time)*1000));
                                                 }
-                                                if(other_ser[i].bonus_value==king) {
+                                                if(other_ser[i].binded_over == 1 && other_ser[i].bonus_value==king) {
                                                     king_icon = '<s class="king"></s>手气最佳';
                                                 }
                                                 if(comment[i].user_comment==''){
@@ -260,8 +260,13 @@ $(function(){
     message:function(id){
     var that=this;
     $(id).live('touchstart',function(){
-        that.input_msg(that.msg.no_yanz, that.btnname.just_white);
+        if($(this).text()=='留言'){
+            return false;
+        }
+        else{
+            that.input_msg(that.msg.no_yanz, that.btnname.just_white);
         $('#pass_msg').focus();
+        }
     });
     $('#post').live('touchstart',function(){
         var msg=$('#pass_msg').val();
@@ -275,7 +280,7 @@ $(function(){
             }),function (data, status) {
                 return false;
             };
-            $('#my_prompt').html(msg);
+            $('#message').text(msg);
             $('#bomb').remove();
         }
     });

+ 2 - 2
helper/bonus/generator.php

@@ -74,7 +74,7 @@ class GeneralGenerator extends IGenerator
                 $datas = array('bonus_sn' => make_sn(),
                     'bonus_value' => $val,
                     'type_id' => $type_id,
-                    'status' => 0,
+                    'bonus_status' => 0,
                     'type_sn' => $type_sn);
                 $ret = $mod_bonus->add($datas);
                 if($ret <= 0) {
@@ -90,7 +90,7 @@ class GeneralGenerator extends IGenerator
                 $datas = array( 'bonus_sn' => make_sn(),
                     'bonus_value' => $val,
                     'type_id' => $type_id,
-                    'status' => 0,
+                    'bonus_status' => 0,
                     'type_sn' => $type_sn);
 
                 $ret = $mod_bonus->add($datas);

+ 1 - 1
helper/bonus/grab.php

@@ -42,7 +42,7 @@ class general_grab extends IGrab
         parent::__construct($paramer);
     }
 
-    public function get_bonus($paramer) //($type_sn,$time_out,$sess_id)
+    public function get_bonus($paramer)
     {
         $time_out = $paramer['time_out'];
         $session_id = $paramer['session_id'];

+ 5 - 5
helper/bonus/manager.php

@@ -55,7 +55,7 @@ class manager
                 $type_info['binded_period'] = 0;
                 $type_info['binded_over'] = 0;
                 if($type->grabed_over()) {
-                    $lasted_time = Model('user_bonus')->lasted_grabed(array('type_id' => $type->getType_id(),'status' => 1));
+                    $lasted_time = Model('user_bonus')->lasted_grabed(array('type_id' => $type->getType_id(),'bonus_status' => 1));
                     $type_info['grab_lastime'] = $lasted_time;
                 } else {
                     $type_info['grab_lastime'] = 0;
@@ -178,11 +178,11 @@ class manager
 
     public function topup($mod_user_bonus,&$bonus)
     {
-        $datas = array('status' => 3,
+        $datas = array('bonus_status' => 3,
             'user_id' => $_SESSION['member_id'],
             'user_name' => user_helper::nickname());
 
-        $ret = $mod_user_bonus->edit(array('bonus_id' => $bonus['bonus_id']))->update($datas);
+        $ret = $mod_user_bonus->where(array('bonus_id' => $bonus['bonus_id']))->update($datas);
         if($ret == true) {
             array_merge($bonus,$datas);
             $this->write_session($bonus);
@@ -253,7 +253,7 @@ class manager
 
         $condition = array('user_mobile' => $_SESSION['member_mobile'],
             'bonus_sn' => $bonus_sn,
-            'status' => array('in',array(2,3)));
+            'bonus_status' => array('in',array(2,3)));
         $ret = Model('user_bonus')->edit($condition,array('user_comment' => $content));
         if($ret == true) {
             $user_bonus = user_bonus::create_by_sn($bonus_sn);
@@ -272,7 +272,7 @@ class manager
             if($bonus_sn == $b_sn) return $val;
             if($val['type_sn'] == $type_sn)
             {
-                $status = $val['status'];
+                $status = $val['bonus_status'];
                 if ($status == self::bonus_state_binded) {
                     return $val;
                 }

+ 1 - 1
helper/bonus/user_bonus.php

@@ -29,7 +29,7 @@ class user_bonus
         $this->mParamer = $param;
     }
     public function isBinded() {
-        return (intval($this->mParamer['status']) >= 2);
+        return (intval($this->mParamer['bonus_status']) >= 2);
     }
     public function isGrabed() {
     }

+ 6 - 8
helper/bonus_helper.php

@@ -38,7 +38,7 @@ class bonus_helper
     }
 
     static public function filter_bonus($bonus_info) {
-        $fileds = 'bonus_sn,bonus_value,user_name,user_mobile,user_comment,get_time,status';
+        $fileds = 'bonus_sn,bonus_value,user_name,user_mobile,user_comment,get_time,bonus_status';
         $ret = array();
         field_helper::copy_column($ret,$bonus_info,$fileds);
         if(empty($bonus_info['user_name'])) {
@@ -118,20 +118,18 @@ class bonus_helper
         foreach($bind_bonus as $val)
         {
             $type_id = $val['type_id'];
-            $type = \bonus\type::create_by_ids($type_id);
-            $bonus = array();
-            $bonus['type_info'] = $type->get_param();
-            $bonus['mine_bonus'] = $val;
+            $type = \bonus\type::create_by_id($type_id);
 
             try
             {
-                $info = sprintf("来自%s的红包.",$bonus['sender_name']);
+                $info = sprintf("来自%s的红包.",$val['sender_name']);
                 Db::beginTransaction();
-                $pd_helper->bonus_add_money($bonus['bonus_value'],$bonus['bonus_sn'],$type->sender_name(),$info);
+                $pd_helper->bonus_add_money($val['bonus_value'],$val['bonus_sn'],$type->sender_name(),$info);
                 if($manager->topup($mod_bonus,$val) === false) {
                     throw new Exception();
                 } else {
-                    array_push($bonusex,$bonus);
+                    $bonus['mine_bonus'] = $val;
+                    array_push($bonusex,$val);
                 }
                 Db::commit();
             } catch (Exception $ex) {

+ 20 - 0
helper/predeposit/pay_policy.php

@@ -0,0 +1,20 @@
+<?php
+/**
+ * Created by PhpStorm.
+ * User: stanley-king
+ * Date: 16/4/25
+ * Time: 下午3:07
+ */
+
+namespace predeposit;
+
+class pay_policy
+{
+    private function __construct() {
+
+    }
+
+    public static function create() {
+        return new pay_policy();
+    }
+}

+ 38 - 0
helper/predeposit_helper.php

@@ -113,4 +113,42 @@ class predeposit_helper
 
         return $pdlogs;
     }
+
+    //订单总额,可用的余额,当前订单已经使用的余额
+    //返回分
+    public function calc_pred($order_amount,$avail_amound,$pd_amount,&$no_cash)
+    {
+        $cur_used = intval($order_amount * 0.99);
+        $cur_used = $cur_used > $avail_amound  ? $avail_amound : $cur_used;
+
+        if($order_amount == $cur_used) {
+            $no_cash = true;
+        } else {
+            $no_cash = false;
+        }
+
+        return ($cur_used - $pd_amount > 0 ? $cur_used - $pd_amount : 0);
+    }
+
+//    public function calc_pred($pay_sn,&$avail_pred)
+//    {
+//        $logic_payment = Logic('payment');
+//        $result = $logic_payment->getRealOrderInfo($pay_sn, $_SESSION['member_id']);
+//
+//        if(empty($result)) {
+//            return false;
+//        }
+//        $data = $result['data'];
+//        $order_amount = $data['api_pay_amount'];
+//
+//        $member = Model('member');
+//        $relay_array = $member->getMemberPdInfo($_SESSION['member_id']);
+//        $avail_pred = floatval($relay_array['available_predeposit']);
+//        //$order_list = $data['order_list']; todo 需要更严格的扣费策略,从各个商品考虑
+//
+//        $use_pred = intval(($order_amount * 0.2) * 100);
+//        $use_pred = $use_pred > intval($avail_pred * 100) ? intval($avail_pred * 100) : $use_pred;
+//
+//        return $use_pred / 100;
+//    }
 }

文件差異過大導致無法顯示
+ 28 - 4
mobile/control/app_pay.php


+ 1 - 1
mobile/control/bonus.php

@@ -174,7 +174,7 @@ class bonusControl extends mobileHomeControl
                     // 更新为已领取
                     $data = array();
                     $data['user_id'] = $_SESSION['member_id'];
-                    $data['status'] = '1';
+                    $data['bonus_status'] = '1';
                     $ret = Model()->table('user_bonus')->where(array('user_mobile' => $member[0]['member_mobile']))->update($data);
                     if (0 == $ret) {
                         Model::rollback();

+ 3 - 2
mobile/control/bonusex.php

@@ -293,7 +293,7 @@ function bonus_output_detailurl($output)
     $type = \bonus\type::crate_by_paramer($type_info);
     $type_sn = $type->getType_sn();
 
-    $url = BASE_SITE_URL . "/mobile/index.php?act=bonusex&op=detail&type_sn={$type_sn}";
+    $url = BASE_SITE_URL . "/mobile/index.php?act=bonusex&op=detail&type_sn={$type_sn}&client_type=wap";
     return $url;
 }
 
@@ -335,7 +335,8 @@ function bonus_output_mine($output)
             echo('<p style="margin: 20px 0"><a href="javascript:void(0)">请下载熊猫美妆APP,享用红包</a></p>');
             echo('</div>');
         }
-    } else {
+    }
+    else {
         echo('<div class="link">');
         echo('<p style="margin: 20px 0><a href="javascript:void(0)">请下载熊猫美妆APP</a></p>');
         echo('</div>');

+ 11 - 11
mobile/control/member_bonus.php

@@ -7,7 +7,6 @@
  */
 
 require_once (BASE_ROOT_PATH . '/helper/bonus_helper.php');
-require_once (BASE_ROOT_PATH . '/helper/predeposit_helper.php');
 require_once (BASE_ROOT_PATH . '/helper/user_helper.php');
 
 
@@ -29,7 +28,8 @@ class member_bonusControl extends mbMemberControl
             return self::outerr(errcode::ErrParamter,"请输入正确的红包类型.");
         }
         $param['send_type'] = $send_type; // '红包类型,1为随机红包,2为固定额度红包'
-        $param['type_bless'] = isset($_GET['type_bless']) && !empty($_GET['type_bless']) ? $_GET['type_bless'] : self::def_bless;
+        $type_bless = isset($_GET['type_bless']) && !empty($_GET['type_bless']) ? $_GET['type_bless'] : self::def_bless;
+        $param['type_bless'] = urldecode($type_bless);
 
         $param['total_num'] = intval($_GET['total_num']);
         if($param['total_num'] <= 0) {
@@ -81,26 +81,26 @@ class member_bonusControl extends mbMemberControl
 
     public function topupOp()
     {
-        $bonus = bonus_helper::topup_bonus($_SESSION['member_mobile']);
-        if($bonus === false) {
-            return self::outsuccess(array("bonusex" => array()));
+        $bonuses = bonus_helper::topup_bonus($_SESSION['member_mobile']);
+        if($bonuses === false) {
+            return self::outsuccess(array("$bonuses" => array()));
         }
         else
         {
-            $bonusex = array();
-            foreach($bonus as $val)
+            $ret = array();
+            foreach($bonuses as $bonus)
             {
-                $all_type_info = bonus_helper::get_typeinfo($val['type_sn']);
+                $all_type_info = bonus_helper::get_typeinfo($bonus['type_sn']);
                 if(!empty($all_type_info) && !empty($all_type_info['type_info']))
                 {
                     $type_info = bonus_helper::filter_type($all_type_info['type_info']);
-                    $bonus_info = bonus_helper::filter_bonus($val);
+                    $bonus_info = bonus_helper::filter_bonus($bonus);
 
-                    array_push($bonusex,array('type_info' => $type_info,'bonus_info' => $bonus_info));
+                    array_push($ret,array('type_info' => $type_info,'bonus_info' => $bonus_info));
                 }
             }
 
-            return self::outsuccess(array("bonusex" => $bonusex));
+            return self::outsuccess(array("$bonuses" => $ret));
         }
     }
 

+ 3 - 1
mobile/control/member_buy.php

@@ -12,6 +12,8 @@
 
 defined('InShopNC') or exit('Access Invalid!');
 
+require_once (BASE_ROOT_PATH . '/helper/predeposit_helper.php');
+
 class member_buyControl extends mbMemberControl
 {
     public function __construct()
@@ -63,12 +65,12 @@ class member_buyControl extends mbMemberControl
         $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'] = $result['ifshow_offpay'];
         $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);
     }
 

+ 1 - 1
mobile/control/member_order.php

@@ -63,7 +63,7 @@ class member_orderControl extends mbMemberControl
             //商品图
             foreach ($value['extend_order_goods'] as $k => $goods_info) {
                 $value['extend_order_goods'][$k]['goods_image_url'] = cthumb($goods_info['goods_image'], 240, $value['store_id']);
-                $value['extend_order_goods'][$k]['refund_id']       = (string)$model_refund->getRefundIdForGood($goods_info);
+                $value['extend_order_goods'][$k]['refund_id']       = (string)$model_refund->getRefundIdForGood($goods_info,$value['extend_order_goods'][$k]['refund_state']);
             }
 
             $value['refund_id'] = (string)$model_refund->getRefundId($value);

+ 33 - 3
mobile/control/member_refund.php

@@ -77,7 +77,7 @@ class member_refundControl extends mbMemberControl
 
         if ($refund_id) {
             $model_refund->editOrderLock($order_id);
-            return self::outsuccess(array("ret" => 1,"refund_id"=>$refund_id,"order_sn"=>$_GET['order_sn']));
+            return self::outsuccess(array("ret" => 1, "refund_id" => $refund_id, "order_sn" => $_GET['order_sn']));
         } else {
             return self::outerr(errcode::ErrOrderRefundError, "退款失败.");
         }
@@ -244,7 +244,7 @@ class member_refundControl extends mbMemberControl
             if ($order['order_state'] == $order_shipped) {
                 $model_refund->editOrderLock($order_id);
             }
-            return self::outsuccess(array('ret' => 1,"refund_id"=>$refund_id,"order_sn"=>$_GET['order_sn'],"order_goods_id"=>$_GET['order_goods_id']));
+            return self::outsuccess(array('ret' => 1, "refund_id" => $refund_id, "order_sn" => $_GET['order_sn'], "order_goods_id" => $_GET['order_goods_id']));
         } else {
             return self::outerr(errcode::ErrOrderRefundError, "退货失败.");
         }
@@ -266,7 +266,8 @@ class member_refundControl extends mbMemberControl
         $refund_list = $model_refund->getRefundReturnList($condition, '', $refund_fields);
         $refund = $refund_list[0];
         $refund['refund_state'] = $model_refund->getRefundStatueApp($refund);
-        unset($refund['return_type']);
+
+       // $refund['return_type']);
         unset($refund['seller_time']);
         unset($refund['ship_time']);
         unset($refund['admin_time']);
@@ -278,4 +279,33 @@ class member_refundControl extends mbMemberControl
         $refund['good_list'] = $model_order->getOrderGoodsList($condition, $good_fields);
         return self::outsuccess(array('refund' => $refund));
     }
+
+    /**
+     * 用户发货
+     */
+    public function refund_shipOp()
+    {
+        $model_refund = Model('refund_return');
+        $condition = array();
+        $condition['buyer_id'] = $_SESSION['member_id'];
+        $condition['refund_id'] = intval($_GET['refund_id']);
+        $return_list = $model_refund->getReturnList($condition);
+        $return = $return_list[0];
+        if ($return['seller_state'] != '2' || $return['goods_state'] != '1') {//检查状态,防止页面刷新不及时造成数据错误
+            return self::outerr(errcode::ErrFrequentlyRequest, "该申请已发货");
+        }
+        $refund_array = array();
+        $refund_array['ship_time'] = time();
+        $refund_array['delay_time'] = time();
+      //  $refund_array['express_id'] = $_POST['express_id'];
+        $refund_array['invoice_no'] = $_POST['invoice_no'];
+        $refund_array['goods_state'] = '2';
+        $state = $model_refund->editRefundReturn($condition, $refund_array);
+        if ($state) {
+            return self::outsuccess(array('ret' => 1));
+        } else {
+            return self::outerr(errcode::ErrOrderRefundError, "发货失败.");
+        }
+    }
+
 }

+ 25 - 1
mobile/templates/default/bonus/detail.php

@@ -20,7 +20,7 @@
     </div>
     <?php
         echo('<div class="link">');
-        echo('<p style="margin: 20px 0><a href="javascript:void(0)">请下载熊猫美妆APP</a></p>');
+        echo('<a href="javascript:void(0)" id="href_link">请下载熊猫美妆APP</a>');
         echo('</div>');
     ?>
 
@@ -30,5 +30,29 @@
         ?>
     </div>
 </div>
+<script type="text/javascript">
+    function app(){
+        var app=navigator.userAgent.toLowerCase(),//判断设备
+            app_nav=navigator.appVersion.toLowerCase(),
+            href='';
+        if(app_nav.indexOf('iphone')>-1&&app.indexOf('iphone')){
+            href='https://www.pgyer.com/pfcB';
+        }else if(app.indexOf('micromessenger')>-1&&app_nav.indexOf('android')>-1){
+//            $('#href').on('touchstart',function(){
+//                alert('亲!点击右上角在浏览器打开安装熊猫美妆!');
+//            });
+            href="javascript:void(0)";
+        }
+        else {
+            href='http://a.lrlz.com/data/upgrade/lrlz_release_1.0.8.apk';
+        }
+        return href;
+
+    }
+    function href(){
+        $('#href_link').attr('href',app());
+    }
+    href();
+</script>
 </body>
 </html>

+ 0 - 2
mobile/templates/default/bonus/over.php

@@ -17,12 +17,10 @@
         <div class="logo"></div>
         <div class="msg_bottom">
             <?php echo bonus_output_grabinfo($output); ?>
-
         </div>
         <div>
             <p class="look"><a href="<?php echo bonus_output_detailurl($output); ?>">查看领取详情></a></p>
         </div>
-
     </div>
 </div>
 </body>

+ 2 - 0
mobile/util/errcode.php

@@ -26,6 +26,8 @@ class errcode extends SplEnum
     const ErrRegister = 10015;
     const ErrUserOrPass = 10016;
 
+    const ErrFrequentlyRequest = 10017;//请求频繁
+
     const ErrSpecial = 10100;
 
     // 购物车模块(10200-10299)