小说推广数据系统

SunnyAccount.php 2.0KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. <?php
  2. namespace App\Console\Commands;
  3. use App\Log;
  4. use App\Models\SunnyTask;
  5. use App\Services\HttpService;
  6. use App\Services\SunService;
  7. use Illuminate\Console\Command;
  8. class SunnyAccount extends Command
  9. {
  10. protected $signature = 'SunnyAccount';
  11. protected $description = '阳光平台账号信息获取';
  12. public function handle()
  13. {
  14. \DB::connection()->disableQueryLog();
  15. $this->info(date('m-d H:i:s') . ' 开始整理');
  16. $this->getAccountList();
  17. $this->info(date('m-d H:i:s') . ' 整理结束');
  18. }
  19. public function getAccountList()
  20. {
  21. $params = [
  22. 'vip_id' => SunService::VIP_ID,
  23. ];
  24. # 签名
  25. $params = SunService::sign($params);
  26. $requestUri = SunService::API_BASE_URL . SunService::CHANNEL_LIST;
  27. # 获取响应数据
  28. $response = HttpService::httpPost($requestUri, $params);
  29. if($response === false)
  30. Log::logError('阳光公众账号数据获取失败' . $requestUri, $params, 'SunAccountData');
  31. $responseData = json_decode($response, true);
  32. if(isset($responseData['error_code']) && $responseData['error_code']==0) {
  33. # 记录任务信息
  34. $taskId = isset($responseData['data']['task_id']) ? $responseData['data']['task_id'] : null;
  35. if(empty($taskId)) {
  36. Log::logError('账号列表获取任务创建失败', $responseData, 'SunAccount');
  37. $this->info('获取账号列表任务设置失败');
  38. return false;
  39. }
  40. $result = SunnyTask::setTask($taskId, SunnyTask::CHANNEL_TYPE);
  41. if(!$result) {
  42. Log::logError('账号列表获取任务失败', [
  43. 'task_id' => $taskId,
  44. 'type' => SunnyTask::CHANNEL_TYPE
  45. ], 'SunAccount');
  46. return false;
  47. }
  48. } else {
  49. Log::logError('账号列表获取任务失败', $responseData, 'SunAccount');
  50. return false;
  51. }
  52. return true;
  53. }
  54. }