Group.php 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132
  1. <?php
  2. /**
  3. * Niushop商城系统 - 团队十年电商经验汇集巨献!
  4. * =========================================================
  5. * Copy right 2019-2029 杭州牛之云科技有限公司, 保留所有权利。
  6. * ----------------------------------------------
  7. * 官方网址: https://www.niushop.com
  8. * =========================================================
  9. */
  10. namespace addon\cashier\model;
  11. use app\model\BaseModel;
  12. /**
  13. * 用户组
  14. * @author Administrator
  15. *
  16. */
  17. class Group extends BaseModel
  18. {
  19. /**
  20. * 添加用户组
  21. * @param array $data
  22. * @return multitype:string mixed
  23. */
  24. public function addGroup($data)
  25. {
  26. $res = model('cashier_auth_group')->add($data);
  27. if ($res === false) {
  28. return $this->error('', 'UNKNOW_ERROR');
  29. }
  30. return $this->success($res);
  31. }
  32. /**
  33. * 修改用户组
  34. * @param array $data
  35. * @param array $condition
  36. * @return multitype:string mixed
  37. */
  38. public function editGroup($data, $condition)
  39. {
  40. $condition[] = [ "keyword", "=", '' ];//只能删除非系统用户组
  41. $res = model('cashier_auth_group')->update($data, $condition);
  42. if ($res === false) {
  43. return $this->error('', 'UNKNOW_ERROR');
  44. }
  45. return $this->success($res);
  46. }
  47. /**
  48. * 删除用户组(不能批量)
  49. * @param array $group_id
  50. * @param array $condition
  51. * @return multitype:string mixed
  52. */
  53. public function deleteGroup($condition)
  54. {
  55. $check_condition = array_column($condition, 2, 0);
  56. $site_id = isset($check_condition[ 'site_id' ]) ? $check_condition[ 'site_id' ] : '';
  57. if ($site_id === '') {
  58. return $this->error('', 'REQUEST_SITE_ID');
  59. }
  60. $group_id = isset($check_condition[ 'group_id' ]) ? $check_condition[ 'group_id' ] : 0;
  61. if (!is_int($group_id) && $group_id <= 0) {
  62. return $this->error('', 'USER_GROUP_NOT_ALL_DELETE');
  63. }
  64. $temp_count = model('user_group')->getCount([ [ "group_id", "=", $group_id ], [ "app_module", "=", 'store' ], [ "site_id", "=", $site_id ] ], "uid");
  65. if ($temp_count > 0)
  66. return $this->error('', 'USER_GROUP_USED');
  67. $condition[] = [ "keyword", "=", '' ];//只能删除非系统用户组
  68. $res = model('cashier_auth_group')->delete($condition);
  69. if ($res === false) {
  70. return $this->error('', 'UNKNOW_ERROR');
  71. }
  72. return $this->success($res);
  73. }
  74. /**
  75. * 获取门店分组列信息
  76. * @param array $condition
  77. * @param string $field
  78. * @return array
  79. */
  80. public function getStoreGroupColumn($condition = [], $field = '')
  81. {
  82. $res = model('cashier_auth_group')->getColumn($condition, $field);
  83. return $this->success($res);
  84. }
  85. /**
  86. * 获取用户组详情
  87. * @param array $condition
  88. * @return multitype:string mixed
  89. */
  90. public function getGroupInfo($condition, $field = '*')
  91. {
  92. $info = model('cashier_auth_group')->getInfo($condition, $field);
  93. return $this->success($info);
  94. }
  95. /**
  96. * 获取用户组列表
  97. * @param array $condition
  98. * @param string $field
  99. * @param string $order
  100. * @param string $limit
  101. * @return multitype:string mixed
  102. */
  103. public function getGroupList($condition = [], $field = true, $order = 'group_id asc', $limit = null)
  104. {
  105. $list = model('cashier_auth_group')->getList($condition, $field, $order, '', '', '', $limit);
  106. return $this->success($list);
  107. }
  108. /**
  109. * 获取管理组分页列表
  110. * @param array $condition
  111. * @param number $page
  112. * @param string $page_size
  113. * @param string $order
  114. * @param string $field
  115. * @return multitype:string mixed
  116. */
  117. public function getGroupPageList($condition = [], $page = 1, $page_size = PAGE_LIST_ROWS, $order = 'group_id asc', $field = '*')
  118. {
  119. $list = model('cashier_auth_group')->pageList($condition, $field, $order, $page, $page_size);
  120. return $this->success($list);
  121. }
  122. }