add : SecurityConfig - actuator url

This commit is contained in:
yuhalog
2025-06-17 13:31:38 +09:00
parent f3fc5bc39e
commit e2d98e4dc9
3 changed files with 30 additions and 9 deletions
@@ -101,7 +101,8 @@ class MarketingTipService:
당신의 임무는 매장 정보를 바탕으로, 적은 비용으로 효과를 낼 수 있는 현실적이고 실행 가능한 마케팅 팁을 제안하는 것입니다.
지역성, 지역의 현재 날씨 확인하고, 현재 트렌드까지 고려해주세요.
소상공인을 위한 실용적인 마케팅 팁을 생성해주세요.
소상공인을 위한 현실적이고 바로 실행할 수 있는 실용적인 마케팅 팁을 생성해주세요.
협업보다는 할인, 포스팅 등 당장 실현 가능한 현실적인 방법을 추천해주세요.
매장 정보:
- 매장명: {store_name}
@@ -123,7 +124,7 @@ class MarketingTipService:
prompt += """
아래 조건을 모두 충족하는 마케팅 팁을 하나 생성해주세요:
1. **실행 가능성**: 소상공인이 실제로 적용할 수 있는 현실적인 방법
1. **실행 가능성**: 소상공인이 실제로 바로 적용할 수 있는 현실적인 방법
2. **비용 효율성**: 적은 비용으로 높은 효과를 기대할 수 있는 전략
3. **구체성**: 실행 단계가 명확하고 구체적일 것
4. **시의성**: 현재 계절, 유행, 트렌드를 반영
@@ -131,9 +132,7 @@ class MarketingTipService:
응답 형식 (300자 내외, 간결하게):
html 형식으로 출력
핵심 마케팅 팁은 제목없이 한번 더 상단에 보여주세요
부제목과 내용은 분리해서 출력
아래의 부제목 앞에는 이모지 포함
- 핵심 마케팅 팁 (1개)
- 실행 방법 (1개)
- 예상 비용과 기대 효과
@@ -141,6 +140,26 @@ html 형식으로 출력
- 참고했던 실제 성공한 마케팅
- 오늘의 응원의 문장 (간결하게 1개)
아래 형식대로 그대로 출력해주세요!
<h3>✨ 핵심 마케팅 팁</h3>
<p>[여기에 새로운 핵심 마케팅 팁 작성]</p>
<h3>🚀 실행 방법</h3>
<p>[여기에 새로운 실행 방법 내용 작성]</p>
<h3>💰 예상 비용과 기대 효과</h3>
<p>[여기에 새로운 비용/효과 내용 작성]</p>
<h3>⚠️ 주의사항</h3>
<p>[여기에 새로운 주의사항 내용 작성]</p>
<h3>📈 참고했던 실제 성공한 마케팅</h3>
<p>[여기에 새로운 참고 사례 내용 작성]</p>
<h3>🙌 오늘의 응원의 문장</h3>
<p>[여기에 응원의 문장 작성]</p>
심호흡하고, 단계별로 차근차근 생각해서 정확하고 실현 가능한 아이디어를 제시해주세요.
"""
@@ -103,9 +103,12 @@ public class MarketingTipService implements MarketingTipUseCase {
String aiGeneratedTip = aiTipGenerator.generateTip(storeWithMenuData);
log.debug("AI 팁 생성 완료: {}", aiGeneratedTip.substring(0, Math.min(50, aiGeneratedTip.length())));
String tipSummary = generateTipSummary(aiGeneratedTip);
// 도메인 객체 생성 및 저장
MarketingTip marketingTip = MarketingTip.builder()
.storeId(storeWithMenuData.getStoreData().getStoreId())
.tipSummary(tipSummary)
.tipContent(aiGeneratedTip)
.storeWithMenuData(storeWithMenuData)
.createdAt(LocalDateTime.now())
@@ -122,11 +125,10 @@ public class MarketingTipService implements MarketingTipUseCase {
* 마케팅 팁을 응답 DTO로 변환 (전체 내용 포함)
*/
private MarketingTipResponse convertToResponse(MarketingTip marketingTip, StoreData storeData, boolean isRecentlyCreated) {
String tipSummary = generateTipSummary(marketingTip.getTipContent());
return MarketingTipResponse.builder()
.tipId(marketingTip.getId().getValue())
.tipSummary(tipSummary)
.tipSummary(marketingTip.getTipSummary())
.tipContent(marketingTip.getTipContent()) // 🆕 전체 내용 포함
.storeInfo(MarketingTipResponse.StoreInfo.builder()
.storeName(storeData.getStoreName())
@@ -44,8 +44,8 @@ public class SecurityConfig {
.sessionManagement(session -> session.sessionCreationPolicy(SessionCreationPolicy.STATELESS))
.authorizeHttpRequests(auth -> auth
.requestMatchers("/api/auth/**", "/api/member/register", "/api/member/check-duplicate/**",
"/api/member/validate-password", "/swagger-ui/**", "/v3/api-docs/**",
"/swagger-resources/**", "/webjars/**").permitAll()
"/api/member/validate-password", "/swagger-ui/**", "/v3/api-docs/**",
"/swagger-resources/**", "/webjars/**", "/actuator/**", "/health/**", "/error").permitAll()
.anyRequest().authenticated()
)
.addFilterBefore(jwtAuthenticationFilter, UsernamePasswordAuthenticationFilter.class);