📄 messagehelper.java
字号:
package com.whatratimes.webedu.message;
import com.whatratimes.dbms.UserSQLExecuter;
import com.whatratimes.tables.t_user;
import javax.servlet.http.HttpSession;
import java.text.SimpleDateFormat;
import java.util.*;
/**
* User: Tao
* Date: Jul 15, 2003
X-Virus: 6
* Time: 7:05:09 AM
*/
public class MessageHelper
{
public static final SimpleDateFormat SDF = new SimpleDateFormat("MM-dd HH:mm:ss");
public static int getNumberOfNewMessage(HttpSession session) throws Exception
{
t_user user = (t_user) session.getAttribute("User");
Object[] objs = UserSQLExecuter.executeQuery("Select MessageId from t_messages where MessageType =4 AND IsNew='Y' AND MessageTo = " + user.UserId);
return objs.length;
}
public static void setMessages(HttpSession session)
{
t_user user = (t_user) session.getAttribute("User");
Object[] objs1 = null;
Object[] objs2 = null;
Object[] objs3 = null;
Object[] objs4 = null;
objs4 = UserSQLExecuter.executeQuery(
"select a.UserId SenderId, a.UserName Sender, b.MessageId MessageId, b.MessageType MessageType, c.UserName MessageTo, b.MessageTime MessageTime, b.Topic Topic, b.IsNew IsNew " +
"from t_user a, t_messages b, t_user c " +
"where a.UserId = b.UserId AND b.MessageType = 4 AND c.UserId=b.MessageTo AND b.MessageTo = " + user.UserId
);
if (user.UserType == 5)
{
objs1 = UserSQLExecuter.executeQuery(
"select a.UserId SenderId, a.UserName Sender, b.MessageId MessageId, c.SchoolName MessageTo, b.MessageType MessageType, b.MessageTime MessageTime, b.Topic Topic, b.IsNew IsNew " +
"from t_user a, t_messages b, t_school c " +
"where " +
"a.UserId = b.UserId AND " +
"b.SchoolId = c.SchoolId AND " +
"b.MessageType=1"
);
objs2 = UserSQLExecuter.executeQuery(
"select a.UserId SenderId, a.UserName Sender, b.MessageId MessageId, c.CourseName MessageTo, b.MessageType MessageType, b.MessageTime MessageTime, b.Topic Topic, b.IsNew IsNew " +
"from t_user a, t_messages b, t_course c " +
"where " +
"a.UserId = b.UserId AND " +
"b.MessageTo = c.CourseId AND " +
"b.MessageType=2"
);
objs3 = UserSQLExecuter.executeQuery(
"select a.UserId SenderId, a.UserName Sender, b.MessageId MessageId, c.ClassName MessageTo, b.MessageType MessageType, b.MessageTime MessageTime, b.Topic Topic, b.IsNew IsNew " +
"from t_user a, t_messages b, t_class c " +
"where " +
"a.UserId = b.UserId AND " +
"b.MessageTo = c.ClassId AND " +
"b.MessageType=3"
);
} else
{
objs1 = UserSQLExecuter.executeQuery(
"select a.UserId SenderId, a.UserName Sender, b.MessageId MessageId, c.SchoolName MessageTo, b.MessageType MessageType, b.MessageTime MessageTime, b.Topic Topic, b.IsNew IsNew " +
"from t_user a, t_messages b, t_school c " +
"where " +
"a.UserId = b.UserId AND " +
"b.MessageType = 1 AND " +
"b.SchoolId = c.SchoolId AND " +
"b.SchoolId = '" + user.SchoolId + "'"
);
switch (user.UserType)
{
case 3:
case 4:
objs2 = UserSQLExecuter.executeQuery(
"select a.UserId SenderId, a.UserName Sender, b.MessageId MessageId, c.CourseName MessageTo, b.MessageType MessageType, b.MessageTime MessageTime, b.Topic Topic, b.IsNew IsNew " +
"from " +
"t_user a, " +
"t_messages b, " +
"t_course c " +
"where " +
"a.UserId = b.UserId AND " +
"b.MessageTo = c.CourseId AND " +
"b.MessageType = 2 AND " +
"c.CourseState = 2"
);
break;
case 2:
objs2 = UserSQLExecuter.executeQuery(
"select distinct " +
"a.UserId SenderId, " +
"a.UserName Sender, " +
"b.MessageId MessageId, " +
"f.CourseName MessageTo, " +
"b.MessageType MessageType, " +
"b.MessageTime MessageTime, " +
"b.Topic Topic, " +
"b.IsNew IsNew " +
"from " +
"t_user a, " +
"t_messages b, " +
"t_class_course c, " +
"t_course f " +
"where " +
"a.UserId = b.UserId AND " +
"b.MessageType = 2 AND " +
"c.State = 1 AND f.CourseState=2 AND " +
"b.MessageTo = c.CourseId AND " +
"f.CourseId = c.CourseId AND " +
"c.TeacherId = " + user.UserId
);
break;
default:
objs2 = UserSQLExecuter.executeQuery(
"select a.UserId SenderId, a.UserName Sender, b.MessageId MessageId, f.CourseName MessageTo, b.MessageType MessageType, b.MessageTime MessageTime, b.Topic Topic, b.IsNew IsNew " +
"from " +
"t_user a, " +
"t_messages b, " +
"t_class_course c, " +
"t_class d, " +
"t_course f, " +
"t_student e " +
"where " +
"a.UserId = b.UserId AND " +
"b.MessageType = 2 AND " +
"c.State = 1 AND d.State=1 AND " +
"b.MessageTo = c.CourseId AND " +
"f.CourseId = c.CourseId AND " +
"d.ClassId = c.ClassId AND " +
"e.ClassId = d.ClassId AND " +
"e.UserId = " + user.UserId
);
}
switch (user.UserType)
{
case 2:
objs3 = UserSQLExecuter.executeQuery(
"select DISTINCT a.UserId SenderId, a.UserName Sender, b.MessageId MessageId, d.ClassName MessageTo, b.MessageType MessageType, b.MessageTime MessageTime, b.Topic Topic, b.IsNew IsNew " +
"from " +
"t_user a, " +
"t_messages b, " +
"t_class d, " +
"t_class_course e " +
"where " +
"a.UserId = b.UserId AND " +
"b.MessageType = 3 AND " +
"d.State=1 AND " +
"e.State=1 AND " +
"b.MessageTo = d.ClassId AND " +
"e.ClassId = d.ClassId AND " +
"e.TeacherId = " + user.UserId
);
break;
case 4:
objs3 = UserSQLExecuter.executeQuery(
"select " +
"a.UserId SenderId, " +
"a.UserName Sender, " +
"b.MessageId MessageId, " +
"d.ClassName MessageTo, " +
"b.MessageType MessageType, " +
"b.MessageTime MessageTime, " +
"b.Topic Topic, " +
"b.IsNew IsNew " +
"from " +
"t_user a, " +
"t_messages b, " +
"t_class d " +
"where " +
"a.UserId = b.UserId AND " +
"b.MessageType = 3 AND " +
"d.State=1 AND " +
"b.MessageTo = d.ClassId AND " +
"d.SchoolId = '" + user.SchoolId +"'"
);
break;
default:
objs3 = UserSQLExecuter.executeQuery(
"select a.UserId SenderId, a.UserName Sender, b.MessageId MessageId, d.ClassName MessageTo, b.MessageType MessageType, b.MessageTime MessageTime, b.Topic Topic, b.IsNew IsNew " +
"from " +
"t_user a, " +
"t_messages b, " +
"t_class d, " +
"t_student e " +
"where " +
"a.UserId = b.UserId AND " +
"b.MessageType = 3 AND " +
"d.State=1 AND " +
"b.MessageTo = d.ClassId AND " +
"e.ClassId = d.ClassId AND " +
"e.UserId = " + user.UserId
);
}
}
Object[] objs = new Object[objs1.length + objs2.length + objs3.length + objs4.length];
System.arraycopy(objs1, 0, objs, 0, objs1.length);
System.arraycopy(objs2, 0, objs, objs1.length, objs2.length);
System.arraycopy(objs3, 0, objs, objs1.length + objs2.length, objs3.length);
System.arraycopy(objs4, 0, objs, objs1.length + objs2.length + objs3.length, objs4.length);
Arrays.sort(objs, new CompareMessage());
session.setAttribute("Messages", objs);
}
public static void setNotifications(HttpSession session)
{
t_user user = (t_user) session.getAttribute("User");
Object[] objs1 = UserSQLExecuter.executeQuery(
"select a.UserId SenderId, a.UserName Sender, b.MessageId MessageId, b.MessageType MessageType, b.MessageTime MessageTime, b.Topic Topic, b.IsNew IsNew " +
"from t_user a, t_messages b, t_school c " +
"where " +
"a.UserId = b.UserId AND " +
"b.MessageType = 1 AND " +
"b.SchoolId = c.SchoolId AND " +
"b.SchoolId = '" + user.SchoolId + "' "
);
Object[] objs2 = UserSQLExecuter.executeQuery(
"select a.UserId SenderId, a.UserName Sender, b.MessageId MessageId, b.MessageType MessageType, b.MessageTime MessageTime, b.Topic Topic, b.IsNew IsNew " +
"from " +
"t_user a, " +
"t_messages b, " +
"t_class_course c, " +
"t_class d, " +
"t_student e " +
"where " +
"a.UserId = b.UserId AND " +
"b.MessageType = 2 AND " +
"c.State = 1 AND d.State=1 AND " +
"b.MessageTo = c.CourseId AND " +
"d.ClassId = c.ClassId AND " +
"e.ClassId = d.ClassId AND " +
"e.UserId = " + user.UserId + " "
);
Object[] objs3 = UserSQLExecuter.executeQuery(
"select a.UserId SenderId, a.UserName Sender, b.MessageId MessageId, b.MessageType MessageType, b.MessageTime MessageTime, b.Topic Topic, b.IsNew IsNew " +
"from " +
"t_user a, " +
"t_messages b, " +
"t_class d, " +
"t_student e " +
"where " +
"a.UserId = b.UserId AND " +
"b.MessageType = 3 AND " +
"d.State=1 AND " +
"b.MessageTo = d.ClassId AND " +
"e.ClassId = d.ClassId AND " +
"e.UserId = " + user.UserId + " "
);
Object[] objs = new Object[objs1.length + objs2.length + objs3.length];
System.arraycopy(objs1, 0, objs, 0, objs1.length);
System.arraycopy(objs2, 0, objs, objs1.length, objs2.length);
System.arraycopy(objs3, 0, objs, objs1.length + objs2.length, objs3.length);
Arrays.sort(objs, new CompareMessage());
List l = Arrays.asList(objs);
Collections.reverse(l);
// l.toArray();
session.setAttribute("Notifications", l.toArray());
}
public static void setViewMessage(HttpSession session, Integer message_id)
{
Object[] objs = null;
objs = UserSQLExecuter.executeQuery(
"select a.UserId SenderId, a.UserName Sender, b.MessageId MessageId, b.MessageType, b.MessageTime MessageTime, b.Topic Topic, b.Content Content, b.IsNew IsNew " +
"from t_user a, t_messages b " +
"where a.UserId = b.UserId AND b.MessageId = " + message_id
);
if (objs.length > 0)
{
session.setAttribute("ViewMessage", objs[0]);
if (((Hashtable) objs[0]).get("IsNew").equals("Y"))
{
UserSQLExecuter.executeUpdate("update t_messages set IsNew ='N' where MessageId = " + message_id);
}
}
}
}
class CompareMessage implements Comparator
{
public int compare(Object o1, Object o2)
{
int mid1 = ((Integer) ((Hashtable) o1).get("MessageId")).intValue();
int mid2 = ((Integer) ((Hashtable) o2).get("MessageId")).intValue();
return mid1 - mid2;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -