⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mailaction.java

📁 通过企业办公自动化系统对企业日常办公进行管理
💻 JAVA
字号:
package com.office.action;

import java.sql.ResultSet;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.Date;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import org.apache.struts.action.Action;
import org.apache.struts.action.ActionMessage;
import org.apache.struts.action.ActionMessages;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;

import com.office.actionform.LogonForm;
import com.office.actionform.MailForm;
import com.office.dao.Content;
import com.office.dao.DB;
import com.office.tools.Change;

public class MailAction extends Action {
	public ActionForward execute(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response){
		
		HttpSession session=request.getSession();
		LogonForm logonuser=(LogonForm)session.getAttribute("logonuser");
		if(logonuser==null){
			ActionMessages errors=new ActionMessages();
			errors.add("notAllow",new ActionMessage("office.logon.notallow"));
			saveErrors(request,errors);
			return mapping.findForward("notallowlogon");
		}
		
		String mark=mapping.getParameter();
		ActionForward forward=new ActionForward();
		if(mark.equals("mail_look_get"))
			forward=executeMailLookGet(mapping,form,request,response);
		if(mark.equals("mail_look_send"))
			forward=executeMailLookSend(mapping,form,request,response);
		if(mark.equals("mail_add"))
			forward=executeMailAdd(mapping,form,request,response);
		if(mark.equals("mail_look_sigle"))
			forward=executeMailLookSigle(mapping,form,request,response);
		if(mark.equals("mail_del"))
			forward=executeMailDel(mapping,form,request,response);
	    return forward;
	}
	
