ufutx.dma/app/Imports/CustomerVisitImport.php
2026-03-04 14:42:40 +08:00

97 lines
3.1 KiB
PHP

<?php
namespace App\Imports;
use App\Models\S2Customer;
use App\Models\S2CustomerVisitRecord;
use App\Models\User;
use Illuminate\Support\Facades\Hash;
use Log;
class CustomerVisitImport implements \Maatwebsite\Excel\Concerns\ToArray
{
/**
* @inheritDoc
*/
public function array(array $array)
{
$no_user_list = [];
foreach($array as $key => $arr) {
continue;
if ($key == 0) continue;
if (!$arr[0]) continue;
$mobile = $arr[7];
Log::info($mobile);
$enMobile = aesEncryptCBC($mobile);
$customer_name = $arr[5];
$status = 3;
if($arr[9] == "跟进中") {
$status = 2;
}
$remark = $arr[10];
$province = $arr[2];
$city = $arr[3];
$dist = $arr[4];
$date = $arr[1];
$principal = $arr[6];
if ($date) {
$date = $this->excelTime($date);
}
$user = User::where(function($sql) use($mobile,$enMobile){
$sql->where("mobile", $mobile)->orWhere("mobile", $enMobile);
})->whereIn("source", [User::SOURCE_H5, User::SOURCE_WORK, User::SOURCE_WORK])->first();
if (empty($user)) {
$no_user_list[] = $arr[6]."-".$mobile."-".$enMobile;
continue;
}
if (!$customer_name) continue;
$customer = S2Customer::where("user_id", $user->id)->where("customer_name", $customer_name)->first();
if (!$customer) {
$customer = S2Customer::create([
"user_id"=>$user->id,
"customer_name"=>$customer_name,
"customer_type"=>201,
"status"=>$status,
"remark"=>$remark,
"province"=>$province,
"city"=>$city,
"dist"=>$dist,
"principal"=>$principal,
"contacts_name"=>"",
"contacts_mobile"=>"",
"intention"=>0,
]);
}
$visit = S2CustomerVisitRecord::where("customer_id", $customer->id)->where("user_id", $user->id)->where("visit_time", $date)->first();
if ($visit) continue;
S2CustomerVisitRecord::create([
"customer_id"=>$customer->id,
"user_id"=>$user->id,
"visit_type"=>1,
"visit_time"=>$date,
"visit_address"=>$province.$city.$dist,
"visit_result"=>$remark?:"",
"visit_theme"=>""
]);
}
}
public function excelTime($excelTime, $time = false)
{
if (!empty($excelTime)) {
// $excelTime = $excelTime;
$timestamp = (($excelTime - 25569) * 86400);
$formatDate = date("Y-m-d", $timestamp);
if ($time) {
$formatDate = date("Y-m-d H:i:s", $timestamp);
}
return $formatDate;
}
return $excelTime;
}
}