diff --git a/pom.xml b/pom.xml
index 4479e3e..7f406a1 100644
--- a/pom.xml
+++ b/pom.xml
@@ -11,7 +11,7 @@
com.cm
system-inspection
- 1.0.1-SNAPSHOT
+ 2.0.0-SNAPSHOT
system-inspection
隐患排查系统
diff --git a/src/main/java/com/cm/inspection/runnable/taskcheck/v2/TaskCheckSaveRunnable.java b/src/main/java/com/cm/inspection/runnable/taskcheck/v2/TaskCheckSaveRunnable.java
index 986ed0c..aa3d2cf 100644
--- a/src/main/java/com/cm/inspection/runnable/taskcheck/v2/TaskCheckSaveRunnable.java
+++ b/src/main/java/com/cm/inspection/runnable/taskcheck/v2/TaskCheckSaveRunnable.java
@@ -1,6 +1,9 @@
package com.cm.inspection.runnable.taskcheck.v2;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
import com.cm.common.exception.SaveException;
+import com.cm.common.plugin.oauth.token.ClientTokenManager;
import com.cm.common.utils.DateUtil;
import com.cm.common.utils.HashMapUtil;
import com.cm.common.utils.UUIDUtil;
@@ -20,10 +23,14 @@ import com.cm.inspection.service.industrycheckitem.v2.IIndustryCheckItemService;
import com.cm.inspection.service.taskcheck.v2.ITaskCheckService;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
+import org.springframework.http.*;
+import org.springframework.http.client.SimpleClientHttpRequestFactory;
import org.springframework.jdbc.datasource.DataSourceTransactionManager;
import org.springframework.transaction.TransactionDefinition;
import org.springframework.transaction.TransactionStatus;
import org.springframework.transaction.support.DefaultTransactionDefinition;
+import org.springframework.web.client.HttpClientErrorException;
+import org.springframework.web.client.RestTemplate;
import java.util.*;
@@ -51,6 +58,7 @@ public class TaskCheckSaveRunnable implements Runnable {
private String modifier;
private String taskId;
private TaskCheckVO taskCheckVO;
+ private String noticeUrl;
public TaskCheckSaveRunnable(String modifier, String taskId, TaskCheckVO taskCheckVO) {
this.modifier = modifier;
@@ -360,6 +368,46 @@ public class TaskCheckSaveRunnable implements Runnable {
}
publishMsg.append("\n任务通知人数: " + checkUserIdSet.size());
log.debug("任务通知人数:{}", checkUserIdSet.size());
+
+ if (StringUtils.isBlank(noticeUrl)) {
+ log.debug("推送设置为空");
+ return;
+ }
+
+ JSONObject noticeJSONObject = new JSONObject();
+ JSONArray noticeJSONArray = new JSONArray();
+ JSONObject notice = new JSONObject();
+ notice.put("userIds", checkUserIdSet);
+ notice.put("title", "任务通知");
+ notice.put("msg", "您有新的任务待处理,请点击查看");
+ notice.put("target", "GO_TASK");
+ noticeJSONArray.add(notice);
+ noticeJSONObject.put("noticies", noticeJSONArray);
+
+ // 推送消息
+ SimpleClientHttpRequestFactory simpleClientHttpRequestFactory = new SimpleClientHttpRequestFactory();
+ simpleClientHttpRequestFactory.setConnectTimeout(20 * 1000);
+ simpleClientHttpRequestFactory.setReadTimeout(60 * 1000);
+ RestTemplate restTemplate = new RestTemplate(simpleClientHttpRequestFactory);
+
+ HttpHeaders httpHeaders = new HttpHeaders();
+ httpHeaders.setContentType(MediaType.APPLICATION_JSON_UTF8);
+ HttpEntity httpEntity = new HttpEntity<>(noticeJSONObject, httpHeaders);
+
+ try {
+ ResponseEntity responseEntity = restTemplate.postForEntity(noticeUrl + "/resource/message/noticewithtarget?access_token={access_token}", httpEntity, String.class, ClientTokenManager.getInstance().getClientToken().getAccessToken());
+ String responseBody = responseEntity.getBody();
+ if (HttpStatus.OK.value() == responseEntity.getStatusCodeValue()) {
+ log.debug("推送成功");
+ }
+ } catch (HttpClientErrorException e) {
+ if (e.getRawStatusCode() == HttpStatus.BAD_REQUEST.value()) {
+ log.error(e.getMessage(), e);
+ return;
+ }
+ log.error(e.getMessage(), e);
+ }
+
}
public void setTaskCheckDao(ITaskCheckDao taskCheckDao) {
@@ -385,4 +433,8 @@ public class TaskCheckSaveRunnable implements Runnable {
public void setGridPersonnelService(IGridPersonnelService gridPersonnelService) {
this.gridPersonnelService = gridPersonnelService;
}
+
+ public void setNoticeUrl(String noticeUrl) {
+ this.noticeUrl = noticeUrl;
+ }
}
diff --git a/src/main/java/com/cm/inspection/service/taskcheck/v2/impl/TaskCheckServiceImpl.java b/src/main/java/com/cm/inspection/service/taskcheck/v2/impl/TaskCheckServiceImpl.java
index cbb359f..6f41151 100644
--- a/src/main/java/com/cm/inspection/service/taskcheck/v2/impl/TaskCheckServiceImpl.java
+++ b/src/main/java/com/cm/inspection/service/taskcheck/v2/impl/TaskCheckServiceImpl.java
@@ -35,6 +35,7 @@ import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.google.common.util.concurrent.ThreadFactoryBuilder;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
import org.springframework.jdbc.datasource.DataSourceTransactionManager;
import org.springframework.stereotype.Service;
@@ -83,6 +84,8 @@ public class TaskCheckServiceImpl extends BaseService implements ITaskCheckServi
private DataSourceTransactionManager dataSourceTransactionManager;
@Autowired
private IUserService userService;
+ @Value("${notice-url}")
+ private String noticeUrl;
@Override
public SuccessResult save(TaskCheckVO taskCheckVO) throws Exception {
@@ -105,6 +108,7 @@ public class TaskCheckServiceImpl extends BaseService implements ITaskCheckServi
taskCheckSaveRunnable.setIndustryCheckItemService(industryCheckItemService);
taskCheckSaveRunnable.setGridPersonnelService(gridPersonnelService);
taskCheckSaveRunnable.setEnterpriseOfGridOperatorService(enterpriseOfGridOperatorService);
+ taskCheckSaveRunnable.setNoticeUrl(noticeUrl);
executorService.execute(taskCheckSaveRunnable);
return new SuccessResult();
}