IdentifyMemLogic.php 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121
  1. <?php
  2. /**
  3. * IdentifyMemLogic.php UTF-8
  4. *
  5. * @date : 2021/7/5 16:16
  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\IdentifyMemModel;
  14. use huoIdentify\model\MemberModel;
  15. class IdentifyMemLogic 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['id_card'])) {
  37. $_map['id_card'] = $param['id_card'];
  38. }
  39. if (!empty($param['identify_from'])) {
  40. $_map['identify_from'] = $param['identify_from'];
  41. }
  42. if (!empty($param['identify_pi'])) {
  43. $_map['identify_pi'] = $param['identify_pi'];
  44. }
  45. return $_map;
  46. }
  47. /**
  48. * 获取列表底层函数
  49. *
  50. * @param array $where 搜索条件
  51. * @param string $page 列表个数
  52. * @param string $order 排序
  53. * @param array $field 附加字段
  54. * @param string $group 归类
  55. *
  56. * @return array ['count'=>0,'list'=>[]]
  57. */
  58. public function getList($where = [], $page = '1,10', $order = '-id', $field = [], $group = '') {
  59. $_map = $where;
  60. $_field = $field;
  61. $_model = new IdentifyMemModel();
  62. $_count = $_model->where($_map)->count();
  63. if (empty($_count)) {
  64. return [
  65. 'count' => 0,
  66. 'list' => []
  67. ];
  68. }
  69. $_order = $this->orderFilter($order);
  70. $_datas = $_model->with('mem')->field($_field)->where($_map)->order($_order)->page($page)->select();
  71. if (is_object($_datas)) {
  72. $_datas = $_datas->toArray();
  73. }
  74. if (empty($_datas)) {
  75. return [
  76. 'count' => 0,
  77. 'list' => []
  78. ];
  79. }
  80. return [
  81. 'count' => $_count,
  82. 'list' => $_datas
  83. ];
  84. }
  85. /**
  86. * 获取后台列表
  87. *
  88. * @param array $where 搜索条件
  89. * @param string $page 列表个数
  90. * @param string $order 排序
  91. * @param array $field 附加字段
  92. *
  93. * @return array ['count'=>0,'list'=>[]]
  94. */
  95. public function getAdminList($where = [], $page = '1,10', $order = '-id', $field = []) {
  96. $_map = $this->getWhere($where);
  97. $_field = $this->base_field;
  98. if (!empty($field)) {
  99. $_field = array_merge($_field, $field);/* 获取后台字段 */
  100. }
  101. $_rdata = $this->getList($_map, $page, $order, $_field);
  102. if (empty($_rdata['list'])) {
  103. return $_rdata;
  104. }
  105. foreach ($_rdata['list'] as $_k => $_v) {
  106. $_mem_data = get_val($_v, 'mem', []);
  107. unset($_rdata['list']['mem']);
  108. $_rdata['list'][$_k]['username'] = get_val($_mem_data, 'username', '');
  109. }
  110. return $_rdata;
  111. }
  112. }