package com.wn.web;
import java.io.IOException;
import java.sql.Connection;
import java.util.ArrayList;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import com.wn.dao.ContactsDao;
import com.wn.model.BaseResult;
import com.wn.model.ContactsBean;
import com.wn.model.UserBean;
import com.wn.util.DbUtils;
import com.wn.util.ErrorUtils;
import com.wn.util.PrintWriterUtils;
/**
* Author : wangning
* Date : 2022年6月6日 上午11:45:16
* Email : maoning20080809@163.com
* Description : 处理联系人
*/
@WebServlet("/contacts")
public class ContactsServlet extends BaseServlet {
private ContactsDao contactsDao = new ContactsDao();
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
this.doPost(request, response);
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String method = request.getParameter("method");
System.out.println("ContactsServlet方法名:" + method);
if("insertContacts".equals(method)) {
processInsertContacts(request, response);
} else if("updateContacts".equals(method)) {
processUpdateContacts(request, response);
} else if ("getContacts".equals(method)) {
processGetContacts(request, response);
} else if("insertContactsList".equals(method)) {
processInsertContactsList(request, response);
} else if("getContactsList".equals(method)) {
processGetContactsList(request, response);
} else if("deleteContactsByAccount".equals(method)) {
processDeleteContactsByAccount(request, response);
} else {
}
super.doPost(request, response);
}
//获取联系人列表
private void processGetContactsList(HttpServletRequest request, HttpServletResponse response) throws IOException {
Connection con = null;
BaseResult<String> baseResult = new BaseResult<String>();
try {
con = DbUtils.getInstance().getConnection();
String fromAccount = request.getParameter("fromAccount");
ArrayList<ContactsBean> contactsList = contactsDao.getContactsList(con,fromAccount);
System.out.println("processGetContactsList 返回值:" + contactsList);
if(contactsList == null) {
baseResult.setSuccess(false);
baseResult.setErrorCode(ErrorUtils.ErrorCode.Contacts.ERROR_CODE_GET_LIST);
} else {
String contactsListGson = new Gson().toJson(contactsList);
baseResult.setSuccess(true);
baseResult.setData(contactsListGson);
}
} catch (Exception e) {
e.printStackTrace();
baseResult.setSuccess(false);
} finally {
PrintWriterUtils.basePrintWriterObject(response, baseResult);
DbUtils.getInstance().close(con);
}
}
//获取联系人
private void processGetContacts(HttpServletRequest request, HttpServletResponse response) throws IOException {
Connection con = null;
BaseResult<String> baseResult = new BaseResult<String>();
try {
con = DbUtils.getInstance().getConnection();
String fromAccount = request.getParameter("fromAccount");
ContactsBean contactsBean = contactsDao.getContacts(con, fromAccount);
System.out.println("processGettUser 1返回值:" + contactsBean.getFromAccount() +", " + contactsBean.getToAccount());
if(contactsBean == null) {
baseResult.setSuccess(false);
} else {
baseResult.setSuccess(true);
String contactsBeanGson = new Gson().toJson(contactsBean);
baseResult.setData(contactsBeanGson);
}
} catch (Exception e) {
e.printStackTrace();
baseResult.setSuccess(false);
} finally {
DbUtils.getInstance().close(con);
PrintWriterUtils.basePrintWriterObject(response, baseResult);
}
}
//删除单个联系人
private void processDeleteContactsByAccount(HttpServletRequest request, HttpServletResponse response) throws IOException {
Connection con = null;
BaseResult<String> baseResult = new BaseResult<String>();
try {
con = DbUtils.getInstance().getConnection();
String fromAccount = request.getParameter("fromAccount");
String toAccount = request.getParameter("toAccount");
System.out.println("删除单个联系人:" + fromAccount +" , " + toAccount);
boolean isSuccess = contactsDao.deleteContacts(con, fromAccount, toAccount);
System.out.println("删除单个联系人返回值:" + isSuccess);
baseResult.setSuccess(isSuccess);
} catch (Exception e) {
e.printStackTrace();
baseResult.setSuccess(false);
} finally {
DbUtils.getInstance().close(con);
PrintWriterUtils.basePrintWriterObject(response, baseResult);
}
}
//插入单个联系人
private void processInsertContacts(HttpServletRequest request, HttpServletResponse response) throws IOException {
Connection con = null;
BaseResult<String> baseResult = new BaseResult<String>();
try {
con = DbUtils.getInstance().getConnection();
String contactsStr = request.getParameter("contacts");
System.out.println("插入单个联系人:" + contactsStr);
ContactsBean contactsBean = new Gson().fromJson(contactsStr, ContactsBean.class);
boolean isSuccess = contactsDao.insertContacts(con, contactsBean);
//System.out.println("插入单个联系人返回值:" + isSuccess);
baseResult.setSuccess(true);
} catch (Exception e) {
e.printStackTrace();
baseResult.setSuccess(false);
} finally {
DbUtils.getInstance().close(con);
PrintWriterUtils.basePrintWriterObject(response, baseResult);
}
}
private void processUpdateContacts(HttpServletRequest request, HttpServletResponse response) throws IOException {
Connection con = null;
BaseResult<String> baseResult = new BaseResult<String>();
try {
con = DbUtils.getInstance().getConnection();
String contactsStr = request.getParameter("contacts");
ContactsBean contactsBean = new Gson().fromJson(contactsStr, ContactsBean.class);
boolean isSuccess = contactsDao.updateContacts(con,contactsBean);
System.out.println("更新联系人返回值:" + isSuccess);
baseResult.setSuccess(true);
} catch (Exception e) {
e.printStackTrace();
baseResult.setSuccess(false);
}finally {
PrintWriterUtils.basePrintWriterObject(response, baseResult);
DbUtils.getInstance().close(con);
}
}
//插入联系人列表
private void processInsertContactsList(HttpServletRequest request, HttpServletResponse response) throws IOException {
Connection con = null;
BaseResult<String> baseResult = new BaseResult<String>();
try {
con = DbUtils.getInstance().getConnection();
String contactsListJson = request.getParameter("contactsList");
ArrayList<ContactsBean> contactsList = new Gson().fromJson(contactsListJson, new TypeToken<ArrayList<ContactsBean>>(){}.getType());
System.out.println("插入联系人json:" + contactsList);
boolean isSuccess = contactsDao.insertContactsList(con,contactsList);
System.out.println("插入联系人列表返回值:" + isSuccess);
baseResult.setSuccess(true);
} catch (Exception e) {
e.printStackTrace();
baseResult.setSuccess(false);
}finally {
DbUtils.getInstance().close(con);
PrintWriterUtils.basePrintWriterObject(response, baseResult);
}
}
}