فهرست منبع

修改一下fullorder的提交保存 不能判断重复的问题

lvhao 3 ساعت پیش
والد
کامیت
63a2c05ca3
2فایلهای تغییر یافته به همراه54 افزوده شده و 0 حذف شده
  1. 7 0
      core/CoreApp/controllers/Fullorder.php
  2. 47 0
      core/CoreApp/models/Model_logic_order.php

+ 7 - 0
core/CoreApp/controllers/Fullorder.php

@@ -1998,6 +1998,13 @@ class Fullorder extends Start_Controller {
 			// $ud['fpdata'] = str_replace(" ", "", $ud['fpdata']); // 去除所有空格
 			// $ud['fpdata'] = str_replace(array("\r", "\n"), "", $ud['fpdata']);
 
+
+			//减少代码复用吧
+			$lo_ret = $this->logic_order->checkEditExpress($post);
+			if($lo_ret['code'] != 1){
+				echo json_encode(array('msg'=>$lo_ret['msg'],'success'=>false));exit;
+			}
+
 			if($ud['estimaterate'] == 1){
 				$post['budget'] = $ud['shouldmoney'];
 			}

+ 47 - 0
core/CoreApp/models/Model_logic_order.php

@@ -161,9 +161,48 @@ class Model_logic_order extends Lin_Model {
             'pmen_list'=>$pmen_list,
         ];
     }
+    //检验是否存在重复提交的问题
+    public function checkRepeat($post){
+
+        $str = $post['whlabel'];
+        $tmp_arr = explode("|",trim($str,"|"));
+        $check_arr = [];
+        foreach($tmp_arr as $k=>$v){
+            if(empty($v)){
+                continue;
+            }
+            $ttt_arr = explode("-",$v);
+            if(isset($check_arr[$ttt_arr[0]])){
+                $check_arr[$ttt_arr[0]] = $check_arr[$ttt_arr[0]] + 1; 
+            }else{
+                $check_arr[$ttt_arr[0]] = 1;    
+            }
+        }
+
+        $flag = true;
+
+        foreach($check_arr as $k=>$v){
+            if(empty($k)){
+                continue;
+            }
+            if($v > 1){
+                $flag = false;
+            }
+        }
+        return $flag;
+    }
  
     //根据提交信息 校验一下快递是够满足对应条件
     public function checkEditExpress($post,$extra_data =[]){
+        //校验商品是否重复
+        $rr = $this->checkRepeat($post);
+        if(!$rr){
+            return [
+                'code'=>-1,
+                "msg"=>"料品有重复,请核对后提交"
+            ];
+        }
+
         $r = $this->checkServerType($post,$extra_data);
         if(!$r){
             return [
@@ -414,6 +453,14 @@ class Model_logic_order extends Lin_Model {
 
     //根据提交信息 校验一下客户下单是否正确
     public function checkEditCustomer($post,$extra_data =[]){
+        //校验商品是否重复
+        $rr = $this->checkRepeat($post);
+        if(!$rr){
+            return [
+                'code'=>-1,
+                "msg"=>"料品有重复,请核对后提交"
+            ];
+        }
         $r = $this->checkServerType($post,$extra_data);
         if(!$r){
             return [