zhang
9 天以前 5a10e832b6b63a10ff7479789577a4100a440d5b
zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/ChargeService.java
@@ -1,9 +1,7 @@
package com.zy.acs.manager.core.service;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.github.xingshuangs.iot.protocol.modbus.service.ModbusRtuOverTcp;
import com.github.xingshuangs.iot.protocol.modbus.service.ModbusTcp;
import com.github.xingshuangs.iot.utils.HexUtil;
import com.ghgande.j2mod.modbus.facade.ModbusTCPMaster;
import com.zy.acs.framework.common.Cools;
import com.zy.acs.manager.manager.entity.FuncSta;
import com.zy.acs.manager.manager.enums.FuncStaType;
@@ -26,7 +24,7 @@
    @Autowired
    private FuncStaService funcStaService;
    private final Map<String, ModbusRtuOverTcp> CHARGE_CACHE = new ConcurrentHashMap<>();
    private final Map<String, ModbusTCPMaster> CHARGE_CACHE = new ConcurrentHashMap<>();
    @PostConstruct
@@ -43,8 +41,7 @@
    public void add(FuncSta funcSta) {
        ModbusRtuOverTcp modbusTcp = new ModbusRtuOverTcp(funcSta.getIp(), funcSta.getPort());
        modbusTcp.setComCallback((tag, bytes) -> log.info("%s[%d] %s%n", tag, bytes.length, HexUtil.toHexString(bytes)));
        ModbusTCPMaster modbusTcp = new ModbusTCPMaster(funcSta.getIp(), funcSta.getPort(), true);
        CHARGE_CACHE.put(funcSta.getUuid(), modbusTcp);
    }
@@ -52,14 +49,13 @@
        CHARGE_CACHE.remove(chargePointId);
    }
    public ModbusRtuOverTcp get(String chargePointId) {
        ModbusRtuOverTcp modbusTcp = CHARGE_CACHE.get(chargePointId);
    public ModbusTCPMaster get(String chargePointId) {
        ModbusTCPMaster modbusTcp = CHARGE_CACHE.get(chargePointId);
        if (modbusTcp != null) {
            return modbusTcp;
        }
        FuncSta funcSta = funcStaService.getOne(new LambdaQueryWrapper<FuncSta>().eq(FuncSta::getUuid, chargePointId));
        modbusTcp = new ModbusRtuOverTcp(funcSta.getIp(), funcSta.getPort());
        modbusTcp.setComCallback((tag, bytes) -> log.info("%s[%d] %s%n", tag, bytes.length, HexUtil.toHexString(bytes)));
        modbusTcp = new ModbusTCPMaster(funcSta.getIp(), funcSta.getPort(),true);
        CHARGE_CACHE.put(chargePointId, modbusTcp);
        return modbusTcp;
    }