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.BalanceDataEvent;
import com.zt.plat.module.qms.iot.tcpserver.pojo.BalanceData;

import java.util.Date;
import java.util.HashMap;
import java.util.Map;

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

    /**
     * 发布事件
     * @param deviceId 设备id
     * @param tenantId 租户id
     * @param weight 重量
     * @param weightUnit 重量单位
     */
    public static void publishEvent(Long deviceId, String tenantId, String weight, String weightUnit) {
        BalanceData balanceData = new BalanceData();
        balanceData.setDevid(deviceId);
        balanceData.setTenantId(tenantId);
        balanceData.setTstamp(new Date());
        balanceData.setWeight(weight);
        balanceData.setWeightUnit(weightUnit);
        Map<String, Object> event = new HashMap<>(16);
        event.put(EventConstant.EVENT_BALANCE, balanceData);
        SpringUtil.publishEvent(new BalanceDataEvent(event));
    }
}
