You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
73 lines
2.8 KiB
73 lines
2.8 KiB
from django.db.models import Q |
|
import datetime |
|
from ai.models import * |
|
from ai.utils.show_database import GetData |
|
from ai.utils.datetime_format import * |
|
from ai.utils.movie_data import * |
|
|
|
|
|
def get_cinema_show_result_func(_zz_code, _show_date): |
|
cinema = TestCinema.objects.filter(zz_code=_zz_code).first() |
|
start = datetime.datetime.strftime(datetime.datetime.strptime(_show_date, '%Y-%m-%d') + datetime.timedelta(hours=6), |
|
'%Y-%m-%d %H:%M:%S') |
|
end = datetime.datetime.strftime( |
|
datetime.datetime.strptime(_show_date, '%Y-%m-%d') + datetime.timedelta(hours=29, minutes=59, seconds=59), |
|
'%Y-%m-%d %H:%M:%S') |
|
show = '' |
|
income = '' |
|
if cinema: |
|
print(cinema) |
|
data = GetData(cinema) |
|
show = data.get_show_data(start, end) |
|
income = data.get_total_income(start, end) |
|
print(show, income) |
|
show_db = AiShow.objects.filter(Q(is_ai_show=False) & Q(zz_code=_zz_code) & Q(show_date=_show_date)).order_by( |
|
'-id').first() |
|
if show_db: |
|
print('show_db', show_db) |
|
show_db.show = show |
|
show_db.sales = income |
|
show_db.save() |
|
else: |
|
try: |
|
AiShow.objects.create( |
|
cinema=cinema.name, |
|
zz_code=cinema.zz_code, |
|
show_date=_show_date, |
|
is_ai_show=False, |
|
show=show, |
|
sales=income, |
|
prompt='', |
|
result='', |
|
message='', |
|
take_times=0, |
|
take_tokens='0' |
|
) |
|
except Exception as e: |
|
print(e) |
|
return show, income |
|
|
|
# 获取模板日期排片数据 |
|
def get_template_show(cinema, show_date): |
|
history_start, history_end, target_start, target_end = get_data_datetime(show_date) |
|
data = GetData(cinema) |
|
temp_date_obj = data.get_template_date(history_start, history_end) |
|
temp_date = datetime.datetime.strftime(temp_date_obj, '%Y-%m-%d') |
|
temp_start = datetime.datetime.strftime(temp_date_obj + datetime.timedelta(hours=6), '%Y-%m-%d %H:%M:%S') |
|
temp_end = datetime.datetime.strftime(temp_date_obj + datetime.timedelta(hours=29, minutes=59, seconds=59), |
|
'%Y-%m-%d %H:%M:%S') |
|
temp_show = data.get_show_data(temp_start, temp_end) |
|
print('get_template_show', temp_date, temp_show) |
|
return temp_show, temp_date |
|
|
|
|
|
def get_all_movie_hot_info(cinema, show_date): |
|
data = GetData(cinema) |
|
movie = data.get_movie_info(show_date) |
|
movie_data = MovieData() |
|
movie_info_list = [] |
|
for m in movie: |
|
print(m) |
|
if hot:=movie_data.get_data(m['cinema_movie_num']) != '': |
|
movie_info_list.append(hot) |
|
return movie_info_list
|
|
|