GameInfo.php 2.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. <?php
  2. namespace app\common\model;
  3. use think\Db;
  4. use think\Config;
  5. /**
  6. * 游戏扩展表
  7. * @author Administrator
  8. */
  9. class GameInfo extends \think\Model
  10. {
  11. protected $pk = 'id';
  12. protected $table = 'cy_gameinfo';
  13. protected $dateFormat = false; //时间戳格式不自动转换
  14. /**
  15. ** 官网中,根据cy_game表中的lanmu字段,获取热门游戏、最新游戏、本周推荐信息
  16. *@param $condition array 查询条件
  17. *
  18. *@return $list array
  19. */
  20. public function getGameInfoByLanmu($condition,$limit = 6)
  21. {
  22. $condition['g.cooperation_status'] = ['in','1,2'];
  23. $condition['g.is_show'] = 1;
  24. $list = Db::connect(config('database_slave'))->table('cy_gameinfo info,cy_game g')->cache(Config::get('QUERY_RESULT_CACHE_TIME'))
  25. ->join('cy_gametype t', 'g.type = t.id','left')
  26. ->join('cy_gamesubject s', 'g.subject = s.id','left')
  27. ->join('cy_sdkgamelist sdk', 'g.id=sdk.gameid and sdk.package_type=0 and sdk.upload_status=1 and sdk.channel_id='.MEMBER_DEFAULT_CHANNEL_ID,'left')
  28. ->field('g.nickname,g.id,info.androidurl,info.platform,info.show_style,g.pinyin,info.mobileicon,g.type,g.subject,t.name as typename,s.name as subjectname,info.description,sdk.filename')
  29. ->where('info.game_id=g.id')
  30. ->where($condition)
  31. ->limit(0,$limit)
  32. ->order('g.xulie DESC,g.create_time desc')
  33. ->select();
  34. foreach ( $list as &$game ) {
  35. $game['icon'] = getGameIcon($game['mobileicon']);
  36. $game['download'] = getDownload($game);
  37. $game['typename'] = getTypename($game['typename']);
  38. $game['subjectname'] = getSubjectname($game['subjectname']);
  39. $game['description'] = getDeveloper($game['description']);
  40. }
  41. return $list;
  42. }
  43. /**
  44. ** 官网中,根据cy_game表中的lanmu字段,获取热门游戏、最新游戏、本周推荐信息
  45. *@param $condition array 查询条件
  46. *
  47. *@return $list array
  48. */
  49. public function getMobileGameInfoByLanmu($condition,$limit=3)
  50. {
  51. $condition['g.cooperation_status'] = ['in','1,2'];
  52. $condition['g.is_show'] = 1;
  53. $list = Db::connect(config('database_slave'))
  54. ->table('cy_game g')
  55. ->join('cy_gameinfo info', 'g.id = info.game_id')
  56. ->join('cy_gametype t', 'g.type = t.id','left')
  57. ->join('cy_gamesubject s', 'g.subject = s.id','left')
  58. ->join('cy_sdkgamelist sdk', 'g.id=sdk.gameid and sdk.package_type=0 and sdk.upload_status=1 and sdk.channel_id='.MEMBER_DEFAULT_CHANNEL_ID,'left')
  59. ->cache(Config::get('QUERY_RESULT_CACHE_TIME'))
  60. ->field('g.id,g.nickname,g.power,info.androidurl,info.platform,g.pinyin,info.mobileicon,g.type,g.subject,t.name as typename,s.name as subjectname,sdk.filename')
  61. ->where($condition)
  62. ->limit(0,$limit)
  63. ->order('g.xulie DESC,g.create_time desc')
  64. ->select();
  65. return $list;
  66. }
  67. }