|
@@ -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([
|