target fix
This commit is contained in:
@@ -13,6 +13,7 @@ import org.springframework.util.StringUtils;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Optional;
|
||||
|
||||
@RestController
|
||||
@RequestMapping("/api/marketing/targeting")
|
||||
@@ -205,10 +206,22 @@ public class TargetingCampaignController {
|
||||
@RequestHeader(value = "Authorization", required = false) String authHeader,
|
||||
@PathVariable String id) {
|
||||
String userId = resolveUserId(userIdHeader, authHeader);
|
||||
campaignService.getCampaignById(id, userId); // проверка прав
|
||||
return predictionService.getLatest(id)
|
||||
.map(ResponseEntity::ok)
|
||||
.orElse(ResponseEntity.notFound().build());
|
||||
// Проверяем существование кампании и права доступа
|
||||
TargetingCampaign campaign = campaignService.getCampaignById(id, userId);
|
||||
|
||||
Optional<CampaignPrediction> predictionOpt = predictionService.getLatest(id);
|
||||
if (predictionOpt.isPresent()) {
|
||||
return ResponseEntity.ok(predictionOpt.get());
|
||||
}
|
||||
|
||||
// Если предсказания еще нет — запускаем генерацию автоматически
|
||||
log.info("[Targeting] Prediction missing for campaign {}, triggering auto-generate", id);
|
||||
predictionService.generateAsync(campaign);
|
||||
|
||||
return ResponseEntity.accepted().body(Map.of(
|
||||
"status", "PROCESSING",
|
||||
"message", "Предсказание еще не готово и было запущено автоматически. Попробуйте через 5-10 секунд."
|
||||
));
|
||||
}
|
||||
|
||||
@PostMapping("/campaigns/{id}/predict")
|
||||
|
||||
Reference in New Issue
Block a user