Channel.php
2.2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
<?php
namespace App\Models\Channel;
use App\Models\Base;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Facades\Cache;
use phpDocumentor\Reflection\Types\Self_;
/**
* Class Channel
* @package App\Models
* @author zbj
* @date 2023/6/27
*/
class Channel extends Base
{
//设置关联表名
protected $table = 'gl_channel';
public static function sync($data, $zone_id){
$channel = self::where('source_id', $data['id'])->first();
if(!$channel){
$channel = new self();
}
$channel->zone_id = $zone_id;
$channel->title = $data['company_name'];
$channel->alias = $data['company_alias'];
$channel->province = $data['province'];
$channel->contact_name = $data['contact_name'];
$channel->contact_mobile = $data['contact_mobile'];
$channel->source_id = $data['id'];
$channel->save();
return $channel;
}
public static function getProjectChannel($source_id, $sales){
$channel = self::where('source_id', $source_id)->first();
if(!$channel){
return [];
}
$userModel = new User();
$user = $userModel->read(['name'=>$sales,'channel_id'=>$channel['id']]);
if(!$user){
$data = [
'channel_id' => $channel['id'] ?? 0,
'name'=>$sales
];
$user['id'] = $userModel->addReturnId($data);
}
return [
'zone_id' => (string)$channel['zone_id'] ?? 0,
'channel_id' => (string)$channel['id'] ?? 0,
'user_id' => (string)$user['id'] ?? 0,
];
}
public static function getChannelText($sales_id){
$channel_alias = Cache::get('channel_alias_'.$sales_id);
if(empty($channel_alias)){
$user = User::where('id', $sales_id)->select(['name', 'channel_id'])->first();
if(!$user){
return $sales_id;
}
$channel_alias = self::where('id', $user['channel_id'])->value('alias');
$channel_alias = $channel_alias . '-' . $user['name'];
Cache::put('channel_alias_'.$sales_id,$channel_alias,24 * 3600);
}
return $channel_alias;
}
}