SendMonthStatsEmail.php 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. <?php
  2. namespace App\Console\Commands\ProductStats;
  3. use App\Modules\Statistic\Services\SendStatsEmailService;
  4. use Illuminate\Console\Command;
  5. class SendMonthStatsEmail extends Command
  6. {
  7. /**
  8. * The name and signature of the console command.
  9. *
  10. * @var string
  11. */
  12. protected $signature = 'sendMonthOrderEmail';
  13. /**
  14. * The console command description.
  15. *
  16. * @var string
  17. */
  18. protected $description = '发送外部派单作品分析报表';
  19. /**
  20. * Create a new command instance.
  21. *
  22. * @return void
  23. */
  24. public function __construct()
  25. {
  26. parent::__construct();
  27. }
  28. /**
  29. * Execute the console command.
  30. *
  31. * @return mixed
  32. */
  33. public function handle()
  34. {
  35. //
  36. $lastMonthBegin = date('Y-m-01',strtotime('-1 month'));
  37. $lastMonthEnd = date('Y-m-d',strtotime(date('Y-m-01').' -1 day'));
  38. $data = SendStatsEmailService::getOrderStats($lastMonthBegin,$lastMonthEnd);
  39. //var_dump($data);
  40. $data = json_decode(json_encode($data),true);
  41. $page = view('email.monthStats',['datas'=>$data,'month'=>date('m月',strtotime('-1 month'))]);
  42. $html = response($page)->getContent();
  43. //\Log::info($html);
  44. $data_temp = array();
  45. foreach ($data as $key=>$value){
  46. $data_temp[] = array(
  47. $value['bid'],
  48. $value['book_name'],
  49. $value['order_num'],
  50. $value['UV'],
  51. $value['register_user_sum'],
  52. $value['recharge_sum'],
  53. $value['pid'],
  54. $value['order_num']>0?round($value['register_user_sum']/$value['order_num'],2):0,
  55. $value['order_num']>0?round($value['recharge_sum']/$value['order_num'],2):0,
  56. $value['register_user_sum']>0?round($value['recharge_sum']/$value['register_user_sum'],2):0
  57. );
  58. }
  59. $header = ['书籍ID','书籍名称','实际派单数','UV','注册用户数','充值','男女频','注册/派单','充值/派单','充值/注册'];
  60. saveExcelData($header,$data_temp,storage_path('app/last_month_send_order.xlsx'));
  61. $to_user = array(
  62. ['address'=>'zhangzg@iqiyoo.com','name'=>'张总'],
  63. //['address'=>'1373617746@qq.com','name'=>'tusx'],
  64. ['address'=>'songdb@iqiyoo.com','name'=>'songdb'],
  65. ['address'=>'zhaojp@yqsd.net','name'=>'赵君平'],
  66. ['address'=>'huangrr@yqsd.net','name'=>'黄蓉蓉'],
  67. ['address'=>'wankw@zw88.net','name'=>'万开伟'],
  68. ['address'=>'liur@iqiyoo.com','name'=>'刘嵘'],
  69. ['address'=>'chensj@zw88.net','name'=>'chensj'],
  70. ['address'=>'sijj@yqsd.net','name'=>'sijj'],
  71. ['address'=>'yuyy@yqsd.net','name'=>'俞焰艳'],
  72. );
  73. SendStatsEmailService::SendHtmlEmailWithAcce($to_user,['subject'=>date('m月',strtotime('-1 month'))."外部派单作品分析报表(修订)",'body'=>$html],storage_path('app/last_month_send_order.xlsx'));
  74. }
  75. }