sandm 1 年之前
父節點
當前提交
d035316bc1
共有 1 個文件被更改,包括 28 次插入10 次删除
  1. 28 10
      server/api/modules/v1/controllers/SurveyController.php

+ 28 - 10
server/api/modules/v1/controllers/SurveyController.php

@@ -217,7 +217,6 @@ class SurveyController extends Controller {
             $is_match = [];
             foreach ($filter as $key1 => $value1){
                 if(!empty($value1)){
-
                     if(array_key_exists($value1,$data) && !empty($data[$value1]) && $data[$value1] != '请选择' && !in_array($value1,['shengte','shenga','quanyi','shengb','rencaileixing','zhuanyelingyunianxian'])){
                         if(strpos($value['title'],(string)$data[$value1]) === false){//如果用户提交的信息字眼有出现在政策条件内,相当于条件符合
                             $is_match[$key1] = false;
@@ -226,14 +225,38 @@ class SurveyController extends Controller {
                             $is_match[$key1] = true;
                         }
                     }
-
                     if(strpos($value1,'-') !== false){//如果有存在或关系
                         $filter1 = explode('-',$value1);
                         $i = 0;
                         foreach ($filter1 as $key2 => $value2){
-                            if(array_key_exists($value2,$data) && !empty($data[$value2]) && $data[$value2] != '请选择'){
-                                if(strpos($value['title'],(string)$data[$value2]) !== false){//如果用户提交的信息字眼有出现在政策条件内,相当于条件符合
-                                    $i++;
+                            if(!in_array($value2,['shengte','shenga','quanyi','shengb','rencaileixing','zhuanyelingyunianxian'])){
+                                if(array_key_exists($value2,$data) && !empty($data[$value2]) && $data[$value2] != '请选择'){
+                                    if(strpos($value['title'],(string)$data[$value2]) !== false){//如果用户提交的信息字眼有出现在政策条件内,相当于条件符合
+                                        $i++;
+                                    }
+                                }
+                            }else{
+                                if(strpos($value2,'|') !== false){
+                                    $filter3 = explode('|',$value2);
+                                    if(array_key_exists($filter3[0],$data) && !empty($data[$filter3[0]]) && $data[$filter3[0]] != '请选择'){
+                                        switch ($filter3[1]){
+                                            case '>=':
+                                                if($data[$filter3[0]] >= $filter3[2]){
+                                                    $i++;
+                                                }
+                                                break;
+                                            case '=':
+                                                if($data[$filter3[0]] == $filter3[2]){
+                                                    $i++;
+                                                }
+                                                break;
+                                            case '<=':
+                                                if($data[$filter3[0]] <= $filter3[2] && $data[$filter3[0]] > 0){
+                                                    $i++;
+                                                }
+                                                break;
+                                        }
+                                    }
                                 }
                             }
                         }
@@ -244,8 +267,6 @@ class SurveyController extends Controller {
                             $is_match[$key1] = true;
                         }
                     }
-
-
                     if(strpos($value1,'|') !== false){//如果有存在判断大小
                         $filter2 = explode('|',$value1);
                         if(array_key_exists($filter2[0],$data) && !empty($data[$filter2[0]]) && $data[$filter2[0]] != '请选择'){
@@ -281,10 +302,8 @@ class SurveyController extends Controller {
                             continue 2;
                         }
                     }
-
                 }
             }
-
             $match_count = 0;
             foreach ($is_match as $v){
                 if($v){
@@ -333,7 +352,6 @@ class SurveyController extends Controller {
         //去重复
 		$cengci = [];      
         foreach ($list as $value) {
-
             if(isset($cengci[$value['level']])){
                 unset($value['level']);
             }else{