package com.fzzy.async.fzzy40.impl; import com.alibaba.fastjson.JSON; import com.fzzy.api.Constant; import com.fzzy.api.entity.ApiInfoData; import com.fzzy.api.entity.ApiLog; import com.fzzy.api.service.ApiCommonService; import com.fzzy.api.utils.ContextUtil; 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.aspectj.weaver.ConcreteTypeMunger; 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 Fzzy40Sync1311Rep fzzy40Sync1311Rep; @Autowired private ApiCommonService commonService; @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 list = fzzy40Sync1311Rep.findDateByDeptId(deptId); if (list.isEmpty() || null == list) { log.debug("-------------没有获取到视频监控信息------------------"); return; } SH2023Api1311 sh2023Api1311; List apiInfoDataList; String dataID; int num = 1; String secType = "01,02,03,04,05"; for (Fz40SecCamera sysData : list) { dataID = kqdm.substring(3, 8) + "01401327" + String.format("%06d", num++); List apiInfoData = apiInfoDataRep.getDataByInteAndData(SH2023Constant.SH_2023_API_CODE_1311, dataID); if (null != apiInfoData && apiInfoData.size() > 0) { continue; } sh2023Api1311 = new SH2023Api1311(); sh2023Api1311.setSxtbh(dataID); sh2023Api1311.setTdbh(sysData.getChanNum()); sh2023Api1311.setTdmc(sysData.getChanNum() + "号通道"); sh2023Api1311.setJksbmc(sysData.getName()); sh2023Api1311.setKqdm(kqdm); if (sysData.getBrand().equals("01")) { sh2023Api1311.setJkcs("2"); } else if (sysData.getBrand().equals("02")) { sh2023Api1311.setJkcs("1"); } else { sh2023Api1311.setJkcs("9"); } sh2023Api1311.setJkxlh(sysData.getSn()); if (sysData.getAzwzlx().equals("08")) { sh2023Api1311.setSpjklx("1"); } else if (secType.indexOf(sysData.getAzwzlx()) >= 0) { sh2023Api1311.setSpjklx("2"); } else { sh2023Api1311.setSpjklx("3"); } sh2023Api1311.setSblxbm("1"); sh2023Api1311.setAzwzlx(sysData.getAzwzlx()); sh2023Api1311.setZsqy("Y"); sh2023Api1311.setJkjlxbm(sysData.getType().substring(1)); sh2023Api1311.setSbipdz(sysData.getIpIn()); sh2023Api1311.setSbdkh(sysData.getPortInV()); sh2023Api1311.setSbdlmc(sysData.getLoginId()); sh2023Api1311.setSbdlmm(sysData.getPwd()); sh2023Api1311.setBz(sysData.getRemark()); sh2023Api1311.setZhgxsj(sysData.getUpdateTime()); //持久化保存,单独存入非国标接口表 ApiInfoData infoData = new ApiInfoData(); infoData.setId(ContextUtil.getUUID()); infoData.setKqdm(kqdm); infoData.setInteType(Constant.API_CATEGORY_13); infoData.setInteId(SH2023Constant.SH_2023_API_CODE_1311); infoData.setUpdateTime(new Date()); infoData.setDataId(dataID); infoData.setRemarks("视频监控信息"); //设置操作标志 apiInfoDataList = apiInfoDataRep.getDataByInteAndData(SH2023Constant.SH_2023_API_CODE_1311, infoData.getDataId()); if (null == apiInfoDataList || apiInfoDataList.isEmpty()) { infoData.setCzbz(Constant.CZBZ_I); } else { infoData.setCzbz(apiInfoDataList.get(0).getCzbz()); } 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); } } }