IdentifyPlatformLogLogic.php 4.0 KB

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