MgmLogModel.php 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. <?php
  2. /**
  3. * MgmLogModel.php UTF-8
  4. * 米大师游戏币记录
  5. *
  6. * @date : 2018/8/16 18:41
  7. *
  8. * @license 这不是一个自由软件,未经授权不许任何使用和传播。
  9. * @author : wuyonghong <wyh@huosdk.com>
  10. * @version : HuoMp 1.0
  11. */
  12. namespace huomp\model\wallet;
  13. use huo\model\log\LogModel;
  14. class MgmLogModel extends LogModel {
  15. protected $table = 'mp_log_mgm';
  16. /**
  17. * 关联game表
  18. *
  19. * @return mixed
  20. */
  21. public function game() {
  22. return $this->belongsTo('huo\model\game\GameModel', 'app_id', 'id')->field('id,name');
  23. }
  24. /**
  25. * 关联game_ext表
  26. *
  27. * @return mixed
  28. */
  29. public function mem() {
  30. return $this->belongsTo('huo\model\member\MemberModel', 'mem_id', 'id')->field('id,name');
  31. }
  32. /**
  33. * @param $data
  34. * @param bool $replace
  35. * @param bool $get_last_insert_id
  36. *
  37. * @return bool|int|string
  38. */
  39. public function insertLog($data, $replace = false, $get_last_insert_id = true) {
  40. $_data['mem_id'] = get_val($data, 'mem_id', 0);
  41. $_data['app_id'] = get_val($data, 'app_id', 0);
  42. $_data['order_id'] = get_val($data, 'order_id', '');
  43. $_data['m_balance'] = get_val($data, 'm_balance', 0);
  44. $_data['m_gen_balance'] = get_val($data, 'm_gen_balance', 0);
  45. $_data['m_save_amt'] = get_val($data, 'm_save_amt', 0);
  46. $_data['m_save_sum'] = get_val($data, 'm_save_sum', 0);
  47. $_data['m_cost_sum'] = get_val($data, 'm_cost_sum', 0);
  48. $_data['m_present_sum'] = get_val($data, 'm_present_sum', 0);
  49. $_data['m_used_gen_balance'] = get_val($data, 'm_used_gen_balance', 0);
  50. $_data['server_id'] = get_val($data, 'server_id', '1');
  51. $_data['type'] = get_val($data, 'type', '0');
  52. $_data['more'] = get_val($data, 'more', '');
  53. $_data['create_time'] = time();
  54. $_data['date'] = date('Y-m', $_data['create_time']);
  55. return parent::insertLog($_data, $replace, $get_last_insert_id);
  56. }
  57. /**
  58. * @param string $date
  59. *
  60. * @return int|void
  61. * @throws \think\db\exception\BindParamException
  62. * @throws \think\exception\PDOException
  63. */
  64. function checkTable($date = '') {
  65. $this->table = $this->getPartitionTableName(
  66. $this->partition_data, $this->partition_field, $this->partition_rule
  67. );
  68. $_sql = "CREATE TABLE IF NOT EXISTS `$this->table` (";
  69. $_sql .= " `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'id',";
  70. $_sql .= " `date` varchar(16) NOT NULL DEFAULT '' COMMENT '日期',";
  71. $_sql .= " `mem_id` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '玩家ID',";
  72. $_sql .= " `app_id` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '游戏id', ";
  73. $_sql .= " `order_id` varchar(64) NOT NULL DEFAULT '' COMMENT '订单号',";
  74. $_sql .= " `m_balance` double(20,2) NOT NULL DEFAULT '0.00' COMMENT '游戏币个数(包含赠送)',";
  75. $_sql .= " `m_gen_balance` double(20,2) NOT NULL DEFAULT '0.00' COMMENT '赠送游戏币数量',";
  76. $_sql .= " `m_save_amt` double(20,2) NOT NULL DEFAULT '0.00' COMMENT '累计充值金额的游戏币数量',";
  77. $_sql .= " `m_save_sum` double(20,2) NOT NULL DEFAULT '0.00' COMMENT '历史总游戏币金额',";
  78. $_sql .= " `m_cost_sum` double(20,2) NOT NULL DEFAULT '0.00' COMMENT '历史总消费游戏币金额',";
  79. $_sql .= " `m_present_sum` double(20,2) NOT NULL DEFAULT '0.00' COMMENT '历史累计收到赠送金额',";
  80. $_sql .= " `m_used_gen_balance` double(20,2) NOT NULL DEFAULT '0.00' COMMENT '本次扣的赠送币的余额',";
  81. $_sql .= " `server_id` varchar(64) NOT NULL DEFAULT '' COMMENT '区服id',";
  82. $_sql .= " `type` tinyint(1) NOT NULL DEFAULT '0' COMMENT '1 查询 2 扣费 3 赠送 4 取消支付',";
  83. $_sql .= " `more` text NOT NULL COMMENT '更多信息',";
  84. $_sql .= " `create_time` bigint(20) NOT NULL DEFAULT '0' COMMENT '创建时间',";
  85. $_sql .= " PRIMARY KEY (`id`),";
  86. $_sql .= " KEY `lmgm_mem_index` ( `mem_id` ),";
  87. $_sql .= " KEY `lmgm_game_index` ( `app_id` )";
  88. $_sql .= " ) ENGINE=INNODB DEFAULT CHARSET=utf8mb4 COMMENT='米大师游戏币余额变化表';";
  89. return $this->execute($_sql);
  90. }
  91. }