Selaa lähdekoodia

工资计算优化

unknown 1 kuukausi sitten
vanhempi
sitoutus
77e70f2534

+ 5 - 2
application/api/controller/StaffSalary.php

@@ -690,7 +690,7 @@ class StaffSalary extends Api
         $redisConfig = [
             'host'       => '127.0.0.1',
             'port'       => 6379,
-            'password'   => '123456',
+            'password'   => '',
             'select'     => 15,
             'timeout'    => 0,
             'persistent' => false,
@@ -728,7 +728,10 @@ class StaffSalary extends Api
             $this->error('队列任务投递失败');
         }
 
-        Log::info('工资计算队列任务投递成功', ['task_id' => $taskId, 'queue_id' => $queueResult]);
+        Log::info('工资计算队列任务投递成功', [
+            'task_id' => (int)$taskId,
+            'queue_id' => (string)$queueResult // 确保queue_id为字符串
+        ]);
         $this->success('任务已提交,正在计算中', ['task_id' => $taskId]);
     }
 }

+ 11 - 6
application/job/InsertDataJob.php

@@ -181,7 +181,9 @@ class InsertDataJob
     {
         // 1. 基础参数校验
         if (!is_array($data) || empty($data['task_id']) || empty($data['date'])) {
-            Log::error('队列任务参数错误', ['data' => $data]);
+            Log::error('队列任务参数错误', [
+                'data' => json_encode($data, JSON_UNESCAPED_UNICODE) // 序列化复杂数组
+            ]);
             $job->delete(); // 参数错误直接删除任务
             return;
         }
@@ -208,7 +210,10 @@ class InsertDataJob
                     'result' => json_encode($result, JSON_UNESCAPED_UNICODE),
                     'update_time' => date('Y-m-d H:i:s')
                 ]);
-                Log::info('工资计算队列任务执行成功', ['task_id' => $taskId, 'date' => $data['date']]);
+                Log::info('工资计算队列任务执行成功', [
+                    'task_id' => (int)$taskId,
+                    'date' => (string)($data['date'] ?? '')
+                ]);
                 return;
             }
 
@@ -217,10 +222,10 @@ class InsertDataJob
 
         } catch (\Exception $e) {
             Log::error('工资计算队列任务执行失败', [
-                'task_id' => $taskId,
-                'error' => $e->getMessage(),
-                'trace' => $e->getTraceAsString(),
-                'attempts' => $job->attempts()
+                'task_id' => (int)$taskId,
+                'error' => (string)$e->getMessage(),
+                'trace' => substr((string)$e->getTraceAsString(), 0, 2000), // 截断超长trace
+                'attempts' => (int)$job->attempts()
             ]);
 
             // 6. 达到最大重试次数则标记失败,否则重试

+ 8 - 8
application/service/SalaryCalculationService.php

@@ -86,10 +86,10 @@ class SalaryCalculationService
             }
 
             Log::info('工资计算完成', [
-                'start_date' => $startDate,
-                'end_date' => $endDate,
-                'total_rows' => count($finalData),
-                'insert_rows' => $insertResult
+                'start_date' => (string)$startDate,
+                'end_date' => (string)$endDate,
+                'total_rows' => (int)count($finalData),
+                'insert_rows' => (int)$insertResult
             ]);
 
             return [
@@ -102,10 +102,10 @@ class SalaryCalculationService
             ];
 
         } catch (Exception $e) {
-            Log::error('工资计算服务执行失败', [
-                'error' => $e->getMessage(),
-                'trace' => $e->getTraceAsString(),
-                'params' => $params
+            LLog::error('工资计算服务执行失败', [
+                'error' => (string)$e->getMessage(),
+                'trace' => (string)$e->getTraceAsString(),
+                'params' => json_encode($params, JSON_UNESCAPED_UNICODE) // 序列化复杂参数
             ]);
             return [
                 'success' => false,