OCT
REM: 1. 更新获取设备逻辑,同时支持相同IP,相同端口,不通处置类型的设备。 2. 更新单元测试用例。
This commit is contained in:
parent
869a28918b
commit
d6edde8e74
|
@ -56,7 +56,8 @@ public class DisposeDeviceManagerImpl implements DisposeDeviceManager {
|
|||
@Override
|
||||
public MulReturnType<ErrorCode, Long> addDisposeDevice(DisposeDevice dev) {
|
||||
// 看看系统中有没有存在相同IP+端口地址的设备,有的话返回失败
|
||||
DisposeDevice tDev = disposeDeviceMapper.getDeviceByAddress(dev.getIpAddr(), dev.getIpPort());
|
||||
DisposeDevice tDev = disposeDeviceMapper.getDeviceByAddress(dev.getIpAddr(), dev.getIpPort(),
|
||||
dev.getDeviceType().getValue());
|
||||
|
||||
if (tDev != null) {
|
||||
// 如果设备是删除状态,则更新设备信息
|
||||
|
@ -135,20 +136,17 @@ public class DisposeDeviceManagerImpl implements DisposeDeviceManager {
|
|||
*/
|
||||
@Override
|
||||
public MulReturnType<ErrorCode, Long> upgradeDisposeDevice(DisposeDevice dev) {
|
||||
DisposeDevice tDev = disposeDeviceMapper.getDeviceByAddress(dev.getIpAddr(), dev.getIpPort());
|
||||
DisposeDevice tDev = disposeDeviceMapper.getDeviceByAddress(dev.getIpAddr(), dev.getIpPort(),
|
||||
dev.getDeviceType().getValue());
|
||||
|
||||
// 处理默认端口情况
|
||||
if (tDev == null) {
|
||||
if (dev.getIpPort() == null || dev.getIpPort().length() == 0) {
|
||||
// HTTP 默认端口
|
||||
if (dev.getUrlType() == HttpType.HTTP) {
|
||||
tDev = disposeDeviceMapper.getDeviceByAddress(dev.getIpAddr(),
|
||||
HttpType.getDefaultPort(HttpType.HTTP));
|
||||
} else if (dev.getUrlType() == HttpType.HTTPS) {
|
||||
// HTTPS 默认端口
|
||||
tDev = disposeDeviceMapper.getDeviceByAddress(dev.getIpAddr(),
|
||||
HttpType.getDefaultPort(HttpType.HTTPS));
|
||||
}
|
||||
tDev = disposeDeviceMapper.getDeviceByAddress(dev.getIpAddr(),
|
||||
dev.getUrlType() == HttpType.HTTP ?
|
||||
HttpType.getDefaultPort(HttpType.HTTP) :
|
||||
HttpType.getDefaultPort(HttpType.HTTPS),
|
||||
dev.getDeviceType().getValue());
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -83,7 +83,8 @@ public interface DisposeDeviceMapper {
|
|||
* @return the device by address
|
||||
*/
|
||||
DisposeDevice getDeviceByAddress(@Param("ipAddr") String ipAddr,
|
||||
@Param("ipPort") String ipPort);
|
||||
@Param("ipPort") String ipPort,
|
||||
@Param("devType") Integer devType);
|
||||
|
||||
|
||||
/**
|
||||
|
|
|
@ -70,6 +70,7 @@
|
|||
LEFT JOIN dispose_capacity c ON d.id = c.deviceId
|
||||
WHERE d.ipAddr = #{ipAddr}
|
||||
AND d.ipPort = #{ipPort}
|
||||
AND d.deviceType = #{devType}
|
||||
</select>
|
||||
|
||||
<select id="getDeviceById" resultMap="dispose_device">
|
||||
|
|
|
@ -33,7 +33,6 @@ import org.springframework.transaction.annotation.Transactional;
|
|||
import javax.annotation.Resource;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.concurrent.atomic.AtomicBoolean;
|
||||
|
||||
import static org.springframework.test.web.servlet.result.MockMvcResultHandlers.print;
|
||||
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath;
|
||||
|
@ -102,7 +101,7 @@ public class UserBusinessControllerTest extends InitTestEnvironment {
|
|||
log.info("reqIfo: {}",reqInfo);
|
||||
|
||||
String ret = mockMvc.perform(MockMvcRequestBuilders
|
||||
.put("/manage")
|
||||
.put("/business/manage")
|
||||
.contentType(MediaType.APPLICATION_JSON)
|
||||
.header("Authorization", ConstValue.STRING_HTTP_AUTH_HEAD + getLoginToken())
|
||||
.content(objectMapper.writeValueAsString(reqInfo)))
|
||||
|
|
|
@ -200,7 +200,8 @@ public class DisposeDeviceManagerTest extends InitTestEnvironment {
|
|||
) {
|
||||
MulReturnType<ErrorCode, ObjectStatus> ret = disposeDeviceManager.changeDisposeDeviceStatus(v.getId(), obj);
|
||||
|
||||
DisposeDevice dev = disposeDeviceMapper.getDeviceByAddress(v.getIpAddr(), v.getIpPort());
|
||||
DisposeDevice dev = disposeDeviceMapper.getDeviceByAddress(v.getIpAddr(), v.getIpPort(),
|
||||
v.getDeviceType().getValue());
|
||||
|
||||
if (ret.getFirstParam() == ErrorCode.ERR_OK) {
|
||||
Assert.assertNotNull(dev);
|
||||
|
|
|
@ -114,7 +114,8 @@ public class DisposeDeviceMapperTest extends InitTestEnvironment {
|
|||
|
||||
devList.forEach(v -> {
|
||||
if(v.getIpPort().length() != 0){
|
||||
DisposeDevice dev = disposeDeviceMapper.getDeviceByAddress(v.getIpAddr(), v.getIpPort());
|
||||
DisposeDevice dev = disposeDeviceMapper.getDeviceByAddress(v.getIpAddr(), v.getIpPort(),
|
||||
v.getDeviceType().getValue());
|
||||
|
||||
String beforeVer = dev.getVersion();
|
||||
if (dev.getVersion().equals("B5.2.27.7")) {
|
||||
|
@ -164,12 +165,14 @@ public class DisposeDeviceMapperTest extends InitTestEnvironment {
|
|||
List<DisposeDevice> devList = disposeDeviceMapper.selectAll();
|
||||
|
||||
devList.forEach(v -> {
|
||||
DisposeDevice dev = disposeDeviceMapper.getDeviceByAddress(v.getIpAddr(), v.getIpPort());
|
||||
DisposeDevice dev = disposeDeviceMapper.getDeviceByAddress(v.getIpAddr(), v.getIpPort(),
|
||||
v.getDeviceType().getValue());
|
||||
Assert.assertNotNull(dev);
|
||||
|
||||
if(v.getIpPort().length() != 0){
|
||||
dev = disposeDeviceMapper.getDeviceByAddress(v.getIpAddr(),
|
||||
String.valueOf(Long.parseLong(Optional.ofNullable(v.getIpPort()).orElse("123")) + 1233));
|
||||
String.valueOf(Long.parseLong(Optional.ofNullable(v.getIpPort()).orElse("123")) + 1233),
|
||||
v.getDeviceType().getValue());
|
||||
|
||||
Assert.assertNull(dev);
|
||||
}
|
||||
|
|
|
@ -196,7 +196,8 @@ public class P1All {
|
|||
Assert.assertNotNull(k.getDevStatus());
|
||||
});
|
||||
|
||||
DisposeDevice dev = c.getDisposeDeviceMapper().getDeviceByAddress("127.0.0.1", "");
|
||||
DisposeDevice dev = c.getDisposeDeviceMapper().getDeviceByAddress("127.0.0.1", "",
|
||||
DisposeDeviceType.VIRTUAL_DISPOSE.getValue());
|
||||
|
||||
Assert.assertNotNull(dev);
|
||||
|
||||
|
|
|
@ -363,7 +363,7 @@ public class P2DeviceAdd {
|
|||
.method(RequestMethod.PUT)
|
||||
.caseJsonValue("{\"ver\":3,\"cryptoType\":0,\"timeStamp\":1599094454403," +
|
||||
"\"msgContent\":{\"items\":[{\"ipAddr\":\"127.0.0.1\",\"ipPort\":\"\"," +
|
||||
"\"deviceType\":0,\"areaCode\":0,\"deviceName\":\"中移杭研实验室迪普清洗设备\"," +
|
||||
"\"deviceType\":999,\"areaCode\":0,\"deviceName\":\"中移杭研实验室迪普清洗设备\"," +
|
||||
"\"manufacturer\":\"DPTech\",\"model\":\"UMC\",\"version\":\"5.7.13\"," +
|
||||
"\"userName\":\"test\",\"password\":\"testpassword\"," +
|
||||
"\"urlPath\":\"UMC/service/AbnormalFlowCleaningService\",\"urlType\":0," +
|
||||
|
@ -797,7 +797,8 @@ public class P2DeviceAdd {
|
|||
Assert.assertNotNull(k.getDevId());
|
||||
});
|
||||
|
||||
DisposeDevice dev = c.getDisposeDeviceMapper().getDeviceByAddress("10.88.77.15", "");
|
||||
DisposeDevice dev = c.getDisposeDeviceMapper().getDeviceByAddress("10.88.77.15", "", DisposeDeviceType.DPTECH_UMC
|
||||
.getValue());
|
||||
Assert.assertNotNull(dev);
|
||||
|
||||
Assert.assertEquals(dev.getDeviceType(), DisposeDeviceType.DPTECH_UMC);
|
||||
|
|
|
@ -37,7 +37,7 @@ public class P2DeviceUpgrade {
|
|||
.method(RequestMethod.POST)
|
||||
.caseJsonValue("{\"ver\":3,\"cryptoType\":0,\"timeStamp\":1599094454403," +
|
||||
"\"msgContent\":{\"items\":[{\"ipAddr\":\"127.0.0.1\",\"ipPort\":\"\"," +
|
||||
"\"deviceType\":0,\"areaCode\":0,\"deviceName\":\"中移杭研实验室迪普清洗设备\"," +
|
||||
"\"deviceType\":999,\"areaCode\":0,\"deviceName\":\"中移杭研实验室迪普清洗设备\"," +
|
||||
"\"manufacturer\":\"DPTech\",\"model\":\"UMC\",\"version\":\"5.7.13\"," +
|
||||
"\"userName\":\"admin\",\"password\":\"testpassword\"," +
|
||||
"\"urlPath\":\"UMC/service/AbnormalFlowCleaningService\",\"urlType\":0," +
|
||||
|
@ -48,7 +48,7 @@ public class P2DeviceUpgrade {
|
|||
.rspCode(ErrorCode.ERR_OK)
|
||||
.autoLogin(true)
|
||||
.verifyCallback((VerifyProtoRespCallback<CommDeviceListRsp>) (v, e, c) -> {
|
||||
DisposeDevice dev = verifyDpTechDeviceAddResp(v, e, c, DisposeDeviceType.DPTECH_UMC, new HashMap<>());
|
||||
DisposeDevice dev = verifyDpTechDeviceAddResp(v, e, c, DisposeDeviceType.VIRTUAL_DISPOSE, new HashMap<>());
|
||||
Assert.assertEquals(dev.getDevCapacity().size(), 2);
|
||||
|
||||
dev.getDevCapacity().forEach(k -> {
|
||||
|
@ -73,7 +73,7 @@ public class P2DeviceUpgrade {
|
|||
.method(RequestMethod.POST)
|
||||
.caseJsonValue("{\"ver\":3,\"cryptoType\":0,\"timeStamp\":1599094454403," +
|
||||
"\"msgContent\":{\"items\":[{\"ipAddr\":\"127.0.0.1\",\"ipPort\":\"\"," +
|
||||
"\"deviceType\":0,\"areaCode\":0,\"deviceName\":\"中移杭研实验室迪普清洗设备\"," +
|
||||
"\"deviceType\":999,\"areaCode\":0,\"deviceName\":\"中移杭研实验室迪普清洗设备\"," +
|
||||
"\"manufacturer\":\"DPTech\",\"model\":\"UMC\",\"version\":\"5.7.13\"," +
|
||||
"\"userName\":\"admin\",\"password\":\"testpassword\"," +
|
||||
"\"urlPath\":\"UMC/service/AbnormalFlowCleaningService\",\"urlType\":0," +
|
||||
|
@ -84,7 +84,7 @@ public class P2DeviceUpgrade {
|
|||
.rspCode(ErrorCode.ERR_OK)
|
||||
.autoLogin(true)
|
||||
.verifyCallback((VerifyProtoRespCallback<CommDeviceListRsp>) (v, e, c) -> {
|
||||
DisposeDevice dev = verifyDpTechDeviceAddResp(v, e, c, DisposeDeviceType.DPTECH_UMC, new HashMap<>());
|
||||
DisposeDevice dev = verifyDpTechDeviceAddResp(v, e, c, DisposeDeviceType.VIRTUAL_DISPOSE, new HashMap<>());
|
||||
Assert.assertEquals(dev.getDevCapacity().size(), 2);
|
||||
|
||||
dev.getDevCapacity().forEach(k -> {
|
||||
|
@ -109,7 +109,7 @@ public class P2DeviceUpgrade {
|
|||
.method(RequestMethod.POST)
|
||||
.caseJsonValue("{\"ver\":3,\"cryptoType\":0,\"timeStamp\":1599094454403," +
|
||||
"\"msgContent\":{\"items\":[{\"ipAddr\":\"127.0.0.1\",\"ipPort\":\"\"," +
|
||||
"\"deviceType\":0,\"areaCode\":0,\"deviceName\":\"中移杭研实验室迪普清洗设备\"," +
|
||||
"\"deviceType\":999,\"areaCode\":0,\"deviceName\":\"中移杭研实验室迪普清洗设备\"," +
|
||||
"\"manufacturer\":\"DPTech\",\"model\":\"UMC\",\"version\":\"5.7.13\"," +
|
||||
"\"userName\":\"admin\",\"password\":\"testpassword\"," +
|
||||
"\"urlPath\":\"UMC/service/AbnormalFlowCleaningService\",\"urlType\":0," +
|
||||
|
@ -119,7 +119,7 @@ public class P2DeviceUpgrade {
|
|||
.rspCode(ErrorCode.ERR_OK)
|
||||
.autoLogin(true)
|
||||
.verifyCallback((VerifyProtoRespCallback<CommDeviceListRsp>) (v, e, c) -> {
|
||||
DisposeDevice dev = verifyDpTechDeviceAddResp(v, e, c, DisposeDeviceType.DPTECH_UMC, new HashMap<>());
|
||||
DisposeDevice dev = verifyDpTechDeviceAddResp(v, e, c, DisposeDeviceType.VIRTUAL_DISPOSE, new HashMap<>());
|
||||
Assert.assertEquals(dev.getDevCapacity().size(), 1);
|
||||
|
||||
dev.getDevCapacity().forEach(k -> {
|
||||
|
@ -141,7 +141,7 @@ public class P2DeviceUpgrade {
|
|||
.method(RequestMethod.POST)
|
||||
.caseJsonValue("{\"ver\":3,\"cryptoType\":0,\"timeStamp\":1599094454403," +
|
||||
"\"msgContent\":{\"items\":[{\"ipAddr\":\"127.0.0.1\",\"ipPort\":\"\"," +
|
||||
"\"deviceType\":0,\"areaCode\":0,\"deviceName\":\"中移杭研实验室迪普清洗设备\"," +
|
||||
"\"deviceType\":999,\"areaCode\":0,\"deviceName\":\"中移杭研实验室迪普清洗设备\"," +
|
||||
"\"manufacturer\":\"DPTech\",\"model\":\"UMC\",\"version\":\"5.7.13\"," +
|
||||
"\"userName\":\"admin\",\"password\":\"testpassword\"," +
|
||||
"\"urlPath\":\"UMC/service/AbnormalFlowCleaningService\",\"urlType\":0," +
|
||||
|
@ -152,7 +152,7 @@ public class P2DeviceUpgrade {
|
|||
.rspCode(ErrorCode.ERR_OK)
|
||||
.autoLogin(true)
|
||||
.verifyCallback((VerifyProtoRespCallback<CommDeviceListRsp>) (v, e, c) -> {
|
||||
DisposeDevice dev = verifyDpTechDeviceAddResp(v, e, c, DisposeDeviceType.DPTECH_UMC, new HashMap<>());
|
||||
DisposeDevice dev = verifyDpTechDeviceAddResp(v, e, c, DisposeDeviceType.VIRTUAL_DISPOSE, new HashMap<>());
|
||||
Assert.assertEquals(dev.getDevCapacity().size(), 1);
|
||||
|
||||
dev.getDevCapacity().forEach(k -> {
|
||||
|
@ -267,7 +267,7 @@ public class P2DeviceUpgrade {
|
|||
.method(RequestMethod.POST)
|
||||
.caseJsonValue("{\"ver\":3,\"cryptoType\":0,\"timeStamp\":1599094454403," +
|
||||
"\"msgContent\":{\"items\":[{\"ipAddr\":\"127.0.0.1\",\"ipPort\":\"\"," +
|
||||
"\"deviceType\":0,\"areaCode\":0,\"deviceName\":\"中移杭研实验室迪普清洗设备\"," +
|
||||
"\"deviceType\":999,\"areaCode\":0,\"deviceName\":\"中移杭研实验室迪普清洗设备\"," +
|
||||
"\"manufacturer\":\"DPTech\",\"model\":\"UMC\",\"version\":\"5.7.13\"," +
|
||||
"\"userName\":\"admin\",\"password\":\"testpassword\"," +
|
||||
"\"urlPath\":\"UMC/service/AbnormalFlowCleaningService\",\"urlType\":0," +
|
||||
|
@ -278,7 +278,7 @@ public class P2DeviceUpgrade {
|
|||
.rspCode(ErrorCode.ERR_OK)
|
||||
.autoLogin(true)
|
||||
.verifyCallback((VerifyProtoRespCallback<CommDeviceListRsp>) (v, e, c) -> {
|
||||
DisposeDevice dev = verifyDpTechDeviceAddResp(v, e, c, DisposeDeviceType.DPTECH_UMC,
|
||||
DisposeDevice dev = verifyDpTechDeviceAddResp(v, e, c, DisposeDeviceType.VIRTUAL_DISPOSE,
|
||||
new HashMap<>());
|
||||
Assert.assertEquals(dev.getDevCapacity().size(), 2);
|
||||
|
||||
|
@ -985,23 +985,24 @@ public class P2DeviceUpgrade {
|
|||
Assert.assertNotNull(k.getDevStatus());
|
||||
});
|
||||
|
||||
DisposeDevice dev = c.getDisposeDeviceMapper().getDeviceByAddress("127.0.0.1", "");
|
||||
DisposeDevice dev = c.getDisposeDeviceMapper().getDeviceByAddress("127.0.0.1", "", DisposeDeviceType.VIRTUAL_DISPOSE
|
||||
.getValue());
|
||||
Assert.assertNotNull(dev);
|
||||
|
||||
if (deviceType == DisposeDeviceType.DPTECH_UMC) {
|
||||
//Assert.assertEquals(dev.getUserName(), fixItems.getOrDefault("userName", "admin"));
|
||||
Assert.assertEquals(dev.getDeviceType(), DisposeDeviceType.DPTECH_UMC);
|
||||
Assert.assertEquals(dev.getManufacturer(), "DPTech");
|
||||
//Assert.assertEquals(dev.getManufacturer(), "DPTech");
|
||||
Assert.assertEquals(dev.getVersion(), fixItems.getOrDefault("version", "5.7.13"));
|
||||
Assert.assertEquals(dev.getDeviceName(), fixItems.getOrDefault("deviceName", "中移杭研实验室迪普清洗设备"));
|
||||
//Assert.assertEquals(dev.getDeviceName(), fixItems.getOrDefault("deviceName", "中移杭研实验室迪普清洗设备"));
|
||||
//Assert.assertEquals(dev.getUrlPath(), fixItems.getOrDefault("urlPath", "UMC/service" +
|
||||
// "/AbnormalFlowCleaningService"));
|
||||
} else if (deviceType == DisposeDeviceType.VIRTUAL_DISPOSE) {
|
||||
//Assert.assertEquals(dev.getUserName(), fixItems.getOrDefault("userName", "test"));
|
||||
Assert.assertEquals(dev.getDeviceType(), DisposeDeviceType.VIRTUAL_DISPOSE);
|
||||
Assert.assertEquals(dev.getManufacturer(), "Virtual");
|
||||
//Assert.assertEquals(dev.getManufacturer(), "Virtual");
|
||||
Assert.assertEquals(dev.getVersion(), fixItems.getOrDefault("version", "5.7.13"));
|
||||
Assert.assertEquals(dev.getDeviceName(), fixItems.getOrDefault("deviceName", "中移杭研实验室虚拟清洗设备"));
|
||||
//Assert.assertEquals(dev.getDeviceName(), fixItems.getOrDefault("deviceName", "中移杭研实验室虚拟清洗设备"));
|
||||
//Assert.assertEquals(dev.getUrlPath(), fixItems.getOrDefault("urlPath", "UMC/service/"));
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue