package com.indiScene.uploadBoard.controller; import java.util.logging.Logger; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.multipart.MultipartHttpServletRequest; import org.springframework.web.servlet.ModelAndView; import com.indiScene.uploadBoard.dto.UploadBoardDto; import com.indiScene.uploadBoard.service.UploadBoardService; /** * @type : UploadBoardController * @date : 2015. 7. 13. * @author : Kim MinSic * @description : receive client's request */ @Controller public class UploadBoardController { @Autowired private UploadBoardService service; private Logger logger = Logger.getLogger(this.getClass().getName()); /** * @name : write * @date : 2015. 7. 13. * @author : Kim MinSic * @description : 글쓰기 화면을 불러온다. */ @RequestMapping(value="/uploadBoard/write.do", method=RequestMethod.GET) public ModelAndView write(HttpServletRequest request, HttpServletResponse response){ logger.info("upload Write Start ------ "); ModelAndView mav= new ModelAndView(); mav.addObject("request",request); service.write(mav); return mav; } /** * @name : write * @date : 2015. 7. 13. * @author : Kim MinSic * @description : 글쓰기에 필요한 정보를 입력받은 뒤 Database에 집어넣기 위한 과정 */ @RequestMapping(value="/uploadBoard/write.do",method=RequestMethod.POST) public ModelAndView write(MultipartHttpServletRequest request, HttpServletResponse response, UploadBoardDto uploadBoardDto){ logger.info("upload WriteOk Start ---------"); ModelAndView mav = new ModelAndView(); mav.addObject("request", request); mav.addObject("uploadBoardDto", uploadBoardDto); service.writeOk(mav); return mav; } /** * @name : record * @date : 2015. 7. 14. * @author : Kim MinSic * @description : 녹음 완료된 파일을 전송받는다. */ @RequestMapping(value="/uploadBoard/record.do", method=RequestMethod.POST) public ModelAndView record(MultipartHttpServletRequest request, HttpServletResponse response){ logger.info("record start"); service.record(request,response); return null; } /** * @name : list * @date : 2015. 7. 16. * @author : Kim MinSic * @description : DataBase에 저장된 게시판목록을 호출한다. */ @RequestMapping(value="/uploadBoard/list.do", method=RequestMethod.GET) public ModelAndView list(HttpServletRequest request){ logger.info("uploadBoard List Start----"); ModelAndView mav = new ModelAndView(); mav.addObject("request", request); service.list(mav); return mav; } /** * @name : read * @date : 2015. 7. 16. * @author : Kim MinSic * @description : 지정된 게시판을 읽는다. */ @RequestMapping(value="/uploadBoard/read.do",method=RequestMethod.GET) public ModelAndView read(HttpServletRequest request){ logger.info("uploadBoard Read Start~~~~~~~"); ModelAndView mav = new ModelAndView(); mav.addObject("request", request); service.read(mav); return mav; } /** * @name : update * @date : 2015. 7. 17. * @author : Kim MinSic * @description : 지정된 게시판을 수정할 수 있는 페이지를 호출한다. */ @RequestMapping(value="/uploadBoard/update.do", method=RequestMethod.GET) public ModelAndView update(HttpServletRequest request){ logger.info("uploadBoard Update Start~~~~~~~"); ModelAndView mav = new ModelAndView(); mav.addObject("request", request); service.update(mav); return mav; } /** * @name : update * @date : 2015. 7. 17. * @author : Kim MinSic * @description : 변경된 정보로 게시판 정보를 수정한다. */ @RequestMapping(value="/uploadBoard/update.do", method=RequestMethod.POST) public ModelAndView update(MultipartHttpServletRequest request, UploadBoardDto uploadBoard){ logger.info("upload UpdateOK Start ---------"); ModelAndView mav = new ModelAndView(); mav.addObject("request", request); mav.addObject("uploadBoard", uploadBoard); service.updateOk(mav); return mav; } /** * @name : delete * @date : 2015. 7. 18. * @author : Kim MinSic * @description : 게시판을 삭제하기위한 페이지를 호출한다. */ @RequestMapping(value="/uploadBoard/delete.do",method=RequestMethod.GET) public ModelAndView delete(HttpServletRequest request){ logger.info("uploadBoard Delete Start~~~~~~~"); ModelAndView mav = new ModelAndView(); mav.addObject("request", request); service.delete(mav); return mav; } /** * @name : delete * @date : 2015. 7. 18. * @author : Kim MinSic * @description : 고객 비밀번호를 확인하여 게시판을 삭제한다. */ @RequestMapping(value="/uploadBoard/delete.do",method=RequestMethod.POST) public ModelAndView delete(HttpServletRequest request, HttpServletResponse response){ logger.info("uploadBoard DeleteOk Start~~~~~~~"); ModelAndView mav = new ModelAndView(); mav.addObject("request", request); service.deleteOk(mav); return mav; } /** * @name : like * @date : 2015. 7. 19. * @author : Kim MinSic * @description : 고객이 추천한 게시판의 추천수를 올린다. */ @RequestMapping(value="/uploadBoard/like.do",method=RequestMethod.GET) public ModelAndView like(HttpServletRequest request, HttpServletResponse response){ logger.info("uploadBoard Like Start-----------------"); ModelAndView mav = new ModelAndView(); mav.addObject("request",request); mav.addObject("response", response); service.like(mav); return null; } /** * @name : collabo * @date : 2015. 7. 21. * @author : Kim MinSic * @description : 콜라보레이션 요청을 받아 페이지를 호출한다. */ @RequestMapping(value="/uploadBoard/collabo.do", method=RequestMethod.GET) public ModelAndView collabo(HttpServletRequest request){ logger.info("uploadBoard Collabo Start-----------------"); ModelAndView mav = new ModelAndView(); mav.addObject("request",request); service.collabo(mav); return mav; } /** * @name : collabo * @date : 2015. 7. 31. * @author : Kim MinSic * @description : 콜라보레이션된 곡정보와 함께 데이터베이스에 입력한다. */ @RequestMapping(value="/uploadBoard/collabo.do", method=RequestMethod.POST) public ModelAndView collabo(HttpServletRequest request, UploadBoardDto board){ logger.info("upload CollaboOk Start ---------"); ModelAndView mav = new ModelAndView(); mav.addObject("request", request); mav.addObject("uploadBoardDto", board); service.collaboOk(mav); return mav; } /** * @name : collaboAdopt * @date : 2015. 7. 25. * @author : Kim MinSic * @description : 현재 게시물의 곡과 새로 올라온 음원의 콜라보레이션을 진행한다. */ @RequestMapping(value="/uploadBoard/collaboAdopt.do", method=RequestMethod.POST) public ModelAndView collaboAdopt(MultipartHttpServletRequest request, HttpServletResponse response, UploadBoardDto board){ logger.info("uploadBoard Collabo Start-----------------"); ModelAndView mav = new ModelAndView(); mav.addObject("request",request); mav.addObject("response", response); mav.addObject("uploadBoard", board); service.collaboAdopt(mav); return null; } }