Skip to content

원띵 CRUD + 화면 #119

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 27 commits into from
Apr 16, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
8482d5c
js 삭제 ajax로 변경하기때문
W-llama Apr 15, 2025
01d1ee8
ajax 방식으로 변경
W-llama Apr 15, 2025
d950caf
1차 수정 테이블 데이터 불러오기 완료 ( 수정 버튼 삭제 버튼 수정해야함)
W-llama Apr 15, 2025
eb7383f
refactor randomMatchingController에 데이터 불러오는 메소드 contentController로 이동…
W-llama Apr 15, 2025
fa7a3b8
refactor json 형식 데이터 처리 -> ModelAttribute방식으로 변경(thymeleaf) + GET,POS…
W-llama Apr 15, 2025
6371c6a
feat randomMatching 리스트 조회 서비스
W-llama Apr 15, 2025
1ce6f19
feat RandomMatchingDto 생성
W-llama Apr 15, 2025
d30bded
refactor 생성, 조회 방식 void로 반환 (Thymeleaf)
W-llama Apr 15, 2025
1dd81b3
refactor Test코드 생성, 수정 방식 void로 반환 (Thymeleaf)
W-llama Apr 15, 2025
ad5087b
상세보기 모달 및 탭에따른 생성버튼 형식 변경기능
W-llama Apr 16, 2025
75f7b07
신고 관리 삭제
W-llama Apr 16, 2025
3ddf543
모임 조회 생성 삭제 화면 1차 완료
W-llama Apr 16, 2025
af54d4b
랜덤매칭 리턴되는 페이지 변경
W-llama Apr 16, 2025
9955ee4
Setter 추가
W-llama Apr 16, 2025
1ab42f2
feat: OneThingMatching 엔티티
W-llama Apr 16, 2025
94cbf17
feat: OneThingMatching 키워드 이넘 추가
W-llama Apr 16, 2025
92b3370
feat: OneThingMatching 장소 이넘 추가
W-llama Apr 16, 2025
04dde6f
feat: OneThingMatching 가격 이넘 추가 low(1-3)med(3-5)high(5-7)
W-llama Apr 16, 2025
dbdee29
feat: OneThingMatching Controller 생성
W-llama Apr 16, 2025
550f02b
feat: OneThingMatching 데이터 서비스
W-llama Apr 16, 2025
fe861cd
feat: OneThingMatching repository
W-llama Apr 16, 2025
88352ef
feat: OneThingMatching 비즈니스 로직 추가
W-llama Apr 16, 2025
de3d402
feat: OneThingMatching 업데이트 dto
W-llama Apr 16, 2025
3ba6a3f
feat: OneThingMatching 생성 dto
W-llama Apr 16, 2025
bada39f
feat: OneThingMatching dto
W-llama Apr 16, 2025
0ac7092
feat: UserOneThing 원띵 질문 추가
W-llama Apr 16, 2025
68eb189
feat: 오타 수정 및 버튼 여부에 따라 보이도록 추가
W-llama Apr 16, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,14 +1,44 @@
package com.clip.office.content;

import java.util.List;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;

import com.clip.matching.entity.OneThingMatching;
import com.clip.matching.entity.RandomMatching;
import com.clip.office.matching.controller.dto.CreateOneThingMatchingDto;
import com.clip.office.matching.controller.dto.CreateRandomMatchingDto;
import com.clip.office.matching.service.OneThingMatchingService;
import com.clip.office.matching.service.RandomMatchingService;

import lombok.RequiredArgsConstructor;

