MemRoleLogModel.php 4.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. <?php
  2. /**
  3. * MemRoleLogModel.php UTF-8
  4. *
  5. *
  6. * @date : 2018/4/24 18:18
  7. *
  8. * @license 这不是一个自由软件,未经授权不许任何使用和传播。
  9. * @author : wuyonghong <wyh@huosdk.com>
  10. * @version : HUOSDK 8.0
  11. */
  12. namespace huo\model\log;
  13. class MemRoleLogModel extends LogModel {
  14. /* 数据库名 */
  15. protected $name = 'log_mem_role';
  16. public function insertLog($data, $replace = false, $get_last_insert_id = true) {
  17. $_data['mg_mem_id'] = get_val($data, 'mg_mem_id', 0);
  18. $_data['app_id'] = get_val($data, 'app_id', 0);
  19. $_data['server_id'] = get_val($data, 'server_id', 0);
  20. $_data['server_name'] = get_val($data, 'server_name', '');
  21. $_data['role_id'] = get_val($data, 'role_id', 0);
  22. $_data['role_name'] = get_val($data, 'role_name', '');
  23. $_data['role_level'] = get_val($data, 'role_level', 0);
  24. $_data['money'] = get_val($data, 'money', 0);
  25. $_data['role_vip'] = get_val($data, 'role_vip', 0);
  26. $_data['combat_num'] = get_val($data, 'combat_num', 0);
  27. $_data['online_time'] = get_val($data, 'online_time', 0);
  28. $_data['scene'] = get_val($data, 'scene', '');
  29. $_data['axis'] = get_val($data, 'axis', '');
  30. $_data['last_operation'] = get_val($data, 'last_operation', '');
  31. $_data['party_name'] = get_val($data, 'party_name', '');
  32. $_data['role_balance'] = get_val($data, 'role_balance', '');
  33. $_data['attach'] = get_val($data, 'attach', '');
  34. $_data['type'] = get_val($data, 'type', 0);
  35. $_data['rolelevel_ctime'] = get_val($data, 'rolelevel_ctime', 0);
  36. $_data['rolelevel_mtime'] = get_val($data, 'rolelevel_mtime', 0);
  37. $_data['create_time'] = time();
  38. $_data['date'] = date('Y-m-d', $_data['create_time']);
  39. return parent::insertLog($_data, $replace, $get_last_insert_id);
  40. }
  41. /**
  42. * 创建表
  43. *
  44. * @return int
  45. * @throws \think\db\exception\BindParamException
  46. * @throws \think\exception\PDOException
  47. */
  48. function checkTable() {
  49. $this->table = $this->getPartitionTableName(
  50. $this->partition_data, $this->partition_field, $this->partition_rule
  51. );
  52. $_sql = "CREATE TABLE IF NOT EXISTS `$this->table` (";
  53. $_sql .= " `id` int(11) NOT NULL AUTO_INCREMENT,";
  54. $_sql .= " `date` date NOT NULL DEFAULT '0000-00-00' COMMENT '日期',";
  55. $_sql .= " `mg_mem_id` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '玩家游戏ID',";
  56. $_sql .= " `app_id` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '游戏ID',";
  57. $_sql .= " `server_id` varchar(64) NOT NULL DEFAULT '0' COMMENT '游戏服务器id,默认为0',";
  58. $_sql .= " `server_name` varchar(64) NOT NULL DEFAULT '' COMMENT '所在服务器名称',";
  59. $_sql .= " `role_id` varchar(64) NOT NULL DEFAULT '0' COMMENT '角色ID',";
  60. $_sql .= " `role_name` BLOB NOT NULL COMMENT '角色名称',";
  61. $_sql .= " `role_level` int(11) NOT NULL DEFAULT '0' COMMENT '等级',";
  62. $_sql .= " `money` double(12,2) NOT NULL DEFAULT '0.00' COMMENT '金钱',";
  63. $_sql .= " `role_vip` int(11) NOT NULL DEFAULT '0' COMMENT 'vip等级',";
  64. $_sql .= " `combat_num` bigint(20) NOT NULL DEFAULT '0' COMMENT '玩家角色战力',";
  65. $_sql .= " `online_time` bigint(20) NOT NULL DEFAULT '0' COMMENT '在线时长 单位s',";
  66. $_sql .= " `scene` varchar(64) NOT NULL DEFAULT '' COMMENT '登出场景',";
  67. $_sql .= " `axis` varchar(64) NOT NULL DEFAULT '' COMMENT '登出时所在场景坐标, 应该是 (x,y,z)的形式',";
  68. $_sql .= " `last_operation` varchar(64) NOT NULL DEFAULT '' COMMENT '登出前角色最后一次操作或者完成的玩法',";
  69. $_sql .= " `party_name` varchar(64) DEFAULT '' COMMENT '工会、帮派名称',";
  70. $_sql .= " `role_balance` double(12,2) NOT NULL DEFAULT '0.00' COMMENT '用户游戏币余额', ";
  71. $_sql .= " `experience` varchar(32) DEFAULT '' COMMENT '经验',";
  72. $_sql .= " `attach` varchar(128) DEFAULT '' COMMENT '扩展信息',";
  73. $_sql .= " `type` int(11) NOT NULL DEFAULT '1' COMMENT '数据类型,1为进入游戏,2为创建角色,3为角色升级,4为退出 5 充值',";
  74. $_sql .= " `rolelevel_ctime` bigint(20) NOT NULL DEFAULT '0' COMMENT '角色创建时间',";
  75. $_sql .= " `rolelevel_mtime` bigint(20) NOT NULL DEFAULT '0' COMMENT '角色升级时间',";
  76. $_sql .= " `create_time` bigint(20) NOT NULL DEFAULT '0' COMMENT '创建时间',";
  77. $_sql .= " PRIMARY KEY (`id`),";
  78. $_sql .= " KEY `mg_mem_id` (`mg_mem_id`),";
  79. $_sql .= " KEY `app_id` (`app_id`)";
  80. $_sql .= ") ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='玩家角色记录表';";
  81. return $this->execute($_sql);
  82. }
  83. }