添加同步流程
This commit is contained in:
parent
e00d44ec17
commit
4b5930cd95
|
|
@ -19,6 +19,7 @@ import cn.hutool.json.JSONObject;
|
|||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.nu.modules.tplink.camera.entity.NuBaseInfo;
|
||||
import com.nu.modules.tplink.camera.model.CameraTreeModel;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
import org.jeecg.common.api.vo.Result;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
|
|
@ -540,4 +541,26 @@ public class CameraInfoController extends JeecgController<CameraInfo, ICameraInf
|
|||
return service.motionCtrl(cameraInfo);
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 摄像头信息-同步
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "护理单元-物联管理-摄像头信息-同步")
|
||||
@ApiOperation(value="护理单元-物联管理-摄像头信息-同步", notes="护理单元-物联管理-摄像头信息-同步")
|
||||
@RequestMapping(value = "/syncCameraList", method = {RequestMethod.PUT,RequestMethod.POST})
|
||||
public Result<String> syncCameraList(@RequestBody Map<String,Object> cameraList) {
|
||||
String result = service.syncCameraList(cameraList);
|
||||
if(StringUtils.equals(result,"0")){
|
||||
return Result.OK("操作成功!");
|
||||
}else if (StringUtils.equals(result,"1")){
|
||||
return Result.error("参数为空!");
|
||||
}else if (StringUtils.equals(result,"2")){
|
||||
return Result.error("设备ID为空!");
|
||||
}else{
|
||||
return Result.error("其他错误,请联系管理员!");
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -307,4 +307,13 @@ public class CameraInfo implements Serializable {
|
|||
private String ftpUsername; //回放视频转FTP上传用户
|
||||
private String ftpPassword; //回放视频转FTP上传密码
|
||||
private String ftpUploadpath; //回放视频转FTP上传路径
|
||||
|
||||
|
||||
private String departId;//机构ID
|
||||
private String departName;//机构名称
|
||||
private String departServerUrl;//机构服务地址
|
||||
private String oldServerUrl;//原机构服务地址
|
||||
private String syncType;//是否同步 0 未同步 1已同步
|
||||
private String oldDepartId;//原机构id
|
||||
private String oldDepartName;//原机构名称
|
||||
}
|
||||
|
|
|
|||
|
|
@ -31,4 +31,6 @@ public interface CameraInfoMapper extends BaseMapper<CameraInfo> {
|
|||
void updatePlanByDevId(CameraInfo cameraInfo);
|
||||
|
||||
IPage<NuBaseInfo> getNuBaseList(Page<NuBaseInfo> page, @Param("params") NuBaseInfo nuBaseInfo);
|
||||
|
||||
void updateDepartById(@Param("params") CameraInfo cameraInfo);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -289,4 +289,8 @@
|
|||
<select id="getNuBaseList" parameterType="com.nu.modules.tplink.camera.entity.NuBaseInfo" resultType="com.nu.modules.tplink.camera.entity.NuBaseInfo">
|
||||
select * from nu_base_info where del_flag = '0'
|
||||
</select>
|
||||
|
||||
<update id="updateDepartById" parameterType="com.nu.modules.tplink.camera.entity.NuBaseInfo" >
|
||||
update nu_iot_tplink_camera set nu_id = null,nu_name = null,depart_id = null,depart_name = null,depart_server_url=null where id = #{params.id}
|
||||
</update>
|
||||
</mapper>
|
||||
|
|
@ -64,4 +64,6 @@ public interface ICameraInfoService extends IService<CameraInfo> {
|
|||
Result getUploadToServerProcess(CameraInfo cameraInfo);
|
||||
Result motionCtrl(CameraInfo cameraInfo);
|
||||
IPage<NuBaseInfo> getNuBaseList(String dataSourceCode,Page<NuBaseInfo> page, NuBaseInfo nuBaseInfo);
|
||||
|
||||
String syncCameraList(Map<String, Object> cameraList);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,9 +3,12 @@ package com.nu.modules.tplink.camera.service.impl;
|
|||
import cn.hutool.json.JSONArray;
|
||||
import cn.hutool.json.JSONObject;
|
||||
import com.baomidou.dynamic.datasource.annotation.DS;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import com.nu.modules.syncLog.entity.SyncLog;
|
||||
import com.nu.modules.syncLog.service.ISyncLogService;
|
||||
import com.nu.modules.tplink.camera.entity.NuBaseInfo;
|
||||
import com.nu.modules.tplink.camera.model.CameraTreeModel;
|
||||
import com.nu.modules.tplink.common.entity.TumsConfig;
|
||||
|
|
@ -14,7 +17,10 @@ import com.nu.modules.tplink.project.entity.ProjectInfo;
|
|||
import com.nu.modules.tplink.project.mapper.ProjectInfoMapper;
|
||||
import com.nu.modules.tplink.region.entity.RegionInfo;
|
||||
import com.nu.modules.tplink.region.mapper.RegionInfoMapper;
|
||||
import com.nu.modules.tq.electricity.entity.ElectricityMeter;
|
||||
import com.nu.modules.tq.electricity.service.impl.ElectricityMeterServiceImpl;
|
||||
import org.apache.commons.compress.utils.Lists;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
import org.apache.shiro.SecurityUtils;
|
||||
import org.jeecg.common.api.vo.Result;
|
||||
import org.jeecg.common.system.vo.LoginUser;
|
||||
|
|
@ -26,6 +32,7 @@ import com.nu.modules.tplink.common.entity.ErrorCode;
|
|||
import com.nu.modules.tplink.common.service.IErrorCodeService;
|
||||
import com.nu.modules.tplink.utils.TumsApi;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.context.annotation.Lazy;
|
||||
import org.springframework.stereotype.Service;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
|
@ -54,6 +61,12 @@ public class CameraInfoServiceImpl extends ServiceImpl<CameraInfoMapper, CameraI
|
|||
private ProjectInfoMapper projectMapper;
|
||||
@Autowired
|
||||
private RegionInfoMapper regionMapper;
|
||||
@Autowired
|
||||
public ISyncLogService nuIotTqElectricitySyncLogService;
|
||||
|
||||
@Lazy
|
||||
@Autowired
|
||||
private CameraInfoServiceImpl syncImpl;
|
||||
|
||||
/**
|
||||
* 获取摄像头信息-分页
|
||||
|
|
@ -2581,6 +2594,7 @@ public class CameraInfoServiceImpl extends ServiceImpl<CameraInfoMapper, CameraI
|
|||
return baseMapper.getNuBaseList(page,nuBaseInfo);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 高速球机移动方向控制
|
||||
* @param cameraInfo
|
||||
|
|
@ -2618,4 +2632,121 @@ public class CameraInfoServiceImpl extends ServiceImpl<CameraInfoMapper, CameraI
|
|||
return Result.error(errMsg);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public String syncCameraList(Map<String, Object> cameraList) {
|
||||
String nuId = cameraList.get("nuId").toString();
|
||||
String nuName = cameraList.get("nuName").toString();
|
||||
String dataSourceCode = cameraList.get("dataSourceCode").toString();
|
||||
String departId = cameraList.get("departId").toString();
|
||||
String departName = cameraList.get("departName").toString();
|
||||
if(StringUtils.isEmpty(nuId) || StringUtils.isEmpty(dataSourceCode)){
|
||||
return "1";//参数为空
|
||||
}
|
||||
|
||||
QueryWrapper<CameraInfo> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.eq("depart_server_url",dataSourceCode);
|
||||
List<CameraInfo> allList =baseMapper.selectList(queryWrapper);
|
||||
//先清空掉原来的数据
|
||||
for(CameraInfo cameraInfo : allList){
|
||||
syncImpl.syncCameraDel(cameraInfo.getOldServerUrl(),cameraInfo);
|
||||
|
||||
|
||||
SyncLog nuIotTqElectricitySyncLogDel = new SyncLog();
|
||||
nuIotTqElectricitySyncLogDel.setId(null);
|
||||
nuIotTqElectricitySyncLogDel.setMainId(cameraInfo.getDeviceIndex());
|
||||
nuIotTqElectricitySyncLogDel.setMainName(cameraInfo.getDeviceName());
|
||||
nuIotTqElectricitySyncLogDel.setSyncType("删除");
|
||||
nuIotTqElectricitySyncLogDel.setOrgId(cameraInfo.getOldDepartId());
|
||||
nuIotTqElectricitySyncLogDel.setOrgCode(cameraInfo.getOldServerUrl());
|
||||
nuIotTqElectricitySyncLogDel.setOrgName(cameraInfo.getOldDepartName());
|
||||
nuIotTqElectricitySyncLogDel.setNewOrgId(cameraInfo.getDepartId());
|
||||
nuIotTqElectricitySyncLogDel.setNewOrgCode(cameraInfo.getDepartServerUrl());
|
||||
nuIotTqElectricitySyncLogDel.setNewOrgName(cameraInfo.getDepartName());
|
||||
nuIotTqElectricitySyncLogDel.setStatus("成功");
|
||||
nuIotTqElectricitySyncLogDel.setContent("删除原来业务机构摄像头数据");
|
||||
nuIotTqElectricitySyncLogDel.setServerType("摄像头");
|
||||
nuIotTqElectricitySyncLogService.save(nuIotTqElectricitySyncLogDel);
|
||||
|
||||
baseMapper.updateDepartById(cameraInfo);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
List<Map<String,Object>> list = (List<Map<String,Object>>) cameraList.get("list");
|
||||
for (Map<String, Object> map : list) {
|
||||
CameraInfo cameraInfo = new CameraInfo();
|
||||
String iotId = map.get("id").toString();
|
||||
if(StringUtils.isEmpty(iotId)){
|
||||
return "2";//设备ID为空;
|
||||
}
|
||||
cameraInfo = baseMapper.selectById(iotId);
|
||||
cameraInfo.setNuId(nuId);
|
||||
cameraInfo.setNuName(nuName);
|
||||
//将页面传入的数据赋值到最新的机构信息中
|
||||
cameraInfo.setDepartId(departId);
|
||||
cameraInfo.setDepartName(departName);
|
||||
cameraInfo.setDepartServerUrl(dataSourceCode);
|
||||
//如果两个系统编码相同则执行新增或者修改
|
||||
syncImpl.syncCameraSaveOrUpdate(cameraInfo.getOldServerUrl(),cameraInfo);
|
||||
|
||||
SyncLog nuIotTqElectricitySyncLog = new SyncLog();
|
||||
nuIotTqElectricitySyncLog.setId(null);
|
||||
nuIotTqElectricitySyncLog.setMainId(cameraInfo.getDeviceIndex());
|
||||
nuIotTqElectricitySyncLog.setMainName(cameraInfo.getDeviceName());
|
||||
nuIotTqElectricitySyncLog.setSyncType("更新");
|
||||
nuIotTqElectricitySyncLog.setOrgId(cameraInfo.getDepartId());
|
||||
nuIotTqElectricitySyncLog.setOrgCode(cameraInfo.getDepartServerUrl());
|
||||
nuIotTqElectricitySyncLog.setOrgName(cameraInfo.getDepartName());
|
||||
nuIotTqElectricitySyncLog.setNewOrgId(cameraInfo.getDepartId());
|
||||
nuIotTqElectricitySyncLog.setNewOrgCode(cameraInfo.getDepartServerUrl());
|
||||
nuIotTqElectricitySyncLog.setNewOrgName(cameraInfo.getDepartName());
|
||||
nuIotTqElectricitySyncLog.setStatus("成功");
|
||||
nuIotTqElectricitySyncLog.setContent("同步成功");
|
||||
nuIotTqElectricitySyncLog.setServerType("摄像头");
|
||||
nuIotTqElectricitySyncLogService.save(nuIotTqElectricitySyncLog);
|
||||
|
||||
//更新同步状态及旧系统编码
|
||||
cameraInfo.setSyncType("1");
|
||||
cameraInfo.setOldServerUrl(dataSourceCode);
|
||||
cameraInfo.setOldDepartName(cameraInfo.getDepartName());
|
||||
cameraInfo.setOldDepartId(cameraInfo.getDepartId());
|
||||
baseMapper.updateById(cameraInfo);
|
||||
|
||||
}
|
||||
|
||||
return "0";
|
||||
}
|
||||
//删除原来系统的蛇形头数据
|
||||
@DS("#dataSourceCode")
|
||||
public boolean syncCameraDel(String dataSourceCode,CameraInfo cameraInfo) {
|
||||
try {
|
||||
baseMapper.deleteById(cameraInfo.getId());
|
||||
} catch (Exception e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
//业务系统保存或者修改命令
|
||||
@DS("#dataSourceCode")
|
||||
public boolean syncCameraSaveOrUpdate(String dataSourceCode, CameraInfo cameraInfo) {
|
||||
try {
|
||||
QueryWrapper<CameraInfo> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.eq("device_index",cameraInfo.getDeviceIndex());
|
||||
CameraInfo oldParam = baseMapper.selectOne(queryWrapper);//查询数据库中该表号数据原始数据
|
||||
if(oldParam == null){
|
||||
baseMapper.insert(cameraInfo);
|
||||
}else{
|
||||
baseMapper.updateById(cameraInfo);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue