Base.php 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. <?php
  2. declare (strict_types = 1);
  3. namespace app\report\controller;
  4. use app\BaseController;
  5. use app\model\AccountItem;use think\App;
  6. use think\facade\Cache;use think\Response;
  7. use think\exception\HttpResponseException;
  8. class Base extends BaseController
  9. {
  10. protected $responseType = 'json';
  11. public function __construct(App $app) {parent::__construct($app);}
  12. public function result(string $msg, $data = null, int $code = 0, string $type = null, array $header = [], array $options = [])
  13. {
  14. $result = [
  15. 'code' => $code,
  16. 'msg' => $msg,
  17. 'data' => $data,
  18. ];
  19. // 如果未设置类型则自动判断
  20. $type = $type ?: $this->responseType;
  21. $code = 200;
  22. if (isset($header['statuscode'])) {
  23. $code = $header['statuscode'];
  24. unset($header['statuscode']);
  25. }
  26. $response = Response::create($result, $type, $code)->header($header)->options($options);
  27. throw new HttpResponseException($response);
  28. }
  29. /**
  30. * @param string $message
  31. * @param int $code
  32. * @param null $data
  33. */
  34. public function error($message='',$code=1004,$data=null){
  35. $this->result($message,$data,$code);
  36. }
  37. /**
  38. * @param string $message
  39. * @param int $code
  40. * @param null $data
  41. */
  42. public function success($message='',$data=null,$code=0){
  43. $this->result($message,$data,$code);
  44. }
  45. public function GetDepartId($derpar_id){
  46. $uid=Cache::get("Report::depart_".$derpar_id);
  47. if($uid==false){
  48. $uid = (new AccountItem())->GetUidByDepartId($derpar_id);
  49. Cache::set('Report::depart_'.$derpar_id,$uid,new \DateTime(date("Y-m-d 23:59:59")));
  50. }
  51. return $uid;
  52. }
  53. }