package com.shys.iiot.rzp.equipment.config;
import com.alibaba.fastjson.JSONObject;
import com.shys.iiot.rzp.equipment.fixRepairOrder.service.FixRepairOrderService;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpEntity;
import org.springframework.http.HttpHeaders;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import org.springframework.web.client.RestTemplate;
import java.util.Map;
/**
* @author shihy
* @date 2021/1/28 12:02
* @description
*/
@Component
public class ScheduleJob {
@Autowired
private FixRepairOrderService fixRepairOrderService;
@Autowired
private RestTemplate restTemplate;
private static org.slf4j.Logger logger = LoggerFactory.getLogger(ScheduleJob.class);
/**
*
* @param userId
* @param userName
* @param title
* @param msg
* @param toUsers
* @param extData
* @return 返回http請求實體
*/
public HttpEntity<String> getRequestEntity(String userId, String userName, String title, String msg, String toUsers, Map<String,String> extData){
JSONObject fromUser = new JSONObject();
fromUser.put("userId", userId);
fromUser.put("userName", userName);
JSONObject sendInfo = new JSONObject();
sendInfo.put("title", title);
sendInfo.put("fromUser", fromUser);
sendInfo.put("msg", msg);
sendInfo.put("toUsers", toUsers);
sendInfo.put("extData", extData);
HttpHeaders headers = new HttpHeaders();
String jsonString = sendInfo.toJSONString();
headers.add("Accept", "*/*");
headers.add("Accpet-Encoding", "gzip");
headers.add("Content-Encoding", "UTF-8");
headers.add("Content-Type", "application/json");
headers.add("Content-Length", String.valueOf(jsonString.getBytes().length));
HttpEntity<String> requestEntity = new HttpEntity<String>(jsonString, headers);
return requestEntity;
}
/**
* 推送報修單
* 2分鐘推送一次
*/
@Scheduled(fixedDelay = 120000)
public void sendRepairReportInfo() {
try {
if (IpAddress.getLocalHostLANAddress().toString().contains("10.1.6.24")) {
logger.info("推送報修單");
Map<String, String> extData = fixRepairOrderService.getSendRepairInfo();
HttpEntity<String> requestEntity = this.getRequestEntity("1", "admin", "設(shè)備報修單", "設(shè)備報修單", "4", extData);
String jsonReturnInfo = restTemplate.postForObject("http://10.1.6.24:9533/appPush", requestEntity, String.class);
logger.info(jsonReturnInfo);
}
}catch (Exception e){
e.printStackTrace();
logger.error("推送失敗",e);
}
}
}
springTask定時任務(wù)遠(yuǎn)程發(fā)送消息
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
相關(guān)閱讀更多精彩內(nèi)容
- 首先配置QQ郵箱->設(shè)置->賬戶->開啟服務(wù)POP3/SMTP開啟->獲取授權(quán)碼 添加pom依賴 配置applic...
- 一、 首先配置QQ郵箱->設(shè)置->賬戶->開啟服務(wù)POP3/SMTP開啟->獲取授權(quán)碼qqyouxiang.png...
- 1.artisan命令: php artisan make:command SendRejectEmail 2.a...
- 關(guān)于laravel發(fā)送郵件,請先參考我的另一片文章:laravel sendcloud發(fā)送郵件,再繼續(xù)往下看。 1...
- 定時任務(wù)實現(xiàn)的幾種方式: 1.Timer是java自帶的java.util.Timer類,這個類允許你調(diào)度2.Sc...