From f0bf3b311c06163f1423c9c6d76345e6f59a5194 Mon Sep 17 00:00:00 2001 From: RogerWork Date: Tue, 1 Jul 2025 14:31:40 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B025=E8=A7=84=E8=8C=83=E5=86=85?= =?UTF-8?q?=E5=AE=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../0005_zzmockmodel_reportcheckticket.py | 18 ++++++++++++++++++ mock/mock_templates/__init__.py | 1 + mock/mock_templates/get_cinema_info_tmp.py | 1 + mock/mock_templates/get_screen_info_tmp.py | 4 +++- mock/mock_templates/report_check_ticket_tmp.py | 3 +++ .../mock_templates/report_film_schedule_tmp.py | 2 +- mock/mock_templates/report_ticket_tmp.py | 2 +- .../upload_screen_seat_info_tmp.py | 2 +- mock/models.py | 1 + mock/urls.py | 1 + mock/utils/mock_service.py | 3 +++ mock/views.py | 12 ++++++++++++ 12 files changed, 46 insertions(+), 4 deletions(-) create mode 100644 mock/migrations/0005_zzmockmodel_reportcheckticket.py create mode 100644 mock/mock_templates/report_check_ticket_tmp.py diff --git a/mock/migrations/0005_zzmockmodel_reportcheckticket.py b/mock/migrations/0005_zzmockmodel_reportcheckticket.py new file mode 100644 index 0000000..77c91f0 --- /dev/null +++ b/mock/migrations/0005_zzmockmodel_reportcheckticket.py @@ -0,0 +1,18 @@ +# Generated by Django 4.2.7 on 2025-07-01 02:57 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('mock', '0004_zzmockmodel_errorcode'), + ] + + operations = [ + migrations.AddField( + model_name='zzmockmodel', + name='reportCheckTicket', + field=models.BooleanField(default=False, help_text='检票数据上报接口', verbose_name='检票数据上报接口'), + ), + ] diff --git a/mock/mock_templates/__init__.py b/mock/mock_templates/__init__.py index 6b17b10..ca83b6c 100644 --- a/mock/mock_templates/__init__.py +++ b/mock/mock_templates/__init__.py @@ -1,5 +1,6 @@ __all__ = ['get_cinema_info_tmp', 'report_ticket_tmp', + 'report_check_ticket_tmp', 'report_film_schedule_tmp', 'upload_screen_seat_info_tmp', 'get_screen_info_tmp', diff --git a/mock/mock_templates/get_cinema_info_tmp.py b/mock/mock_templates/get_cinema_info_tmp.py index 179e487..b835628 100644 --- a/mock/mock_templates/get_cinema_info_tmp.py +++ b/mock/mock_templates/get_cinema_info_tmp.py @@ -34,6 +34,7 @@ def get(cinema_data): 'screens': hall_num, 'managerTel': cinema_info_data['cinema_telephone'], 'cinemaName': cinema_set_data['cinema_platform_name'], + 'address': cinema_info_data['cinema_address'], 'cinemaCode': cinema_set_data['cinema_num'], # 适配字段 'cinemaLevel': cinema_info_data['cinema_level'], 'businessStatus': '12', # 定义字段 diff --git a/mock/mock_templates/get_screen_info_tmp.py b/mock/mock_templates/get_screen_info_tmp.py index 9d6ece6..699b7f8 100644 --- a/mock/mock_templates/get_screen_info_tmp.py +++ b/mock/mock_templates/get_screen_info_tmp.py @@ -31,8 +31,10 @@ def get(cinema_data): 'isRed': False if hall['cinema_zz_hall_is_red'] == 0 else True, 'screenName': hall['cinema_hall_real_name'], 'seatCount': int(hall['cinema_hall_seat_num']), - 'screenCode': hall['cinema_zz_hall_code'] + 'screenCode': hall['cinema_zz_hall_code'], } + if 'displayType' in hall.keys(): + hall_dict['displayType'] = hall['cinema_zz_hall_display_type'] if hall['cinema_zz_hall_display_type'] else '1', hall_list.append(hall_dict) mock_data = { 'message': '操作成功', diff --git a/mock/mock_templates/report_check_ticket_tmp.py b/mock/mock_templates/report_check_ticket_tmp.py new file mode 100644 index 0000000..7ee283d --- /dev/null +++ b/mock/mock_templates/report_check_ticket_tmp.py @@ -0,0 +1,3 @@ +def get(): + mock_data = {'code': '200', 'status': 'success','data': {}} + return mock_data diff --git a/mock/mock_templates/report_film_schedule_tmp.py b/mock/mock_templates/report_film_schedule_tmp.py index 5244edf..7ee283d 100644 --- a/mock/mock_templates/report_film_schedule_tmp.py +++ b/mock/mock_templates/report_film_schedule_tmp.py @@ -1,3 +1,3 @@ def get(): - mock_data = {'message': '操作成功', 'data': None, 'code': '200', 'status': 'success'} + mock_data = {'code': '200', 'status': 'success','data': {}} return mock_data diff --git a/mock/mock_templates/report_ticket_tmp.py b/mock/mock_templates/report_ticket_tmp.py index 26b30bd..7ee283d 100644 --- a/mock/mock_templates/report_ticket_tmp.py +++ b/mock/mock_templates/report_ticket_tmp.py @@ -1,3 +1,3 @@ def get(): - mock_data = {'message': '操作成功', 'data': {}, 'code': '200', 'status': 'success'} + mock_data = {'code': '200', 'status': 'success','data': {}} return mock_data diff --git a/mock/mock_templates/upload_screen_seat_info_tmp.py b/mock/mock_templates/upload_screen_seat_info_tmp.py index 5244edf..7ee283d 100644 --- a/mock/mock_templates/upload_screen_seat_info_tmp.py +++ b/mock/mock_templates/upload_screen_seat_info_tmp.py @@ -1,3 +1,3 @@ def get(): - mock_data = {'message': '操作成功', 'data': None, 'code': '200', 'status': 'success'} + mock_data = {'code': '200', 'status': 'success','data': {}} return mock_data diff --git a/mock/models.py b/mock/models.py index 9a375f2..2dd4cc1 100644 --- a/mock/models.py +++ b/mock/models.py @@ -6,6 +6,7 @@ from django.db import models class ZZMockModel(models.Model): ip = models.CharField(verbose_name='影院ip', max_length=20, null=False, help_text='影院ip') reportTicket = models.BooleanField(verbose_name='票房数据上报接口', null=False, help_text='票房数据上报接口') + reportCheckTicket = models.BooleanField(verbose_name='检票数据上报接口', null=False, default=False, help_text='检票数据上报接口') reportFilmSchedule = models.BooleanField(verbose_name='排片数据上报接口', null=False, help_text='排片数据上报接口') uploadScreenSeatInfo = models.BooleanField(verbose_name='座位信息上报接口', null=False, help_text='座位信息上报接口') diff --git a/mock/urls.py b/mock/urls.py index 1e73a2d..c219bc7 100644 --- a/mock/urls.py +++ b/mock/urls.py @@ -20,6 +20,7 @@ from mock.views import * urlpatterns = [ path('report/reportTicket', report_ticket), + path('report/reportCheckTicket', report_check_ticket), path('report/reportFilmSchedule', report_film_schedule), path('report/uploadScreenSeatInfo', upload_screen_seat_info), path('report/downloadFilmInfo', download_film_info), diff --git a/mock/utils/mock_service.py b/mock/utils/mock_service.py index e181902..687bcdf 100644 --- a/mock/utils/mock_service.py +++ b/mock/utils/mock_service.py @@ -12,6 +12,9 @@ def mock(_ip, _api, **kwargs): if _api == 'reportTicket': mock_data = report_ticket_tmp.get() return JsonResponse(mock_data, json_dumps_params={'ensure_ascii': False}) + if _api == 'reportCheckTicket': + mock_data = report_check_ticket_tmp.get() + return JsonResponse(mock_data, json_dumps_params={'ensure_ascii': False}) if _api == 'reportFilmSchedule': mock_data = report_film_schedule_tmp.get() return JsonResponse(mock_data, json_dumps_params={'ensure_ascii': False}) diff --git a/mock/views.py b/mock/views.py index ee9d0d3..e2251f4 100644 --- a/mock/views.py +++ b/mock/views.py @@ -27,6 +27,7 @@ api_dict = { 'get_cinema_info': 'getCinemaInfo', 'get_screen_info': 'getScreenInfo', 'report_ticket': 'reportTicket', + 'report_check_ticket': 'reportCheckTicket', 'report_film_schedule': 'reportFilmSchedule', 'upload_screen_seat_info': 'uploadScreenSeatInfo', 'get_overtime_ticket_status': 'getOvertimeTicketStatus', @@ -61,6 +62,17 @@ def report_film_schedule(request): else: return mock_service.bypass(request) +@csrf_exempt +def report_check_ticket(request): + ip = request.META.get('REMOTE_ADDR') + mock_service_switch = ZZMockModel.objects.filter(ip=ip).first() + if mock_service_switch.reportCheckTicket is True: + if customer_json := json_data.get('reportCheckTicket'): + return JsonResponse(customer_json, json_dumps_params={'ensure_ascii': False}) + return mock_service.mock(ip, 'reportCheckTicket') + else: + return mock_service.bypass(request) + # 3、座位信息上报接口 POST /report/uploadScreenSeatInfo @csrf_exempt