12345678910111213141516171819202122232425262728293031323334353637383940 |
- <?php
- /**
- * Created by PhpStorm.
- * User: z-yang
- * Date: 2019/3/22
- * Time: 10:53
- */
- namespace App\Modules\User\Services;
- use App\Modules\User\Models\UserDivisionProperty;
- use DB;
- class userDivisionPropertyService
- {
- public static function getUserPropertyFromTable($uid){
- return UserDivisionProperty::where('uid',$uid)->where('is_enable',1)->select('property','created_at')->first();
- }
- public static function getUserPropertyFromStats($uid){
- $sql = "SELECT f.uid,f.subscribe_time,f.appid,(o.price) FROM force_subscribe_users f LEFT JOIN orders o on f.uid = o.uid and o.`status` = 'PAID'
- and o.created_at>=f.subscribe_time and o.created_at <= DATE_ADD(f.subscribe_time,INTERVAL 3 day) where f.is_subscribed = 1 and f.uid = %s ";
- $res = DB::select(sprintf($sql,$uid));
- if(!$res){
- return '';
- }
- $data = [];
- foreach ($res as $value){
- $data[] = ['subscribe_time'=>$value->subscribe_time,'appid'=>$value->appid,'price'=>$value->price];
- }
- if(!$data) return '';
- $collection = collect($data);
- $sort = $collection->groupBy('appid')->sortByDesc(function($item, $key){
- return $item[0]['subscribe_time'];
- });
- print_r($sort->all());
- }
- }
|