| package com.fzzy.async.fzzy40.impl; | 
|   | 
| import com.alibaba.fastjson.JSON; | 
| import com.alibaba.fastjson.JSONObject; | 
| import com.fzzy.api.Constant; | 
| import com.fzzy.api.entity.Api1102; | 
| import com.fzzy.api.entity.ApiInfoData; | 
| import com.fzzy.api.entity.ApiLog; | 
| import com.fzzy.api.utils.ContextUtil; | 
| import com.fzzy.api.view.repository.Api1102Rep; | 
| import com.fzzy.api.view.repository.ApiInfoDataRep; | 
| import com.fzzy.api.view.repository.ApiLogRep; | 
| import com.fzzy.async.fzzy40.entity.Fz40SecCamera; | 
| import com.fzzy.async.fzzy40.repository.Fzzy40Sync1311Rep; | 
| import com.fzzy.push.sh2023.SH2023Constant; | 
| import com.fzzy.push.sh2023.dto.SH2023Api1311; | 
| import lombok.extern.slf4j.Slf4j; | 
| import org.apache.commons.lang.StringUtils; | 
| import org.springframework.beans.factory.annotation.Autowired; | 
| import org.springframework.stereotype.Component; | 
|   | 
| import java.util.Date; | 
| import java.util.List; | 
|   | 
| /** | 
|  * 视频监控 | 
|  * | 
|  * @Author:YAN | 
|  */ | 
| @Component | 
| @Slf4j | 
| public class Fzzy40Sync1311 { | 
|     @Autowired | 
|     private ApiLogRep apiLogRep; | 
|     @Autowired | 
|     private Api1102Rep api1102Rep; | 
|     @Autowired | 
|     private Fzzy40Sync1311Rep fzzy40Sync1311Rep; | 
|     @Autowired | 
|     private ApiInfoDataRep apiInfoDataRep; | 
|   | 
|     public void syncData(String kqdm, String deptId, Date start, Date end) { | 
|         log.info("-------------1311接口数据开始同步------------------"); | 
|         //同步数据 | 
|         ApiLog apiLog = new ApiLog(); | 
|         apiLog.setType(ApiLog.TYPE_SYNC); | 
|         apiLog.setKqdm(deptId); | 
|         apiLog.setUploadTime(new Date()); | 
|         apiLog.setInteId(SH2023Constant.SH_2023_API_CODE_1311); | 
|         apiLog.setStatus(99); | 
|         apiLog.setId(ContextUtil.getUUID()); | 
|         try { | 
|             List<Fz40SecCamera> list = fzzy40Sync1311Rep.findDateByDeptId(deptId); | 
|             if (list.isEmpty() || null == list) { | 
|                 log.debug("-------------没有获取到视频监控信息------------------"); | 
|                 return; | 
|             } | 
|             Api1102 api1102 = api1102Rep.findById(kqdm).get(); | 
|             SH2023Api1311 sh2023Api1311; | 
|             SH2023Api1311 sh1311; | 
|             List<ApiInfoData> apiInfoDataList; | 
|             for (Fz40SecCamera sysData : list) { | 
|                 sh2023Api1311 = new SH2023Api1311(); | 
|                 sh2023Api1311.setSpjksbid(sysData.getId()); | 
|                 sh2023Api1311.setTdbh(sysData.getChanNum()); | 
|                 sh2023Api1311.setJksbmc(sysData.getName()); | 
|                 sh2023Api1311.setKqdm(kqdm); | 
|   | 
|                 //监控厂商 | 
|                 sh2023Api1311.setJkcs(getBrandId(sysData.getBrand())); | 
|   | 
|                 sh2023Api1311.setJkxh(sysData.getSn()); | 
|   | 
|                 sh2023Api1311.setSpjklx(StringUtils.isEmpty(sysData.getSpjklx()) ? "3" : sysData.getSpjklx()); | 
|                 sh2023Api1311.setSblxbm("1"); | 
|   | 
|                 sh2023Api1311.setAzwz(sysData.getName()); | 
|                 sh2023Api1311.setAzwzlx(StringUtils.isEmpty(sysData.getSpdwlx()) ? "7" : sysData.getSpdwlx()); | 
|                 if(sh2023Api1311.getAzwzlx().length() == 1){ | 
|                     sh2023Api1311.setAzwzlx("0" + sh2023Api1311.getAzwzlx()); | 
|                 } | 
|                 if ("12".equals(sh2023Api1311.getAzwzlx()) || "13".equals(sh2023Api1311.getAzwzlx()) | 
|                         || "14".equals(sh2023Api1311.getAzwzlx()) || "15".equals(sh2023Api1311.getAzwzlx())) { | 
|                     sh2023Api1311.setAzwzlx("99"); | 
|                 } | 
|                 if ("16".equals(sh2023Api1311.getAzwzlx())) { | 
|                     sh2023Api1311.setAzwzlx("12"); | 
|                 } | 
|                 sh2023Api1311.setSfazbgd("Y"); | 
|   | 
|                 if(StringUtils.isEmpty(sysData.getType())){ | 
|                     sysData.setType("01"); | 
|                 } | 
|                 if(sysData.getType().equals("02")){ | 
|                     sh2023Api1311.setJkjlxbm("2"); | 
|                 } | 
|                 if(sysData.getType().equals("01")){ | 
|                     sh2023Api1311.setJkjlxbm("1"); | 
|                 } | 
|                 sh2023Api1311.setJktyzw(12); | 
|                 sh2023Api1311.setSbipdz(sysData.getIpIn()); | 
|                 sh2023Api1311.setSbdkh(sysData.getPortInV()); | 
|                 sh2023Api1311.setSbdlmc(sysData.getLoginId()); | 
|                 sh2023Api1311.setSbdlmm(sysData.getPwd()); | 
|                 sh2023Api1311.setBz(sysData.getRemark()); | 
|                 sh2023Api1311.setZhgxsj(sysData.getUpdateTime()==null?new Date():sysData.getUpdateTime()); | 
|   | 
|                 //持久化保存,单独存入非国标接口表 | 
|                 ApiInfoData infoData = new ApiInfoData(); | 
|                 infoData.setId(sh2023Api1311.getSpjksbid()); | 
|                 infoData.setKqdm(kqdm); | 
|                 infoData.setInteType(Constant.API_CATEGORY_13); | 
|                 infoData.setInteId(SH2023Constant.SH_2023_API_CODE_1311); | 
|                 infoData.setUpdateTime(sh2023Api1311.getZhgxsj()); | 
|                 infoData.setDataId(sh2023Api1311.getSpjksbid()); | 
|                 infoData.setRemarks("视频监控信息"); | 
|                 //设置操作标志 | 
|                 apiInfoDataList = apiInfoDataRep.getDataByInteAndData(SH2023Constant.SH_2023_API_CODE_1311, infoData.getDataId(), kqdm); | 
|                 if (null == apiInfoDataList || apiInfoDataList.isEmpty()) { | 
|                     sh2023Api1311.setCzbz(Constant.CZBZ_I); | 
|                     infoData.setCzbz(Constant.CZBZ_I); | 
|                 } else { | 
|                     sh2023Api1311.setCzbz(apiInfoDataList.get(0).getCzbz()); | 
|                     infoData.setCzbz(apiInfoDataList.get(0).getCzbz()); | 
|                     sh1311 = JSONObject.parseObject(apiInfoDataList.get(0).getData(), SH2023Api1311.class); | 
|                     if(null != sh1311 && StringUtils.isNotEmpty(sh1311.getAjdm())){ | 
|                         sh2023Api1311.setAjdm(sh1311.getAjdm()); | 
|                     } | 
|                     if(null != sh1311 && StringUtils.isNotEmpty(sh1311.getHwdm())){ | 
|                         sh2023Api1311.setHwdm(sh1311.getHwdm()); | 
|                     } | 
|                 } | 
|   | 
|                 infoData.setData(JSON.toJSONString(sh2023Api1311)); | 
|                 apiInfoDataRep.save(infoData); | 
|                 log.info("1311---视频监控-同步数据:{}", sh2023Api1311); | 
|             } | 
|   | 
|         } catch (Exception e) { | 
|             log.error("---同步失败----{}", e); | 
|             apiLog.setResult("同步失败:" + e.getMessage()); | 
|             apiLogRep.save(apiLog); | 
|         } | 
|     } | 
|   | 
|     private String getBrandId(String brandName) { | 
|         if (StringUtils.isEmpty(brandName)) { | 
|             return "9"; | 
|         } | 
|         if (brandName.contains("海康")) { | 
|             return "1"; | 
|         } | 
|         if (brandName.contains("大华")) { | 
|             return "2"; | 
|         } | 
|         if (brandName.contains("宇视")) { | 
|             return "3"; | 
|         } | 
|         return "9"; | 
|     } | 
| } |