* @version : huosdk 9.0 */ namespace huo\logic\member; use huo\model\common\CommonModel; use huo\model\member\MemberModel; use huo\model\member\MemGameModel; use huolib\constant\CommonConst; class MemGameLogic extends CommonModel { protected $base_field = []; /** * 转换查询条件 * * @param array $param * * @return array */ public function getWhere($param = []) { $_map = []; /* 时间搜索 */ if (!empty($param['start_time']) && !empty($param['end_time'])) { $_map['create_time'] = [ 'between', [ strtotime($param['start_time']), CommonConst::CONST_DAY_SECONDS + strtotime($param['end_time']) ] ]; } elseif (!empty($param['start_time'])) { $_map['create_time'] = ['egt', strtotime($param['start_time'])]; } elseif (!empty($param['end_time'])) { $_map['create_time'] = ['elt', CommonConst::CONST_DAY_SECONDS + strtotime($param['end_time'])]; } if (!empty($param['id'])) { $_map['id'] = $param['id']; } if (!empty($param['mem_id'])) { $_map['mem_id'] = $param['mem_id']; } if (!empty($param['username'])) { $_map['mem_id'] = (new MemberModel())->getIdByUsername($param['username']); } if (!empty($param['guided_agent_id'])) { $_map['guided_agent_id'] = $param['guided_agent_id']; } if (!empty($param['app_id'])) { $_map['app_id'] = $param['app_id']; } if (!empty($param['nickname'])) { $_map['nickname'] = $param['nickname']; } if (!empty($param['status'])) { $_map['status'] = $param['status']; } return $_map; } /** * 获取列表底层函数 * @param array $where 搜索条件 * @param string $page 列表个数 * @param string $order 排序 * @param array $field 附加字段 * @param string $group 归类 * * @return array ['count'=>0,'list'=>[]] */ public function getList($where = [], $page = '1,10', $order = '-id', $field = [], $group='', $with = '') { $_map=$where; $_field=$field; $_model = new MemGameModel(); $_count = $_model->where($_map)->count(); if (empty($_count)) { return [ 'count' => 0, 'list' => [] ]; } $_order = $this->orderFilter($order); $_datas = $_model->with($with)->field($_field)->where($_map)->order($_order)->page($page)->select(); if (is_object($_datas)) { $_datas = $_datas->toArray(); } if (empty($_datas)) { return [ 'count' => 0, 'list' => [] ]; } return [ 'count' => $_count, 'list' => $_datas ]; } /** * 获取后台列表 * * @param array $where 搜索条件 * @param string $page 列表个数 * @param string $order 排序 * @param array $field 附加字段 * * @return array ['count'=>0,'list'=>[]] */ public function getAdminList($where = [], $page = '1,10', $order = '-id', $field = []) { $_map = $this->getWhere($where); $_field = $this->base_field; if (!empty($field)) { $_field = array_merge($_field, $field);/* 获取后台字段 */ } return $this->getList($_map, $page, $order, $_field, '', 'game2,mem'); } }