* @version : HUOOA 1.0 */ namespace huo\logic\agent; use huo\controller\agent\AgentCache; use huo\controller\game\GameCache; use huo\controller\member\Member; use huo\controller\member\MemCache; use huo\model\agent\AgentCpaLogModel; use huo\model\common\CommonModel; use huolib\constant\CommonConst; class AgentCpaLogLogic extends CommonModel { protected $base_field = []; /** * 搜索条件 * * @param array $param * * @return array */ public function getWhere($param = []) { $_map = []; if (!empty($param['start_time']) && !empty($param['start_time'])) { $_map['create_time'] = ['between', [strtotime($param['start_time']), CommonConst::CONST_DAY_SECONDS + strtotime($param['end_time'])]]; } else if (!empty($param['start_time'])) { $_map['create_time'] = ['gt', strtotime($param['start_time'])]; } else if (!empty($param['end_time'])) { $_map['create_time'] = ['lt', CommonConst::CONST_DAY_SECONDS + strtotime($param['end_time'])]; } if (!empty($param['mem_id'])) { $_map['mem_id'] = $param['mem_id']; } if (!empty($param['agent_id'])) { $_map['agent_id'] = $param['agent_id']; } if (!empty($param['parent_id'])) { $_map['parent_id'] = $param['parent_id']; } if (!empty($param['order_id'])) { $_map['order_id'] = $param['order_id']; } if (!empty($param['app_id'])) { $_map['app_id'] = $param['app_id']; } if (!empty($param['username'])) { $_mem_id = (new Member())->getIdByName($param['username']); $_map['mem_id'] = $_mem_id; } return $_map; } /** * 获取列表 * * @param array $where * @param string $page * @param string $order * @param string $field * * @return array */ public function getList($where = [], $page = '1,10', $order = '-create_time', $field = '') { $_model = new AgentCpaLogModel(); $_count = $_model->where($where)->count('id'); if (empty($_count)) { return ['count' => 0, 'list' => []]; } $_order = $_model->orderFilter($order); $_datas = $_model->where($where)->field($field)->order($_order)->page($page)->select(); if (isset($_datas)) { $_datas = $_datas->toArray(); } return [ 'count' => $_count, 'list' => $_datas ]; } /*** * 获取后台列表 * * @param array $where * @param string $page * @param string $order * * @return array */ public function getAdminList($where = [], $page = '1,10', $order = '-create_time') { $_map = $this->getWhere($where); $_field = $this->base_field; $_rdata = $this->getList($_map, $page, $order, $_field); if (empty($_rdata['count'])) { return $_rdata; } $_list = []; $_mem_cache = MemCache::ins(); $_agent_cache = AgentCache::ins(); $_game_cache = GameCache::ins(); foreach ($_rdata['list'] as $_v) { $_data = $_v; $_mem_data = $_mem_cache->getInfoById($_v['mem_id']); $_data['username'] = get_val($_mem_data, 'username', ''); $_agent_data = $_agent_cache->getInfoByAgentId($_v['agent_id']); $_data['agent_name'] = get_val($_agent_data, 'user_login', ''); $_parent_data = $_agent_cache->getInfoByAgentId($_v['parent_id']); $_data['parent_name'] = get_val($_parent_data, 'user_login', ''); $_game_data = $_game_cache->getInfoByAppId($_v['app_id']); $_data['game_name'] = get_val($_game_data, 'name', ''); $_list[] = $_data; } $_rdata['list'] = $_list; return $_rdata; } }