* @version : HuoMP 1.0 */ namespace huomp\model\log; use huo\model\log\LogModel; use huo\model\member\MemberModel; class OpenGameModel extends LogModel { /* 数据库名 */ protected $table = 'mp_log_homepage'; /** * 关联访问者 * * @return \think\model\relation\BelongsTo */ public function visitor() { return $this->belongsTo(MemberModel::className(), 'mem_id', 'id')->field('id,username,nickname,avatar'); } /** * 插入数据 * * @param $data * @param bool $replace * @param bool $get_last_insert_id * * @return bool|int|string */ public function insertLog($data, $replace = false, $get_last_insert_id = true) { $_time = time(); $_data['mem_id'] = get_val($data, 'mem_id', 0); $_data['app_id'] = get_val($data, 'app_id', 0); $_data['game_id'] = get_val($data, 'game_id', 0); $_data['status'] = get_val($data, 'status', 1); $_data['default_duration'] = get_val($data, 'default_duration', 0); $_data['start_time'] = $_time; $_data['end_time'] = get_val($data, 'end_time', 0); $_data['duration'] = get_val($data, 'duration', 0); $_data['create_time'] = $_time; $_data['update_time'] = get_val($data, 'update_time', 0); $_data['date'] = date('Y-m-d', $_data['create_time']); return parent::insertLog($_data, $replace, $get_last_insert_id); } /** * @return bool|int * @throws \think\db\exception\BindParamException * @throws \think\exception\PDOException */ function checkTable() { $this->table = $this->getPartitionTableName( $this->partition_data, $this->partition_field, $this->partition_rule ); $_sql = "CREATE TABLE IF NOT EXISTS `$this->table` ("; $_sql .= " `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT 'id',"; $_sql .= " `date` date NOT NULL COMMENT '日期',"; $_sql .= " `mem_id` int(11) NOT NULL DEFAULT '0' COMMENT '玩家ID',"; $_sql .= " `app_id` int(11) NOT NULL DEFAULT '0' COMMENT '盒子ID',"; $_sql .= " `game_id` int(11) NOT NULL DEFAULT '0' COMMENT '游戏ID',"; $_sql .= " `status` tinyint(2) NOT NULL DEFAULT '1' COMMENT '1 未完成 2已完成',"; $_sql .= " `default_duration` int(4) unsigned NOT NULL DEFAULT '0' COMMENT '任务时长s',"; $_sql .= " `start_time` bigint(20) unsigned NOT NULL DEFAULT '0' COMMENT '开始时间',"; $_sql .= " `end_time` bigint(20) unsigned NOT NULL DEFAULT '0' COMMENT '结束时间',"; $_sql .= " `duration` int(4) unsigned NOT NULL DEFAULT '0' COMMENT '时长s',"; $_sql .= " `create_time` bigint(20) unsigned NOT NULL DEFAULT '0' COMMENT '创建时间',"; $_sql .= " `update_time` bigint(20) unsigned NOT NULL DEFAULT '0' COMMENT '更新时间',"; $_sql .= " PRIMARY KEY (`id`),"; $_sql .= " UNIQUE KEY `mog_mem_game_unique` (`mem_id`,`game_id`),"; $_sql .= " KEY `mog_game_index` (`game_id`),"; $_sql .= " KEY `mog_date_index` (`date`)"; $_sql .= " ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='玩家每日任务记录表';"; return $this->execute($_sql); } }