springTask定時任務(wù)遠(yuǎn)程發(fā)送消息

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);
        }
    }
}

?著作權(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ù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容