限时优先级公告

master
zhangshanxue 2019-10-09 19:55:23 +08:00
parent 69abb67c93
commit bf8b754487
4 changed files with 182 additions and 7 deletions

View File

@ -1,6 +1,7 @@
package com.ljsd.controller;
import com.google.gson.Gson;
import com.ljsd.pojo.NoticeInfo;
import com.ljsd.pojo.ResMsg;
import com.ljsd.util.BaseGlobal;
import com.ljsd.util.MD5Util;
@ -13,9 +14,12 @@ import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.HashMap;
import java.util.Map;
import java.util.*;
/**
*
*/
public class GetNoticeController extends HttpServlet {
private static Gson gson = new Gson();
@ -39,16 +43,86 @@ public class GetNoticeController extends HttpServlet {
out.print(gson.toJson(resMsg));
return;
}
List<DBObject> notices = BaseGlobal.getInstance().mongoDBPool.findAll("notice_info");
NoticeInfo send = new NoticeInfo();
DBObject notice = BaseGlobal.getInstance().mongoDBPool.findOne("notice_info", "1");
if(notice!=null){
Object content = notice.get("content");
Object title = notice.get("title");
send.setContent(content.toString());
send.setTitle(title.toString());
}
Comparator<NoticeInfo> comparator = (o1, o2) -> {
if (o1.getStartTime() > o2.getStartTime()) {
return -1;
} else if (o1.getStartTime()==o2.getStartTime()) {
return 0;
} else {
return 1;
}
};
TreeSet<NoticeInfo> normalList = new TreeSet<>(comparator);
TreeSet<NoticeInfo> highList = new TreeSet<>(comparator);
Set<String> remove = new HashSet<>();
long localtime = System.currentTimeMillis() / 1000;
for (DBObject dbObject:notices) {
String id = dbObject.get("_id").toString();
if(id.equals("1"))
continue;
try {
NoticeInfo noticeInfo = new NoticeInfo();
noticeInfo.set_id(id);
Object content = dbObject.get("content");
Object title = dbObject.get("title");
Object start_time = dbObject.get("start_time");
Object end_time = dbObject.get("end_time");
noticeInfo.setContent(content.toString());
noticeInfo.setTitle(title.toString());
long start = (long)start_time/1000;
long end = (long)end_time/1000;
if (start > localtime) {
continue;
}
//移除当前时间以前的
if (end < localtime) {
remove.add(id);
continue;
}
int leve = (int)dbObject.get("leve");
if(leve==1)
normalList.add(noticeInfo);
else if(leve==2){
highList.add(noticeInfo);
}
}catch (Exception e){
e.printStackTrace();
}
}
if(highList.size()!=0){
send = highList.last();
}else {
if(normalList.size()!=0){
send = normalList.last();
}
}
resMsg.setCode(0);
resMsg.setCode(0);
resMsg.setMsg("");
if(notice!=null){
if(send!=null){
Map<String,String> parms = new HashMap<>();
Object content = notice.get("content");
Object title = notice.get("title");
parms.put("title",title.toString());
parms.put("content",content.toString());
parms.put("title",send.getTitle());
parms.put("content",send.getContent());
resMsg.setParms(parms);
}
out.print(gson.toJson(resMsg));
@ -56,4 +130,7 @@ public class GetNoticeController extends HttpServlet {
e.printStackTrace();
}
}
}

View File

@ -59,6 +59,10 @@ public class GetUserController extends HttpServlet {
return;
}
String admin = request.getParameter("admin"); //平台类型
String gid = request.getParameter("gid"); //gid
String pid = request.getParameter("pid"); //pid
/*if (StringUtils.checkIsEmpty(admin)) {
response.sendError(400, "platform is empety");
return;
@ -86,6 +90,14 @@ public class GetUserController extends HttpServlet {
dbObject.put("openId", openId);
dbObject.put("serverId", serverId);
dbObject.put("platform", platform);
if (gid != null && !gid.isEmpty()) {
dbObject.put("gid", gid);
}
if (pid != null && !pid.isEmpty()) {
dbObject.put("pid", pid);
}
int uid = 0;
List<DBObject> userInfos = BaseGlobal.getInstance().mongoDBPool.find(_COLLECTION_NAME, dbObject);

View File

@ -0,0 +1,74 @@
package com.ljsd.pojo;
import com.mongodb.DBObject;
import org.bson.BSONObject;
import java.util.Map;
import java.util.Set;
/**
*
* @author Administrator
* @date 2015/8/13
*/
public class NoticeInfo {
private String _id;
private String content;
private String title;
private int leve;
private long startTime;
private long endTime;
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String get_id() {
return _id;
}
public void set_id(String _id) {
this._id = _id;
}
public int getLeve() {
return leve;
}
public void setLeve(int leve) {
this.leve = leve;
}
public long getStartTime() {
return startTime;
}
public void setStartTime(long startTime) {
this.startTime = startTime;
}
public long getEndTime() {
return endTime;
}
public void setEndTime(long endTime) {
this.endTime = endTime;
}
}

View File

@ -41,6 +41,18 @@ public class MyMongoDBPool {
}
public List<DBObject> findAll(String collectionName) throws Exception {
DBCollection coll = db.getCollection(collectionName);
DBCursor cursor = coll.find();
List<DBObject> docs = new ArrayList<>();
while (cursor.hasNext()) {
DBObject doc = cursor.next();
docs.add(doc);
}
return docs;
}
public DBObject findOne(String collectionName, String id) throws Exception {
return findOne2(collectionName, id);
}