java110 лет назад: 5
Родитель
Сommit
821f427d67

+ 3 - 0
java110-interface/src/main/java/com/java110/intf/community/INoticeInnerServiceSMO.java

@@ -39,4 +39,7 @@ public interface INoticeInnerServiceSMO {
      */
     @RequestMapping(value = "/queryNoticesCount", method = RequestMethod.POST)
     int queryNoticesCount(@RequestBody NoticeDto noticeDto);
+
+    @RequestMapping(value = "/updateNotice", method = RequestMethod.POST)
+    int updateNotice(@RequestBody NoticeDto noticeDto);
 }

+ 15 - 7
service-community/src/main/java/com/java110/community/smo/impl/NoticeInnerServiceSMOImpl.java

@@ -1,14 +1,14 @@
 package com.java110.community.smo.impl;
 
 
-import com.java110.utils.util.BeanConvertUtil;
 import com.java110.community.dao.INoticeServiceDao;
 import com.java110.core.base.smo.BaseServiceSMO;
-import com.java110.intf.community.INoticeInnerServiceSMO;
-import com.java110.intf.user.IUserInnerServiceSMO;
 import com.java110.dto.PageDto;
-import com.java110.dto.user.UserDto;
 import com.java110.dto.notice.NoticeDto;
+import com.java110.dto.user.UserDto;
+import com.java110.intf.community.INoticeInnerServiceSMO;
+import com.java110.intf.user.IUserInnerServiceSMO;
+import com.java110.utils.util.BeanConvertUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RestController;
@@ -34,7 +34,7 @@ public class NoticeInnerServiceSMOImpl extends BaseServiceSMO implements INotice
     private IUserInnerServiceSMO userInnerServiceSMOImpl;
 
     @Override
-    public List<NoticeDto> queryNotices(@RequestBody  NoticeDto noticeDto) {
+    public List<NoticeDto> queryNotices(@RequestBody NoticeDto noticeDto) {
 
         //校验是否传了 分页信息
 
@@ -64,7 +64,7 @@ public class NoticeInnerServiceSMOImpl extends BaseServiceSMO implements INotice
      * 从用户列表中查询用户,将用户中的信息 刷新到 floor对象中
      *
      * @param notice 小区通知信息
-     * @param users 用户列表
+     * @param users  用户列表
      */
     private void refreshNotice(NoticeDto notice, List<UserDto> users) {
         for (UserDto user : users) {
@@ -91,7 +91,15 @@ public class NoticeInnerServiceSMOImpl extends BaseServiceSMO implements INotice
 
     @Override
     public int queryNoticesCount(@RequestBody NoticeDto noticeDto) {
-        return noticeServiceDaoImpl.queryNoticesCount(BeanConvertUtil.beanCovertMap(noticeDto));    }
+        return noticeServiceDaoImpl.queryNoticesCount(BeanConvertUtil.beanCovertMap(noticeDto));
+    }
+
+    @Override
+    public int updateNotice(@RequestBody NoticeDto noticeDto) {
+        int flag = 1;
+        noticeServiceDaoImpl.updateNoticeInfoInstance(BeanConvertUtil.beanCovertMap(noticeDto));
+        return flag;
+    }
 
     public INoticeServiceDao getNoticeServiceDaoImpl() {
         return noticeServiceDaoImpl;

+ 20 - 2
service-job/src/main/java/com/java110/job/task/wechat/WeChatPushMessageTemplate.java

@@ -21,6 +21,7 @@ import com.java110.intf.user.IOwnerAppUserInnerServiceSMO;
 import com.java110.intf.user.IOwnerRoomRelInnerServiceSMO;
 import com.java110.job.quartz.TaskSystemQuartz;
 import com.java110.utils.cache.MappingCache;
+import com.java110.utils.util.DateUtil;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -28,6 +29,7 @@ import org.springframework.http.ResponseEntity;
 import org.springframework.stereotype.Component;
 import org.springframework.web.client.RestTemplate;
 
+import java.util.Date;
 import java.util.List;
 
 /**
@@ -132,12 +134,23 @@ public class WeChatPushMessageTemplate extends TaskSystemQuartz {
         }
 
         for (NoticeDto tmpNotice : noticeDtos) {
-            doSentWechat(tmpNotice, templateId, accessToken);
+            try {
+                doSentWechat(tmpNotice, templateId, accessToken);
+            } catch (Exception e) {
+                logger.error("通知异常", e);
+            }
         }
 
     }
 
-    private void doSentWechat(NoticeDto noticeDto, String templateId, String accessToken) {
+    private void doSentWechat(NoticeDto noticeDto, String templateId, String accessToken) throws Exception {
+
+        Date startTime = DateUtil.getDateFromString(noticeDto.getStartTime(), DateUtil.DATE_FORMATE_STRING_A);
+        Date nowTime = DateUtil.getCurrentDate();
+        if (startTime.getTime() > nowTime.getTime()) { //还没有到时间
+            return;
+        }
+
 
         String objType = noticeDto.getObjType();
 
@@ -156,6 +169,11 @@ public class WeChatPushMessageTemplate extends TaskSystemQuartz {
                 break;
         }
 
+        NoticeDto tmpNoticeDto = new NoticeDto();
+        tmpNoticeDto.setNoticeId(noticeDto.getNoticeId());
+        tmpNoticeDto.setState(NoticeDto.STATE_FINISH);
+        noticeInnerServiceSMOImpl.updateNotice(tmpNoticeDto);
+
     }
 
     private void sendFloorOwner(NoticeDto noticeDto, String templateId, String accessToken) {