作者 刘锟

导入优化

@@ -97,6 +97,7 @@ class ProjectImport extends Command @@ -97,6 +97,7 @@ class ProjectImport extends Command
97 $success_count = 0; //成功导入条数 97 $success_count = 0; //成功导入条数
98 $repeat_count = 0; //过滤已存在条数 98 $repeat_count = 0; //过滤已存在条数
99 $fail_count = 0; 99 $fail_count = 0;
  100 + $fail_line = [];
100 if (count($line_of_text) > 1) { 101 if (count($line_of_text) > 1) {
101 102
102 //设置数据库 103 //设置数据库
@@ -134,6 +135,7 @@ class ProjectImport extends Command @@ -134,6 +135,7 @@ class ProjectImport extends Command
134 } 135 }
135 } catch (\Exception $e) { 136 } catch (\Exception $e) {
136 $fail_count += 1; 137 $fail_count += 1;
  138 + $fail_line[] = $k + 1;
137 echo 'date:' . date('Y-m-d H:i:s') . ', task_id: ' . $task->id . ', title: ' . $v[0] . ', import fail, error: ' . $e->getMessage() . PHP_EOL; 139 echo 'date:' . date('Y-m-d H:i:s') . ', task_id: ' . $task->id . ', title: ' . $v[0] . ', import fail, error: ' . $e->getMessage() . PHP_EOL;
138 } 140 }
139 } 141 }
@@ -148,7 +150,7 @@ class ProjectImport extends Command @@ -148,7 +150,7 @@ class ProjectImport extends Command
148 $task->success_count += $success_count; 150 $task->success_count += $success_count;
149 $task->save(); 151 $task->save();
150 152
151 - $this->send_mail($task->user_id, $task->created_at, $task->type, $success_count, $fail_count, $repeat_count, ''); 153 + $this->send_mail($task->user_id, $task->created_at, $task->type, $success_count, $fail_count, $repeat_count, '', $fail_line);
152 154
153 echo 'date:' . date('Y-m-d H:i:s') . ', task_id: ' . $task->id . ', import end, total count: ' . $total_count . ', success count: ' . $success_count . PHP_EOL; 155 echo 'date:' . date('Y-m-d H:i:s') . ', task_id: ' . $task->id . ', import end, total count: ' . $total_count . ', success count: ' . $success_count . PHP_EOL;
154 156
@@ -192,7 +194,7 @@ class ProjectImport extends Command @@ -192,7 +194,7 @@ class ProjectImport extends Command
192 } 194 }
193 195
194 //发送站内通知 196 //发送站内通知
195 - protected function send_mail($user_list, $time, $type, $success_count, $repeat_count, $fail_count, $reason) 197 + protected function send_mail($user_list, $time, $type, $success_count, $repeat_count, $fail_count, $reason, $fail_line = [])
196 { 198 {
197 if ($type == ImportTask::TYPE_NEWS) { 199 if ($type == ImportTask::TYPE_NEWS) {
198 $type_content = '新闻'; 200 $type_content = '新闻';
@@ -206,6 +208,7 @@ class ProjectImport extends Command @@ -206,6 +208,7 @@ class ProjectImport extends Command
206 $repeat_count && $content .= ',过滤已存在数据:' . $repeat_count . ' 条'; 208 $repeat_count && $content .= ',过滤已存在数据:' . $repeat_count . ' 条';
207 $fail_count && $content .= ',导入失败:' . $fail_count . ' 条'; 209 $fail_count && $content .= ',导入失败:' . $fail_count . ' 条';
208 $reason && $content .= ',原因:' . $reason; 210 $reason && $content .= ',原因:' . $reason;
  211 + $fail_line && $content .= ',失败行数:' . implode(',', $fail_line);
209 212
210 $mail_model = new Mail(); 213 $mail_model = new Mail();
211 $mail_model->add([ 214 $mail_model->add([