增加自动获取未来7天新片的功能

main
rogersun 1 week ago
parent 3166138c27
commit 20c33f7625
  1. 2
      ai/models.py
  2. 21
      ai/utils/show_func.py
  3. 13
      ai/views.py

@ -158,6 +158,8 @@ class MovieHotInfo(models.Model):
class NewMovieSuggestion(models.Model):
id = models.AutoField(primary_key=True)
cinema = models.CharField(max_length=50)
zz_code = models.CharField(max_length=50)
movie_zz_code = models.CharField(max_length=50)
movie_name = models.CharField(max_length=50)
suggestion = models.CharField(max_length=50)

@ -139,7 +139,7 @@ def get_new_suggestion(cinema, show_date):
movie = data.get_movie_info(show_date, 'new')
new_movie_list = []
for m in movie:
new_movie = NewMovieSuggestion.objects.filter(movie_name=m['cinema_movie_cn_name']).first()
new_movie = NewMovieSuggestion.objects.filter(Q(movie_name=m['cinema_movie_cn_name']) & Q(zz_code=cinema.zz_code)).first()
if new_movie is not None:
new_movie_list.append(
f"\t{m['cinema_movie_cn_name']}》的不同制式版本总计建议排片占比为{new_movie.suggestion}%;")
@ -148,9 +148,16 @@ def get_new_suggestion(cinema, show_date):
return None
def get_new_movie():
def get_new_movie(start_date='today'):
cinema_list = TestCinema.objects.all()
date_list = [datetime.datetime.strftime(datetime.datetime.today() + datetime.timedelta(days=i), '%Y-%m-%d') for i in
start_date_obj = datetime.datetime.today()
if start_date != 'today':
try:
start_date_obj = datetime.datetime.strptime(start_date, '%Y-%m-%d')
except ValueError:
print(start_date)
return False
date_list = [datetime.datetime.strftime(start_date_obj + datetime.timedelta(days=i), '%Y-%m-%d') for i in
range(1, 8)]
new_dict = dict()
new_data = False
@ -162,8 +169,12 @@ def get_new_movie():
new_dict[cinema.name][date_val] = []
for new in new_list:
print(new)
if NewMovieSuggestion.objects.filter(movie_zz_code=new['cinema_movie_num']).first() is None:
NewMovieSuggestion.objects.create(movie_zz_code=new['cinema_movie_num'],
if NewMovieSuggestion.objects.filter(
Q(movie_zz_code=new['cinema_movie_num']) & Q(zz_code=cinema.zz_code)).first() is None:
NewMovieSuggestion.objects.create(
cinema=cinema.name,
zz_code=cinema.zz_code,
movie_zz_code=new['cinema_movie_num'],
movie_name=new['cinema_movie_cn_name'],
suggestion=0,
delete_flag=True)

@ -142,14 +142,21 @@ def get_report_date_api(request):
print(result_dict)
return JsonResponse(result_dict, json_dumps_params={'ensure_ascii': False})
@csrf_exempt
def insert_new_movie(request):
result = get_new_movie()
start = request.GET.get('start')
result = get_new_movie(start)
if result is None:
data = 'None'
elif result is False:
data = '参数start格式错误,示例2026-07-11'
else:
data = result
result_dict = {
'status': 'success',
'message': '成功',
'data': 'None' if result is None else result,
'data': data
}
print(result_dict)
return JsonResponse(result_dict, json_dumps_params={'ensure_ascii': False})

Loading…
Cancel
Save