Преглед изворни кода

fix 一个手机号,删除session 后可以领多个F码的问题

stanley-king пре 8 година
родитељ
комит
afdeb16df3
3 измењених фајлова са 36 додато и 21 уклоњено
  1. 10 4
      helper/fcode/operator.php
  2. 16 10
      mobile/control/fcode.php
  3. 10 7
      mobile/templates/default/fcode/bind.php

+ 10 - 4
helper/fcode/operator.php

@@ -28,17 +28,23 @@ class operator
         $this->mod_fcode = Model('goods_fcode');
     }
 
-    public function grabed()
+    public function grabed($mobile = null)
     {
         $cond = [];
         $cond['goods_commonid'] = $this->mCommonID;
         $cond['batch_code'] = $this->mBatchCode;
 
-        if(session_helper::logined()) {
-            $cond['session_id|mobile'] = array('_multi'=>true,session_helper::session_id(),session_helper::cur_mobile());
+        if($mobile == null)
+        {
+            if(session_helper::logined()) {
+                $cond['mobile|session_id'] = array('_multi'=>true,session_helper::cur_mobile(),session_helper::session_id());
+            }
+            else {
+                $cond['session_id'] = session_helper::session_id();
+            }
         }
         else {
-            $cond['session_id'] = session_helper::session_id();
+            $cond['mobile|session_id'] = array('_multi'=>true,$mobile,session_helper::session_id());
         }
 
         $fcode = $this->mod_fcode->getGoodsFCode($cond);

+ 16 - 10
mobile/control/fcode.php

@@ -23,13 +23,18 @@ class fcodeControl extends mobileControl
         $batch_code = $_GET['batch_code'];
         $sid = $_SESSION['MPHPSESSID'];
         $status = intval($_GET['status']);
+        $mobile = $_GET['mobile'];
 
         if($common_id <= 0 || empty($batch_code)) {
             return self::outerr(errcode::ErrParamter,"错误的参数","fcode/error");
         }
 
         $oper = new fcode\operator($common_id,$batch_code);
-        $fcode = $oper->grabed();
+        if(empty($mobile)) {
+            $fcode = $oper->grabed();
+        } else {
+            $fcode = $oper->grabed($mobile);
+        }
 
         $goods = $this->goods($common_id);
         if($fcode == false)
@@ -111,8 +116,17 @@ class fcodeControl extends mobileControl
             return self::outerr(errcode::ErrParamter,"错误的参数");
         }
 
+        $mobile = $_GET['mobile'];
+        $validator = new Validator();
+        $validator->setValidate(Validator::verify_mobile($mobile));
+        $err = $validator->validate();
+        if ($err != '') {
+            return self::outerr(errcode::ErrParamter, $err);
+        }
+
+
         $oper = new fcode\operator($common_id,$batch_code);
-        $fcode = $oper->grabed();
+        $fcode = $oper->grabed($mobile);
         if($fcode == false) {
             return self::outerr(errcode::ErrParamter, "您没有该批次商品的F码.");
         }
@@ -122,14 +136,6 @@ class fcodeControl extends mobileControl
             return self::outsuccess(null);
         }
 
-        $mobile = $_GET['mobile'];
-        $validator = new Validator();
-        $validator->setValidate(Validator::verify_mobile($mobile));
-        $err = $validator->validate();
-        if ($err != '') {
-            return self::outerr(errcode::ErrParamter, $err);
-        }
-
         if(!isset($_GET['code']) || empty($_GET['code'])) {
             return self::outerr(errcode::ErrParamter, "请输入验证码.");
         }

+ 10 - 7
mobile/templates/default/fcode/bind.php

@@ -88,35 +88,38 @@
         $('#bind').on('tap',function ()
         {
             var validate = new Validate();
-            var mobile = validate.mobile('#tel_number');
-            var code = validate.required('#yanz');
+            var fmobile = validate.mobile('#tel_number');
+            var fcode = validate.required('#yanz');
             var commonid = '<?php echo $output['fcode']['goods_commonid']; ?>';
             var batch_code = '<?php echo $output['fcode']['batch_code']; ?>';
             var sid = '<?php echo $output['sid']; ?>';
 
-            if(!mobile) {
+            if(!fmobile) {
                 alert('请输入正确的电话号码');
                 return;
             }
-            if(!code) {
+            if(!fcode) {
                 alert('请输入正确的验证码');
                 return;
             }
 
+            var mobile = $('#tel_number').val();
+            var code   = $('#yanz').val();
+
             var data = {
                 act:'fcode',
                 op:'bind',
                 client_type:'ajax',
                 common_id:commonid,
                 batch_code:batch_code,
-                mobile:$('#tel_number').val(),
-                code:$('#yanz').val()
+                mobile:mobile,
+                code:code
             };
             ajaxServer('post','/mobile/index.php',data,function(data)
             {
                 if (data.code == 200)
                 {
-                    var url = "/mobile/index.php?act=fcode&op=index&common_id=" + commonid + "&batch_code=" + batch_code + "&HPHPSESSID=" + sid;
+                    var url = "/mobile/index.php?act=fcode&op=index&common_id=" + commonid + "&batch_code=" + batch_code + "&HPHPSESSID=" + sid +"&mobile=" + mobile;
                     location.reload(url);
                 }
                 else {