package cn.com.goldenwater.dcproj.service.impl.rsvr; import cn.com.goldenwater.core.service.AbstractCrudService; import cn.com.goldenwater.dcproj.dao.BisInspRsvrCameraDao; import cn.com.goldenwater.dcproj.model.BisInspRsvrCamera; import cn.com.goldenwater.dcproj.param.BisInspRsvrCameraParam; import cn.com.goldenwater.dcproj.service.BisInspRsvrCameraService; import cn.com.goldenwater.dcproj.utils.http.HikvisionOpenApiUtil; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.ArrayList; import java.util.Date; import java.util.List; /** * @author lxf * @date 2023年8月11日 */ @Service @Transactional public class BisInspRsvrCameraServiceImpl extends AbstractCrudService implements BisInspRsvrCameraService { @Autowired private BisInspRsvrCameraDao bisInspRsvrCameraDao; public BisInspRsvrCameraServiceImpl(BisInspRsvrCameraDao bisInspRsvrCameraDao) { super(bisInspRsvrCameraDao); this.bisInspRsvrCameraDao = bisInspRsvrCameraDao; } @Override public int insert(BisInspRsvrCamera bisInspRsvrCamera) { bisInspRsvrCamera.setIntm(new Date()); bisInspRsvrCamera.setUptm(new Date()); return this.bisInspRsvrCameraDao.insert(bisInspRsvrCamera); } @Override public int update(BisInspRsvrCamera bisInspRsvrCamera) { bisInspRsvrCamera.setUptm(new Date()); return this.bisInspRsvrCameraDao.update(bisInspRsvrCamera); } @Override public int delete(String id) { return this.bisInspRsvrCameraDao.delete(id); } @Override public int insertBatchList(List bisInspRsvrCameraList){ Date curDate = new Date(); String rsCode = null; for(BisInspRsvrCamera rsvrCamera: bisInspRsvrCameraList){ rsvrCamera.setIntm(curDate); rsvrCamera.setUptm(curDate); rsCode = rsvrCamera.getRsCode(); } // 先删除 this.bisInspRsvrCameraDao.delete(rsCode); return this.bisInspRsvrCameraDao.insertBatchList(bisInspRsvrCameraList); } @Override public List getByRsCode(String rsCode){ return this.bisInspRsvrCameraDao.getByRsCode(rsCode); } @Override public List getSelectListByRsName(String rsCode, String rsName, String admDiv,String regCode ){ // 根据水库的名称 调用监控平台获取资源信息列表 获取到监控点信息列表 JSONArray jsonArray = HikvisionOpenApiUtil.callPostResourcesByParams(rsName); if(jsonArray.size()>0){ List bisInspRsvrCameraList = new ArrayList<>(jsonArray.size()) ; for(int i=0;i< jsonArray.size(); i++){ JSONObject jsonObj = jsonArray.getJSONObject(i); BisInspRsvrCamera rsvrCamera = new BisInspRsvrCamera(); // 冗余水库基本信息 rsvrCamera.setRegCode(regCode); rsvrCamera.setRsName(rsName); rsvrCamera.setAdmDiv(admDiv); rsvrCamera.setRegCode(regCode); rsvrCamera.setIndexCode(jsonObj.getString("indexCode")); rsvrCamera.setRegionIndexCode(jsonObj.getString("regionIndexCode")); rsvrCamera.setExternalIndexCode(jsonObj.getString("externalIndexCode")); rsvrCamera.setIndexName(jsonObj.getString("name")); rsvrCamera.setDeviceIndexCode(jsonObj.getString("deviceIndexCode")); rsvrCamera.setLoggitude(jsonObj.getString("longitude")); rsvrCamera.setLatitude(jsonObj.getString("latitude")); rsvrCamera.setCameraType(jsonObj.getString("cameraType")); rsvrCamera.setChannum(jsonObj.getString("chanNum")); rsvrCamera.setChannelType(jsonObj.getString("channelType")); rsvrCamera.setDeviceResourceType(jsonObj.getString("deviceResourceType")); rsvrCamera.setTransType(jsonObj.getString("transType")); rsvrCamera.setCapabilitySet(jsonObj.getString("capabilitySet")); rsvrCamera.setDataVersion(jsonObj.getLong("dataVersion")); rsvrCamera.setCreateTime(jsonObj.getString("createTime")); rsvrCamera.setUpdateTime(jsonObj.getString("updateTime")); bisInspRsvrCameraList.add(rsvrCamera); } return bisInspRsvrCameraList; } return new ArrayList<>(); } }