jiazx0107@163.com
2023-05-17 620eab6cca2bc9ef9ea6d3067a0a5ba1deadbd1c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
package com.ld.igds.io.notify.impl;
 
import com.ld.igds.m.service.InoutCommonService;
import lombok.extern.slf4j.Slf4j;
 
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
 
import com.ld.igds.constant.BizType;
import com.ld.igds.inout.InoutConstant;
import com.ld.igds.io.dto.WeightDto;
import com.ld.igds.io.notify.NotifyWeightService;
import com.ld.igds.util.ContextUtil;
import com.ld.igds.websocket.WebSocketPacket;
import com.ld.igds.websocket.WebSocketServer;
 
/**
 * @author: andy.jia
 * @description:
 * @version:
 * @data:2020年3月13日
 */
@Slf4j
@Component(NotifyWeightService.BEAN_ID)
public class NotifyWeightServiceImpl implements NotifyWeightService {
 
    @Autowired
    private WebSocketServer socketServer;
    @Autowired
    private InoutCommonService inoutManagerService;
 
    @SuppressWarnings("static-access")
    @Override
    public void notify(WeightDto response) {
        
        if(null == response.getCompanyId()){
            response.setCompanyId(ContextUtil.getDefaultCompanyId());
        }
        WebSocketPacket packet = new WebSocketPacket();
        packet.setBizTag(InoutConstant.PROGRESS_WEIGHT_TAG);
        packet.setBizType(response.getBizType());
        packet.setCompanyId(response.getCompanyId());
        packet.setBizId("WEIGH");
 
        packet.setData(response);
        
        //通知入库
        packet.setBizType(BizType.INOUT_IN.getCode());
        socketServer.sendByBizTag(packet);
        
        //通知出庫
        packet.setBizType(BizType.INOUT_OUT.getCode());
        socketServer.sendByBizTag(packet);
        
        log.debug("向前端发送地磅信息={}", packet.toString());
    }
 
    @Override
    public void onCreate(String address, Integer port) {
        inoutManagerService.updateInoutConfStatus(address, port,
                InoutConstant.MAC_STATUS_NORMAL);
    }
 
    @Override
    public void onDestroy(String address, Integer port) {
        inoutManagerService.updateInoutConfStatus(address, port,
                InoutConstant.MAC_STATUS_NO_SIGNAL);
    }
 
}