123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129 |
- <?php
- namespace huo\logic\game;
- use huo\model\common\CommonModel;
- use huo\model\game\GameserverModel;
- use huolib\constant\GameConst;
- use huolib\tool\Time;
- class GameServerLogic extends CommonModel {
-
- protected function getWhere($param = []) {
- $_map = [];
- if (!empty($param['app_id'])) {
- if (is_array($param['app_id'])) {
- $_map['app_id'] = ['in', $param['app_id']];
- } else {
- $_map['app_id'] = $param['app_id'];
- }
- }
- if (!empty($param['server_type'])) {
- switch ($param['server_type']) {
- case GameConst::GAME_SERVER_TODAY:
- $_map['start_time'] = ['between', Time::today()];
- break;
- case GameConst::GAME_SERVER_WILL:
- $_map['start_time'] = ['>', time()];
- break;
- case GameConst::GAME_SERVER_OPENED:
- default:
- $_map['start_time'] = ['<', time()];
- break;
- }
- }
- if (!empty($param['is_delete'])) {
- $_map['is_delete'] = $param['is_delete'];
- }
- return $_map;
- }
- public function getField() {
- return [];
- }
-
- public function getServerList($where, $page = '1,10', $order = '-create_time') {
- $_where = $this->getWhere($where);
- $_field = [
- 'id' => 'ser_id',
- 'ser_name' => 'ser_name',
- 'ser_desc' => 'ser_desc',
- 'status' => 'ser_status',
- 'start_time' => 'start_time',
- ];
- return $this->getList($_field, $_where, $page, $order);
- }
-
- public function getList($_field = [], $where = [], $page = '1,10', $order = '-start_time') {
- $_where = $where;
- $_model = new GameserverModel();
- $_count = $_model->where($_where)->count();
- if (empty($_count)) {
- return [
- 'count' => 0,
- 'list' => []
- ];
- }
- $_order = $_model->orderFilter($order);
- $_datas = $_model->field($_field)->where($_where)->order($_order)->page($page)->select();
- if (is_object($_datas)) {
- $_datas = $_datas->toArray();
- }
- if (empty($_datas)) {
- return [
- 'count' => $_count,
- 'list' => []
- ];
- }
- return [
- 'count' => $_count,
- 'list' => $_datas
- ];
- }
- }
|