* @version : HUOSDK 8.0 */ namespace huo\model\log; class MemRoleLogModel extends LogModel { /* 数据库名 */ protected $name = 'log_mem_role'; public function insertLog($data, $replace = false, $get_last_insert_id = true) { $_data['mg_mem_id'] = get_val($data, 'mg_mem_id', 0); $_data['app_id'] = get_val($data, 'app_id', 0); $_data['server_id'] = get_val($data, 'server_id', 0); $_data['server_name'] = get_val($data, 'server_name', ''); $_data['role_id'] = get_val($data, 'role_id', 0); $_data['role_name'] = get_val($data, 'role_name', ''); $_data['role_level'] = get_val($data, 'role_level', 0); $_data['money'] = get_val($data, 'money', 0); $_data['role_vip'] = get_val($data, 'role_vip', 0); $_data['combat_num'] = get_val($data, 'combat_num', 0); $_data['online_time'] = get_val($data, 'online_time', 0); $_data['scene'] = get_val($data, 'scene', ''); $_data['axis'] = get_val($data, 'axis', ''); $_data['last_operation'] = get_val($data, 'last_operation', ''); $_data['party_name'] = get_val($data, 'party_name', ''); $_data['role_balance'] = get_val($data, 'role_balance', ''); $_data['attach'] = get_val($data, 'attach', ''); $_data['type'] = get_val($data, 'type', 0); $_data['rolelevel_ctime'] = get_val($data, 'rolelevel_ctime', 0); $_data['rolelevel_mtime'] = get_val($data, 'rolelevel_mtime', 0); $_data['create_time'] = time(); $_data['date'] = date('Y-m-d', $_data['create_time']); return parent::insertLog($_data, $replace, $get_last_insert_id); } /** * 创建表 * * @return 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` int(11) NOT NULL AUTO_INCREMENT,"; $_sql .= " `date` date NOT NULL DEFAULT '0000-00-00' COMMENT '日期',"; $_sql .= " `mg_mem_id` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '玩家游戏ID',"; $_sql .= " `app_id` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '游戏ID',"; $_sql .= " `server_id` varchar(64) NOT NULL DEFAULT '0' COMMENT '游戏服务器id,默认为0',"; $_sql .= " `server_name` varchar(64) NOT NULL DEFAULT '' COMMENT '所在服务器名称',"; $_sql .= " `role_id` varchar(64) NOT NULL DEFAULT '0' COMMENT '角色ID',"; $_sql .= " `role_name` BLOB NOT NULL COMMENT '角色名称',"; $_sql .= " `role_level` int(11) NOT NULL DEFAULT '0' COMMENT '等级',"; $_sql .= " `money` double(12,2) NOT NULL DEFAULT '0.00' COMMENT '金钱',"; $_sql .= " `role_vip` int(11) NOT NULL DEFAULT '0' COMMENT 'vip等级',"; $_sql .= " `combat_num` bigint(20) NOT NULL DEFAULT '0' COMMENT '玩家角色战力',"; $_sql .= " `online_time` bigint(20) NOT NULL DEFAULT '0' COMMENT '在线时长 单位s',"; $_sql .= " `scene` varchar(64) NOT NULL DEFAULT '' COMMENT '登出场景',"; $_sql .= " `axis` varchar(64) NOT NULL DEFAULT '' COMMENT '登出时所在场景坐标, 应该是 (x,y,z)的形式',"; $_sql .= " `last_operation` varchar(64) NOT NULL DEFAULT '' COMMENT '登出前角色最后一次操作或者完成的玩法',"; $_sql .= " `party_name` varchar(64) DEFAULT '' COMMENT '工会、帮派名称',"; $_sql .= " `role_balance` double(12,2) NOT NULL DEFAULT '0.00' COMMENT '用户游戏币余额', "; $_sql .= " `experience` varchar(32) DEFAULT '' COMMENT '经验',"; $_sql .= " `attach` varchar(128) DEFAULT '' COMMENT '扩展信息',"; $_sql .= " `type` int(11) NOT NULL DEFAULT '1' COMMENT '数据类型,1为进入游戏,2为创建角色,3为角色升级,4为退出 5 充值',"; $_sql .= " `rolelevel_ctime` bigint(20) NOT NULL DEFAULT '0' COMMENT '角色创建时间',"; $_sql .= " `rolelevel_mtime` bigint(20) NOT NULL DEFAULT '0' COMMENT '角色升级时间',"; $_sql .= " `create_time` bigint(20) NOT NULL DEFAULT '0' COMMENT '创建时间',"; $_sql .= " PRIMARY KEY (`id`),"; $_sql .= " KEY `mg_mem_id` (`mg_mem_id`),"; $_sql .= " KEY `app_id` (`app_id`)"; $_sql .= ") ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='玩家角色记录表';"; return $this->execute($_sql); } }