SettingLog.php 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: blank
  5. * Date: 2022/11/23
  6. * Time: 12:16
  7. */
  8. namespace app\common\services\operation;
  9. use app\common\models\AdminOperationLog;
  10. use app\common\models\OperationLog;
  11. use app\common\models\user\User;
  12. class SettingLog
  13. {
  14. public $modules = 'shop';
  15. public $type = 'setting';
  16. //需要记录的参数数组
  17. protected $logs;
  18. protected $values = [];
  19. /**
  20. * SettingLog constructor.
  21. * @param $setting_key string 设置键名称
  22. */
  23. public function __construct($setting_key)
  24. {
  25. $this->uid = intval(\YunShop::app()->uid);
  26. if (empty($this->uid) || is_null($setting_key)) {
  27. return;
  28. }
  29. $this->logs['table_id'] = $setting_key;
  30. $this->logs['admin_uid'] = $this->uid;
  31. $this->logs['table_name'] = 'yz_setting';
  32. $this->logs['ip'] = $_SERVER['REMOTE_ADDR'];
  33. }
  34. /**
  35. * @param $before_value array 之前值
  36. * @param $after_value array 之后值
  37. */
  38. public function recordLog($before_value = [], $after_value)
  39. {
  40. $this->setLog('before', $before_value?:[]);
  41. $this->setLog('after', $after_value?:[]);
  42. $createData = $this->getAllLogs();
  43. $log = new AdminOperationLog();
  44. $log->fill($createData);
  45. $log->created_at = time();
  46. $log->updated_at = time();
  47. $log->save();
  48. }
  49. /**
  50. * 设置日志值
  51. * @param $log
  52. * @param $logValue
  53. */
  54. public function setLog($log, $logValue)
  55. {
  56. $this->logs[$log] = $logValue?:'';
  57. }
  58. /**
  59. * 获取日志值
  60. * @param $log
  61. * @return string
  62. */
  63. public function getLog($log)
  64. {
  65. return isset($this->logs[$log])?$this->logs[$log] : '';
  66. }
  67. /**
  68. *获取所有请求的参数
  69. *@return array
  70. */
  71. public function getAllLogs()
  72. {
  73. return $this->logs;
  74. }
  75. }