package com.indiScene.reply.service;
import java.io.IOException;
import java.io.PrintWriter;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Map;
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.Component;
import org.springframework.web.servlet.ModelAndView;
import com.indiScene.reply.dao.ReplyDao;
import com.indiScene.reply.dto.ReplyDto;
/**
@name : ReplyServiceImpl
@date : 2015. 7. 8.
@auther: 나혁진
@description : 한줄닷글 관리를 위한 service 클래스이다
*/
@Component
public class ReplyServiceImpl implements ReplyService {
final Logger logger=Logger.getLogger(this.getClass().getName());
@Autowired
private ReplyDao replyDao;
@Override
public void replyList(String board_num) {
//한줄댓글 리스트를 불러오는 행위는 각게시판에 귀속되기 때문에 replyService를 거치지 않는다 각 게시판의 Service에서해결
}
/**
@name : write
@date : 2015. 7. 8.
@auther: 나혁진
@description : request파라미터를 dto에 담아서 dao로 보낸다
*/
@Override
public void write(ModelAndView mav) throws IOException {
// TODO Auto-generated method stub
Map<String,Object> map=mav.getModelMap();
HttpServletRequest request=(HttpServletRequest) map.get("request");
HttpServletResponse response=(HttpServletResponse) map.get("response");
String artist_id=request.getParameter("artist_id");
String board_num=request.getParameter("board_num");
String reply_content=request.getParameter("reply_content");
Date date=new Date();
ReplyDto replyDto=new ReplyDto();
replyDto.setArtist_id(artist_id);
replyDto.setBoard_num(board_num);
replyDto.setReply_content(reply_content);
replyDto.setReply_date(date);
int check=replyDao.replyInsert(replyDto);
if(check>0){
int reply_num=replyDao.getReplyNum(board_num);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd hh:mm");
String str=reply_num+"," +artist_id + "," + reply_content+","+sdf.format(date)+","+board_num;
response.setContentType("application/html;charset=utf-8");
PrintWriter out=response.getWriter();
out.print(str);
}
}
/**
@name : delete
@date : 2015. 7. 8.
@auther: 나혁진
@description : 삭제를 위해 게시글 번호와 댓글 번호를 담아 dao로 보낸다
*/
@Override
public void delete(ModelAndView mav) throws IOException {
Map<String,Object> map=mav.getModelMap();
HttpServletRequest request=(HttpServletRequest) map.get("request");
HttpServletResponse response=(HttpServletResponse) map.get("response");
String board_num=request.getParameter("board_num");
int reply_num=Integer.parseInt(request.getParameter("reply_num"));
int check=replyDao.delete(board_num,reply_num);
if(check==1){
response.setContentType("application/html;charset=utf-8");
PrintWriter out=response.getWriter();
out.print(reply_num+ ","+board_num);
}else{
}
}
/**
@name : upSelect
@date : 2015. 7. 8.
@auther: 나혁진
@description : 댓글 내용을 불어오기 위해 dao를 호출한다.
*/
@Override
public void upSelect(HttpServletRequest request,
HttpServletResponse response) throws Throwable {
String board_num=request.getParameter("board_num");
int reply_num=Integer.parseInt(request.getParameter("reply_num"));
ReplyDto replyDto=replyDao.upSelect(board_num,reply_num);
if(replyDto!=null){
response.setContentType("application/html;charset=utf-8");
PrintWriter out=response.getWriter();
out.print(replyDto.getReply_num()+ "," +replyDto.getReply_content());
}else{
}
}
/**
@name : update
@date : 2015. 7. 8.
@auther: 나혁진
@description : 수정할 내용을 dto에 담아 dao로 보낸다
*/
public void update(HttpServletRequest request,
HttpServletResponse response) throws Throwable{
String board_num=request.getParameter("board_num");
String reply_content=request.getParameter("reply_content");
int reply_num=Integer.parseInt(request.getParameter("reply_num"));
ReplyDto replyDto=new ReplyDto();
replyDto.setBoard_num(board_num);
replyDto.setReply_content(reply_content);
replyDto.setReply_num(reply_num);
int check=replyDao.update(replyDto);
if(check>0){
response.setContentType("application/html;charset=utf-8");
PrintWriter out=response.getWriter();
String str=reply_num+"," + reply_content;
out.print(str);
}
}
}