	public ActionForward executeMailAdd(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response){
		ActionMessages errors=new ActionMessages();
		HttpSession session=request.getSession();
		session.setAttribute("selectmenu1", "mail");
		session.setAttribute("selectmenu2", "mail_send");
	    MailForm mailform=(MailForm)form;
		LogonForm logonuser=(LogonForm)session.getAttribute("logonuser");
	    String type=request.getParameter("addtype");
	    if(type==null||type.equals(""))type="link";
	    if(type.equals("link"))
	       return mapping.findForward("add");
	    
	    if(type.equals("add")){

	       String geter=mailform.getGeter();
	        if(geter==null)geter="";
	       String sender=logonuser.getUsername();
	              
	       String subject=mailform.getSubject();
	        if(subject==null||subject.equals(""))subject="无标题!";

	       String content=mailform.getContent();
	        if(content==null||content.equals(""))content="无内容";

	       String mark="1";
	       String sendtime=Change.datetostr(new Date());
	       if(geter.equals("")){
	    	   errors.add("nogeter",new ActionMessage("office.mail.add.nogeter"));
	           saveErrors(request,errors);
	    	   return mapping.findForward("false");
	       }
           DB db=new DB();
	       String sql="insert into "+Content.TB_MAIL+" values('"+subject+"','"+geter+"','"+sender+"','"+content+"','"+sendtime+"','"+mark+"',0,0)";
	       int k=db.inseart(sql);
	       if(k==0){
    	       errors.add("addR",new ActionMessage("office.insert.false"));
	    	   saveErrors(request,errors);
	    	   return mapping.findForward("false");
	       }
	    }
	       mailform.clear();
	       errors.add("addR",new ActionMessage("office.insert.success"));
	       saveErrors(request,errors);
	       return mapping.findForward("success");
	
	}
	public ActionForward executeMailLookGet(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response){
		HttpSession session=request.getSession();
		session.setAttribute("selectmenu2", "mail_look");
		session.setAttribute("selectmenu3", "mail_look_get");
	    LogonForm logonform=(LogonForm)session.getAttribute("logonuser");
		String sql="select * from "+Content.TB_MAIL+" where "+Content.MAILGETER+"='"+logonform.getUsername()+"' and "+Content.MAILDELGETER+"=0 order by "+Content.MAILMARK+" desc,"+Content.MAILSTIME+" desc";
	    
	    String str_currentpage=request.getParameter("page");
        if(str_currentpage==null||str_currentpage.equals(""))
			 str_currentpage="0";
		int currentpage=Change.strtoint(str_currentpage);
		if(currentpage<=0)
			currentpage=1;

		DB db=new DB();
	    ArrayList getmaillist=db.getallmaillist(sql,currentpage);
	    
	    session.setAttribute("numrs",Integer.toString(db.getNumrs()));
	    session.setAttribute("numper", Integer.toString(db.getNumper()));
	    session.setAttribute("currentpage",Integer.toString(db.getCurrentPage()));
	    session.setAttribute("numpages", Integer.toString(db.getNumPages()));
	    session.setAttribute("getmaillist",getmaillist);
		
	    return mapping.findForward("success");
	}
	public ActionForward executeMailLookSend(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response){
		HttpSession session=request.getSession();
		session.setAttribute("selectmenu2", "mail_look");
		session.setAttribute("selectmenu3", "mail_look_send");
	    LogonForm logonform=(LogonForm)session.getAttribute("logonuser");
		String sql="select * from "+Content.TB_MAIL+" where "+Content.MAILSENDER+"='"+logonform.getUsername()+"' and "+Content.MAILDELSENDER+"=0 order by "+Content.MAILMARK+" desc,"+Content.MAILSTIME+" desc";
	    
	    String str_currentpage=request.getParameter("page");
        if(str_currentpage==null||str_currentpage.equals(""))
			 str_currentpage="0";
		int currentpage=Change.strtoint(str_currentpage);
		if(currentpage<=0)
			currentpage=1;

		DB db=new DB();
	    ArrayList sendmaillist=db.getallmaillist(sql,currentpage);
	    
	    session.setAttribute("numrs",Integer.toString(db.getNumrs()));
	    session.setAttribute("numper", Integer.toString(db.getNumper()));
	    session.setAttribute("currentpage",Integer.toString(db.getCurrentPage()));
	    session.setAttribute("numpages", Integer.toString(db.getNumPages()));
		session.setAttribute("sendmaillist",sendmaillist);
		
		return mapping.findForward("success");
	}
	public ActionForward executeMailLookSigle(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response){
        String strid=request.getParameter("id");
         if(strid==null||strid.equals(""))
        	 strid="0";
        int id=Change.strtoint(strid);
        String sql="select * from "+Content.TB_MAIL+" where "+Content.MAILID+"="+id;
	    DB db=new DB();
	    ResultSet rs=db.getRs(sql);
	    try{
	    	if(rs.next()){
	    		MailForm mailform=(MailForm)form;
	    		mailform.setMailid(rs.getInt(Content.MAILID));
	    		mailform.setSubject(rs.getString(Content.MAILSUBJECT));
	    		mailform.setGeter(rs.getString(Content.MAILGETER));
	    		mailform.setSender(rs.getString(Content.MAILSENDER));
	    		mailform.setContent(rs.getString(Content.MAILCONTENT));
	    		mailform.setStime(rs.getString(Content.MAILSTIME));
	    		mailform.setMark(rs.getString(Content.MAILMARK));
	    	}
	    }
	    catch(Exception e){e.printStackTrace();}
	    String fromwhere=request.getParameter("from");
	    if(fromwhere==null)fromwhere="";
	    if(fromwhere.equals("get")){
	    	sql="update "+Content.TB_MAIL+" set "+Content.MAILMARK+"='0' where "+Content.MAILID+"="+id;
	        int i=db.update(sql);
	        if(i==0){
	        	ActionMessages errors=new ActionMessages();
    	    	errors.add("updateR",new ActionMessage("office.update.false"));
	        	saveErrors(request,errors);
	        	return mapping.findForward("looksiglewrong");
	        }
	    }
        return mapping.findForward("success");
	}
	public ActionForward executeMailDel(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response){
		HttpSession session=request.getSession();
		String logonuser=((LogonForm)session.getAttribute("logonuser")).getUsername();
		String from=request.getParameter("from");
		if(from==null||!from.equals("send"))
			 from="get";
		String strid=request.getParameter("id");
		 if(strid==null||strid.equals(""))
			 strid="0";
		int id=Change.strtoint(strid);
		String sql="select * from "+Content.TB_MAIL+" where "+Content.MAILID+"="+id;
		DB db=new DB();
		ResultSet rs=db.getRs(sql);
		try{
    		if(rs.next()){
			    String delgeter=rs.getString(Content.MAILDELGETER);
			    String delsender=rs.getString(Content.MAILDELSENDER);
			    if(from.equals("get")){					//如果删除的是“收件箱”里的邮件
                    if(delsender.equals("1"))                          //判断该邮件是否被发送者从他的发件箱中删除。如果删除,则从数据表中删除该邮件
                        sql="delete from "+Content.TB_MAIL+" where "+Content.MAILID+"="+id;
                    else if(delsender.equals("0"))                    //判断该邮件是否没有被发送者从他的发件箱中删除。如果没有删除,则将该邮件标记为“已被邮件接收者删除”状态
                        sql="update "+Content.TB_MAIL+" set "+Content.MAILDELGETER+"=1 where "+Content.MAILID+"="+id;                  
                } 
			    else if(from.equals("send")){			//如果删除的是“发件箱”里的邮件
                    if(delgeter.equals("1"))                          //判断该邮件是否被接收者从他的收件箱中删除。如果删除,则从数据表中删除该邮件
                        sql="delete from "+Content.TB_MAIL+" where "+Content.MAILID+"="+id;
                    else if(delgeter.equals("0"))                    //判断该邮件是否没有被接收者从他的收件箱中删除。如果没有删除,则将该邮件标记为“已被邮件发送者删除”状态
                        sql="update "+Content.TB_MAIL+" set "+Content.MAILDELSENDER+"=1 where "+Content.MAILID+"="+id;                  
                } 
		    }
		    Statement stm=db.getStm();
		    boolean ok=stm.execute(sql);				//调用execute()方法来执行一个功能不确定的SQL语句
		    if(!ok){									//返回true,则表示调用execute()方法执行SQL语句后,返回的是一个ResultSet结果集合;返回false,则表示调用execute()方法执行SQL语句后,返回的是更新记录的数量
			    ActionMessages errors=new ActionMessages();
			    errors.add("deleteR",new ActionMessage("office.del.false"));
			    saveErrors(request,errors);
		    }
		}catch(Exception e){e.printStackTrace();}
		return mapping.findForward(from);
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -