DeepReadRecord.php 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. <?php
  2. namespace App\Modules\PersonalOp\Models;
  3. use Illuminate\Database\Eloquent\Model;
  4. use DB;
  5. class DeepReadRecord extends Model
  6. {
  7. protected $table = 'deep_read_records';
  8. protected $fillable = ['uid','bid','appid','first_sub_time','deep_sub_time','charge_type'];
  9. /**
  10. * 方法暂时弃用,才哥那边有跑脚本
  11. * @param unknown_type $recent_bids
  12. */
  13. public static function getDeepReCommendBids($recent_bids){
  14. $now = date('Y-m-d H:i:s');
  15. $today = date('Y-m-d');
  16. $result = [];
  17. $user_deep_bid_nums = [];
  18. $user_deep_bids = [];
  19. $recommend_bid_nums = DB::select('
  20. select d.uid,d.bid,d.deep_sub_time,d.id,
  21. (select d2.bid from deep_read_records d2 where d2.uid=d.uid and d2.id <> d.id order by deep_sub_time desc limit 1 ) as recommend_bid
  22. from deep_read_records d
  23. where d.bid '.db_create_in($recent_bids).'
  24. ');
  25. if(!empty($recommend_bid_nums)){
  26. // 计算from_bid 频率最高的recommend_bid
  27. foreach($recommend_bid_nums as $recommend_bid_num){
  28. if($recommend_bid_num->recommend_bid == '') continue;
  29. if(isset($user_deep_bid_nums[$recommend_bid_num->bid][$recommend_bid_num->recommend_bid])) {
  30. $user_deep_bid_nums[$recommend_bid_num->bid][$recommend_bid_num->recommend_bid] ++;
  31. }else{
  32. $user_deep_bid_nums[$recommend_bid_num->bid][$recommend_bid_num->recommend_bid] = 1;
  33. }
  34. }
  35. foreach($user_deep_bid_nums as $from_bid=>$user_deep_bid_num){
  36. arsort($user_deep_bid_nums[$from_bid]);
  37. // \Log::info('$user_deep_bid_nums');\Log::info($user_deep_bid_nums[$from_bid]);
  38. $user_deep_bid_nums[$from_bid] = array_slice($user_deep_bid_nums[$from_bid],0,5,true);
  39. }
  40. }
  41. $result = $user_deep_bid_nums;
  42. return $result;
  43. }
  44. }