增加影院状态和备注

main
RogerWork 6 days ago
parent 3a7146ef0a
commit 5e7876c25e
  1. 0
      exec_sql/__init__.py
  2. 3
      exec_sql/admin.py
  3. 6
      exec_sql/apps.py
  4. 0
      exec_sql/migrations/__init__.py
  5. 3
      exec_sql/models.py
  6. 3
      exec_sql/tests.py
  7. 3
      exec_sql/views.py
  8. 18
      update/migrations/0028_cinema_is_delete.py
  9. 23
      update/migrations/0029_cinema_comments_cinema_is_online.py
  10. 2
      update/models.py
  11. 2
      update/serializers.py
  12. 11
      update/utils/get_version.py
  13. 2
      update/views.py

@ -0,0 +1,3 @@
from django.contrib import admin
# Register your models here.

@ -0,0 +1,6 @@
from django.apps import AppConfig
class ExecSqlConfig(AppConfig):
default_auto_field = 'django.db.models.BigAutoField'
name = 'exec_sql'

@ -0,0 +1,3 @@
from django.db import models
# Create your models here.

@ -0,0 +1,3 @@
from django.test import TestCase
# Create your tests here.

@ -0,0 +1,3 @@
from django.shortcuts import render
# Create your views here.

@ -0,0 +1,18 @@
# Generated by Django 4.2.7 on 2025-07-18 08:10
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('update', '0027_updatecommand_combo_cmd_alter_updatecommand_run'),
]
operations = [
migrations.AddField(
model_name='cinema',
name='is_delete',
field=models.BooleanField(default=False, help_text='是否删除', verbose_name='是否删除'),
),
]

@ -0,0 +1,23 @@
# Generated by Django 4.2.7 on 2025-08-15 09:34
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('update', '0028_cinema_is_delete'),
]
operations = [
migrations.AddField(
model_name='cinema',
name='comments',
field=models.TextField(help_text='备注', null=True, verbose_name='备注'),
),
migrations.AddField(
model_name='cinema',
name='is_online',
field=models.BooleanField(default=False, help_text='是否在线', verbose_name='是否在线'),
),
]

@ -22,6 +22,8 @@ class Cinema(BaseModels):
help_text='远程办公id')
ver_id = models.IntegerField(verbose_name='版本id', null=False, default=0, help_text='版本id')
is_delete = models.BooleanField(verbose_name='是否删除', default=False, help_text='是否删除')
is_online = models.BooleanField(verbose_name='是否在线', default=False, help_text='是否在线')
comments = models.TextField(verbose_name='备注', null=True, help_text='备注')
def __str__(self):
return self.ip

@ -9,7 +9,7 @@ class CinemaSerializer(serializers.ModelSerializer):
model = Cinema
fields = (
'id', 'name', 'ip', 'zz_num', 'inner_id', 'db_user', 'db_pwd', 'sys_ver', 'client_ver', 'user',
'update_time', 'is_cloud', 'remote_label', 'ver_id', 'is_delete')
'update_time', 'is_cloud', 'remote_label', 'ver_id', 'is_delete', 'is_online', 'comments')
class CinemaUserSerializer(serializers.ModelSerializer):

@ -62,7 +62,8 @@ class GetVersion(object):
'connect_timeout': 5,
}
db_conn = pymysql.Connect(**db_config)
db_cursor = db_conn.cursor(cursor=DictCursor)
try:
with db_conn.cursor(cursor=DictCursor) as db_cursor:
db_cursor.execute(sql_str)
res = db_cursor.fetchone()
update_data = {
@ -75,10 +76,16 @@ class GetVersion(object):
'update_time': timezone.now(),
'is_cloud': '云版本' if res.get('dx_sys_version', '--') == 'CLOUD' else '--',
'remote_label': res.get('cinema_label', '--') if res.get('cinema_label', '--') != '' else '--',
'ver_id': int(res['server_version'][13:17]) if res['server_version'].startswith('Cloud_') else int(res['server_version'][7:11])
'ver_id': int(res['server_version'][13:17]) if res['server_version'].startswith('Cloud_') else int(res['server_version'][7:11]),
'is_online': True
}
print(ip, update_data, db_config)
cinema_obj = Cinema.objects.filter(ip=ip).update(**update_data)
except Exception as e:
print(e)
cinema_obj = Cinema.objects.filter(ip=ip).update(is_online=False)
finally:
db_conn.close()
def get_cinema_ver_by_ip(ip):

@ -51,7 +51,7 @@ class CinemaViewSet(CacheResponseMixin, viewsets.ModelViewSet):
search_fields = ('sys_ver',)
# filter_fields = ('ip',)
filterset_fields = ('ip',)
GetVersion().main_process()
GetVersion().main_process() # 修改数据model时需要注释调
@action(methods=['get'], detail=False)
@method_decorator(cache_page(60 * 1))

Loading…
Cancel
Save