AppIcon.php 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147
  1. <?php
  2. namespace app\api\controller\v1;
  3. use app\api\controller\Base;
  4. use app\common\model\Config;
  5. use app\hander\HelpHander;
  6. use think\Db;
  7. class AppIcon extends Base
  8. {
  9. public function lists(){
  10. $orgId = input('orgId',0);
  11. $token = input('token','','trim');
  12. $rolesId = input('rolesId',0);
  13. $type = input('type',0);
  14. $ret = [];
  15. $rolesIds = db('roles')->where('id',$rolesId)->value('appauths');
  16. $orgapps = Db::name('org')->where('id',$orgId)->value('appauths');
  17. $rolesIds = $rolesIds?explode(',',$rolesIds):[];
  18. $orgapps = $orgapps?explode(',',$orgapps):[];
  19. $ret['appIcons'] = [];
  20. if($rolesIds || in_array($rolesId,[1,2,537])){
  21. $map = [];
  22. if(in_array($rolesId,[1,2])){
  23. if($orgapps){
  24. $map[] = ['id','in',$orgapps];
  25. }else{
  26. $map[] = ['id','=',0];
  27. }
  28. }elseif ($rolesId == 537){ //陪护管理员
  29. $map[] = ['id','in',[34,35,70]];
  30. }
  31. else{
  32. $ids = array_unique(array_intersect($rolesIds,$orgapps));
  33. if($ids){
  34. $map[] = ['id','in',$ids];
  35. }else{
  36. $map[] = ['id','=',0];
  37. }
  38. }
  39. $map[] = ['enable','=',1];
  40. $map[] = ['type','=',$type];
  41. $map[] = ['del','=',0];
  42. if($type == 0){ //0=首页 1=统计页
  43. $map[] = ['pid','=',0];
  44. }
  45. $appIcon = db('app_icon')
  46. ->field('id,name,mode,path,url,des')
  47. ->where($map)
  48. ->order(['sort'=>'desc','id'=>'asc'])
  49. ->select();
  50. foreach ($appIcon as $k=>$v){
  51. if($v['url']){
  52. if(strstr($v['url'],'?') === false){
  53. $appIcon[$k]['url'] = $v['url'].'?token='.$token.'&orgId='.$orgId;
  54. }else{
  55. $appIcon[$k]['url'] = $v['url'].'&token='.$token.'&orgId='.$orgId;
  56. }
  57. }
  58. $c = 0;
  59. if($v['id']==10){//专项保洁
  60. $c = model('CleanTask')
  61. ->taskCount2(0,$this->userId,$orgId);
  62. }elseif ($v['id']==7){//设备维保
  63. $c = model('Device')
  64. ->taskCount($this->userId,$orgId);
  65. }elseif ($v['id']==17){//巡更任务
  66. $c = model('PatrolTask')
  67. ->taskCount($this->userId,$orgId,1);
  68. }elseif ($v['id']==18){//巡检任务
  69. $c = model('PatrolTask')
  70. ->taskCount($this->userId,$orgId,4);
  71. }elseif ($v['id']==19){//巡查任务
  72. $c = model('PatrolTask')
  73. ->taskCount($this->userId,$orgId,3);
  74. }elseif ($v['id']==20){//巡视任务
  75. $c = model('PatrolTask')
  76. ->taskCount($this->userId,$orgId,2);
  77. }
  78. $appIcon[$k]['name'] = $c>0?$v['name'].'('.$c.')':$v['name'];
  79. }
  80. $ret['appIcons'] = $appIcon;
  81. }
  82. $orgGrabOrder = getOrgGrabOrder($this->userId,$this->orgId);
  83. $ret['org_grab_order'] = $orgGrabOrder;
  84. HelpHander::success($ret,'成功');
  85. }
  86. public function notice(){
  87. $ret['bannerList'] = Db::name('banner')
  88. ->where('del',0)
  89. ->where('enable',1)
  90. ->where('type',0)
  91. ->select();
  92. $notice = Db::name('notice')
  93. ->where('org_id',$this->orgId)
  94. ->where('user_id',$this->userId)
  95. ->where('del',0)
  96. ->field('id,title')
  97. ->order('id','desc')
  98. ->find();
  99. if(!$notice){
  100. $notice = Db::name('notice_common')
  101. ->where('org_id',$this->orgId)
  102. ->where('del',0)
  103. ->field('id,title')
  104. ->order('id','desc')
  105. ->find();
  106. }
  107. $ret['notice'] = $notice?$notice:null;
  108. HelpHander::success($ret,'成功');
  109. }
  110. public function wxlist(){
  111. $token = input('token','','trim');
  112. $modes = ['1','2','3','4','12','15','42','48'];
  113. $appicons = Db::name('org')->where('id',$this->orgId)->value('appauths');
  114. $map[] = ['enable','=',1];
  115. $map[] = ['type','=',0];
  116. $map[] = ['pid','=',0];
  117. $map[] = ['del','=',0];
  118. $map[] = ['mode','in',$modes];
  119. if($appicons){
  120. $map[] = ['id','in',explode(',',$appicons)];
  121. }
  122. $appIcon = db('app_icon')
  123. ->field('id,name,mode,path,url,des')
  124. ->where($map)
  125. ->order(['sort'=>'desc','id'=>'asc'])
  126. ->select();
  127. foreach ($appIcon as $k=>$v){
  128. if($v['url']){
  129. if(strstr($v['url'],'?') === false){
  130. $appIcon[$k]['url'] = $v['url'].'?token='.$token.'&orgId='.$this->orgId;
  131. }else{
  132. $appIcon[$k]['url'] = $v['url'].'&token='.$token.'&orgId='.$this->orgId;
  133. }
  134. }
  135. }
  136. HelpHander::success($appIcon?$appIcon:[],'成功');
  137. }
  138. }