update checkin image issue
This commit is contained in:
@ -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:
|
||||
|
||||
Reference in New Issue
Block a user