|
@@ -1,6 +1,7 @@
|
|
|
package com.huimv.admin.service.impl;
|
|
|
|
|
|
import cn.hutool.core.bean.BeanUtil;
|
|
|
+import cn.hutool.core.collection.ListUtil;
|
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
@@ -10,7 +11,9 @@ import com.huimv.admin.common.utils.Result;
|
|
|
import com.huimv.admin.common.utils.ResultCode;
|
|
|
import com.huimv.admin.entity.CameraArea;
|
|
|
import com.huimv.admin.entity.CameraBase;
|
|
|
+import com.huimv.admin.entity.EnvDevice;
|
|
|
import com.huimv.admin.entity.hkwsdto.UnitDto1;
|
|
|
+import com.huimv.admin.entity.zengxindto.DataShacks;
|
|
|
import com.huimv.admin.mapper.CameraAreaMapper;
|
|
|
import com.huimv.admin.mapper.CameraBaseMapper;
|
|
|
import com.huimv.admin.service.ICameraAreaService;
|
|
@@ -22,6 +25,8 @@ import java.util.ArrayList;
|
|
|
import java.util.HashMap;
|
|
|
import java.util.List;
|
|
|
import java.util.Map;
|
|
|
+import java.util.concurrent.CopyOnWriteArrayList;
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
|
* <p>
|
|
@@ -82,22 +87,40 @@ public class CameraAreaServiceImpl extends ServiceImpl<CameraAreaMapper, CameraA
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public void sync(Map<String, Integer> params,List<UnitDto1> list) {
|
|
|
+ public void sync(Map<String, Integer> params,List<UnitDto1> unitDto1) {
|
|
|
Integer farmId = params.get("farmId");
|
|
|
//同步,先删除
|
|
|
QueryWrapper<CameraArea> wrapper = new QueryWrapper<>();
|
|
|
//TODO 正康猪业 先这样做
|
|
|
wrapper.eq("farm_id",farmId);
|
|
|
- this.remove(wrapper);
|
|
|
- for (UnitDto1 unitDto1 : list) {
|
|
|
- CameraArea cameraArea = new CameraArea();
|
|
|
- BeanUtil.copyProperties(unitDto1,cameraArea);
|
|
|
- cameraArea.setAreaName(unitDto1.getName());
|
|
|
- cameraArea.setFarmId(farmId);
|
|
|
- cameraArea.setPublicUrl("61.153.248.106:6713");
|
|
|
- this.save(cameraArea);
|
|
|
- }
|
|
|
+ List<CameraArea> huatong = this.list(wrapper);
|
|
|
+ List<String> haikangAreaId = unitDto1.stream().map(UnitDto1::getRegionUuid).collect(Collectors.toList());
|
|
|
+ List<String> huatongAreaId = huatong.stream().map(CameraArea::getRegionUuid).collect(Collectors.toList());
|
|
|
+ CopyOnWriteArrayList<String> haikangDeviceIdCopy = ListUtil.toCopyOnWriteArrayList(haikangAreaId);
|
|
|
+ CopyOnWriteArrayList<String> huatongDeviceIdCopy = ListUtil.toCopyOnWriteArrayList(huatongAreaId);
|
|
|
+ //新增的设备
|
|
|
+ haikangDeviceIdCopy.removeAll(huatongAreaId);
|
|
|
+ //TODO 新增 先循环,想不出来
|
|
|
+ if (haikangDeviceIdCopy.size() >0){
|
|
|
+ for (String s : haikangDeviceIdCopy) {
|
|
|
+ for (UnitDto1 dto1 : unitDto1) {
|
|
|
+ if (s.equals(dto1.getRegionUuid())){
|
|
|
+ CameraArea cameraArea = new CameraArea();
|
|
|
+ BeanUtil.copyProperties(dto1,cameraArea);
|
|
|
+ cameraArea.setAreaName(dto1.getName());
|
|
|
+ cameraArea.setFarmId(farmId);
|
|
|
+ cameraArea.setPublicUrl("61.153.248.106:6713");
|
|
|
+ this.save(cameraArea);
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //需要删除的设备
|
|
|
+ huatongDeviceIdCopy.removeAll(haikangDeviceIdCopy);
|
|
|
+ if (huatongDeviceIdCopy.size() >0){
|
|
|
+ this.remove(new QueryWrapper<CameraArea>().in("region_uuid",huatongDeviceIdCopy));
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
}
|