게시판 쿼리수정
This commit is contained in:
parent
b64f203a93
commit
cef01c7c82
@ -109,20 +109,32 @@ public class BoardController {
|
||||
}
|
||||
// 게시물 상세보기
|
||||
@GetMapping("/{boardId}")
|
||||
public ApiResponse<Map<String, Object>> getBoardDetail(@PathVariable("boardId") Long boardId) {
|
||||
public ApiResponse<MapDto> getBoardDetail(@PathVariable("boardId") Long boardId) {
|
||||
log.info("Fetching details for board ID: {}", boardId);
|
||||
|
||||
// 게시물 상세정보 조회
|
||||
MapDto boardDetail = boardService.getBoardDetail(boardId);
|
||||
if (boardDetail == null) {
|
||||
throw new IllegalArgumentException("Board not found for ID: " + boardId);
|
||||
}
|
||||
|
||||
// 첨부파일 목록 조회
|
||||
// Blob 데이터를 문자열로 변환
|
||||
if (boardDetail.get("content") instanceof Blob) {
|
||||
try {
|
||||
Blob blob = (Blob) boardDetail.get("content");
|
||||
String contentString = new String(blob.getBytes(1, (int) blob.length()), StandardCharsets.UTF_8);
|
||||
boardDetail.put("content", contentString);
|
||||
} catch (Exception e) {
|
||||
throw new RuntimeException("Failed to process Blob content", e);
|
||||
}
|
||||
}
|
||||
|
||||
// 첨부파일 및 댓글 조회
|
||||
List<MapDto> attachments = boardService.getAttachments(boardId);
|
||||
|
||||
// 댓글 목록 조회
|
||||
List<MapDto> comments = boardService.getComments(boardId.intValue());
|
||||
|
||||
// 결과 조합
|
||||
Map<String, Object> result = new HashMap<>();
|
||||
MapDto result = new MapDto();
|
||||
result.put("boardDetail", boardDetail);
|
||||
result.put("attachments", attachments);
|
||||
result.put("comments", comments);
|
||||
|
||||
@ -46,7 +46,7 @@
|
||||
|
||||
|
||||
<!-- 게시물 상세정보 조회 -->
|
||||
<select id="selectBoardDetail" parameterType="long" resultType="map">
|
||||
<select id="selectBoardDetail" resultType="io.company.localhost.common.dto.MapDto">
|
||||
SELECT LOCBRDSEQ AS id, LOCBRDTTL AS title, LOCBRDCON AS content, LOCBRDRDT AS date, LOCBRDTYP AS type
|
||||
FROM localbord
|
||||
WHERE LOCBRDSEQ = #{boardId}
|
||||
@ -54,7 +54,7 @@
|
||||
|
||||
|
||||
<!-- 첨부파일 목록 조회 -->
|
||||
<select id="selectAttachments" parameterType="long" resultType="map">
|
||||
<select id="selectAttachments" resultType="io.company.localhost.common.dto.MapDto">
|
||||
SELECT CMNFLESEQ AS id, CMNFLEORG AS originalName, CMNFLENAM AS fileName, CMNFLEPAT AS path,
|
||||
CMNFLEEXT AS extension, CMNFLESIZ AS size, CMNFLERDT AS uploadDate
|
||||
FROM commonfil
|
||||
@ -85,27 +85,27 @@
|
||||
<!-- 댓글/대댓글 조회 -->
|
||||
<select id="getComments" resultType="java.util.Map">
|
||||
SELECT LOCCMTSEQ, LOCBRDSEQ, LOCCMTRPY, LOCCMTPWD, LOCCMTRDT, LOCCMTPNT
|
||||
FROM loccomt
|
||||
FROM localcomt
|
||||
WHERE LOCBRDSEQ = #{LOCBRDSEQ}
|
||||
ORDER BY LOCCMTPNT ASC, LOCCMTRDT ASC
|
||||
</select>
|
||||
|
||||
<!-- 댓글/대댓글 작성 -->
|
||||
<insert id="addCommentOrReply">
|
||||
INSERT INTO loccomt (LOCBRDSEQ, LOCCMTRPY, LOCCMTPWD, LOCCMTRDT, LOCCMTPNT)
|
||||
INSERT INTO localcomt (LOCBRDSEQ, LOCCMTRPY, LOCCMTPWD, LOCCMTRDT, LOCCMTPNT)
|
||||
VALUES (#{LOCBRDSEQ}, #{LOCCMTRPY}, #{LOCCMTPWD}, NOW(), #{LOCCMTPNT})
|
||||
</insert>
|
||||
|
||||
<!-- 댓글/대댓글 수정 -->
|
||||
<update id="updateComment">
|
||||
UPDATE loccomt
|
||||
UPDATE localcomt
|
||||
SET LOCCMTRPY = #{LOCCMTRPY}, LOCCMTUDT = NOW()
|
||||
WHERE LOCCMTSEQ = #{LOCCMTSEQ} AND LOCCMTPWD = #{LOCCMTPWD}
|
||||
</update>
|
||||
|
||||
<!-- 댓글/대댓글 삭제 -->
|
||||
<delete id="deleteComment">
|
||||
DELETE FROM loccomt
|
||||
DELETE FROM localcomt
|
||||
WHERE LOCCMTSEQ = #{LOCCMTSEQ} AND LOCCMTPWD = #{LOCCMTPWD}
|
||||
</delete>
|
||||
|
||||
@ -116,7 +116,7 @@
|
||||
|
||||
<!-- 비밀번호 확인 (댓글) -->
|
||||
<select id="checkCommentPassword" resultType="boolean">
|
||||
SELECT COUNT(*) > 0 FROM loccomt WHERE LOCCMTSEQ = #{LOCCMTSEQ} AND LOCCMTPWD = #{LOCCMTPWD}
|
||||
SELECT COUNT(*) > 0 FROM localcomt WHERE LOCCMTSEQ = #{LOCCMTSEQ} AND LOCCMTPWD = #{LOCCMTPWD}
|
||||
</select>
|
||||
|
||||
<!-- 비밀 게시판 여부 확인 -->
|
||||
|
||||
Loading…
Reference in New Issue
Block a user