Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
@@ -0,0 +1,33 @@
package HalfFifty.HalfFifty_BE.FAQ.bean;

import HalfFifty.HalfFifty_BE.FAQ.bean.small.DeleteAqDAOBean;
import HalfFifty.HalfFifty_BE.FAQ.bean.small.GetAqDAOBean;
import HalfFifty.HalfFifty_BE.FAQ.domain.AqDAO;
import HalfFifty.HalfFifty_BE.FAQ.domain.DTO.RequestAqDeleteDTO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

@Component
public class DeleteAqBean {
GetAqDAOBean getAqDAOBean;
DeleteAqDAOBean deleteAqDAOBean;

@Autowired
public DeleteAqBean(GetAqDAOBean getAqDAOBean, DeleteAqDAOBean deleteAqDAOBean) {
this.getAqDAOBean = getAqDAOBean;
this.deleteAqDAOBean = deleteAqDAOBean;
}

// AQ 삭제
public Boolean exec(RequestAqDeleteDTO requestAqDeleteDTO) {
// AQ 아이디와 user 아이디를 통해 원하는 객체 찾기
AqDAO aqDAO = getAqDAOBean.exec(requestAqDeleteDTO.getAqId(), requestAqDeleteDTO.getUserId());
if(aqDAO == null) return false;

// 찾은 객체 삭제
deleteAqDAOBean.exec(aqDAO);

// 삭제 성공 여부 반환
return true;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
package HalfFifty.HalfFifty_BE.FAQ.bean.small;

import HalfFifty.HalfFifty_BE.FAQ.domain.AqDAO;
import HalfFifty.HalfFifty_BE.FAQ.repository.AqRepositoryJPA;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

@Component
public class DeleteAqDAOBean {
AqRepositoryJPA aqRepositoryJPA;

@Autowired
public DeleteAqDAOBean(AqRepositoryJPA aqRepositoryJPA) {
this.aqRepositoryJPA = aqRepositoryJPA;
}

// AQ 삭제
public void exec(AqDAO aqDAO) {
aqRepositoryJPA.delete(aqDAO);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -20,4 +20,9 @@ public GetAqDAOBean(AqRepositoryJPA aqRepositoryJPA) {
public AqDAO exec(UUID AqId) {
return aqRepositoryJPA.findById(AqId).orElse(null);
}

// AQ 아이디와 userId를 통해 원하는 객체 찾기
public AqDAO exec(UUID aqId, UUID userId) {
return aqRepositoryJPA.findByAqIdAndUserId(aqId, userId);
}
}
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package HalfFifty.HalfFifty_BE.FAQ.controller;

import HalfFifty.HalfFifty_BE.FAQ.domain.DTO.RequestAqAdminUpdateDTO;
import HalfFifty.HalfFifty_BE.FAQ.domain.DTO.RequestAqDeleteDTO;
import HalfFifty.HalfFifty_BE.FAQ.domain.DTO.RequestAqUserSaveDTO;
import HalfFifty.HalfFifty_BE.FAQ.domain.DTO.ResponseAqGetDTO;
import HalfFifty.HalfFifty_BE.FAQ.service.AqService;
Expand Down Expand Up @@ -79,4 +80,18 @@ public ResponseEntity<Map<String, Object>> updateAdminAq(@RequestBody RequestAqA
// status, body 값 설정해서 응답 리턴
return ResponseEntity.status(HttpStatus.OK).body(requestMap);
}

@DeleteMapping
public ResponseEntity<Map<String, Object>> deleteAq(@RequestBody RequestAqDeleteDTO requestAqDeleteDTO) {
// AQ 삭제 service 성공 여부
Boolean success = aqService.deleteAq(requestAqDeleteDTO);

// Map을 통해 메시지와 list 값 json 데이터로 변환
Map<String, Object> requestMap = new HashMap<>();
requestMap.put("success", success);
requestMap.put("message", success ? "AQ 삭제 성공" : "AQ 삭제 실패");

// status, body 값 설정해서 응답 리턴
return ResponseEntity.status(HttpStatus.OK).body(requestMap);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
package HalfFifty.HalfFifty_BE.FAQ.domain.DTO;

import lombok.Data;

import java.util.UUID;

@Data
public class RequestAqDeleteDTO {
UUID aqId;
UUID userId;
}
Original file line number Diff line number Diff line change
Expand Up @@ -12,4 +12,7 @@ public interface AqRepositoryJPA extends JpaRepository<AqDAO, UUID> {

// user 아이디를 통해 원하는 객체 리스트 찾기
List<AqDAO> findAllByUserId(UUID userId);

// AQ 아이디와 user 아이디를 통해 원하는 객체 찾기
AqDAO findByAqIdAndUserId(UUID aqId, UUID userId);
}
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
package HalfFifty.HalfFifty_BE.FAQ.service;

import HalfFifty.HalfFifty_BE.FAQ.bean.AqUserSaveBean;
import HalfFifty.HalfFifty_BE.FAQ.bean.DeleteAqBean;
import HalfFifty.HalfFifty_BE.FAQ.bean.GetAqsBean;
import HalfFifty.HalfFifty_BE.FAQ.bean.UpdateAqAdminBean;
import HalfFifty.HalfFifty_BE.FAQ.domain.DTO.RequestAqAdminUpdateDTO;
import HalfFifty.HalfFifty_BE.FAQ.domain.DTO.RequestAqDeleteDTO;
import HalfFifty.HalfFifty_BE.FAQ.domain.DTO.RequestAqUserSaveDTO;
import HalfFifty.HalfFifty_BE.FAQ.domain.DTO.ResponseAqGetDTO;
import org.springframework.beans.factory.annotation.Autowired;
Expand All @@ -17,13 +19,14 @@ public class AqService {
AqUserSaveBean aqUserSaveBean;
UpdateAqAdminBean updateAqAdminBean;
GetAqsBean getAqsBean;

DeleteAqBean deleteAqBean;

@Autowired
public AqService(AqUserSaveBean aqUserSaveBean, UpdateAqAdminBean updateAqAdminBean, GetAqsBean getAqsBean) {
public AqService(AqUserSaveBean aqUserSaveBean, UpdateAqAdminBean updateAqAdminBean, GetAqsBean getAqsBean, DeleteAqBean deleteAqBean) {
this.aqUserSaveBean = aqUserSaveBean;
this.updateAqAdminBean = updateAqAdminBean;
this.getAqsBean = getAqsBean;
this.deleteAqBean = deleteAqBean;
}

// AQ 전체조회
Expand All @@ -40,4 +43,9 @@ public UUID saveUserAq(RequestAqUserSaveDTO requestAqUserSaveDTO) {
public UUID updateAdminAq(RequestAqAdminUpdateDTO requestAqAdminUpdateDTO) {
return updateAqAdminBean.exec(requestAqAdminUpdateDTO);
}

// AQ 삭제
public Boolean deleteAq(RequestAqDeleteDTO requestAqDeleteDTO) {
return deleteAqBean.exec(requestAqDeleteDTO);
}
}
Loading