package com.zt.plat.module.qms.iot.tcpserver.publisher;

import cn.hutool.extra.spring.SpringUtil;
import com.zt.plat.module.qms.iot.tcpserver.core.EventConstant;
import com.zt.plat.module.qms.iot.tcpserver.event.IotDeviceRegisterEvent;
import com.zt.plat.module.qms.resource.device.dal.dataobject.DeviceInfomationDO;

import java.math.BigInteger;
import java.util.HashMap;
import java.util.Map;

/**
 * <b>IotDeviceRegisterPublisher</b>
 * <p>更新历史：</p>
 * <pre> 版本         更新时间            更新者        更新内容
 * V1.0      2021-10-17          王兴荣         Add</pre>
 * <b>Copyright (C)  云南志者竟成科技有限公司</b> 
 * @author 王兴荣 &lt;xingrong_wang@will-way.cn&gt;
 * @version V1.0 
 * @since 2021-10-17
 */
public class IotDeviceRegisterPublisher {

    public static void publishEvent(String deviceCode, String deviceType) {
        DeviceInfomationDO deviceInfo = new DeviceInfomationDO();
        deviceInfo.setId(new BigInteger(deviceCode, Character.MAX_RADIX).longValue());
        deviceInfo.setCollectDeviceType(deviceType);
        Map<String, Object> event = new HashMap<>(16);
        event.put(EventConstant.EVENT_IOT_DEVICE_REGISTER, deviceInfo);
        SpringUtil.publishEvent(new IotDeviceRegisterEvent(event));
    }
}
