FormatHelper.php 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. <?php
  2. namespace common\helpers;
  3. use Exception;
  4. class FormatHelper
  5. {
  6. public static function exception($e,$desc){
  7. /** @var Exception $e */
  8. $date = date('Y-m-d H:i:s');
  9. $msg = '['.$date.'] [error] description:'. $desc . PHP_EOL;
  10. $msg .= '[exception] '.$e->getMessage(). PHP_EOL;
  11. $msg .= '[file_info] '.$e->getFile().':'.$e->getLine();
  12. // $msg .= '[trace_info] '.$e->getTraceAsString(). PHP_EOL;
  13. return $msg;
  14. }
  15. /**
  16. * 填充用户
  17. * @desc
  18. *
  19. * @param array $users
  20. * @param array $data
  21. * @param string $parent
  22. * @return array
  23. */
  24. public static function fillingUserData(array $users, array $data, string $parent = "") :array
  25. {
  26. if (!empty($users)) {
  27. $users_tmp = array_reduce($users, function (&$users, $val) {
  28. $users[$val['id']] = $val;
  29. return $users;
  30. });
  31. foreach ($data as &$v) {
  32. $v["user"] = $users_tmp[$v["user_id"]];
  33. if (!empty($parent)) {
  34. if (strpos($parent, '.') > 1) {
  35. $keys = explode('.', $parent);
  36. $v["parent_user"] = $users_tmp[$v[$keys[0]][$keys[1]]];
  37. } else {
  38. $v["parent_user"] = $users_tmp[$v[$parent]];
  39. }
  40. }
  41. }
  42. }
  43. return $data;
  44. }
  45. /**
  46. * 填充文本
  47. * @desc
  48. *
  49. * @param array $data
  50. * @param array $keys ['status' => [1 => '正常', 0 => '禁用', -1 => '已删除']]
  51. * @param string $default_text
  52. * @return array
  53. */
  54. public static function fillingAttrText(array $data, array $keys, string $default_text = '未知属性'): array
  55. {
  56. foreach ($data as &$v) {
  57. foreach ($keys as $key => $val) {
  58. $tmp_key = "{$key}_text";
  59. if (!empty($val[$v[$key]])) {
  60. $v[$tmp_key] = $val[$v[$key]];
  61. } else {
  62. $v[$tmp_key] = $default_text;
  63. }
  64. }
  65. }
  66. return $data;
  67. }
  68. }