System.php 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. <?php namespace Manage\Lib;
  2. use Dever;
  3. use Dever\Project;
  4. use Dever\Helper\Str;
  5. class System extends Auth
  6. {
  7. public function getTree()
  8. {
  9. $data = Dever::db('system', 'manage')->select([]);
  10. $result = [];
  11. $result[] = [
  12. 'id' => 'root',
  13. 'name' => '全部系统',
  14. 'children' => $data,
  15. ];
  16. return $result;
  17. }
  18. # 创建管理员
  19. public function update($system, $db, $data)
  20. {
  21. if (isset($data['mobile']) && $data['mobile']) {
  22. $system = Dever::db('system', 'manage')->find(['key' => $system]);
  23. $data['system_key'] = $system['key'];
  24. $data['system_id'] = $system['id'];
  25. $data['info_id'] = $data['id'];
  26. $data['partition'] = $system['partition'];
  27. $db = Dever::db($system['user_table'], '', true, 'default', Dever::load('common', 'manage')->system($data));
  28. $info = $db->find(['mobile' => $data['mobile']]);
  29. if (!$info) {
  30. $password = '123456';
  31. $insert['name'] = Str::hide($data['mobile']);
  32. $insert['mobile'] = $data['mobile'];
  33. $insert['role'] = 1;
  34. $insert += Dever::load('common', 'manage')->createPwd($password);
  35. $db->insert($insert);
  36. }
  37. $db = Dever::db($system['role_table'], '', true, 'default', Dever::load('common', 'manage')->system($data));
  38. $info = $db->find(['id' => 1]);
  39. if (!$info) {
  40. $insert = [];
  41. $insert['name'] = '超级管理员';
  42. $db->insert($insert);
  43. }
  44. }
  45. }
  46. # 创建账户
  47. public function createUser($data, $state = true)
  48. {
  49. if (isset($data['mobile']) && $data['mobile'] && isset($data['password']) && $data['password']) {
  50. $info = Dever::db($data['table'])->find($data['id']);
  51. if ($info) {
  52. $system = Dever::db('system', 'manage')->find(['key' => $data['system']]);
  53. $set['system_key'] = $system['key'];
  54. $set['system_id'] = $system['id'];
  55. $set['info_id'] = 1;
  56. $set['partition'] = $system['partition'];
  57. $db = Dever::db($system['user_table'], '', 'default', Dever::load('common', 'manage')->system($set));
  58. $user = $db->find(['mobile' => $data['mobile']]);
  59. if ($state && $user) {
  60. Dever::error('手机号' . $data['mobile'] . '已存在,请更换手机号');
  61. }
  62. $module = Dever::db('system_module', 'manage')->find(['key' => $data['module'], 'system' => 'group']);
  63. $insert['name'] = $info['name'];
  64. $insert['mobile'] = $data['mobile'];
  65. $insert['role'] = 2;
  66. $insert['module_data'] = $module['id'] . '-' . $info['id'];
  67. $insert += Dever::load('common', 'manage')->createPwd($data['password']);
  68. if (!$user) {
  69. $db->insert($insert);
  70. } else {
  71. $module_data = $insert['module_data'];
  72. unset($insert['module_data']);
  73. if (!strstr($user['module_data'], $module_data)) {
  74. $insert['module_data'] = $module_data . ',' . $user['module_data'];
  75. }
  76. $db->update($user['id'], $insert);
  77. }
  78. }
  79. }
  80. return $data;
  81. }
  82. }