123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151 |
- <?php
- namespace App\Console\Commands\SendOrder;
- use App\Modules\Book\Services\BookTagsService;
- use App\Modules\Statistic\Services\SendStatsEmailService;
- use Illuminate\Console\Command;
- class SendStatsEmail extends Command
- {
- /**
- * The name and signature of the console command.
- *
- * @var string
- */
- protected $signature = 'sendOrderEmail';
- /**
- * The console command description.
- *
- * @var string
- */
- protected $description = '发送外部派单作品分析报表';
- /**
- * Create a new command instance.
- *
- * @return void
- */
- public function __construct()
- {
- parent::__construct();
- }
- /**
- * Execute the console command.
- *
- * @return mixed
- */
- public function handle()
- {
- //
- $this->getSuperiorBooks();
- return ;
- $beginLastweek = date('Y-m-d',mktime(0,0,0,date('m'),date('d')-date('w')+1-7,date('Y')));
- $endLastweek = date('Y-m-d',mktime(23,59,59,date('m'),date('d')-date('w')+7-7,date('Y')));
- $data = SendStatsEmailService::getOrderStats($beginLastweek,$endLastweek);
- $page = view('email.weekOrderStats',['datas'=>$data]);
- $html = response($page)->getContent();
- //\Log::info($html);
- $data_temp = array();
- $header = ['书籍ID','书籍名称','UV','注册用户数','注册/UV','强关粉','强关率(强关/注册)','充值金额','付费人数','充值/UV','强关付费率(付费/强关)','UV付费率(付费/UV)','派单数','男女频'];
- foreach ($data as $k=>$item) {
- $title='';
- switch ($k){
- case 0:$title='注册UV比高于85%';break;
- case 1:$title='注册UV比介于30%到85%';break;
- case 2:$title='注册UV比低于30%';break;
- }
- $temp = array('header'=>$header,'title'=>$title,'data'=>array());
- foreach ($item as $key=>$value) {
- $temp['data'][] = array(
- $value['bid'],
- $value['book_name'],
- $value['UV'],
- $value['register_user_sum'],
- $value['UV']>0?(round($value['register_user_sum']/$value['UV'],4)*100).'%':0,
- $value['force_user_sum'],
- $value['register_user_sum']>0?(round($value['force_user_sum']/$value['register_user_sum'],4)*100).'%':0,
- $value['recharge_sum'],
- $value['pay_user_num'],
- $value['UV']>0?round($value['recharge_sum']/ $value['UV'],2):0,
- $value['force_user_sum']>0?(round($value['pay_user_num']/$value['force_user_sum'],4)*100).'%':0,
- $value['UV']>0?(round($value['pay_user_num']/$value['UV'],4)*100).'%':0,
- $value['send_orders_num'],
- $value['pid']
- );
- }
- $data_temp[] = $temp;
- }
- saveExcelDataToMultiSheet($data_temp,storage_path('app/last_week_send_order.xlsx'));
- $to_user = array(
- ['address'=>'zhangzg@iqiyoo.com','name'=>'张总'],
- //['address'=>'1373617746@qq.com','name'=>'tusx'],
- ['address'=>'songdb@iqiyoo.com','name'=>'songdb'],
- ['address'=>'zhaojp@yqsd.net','name'=>'赵君平'],
- ['address'=>'huangrr@yqsd.net','name'=>'黄蓉蓉'],
- ['address'=>'wankw@zw88.net','name'=>'万开伟'],
- ['address'=>'liur@iqiyoo.com','name'=>'刘嵘'],
- ['address'=>'chensj@zw88.net','name'=>'chensj'],
- ['address'=>'sijj@yqsd.net','name'=>'sijj'],
- ['address'=>'yuyy@yqsd.net','name'=>'俞焰艳'],
- ['address'=>'panxp@zw88.net','name'=>'潘霞萍']
- );
- SendStatsEmailService::SendHtmlEmailWithAcce($to_user,['subject'=>"上周( $beginLastweek 至 $endLastweek )外部派单作品分析报表",'body'=>$html],storage_path('app/last_week_send_order.xlsx'));
- }
- private function getSuperiorBooks() {
- $data = SendStatsEmailService::getOrderStatsNew();
- $page = view('email.daySendOrderStats',['datas'=>$data]);
- $html = response($page)->getContent();
- //\Log::info($html);
- $data_temp = array();
- $header = ['书籍ID','书籍名称','是否下架','篇幅','24小时uv','24小时充值总额','72小时uv','72小时充值总额','uv','24~72小时充值增长','24小时充值比24小时UV','72小时充值比24小时UV','强关率'];
- foreach ($data as $k=>$item) {
- $title='';
- switch ($k){
- case 0:$title='注册UV比高于85%';break;
- //case 1:$title='注册UV比介于30%到85%';break;
- case 1:$title='注册UV比低于30%';break;
- }
- $temp = array('header'=>$header,'title'=>$title,'data'=>array());
- foreach ($item as $key=>$value) {
- $temp['data'][] = array(
- $value['bid'],
- $value['book_name'],
- $value['is_on_shelf']==1?'内部上架':'外部上架',
- $value['charge_type']=='BOOK'?'短篇':'长篇',
- $value['uv_one_day_sum'],
- $value['recharge_amount_in_one_day'],
- $value['uv_three_day_sum'],
- $value['recharge_amount_in_three_days'],
- $value['UV'],
- $value['recharge_amount_in_one_day']>0?round(($value['recharge_amount_in_three_days']-$value['recharge_amount_in_one_day'])/$value['recharge_amount_in_one_day'],2):0,
- $value['uv_one_day_sum']>0?round(($value['recharge_amount_in_one_day']/$value['uv_one_day_sum']),2):0,
- //$value['uv_three_day_sum']>0?round(($value['recharge_amount_in_three_days']/$value['uv_three_day_sum']),2):0,
- $value['uv_one_day_sum']>0?round(($value['recharge_amount_in_three_days']/$value['uv_one_day_sum']),2):0,
- $value['register_user_sum']>0?(round(($value['force_user_sum']/$value['register_user_sum']),4)*100).'%':0,
- );
- }
- $data_temp[] = $temp;
- }
- saveExcelDataToMultiSheet($data_temp,storage_path('app/last_week_send_order.xlsx'));
- $to_user = array(
- ['address'=>'zhangzg@iqiyoo.com','name'=>'张总'],
- //['address'=>'1373617746@qq.com','name'=>'tusx'],
- ['address'=>'1298192057@qq.com','name'=>'刘杰'],
- ['address'=>'chensj@zw88.net','name'=>'陈帅君'],
- ['address'=>'zhaojp@yqsd.net','name'=>'赵君平'],
- ['address'=>'panxp@zw88.net','name'=>'潘霞萍']
- );
- SendStatsEmailService::SendHtmlEmailWithAcce($to_user,['subject'=>date('Y-m-d',strtotime('-1 day'))."优质书外部派单分析报表",'body'=>$html],storage_path('app/last_week_send_order.xlsx'));
- }
- }
|