* @version : HUOSDK 8.0 */ namespace huo\model\oa; use huo\model\common\CommonModel; use huo\model\game\GameModel; use huo\model\user\UserModel; class OaAgentModel extends CommonModel { protected $name = 'oa_agent'; // 开启自动写入时间戳字段 protected $autoWriteTimestamp = true; public function agent() { return $this->belongsTo(UserModel::className(), 'agent_id', 'id')->field('id,user_login,role_id'); } public function game() { return $this->belongsTo(GameModel::className(), 'app_id', 'id')->field('id,name'); } /** * 获取列表 * * @param array $param * @param int $offset * @param bool $get_sum * * @return array|false|\PDOStatement|string|\think\Model|\think\Paginator */ public function getAgentDateList($param = array(), $offset = 10, $get_sum = false) { $_offset = isset($param['list_rows']) ? $param['list_rows'] : $offset; $_order = isset($param['list_order']) ? $param['list_order'] : 'id desc'; $_map = array(); if (isset($param['app_id']) && !empty($param['app_id'])) { $_map['app_id'] = $param['app_id']; } if (isset($param['agent_id']) && !empty($param['agent_id'])) { $_map['agent_id'] = $param['agent_id']; } if (isset($param['date']) && !empty($param['date'])) { $_map['date'] = $param['date']; } if (isset($param['is_standard']) && !empty($param['is_standard'])) { $_map['is_standard'] = $param['is_standard']; } $_field = 'id,date,agent_id,app_id,reg_cnt,reg_ip_cnt,standard_mem_cnt,order_cnt,pay_mem_cnt,sum_money'; $_field .= ',is_standard,create_time,update_time'; $_list_field = isset($param['list_field']) ? $param['list_field'] : $_field; if ($get_sum) { $_sum_field = ' sum(reg_cnt) as reg_cnt, sum(reg_ip_cnt) as reg_ip_cnt,sum(standard_mem_cnt) as standard_mem_cnt'; $_sum_field .= ',sum(order_cnt) as order_cnt,sum(pay_mem_cnt) as pay_mem_cnt,sum(sum_money) as sum_money,count(*) as all_count'; $_list_field = isset($param['list_field']) ? $param['list_field'] : $_sum_field; $_data = $this ->field($_list_field) ->where($_map) ->find(); } else { $_data = $this ->field($_list_field) ->where($_map) ->order($_order) ->paginate($_offset); } return $_data; } }