User.php 25 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603
  1. <?php
  2. declare (strict_types = 1);
  3. namespace app\admin\controller;
  4. use app\BaseController;
  5. use think\facade\Db;
  6. use app\admin\model\ActionLog;
  7. //用户
  8. class User extends BaseController
  9. {
  10. /**
  11. * 显示资源列表
  12. *
  13. * @return \think\Response
  14. */
  15. public function list()
  16. {
  17. $post =$this->request->post();
  18. $token = isset($post['token']) ? trim($post['token']) : "";
  19. if($token==""){
  20. return error_show(101,'token不能为空');
  21. }
  22. $effetc =VerifyTokens($token);
  23. if(!empty($effetc) && $effetc['code']!=0){
  24. return error_show($effetc['code'],$effetc['message']);
  25. }
  26. $data = Getlist($token,$post);
  27. if(!empty($data) && $data['code']!=0){
  28. return error_show($data['code'],$data['message']);
  29. }
  30. $list=[];
  31. foreach($data['data']['list'] as $key=>$value){
  32. $role = Db::name("user_role")->alias('a')->leftJoin('role b',"a.roleid = b.id")->where("a.uid","=",$value['id'])
  33. ->field("roleid,role_name")->find();
  34. $value['roleid'] = isset($role['roleid']) ? $role['roleid'] :"";
  35. $value['role_name'] = isset($role['role_name']) ? $role['role_name'] :"";
  36. $depart = Db::name("depart_user")->where([["uid","=",$value['id']],["is_del","=",0]])->column("itemid");
  37. $value['depart']="";
  38. if(!empty($depart)){
  39. // $deparname = Db::name("company_item")->where(["id"=>$depart,"is_del"=>0])->column("name");
  40. $deparname = Db::name("company_item")->where(["id"=>$depart,"is_del"=>0])->column("id,name,depart_link");
  41. $value['depart_code'] = [];
  42. if(!empty($deparname)){
  43. foreach ($deparname as $item) {
  44. $value['depart_code'][] = array_filter(explode("-",$item['depart_link'])) ;
  45. $value['depart_info'][] = Db::name("company_item")->where(["id"=>array_filter(explode("-",
  46. $item['depart_link'])),"is_del"=>0])->column("name");
  47. }
  48. }
  49. $value['depart'] = $deparname;
  50. }
  51. $list[]=$value;
  52. }
  53. $data['data']['list'] = $list;
  54. return app_show($data['code'],$data['message'],$data['data']);
  55. }
  56. /**
  57. * @param token
  58. * @return \think\response\Json
  59. * @throws \think\exception\DbException
  60. */
  61. public function userInfo(){
  62. $post =$this->request->post();
  63. $token = isset($post['token']) ? trim($post['token']) : "";
  64. if($token==""){
  65. return app_show(101,'token不能为空');
  66. }
  67. $effetc = VerifyTokens($token);
  68. if(!empty($effetc) && $effetc['code']!=0){
  69. return app_show($effetc['code'],$effetc['message']);
  70. }
  71. $userinfo=GetUserInfo($token);
  72. if(empty($userinfo)||$userinfo['code']!=0){
  73. return app_show(102,"员工信息不存在");
  74. }
  75. $id = isset($post['id']) && $post['id'] !==""? trim($post['id']):"";
  76. if($id ==""){
  77. return error_show(1004,"id不能为空");
  78. }
  79. $to= GetInfoById($token,['id'=>$id]);
  80. if(empty($to)||$to['code']!=0){
  81. return app_show(1002,"员工信息不存在");
  82. }
  83. // $nickname = isset($to['data']['nickname']) &&$to['data']['nickname']!="" ? $to['data']['nickname'] :"" ;
  84. $data = $to['data'];
  85. $role = Db::name("user_role")->alias('a')->leftJoin('role b',"a.roleid = b.id")->where("a.uid","=",$data['id'])
  86. ->field("roleid,role_name,business_all,uid")->find();
  87. $data['role_name']=isset($role['role_name']) ? $role['role_name'] :"";
  88. $data['roleid']=isset($role['roleid']) ? $role['roleid'] :"";
  89. $st = Db::name('user_business')->where(['userid'=>$role['uid'],"is_del"=>0])->field('businessid,is_main')->select()->toArray();
  90. $val=[];
  91. if (!empty($st)){
  92. foreach ($st as $itom){
  93. $tep=[];
  94. $business= Db::name('business')->where(['id'=>$itom['businessid'],"is_del"=>0])->field("company,companyNo")->find();
  95. $tep['company']=isset($business['company'])?$business['company']:"";
  96. $tep['companyNo']=isset($business['companyNo'])?$business['companyNo']:"";
  97. $tep['businessid']=$itom['businessid'];
  98. $tep['is_main']=$itom['is_main'];
  99. $val[]=$tep;
  100. }
  101. }
  102. $data['business'] =$val;
  103. $info=[];
  104. $stn = Db::name('user_platform')->where(['uid'=>$role['uid']])->find();
  105. if($stn!=false){
  106. $plat =isset($stn['platform'])?explode(",",$stn['platform']):"";
  107. if($plat!=""){
  108. $platform = Db::name('platform')->where(['id'=>$plat,'is_del'=>0])->column("id,platform_name,platform_code");
  109. $info=$platform;
  110. }
  111. }
  112. $depart = Db::name("depart_user")->where([["uid","=",$data['id']],["is_del","=",0]])->column("itemid");
  113. $data['depart']="";
  114. if(!empty($depart)){
  115. $deparname = Db::name("company_item")->where(["id"=>$depart,"is_del"=>0])->field("id,name,depart_link")->select()->toArray();
  116. if(!empty($deparname)){
  117. foreach ($deparname as $ky=> $item) {
  118. $deparname[$ky]['depart_code']= array_filter(explode("-",$item['depart_link'])) ;
  119. }
  120. }
  121. $data['depart'] = $deparname;
  122. }
  123. // $info['businessid']=$st['businessid'];
  124. // $info['is_main'] = $st['is_main'];
  125. // $info['platform']=$stn['platform'];
  126. $data['platform']=$info;
  127. return app_show(0,"获取成功",$data);
  128. }
  129. /**
  130. * @param token
  131. * @param passwd
  132. * @return \think\response\Json
  133. * @throws \think\exception\DbException
  134. */
  135. public function resetPwd(){
  136. $post =$this->request->post();
  137. $token = isset($post['token']) ? trim($post['token']) : "";
  138. if($token==""){
  139. return error_show(101,'token不能为空');
  140. }
  141. $effetc = VerifyTokens($token);
  142. if(!empty($effetc) && $effetc['code']!=0){
  143. return error_show($effetc['code'],$effetc['message']);
  144. }
  145. $newPwd= isset($post['newpwd']) ? trim($post['newpwd']) : "";
  146. if($newPwd==""){
  147. return error_show(1001,'新密码不能为空');
  148. }
  149. $oldpwd = isset($post['oldpwd'])?trim($post['oldpwd']):"";
  150. if($oldpwd==""){
  151. return error_show(1002,"原密码不能为空");
  152. }
  153. $data = resetpasswd($token,['newpwd'=>$newPwd,'oldpwd'=>$oldpwd]);
  154. if(empty($userinfo)||$userinfo['code']!=0){
  155. return error_show($userinfo['code'],$userinfo['message']);
  156. }else{
  157. return app_show(0,"密码修改成功");
  158. }
  159. }
  160. public function userAll(){
  161. $post =$this->request->post();
  162. $token = isset($post['token']) ? trim($post['token']) : "";
  163. if($token==""){
  164. return app_show(101,'token不能为空');
  165. }
  166. $effetc = VerifyTokens($token);
  167. if(!empty($effetc) && $effetc['code']!=0){
  168. return app_show($effetc['code'],$effetc['message']);
  169. }
  170. $userinfo=GetAccountall($token,$post);
  171. if(empty($userinfo)||$userinfo['code']!=0){
  172. return app_show(1002,"员工信息不存在");
  173. }
  174. $data = $userinfo['data'];
  175. $list=[];
  176. foreach ($data as $value){
  177. $role = Db::name("user_role")->alias('a')->leftJoin('role b',"a.roleid = b.id")->where("a.uid","=",$value['id'])
  178. ->field("roleid,role_name")->find();
  179. $value['roleid'] = isset($role['roleid']) ? $role['roleid'] :"";
  180. $value['role_name'] = isset($role['role_name']) ? $role['role_name'] :"";
  181. $depart = Db::name("depart_user")->where([["uid","=",$value['id']],["is_del","=",0]])->column("itemid");
  182. $value['depart']="";
  183. if(!empty($depart)){
  184. $deparname = Db::name("company_item")->where(["id"=>$depart,"is_del"=>0])->field("id,name,depart_link")
  185. ->select()->toArray();
  186. array_walk($deparname,function (&$v){
  187. $v = array_filter(explode("-",$v['depart_link'])) ;
  188. });
  189. $value['depart'] = $deparname;
  190. }
  191. $list[]=$value;
  192. }
  193. return app_show(0,"获取成功",$list);
  194. }
  195. /**
  196. * @return \think\response\Json|void
  197. * @throws \think\db\exception\DataNotFoundException
  198. * @throws \think\db\exception\DbException
  199. * @throws \think\db\exception\ModelNotFoundException
  200. * @throws \think\exception\DbException
  201. */
  202. public function userList(){
  203. $post =$this->request->post();
  204. $token = isset($post['token']) ? trim($post['token']) : "";
  205. if($token==""){
  206. return app_show(101,'token不能为空');
  207. }
  208. $effetc = VerifyTokens($token);
  209. if(!empty($effetc) && $effetc['code']!=0){
  210. return app_show($effetc['code'],$effetc['message']);
  211. }
  212. $itemid = isset($post['itemid']) && $post['itemid']!=="" ? intval($post['itemid']) :"";
  213. if($itemid!==""){
  214. $uid = Db::name("depart_user")->where([["itemid","=",$itemid],["is_del","=",0]])->column("uid");
  215. $post['uid'] =$uid;
  216. }
  217. $userinfo=GetList($token,$post);
  218. if(empty($userinfo)||$userinfo['code']!=0){
  219. return app_show($userinfo['code'],$userinfo['msg']);
  220. }
  221. $data = $userinfo['data']['list'];
  222. $list=[];
  223. foreach ($data as $value){
  224. $role = Db::name("user_role")->alias('a')->leftJoin('role b',"a.roleid = b.id")->where("a.uid","=",$value['id'])
  225. ->field("roleid,role_name")->find();
  226. $value['roleid'] = isset($role['roleid']) ? $role['roleid'] :"";
  227. $value['role_name'] = isset($role['role_name']) ? $role['role_name'] :"";
  228. $depart = Db::name("depart_user")->where([["uid","=",$data['uid']],["is_del","=",0]])->column("itemid");
  229. $value['depart']="";
  230. if(!empty($depart)){
  231. $deparname = Db::name("company_item")->where(["id"=>$depart,"is_del"=>0])->field("id,name,depart_link")
  232. ->select()->toArray();
  233. $value['depart'] = $deparname;
  234. $value['depart_code'] = [];
  235. if(!empty($deparname)){
  236. foreach ($deparname as $item) {
  237. $value['depart_code'][] = array_filter(explode("-",$item['depart_link'])) ;
  238. }
  239. }
  240. }
  241. $list[]=$value;
  242. }
  243. return app_show(0,"获取成功",["list"=>$list,"count"=>$userinfo['data']["count"]]);
  244. }
  245. public function setRole(){
  246. $post =$this->request->post();
  247. $token = isset($post['token']) ? trim($post['token']) : "";
  248. if($token==""){
  249. return app_show(101,'token不能为空');
  250. }
  251. $effetc = VerifyTokens($token);
  252. if(!empty($effetc) && $effetc['code']!=0){
  253. return app_show($effetc['code'],$effetc['message']);
  254. }
  255. $uid = isset($post['id'])&&$post['id']!=='' ? intval($post['id']) :"";
  256. if($uid===''){
  257. return error_show(1004,"参数id 不能为空");
  258. }
  259. $role =isset($post['roleid']) && $post['roleid']!=="" ? intval($post['roleid']) :"";
  260. if($role===''){
  261. return error_show(1004,"参数roleid 不能为空");
  262. }
  263. $isRole = Db::name('role')->where([['id',"=",$role],['status',"=",1]])->find();
  264. if(empty($isRole)){
  265. return error_show(1004,"所选角色不存在");
  266. }
  267. $data = [
  268. 'uid'=>$uid,
  269. 'roleid'=>$role,
  270. 'status'=>1,
  271. 'addtime'=>date('Y-m-d H:i:s'),
  272. 'updatetime'=>date('Y-m-d H:i:s'),
  273. ];
  274. $insert = Db::name('user_role')->insert($data);
  275. $st = ["order_code"=>$uid,"status"=>1,"action_remark"=>'',"action_type"=>"create"];
  276. ActionLog::logAdd($token,$st,"resign_info",1,$st);
  277. return $insert? app_show(0,'数据新建成功'):error_show(1004,'数据新建失败');
  278. }
  279. /**
  280. * 保存新建的资源
  281. *
  282. * @param \think\Request $request
  283. * @return \think\Response
  284. */
  285. public function UserSave()
  286. {
  287. $post=$this->request->post();
  288. $toke= isset($post['token'])? trim($post['token']):"";
  289. if ($toke==""){
  290. return app_show(100,"token不能为空");
  291. }
  292. $verify = VerifyTokens($toke);
  293. if ($verify['code']!=0){
  294. return app_show($verify['code'],$verify['message']);
  295. }
  296. $userid = isset($post['id'])&&$post['id']!==""?intval($post['id']):"";
  297. if($userid==""){
  298. return error_show(1004,"参数id 不能为空");
  299. }
  300. $nickname= isset($post['nickname'])? trim($post['nickname']):"";
  301. if ($nickname==""){
  302. return app_show(1001,"昵称不能为空");
  303. }
  304. $mobile= isset($post['mobile'])? trim($post['mobile']):"";
  305. if ($mobile==""){
  306. return app_show(1002,"手机号不能为空");
  307. }
  308. if (checkMobile($mobile)==false){
  309. return app_show(1002,"手机号格式不正确");
  310. }
  311. $email= isset($post['email'])? trim($post['email']):"";
  312. $role =isset($post['role'])? intval($post['role']):0;
  313. if($role!=0){
  314. $roleinfo =Db::name("role")->where("id","=",$role)->find();
  315. if(empty($roleinfo)){
  316. return error_show(1002,"角色不存在");
  317. }
  318. if($roleinfo['status']==0){
  319. return error_show(1002,"角色已禁用");
  320. }
  321. }
  322. $itemid = isset($post['itemid'])&&$post['itemid']!=="" ?$post['itemid'] :"";
  323. $item_arr = [];
  324. if($itemid!==""){
  325. foreach ($itemid as $value){
  326. $item_arr[]=end($value);
  327. }
  328. $iteminfo = Db::name("company_item")->where(["id"=>$item_arr,'is_del'=>0])->select()->toArray();
  329. if(empty($iteminfo)){
  330. return error_show(1002,"未找到部门信息");
  331. }
  332. }
  333. $companyArr = isset($post['companyArr'])&&!empty($post['companyArr']) ? $post['companyArr']:"";
  334. if($companyArr==""){
  335. return error_show(1004,"参数companyArr不能为空");
  336. }
  337. $compArr=[];
  338. foreach ($companyArr as $value){
  339. $tmp=[];
  340. if(!isset($value['businessid'])||$value['businessid']==''){
  341. return error_show(1004,"参数业务公司businessid不能为空");
  342. }
  343. $tmp['userid']=$userid;
  344. $tmp['businessid']=$value['businessid'];
  345. $tmp['is_main']=isset($value['is_main'])?$value['is_main']:0;
  346. $tmp['is_del']=0;
  347. $tmp['addtime']=date("Y-m-d H:i:s");
  348. $tmp['updatetime']=date("Y-m-d H:i:s");
  349. $compArr[]=$tmp;
  350. }
  351. $platform = isset($post['platform'])&&!empty($post['platform']) ? $post['platform']:"";
  352. if($platform==""){
  353. return error_show(1004,"参数platform不能为空");
  354. }
  355. $plta =Db::name("platform")->where(["id"=>$platform,"is_del"=>0])->select()->toArray();
  356. if(empty($plta)){
  357. return error_show(1004,"未找到可用平台");
  358. }
  359. $userplat =Db::name("user_platform")->where(["uid"=>$userid,"is_del"=>0])->find();
  360. $isall = isset($post['is_all'])&&$post['is_all']!==""?intval($post['is_all']):"0";
  361. Db::startTrans();
  362. try{
  363. $sc=Db::name("user_business")->where(["userid"=>$userid,"is_del"=>0])->select()->toArray();
  364. if(!empty($sc)){
  365. $del= Db::name("user_business")->where(["userid"=>$userid,"is_del"=>0])->save(["is_del"=>1,
  366. "updatetime"=>date("Y-m-d H:i:s")]);
  367. if($del==false){
  368. Db::rollback();
  369. return error_show(1005,'业务公司添加失败');
  370. }
  371. }
  372. if(!empty($compArr)){
  373. $in = Db::name("user_business")->insertAll($compArr);
  374. if($in==0){
  375. Db::rollback();
  376. return error_show(1005,'业务公司添加失败');
  377. }
  378. }
  379. if($userplat==false){
  380. $userplat=[
  381. "uid"=>$userid,
  382. "platform"=>implode(",",$platform),
  383. "is_del"=>0,
  384. "addtime"=>date("Y-m-d H:i:s"),
  385. "updatetime"=>date("Y-m-d H:i:s")
  386. ];
  387. }else{
  388. $userplat['platform']= implode(",",$platform);
  389. $userplat['updatetime']= date("Y-m-d H:i:s");
  390. }
  391. $patup =Db::name("user_platform")->save($userplat);
  392. if($patup==false){
  393. Db::rollback();
  394. return error_show(1005,'业务平台添加失败');
  395. }
  396. $userrole = Db::name("user_role")->where(["uid"=>$userid,"is_del"=>0])->find();
  397. if(empty($userrole)){
  398. $roledata =[
  399. "uid"=>$userid,
  400. "roleid"=>$role,
  401. "status"=>1,
  402. "business_all"=>$isall,
  403. "addtime"=>date("Y-m-d H:i:s"),
  404. "updatetime"=>date("Y-m-d H:i:s")
  405. ];
  406. $up= Db::name("user_role")->insert($roledata);
  407. }else{
  408. $userrole['roleid'] = $role;
  409. $userrole['business_all'] = $isall;
  410. $userrole['updatetime'] = date("Y-m-d H:i:s");
  411. $up=Db::name("user_role")->save($userrole);
  412. }
  413. if($up){
  414. Db::name("depart_user")->where(["uid"=>$userid])->save(['is_del'=>1]);
  415. if(isset($item_arr)&&!empty($item_arr)){
  416. foreach ($item_arr as $v){
  417. $depin =[
  418. "uid"=>$userid,
  419. "nickname"=>$nickname,
  420. "itemid"=>$v,
  421. "is_del"=>0,
  422. "updatetime"=>date("Y-m-d H:i:s")
  423. ];
  424. $ist = Db::name("depart_user")->where(["uid"=>$userid,"itemid"=>$v])->find();
  425. if($ist){
  426. $up = Db::name("depart_user")->where(["uid"=>$userid,"itemid"=>$v])->save($depin);
  427. }else{
  428. $depin['addtime']=date("Y-m-d H:i:s");
  429. $up = Db::name("depart_user")->insert($depin);
  430. }
  431. if($up==false){
  432. Db::rollback();
  433. return error_show(1005,'用户部门更新失败');
  434. }
  435. }
  436. }
  437. }else{
  438. Db::rollback();
  439. return error_show(1005,'角色更新失败');
  440. }
  441. $data=[
  442. "id"=>$userid,
  443. "nickname"=>$nickname,
  444. "mobile"=>$mobile,
  445. "email"=>$email
  446. ];
  447. $save =resetinfo($toke,$data);
  448. if(!empty($save) && $save['code']!=0){
  449. Db::rollback();
  450. return error_show($save['code'],$save['message']);
  451. }
  452. Db::commit();
  453. return app_show(0,"更新成功");
  454. }catch(\Exception $e){
  455. Db::rollback();
  456. return app_show(1002,$e->getMessage());
  457. }
  458. }
  459. public function setPwd(){
  460. $post =$this->request->post();
  461. $token = isset($post['token']) ? trim($post['token']) : "";
  462. if($token==""){
  463. return error_show(101,'token不能为空');
  464. }
  465. $effetc = VerifyTokens($token);
  466. if(!empty($effetc) && $effetc['code']!=0){
  467. return error_show($effetc['code'],$effetc['message']);
  468. }
  469. $userid = isset($post['id'])&&$post['id']!==""?intval($post['id']):"";
  470. if($userid==""){
  471. return error_show(1004,"参数id 不能为空");
  472. }
  473. $newPwd= isset($post['password']) ? trim($post['password']) : "";
  474. if($newPwd==""){
  475. return error_show(1001,'密码不能为空');
  476. }
  477. $data = resetpwd($token,["id"=>$userid,'password'=>$newPwd]);
  478. if(empty($data)||$data['code']!=0){
  479. return error_show($data['code'],$data['message']);
  480. }else{
  481. return app_show(0,"密码修改成功");
  482. }
  483. }
  484. public function UserStatus()
  485. {
  486. $post=$this->request->post();
  487. $toke= isset($post['token'])? trim($post['token']):"";
  488. if ($toke==""){
  489. return app_show(100,"token不能为空");
  490. }
  491. $verify = VerifyTokens($toke);
  492. if ($verify['code']!=0){
  493. return app_show($verify['code'],$verify['message']);
  494. }
  495. $userid = isset($post['id'])&&$post['id']!==""?intval($post['id']):"";
  496. if($userid==""){
  497. return error_show(1004,"参数userid 不能为空");
  498. }
  499. $status = isset($post['status'])&&$post['status']!=""?intval($post['status']):"";
  500. if($status===""){
  501. return error_show(1004,"参数status 不能为空");
  502. }
  503. if(!in_array($status,[0,1])){
  504. return error_show(1004,"参数status无效");
  505. }
  506. $message = $status==1?"启用":"禁用";
  507. $set = resetstatus($toke,["id"=>$userid,"status"=>$status]);
  508. if(empty($set)||$set['code']!=0){
  509. return error_show(1005,"{$message}失败");
  510. }else{
  511. return app_show(0,"{$message}成功");
  512. }
  513. }
  514. public function getinfo(){
  515. $post =$this->request->post();
  516. $token = isset($post['token']) ? trim($post['token']) : "";
  517. if($token==""){
  518. return app_show(101,'token不能为空');
  519. }
  520. $effetc = VerifyTokens($token);
  521. if(!empty($effetc) && $effetc['code']!=0){
  522. return app_show($effetc['code'],$effetc['message']);
  523. }
  524. $userinfo=GetUserInfo($token);
  525. if(empty($userinfo)||$userinfo['code']!=0){
  526. return app_show(102,"员工信息不存在");
  527. }
  528. $data = $userinfo['data'];
  529. $role = Db::name("user_role")->alias('a')->leftJoin('role b',"a.roleid = b.id")->where("a.uid","=",$data['id'])
  530. ->field("roleid,role_name,business_all,uid")->find();
  531. $data['role_name']=isset($role['role_name']) ? $role['role_name'] :"";
  532. $data['roleid']=isset($role['roleid']) ? $role['roleid'] :"";
  533. $st = Db::name('user_business')->where(['userid'=>$role['uid'],"is_del"=>0])->field('businessid,is_main')->select()->toArray();
  534. $val=[];
  535. if (!empty($st)){
  536. foreach ($st as $itom){
  537. $tep=[];
  538. $business= Db::name('business')->where(['id'=>$itom['businessid'],"is_del"=>0])->field("company,companyNo")->find();
  539. $tep['company']=isset($business['company'])?$business['company']:"";
  540. $tep['companyNo']=isset($business['companyNo'])?$business['companyNo']:"";
  541. $tep['businessid']=$itom['businessid'];
  542. $tep['is_main']=$itom['is_main'];
  543. $val[]=$tep;
  544. }
  545. }
  546. $data['private_field'] = [];
  547. if($data['roleid']!=""){
  548. $action =Db::name("role_action")->where(["role_id"=>$data['roleid'],"status"=>1])->find();
  549. if($action!=false){
  550. $data['private_field']=isset($action['private_field'])&&$action['private_field']!=""?explode(",",
  551. $action['private_field']):[];
  552. }
  553. }
  554. $data['business'] =$val;
  555. $info=[];
  556. $stn = Db::name('user_platform')->where(['uid'=>$role['uid']])->find();
  557. if($stn!=false){
  558. $plat =isset($stn['platform'])?explode(",",$stn['platform']):"";
  559. if($plat!=""){
  560. $platform = Db::name('platform')->where(['id'=>$plat,'is_del'=>0])->column("id,platform_name,platform_code");
  561. $info=$platform;
  562. }
  563. }
  564. $depart = Db::name("depart_user")->where([["uid","=",$data['id']],["is_del","=",0]])->column("itemid");
  565. $data['depart']="";
  566. if(!empty($depart)){
  567. $deparname = Db::name("company_item")->where(["id"=>$depart,"is_del"=>0])->field("id,name,depart_link")->select()->toArray();
  568. if(!empty($deparname)){
  569. foreach ($deparname as $ky=> $item) {
  570. $deparname[$ky]['depart_code']= array_filter(explode("-",$item['depart_link'])) ;
  571. }
  572. }
  573. $data['depart'] = $deparname;
  574. }
  575. $data['platform']=$info;
  576. return app_show(0,"获取成功",$data);
  577. }
  578. }