@Controller
@RequestMapping("/")
@RequestMapping("/office/admin/home")
@RequiredArgsConstructor
public class ContentController {

public String home() {
return "index";
private final OneThingMatchingService onethingMatchingService;
private final RandomMatchingService randomMatchingService;

@GetMapping("/oneThingMatching")
public String oneThingMatchingList(Model model) {
List<OneThingMatching> oneThingMatchingList = onethingMatchingService.findAllOneThingMatchings();
model.addAttribute("oneThingMatchings", oneThingMatchingList);
model.addAttribute("createOneThingMatchingDto", new CreateOneThingMatchingDto());
model.addAttribute("isOnething", true);
return "fragments/content :: #dynamicContent";
}

@GetMapping("/randomMatching")
public String randomMatchingList(Model model) {
List<RandomMatching> randomMatchingList = randomMatchingService.findAllRandomMatchings();
model.addAttribute("randomMatchings", randomMatchingList);
model.addAttribute("createRandomMatchingDto", new CreateRandomMatchingDto());
model.addAttribute("isOnething", false);
return "fragments/content :: #dynamicContent";
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
package com.clip.office.matching.controller;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;

import com.clip.office.matching.controller.dto.CreateOneThingMatchingDto;
import com.clip.office.matching.controller.dto.UpdateOneThingMatchingDto;
import com.clip.office.matching.service.OneThingMatchingService;

import lombok.RequiredArgsConstructor;

@Controller
@RequiredArgsConstructor
@RequestMapping("/office/admin/home/oneThingMatching")
public class OneThingMatchingController {

private final OneThingMatchingService oneThingMatchingService;

@GetMapping("/create")
public String createOneThingMatching(Model model) {
model.addAttribute("createOneThingMatchingDto", new CreateOneThingMatchingDto());
return "/office/admin/home";
}

@PostMapping("/create")
public String createOneThingMatching(
@ModelAttribute CreateOneThingMatchingDto createOneThingMatchingDto,
RedirectAttributes redirectAttributes
) {
oneThingMatchingService.createOneThingMatching(createOneThingMatchingDto);
redirectAttributes.addFlashAttribute("successMessage", "원띵매칭이 성공적으로 생성되었습니다.");
return "redirect:/office/admin/home";
}

@GetMapping("/update/{oneThingMatchingId}")
public String updateOneThingMatchingForm(
@PathVariable(value = "oneThingMatchingId") Long oneThingMatchingId,
Model model
){
UpdateOneThingMatchingDto updateDto = oneThingMatchingService.getUpdateOneThingMatchingDto(oneThingMatchingId);
model.addAttribute("updateoneThingMatchingDto", updateDto);
model.addAttribute("oneThingMatchingId", oneThingMatchingId);
return "/office/admin/home/oneThingMatching/edit";
}

@PostMapping("/update/{oneThingMatchingId}")
public String updateoneThingMatching(
@PathVariable(value = "oneThingMatchingId") Long oneThingMatchingId,
@ModelAttribute UpdateOneThingMatchingDto updateOneThingMatchingDto,
RedirectAttributes redirectAttributes
){
oneThingMatchingService.updateOneThingMatching(oneThingMatchingId, updateOneThingMatchingDto);
redirectAttributes.addFlashAttribute("successMessage", "원띵매칭이 성공적으로 수정되었습니다.");
return "redirect:/office/admin/home";
}

@PostMapping("/delete/{oneThingMatchingId}")
public String deleteoneThingMatching(
@PathVariable(value = "oneThingMatchingId") Long oneThingMatchingId,
RedirectAttributes redirectAttributes
){
oneThingMatchingService.deleteOneThingMatching(oneThingMatchingId);
redirectAttributes.addFlashAttribute("successMessage", "원띵 매칭이 성공적으로 삭제되었습니다.");
return "redirect:/office/admin/home";
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -4,36 +4,64 @@
import com.clip.office.matching.controller.dto.UpdateRandomMatchingDto;
import com.clip.office.matching.service.RandomMatchingService;
import lombok.RequiredArgsConstructor;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;

@RestController
@Controller
@RequiredArgsConstructor
@RequestMapping("/office/matching")
@RequestMapping("/office/admin/home/randomMatching")
public class RandomMatchingController {

private final RandomMatchingService randomMatchingService;


@GetMapping("/create")
public String createRandomMatchingForm(Model model) {
model.addAttribute("createRandomMatchingDto", new CreateRandomMatchingDto());
return "redirect:/office/admin/home";
}

@PostMapping("/create")
public ResponseEntity<CreateRandomMatchingDto> createRandomMatching(
@RequestBody CreateRandomMatchingDto createRandomMatchingDto
) {
return ResponseEntity.ok(randomMatchingService.createRandomMatching(createRandomMatchingDto));
public String createRandomMatching(
@ModelAttribute CreateRandomMatchingDto createRandomMatchingDto,
RedirectAttributes redirectAttributes
){
randomMatchingService.createRandomMatching(createRandomMatchingDto);
redirectAttributes.addFlashAttribute("successMessage", "랜덤 매칭이 성공적으로 생성되었습니다.");
return "redirect:/office/admin/home";
}

@GetMapping("/update/{randomMatchingId}")
public String updateRandomMatchingForm(
@PathVariable(value = "randomMatchingId") Long randomMatchingId,
Model model
){
UpdateRandomMatchingDto updateDto = randomMatchingService.getUpdateRandomMatchingDto(randomMatchingId);
model.addAttribute("updateRandomMatchingDto", updateDto);
model.addAttribute("randomMatchingId", randomMatchingId);
return "/office/admin/home/randomMatching/edit";
}

@PutMapping("/{randomMatchingId}")
public ResponseEntity<UpdateRandomMatchingDto> updateRandomMatching(
@PathVariable Long randomMatchingId,
@RequestBody UpdateRandomMatchingDto updateRandomMatchingDto
) {
return ResponseEntity.ok(randomMatchingService.updateRandomMatching(randomMatchingId ,updateRandomMatchingDto));
@PostMapping("/update/{randomMatchingId}")
public String updateRandomMatching(
@PathVariable(value = "randomMatchingId") Long randomMatchingId,
@ModelAttribute UpdateRandomMatchingDto updateRandomMatchingDto,
RedirectAttributes redirectAttributes
){
randomMatchingService.updateRandomMatching(randomMatchingId, updateRandomMatchingDto);
redirectAttributes.addFlashAttribute("successMessage", "랜덤 매칭이 성공적으로 수정되었습니다.");
return "redirect:/office/admin/home";
}

@DeleteMapping("/{randomMatchingId}")
public ResponseEntity<Void> deleteRandomMatching(
@PathVariable Long randomMatchingId
) {
@PostMapping("/delete/{randomMatchingId}")
public String deleteRandomMatching(
@PathVariable(value = "randomMatchingId") Long randomMatchingId,
RedirectAttributes redirectAttributes
){
randomMatchingService.deleteRandomMatching(randomMatchingId);
return ResponseEntity.noContent().build();
redirectAttributes.addFlashAttribute("successMessage", "랜덤 매칭이 성공적으로 삭제되었습니다.");
return "redirect:/office/admin/home";
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
package com.clip.office.matching.controller.dto;

import com.clip.matching.entity.OneThingDistrict;
import com.clip.matching.entity.OneThingKeyword;
import com.clip.matching.entity.OneThingPrice;
import lombok.Builder;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;

import java.time.LocalDateTime;

@Getter
@Setter
@NoArgsConstructor
public class CreateOneThingMatchingDto {

private OneThingDistrict oneThingDistrict;
private OneThingKeyword oneThingKeyword;
private String location;
private String restaurantName;
private LocalDateTime meetingTime;
private OneThingPrice oneThingPrice;

@Builder
public CreateOneThingMatchingDto(OneThingDistrict oneThingDistrict, OneThingKeyword oneThingKeyword,
String location,
String restaurantName, LocalDateTime meetingTime, OneThingPrice oneThingPrice) {
this.oneThingDistrict = oneThingDistrict;
this.oneThingKeyword = oneThingKeyword;
this.location = location;
this.restaurantName = restaurantName;
this.meetingTime = meetingTime;
this.oneThingPrice = oneThingPrice;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,12 @@
import lombok.Builder;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;

import java.time.LocalDateTime;

@Getter
@Setter
@NoArgsConstructor
public class CreateRandomMatchingDto {

Expand All @@ -23,4 +25,4 @@ public CreateRandomMatchingDto(RandomDistrict randomDistrict,String location, St
this.restaurantName = restaurantName;
this.meetingTime = meetingTime;
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
package com.clip.office.matching.controller.dto;

import com.clip.matching.entity.OneThingDistrict;
import com.clip.matching.entity.OneThingKeyword;
import com.clip.matching.entity.OneThingPrice;
import lombok.Builder;
import lombok.Getter;
import lombok.NoArgsConstructor;

import java.time.LocalDateTime;

@Getter
@NoArgsConstructor
public class OneThingMatchingDto {

private OneThingDistrict oneThingDistrict;
private OneThingKeyword oneThingKeyword;
private String location;
private String restaurantName;
private LocalDateTime meetingTime;
private OneThingPrice oneThingPrice;

@Builder
public OneThingMatchingDto(OneThingDistrict oneThingDistrict, OneThingKeyword oneThingKeyword, String location,
String restaurantName, LocalDateTime meetingTime, OneThingPrice oneThingPrice) {
this.oneThingDistrict = oneThingDistrict;
this.oneThingKeyword = oneThingKeyword;
this.location = location;
this.restaurantName = restaurantName;
this.meetingTime = meetingTime;
this.oneThingPrice = oneThingPrice;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
package com.clip.office.matching.controller.dto;

import com.clip.matching.entity.RandomDistrict;
import lombok.Builder;
import lombok.Getter;
import lombok.NoArgsConstructor;

import java.time.LocalDateTime;

@Getter
@NoArgsConstructor
public class RandomMatchingDto {

private RandomDistrict randomDistrict;
private String location;
private String restaurantName;
private LocalDateTime meetingTime;

@Builder
public RandomMatchingDto(RandomDistrict randomDistrict, String location, String restaurantName, LocalDateTime meetingTime) {
this.randomDistrict = randomDistrict;
this.location = location;
this.restaurantName = restaurantName;
this.meetingTime = meetingTime;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
package com.clip.office.matching.controller.dto;

import com.clip.matching.entity.OneThingDistrict;
import com.clip.matching.entity.OneThingPrice;
import lombok.Builder;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;

import java.time.LocalDateTime;

@Getter
@Setter
@NoArgsConstructor
public class UpdateOneThingMatchingDto {
private OneThingDistrict oneThingDistrict;
private String location;
private String restaurantName;
private LocalDateTime meetingTime;
private OneThingPrice oneThingPrice;

@Builder
public UpdateOneThingMatchingDto(OneThingDistrict oneThingDistrict, String location, String restaurantName, LocalDateTime meetingTime, OneThingPrice oneThingPrice) {
this.oneThingDistrict = oneThingDistrict;
this.location = location;
this.restaurantName = restaurantName;
this.meetingTime = meetingTime;
this.oneThingPrice = oneThingPrice;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,12 @@
import lombok.Builder;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;

import java.time.LocalDateTime;

@Getter
@Setter
@NoArgsConstructor
public class UpdateRandomMatchingDto {

Expand All @@ -23,4 +25,4 @@ public UpdateRandomMatchingDto(RandomDistrict randomDistrict,String location, St
this.restaurantName = restaurantName;
this.meetingTime = meetingTime;
}
}
}
Loading