Newer
Older
gas_receiver_zq / src / main / java / com / casic / util / SendUtil.java
casic_zt on 31 Aug 2023 2 KB 增加燃气报警短信推送功能
package com.casic.util;

import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.casic.entity.Device;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;

import java.util.Date;

@Slf4j
@Component
public class SendUtil {
    @Value("${casic.synchronizeSms.enabled}")
    private String enabled;
    @Value("${casic.smsSenderURL}")
    private String smsSenderUrl;
    @Value("${casic.X-APP-KEY-SMS}")
    private String smsAppKey;

    public void sendEventBySms(Device device, JSONObject eventObj) {
        if ("true".equals(enabled)) {
//            String smsSenderUrl = Configure.getProperty("smsSenderURL", "http://general.bushub.rj.prd/sms/user/send");
//            String smsAppKey = Configure.getProperty("X-APP-KEY-SMS", "2d3a8e35-0533-42a0-97a2-63f82a3216f9");
            String sim = device.getSimid();
            if (null == sim || StringUtils.isBlank(sim)) {
                return;
            }

            if (null == smsAppKey || StringUtils.isBlank(smsAppKey)) {
                return;
            }

            JSONObject header = new JSONObject();
            header.put("X-APP-KEY", smsAppKey);

            StringBuilder params = new StringBuilder();
            params.append("{");
            params.append("\"mobile\":");
            params.append("\"").append(sim).append("\"").append(",");

            String prefix = "【智慧蓉江】";
            String eventTm = DateUtils.sdf4.format(new Date());
            String devName = device.getDevName();
            String place = device.getFactory();

            StringBuilder content = new StringBuilder("");
            content.append(prefix);
            content.append(eventTm).append(",");
            content.append("管网监测设备[").append(devName).append("],");
            content.append("发生").append(eventObj.getString("type")).append(",");
            if (eventObj.containsKey("value") == true) {
                content.append(eventObj.getString("value")).append(",");
            }
            content.append("详细地址是:").append(place).append(",");
            content.append("请关注并及时处理。");

            params.append("\"content\":");
            params.append("\"").append(content.toString()).append("\"");
            params.append("}");

            String resp = HttpClientUtils.post(smsSenderUrl, params.toString(), header);
            log.info("已发送短信"+resp);
        }
    }
}