| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 | <?php/** * Created by PhpStorm. * User: sogndb * Date: 2018/02/05 * Time: 下午5:26 */namespace App\Console\Commands\SendOrder;use App\Modules\SendOrder\Models\SendOrderForceDayStat;use App\Modules\SendOrder\Services\SendOrderForceDayStatService;use App\Modules\SendOrder\Services\SendOrderStatService;use Illuminate\Console\Command;use Log;use DB;class GenerateDayByBooksStat extends Command{    /**     * 执行命令   php artisan send_order_generate_force_day_stat     *     * The name and signature of the console command.     *     * @var string     */    protected $signature = 'send_order:generate_stats_by_bid';    /**     * The console command description.     *     * @var string     */    protected $description = '每日图书派单数据生成';    /**     * Execute the console command.     *     * @return mixed     */    public function handle()    {        $i=1;        $date = date("Y-m-d", strtotime(' -'.$i.' day'));        $data = SendOrderForceDayStatService::getSendOrdersDayStatsByBid($date);        $to_insert = json_decode(json_encode($data),true);        \DB::table('book_promotion_day_stats')->insert($to_insert);        $end_order_stats = \DB::table('send_orders_force_day_stats')            ->join('books','send_orders_force_day_stats.bid','=','books.id')            ->join('book_categories','book_categories.id','=','books.category_id')            ->where('send_orders_force_day_stats.date',$date)            ->select([DB::raw('sum(send_orders_force_day_stats.recharge_amount) as total_recharge'),'pid'])            ->groupBy('book_categories.pid')            ->get();        $male_recharge=$female_recharge=0;        foreach ($end_order_stats as $end_order_stat){            if($end_order_stat->pid==1) $male_recharge = $end_order_stat->total_recharge;            if($end_order_stat->pid==2) $female_recharge = $end_order_stat->total_recharge;        }        $insert_data = compact('male_recharge','female_recharge');        $insert_data['date'] = $date;        $insert_data['created_at']=date('Y-m-d H:i:s');        $insert_data['updated_at']=date('Y-m-d H:i:s');        DB::table('order_gender_stats')->insert($insert_data);    }}
 |