Skip to content

Commit 8cedf45

Browse files
authored
[DDING-000] 폼지 섹션별 생성 조회 롤백 (#298)
1 parent a47d24d commit 8cedf45

File tree

6 files changed

+23
-67
lines changed

6 files changed

+23
-67
lines changed

src/main/java/ddingdong/ddingdongBE/domain/form/entity/Form.java

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -123,8 +123,4 @@ public void updateFormFields(List<FormField> updatedFormFields) {
123123
public void updateEndDate(LocalDate endDate) {
124124
this.endDate = endDate;
125125
}
126-
127-
public boolean isLargerSectionThan(int sectionSize) {
128-
return this.sections.size() > sectionSize;
129-
}
130126
}

src/main/java/ddingdong/ddingdongBE/domain/form/entity/FormField.java

Lines changed: 0 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@
1313
import jakarta.persistence.Id;
1414
import jakarta.persistence.ManyToOne;
1515
import java.util.List;
16-
import java.util.stream.Stream;
1716
import lombok.AccessLevel;
1817
import lombok.Builder;
1918
import lombok.Getter;
@@ -23,8 +22,6 @@
2322
@NoArgsConstructor(access = AccessLevel.PROTECTED)
2423
@Getter
2524
public class FormField extends BaseEntity {
26-
private static final String COMMON_SECTION = "공통";
27-
private static final int SINGLE_SECTION_SIZE = 1;
2825

2926
@Id
3027
@GeneratedValue(strategy = GenerationType.IDENTITY)
@@ -98,32 +95,4 @@ public void update(FormField updatedField) {
9895
this.section = updatedField.getSection();
9996
this.options = updatedField.getOptions();
10097
}
101-
102-
public Stream<FormField> generateFormFieldsBySection(Form form) {
103-
if (form.isLargerSectionThan(SINGLE_SECTION_SIZE)) {
104-
return expandCommonSectionFormField(form);
105-
}
106-
return Stream.of(this);
107-
}
108-
109-
private Stream<FormField> expandCommonSectionFormField(Form form) {
110-
if (this.section.equals(COMMON_SECTION)) {
111-
return form.getSections().stream()
112-
.filter(section -> !section.equals(COMMON_SECTION))
113-
.map(this::copyWithSection);
114-
}
115-
return Stream.of(this);
116-
}
117-
118-
private FormField copyWithSection(String newSection) {
119-
return FormField.builder()
120-
.question(this.question)
121-
.fieldType(this.fieldType)
122-
.required(this.required)
123-
.fieldOrder(this.fieldOrder)
124-
.section(newSection)
125-
.options(this.options)
126-
.form(this.form)
127-
.build();
128-
}
12998
}

src/main/java/ddingdong/ddingdongBE/domain/form/repository/FormFieldRepository.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,10 +30,11 @@ SELECT f.id AS id, f.question AS question, f.field_type AS type, f.section AS se
3030
SELECT *
3131
FROM form_field f
3232
WHERE f.form_id = :formId
33-
AND f.section = :section
33+
AND (f.section = :section OR f.section = :defaultSection)
3434
""", nativeQuery = true)
3535
List<FormField> findAllByFormAndSection(
3636
@Param("formId") Long formId,
37-
@Param("section") String section
37+
@Param("section") String section,
38+
@Param("defaultSection") String defaultSection
3839
);
3940
}

src/main/java/ddingdong/ddingdongBE/domain/form/service/FacadeCentralFormServiceImpl.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -263,7 +263,6 @@ private List<FormField> toCreateFormFields(Form savedForm,
263263
List<CreateFormFieldCommand> createFormFieldCommands) {
264264
return createFormFieldCommands.stream()
265265
.map(formFieldCommand -> formFieldCommand.toEntity(savedForm))
266-
.flatMap(formField -> formField.generateFormFieldsBySection(savedForm))
267266
.toList();
268267
}
269268
}

src/main/java/ddingdong/ddingdongBE/domain/form/service/GeneralFormFieldService.java

Lines changed: 20 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -14,25 +14,28 @@
1414
@Transactional(readOnly = true)
1515
public class GeneralFormFieldService implements FormFieldService {
1616

17-
private final FormFieldRepository formFieldRepository;
17+
private static final String FORM_DEFAULT_SECTION = "공통";
1818

19-
@Transactional
20-
@Override
21-
public void createAll(List<FormField> formFields) {
22-
formFieldRepository.saveAll(formFields);
23-
}
19+
private final FormFieldRepository formFieldRepository;
20+
21+
@Transactional
22+
@Override
23+
public void createAll(List<FormField> formFields) {
24+
formFieldRepository.saveAll(formFields);
25+
}
2426

2527

26-
@Override
27-
public FormField getById(Long id) {
28-
return formFieldRepository.findById(id)
29-
.orElseThrow(() -> new ResourceNotFound("FormField(fieldId=" + id + ")를 찾을 수 없습니다."));
30-
}
28+
@Override
29+
public FormField getById(Long id) {
30+
return formFieldRepository.findById(id)
31+
.orElseThrow(
32+
() -> new ResourceNotFound("FormField(fieldId=" + id + ")를 찾을 수 없습니다."));
33+
}
3134

32-
@Override
33-
public List<FormField> findAllByForm(Form form) {
34-
return formFieldRepository.findAllByForm(form);
35-
}
35+
@Override
36+
public List<FormField> findAllByForm(Form form) {
37+
return formFieldRepository.findAllByForm(form);
38+
}
3639

3740
@Transactional
3841
@Override
@@ -42,6 +45,7 @@ public void deleteAll(List<FormField> originFormFields) {
4245

4346
@Override
4447
public List<FormField> getAllByFormAndSection(Form form, String section) {
45-
return formFieldRepository.findAllByFormAndSection(form.getId(), section);
48+
return formFieldRepository.findAllByFormAndSection(form.getId(), section,
49+
FORM_DEFAULT_SECTION);
4650
}
4751
}

src/main/java/ddingdong/ddingdongBE/domain/form/service/dto/command/CreateFormCommand.java

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -42,19 +42,6 @@ public FormField toEntity(Form savedForm) {
4242
.form(savedForm)
4343
.build();
4444
}
45-
46-
public FormField toEntityWithSection(Form savedForm, String section) {
47-
return FormField.builder()
48-
.question(question)
49-
.fieldType(type)
50-
.options(options)
51-
.required(required)
52-
.fieldOrder(order)
53-
.section(section)
54-
.form(savedForm)
55-
.build();
56-
}
57-
5845
}
5946

6047
public Form toEntity(Club club) {

0 commit comments

Comments
 (0)