ManageUserTransformer.php 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. <?php
  2. namespace App\Transformer\Manage;
  3. class ManageUserTransformer
  4. {
  5. const ROLE_LABELS = [
  6. 'superadmin' => '超级管理员',
  7. 'admin' => '公司管理员',
  8. 'user' => '组员',
  9. ];
  10. /**
  11. * 用户列表单项
  12. *
  13. * @param $list
  14. * @return array
  15. */
  16. public function newEachUser($list): array
  17. {
  18. $result = [];
  19. if (empty($list)) {
  20. return $result;
  21. }
  22. foreach ($list as $item) {
  23. $role = (string)getProp($item, 'role', '');
  24. $result[] = [
  25. 'uid' => (int)getProp($item, 'id', 0),
  26. 'account' => (string)getProp($item, 'account', ''),
  27. 'nickname' => (string)getProp($item, 'nickname', ''),
  28. 'avatar' => (string)getProp($item, 'avatar', ''),
  29. 'role' => $role,
  30. 'role_info' => self::ROLE_LABELS[$role] ?? $role,
  31. 'is_enabled' => (int)getProp($item, 'is_enabled', 0),
  32. 'company_name' => (string)getProp($item, 'company_name', ''),
  33. 'points' => (float)getProp($item, 'points', 0),
  34. 'created_at' => transDate(getProp($item, 'created_at')),
  35. ];
  36. }
  37. return $result;
  38. }
  39. }