UserCompany.php 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141
  1. <?php
  2. namespace app\admin\controller;
  3. use app\admin\common\User as UserCommon;
  4. use think\facade\Db;
  5. use think\facade\Validate;
  6. //【公司账号查询】
  7. class UserCompany extends Base
  8. {
  9. //列表
  10. public function getList()
  11. {
  12. $param = $this->request->only(['account_id' => '', 'status' => '', 'page' => 1, 'size' => 10], 'post', 'trim');
  13. $userCommon = new UserCommon();
  14. $rs = $userCommon->handle('userCompanyList', $param);
  15. if (isset($rs['code']) && $rs['code'] == 0) {
  16. //补充角色信息
  17. foreach ($rs['data']['list'] as &$item) {
  18. $tmp = Db::name('user_role')
  19. ->alias('a')
  20. ->field('b.role_name')
  21. ->leftJoin('role b', 'b.id=a.roleid')
  22. ->where(['a.uid' => $item['account_id'], 'a.is_del' => 0, 'a.companyNo' => $item['companyCode']])
  23. ->findOrEmpty();
  24. $item['role_name'] = $tmp['role_name'] ?? '';
  25. }
  26. }
  27. return json_show($rs['code'], $rs['message'], $rs['data']);
  28. }
  29. //编辑
  30. public function update()
  31. {
  32. $param = $this->request->only(['account_id', 'companyNo', 'roleid', 'itemid'], 'post');
  33. $val = Validate::rule([
  34. 'account_id|账户id' => 'require|number|gt:0',
  35. 'companyNo|公司编码' => 'require|length:18',
  36. 'roleid|角色' => 'require|number|gt:0',
  37. 'itemid|部门id' => 'require|number|gt:0',
  38. ]);
  39. if (!$val->check($param)) return json_show(1004, $val->getError());
  40. // $role = Db::name('role')
  41. // ->field('id')
  42. // ->where('id', $param['roleid'])
  43. // ->where('level', '<>', 1)
  44. // ->findOrEmpty();
  45. //
  46. // if (empty($role)) return json_show(1004, '角色不存在或等级不符合要求');
  47. // $item = Db::name('company_item')
  48. // ->field('id')
  49. // ->where(['id' => $param['itemid'], 'companyNo' => $param['companyNo']])
  50. // ->findOrEmpty();
  51. // if (empty($item)) return json_show(1004, '该公司部门不存在');
  52. // $tmp = Db::name('user_role')
  53. // ->field('id')
  54. // ->where(['uid' => $param['account_id'], 'companyNo' => $param['companyNo'], 'is_del' => 0])
  55. // ->findOrEmpty();
  56. $date = date('Y-m-d H:i:s');
  57. $rs = Db::name('user_role')
  58. ->where(['uid' => $param['account_id'], 'companyNo' => $param['companyNo'], 'is_del' => 0])
  59. ->update(['roleid' => $param['roleid'], 'itemid' => $param['itemid'], 'updatetime' => $date]);
  60. // $userCommon = new UserCommon();
  61. // $rs = json_decode($userCommon->handle('userCompanyUpdate', $param), true);
  62. return $rs ? json_show(0, '修改成功') : json_show(1004, '修改失败');
  63. }
  64. //启禁用
  65. public function status()
  66. {
  67. $param = $this->request->only(['id', 'status'], 'post', 'trim');
  68. $val = Validate::rule([
  69. 'id' => 'require|number|gt:0',
  70. 'status' => 'require|number|in:0,1',
  71. ]);
  72. if ($val->check($param) == false) return json_show(1004, $val->getError());
  73. $userCommon = new UserCommon();
  74. $rs = $userCommon->handle('userCompanyStatus', $param);
  75. if (!isset($rs['code']) || $rs['code'] != 0) return json_show($rs['code'], $rs['message'], $rs['data']);
  76. else {
  77. $res = Db::name('user_role')
  78. ->where('status', '<>', $param['status'])
  79. ->where(['uid' => $rs['data']['account_id'], 'companyNo' => $rs['data']['companyNo'], 'is_del' => 0])
  80. ->update(['status' => $param['status'], 'updatetime' => date('Y-m-d H:i:s')]);
  81. return $res ? json_show(0, '操作成功') : json_show(1004, '操作失败');
  82. }
  83. }
  84. //详情
  85. public function info()
  86. {
  87. $param = $this->request->post(['id'], 'post', 'trim');
  88. $userCommon = new UserCommon();
  89. $rs = $userCommon->handle('userCompanyInfo', $param);
  90. if (isset($rs['code']) && $rs['code'] == 0) {
  91. $tmp = Db::name('user_role')
  92. ->alias('a')
  93. ->field('b.role_name')
  94. ->leftJoin('role b', 'b.id=a.roleid')
  95. // ->leftJoin('company_item c', 'c.id=a.itemid and c.companyNo=a.companyNo')
  96. ->where(['a.uid' => $rs['data']['account_id'], 'is_del' => 0, 'a.companyNo' => $rs['data']['companyCode']])
  97. ->findOrEmpty();
  98. $rs['data']['role_name'] = $tmp['role_name'] ?? '';
  99. // $rs['data']['item_name'] = $tmp['item_name'] ?? '';
  100. }
  101. return json_show($rs['code'], $rs['message'], $rs['data']);
  102. }
  103. }