diff --git a/src/main/java/com/jmfy/controller/MailController.java b/src/main/java/com/jmfy/controller/MailController.java index 5bdab69..5f6b88c 100644 --- a/src/main/java/com/jmfy/controller/MailController.java +++ b/src/main/java/com/jmfy/controller/MailController.java @@ -41,11 +41,17 @@ public class MailController { public @ResponseBody int getSendMail(HttpSession session, HttpServletRequest request) throws Exception { HashMap parameterMap = JsonUtil.getInstence().getParameterMap(request); - int serverId = Integer.parseInt(parameterMap.get("serverId")); +// int serverId = Integer.parseInt(parameterMap.get("serverId")); String[] userIds = parameterMap.get("userIds").split("#"); for (String userId : userIds) { - CUser cUser = userInfoDao.findCuserInfo(serverId, Integer.parseInt(userId)); + CUserInfo cUserInfo = userInfoDao.findUserInfoByUserId(Integer.parseInt(userId)); + if (cUserInfo == null){ + LOGGER.info("getSendMail==> uid={}, cuserInfo is null ",userId); + continue; + } + CUser cUser = userInfoDao.findCuserInfo(cUserInfo.getServerid(), Integer.parseInt(userId)); if (cUser == null) { + LOGGER.info("getSendMail==> uid={}, cUser is null ",userId); continue; } String reward = JsonUtil.getInstence().getReward(request); @@ -54,7 +60,7 @@ public class MailController { } CMail mail = getMail(parameterMap, Integer.parseInt(userId), reward); try { - mailDao.sendCMail(mail, serverId); + mailDao.sendCMail(mail, cUserInfo.getServerid()); } catch (Exception e) { LOGGER.info(e.toString()); e.printStackTrace(); diff --git a/src/main/java/com/jmfy/controller/ServerInfoController.java b/src/main/java/com/jmfy/controller/ServerInfoController.java index 4d6e682..5b40041 100644 --- a/src/main/java/com/jmfy/controller/ServerInfoController.java +++ b/src/main/java/com/jmfy/controller/ServerInfoController.java @@ -42,7 +42,8 @@ public class ServerInfoController { CServerOpenTime cServerOpenTime = RedisUtil.getInstence().getObject(RedisUserKey.SERVER_OPEN_TIME_KEY, Integer.toString(serverInfo.getServer_id()), CServerOpenTime.class, GlobalsDef.REDIS_OVER_TIME); if (cServerOpenTime !=null){ - serverInfoVo.setOpen_time(JsonUtil.timeStamp2Date(String.valueOf(cServerOpenTime.getOpenTime() * 1000))); + long time = (long) cServerOpenTime.getOpenTime() * 1000; + serverInfoVo.setOpen_time(JsonUtil.timeStamp2Date(String.valueOf(time))); }else{ serverInfoVo.setOpen_time(JsonUtil.timeStamp2Date(String.valueOf(serverInfo.getOpen_time() *1000))); } @@ -81,25 +82,33 @@ public class ServerInfoController { map.addAttribute("serverInfos", serverInfoVos); return "findServerInfo"; } - @RequestMapping(value = "/closeWhite", method = {RequestMethod.POST, RequestMethod.GET}) - public @ResponseBody int closeWhite(HttpSession session,int server_id){ + @RequestMapping(value = "/toSetOpenServerTime", method = {RequestMethod.POST, RequestMethod.GET}) + public String toSetOpenServerTime(HttpSession session, ModelMap map, int id) throws Exception { + ServerInfo serverInfo = serverInfoDao.getServerinfo(id); + map.addAttribute("serverInfo",serverInfo); + return "setOpenServerTime"; + } + @RequestMapping(value = "/setOpenServerTime", method = {RequestMethod.POST, RequestMethod.GET}) + public @ResponseBody int setOpenServerTime(HttpSession session,HttpServletRequest request){ try { - serverInfoDao.closeServerWhite(server_id); - return 1; + int serverId = Integer.parseInt(request.getParameter("serverId")); + long time = Long.parseLong(JsonUtil.date3TimeStamp(request.getParameter("openTime"))); + long zero = JsonUtil.getAppointTimeInXDay(time, 0); + int openTime = (int) (zero / 1000); + CServerOpenTime cServerOpenTime = serverInfoDao.getOpenServerTime(serverId); + if (cServerOpenTime == null){ + cServerOpenTime = new CServerOpenTime(); + cServerOpenTime.setId(serverId); + cServerOpenTime.setOpenTime(openTime); + serverInfoDao.addOpenServerTime(cServerOpenTime); + }else { + cServerOpenTime.setOpenTime(openTime); + serverInfoDao.updateOpenServerTime(cServerOpenTime); + } + return 0; } catch (Exception e) { e.printStackTrace(); - return 2; - } - } - @RequestMapping(value = "/openWhite", method = {RequestMethod.POST, RequestMethod.GET}) - public @ResponseBody int openWhite(HttpSession session, ModelMap map, int server_id){ - try { - serverInfoDao.openServerWhite(server_id); return 1; - } catch (Exception e) { - e.printStackTrace(); - return 2; } } - } diff --git a/src/main/java/com/jmfy/dao/ServerInfoDao.java b/src/main/java/com/jmfy/dao/ServerInfoDao.java index a3bfdbe..c439b20 100644 --- a/src/main/java/com/jmfy/dao/ServerInfoDao.java +++ b/src/main/java/com/jmfy/dao/ServerInfoDao.java @@ -1,6 +1,7 @@ package com.jmfy.dao; +import com.jmfy.model.CServerOpenTime; import com.jmfy.model.ServerInfo; import java.util.List; @@ -15,4 +16,11 @@ public interface ServerInfoDao { void openServerWhite(int server_id) throws Exception; void updateServerInfo(int server_id, int status,int isWhite,int isCommend) throws Exception; + + void updateOpenServerTime(CServerOpenTime cServerOpenTime) throws Exception; + + CServerOpenTime getOpenServerTime(int serverId) throws Exception; + + void addOpenServerTime(CServerOpenTime cServerOpenTime) throws Exception; + } diff --git a/src/main/java/com/jmfy/dao/impl/ServerInfoDaoImpl.java b/src/main/java/com/jmfy/dao/impl/ServerInfoDaoImpl.java index 18e4092..b51d52a 100644 --- a/src/main/java/com/jmfy/dao/impl/ServerInfoDaoImpl.java +++ b/src/main/java/com/jmfy/dao/impl/ServerInfoDaoImpl.java @@ -1,8 +1,11 @@ package com.jmfy.dao.impl; import com.jmfy.dao.ServerInfoDao; +import com.jmfy.model.CServerOpenTime; import com.jmfy.model.ServerInfo; +import com.jmfy.redisProperties.RedisUserKey; import com.jmfy.utils.Connect; +import com.jmfy.utils.RedisUtil; import org.springframework.data.mongodb.core.MongoTemplate; import org.springframework.data.mongodb.core.query.Criteria; import org.springframework.data.mongodb.core.query.Query; @@ -64,4 +67,32 @@ public class ServerInfoDaoImpl implements ServerInfoDao { mongoTemplate.updateMulti(query, update, ServerInfo.class); } + + @Override + public void updateOpenServerTime(CServerOpenTime cServerOpenTime) throws Exception { + RedisUtil.getInstence().putObject(RedisUserKey.SERVER_OPEN_TIME_KEY, Integer.toString(cServerOpenTime.getId()), cServerOpenTime,-1); + MongoTemplate mongoTemplate = connect.getMongoTemplete(dbName); + Query query = new Query(Criteria.where("server_id").is(cServerOpenTime.getId())); + Update update = new Update(); + update.set("openTime",cServerOpenTime.getOpenTime()); + mongoTemplate.updateMulti(query, update, ServerInfo.class); + } + + @Override + public CServerOpenTime getOpenServerTime(int serverId) throws Exception { + CServerOpenTime cServerOpenTime = RedisUtil.getInstence().getObject(RedisUserKey.SERVER_OPEN_TIME_KEY, Integer.toString(serverId), + CServerOpenTime.class, -1); + if (cServerOpenTime == null) { + MongoTemplate mongoTemplate = connect.getMongoTemplete(dbName); + cServerOpenTime = mongoTemplate.findById(serverId, CServerOpenTime.class); + } + return cServerOpenTime; + } + + @Override + public void addOpenServerTime(CServerOpenTime cServerOpenTime) throws Exception { + RedisUtil.getInstence().putObject(RedisUserKey.SERVER_OPEN_TIME_KEY, Integer.toString(cServerOpenTime.getId()), cServerOpenTime,-1); + MongoTemplate mongoTemplate = connect.getMongoTemplete(dbName); + mongoTemplate.insert(cServerOpenTime); + } } diff --git a/src/main/java/com/jmfy/utils/JsonUtil.java b/src/main/java/com/jmfy/utils/JsonUtil.java index b938492..71586a9 100644 --- a/src/main/java/com/jmfy/utils/JsonUtil.java +++ b/src/main/java/com/jmfy/utils/JsonUtil.java @@ -122,4 +122,14 @@ public class JsonUtil { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); return sdf.format(new Date(Long.valueOf(seconds))); } + // + public static long getAppointTimeInXDay(long date, int hour) { + Calendar calendar = Calendar.getInstance(); + calendar.setTimeInMillis(date); + calendar.set(Calendar.HOUR_OF_DAY, hour); + calendar.set(Calendar.MINUTE, 0); + calendar.set(Calendar.SECOND, 0); + calendar.set(Calendar.MILLISECOND, 0); + return calendar.getTimeInMillis(); + } } diff --git a/src/main/resources/static/html/sendMail.html b/src/main/resources/static/html/sendMail.html index 019a368..ba6119c 100644 --- a/src/main/resources/static/html/sendMail.html +++ b/src/main/resources/static/html/sendMail.html @@ -41,15 +41,15 @@ 发送邮件
-
- -
- - -
-
+ + + + + + + + +