Commit 807cd9ec authored by 赵啸非's avatar 赵啸非

修改设备同步接口

parent 6ffab544
package com.mortals.xhx.common.pdu.product;
import lombok.Data;
/**
* 产品实体对象
*
* @author zxfei
* @date 2022-11-09
*/
@Data
public class ProductPdu {
/**
* id
*/
private Long id;
/**
* 关联平台
*/
private Long platformId;
/**
* 产品名称,名称唯一
*/
private String productName;
/**
* 产品编码
*/
private String productCode;
}
\ No newline at end of file
...@@ -6,6 +6,7 @@ import com.mortals.xhx.common.pdu.device.DevicePdu; ...@@ -6,6 +6,7 @@ import com.mortals.xhx.common.pdu.device.DevicePdu;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.mortals.framework.common.Rest; import com.mortals.framework.common.Rest;
import com.mortals.xhx.common.pdu.device.DeviceReq; import com.mortals.xhx.common.pdu.device.DeviceReq;
import com.mortals.xhx.common.pdu.product.ProductPdu;
import com.mortals.xhx.feign.IFeign; import com.mortals.xhx.feign.IFeign;
import feign.hystrix.FallbackFactory; import feign.hystrix.FallbackFactory;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
...@@ -74,6 +75,17 @@ public interface IDeviceFeign extends IFeign { ...@@ -74,6 +75,17 @@ public interface IDeviceFeign extends IFeign {
@PostMapping(value = "/api/receive") @PostMapping(value = "/api/receive")
Rest<String> deviceCall(@RequestBody DeviceReq deviceReq); Rest<String> deviceCall(@RequestBody DeviceReq deviceReq);
/**
* 查看设备列表
*
* @param productPdu
* @return
*/
@PostMapping(value = "/product/interlist")
Rest<RespData<List<ProductPdu>>> list(@RequestBody ProductPdu productPdu);
} }
...@@ -107,6 +119,11 @@ class DeviceFeignFallbackFactory implements FallbackFactory<IDeviceFeign> { ...@@ -107,6 +119,11 @@ class DeviceFeignFallbackFactory implements FallbackFactory<IDeviceFeign> {
public Rest<String> deviceCall(DeviceReq deviceReq) { public Rest<String> deviceCall(DeviceReq deviceReq) {
return Rest.fail("暂时无法保存设备,请稍后再试!"); return Rest.fail("暂时无法保存设备,请稍后再试!");
} }
@Override
public Rest<RespData<List<ProductPdu>>> list(ProductPdu productPdu) {
return Rest.fail("请稍后再试!");
}
}; };
} }
} }
......
...@@ -10,6 +10,7 @@ import com.mortals.framework.service.ITaskExcuteService; ...@@ -10,6 +10,7 @@ import com.mortals.framework.service.ITaskExcuteService;
import com.mortals.xhx.common.code.YesNoEnum; import com.mortals.xhx.common.code.YesNoEnum;
import com.mortals.xhx.common.pdu.RespData; import com.mortals.xhx.common.pdu.RespData;
import com.mortals.xhx.common.pdu.device.DevicePdu; import com.mortals.xhx.common.pdu.device.DevicePdu;
import com.mortals.xhx.common.pdu.product.ProductPdu;
import com.mortals.xhx.common.pdu.site.SiteMatterPdu; import com.mortals.xhx.common.pdu.site.SiteMatterPdu;
import com.mortals.xhx.common.pdu.site.SitePdu; import com.mortals.xhx.common.pdu.site.SitePdu;
import com.mortals.xhx.common.pdu.skin.SkinBasePdu; import com.mortals.xhx.common.pdu.skin.SkinBasePdu;
...@@ -72,17 +73,30 @@ public class SyncSiteDeviceTaskImpl implements ITaskExcuteService { ...@@ -72,17 +73,30 @@ public class SyncSiteDeviceTaskImpl implements ITaskExcuteService {
} }
private void syncDevice() { private void syncDevice() {
Long productId = null;
ProductPdu productPdu = new ProductPdu();
productPdu.setProductCode("ybj");
Rest<RespData<List<ProductPdu>>> rest = deviceFeign.list(productPdu);
if (rest.getCode() == YesNoEnum.YES.getValue() && !ObjectUtils.isEmpty(rest.getData())) {
if (!ObjectUtils.isEmpty(rest.getData().getData())) {
ProductPdu pdu = rest.getData().getData().get(0);
productId = pdu.getId();
}
}
SitePdu sitePdu = new SitePdu(); SitePdu sitePdu = new SitePdu();
sitePdu.setId(1L); sitePdu.setId(1L);
Rest<List<SitePdu>> siteRest = siteFeign.getFlatSitesBySiteId(sitePdu); Rest<List<SitePdu>> siteRest = siteFeign.getFlatSitesBySiteId(sitePdu);
if (siteRest.getCode() == YesNoEnum.YES.getValue()) { if (siteRest.getCode() == YesNoEnum.YES.getValue()) {
log.info("站点总数量:{}", siteRest.getData().size()); log.info("站点总数量:{}", siteRest.getData().size());
siteRest.getData().forEach(site -> { for (SitePdu site : siteRest.getData()) {
log.info("站点名称:{}", site.getSiteName()); log.info("站点名称:{}", site.getSiteName());
DevicePdu devicePdu = new DevicePdu(); DevicePdu devicePdu = new DevicePdu();
//devicePdu.setProductCode("ybj"); if (!ObjectUtils.isEmpty(productId)) {
//devicePdu.setProductId(10L); devicePdu.setProductId(productId);
} else {
devicePdu.setProductName("样表机"); devicePdu.setProductName("样表机");
}
devicePdu.setSiteId(site.getId()); devicePdu.setSiteId(site.getId());
devicePdu.setSize(-1); devicePdu.setSize(-1);
Rest<RespData<List<DevicePdu>>> deviceRest = deviceFeign.list(devicePdu); Rest<RespData<List<DevicePdu>>> deviceRest = deviceFeign.list(devicePdu);
...@@ -157,84 +171,12 @@ public class SyncSiteDeviceTaskImpl implements ITaskExcuteService { ...@@ -157,84 +171,12 @@ public class SyncSiteDeviceTaskImpl implements ITaskExcuteService {
} else { } else {
log.info("设备列表查询异常,{}", JSON.toJSONString(deviceRest)); log.info("设备列表查询异常,{}", JSON.toJSONString(deviceRest));
} }
}); }
} else { } else {
log.info("站点列表查询异常,{}", JSON.toJSONString(siteRest)); log.info("站点列表查询异常,{}", JSON.toJSONString(siteRest));
} }
} }
/* private void syncSkin() {
SkinBasePdu skinBasePdu = new SkinBasePdu();
skinBasePdu.setProductName("样表机");
skinBasePdu.setSize(-1);
Rest<RespData<List<SkinBasePdu>>> skinBaseRest = skinBaseFeign.list(skinBasePdu);
if (skinBaseRest.getCode() == YesNoEnum.YES.getValue()) {
List<SkinBasePdu> skinBasePduList = skinBaseRest.getData().getData();
log.info("样表机皮肤总数量:{}", skinBasePduList.size());
if (!ObjectUtils.isEmpty(skinBasePduList)) {
List<SkinEntity> newSkinList = skinBasePduList.stream().map(newSkin -> {
SkinEntity skinEntity = new SkinEntity();
skinEntity.initAttrValue();
//存相对地址
newSkin.setCssFilePath("/"+StrUtil.subAfter(newSkin.getCssFilePath(), "/", true));
newSkin.setPreviewImagePath("/"+StrUtil.subAfter(newSkin.getPreviewImagePath(), "/", true));
BeanUtils.copyProperties(newSkin, skinEntity, BeanUtil.getNullPropertyNames(newSkin));
return skinEntity;
}).collect(Collectors.toList());
List<SkinEntity> oldSkinList = skinService.find(new SkinQuery());
Map<Long, SkinEntity> oldSkinMap = oldSkinList.stream().collect(Collectors.toMap(x -> x.getId(), y -> y, (o, n) -> n));
Map<Long, SkinEntity> newSkinMap = newSkinList.stream().collect(Collectors.toMap(x -> x.getId(), y -> y, (o, n) -> n));
List<SkinEntity> updateSkinLsit = newSkinList.stream().map(item -> {
if (oldSkinMap.containsKey(item.getId())) {
item.setUsed(oldSkinMap.get(item.getId()).getUsed());
item.setUpdateTime(new Date());
return item;
}
return null;
}).filter(f -> f != null).collect(Collectors.toList());
List<SkinEntity> saveSkinList = newSkinList.stream().map(item -> {
if (!oldSkinMap.containsKey(item.getId())) {
item.setCreateUserId(1L);
item.setCreateUserName("系统管理员");
item.setCreateTime(new Date());
return item;
}
return null;
}).filter(f -> f != null).collect(Collectors.toList());
//做差集
List<Long> delSkinList = oldSkinList.stream().map(item -> {
if (!newSkinMap.containsKey(item.getId())) {
return item.getId();
}
return null;
}).filter(f -> f != null).collect(Collectors.toList());
// if (!ObjectUtils.isEmpty(updateSkinLsit)) {
// log.info("皮肤更新,size:{}", updateSkinLsit.size());
// skinService.update(updateSkinLsit);
// }
if (!ObjectUtils.isEmpty(saveSkinList)) {
log.info("皮肤新增,size:{}", saveSkinList.size());
skinService.save(saveSkinList);
}
if (!ObjectUtils.isEmpty(delSkinList)) {
log.info("皮肤删除,size:{}", delSkinList.size());
skinService.remove(delSkinList, null);
}
}
}
}*/
@Override @Override
public void stopTask(ITask task) throws AppException { public void stopTask(ITask task) throws AppException {
......
...@@ -160,7 +160,7 @@ public class DeviceEntity extends DeviceVo { ...@@ -160,7 +160,7 @@ public class DeviceEntity extends DeviceVo {
this.deviceFirmname = ""; this.deviceFirmname = "";
this.ip = ""; this.ip = "";
this.port = ""; this.port = "";
this.enabled = 0; this.enabled = 1;
this.productCode = ""; this.productCode = "";
this.productName = ""; this.productName = "";
this.deviceSrc = 2; this.deviceSrc = 2;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment