GameOrderSwitchModel.php 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122
  1. <?php
  2. /**
  3. * GameOrderSwitchModel.php UTF-8
  4. * 支付切换规则
  5. *
  6. * @date : 2018/6/6 22:06
  7. *
  8. * @license 这不是一个自由软件,未经授权不许任何使用和传播。
  9. * @author : luowei <lw@huosdk.com>
  10. * @version : HUOSDK 8.0
  11. */
  12. namespace huo\model\game;
  13. use huo\model\common\CommonModel;
  14. use huolib\constant\CacheConst;
  15. use think\Cache;
  16. class GameOrderSwitchModel extends CommonModel {
  17. protected $pk = 'app_id';
  18. protected $name = 'game_order_switch';
  19. /* 开启自动写入时间戳字段 */
  20. protected $autoWriteTimestamp = true;
  21. protected $cache_key_prefix = CacheConst::CACHE_GAME_ORDER_SWITCH_PREFIX;
  22. /**
  23. * 获取单条记录缓存key
  24. *
  25. * @param int $id ID
  26. *
  27. * @return string
  28. */
  29. protected function getSingleCacheKey($id) {
  30. return $this->cache_key_prefix.$id;
  31. }
  32. /**
  33. * 添加数据
  34. *
  35. * @param array $data 需要添加的数据
  36. *
  37. * @return false|int 添加失败返回 false 添加成功 返回添加的ID
  38. */
  39. public function addData($data) {
  40. $_data = $data;
  41. $_id = parent::parentAddData($_data);
  42. if (false === $_id) {
  43. return false;
  44. }
  45. /* TAG缓存操作 */
  46. return $_id;
  47. }
  48. /**
  49. * 通过ID获取信息
  50. *
  51. * @param int $id 主键ID
  52. *
  53. * @return array|false
  54. */
  55. public function getInfoById($id) {
  56. /* 缓存操作 */
  57. $_single_cache_key = $this->getSingleCacheKey($id);
  58. $_data = Cache::get($_single_cache_key);
  59. if (!empty($_data)) {
  60. return $_data;
  61. }
  62. $_data = parent::parentGetInfoById($id);
  63. if (empty($_data)) {
  64. return [];
  65. }
  66. Cache::set($_single_cache_key, $_data);
  67. return $_data;
  68. }
  69. /**
  70. * 更新单条数据
  71. *
  72. * @param array $data 数据
  73. * @param int $id ID
  74. *
  75. * @return bool
  76. */
  77. public function updateData($data, $id) {
  78. $_data = $data;
  79. $_rs = parent::parentUpdateData($_data, $id);
  80. if (false === $_rs) {
  81. return false;
  82. }
  83. /* 缓存操作 */
  84. $_single_cache_key = $this->getSingleCacheKey($id);
  85. Cache::rm($_single_cache_key);
  86. /* TAG缓存操作 */
  87. return true;
  88. }
  89. /**
  90. * 删除单条数据
  91. *
  92. * @param int $id ID
  93. * @param bool $is_complete 是否完成删除
  94. *
  95. * @return bool
  96. */
  97. public function deleteData($id, $is_complete = false) {
  98. $_rs = parent::parentDeleteData($id, $is_complete);
  99. if (false == $_rs) {
  100. return false;
  101. }
  102. /* 缓存操作 */
  103. $_single_cache_key = $this->getSingleCacheKey($id);
  104. Cache::rm($_single_cache_key);
  105. /* TAG缓存操作 */
  106. return $_rs;
  107. }
  108. /**
  109. * 关联game表
  110. *
  111. * @return mixed
  112. */
  113. public function game() {
  114. return $this->belongsTo('huo\model\game\GameModel', 'app_id')->field('id,name game_name,pay_switch');
  115. }
  116. }