作者 zhl

推送v5项目域名到期提醒

@@ -36,12 +36,11 @@ class DomainInfo extends Command @@ -36,12 +36,11 @@ class DomainInfo extends Command
36 */ 36 */
37 protected $description = '域名相关'; 37 protected $description = '域名相关';
38 38
  39 + private $domains = [];
  40 +
39 /** 41 /**
40 - * @remark :更新证书+证书有效时间  
41 - * @name :handle  
42 - * @author :lyh  
43 - * @method :post  
44 - * @time :2023/9/11 15:09 42 + * 更新证书+证书有效时间
  43 + * @return bool
45 */ 44 */
46 public function handle() 45 public function handle()
47 { 46 {
@@ -57,6 +56,9 @@ class DomainInfo extends Command @@ -57,6 +56,9 @@ class DomainInfo extends Command
57 //创建的自定义小语种域名证书到期更新 56 //创建的自定义小语种域名证书到期更新
58 $this->startUpdateCustomCert(); 57 $this->startUpdateCustomCert();
59 58
  59 + // 推送v5项目域名到期信息
  60 + $this->domainChatMessageV5();
  61 +
60 return true; 62 return true;
61 } 63 }
62 64
@@ -413,6 +415,7 @@ class DomainInfo extends Command @@ -413,6 +415,7 @@ class DomainInfo extends Command
413 ->value('friend_id'); 415 ->value('friend_id');
414 if ($friend_id) { 416 if ($friend_id) {
415 $top_domain = getTopDomain($domain); 417 $top_domain = getTopDomain($domain);
  418 + $this->domains[] = $top_domain;
416 $tips = $is_end ? ' 已经到期,请及时处理。' : ' 有效期不足一个月,请留意。'; 419 $tips = $is_end ? ' 已经到期,请及时处理。' : ' 有效期不足一个月,请留意。';
417 $message = '【域名到期提醒】' . PHP_EOL . '域名 ' . $top_domain . $tips; 420 $message = '【域名到期提醒】' . PHP_EOL . '域名 ' . $top_domain . $tips;
418 $param = [ 421 $param = [
@@ -429,4 +432,46 @@ class DomainInfo extends Command @@ -429,4 +432,46 @@ class DomainInfo extends Command
429 $messagePushModel->add($param); 432 $messagePushModel->add($param);
430 } 433 }
431 } 434 }
  435 +
  436 + /**
  437 + * 推送v5 项目域名到期时间
  438 + * @return bool
  439 + */
  440 + public function domainChatMessageV5()
  441 + {
  442 + $domain_json = @file_get_contents('https://www.quanqiusou.cn/extend_api/aicc/domain_expire_lists.php');
  443 + $domains = json_decode($domain_json, true);
  444 + if (empty($domains))
  445 + return true;
  446 +
  447 + $send_domain = $this->domains;
  448 + $today = date('Y-m-d');
  449 + $messagePushModel = new MessagePush();
  450 + foreach ($domains as $item) {
  451 + if (empty($item['domain']) || empty($item['friend_id'])) {
  452 + continue;
  453 + }
  454 + // 避免重复推送域名到期提示
  455 + if (in_array($item['domain'], $send_domain)) {
  456 + continue;
  457 + } else {
  458 + array_push($send_domain, $item['domain']);
  459 + }
  460 +
  461 + $tips = $item['end_at'] >= $today ? ' 有效期不足一个月,请留意。' : ' 已经到期,请及时处理。';
  462 + $message = '【域名到期提醒】' . PHP_EOL . '域名 ' . $item['domain'] . $tips;
  463 + $param = [
  464 + 'project_id' => $item['project_id'],
  465 + 'friend_id' => $item['friend_id'],
  466 + 'type' => MessagePush::TYPE_DOMAIN_V5,
  467 + 'content' => $message,
  468 + 'ref_ids' => 0,
  469 + 'send_time' => date('Y-m-d 15:00:00'),
  470 + 'status' => 0,
  471 + ];
  472 + //写入一条推送消息 自动消费
  473 + $messagePushModel->add($param);
  474 + }
  475 + return true;
  476 + }
432 } 477 }
@@ -29,6 +29,7 @@ class MessagePush extends Base @@ -29,6 +29,7 @@ class MessagePush extends Base
29 const TYPE_WEEK = 'week'; 29 const TYPE_WEEK = 'week';
30 const TYPE_TICKET = 'Ticket'; 30 const TYPE_TICKET = 'Ticket';
31 const TYPE_DOMAIN = 'domain'; 31 const TYPE_DOMAIN = 'domain';
  32 + const TYPE_DOMAIN_V5 = 'domain_v5';
32 //设置关联表名 33 //设置关联表名
33 /** 34 /**
34 * @var mixed 35 * @var mixed