package com.jzh.news.servlet; import java.io.IOException; import java.io.PrintWriter; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import net.sf.json.JSONArray; import net.sf.json.JSONObject; import com.jzh.news.dao.News_contentDaoImpl; import com.jzh.news.dao.News_pinglunDaoImpl; import com.jzh.news.dao.UserDaoImpl; import com.jzh.news.entity.News_content; import com.jzh.news.entity.News_pinglun; import com.jzh.news.entity.User; public class DoGetPingLun extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { this.doPost(request, response); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setCharacterEncoding("utf-8"); request.setCharacterEncoding("utf-8"); String action = request.getParameter("action"); PrintWriter out = response.getWriter(); JSONObject array = new JSONObject(); News_pinglunDaoImpl ndi = new News_pinglunDaoImpl(); if (action.equals("search")) { String pcid = request.getParameter("pcid"); String user = request.getParameter("user"); String limit = request.getParameter("limit"); List<News_pinglun> list = new ArrayList<News_pinglun>(); list = ndi.search(pcid, limit); int size = ndi.search_total(pcid); if (list.size() < 1) { array.put("code", "failure"); array.put("msg", "��������"); array.put("data", ""); } else { array.put("code", "success"); array.put("msg", "������"); UserDaoImpl udi = new UserDaoImpl(); JSONArray arrays = new JSONArray(); List<User> list_user; for (int i = 0; i < list.size(); i++) { list_user = new ArrayList<User>(); JSONObject object = new JSONObject(); String pid = list.get(i).getPid() + ""; String iszan = ndi.search_iszan(pid, user); object.put("size", size); object.put("ispzan", iszan);// 0��û�� 1���� // System.out.println(iszan); if (list.get(i).getUser().contains("http")) { String[] str = list.get(i).getUser().split(";"); object.put("nickname", str[0]); object.put("sex", ""); object.put("icon", str[1]); object.put("pdata", list.get(i)); } else { list_user = udi.Search(list.get(i).getUser()); object.put("nickname", list_user.get(i).getNickname()); object.put("sex", list_user.get(i).getSex()); object.put("icon", list_user.get(i).getIcon()); object.put("pdata", list.get(i)); } arrays.add(object); } array.put("data", arrays.toString()); } } else if (action.equals("save")) { String pcid = request.getParameter("pcid"); int id = Integer.parseInt(pcid); String user = request.getParameter("user"); String plocation = request.getParameter("plocation"); String ptime = request.getParameter("ptime"); String pcontent = request.getParameter("pcontent"); String zan = "0"; News_pinglun news = new News_pinglun(id, user, plocation, ptime, pcontent, zan); if (ndi.save(news)) { array.put("code", "success"); array.put("msg", "���۳ɹ�"); } else { array.put("code", "failure"); array.put("msg", "����ʧ�ܣ����Ժ�����"); } } else if (action.equals("update")) { String pid = request.getParameter("pid"); int ppid = Integer.parseInt(pid); String user = request.getParameter("user"); ndi.save(ppid, user); System.out.println(pid + "\n" + user); String zans = ndi.search_zan(pid).get(0).getPzan(); int num = Integer.parseInt(zans) + 1; if (ndi.update(pid, num + "")) { array.put("code", "success"); } else { array.put("code", "failure"); } } out.print(array); out.flush(); out.close(); } }