update checkin image issue

This commit is contained in:
2025-09-03 07:56:40 +09:00
parent 4901b44f4a
commit a0e024b77d
5 changed files with 260 additions and 15 deletions

View File

@ -15,6 +15,7 @@ from datetime import datetime
import uuid
import time
from django.http import JsonResponse
from rog.utils.s3_image_uploader import s3_uploader
logger = logging.getLogger(__name__)
@ -570,19 +571,34 @@ def checkin_from_rogapp(request):
# トランザクション開始
with transaction.atomic():
# S3に画像をアップロードし、S3 URLを取得
s3_image_url = image_url
if image_url:
try:
s3_image_url = s3_uploader.upload_checkin_image(
image_data=image_url,
event_code=entry.event.event_name,
zekken_number=entry.zekken_number,
cp_number=cp_number
)
logger.info(f"[CHECKIN] S3 upload - Original: {image_url[:50]}..., S3: {s3_image_url}")
except Exception as e:
logger.error(f"[CHECKIN] S3 upload failed, using original URL: {e}")
s3_image_url = image_url
# serial_numberを自動生成既存の最大値+1
max_serial = GpsLog.objects.filter(
zekken_number=entry.zekken_number,
event_code=entry.event.event_name
).aggregate(max_serial=Max('serial_number'))['max_serial'] or 0
# チェックポイント登録
# チェックポイント登録S3 URLを使用
checkpoint = GpsLog.objects.create(
serial_number=max_serial + 1,
zekken_number=entry.zekken_number,
event_code=entry.event.event_name,
cp_number=cp_number,
image_address=image_url,
image_address=s3_image_url, # S3 URLを保存
checkin_time=timezone.now(),
create_at=timezone.now(),
update_at=timezone.now(),
@ -638,7 +654,8 @@ def checkin_from_rogapp(request):
"bonus_points": bonus_points,
"scoring_breakdown": scoring_breakdown,
"validation_status": "pending",
"requires_manual_review": bool(gps_coordinates.get('accuracy', 0) > 10) # 10m以上は要審査
"requires_manual_review": bool(gps_coordinates.get('accuracy', 0) > 10), # 10m以上は要審査
"image_url": s3_image_url # S3画像URLを返す
})
except Exception as e: