MemGameLogic.php 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125
  1. <?php
  2. /**
  3. * MemGameLogic.php UTF-8
  4. *
  5. *
  6. * @date : 2021-07-23 16:23
  7. *
  8. * @license 这不是一个自由软件,未经授权不许任何使用和传播。
  9. * @author : luowei <lw@huosdk.com>
  10. * @version : huosdk 9.0
  11. */
  12. namespace huo\logic\member;
  13. use huo\model\common\CommonModel;
  14. use huo\model\member\MemberModel;
  15. use huo\model\member\MemGameModel;
  16. use huolib\constant\CommonConst;
  17. class MemGameLogic extends CommonModel {
  18. protected $base_field = [];
  19. /**
  20. * 转换查询条件
  21. *
  22. * @param array $param
  23. *
  24. * @return array
  25. */
  26. public function getWhere($param = []) {
  27. $_map = [];
  28. /* 时间搜索 */
  29. if (!empty($param['start_time']) && !empty($param['end_time'])) {
  30. $_map['create_time']
  31. = [
  32. 'between',
  33. [
  34. strtotime($param['start_time']),
  35. CommonConst::CONST_DAY_SECONDS + strtotime($param['end_time'])
  36. ]
  37. ];
  38. } elseif (!empty($param['start_time'])) {
  39. $_map['create_time'] = ['egt', strtotime($param['start_time'])];
  40. } elseif (!empty($param['end_time'])) {
  41. $_map['create_time'] = ['elt', CommonConst::CONST_DAY_SECONDS + strtotime($param['end_time'])];
  42. }
  43. if (!empty($param['id'])) {
  44. $_map['id'] = $param['id'];
  45. }
  46. if (!empty($param['mem_id'])) {
  47. $_map['mem_id'] = $param['mem_id'];
  48. }
  49. if (!empty($param['username'])) {
  50. $_map['mem_id'] = (new MemberModel())->getIdByUsername($param['username']);
  51. }
  52. if (!empty($param['guided_agent_id'])) {
  53. $_map['guided_agent_id'] = $param['guided_agent_id'];
  54. }
  55. if (!empty($param['app_id'])) {
  56. $_map['app_id'] = $param['app_id'];
  57. }
  58. if (!empty($param['nickname'])) {
  59. $_map['nickname'] = $param['nickname'];
  60. }
  61. if (!empty($param['status'])) {
  62. $_map['status'] = $param['status'];
  63. }
  64. return $_map;
  65. }
  66. /**
  67. * 获取列表底层函数
  68. * @param array $where 搜索条件
  69. * @param string $page 列表个数
  70. * @param string $order 排序
  71. * @param array $field 附加字段
  72. * @param string $group 归类
  73. *
  74. * @return array ['count'=>0,'list'=>[]]
  75. */
  76. public function getList($where = [], $page = '1,10', $order = '-id', $field = [], $group='', $with = '') {
  77. $_map=$where;
  78. $_field=$field;
  79. $_model = new MemGameModel();
  80. $_count = $_model->where($_map)->count();
  81. if (empty($_count)) {
  82. return [
  83. 'count' => 0,
  84. 'list' => []
  85. ];
  86. }
  87. $_order = $this->orderFilter($order);
  88. $_datas = $_model->with($with)->field($_field)->where($_map)->order($_order)->page($page)->select();
  89. if (is_object($_datas)) {
  90. $_datas = $_datas->toArray();
  91. }
  92. if (empty($_datas)) {
  93. return [
  94. 'count' => 0,
  95. 'list' => []
  96. ];
  97. }
  98. return [
  99. 'count' => $_count,
  100. 'list' => $_datas
  101. ];
  102. }
  103. /**
  104. * 获取后台列表
  105. *
  106. * @param array $where 搜索条件
  107. * @param string $page 列表个数
  108. * @param string $order 排序
  109. * @param array $field 附加字段
  110. *
  111. * @return array ['count'=>0,'list'=>[]]
  112. */
  113. public function getAdminList($where = [], $page = '1,10', $order = '-id', $field = []) {
  114. $_map = $this->getWhere($where);
  115. $_field = $this->base_field;
  116. if (!empty($field)) {
  117. $_field = array_merge($_field, $field);/* 获取后台字段 */
  118. }
  119. return $this->getList($_map, $page, $order, $_field, '', 'game2,mem');
  120. }
  121. }