SystemVersionLog.php 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. <?php
  2. namespace common\models\backend;
  3. use common\enums\StatusEnum;
  4. use Yii;
  5. /**
  6. * This is the model class for table "{{%system_version_log}}".
  7. *
  8. * @property int $id
  9. * @property string $mian_version 当前主商城版本
  10. * @property string|null $addons_version 当前插件版本
  11. * @property string $upgrade_mian_version 升级主商城版本
  12. * @property string|null $upgrade_addons_version 升级插件版本
  13. * @property string|null $upgrade_params mq传输的参数
  14. * @property int $status 状态:0-更新中,1-更新完成,-1-更新失败
  15. * @property int $created_at
  16. * @property int $updated_at
  17. */
  18. class SystemVersionLog extends \common\models\base\BaseActiveRecord
  19. {
  20. /**
  21. * {@inheritdoc}
  22. */
  23. public static function tableName()
  24. {
  25. return '{{%system_version_log}}';
  26. }
  27. /**
  28. * {@inheritdoc}
  29. */
  30. public function rules()
  31. {
  32. return [
  33. [['addons_version', 'upgrade_addons_version', 'upgrade_params'], 'string'],
  34. [['status', 'created_at', 'updated_at'], 'integer'],
  35. [['mian_version', 'upgrade_mian_version'], 'string', 'max' => 32],
  36. ];
  37. }
  38. /**
  39. * {@inheritdoc}
  40. */
  41. public function attributeLabels()
  42. {
  43. return [
  44. 'id' => 'ID',
  45. 'mian_version' => 'Mian Version',
  46. 'addons_version' => 'Addons Version',
  47. 'upgrade_mian_version' => 'Upgrade Mian Version',
  48. 'upgrade_addons_version' => 'Upgrade Addons Version',
  49. 'upgrade_params' => 'Upgrade Params',
  50. 'status' => 'Status',
  51. 'created_at' => 'Created At',
  52. 'updated_at' => 'Updated At',
  53. ];
  54. }
  55. /**
  56. * 保存数据
  57. * @param array $params
  58. * @return bool|Menu
  59. */
  60. public static function setData(array $params)
  61. {
  62. try {
  63. if (!empty($params['id'])) {
  64. $model = self::findOne(['id' => $params['id']]);
  65. if (empty($model)) throw new \Exception('记录不存在或已删除');
  66. } else {
  67. $model = new self();
  68. $model->loadDefaultValues();
  69. }
  70. if (!$model->load($params, '') || !$model->save()) throw new \Exception($model->getErrorMessage());
  71. return $model;
  72. } catch (\Exception $e) {
  73. self::$static_error = $e->getMessage();
  74. return false;
  75. }
  76. }
  77. /**
  78. * 系统超过3个月未更新警告提示
  79. * @Author: lun
  80. * @DateTime: 2023/6/8 0008 18:22
  81. * @Copyright: copyright (c) 2021 广东七件事集团
  82. * @return string
  83. */
  84. public static function getUpgradeAlert()
  85. {
  86. $alert = '';// 提示内容
  87. $last_time = self::find()->select('created_at')->where(['status' => 1])->orderBy('id desc')->scalar();
  88. if ($last_time) {
  89. // 上次更新时间大于3个月则返回提示
  90. if((time() - $last_time) / 86400 > 90) {
  91. $alert = '经检测,系统已经超过三个月未进行更新,建议联系技术进行手动更新!';
  92. }
  93. }
  94. return $alert;
  95. }
  96. }