diff --git a/app/command/CustomerCreatedAtCommand.php b/app/command/CustomerCreatedAtCommand.php
new file mode 100644
index 0000000..57a4020
--- /dev/null
+++ b/app/command/CustomerCreatedAtCommand.php
@@ -0,0 +1,69 @@
+setHelp('该命令将查询 crm_customer 表中 sn 不为空的记录,并根据 sn 在 inquiry_log 表中查找对应的 order_no 记录,将 inquiry_log 的 created_at 更新到 crm_customer 的 created_at 字段');
+ }
+
+ protected function execute(InputInterface $input, OutputInterface $output): int
+ {
+ $output->writeln('开始更新 crm_customer 的 created_at 字段...');
+
+ try {
+ // 使用事务确保数据一致性
+ DB::transaction(function () use ($output) {
+ // 查询所有 sn 字段不为空的客户记录
+ $customers = Db::table('crm_customer')
+ ->where('sn', '<>', '')
+ ->whereNotNull('sn')
+ ->get(['id', 'sn']);
+ $output->writeln(''.count($customers).'');
+
+ $updatedCount = 0;
+
+ foreach ($customers as $customer) {
+ // 查找匹配的 inquiry_log 记录
+ $inquiryLog = Db::table('inquiry_log')
+ ->where('order_no', $customer->sn)
+ ->first(['r_time','created_at']);
+
+ // 如果找到匹配记录,则更新客户的 created_at 字段
+ if ($inquiryLog && isset($inquiryLog->r_time)) {
+ $created_at = $inquiryLog->r_time?:$inquiryLog->created_at;
+ DB::table('crm_customer')
+ ->where('id', $customer->id)
+ ->update(['created_at' => $created_at]);
+
+ $updatedCount++;
+ $output->writeln("已更新客户 ID {$customer->id} 的 created_at 为: {$created_at}");
+ }
+ }
+
+ $output->writeln("更新完成,总共更新了 {$updatedCount} 条记录。");
+ });
+
+ return self::SUCCESS;
+ } catch (\Exception $e) {
+ $output->writeln('执行过程中发生错误: ' . $e->getMessage() . '');
+ return self::FAILURE;
+ }
+ }
+}
\ No newline at end of file
diff --git a/app/command/ImportCustomerCommand.php b/app/command/ImportCustomerCommand.php
index 8e79eda..61551ac 100644
--- a/app/command/ImportCustomerCommand.php
+++ b/app/command/ImportCustomerCommand.php
@@ -58,10 +58,10 @@ class ImportCustomerCommand extends Command
// 获取所有国家数据,用于匹配
$output->writeln("正在获取国家数据...");
- $countries = Country::select('id', 'cn_addr', 'en_addr')->get()->keyBy(function($item) {
- return strtolower(trim($item->cn_addr));
- });
- $output->writeln("获取到 " . $countries->count() . " 个国家数据");
+// $countries = Country::select('id', 'cn_addr', 'en_addr')->get()->keyBy(function($item) {
+// return strtolower(trim($item->cn_addr));
+// });
+// $output->writeln("获取到 " . $countries->count() . " 个国家数据");
$successCount = 0;
$errorCount = 0;
@@ -76,36 +76,38 @@ class ImportCustomerCommand extends Command
// 读取各列数据 - 使用坐标方法
try {
$countryName = trim($worksheet->getCell('B' . $row)->getValue() ?? '');
- $customerName = trim($worksheet->getCell('C' . $row)->getValue() ?? '');
+ $contacts = trim($worksheet->getCell('A' . $row)->getValue() ?? '');
+ $email = trim($worksheet->getCell('C' . $row)->getValue() ?? '');
+ $phone = trim($worksheet->getCell('D' . $row)->getValue() ?? '');
$inquiryProduct = trim($worksheet->getCell('E' . $row)->getValue() ?? '');
} catch (\Exception $cellError) {
$output->writeln("读取第{$row}行单元格时出错: " . $cellError->getMessage() . "");
continue;
}
- $output->writeln("读取数据: 国家={$countryName}, 客户={$customerName}, 产品={$inquiryProduct}");
+ $output->writeln("读取数据: 国家={$countryName}, 客户={$contacts}, 产品={$inquiryProduct}");
// 跳过空行
- if (empty($customerName)) {
- continue;
- }
+// if (empty($contacts)) {
+// continue;
+// }
// 查找国家ID
$countryId = 0;
- if (!empty($countryName)) {
- $countryKey = strtolower($countryName);
- if ($countries->has($countryKey)) {
- $countryId = $countries->get($countryKey)->id;
- } else {
- // 尝试英文名称匹配
- $countryByEn = $countries->first(function($item) use ($countryName) {
- return strtolower(trim($item->en_addr)) === strtolower($countryName);
- });
- if ($countryByEn) {
- $countryId = $countryByEn->id;
- }
- }
- }
+// if (!empty($countryName)) {
+// $countryKey = strtolower($countryName);
+// if ($countries->has($countryKey)) {
+// $countryId = $countries->get($countryKey)->id;
+// } else {
+// // 尝试英文名称匹配
+// $countryByEn = $countries->first(function($item) use ($countryName) {
+// return strtolower(trim($item->en_addr)) === strtolower($countryName);
+// });
+// if ($countryByEn) {
+// $countryId = $countryByEn->id;
+// }
+// }
+// }
// 检查是否已存在相同客户名
// $existingCustomer = Customer::where('contacts', $customerName)->first();
@@ -115,24 +117,33 @@ class ImportCustomerCommand extends Command
// }
// 创建客户记录
- $customerData = [
- 'user_id' => $userId,
- 'corp_abbr' => $corpAbbr,
- 'channel_id' => $channelId,
- 'country_id' => $countryId,
- 'contacts' => $customerName,
- 'desc_collect' => $inquiryProduct,
- 'grade' => 0, // 默认等级
- 'magnitude' => 1, // 默认商机
- 'type' => 1, // 默认类型
- 'sex' => 0, // 默认性别
- 'enter_user_id' => $userId,
+// $customerData = [
+// 'user_id' => $userId,
+// 'corp_abbr' => $corpAbbr,
+// 'channel_id' => $channelId,
+// 'country_id' => $countryId,
+// 'contacts' => $customerName,
+// 'email' => $email,
+// 'phone' => $phone,
+// 'desc_collect' => $inquiryProduct,
+// 'grade' => 0, // 默认等级
+// 'magnitude' => 1, // 默认商机
+// 'type' => 1, // 默认类型
+// 'sex' => 0, // 默认性别
+// 'enter_user_id' => $userId,
+// ];
+ $where = [
+ ['id', '<', 28110],
+ ['id', '>', 25714],
];
-
- $customer = Customer::create($customerData);
+ $customer = Customer::where('contacts',$email)->where($where)->first();
+ $customer->email = $email;
+ $customer->phone = $phone;
+ $customer->contacts = $contacts;
+ $customer->save();
$successCount++;
- $output->writeln("成功导入客户: {$customerName} (ID: {$customer->id})");
+ $output->writeln("成功导入客户: {$contacts} (ID: {$customer->id})");
} catch (\Exception $e) {
$errorCount++;