DataGroup.php 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. <?php
  2. declare (strict_types = 1);
  3. namespace app\admin\model;
  4. use think\Model;
  5. /**
  6. * @mixin \think\Model
  7. */
  8. class DataGroup extends Model
  9. {
  10. public static $status_on = 1;//状态:1启用
  11. public static $status_off = 0;//状态:0禁用
  12. public static $delete_n = 0;//0未删除
  13. public static $delete_y = 1;//1删除
  14. public static $type_all = 0;//全部(这个值不在数据表里体现,只在业务逻辑处理中作为配置项)
  15. public static $type_write = 1;//1可编辑
  16. public static $type_read = 2;//2只读
  17. public static $type_noshare = 3;//3不共享
  18. public static function checkDataShare(int $uid = 0,int $level=2){
  19. $data = [0=>[],1 => [$uid], 2=> [$uid],3 => []];
  20. $groupid = DataGroupUserid::GroupIdByUid($uid);
  21. if(!empty($groupid)){
  22. $group = self::where(['id'=> $groupid,'is_del'=>0,'status'=>1])->field("id,type")->select();
  23. if($group->isEmpty()==false){
  24. $groupIdArr = array_column($group,"id");
  25. $uidArr = DataGroupUserid::UidsByGroupId($groupIdArr);
  26. foreach ($group as $item){
  27. $data[$item->type]= array_unique(array_merge($data[$item->type],$uidArr[$item->id]));
  28. }
  29. }
  30. }
  31. }
  32. }