数据校验bug修复
This commit is contained in:
parent
fac25ea1b6
commit
6e92b68ab7
@ -101,6 +101,7 @@ public class DataScopeHandler implements DataPermissionHandler {
|
||||
tables.put("exam_course_record", "enterprise_id");
|
||||
tables.put("xz_worker_safe_watch_alarm", "enterprise_id");
|
||||
tables.put("dangerous_engineering_record", "responsibility_company_id");
|
||||
tables.put("project_fine_record", "enterprise_id");
|
||||
if (!environmentUtil.isBaise()) {
|
||||
tables.put("car_info", "enterprise_id");
|
||||
tables.put("enterprise_info", "id");
|
||||
|
||||
@ -309,9 +309,9 @@ public class AsyncHikvision {
|
||||
}
|
||||
|
||||
@Async("carInfoExecutor")
|
||||
public void deleteEnterpriseInfoForHikvision(String enterpriseId, String projectSn, String enterpriseName, Long projectEnterpriseId) {
|
||||
public void deleteEnterpriseInfoForHikvision(String projectSn, String enterpriseName) {
|
||||
try {
|
||||
hikvisionCall.deleteEnterpriseInfoForHikvision(enterpriseId, projectSn, enterpriseName, projectEnterpriseId);
|
||||
hikvisionCall.deleteEnterpriseInfoForHikvision(projectSn, enterpriseName);
|
||||
} catch (Exception e) {
|
||||
log.error("海康:", e);
|
||||
sendNoticeForOrg(enterpriseName, e, "删除");
|
||||
|
||||
@ -1014,6 +1014,15 @@ public class HikvisionCall {
|
||||
} else if (Objects.equals(code, "0x00072003")) {
|
||||
msg = "同步失败,车牌号码:" + carInfo.getCarNumber() + "。失败原因:车牌格式不正确!";
|
||||
title += "失败";
|
||||
} else if (Objects.equals(code, "0x00052301")) {
|
||||
String msg1 = jo.getString("msg");
|
||||
if (Objects.equals(msg1, "PersonId Not Exists")) {
|
||||
msg = "同步失败,车牌号码:" + carInfo.getCarNumber() + "。失败原因:车辆绑定的人员ID不存在";
|
||||
title += "失败";
|
||||
} else {
|
||||
msg = "同步失败,车牌号码:" + carInfo.getCarNumber() + "。失败原因:下发异常";
|
||||
title += "失败";
|
||||
}
|
||||
} else {
|
||||
msg = "同步失败,车牌号码:" + carInfo.getCarNumber() + "。失败原因:下发异常";
|
||||
title += "失败";
|
||||
@ -1035,7 +1044,7 @@ public class HikvisionCall {
|
||||
updateFailStatus(carInfo.getProjectSn(), carInfo.getId(), type, operate, null);
|
||||
}
|
||||
|
||||
xzHikvisionCompareDataService.compareRetryStatus(carInfo, type, operate, setSuc);
|
||||
xzHikvisionCompareDataService.compareRetryForCar(carInfo, type, operate, setSuc);
|
||||
|
||||
if (isNotice) {
|
||||
if (ThreadLocalUtil.getByKey(Cts.TL_AUTH_USER, UserInfo.class) != null) {
|
||||
@ -1076,6 +1085,22 @@ public class HikvisionCall {
|
||||
msg = "同步成功,组织名称:" + orgName;
|
||||
title += "成功";
|
||||
}
|
||||
} else if (jo.get("data") instanceof JSONArray) {
|
||||
JSONArray dataJa = jo.getJSONArray("data");
|
||||
if (CollUtil.isNotEmpty(dataJa)) {
|
||||
if ("0x00052102".equals(dataJa.getJSONObject(0).getString("code")) && "Exists Child Org".equals(dataJa.getJSONObject(0).getString("msg"))) {
|
||||
msg = "同步失败,组织名称:" + orgName + "。失败原因:ISC存在下级组织";
|
||||
title += "失败";
|
||||
success = false;
|
||||
} else {
|
||||
msg = "同步失败,组织名称:" + orgName + "。失败原因:下发异常";
|
||||
title += "失败";
|
||||
success = false;
|
||||
}
|
||||
} else {
|
||||
msg = "同步成功,组织名称:" + orgName;
|
||||
title += "成功";
|
||||
}
|
||||
} else {
|
||||
msg = "同步成功,组织名称:" + orgName;
|
||||
title += "成功";
|
||||
@ -1086,7 +1111,7 @@ public class HikvisionCall {
|
||||
success = false;
|
||||
}
|
||||
if (success) {
|
||||
xzHikvisionCompareDataService.compareRetryStatus();
|
||||
xzHikvisionCompareDataService.compareRetrySuc();
|
||||
} else {
|
||||
xzHikvisionCompareDataService.compareRetryFail();
|
||||
}
|
||||
@ -1155,7 +1180,7 @@ public class HikvisionCall {
|
||||
}
|
||||
if (success) {
|
||||
updateSuccessStatus(workerInfo.getProjectSn(), workerInfo.getId(), type, operate, null);
|
||||
xzHikvisionCompareDataService.compareRetryStatus();
|
||||
xzHikvisionCompareDataService.compareRetrySuc();
|
||||
} else {
|
||||
updateFailStatus(workerInfo.getProjectSn(), workerInfo.getId(), type, operate, null);
|
||||
xzHikvisionCompareDataService.compareRetryFail();
|
||||
@ -1850,21 +1875,45 @@ public class HikvisionCall {
|
||||
/**
|
||||
* 删除组织
|
||||
*
|
||||
* @param enterpriseId
|
||||
* @param projectSn
|
||||
* @param enterpriseName
|
||||
* @param projectEnterpriseId
|
||||
*/
|
||||
public void deleteEnterpriseInfoForHikvision(String enterpriseId, String projectSn, String enterpriseName, Long projectEnterpriseId) throws Exception {
|
||||
public void deleteEnterpriseInfoForHikvision(String projectSn, String enterpriseName) throws Exception {
|
||||
Project project = projectMapper.selectOne(new LambdaQueryWrapper<Project>().eq(Project::getProjectSn, projectSn));
|
||||
if (project == null || !Objects.equals(project.getSyncHikvision(), 1)) {
|
||||
return;
|
||||
}
|
||||
Pair<Boolean, String> pair = existAndGetEnterpriseOrgIndexCodeByEnterpriseId(project, String.valueOf(enterpriseId), projectEnterpriseId);
|
||||
String rs = HikvisionUtil.deleteOrgByIndexCodes(project, Collections.singletonList(pair.getRight()));
|
||||
String orgIndex = getOrgIndexByParentIndexAndName(project, enterpriseName);
|
||||
String rs = HikvisionUtil.deleteOrgByIndexCodes(project, Collections.singletonList(orgIndex));
|
||||
sendNoticeForOrg("删除组织到海康isc", rs, enterpriseName);
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据父级索引和名称获取组织索引
|
||||
*
|
||||
* @param project
|
||||
* @param orgName
|
||||
* @return
|
||||
* @throws Exception
|
||||
*/
|
||||
private String getOrgIndexByParentIndexAndName(Project project, String orgName) throws Exception {
|
||||
JSONObject param = new JSONObject();
|
||||
param.put("pageNo", 1);
|
||||
param.put("pageSize", 1000);
|
||||
param.put("orgName", orgName);
|
||||
param.put("parentOrgIndexCodes", project.getProjectSn());
|
||||
String rs = HikvisionUtil.getOrgV2(project, param);
|
||||
JSONObject dataJo = HikvisionUtil.getJSONObjectData(rs);
|
||||
JSONArray listJa = dataJo.getJSONArray("list");
|
||||
for (int i = 0; i < listJa.size(); i++) {
|
||||
JSONObject jo = listJa.getJSONObject(i);
|
||||
if (jo.getString("orgName").equals(orgName)) {
|
||||
return jo.getString("orgIndexCode");
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 添加组织
|
||||
*
|
||||
@ -2026,10 +2075,14 @@ public class HikvisionCall {
|
||||
* @return
|
||||
*/
|
||||
private JSONArray getOrgList(Project project, String orgIndexs, String parentOrgIndexCode) throws Exception {
|
||||
String rs = HikvisionUtil.getOrgV2(project, orgIndexs, parentOrgIndexCode);
|
||||
JSONObject param = new JSONObject();
|
||||
param.put("pageNo", 1);
|
||||
param.put("pageSize", 1000);
|
||||
param.put("orgIndexCodes", orgIndexs);
|
||||
param.put("parentOrgIndexCodes", parentOrgIndexCode);
|
||||
String rs = HikvisionUtil.getOrgV2(project, param);
|
||||
JSONObject jo = HikvisionUtil.getJSONObjectData(rs);
|
||||
JSONArray list = jo.getJSONArray("list");
|
||||
return list;
|
||||
return jo.getJSONArray("list");
|
||||
}
|
||||
|
||||
private HikvisionOrganization getHikvisionOrganization(Project project) {
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
package com.zhgd.xmgl.config;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.zhgd.xmgl.util.LogMdcUtil;
|
||||
import com.zhgd.xmgl.util.ThreadLocalUtil;
|
||||
@ -22,13 +23,14 @@ public class MdcThreadPoolTaskExecutor extends ThreadPoolTaskExecutor {
|
||||
Map<String, String> context = MDC.getCopyOfContextMap(); //复制主线程MDC
|
||||
JSONObject tlJo = ThreadLocalUtil.get();
|
||||
log.info("MDC异步多线程...");
|
||||
JSONObject copyTl = BeanUtil.toBean(tlJo, JSONObject.class);
|
||||
super.execute(() -> {
|
||||
if (null != context) {
|
||||
MDC.setContextMap(context); //主线程MDC赋予子线程
|
||||
} else {
|
||||
LogMdcUtil.setRequestId(); //主线程没有MDC就自己生成一个
|
||||
}
|
||||
ThreadLocalUtil.set(tlJo);
|
||||
ThreadLocalUtil.set(copyTl);
|
||||
try {
|
||||
task.run();
|
||||
} finally {
|
||||
@ -50,13 +52,14 @@ public class MdcThreadPoolTaskExecutor extends ThreadPoolTaskExecutor {
|
||||
Map<String, String> context = MDC.getCopyOfContextMap(); //复制主线程MDC
|
||||
JSONObject tlJo = ThreadLocalUtil.get();
|
||||
log.info("MDC异步多线程...");
|
||||
JSONObject copyTl = BeanUtil.toBean(tlJo, JSONObject.class);
|
||||
return super.submit(() -> {
|
||||
if (null != context) {
|
||||
MDC.setContextMap(context); //主线程MDC赋予子线程
|
||||
} else {
|
||||
LogMdcUtil.setRequestId(); //主线程没有MDC就自己生成一个
|
||||
}
|
||||
ThreadLocalUtil.set(tlJo);
|
||||
ThreadLocalUtil.set(copyTl);
|
||||
try {
|
||||
return task.call();
|
||||
} finally {
|
||||
|
||||
@ -4,6 +4,7 @@ import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.zhgd.annotation.DataScope;
|
||||
import com.zhgd.jeecg.common.mybatis.EntityMap;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
@ -17,6 +18,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
* @version: V1.0
|
||||
*/
|
||||
@Mapper
|
||||
@DataScope
|
||||
public interface ProjectFineRecordMapper extends BaseMapper<ProjectFineRecord> {
|
||||
|
||||
List<ProjectFineRecord> selectProjectFineRecordPageList(Page<ProjectFineRecord> page, @Param("param") Map<String, Object> map);
|
||||
|
||||
@ -312,7 +312,7 @@ public class EnterpriseInfoServiceImpl extends ServiceImpl<EnterpriseInfoMapper,
|
||||
}
|
||||
EnterpriseInfo enterpriseInfo = baseMapper.selectById(enterpriseId);
|
||||
//同步海康
|
||||
asyncHikvision.deleteEnterpriseInfoForHikvision(enterpriseId, projectSn, enterpriseInfo.getEnterpriseName(), projectEnterprise != null ? projectEnterprise.getId() : null);
|
||||
asyncHikvision.deleteEnterpriseInfoForHikvision(projectSn, enterpriseInfo.getEnterpriseName());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@ -102,4 +102,9 @@ public class XzHikvisionCompareData implements Serializable {
|
||||
*/
|
||||
@ApiModelProperty(value = "更新时间")
|
||||
private java.util.Date updateDate;
|
||||
/**
|
||||
* 车辆isc存在类型:1固定车2预约车3黑名单
|
||||
*/
|
||||
@ApiModelProperty(value = "车辆isc存在类型:1固定车2预约车3黑名单")
|
||||
private java.lang.Integer carIscExistType;
|
||||
}
|
||||
|
||||
@ -35,7 +35,7 @@ public interface IXzHikvisionCompareDataService extends IService<XzHikvisionComp
|
||||
|
||||
void compareRetryFail();
|
||||
|
||||
void compareRetryStatus();
|
||||
void compareRetrySuc();
|
||||
|
||||
void addCompareDataForEnterprise(Project project, String orgName, int existIsc, int existMyPlatform, String uniqueId);
|
||||
|
||||
@ -47,7 +47,7 @@ public interface IXzHikvisionCompareDataService extends IService<XzHikvisionComp
|
||||
|
||||
void addCompareDataForFace(Project project, String workerName, int existIsc, int existMyPlatform, String uniqueId, String idCard);
|
||||
|
||||
void addCompareDataForCar(Project project, String carNumber, int existIsc, int existMyPlatform, String uniqueId);
|
||||
void addCompareDataForCar(Project project, String carNumber, int existIsc, int existMyPlatform, String uniqueId, Integer carIscExistType);
|
||||
|
||||
|
||||
void addExceptionShowIfNull(String projectSn);
|
||||
@ -64,5 +64,5 @@ public interface IXzHikvisionCompareDataService extends IService<XzHikvisionComp
|
||||
|
||||
void deleteAllCompareData(Project project);
|
||||
|
||||
void compareRetryStatus(CarInfo carInfo, Integer type, Integer operate, Boolean setSuc);
|
||||
void compareRetryForCar(CarInfo carInfo, Integer type, Integer operate, Boolean setSuc);
|
||||
}
|
||||
|
||||
@ -46,6 +46,7 @@ import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.context.annotation.Lazy;
|
||||
import org.springframework.scheduling.annotation.Async;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Propagation;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.*;
|
||||
@ -165,6 +166,7 @@ public class XzHikvisionCompareDataServiceImpl extends ServiceImpl<XzHikvisionCo
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(propagation = Propagation.NOT_SUPPORTED)
|
||||
public void sync(String ids) throws Exception {
|
||||
List<String> idList = StrUtil.split(ids, ",");
|
||||
for (String id : idList) {
|
||||
@ -172,7 +174,7 @@ public class XzHikvisionCompareDataServiceImpl extends ServiceImpl<XzHikvisionCo
|
||||
if (data == null) {
|
||||
continue;
|
||||
}
|
||||
ThreadLocalUtil.addInKeyIfNotExist(Cts.TL_XZ_HIKVISION_COMPARE_DATA_RETRY, data);
|
||||
ThreadLocalUtil.addInKey(Cts.TL_XZ_HIKVISION_COMPARE_DATA_RETRY, data);
|
||||
xzHikvisionCompareDataService.sync(data);
|
||||
}
|
||||
}
|
||||
@ -208,7 +210,7 @@ public class XzHikvisionCompareDataServiceImpl extends ServiceImpl<XzHikvisionCo
|
||||
//同步海康
|
||||
asyncHikvision.editEnterpriseInfoForHikvision(enterpriseInfo);
|
||||
} else {
|
||||
asyncHikvision.deleteEnterpriseInfoForHikvision(data.getUniqueId(), data.getProjectSn(), data.getOrgName(), enterpriseInfo.getProjectEnterprise() != null ? enterpriseInfo.getProjectEnterprise().getId() : null);
|
||||
asyncHikvision.deleteEnterpriseInfoForHikvision(data.getProjectSn(), data.getOrgName());
|
||||
}
|
||||
} else if (data.getExistIsc() == 0 && data.getExistMyPlatform() == 1) {
|
||||
//查询id是否存在isc,存在就更新,不存在就新增
|
||||
@ -241,6 +243,7 @@ public class XzHikvisionCompareDataServiceImpl extends ServiceImpl<XzHikvisionCo
|
||||
} else {
|
||||
teamInfo = new TeamInfo();
|
||||
teamInfo.setTeamName(data.getOrgName());
|
||||
teamInfo.setProjectSn(data.getProjectSn());
|
||||
asyncHikvision.deleteTeamInfoForHikvision(data.getUniqueId(), teamInfo);
|
||||
}
|
||||
} else if (data.getExistIsc() == 0 && data.getExistMyPlatform() == 1) {
|
||||
@ -274,6 +277,7 @@ public class XzHikvisionCompareDataServiceImpl extends ServiceImpl<XzHikvisionCo
|
||||
} else {
|
||||
departmentInfo = new DepartmentInfo();
|
||||
departmentInfo.setDepartmentName(data.getOrgName());
|
||||
departmentInfo.setProjectSn(data.getProjectSn());
|
||||
asyncHikvision.deleteDepartmentInfoForHikvision(data.getUniqueId(), departmentInfo);
|
||||
}
|
||||
} else if (data.getExistIsc() == 0 && data.getExistMyPlatform() == 1) {
|
||||
@ -313,6 +317,8 @@ public class XzHikvisionCompareDataServiceImpl extends ServiceImpl<XzHikvisionCo
|
||||
} else {
|
||||
workerInfo = new WorkerInfo();
|
||||
workerInfo.setWorkerName(data.getWorkerName());
|
||||
workerInfo.setProjectSn(projectInfoBySn.getProjectSn());
|
||||
workerInfo.setIdCard(data.getIdCard());
|
||||
workerInfoService.deleteWorkerForHikvision(data.getUniqueId(), workerInfo);
|
||||
}
|
||||
} else if (data.getExistIsc() == 0 && data.getExistMyPlatform() == 1) {
|
||||
@ -357,6 +363,15 @@ public class XzHikvisionCompareDataServiceImpl extends ServiceImpl<XzHikvisionCo
|
||||
carInfo = new CarInfo();
|
||||
carInfo.setCarNumber(data.getCarNumber());
|
||||
carInfo.setProjectSn(data.getProjectSn());
|
||||
if (Objects.equals(data.getCarIscExistType(), 1)) {
|
||||
carInfo.setIsBlack(0);
|
||||
carInfo.setCarModuleType(1);
|
||||
} else if (Objects.equals(data.getCarIscExistType(), 2)) {
|
||||
carInfo.setIsBlack(0);
|
||||
carInfo.setCarModuleType(2);
|
||||
} else if (Objects.equals(data.getCarIscExistType(), 3)) {
|
||||
carInfo.setIsBlack(1);
|
||||
}
|
||||
deleteCarInfoAndSetBlackForHikvisionAsync(carInfo, 3, false);
|
||||
}
|
||||
} else if (data.getExistIsc() == 0 && data.getExistMyPlatform() == 1) {
|
||||
@ -385,6 +400,9 @@ public class XzHikvisionCompareDataServiceImpl extends ServiceImpl<XzHikvisionCo
|
||||
.eq(XzHikvisionSync::getWhoId, carInfo.getId())
|
||||
);
|
||||
xzHikvisionSyncMapper.insert(new XzHikvisionSync().setProjectSn(carInfo.getProjectSn()).setType(Objects.equals(carInfo.getCarModuleType(), 1) ? 4 : 6).setOperate(1).setWhoId(carInfo.getId()).setBigType(2).setCreateDate(getSyncTimeWithInitIfAbsent()));
|
||||
if (Objects.equals(carInfo.getCarModuleType(), 1)) {
|
||||
xzHikvisionSyncMapper.insert(new XzHikvisionSync().setProjectSn(carInfo.getProjectSn()).setType(5).setOperate(1).setWhoId(carInfo.getId()).setBigType(2).setCreateDate(getSyncTimeWithInitIfAbsent()));
|
||||
}
|
||||
asyncHikvision.addCarInfoForHikvisionAsync(carInfo);
|
||||
}
|
||||
} else {
|
||||
@ -419,6 +437,9 @@ public class XzHikvisionCompareDataServiceImpl extends ServiceImpl<XzHikvisionCo
|
||||
.eq(XzHikvisionSync::getWhoId, carInfo.getId())
|
||||
);
|
||||
xzHikvisionSyncMapper.insert(new XzHikvisionSync().setProjectSn(carInfo.getProjectSn()).setType(Objects.equals(carInfo.getCarModuleType(), 1) ? 4 : 6).setOperate(1).setWhoId(carInfo.getId()).setBigType(2).setCreateDate(getSyncTimeWithInitIfAbsent()));
|
||||
if (Objects.equals(carInfo.getCarModuleType(), 1)) {
|
||||
xzHikvisionSyncMapper.insert(new XzHikvisionSync().setProjectSn(carInfo.getProjectSn()).setType(5).setOperate(1).setWhoId(carInfo.getId()).setBigType(2).setCreateDate(getSyncTimeWithInitIfAbsent()));
|
||||
}
|
||||
asyncHikvision.editCarInfoForHikvisionAsync(carInfo, carInfo);
|
||||
}
|
||||
|
||||
@ -438,7 +459,7 @@ public class XzHikvisionCompareDataServiceImpl extends ServiceImpl<XzHikvisionCo
|
||||
* 数据校验重试成功
|
||||
*/
|
||||
@Override
|
||||
public void compareRetryStatus() {
|
||||
public void compareRetrySuc() {
|
||||
XzHikvisionCompareData data = ThreadLocalUtil.getByKey(Cts.TL_XZ_HIKVISION_COMPARE_DATA_RETRY, XzHikvisionCompareData.class);
|
||||
if (data != null) {
|
||||
xzHikvisionCompareDataMapper.deleteById(data.getId());
|
||||
@ -513,7 +534,7 @@ public class XzHikvisionCompareDataServiceImpl extends ServiceImpl<XzHikvisionCo
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addCompareDataForCar(Project project, String carNumber, int existIsc, int existMyPlatform, String uniqueId) {
|
||||
public void addCompareDataForCar(Project project, String carNumber, int existIsc, int existMyPlatform, String uniqueId, Integer carIscExistType) {
|
||||
XzHikvisionCompareData data = new XzHikvisionCompareData();
|
||||
data.setProjectSn(project.getProjectSn());
|
||||
data.setCarNumber(carNumber);
|
||||
@ -522,6 +543,7 @@ public class XzHikvisionCompareDataServiceImpl extends ServiceImpl<XzHikvisionCo
|
||||
data.setType(4);
|
||||
data.setOurType(6);
|
||||
data.setUniqueId(uniqueId);
|
||||
data.setCarIscExistType(carIscExistType);
|
||||
baseMapper.insert(data);
|
||||
}
|
||||
|
||||
@ -598,23 +620,22 @@ public class XzHikvisionCompareDataServiceImpl extends ServiceImpl<XzHikvisionCo
|
||||
.eq(XzHikvisionCompareData::getProjectSn, project.getProjectSn()));
|
||||
}
|
||||
|
||||
/**
|
||||
* @param carInfo
|
||||
* @param type 1人员2人员照片3人员权限4固定车辆5固定车辆群组6临时车7车辆布防
|
||||
* @param operate
|
||||
* @param setSuc
|
||||
*/
|
||||
@Override
|
||||
public void compareRetryStatus(CarInfo carInfo, Integer type, Integer operate, Boolean setSuc) {
|
||||
if (Objects.equals(carInfo.getIsBlack(), 1) && Objects.equals(type, 7)) {
|
||||
public void compareRetryForCar(CarInfo carInfo, Integer type, Integer operate, Boolean setSuc) {
|
||||
XzHikvisionCompareData data = ThreadLocalUtil.getByKey(Cts.TL_XZ_HIKVISION_COMPARE_DATA_RETRY, XzHikvisionCompareData.class);
|
||||
boolean isBlack = Objects.equals(carInfo.getIsBlack(), 1) && Objects.equals(type, 7);
|
||||
boolean isFix = Objects.equals(carInfo.getCarModuleType(), 1) && Objects.equals(type, 4);
|
||||
boolean isReservation = !Objects.equals(carInfo.getCarModuleType(), 1) && Objects.equals(type, 6) && Objects.equals(operate, 1);
|
||||
boolean isCancelReservation = !Objects.equals(carInfo.getCarModuleType(), 1) && Objects.equals(type, 6) && Objects.equals(operate, 3) && data != null && (Objects.equals(data.getExistIsc(), 1) && Objects.equals(data.getExistMyPlatform(), 0));
|
||||
if (isBlack || isFix || isReservation || isCancelReservation) {
|
||||
if (setSuc) {
|
||||
compareRetryStatus();
|
||||
} else {
|
||||
compareRetryFail();
|
||||
}
|
||||
} else if (Objects.equals(carInfo.getCarModuleType(), 1) && Objects.equals(type, 4)) {
|
||||
if (setSuc) {
|
||||
compareRetryStatus();
|
||||
} else {
|
||||
compareRetryFail();
|
||||
}
|
||||
} else if (!Objects.equals(carInfo.getCarModuleType(), 1) && Objects.equals(type, 6) && Objects.equals(operate, 1)) {
|
||||
if (setSuc) {
|
||||
compareRetryStatus();
|
||||
compareRetrySuc();
|
||||
} else {
|
||||
compareRetryFail();
|
||||
}
|
||||
|
||||
@ -355,7 +355,7 @@ public class HikvisionTask {
|
||||
.build());
|
||||
JSONObject dataJo = HikvisionUtil.getJSONObjectData(rtJo);
|
||||
JSONArray listJa = dataJo.getJSONArray("list");
|
||||
compareAndAddData(project, listJa, carInfoList);
|
||||
compareAndAddData(project, listJa, carInfoList, 1);
|
||||
}
|
||||
|
||||
public void compareHikvisionForReservationCar(Project project) throws Exception {
|
||||
@ -367,7 +367,7 @@ public class HikvisionTask {
|
||||
.put(Cts.RESERVATION_TYPE, 1)
|
||||
.put("isBlack", 0)
|
||||
.build());
|
||||
compareAndAddData(project, listJa, carInfoList);
|
||||
compareAndAddData(project, listJa, carInfoList, 2);
|
||||
}
|
||||
|
||||
public void compareHikvisionForBlackCar(Project project) throws Exception {
|
||||
@ -383,13 +383,13 @@ public class HikvisionTask {
|
||||
.put(Cts.PROJECT_SN, project.getProjectSn())
|
||||
.put("isBlack", 1)
|
||||
.build());
|
||||
compareAndAddData(project, listJa, carInfoList);
|
||||
compareAndAddData(project, listJa, carInfoList, 3);
|
||||
}
|
||||
|
||||
private void compareAndAddData(Project project, JSONArray listJa, List<CarInfo> carInfoList) {
|
||||
private void compareAndAddData(Project project, JSONArray listJa, List<CarInfo> carInfoList, int carIscExistType) {
|
||||
if (CollUtil.isEmpty(listJa)) {
|
||||
for (CarInfo carInfo : carInfoList) {
|
||||
xzHikvisionCompareDataService.addCompareDataForCar(project, carInfo.getCarNumber(), 0, 1, String.valueOf(carInfo.getId()));
|
||||
xzHikvisionCompareDataService.addCompareDataForCar(project, carInfo.getCarNumber(), 0, 1, String.valueOf(carInfo.getId()), null);
|
||||
}
|
||||
} else {
|
||||
//isc存在,平台也存在
|
||||
@ -402,10 +402,10 @@ public class HikvisionTask {
|
||||
String uniqueId = null;
|
||||
if (myMap.containsKey(carNumber) && !iscMap.containsKey(carNumber)) {
|
||||
uniqueId = String.valueOf(myMap.get(carNumber).getId());
|
||||
xzHikvisionCompareDataService.addCompareDataForCar(project, carNumber, 0, 1, uniqueId);
|
||||
xzHikvisionCompareDataService.addCompareDataForCar(project, carNumber, 0, 1, uniqueId, null);
|
||||
} else if (!myMap.containsKey(carNumber) && iscMap.containsKey(carNumber)) {
|
||||
uniqueId = iscMap.get(carNumber).getString("vehicleId");
|
||||
xzHikvisionCompareDataService.addCompareDataForCar(project, carNumber, 1, 0, uniqueId);
|
||||
xzHikvisionCompareDataService.addCompareDataForCar(project, carNumber, 1, 0, uniqueId, carIscExistType);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -354,23 +354,16 @@ public class HikvisionUtil {
|
||||
* 获取组织列表v2
|
||||
*
|
||||
* @param project
|
||||
* @param orgIndex
|
||||
* @param parentOrgIndexCode
|
||||
* @param jo
|
||||
*/
|
||||
public static String getOrgV2(Project project, String orgIndex, String parentOrgIndexCode) throws Exception {
|
||||
public static String getOrgV2(Project project, JSONObject jo) throws Exception {
|
||||
if (project == null || !Objects.equals(project.getSyncHikvision(), 1)) {
|
||||
return null;
|
||||
}
|
||||
final String ARTEMIS_PATH = "/artemis";
|
||||
final String path = ARTEMIS_PATH + "/api/resource/v2/org/advance/orgList";
|
||||
String host = "https://" + project.getArtemisConfigHost();
|
||||
JSONObject jo = new JSONObject();
|
||||
jo.put("pageNo", 1);
|
||||
jo.put("pageSize", 100);
|
||||
jo.put("orgIndexCodes", orgIndex);
|
||||
jo.put("parentOrgIndexCodes", parentOrgIndexCode);
|
||||
String body = jo.toJSONString();
|
||||
return doPost(host, path, body, null, project.getArtemisConfigAppKey(), project.getArtemisConfigAppSecret());
|
||||
return doPost(host, path, jo.toJSONString(), null, project.getArtemisConfigAppKey(), project.getArtemisConfigAppSecret());
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user