Explorar el Código

工资计算优化

unknown hace 1 mes
padre
commit
2ba99a2965
Se han modificado 1 ficheros con 27 adiciones y 0 borrados
  1. 27 0
      application/api/controller/StaffSalary.php

+ 27 - 0
application/api/controller/StaffSalary.php

@@ -750,6 +750,7 @@ class StaffSalary extends Api
 
         $params = Request::instance()->param();
 
+        $params = $this->cleanParams($params);
         // 基础参数验证
         $requiredParams = ['date', 'start_date', 'end_date'];
         foreach ($requiredParams as $param) {
@@ -845,6 +846,32 @@ class StaffSalary extends Api
         }
     }
 
+    protected function cleanParams(array $params): array
+    {
+        $cleanParams = [];
+
+        foreach ($params as $key => $value) {
+            if (is_string($value)) {
+                // 去除首尾空格
+                $value = trim($value);
+
+                // 处理 sys_id 中的特殊字符
+                if ($key === 'sys_id') {
+                    // 替换斜杠为下划线
+                    $value = str_replace('/', '_', $value);
+                    // 替换其他可能的问题字符
+                    $value = preg_replace('/[^\w\-\.]/u', '_', $value);
+                }
+
+                $cleanParams[$key] = $value;
+            } else {
+                $cleanParams[$key] = $value;
+            }
+        }
+
+        return $cleanParams;
+    }
+
     /**
      * 查询工资计算状态
      */