LandingPageStepConfigController.java
5.4 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
// landingpage/controller/LandingPageStepConfigController.java
package com.aigeo.landingpage.controller;
import com.aigeo.landingpage.entity.LandingPageStepConfig;
import com.aigeo.landingpage.service.LandingPageStepConfigService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import java.util.Optional;
@RestController
@RequestMapping("/api/landing-page-step-configs")
public class LandingPageStepConfigController {
@Autowired
private LandingPageStepConfigService landingPageStepConfigService;
@GetMapping("/project/{projectId}")
public ResponseEntity<LandingPageStepConfig> getConfigByProjectId(@PathVariable Integer projectId) {
Optional<LandingPageStepConfig> config = landingPageStepConfigService.getConfigByProjectId(projectId);
return config.map(ResponseEntity::ok)
.orElse(ResponseEntity.notFound().build());
}
@GetMapping("/{id}")
public ResponseEntity<LandingPageStepConfig> getConfigById(@PathVariable Integer id) {
Optional<LandingPageStepConfig> config = landingPageStepConfigService.getConfigById(id);
return config.map(ResponseEntity::ok)
.orElse(ResponseEntity.notFound().build());
}
@PostMapping
public LandingPageStepConfig createConfig(@RequestBody LandingPageStepConfig config) {
return landingPageStepConfigService.saveConfig(config);
}
@PutMapping("/{id}")
public ResponseEntity<LandingPageStepConfig> updateConfig(@PathVariable Integer id,
@RequestBody LandingPageStepConfig configDetails) {
Optional<LandingPageStepConfig> config = landingPageStepConfigService.getConfigById(id);
if (config.isPresent()) {
LandingPageStepConfig updatedConfig = config.get();
// 更新所有字段
updatedConfig.setTargetAudienceDesc(configDetails.getTargetAudienceDesc());
updatedConfig.setUserPainPoints(configDetails.getUserPainPoints());
updatedConfig.setUserExpectations(configDetails.getUserExpectations());
updatedConfig.setAgeGroups(configDetails.getAgeGroups());
updatedConfig.setGenderPreference(configDetails.getGenderPreference());
updatedConfig.setBehaviorCharacteristics(configDetails.getBehaviorCharacteristics());
updatedConfig.setDecisionMakingStyles(configDetails.getDecisionMakingStyles());
updatedConfig.setIndustryPrimary(configDetails.getIndustryPrimary());
updatedConfig.setIndustrySecondary(configDetails.getIndustrySecondary());
updatedConfig.setIndustryTertiary(configDetails.getIndustryTertiary());
updatedConfig.setMarketingGoal(configDetails.getMarketingGoal());
updatedConfig.setDesignStyle(configDetails.getDesignStyle());
updatedConfig.setPrimaryColor(configDetails.getPrimaryColor());
updatedConfig.setAccentColor(configDetails.getAccentColor());
updatedConfig.setTemplateId(configDetails.getTemplateId());
updatedConfig.setUniqueValueProposition(configDetails.getUniqueValueProposition());
updatedConfig.setCoreAdvantages(configDetails.getCoreAdvantages());
updatedConfig.setPrimaryKeyword(configDetails.getPrimaryKeyword());
updatedConfig.setSecondaryKeywords(configDetails.getSecondaryKeywords());
updatedConfig.setContentGenerationType(configDetails.getContentGenerationType());
updatedConfig.setCompanyName(configDetails.getCompanyName());
updatedConfig.setBrandName(configDetails.getBrandName());
updatedConfig.setCompanyDescription(configDetails.getCompanyDescription());
updatedConfig.setVideoUrl(configDetails.getVideoUrl());
updatedConfig.setLogoFileId(configDetails.getLogoFileId());
updatedConfig.setContactInfo(configDetails.getContactInfo());
updatedConfig.setSocialMediaLinks(configDetails.getSocialMediaLinks());
updatedConfig.setPrimaryCtaText(configDetails.getPrimaryCtaText());
updatedConfig.setSecondaryCtaTexts(configDetails.getSecondaryCtaTexts());
updatedConfig.setTestimonials(configDetails.getTestimonials());
updatedConfig.setSocialProofs(configDetails.getSocialProofs());
updatedConfig.setFormFields(configDetails.getFormFields());
updatedConfig.setPageTitle(configDetails.getPageTitle());
updatedConfig.setPageDescription(configDetails.getPageDescription());
updatedConfig.setGaTrackingCode(configDetails.getGaTrackingCode());
updatedConfig.setDeploymentMethod(configDetails.getDeploymentMethod());
updatedConfig.setDeploymentConfig(configDetails.getDeploymentConfig());
updatedConfig.setPricingPlan(configDetails.getPricingPlan());
LandingPageStepConfig savedConfig = landingPageStepConfigService.saveConfig(updatedConfig);
return ResponseEntity.ok(savedConfig);
} else {
return ResponseEntity.notFound().build();
}
}
@DeleteMapping("/{id}")
public ResponseEntity<Void> deleteConfig(@PathVariable Integer id) {
landingPageStepConfigService.deleteConfig(id);
return ResponseEntity.noContent().build();
}
}