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

📄 messagecreateaction.java

📁 采用Eclispe开发平台
💻 JAVA
字号:
package com.whatratimes.webedu.message;

import com.whatratimes.dbms.DBHelper;
import com.whatratimes.dbms.QuerySQLExecuter;
import com.whatratimes.dbms.UserSQLExecuter;
import com.whatratimes.tables.t_user;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.util.LabelValueBean;
import org.apache.struts.validator.DynaValidatorActionForm;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.util.ArrayList;
import java.util.Hashtable;

/**
 * User: Tao
 * Date: Jul 15, 2003
 * Time: 8:44:30 AM
 */
public class MessageCreateAction extends Action
{
    public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws Exception
    {
        HttpSession session = httpServletRequest.getSession();

        String reply = httpServletRequest.getParameter("ReplyTo");
        Integer mt = Integer.valueOf(httpServletRequest.getParameter("MT"));
        String message_to = httpServletRequest.getParameter("MessageTo");

        t_user user = (t_user) session.getAttribute("User");

        try
        {

            DynaValidatorActionForm form = (DynaValidatorActionForm) actionForm;
            form.initialize(actionMapping);
            form.set("MessageId", new Integer(DBHelper.getNextMessageId()));
            form.set("UserId", new Integer(user.UserId));
            form.set("MessageType", mt);
            form.set("Operation", "Create");


            if (reply != null)
            {
                mt = new Integer(4);
                form.set("MessageType", mt);

                Object[] objs_reply = UserSQLExecuter.executeQuery(
                        "select a.UserId UserId, a.Topic, b.UserName UserName from t_messages a, t_user b where a.UserId = b.UserId AND MessageId = " + reply
                );

                if (objs_reply.length > 0)
                {
                    Hashtable h = (Hashtable) objs_reply[0];

//                    message_to = h.get("UserName").toString();

                    ArrayList ml = new ArrayList();
                    ml.add(new LabelValueBean(h.get("UserName").toString(), h.get("UserId").toString()));
                    session.setAttribute("MessageToList", ml);

                    form.set("MessageTo", h.get("UserId"));

                    String topic = (String) h.get("Topic");
                    if (topic.startsWith("Re: "))
                    {
                        form.set("Topic", topic);
                    } else
                    {
                        form.set("Topic", "Re: " + topic);
                    }

                }
            } else
            {

                switch (mt.intValue())
                {
                    case 4:
                        if (message_to != null)
                        {
                            QuerySQLExecuter sql = new QuerySQLExecuter();
                            sql.setReturnClassName("t_user");
                            sql.appendTableName("t_user");
                            sql.appendColumn("*");
                            sql.appendWhereCondition("UserId", "=", Integer.valueOf(message_to));
                            Object[] objs4 = sql.executeQuery();
                            if (objs4.length > 0)
                            {
                                t_user message_to_user = (t_user) objs4[0];
                                ArrayList ml = new ArrayList();
                                ml.add(new LabelValueBean(message_to_user.UserName, String.valueOf(message_to_user.UserId)));

                                session.setAttribute("MessageToList", ml);
                            }

                        } else
                        {
                            Object[] objs4 = UserSQLExecuter.executeQuery(
                                    "select a.UserId UserId, a.UserName UserName " +
                                    "from t_user a, t_student b, t_student c " +
                                    "where " +
                                    "a.UserId = b.UserId AND " +
                                    "b.ClassId = c.ClassId AND " +
                                    "c.UserId = " + user.UserId
                            );
                            ArrayList user_list = new ArrayList();
                            for (int i = 0; i < objs4.length; i++)
                            {
                                Hashtable this_user = (Hashtable) objs4[i];
                                user_list.add(new LabelValueBean((String) this_user.get("UserName"), this_user.get("UserId").toString()));
                            }
                            session.setAttribute("MessageToList", user_list);
                        }

                        break;

                    case 3: // message to class
                        String ss;
                        if (message_to != null)
                        {
                            ss = "select a.ClassId ClassId, a.ClassName ClassName " +
                                    "from t_class a " +
                                    "where " +
                                    "a.ClassId = " + message_to;
                        } else
                        {

                            ss = "select a.ClassId ClassId, a.ClassName ClassName " +
                                    "from t_class a " +
                                    "where " +
                                    "a.State = 1 ";
                            if (user.UserType == 2)
                            {
                                ss = "select distinct a.ClassId ClassId, a.ClassName ClassName " +
                                        "from t_class a, t_class_course b " +
                                        "where " +
                                        "a.State = 1 AND b.State =1 AND a.ClassId = b.ClassId AND b.TeacherId = " + user.UserId;
                            } else
                            {
                                if (!"CNTR".equals(user.SchoolId))
                                {
                                    ss.concat(" AND a.SchoolId = '" + user.SchoolId + "'");
                                }
                            }
                        }
                        Object[] classes = UserSQLExecuter.executeQuery(ss);

                        ArrayList class_list = new ArrayList();
                        for (int i = 0; i < classes.length; i++)
                        {
                            Hashtable this_class = (Hashtable) classes[i];
                            class_list.add(new LabelValueBean((String) this_class.get("ClassName"), this_class.get("ClassId").toString()));
                        }

                        session.setAttribute("MessageToList", class_list);
                        break;

                    case 2: // message to course
                        String ss2 = null;

                        if (message_to != null)
                        {
                            ss2 = "select a.CourseId CourseId, a.CourseName CourseName " +
                                    "from t_course a " +
                                    "where " +
                                    "a.CourseId = " + message_to;

                        } else
                        {
                            ss2 = "select a.CourseId CourseId, a.CourseName CourseName " +
                                    "from t_course a " +
                                    "where " +
                                    "a.CourseState = 2 ";

                        }
                        Object[] objs2 = UserSQLExecuter.executeQuery(ss2);

                        ArrayList course_list = new ArrayList();
                        for (int i = 0; i < objs2.length; i++)
                        {
                            Hashtable this_course = (Hashtable) objs2[i];
                            course_list.add(new LabelValueBean((String) this_course.get("CourseName"), this_course.get("CourseId").toString()));
                        }
                        session.setAttribute("MessageToList", course_list);
                        break;

                    case 1:
                        String ss1 = null;
                        if (message_to != null)
                        {
                            ss1 = "select a.SchoolId SchoolId, a.SchoolName SchoolName " +
                                    "from t_school a " +
                                    "where " +
                                    "a.SchoolId = '" + message_to + "'";

                        } else
                        {
                            ss1 = "select a.SchoolId SchoolId, a.SchoolName SchoolName " +
                                    "from t_school a " +
                                    "where " +
                                    "a.State = 1 ";
                        }

                        Object[] objs1 = UserSQLExecuter.executeQuery(ss1);

                        ArrayList school_list = new ArrayList();
                        for (int i = 0; i < objs1.length; i++)
                        {
                            Hashtable this_school = (Hashtable) objs1[i];
                            school_list.add(new LabelValueBean((String) this_school.get("SchoolName"), this_school.get("SchoolId").toString()));
                        }
                        session.setAttribute("MessageToList", school_list);
                        break;
                }
            }

        } catch (Exception e)
        {
            e.printStackTrace();
            throw e;
        }


        String direct = httpServletRequest.getParameter("Direction");
        if (direct == null)
        {
            direct = "back";
        }
        session.setAttribute("Direction", direct);
        return actionMapping.findForward("success");

    }
}

⌨️ 快捷键说明

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