Systemlog.php 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. <?php
  2. namespace app\common\model\base;
  3. use app\common\model\Common;
  4. /**
  5. * 系统日志模型
  6. */
  7. use app\common\model\base\menu\Menurequest;
  8. use app\common\model\base\menu\Menu;
  9. use app\common\model\base\user\User;
  10. use app\common\model\base\user\Token;
  11. class Systemlog extends Common{
  12. protected $name = "system_syslog";
  13. protected $pk = "id";
  14. protected $append = [
  15. 'result_txt'
  16. ];
  17. public function resultList()
  18. {
  19. return [1=>'成功',2=>'失败'];
  20. }
  21. public function getResultTxtAttr($value,$data)
  22. {
  23. $value = $value ? $value : (isset($data['result']) ? $data['result'] : '');
  24. $resultList = $this->resultList();
  25. return isset($resultList[$value])?$resultList[$value]:'无';
  26. }
  27. public function request()
  28. {
  29. return $this->belongsTo(Menurequest::class,'request_id','menu_request_id');
  30. }
  31. public function menu()
  32. {
  33. return $this->belongsTo(Menu::class,'menu_id','menu_id');
  34. }
  35. public function createUser()
  36. {
  37. return $this->belongsTo(User::class,'create_uid','user_id')->removeOption('soft_delete');
  38. }
  39. static public function log($result,$remark)
  40. {
  41. try{
  42. $app = app();
  43. $token = $_SERVER["HTTP_AUTHORIZATION"]??$_SERVER['HTTP_TOKEN']??"";
  44. $data = [];
  45. $data['createtime'] = date("Y-m-d H:i:s");
  46. $data['result'] = $result;
  47. $data['remark'] = $remark;
  48. $data['ip'] = $app->request->ip();
  49. if(!empty($token)){
  50. $tokenUser = (new Token)->tokenUser($token);
  51. $data['username'] = $tokenUser?$tokenUser->name:'';
  52. $data['create_uid'] = $tokenUser?$tokenUser->user_id:0;
  53. }
  54. $controller = $app->request->controller(true);
  55. $action = $app->request->action(true);
  56. $path = DS.$controller.DS.$action;
  57. $data['path'] = $path;
  58. $request = Menurequest::where('path',$path)->find();
  59. if($request){
  60. $data['request_id'] = $request->menu_request_id;
  61. $data['menu_id'] = $request->menu_id;
  62. $data['code'] = $request->code;
  63. }
  64. self::create($data);
  65. }catch(\Exception $e){
  66. return $e->getTrace();
  67. }
  68. }
  69. }