TitleImageStatistics.php 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. <?php
  2. /**
  3. 维护公众号交互的用户表
  4. */
  5. namespace App\Console\Commands\Tool;
  6. use Log;
  7. use Illuminate\Console\Command;
  8. use App\Modules\Promotion\Services\PromotionService;
  9. use App\Modules\Promotion\Models\TempTitleImageStatistic;
  10. use DB;
  11. use Redis;
  12. class TitleImageStatistics extends Command
  13. {
  14. /**
  15. * 执行命令 TitleImageStatistics
  16. *
  17. * The name and signature of the console command.
  18. *
  19. * @var string
  20. */
  21. protected $signature = 'TitleImageStatistics';
  22. /**
  23. * The console command description.
  24. *
  25. * @var string
  26. */
  27. protected $description = '标题图片统计';
  28. /**
  29. * Execute the console command.
  30. *
  31. * @return mixed
  32. */
  33. public function handle()
  34. {
  35. ini_set('memory_limit', '1024M');
  36. print_r('memory_used:'.memory_get_usage()."\n");
  37. print_r("======标题图片统计【任务执行开始】=====".date("y-m-d H:i:s"."\n"));
  38. $headlines = PromotionService::getFullHeadline();
  39. $images = PromotionService::getFullMessageRandomDocumentCovers(3);
  40. $calculate_time = date('Y-m-d H:i:s');
  41. foreach($headlines as $key=>$headline){
  42. \Log::info('headlines_key:'.$key);
  43. foreach($images as $image){
  44. try{
  45. $title_image_key = $headline['id'].'_'.$image['id'];
  46. // \Log::info('TitleImageStatistics_title_image_key:'.$title_image_key);
  47. $title_image_statistics_key = 'smart_push_from_title_image:'.$title_image_key;
  48. $send_num = Redis::hget($title_image_statistics_key,'send_num');
  49. if($send_num > 0){
  50. \Log::info('TitleImageStatistics_insert_title_image_key:'.$title_image_key);
  51. $title_image_send_uv_key = 'smart_push_from_title_image_send_uv:'.$title_image_key;
  52. $title_image_click_uv_key = 'smart_push_from_title_image_click_uv:'.$title_image_key;
  53. $send_uv = Redis::SCARD($title_image_send_uv_key);
  54. $click_uv = Redis::SCARD($title_image_click_uv_key);
  55. $click_num = Redis::hget($title_image_statistics_key,'click_num');
  56. $insert_data = [
  57. 'title_id'=>$headline['id'],
  58. 'image_id'=>$image['id'],
  59. 'send_uv'=>isset($send_uv)?$send_uv:0,
  60. 'click_uv'=>isset($click_uv)?$click_uv:0,
  61. 'send_num'=>isset($send_num)?$send_num:0,
  62. 'click_num'=>isset($click_num)?$click_num:0,
  63. 'calculate_time'=>$calculate_time,
  64. ];
  65. \Log::info($insert_data);
  66. TempTitleImageStatistic::create($insert_data);
  67. }
  68. }catch(\Exception $e){
  69. \Log::info('TitleImageStatistics_ept:'.$e->getMessage());
  70. }
  71. }
  72. }
  73. print_r("======标题图片统计 【任务执行结束】=====".date("y-m-d H:i:s"."\n"));
  74. print_r('memory_used:'.memory_get_usage()."\n");
  75. }
  76. }