车辆修改
This commit is contained in:
parent
8e1aa06145
commit
aa82cd85ca
@ -160,14 +160,12 @@ public class AsyncHikvision {
|
||||
}
|
||||
|
||||
@Async("carInfoExecutor")
|
||||
public void addCarInfoForHikvisionAsyc(CarInfo carInfo, Boolean existIsc) {
|
||||
public void addCarInfoForHikvisionAsyc(CarInfo carInfo) {
|
||||
try {
|
||||
hikvisionCall.saveCarInfoFromHikvision(carInfo);
|
||||
} catch (Exception e) {
|
||||
log.error("海康:", e);
|
||||
sendNoticeForCar(carInfo, e, "添加");
|
||||
} finally {
|
||||
xzHikvisionCompareDataService.compareRetrySuccess(existIsc, carInfo);
|
||||
}
|
||||
}
|
||||
|
||||
@ -198,26 +196,22 @@ public class AsyncHikvision {
|
||||
}
|
||||
|
||||
@Async("carInfoExecutor")
|
||||
public void editCarInfoForHikvisionAsync(CarInfo carInfo, CarInfo old, Boolean existIsc) {
|
||||
public void editCarInfoForHikvisionAsync(CarInfo carInfo, CarInfo old) {
|
||||
try {
|
||||
hikvisionCall.editCarInfoForHikvision(carInfo, old);
|
||||
} catch (Exception e) {
|
||||
log.error("海康:", e);
|
||||
sendNoticeForCar(carInfo, e, "编辑");
|
||||
} finally {
|
||||
xzHikvisionCompareDataService.compareRetrySuccess(existIsc, carInfo);
|
||||
}
|
||||
}
|
||||
|
||||
@Async("carInfoExecutor")
|
||||
public void deleteCarInfoForHikvisionAsync(CarInfo carInfo, boolean isSetBlack, Boolean existIsc) {
|
||||
public void deleteCarInfoAndSetBlackForHikvisionAsync(CarInfo carInfo, boolean isSetBlack) {
|
||||
try {
|
||||
hikvisionCall.deleteCarInfoForHikvision(carInfo, isSetBlack);
|
||||
} catch (Exception e) {
|
||||
log.error("海康:", e);
|
||||
sendNoticeForCar(carInfo, e, "删除");
|
||||
} finally {
|
||||
xzHikvisionCompareDataService.compareRetrySuccess(existIsc, carInfo);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -217,6 +217,35 @@ public class HikvisionCall {
|
||||
return null;
|
||||
}
|
||||
|
||||
public static String getWorkerJson(WorkerInfo workerInfo) {
|
||||
JSONObject jsonBody = new JSONObject();
|
||||
jsonBody.put("personId", workerInfo.getId());
|
||||
jsonBody.put("personName", workerInfo.getWorkerName());
|
||||
jsonBody.put("gender", workerInfo.getSex());
|
||||
jsonBody.put("orgIndexCode", getOrgIndexCode(workerInfo));
|
||||
jsonBody.put("birthday", workerInfo.getBirthday());
|
||||
jsonBody.put("phoneNo", workerInfo.getPhoneNumber());
|
||||
jsonBody.put("email", workerInfo.getPersonMail());
|
||||
jsonBody.put("certificateType", "111");
|
||||
jsonBody.put("certificateNo", workerInfo.getIdCard());
|
||||
jsonBody.put("jobNo", workerInfo.getPersonSn());
|
||||
return jsonBody.toJSONString();
|
||||
}
|
||||
|
||||
private static String getOrgIndexCode(WorkerInfo workerInfo) {
|
||||
if (workerInfo == null) {
|
||||
return null;
|
||||
}
|
||||
if (Objects.equals(workerInfo.getPersonType(), 1)) {
|
||||
return String.valueOf(workerInfo.getTeamId());
|
||||
} else if (Objects.equals(workerInfo.getPersonType(), 2)) {
|
||||
return String.valueOf(workerInfo.getDepartmentId());
|
||||
} else if (Objects.equals(workerInfo.getPersonType(), 3)) {
|
||||
return String.valueOf(workerInfo.getProjectSn());
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@ApiOperation(value = "海康事件回调", notes = "海康事件回调", httpMethod = "POST")
|
||||
@PostMapping(value = "/eventCallback")
|
||||
public Result eventCallback(@ApiIgnore @RequestBody JSONObject jsonObject) {
|
||||
@ -855,35 +884,6 @@ public class HikvisionCall {
|
||||
sendNoticeAndSetStatusForWorker("添加人员到海康isc", rs, workerInfo, 1, 1);
|
||||
}
|
||||
|
||||
public static String getWorkerJson(WorkerInfo workerInfo) {
|
||||
JSONObject jsonBody = new JSONObject();
|
||||
jsonBody.put("personId", workerInfo.getId());
|
||||
jsonBody.put("personName", workerInfo.getWorkerName());
|
||||
jsonBody.put("gender", workerInfo.getSex());
|
||||
jsonBody.put("orgIndexCode", getOrgIndexCode(workerInfo));
|
||||
jsonBody.put("birthday", workerInfo.getBirthday());
|
||||
jsonBody.put("phoneNo", workerInfo.getPhoneNumber());
|
||||
jsonBody.put("email", workerInfo.getPersonMail());
|
||||
jsonBody.put("certificateType", "111");
|
||||
jsonBody.put("certificateNo", workerInfo.getIdCard());
|
||||
jsonBody.put("jobNo", workerInfo.getPersonSn());
|
||||
return jsonBody.toJSONString();
|
||||
}
|
||||
|
||||
private static String getOrgIndexCode(WorkerInfo workerInfo) {
|
||||
if (workerInfo == null) {
|
||||
return null;
|
||||
}
|
||||
if (Objects.equals(workerInfo.getPersonType(), 1)) {
|
||||
return String.valueOf(workerInfo.getTeamId());
|
||||
} else if (Objects.equals(workerInfo.getPersonType(), 2)) {
|
||||
return String.valueOf(workerInfo.getDepartmentId());
|
||||
} else if (Objects.equals(workerInfo.getPersonType(), 3)) {
|
||||
return String.valueOf(workerInfo.getProjectSn());
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 编辑人员
|
||||
*
|
||||
@ -1005,6 +1005,9 @@ public class HikvisionCall {
|
||||
} else {
|
||||
updateFailStatusByNow(carInfo.getProjectSn(), carInfo.getId(), type, operate, AsyncHikvision.getSyncTime(), null);
|
||||
}
|
||||
|
||||
xzHikvisionCompareDataService.compareRetryStatus(carInfo, type, operate, setSuc);
|
||||
|
||||
if (isNotice) {
|
||||
if (ThreadLocalUtil.getByKey(Cts.TL_AUTH_USER, UserInfo.class) != null) {
|
||||
noticeService.addUserNotice(ThreadLocalUtil.getByKey(Cts.TL_AUTH_USER, UserInfo.class).getUserId(), msg, title, "24");
|
||||
@ -1054,7 +1057,7 @@ public class HikvisionCall {
|
||||
success = false;
|
||||
}
|
||||
if (success) {
|
||||
xzHikvisionCompareDataService.compareRetrySuccess();
|
||||
xzHikvisionCompareDataService.compareRetryStatus();
|
||||
} else {
|
||||
xzHikvisionCompareDataService.compareRetryFail();
|
||||
}
|
||||
@ -1123,7 +1126,7 @@ public class HikvisionCall {
|
||||
}
|
||||
if (success) {
|
||||
updateSuccessStatusByNow(workerInfo.getProjectSn(), workerInfo.getId(), type, operate, AsyncHikvision.getSyncTime(), null);
|
||||
xzHikvisionCompareDataService.compareRetrySuccess();
|
||||
xzHikvisionCompareDataService.compareRetryStatus();
|
||||
} else {
|
||||
updateFailStatusByNow(workerInfo.getProjectSn(), workerInfo.getId(), type, operate, AsyncHikvision.getSyncTime(), null);
|
||||
xzHikvisionCompareDataService.compareRetryFail();
|
||||
|
||||
@ -111,5 +111,6 @@
|
||||
<include refid="selectTable">
|
||||
</include>
|
||||
where t.car_number = #{carNumber}
|
||||
limit 1
|
||||
</select>
|
||||
</mapper>
|
||||
|
||||
@ -375,7 +375,7 @@ public class CarInfoServiceImpl extends ServiceImpl<CarInfoMapper, CarInfo> impl
|
||||
} else if (Objects.equals(carInfo.getCarModuleType(), 2) || Objects.equals(carInfo.getCarModuleType(), 3)) {
|
||||
xzHikvisionSyncMapper.insert(new XzHikvisionSync().setProjectSn(carInfo.getProjectSn()).setType(6).setOperate(1).setWhoId(carInfo.getId()).setBigType(2).setCreateDate(getSyncTimeWithInitIfAbsent(2, carInfo.getId())));
|
||||
}
|
||||
asyncHikvision.addCarInfoForHikvisionAsyc(carInfo, null);
|
||||
asyncHikvision.addCarInfoForHikvisionAsyc(carInfo);
|
||||
}
|
||||
}
|
||||
|
||||
@ -393,7 +393,7 @@ public class CarInfoServiceImpl extends ServiceImpl<CarInfoMapper, CarInfo> impl
|
||||
xzHikvisionSyncMapper.insert(new XzHikvisionSync().setProjectSn(carInfo.getProjectSn()).setType(6).setOperate(3).setWhoId(carInfo.getId()).setBigType(2).setCreateDate(getSyncTimeWithInitIfAbsent(2, carInfo.getId())));
|
||||
}
|
||||
xzHikvisionSyncMapper.insert(new XzHikvisionSync().setProjectSn(carInfo.getProjectSn()).setType(7).setOperate(isSetBlack ? 1 : 3).setWhoId(carInfo.getId()).setBigType(2).setCreateDate(getSyncTimeWithInitIfAbsent(2, carInfo.getId())));
|
||||
asyncHikvision.deleteCarInfoForHikvisionAsync(carInfo, isSetBlack, null);
|
||||
asyncHikvision.deleteCarInfoAndSetBlackForHikvisionAsync(carInfo, isSetBlack);
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -415,7 +415,7 @@ public class CarInfoServiceImpl extends ServiceImpl<CarInfoMapper, CarInfo> impl
|
||||
if (old.getIsBlack() == 1) {
|
||||
xzHikvisionSyncMapper.insert(new XzHikvisionSync().setProjectSn(carInfo.getProjectSn()).setType(7).setOperate(3).setWhoId(carInfo.getId()).setBigType(2).setCreateDate(getSyncTimeWithInitIfAbsent(2, carInfo.getId())));
|
||||
}
|
||||
asyncHikvision.editCarInfoForHikvisionAsync(carInfo, old, null);
|
||||
asyncHikvision.editCarInfoForHikvisionAsync(carInfo, old);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -3,6 +3,7 @@ package com.zhgd.xmgl.modules.xz.service;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.zhgd.xmgl.modules.car.entity.CarInfo;
|
||||
import com.zhgd.xmgl.modules.project.entity.Project;
|
||||
import com.zhgd.xmgl.modules.xz.entity.XzHikvisionCompareData;
|
||||
|
||||
@ -34,7 +35,7 @@ public interface IXzHikvisionCompareDataService extends IService<XzHikvisionComp
|
||||
|
||||
void compareRetryFail();
|
||||
|
||||
void compareRetrySuccess();
|
||||
void compareRetryStatus();
|
||||
|
||||
void addCompareDataForEnterprise(Project project, String orgName, int existIsc, int existMyPlatform, String uniqueId);
|
||||
|
||||
@ -62,4 +63,6 @@ public interface IXzHikvisionCompareDataService extends IService<XzHikvisionComp
|
||||
void manualCompareData(Map<String, Object> param) throws Exception;
|
||||
|
||||
void deleteAllCompareData(Project project);
|
||||
|
||||
void compareRetryStatus(CarInfo carInfo, Integer type, Integer operate, Boolean setSuc);
|
||||
}
|
||||
|
||||
@ -329,17 +329,21 @@ public class XzHikvisionCompareDataServiceImpl extends ServiceImpl<XzHikvisionCo
|
||||
|
||||
private void syncCar(XzHikvisionCompareData data) throws Exception {
|
||||
ProjectInfoExtVo projectInfoBySn = projectService.getProjectInfoBySn(data.getProjectSn());
|
||||
CarInfo carInfo = carInfoService.queryById(data.getUniqueId());
|
||||
CarInfo carInfo = carInfoService.queryByCarNumber(data.getCarNumber());
|
||||
if (data.getExistIsc() == 1 && data.getExistMyPlatform() == 0) {
|
||||
//查询id是否存在平台,存在就更新,不存在就删除
|
||||
if (carInfo != null) {
|
||||
//同步海康
|
||||
asyncHikvision.editCarInfoForHikvisionAsync(carInfo, carInfo, true);
|
||||
if (Objects.equals(carInfo.getIsBlack(), 1)) {
|
||||
asyncHikvision.deleteCarInfoAndSetBlackForHikvisionAsync(carInfo, true);
|
||||
} else {
|
||||
asyncHikvision.editCarInfoForHikvisionAsync(carInfo, carInfo);
|
||||
}
|
||||
} else {
|
||||
carInfo = new CarInfo();
|
||||
carInfo.setCarNumber(data.getCarNumber());
|
||||
carInfo.setProjectSn(data.getProjectSn());
|
||||
asyncHikvision.deleteCarInfoForHikvisionAsync(carInfo, false, false);
|
||||
asyncHikvision.deleteCarInfoAndSetBlackForHikvisionAsync(carInfo, false);
|
||||
}
|
||||
} else if (data.getExistIsc() == 0 && data.getExistMyPlatform() == 1) {
|
||||
//查询id是否存在isc,存在就更新,不存在就新增
|
||||
@ -359,62 +363,27 @@ public class XzHikvisionCompareDataServiceImpl extends ServiceImpl<XzHikvisionCo
|
||||
JSONArray list = HikvisionUtil.getJSONObjectData(rtJo).getJSONArray("list");
|
||||
if (CollUtil.isEmpty(list)) {
|
||||
//新增
|
||||
asyncHikvision.addCarInfoForHikvisionAsyc(carInfo, true);
|
||||
if (carInfo.getIsBlack() == 1) {
|
||||
asyncHikvision.deleteCarInfoAndSetBlackForHikvisionAsync(carInfo, true);
|
||||
} else {
|
||||
asyncHikvision.addCarInfoForHikvisionAsyc(carInfo);
|
||||
}
|
||||
} else {
|
||||
//更新
|
||||
asyncHikvision.editCarInfoForHikvisionAsync(carInfo, carInfo, true);
|
||||
//同步海康
|
||||
if (Objects.equals(carInfo.getIsBlack(), 1)) {
|
||||
asyncHikvision.deleteCarInfoAndSetBlackForHikvisionAsync(carInfo, true);
|
||||
} else {
|
||||
asyncHikvision.editCarInfoForHikvisionAsync(carInfo, carInfo);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
log.error("校验数据同步海康失败,失败原因:{}", rtJo.toJSONString());
|
||||
compareRetrySuccess(projectInfoBySn, carInfo, false);
|
||||
compareRetryFail();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @param projectInfoBySn
|
||||
* @param carInfo
|
||||
* @param existSuc isc存在车辆就成功,反之
|
||||
* @throws Exception
|
||||
*/
|
||||
public void compareRetrySuccess(ProjectInfoExtVo projectInfoBySn, CarInfo carInfo, boolean existSuc) throws Exception {
|
||||
//验证执行是否成功
|
||||
JSONArray listJa;
|
||||
if (carInfo.getCarModuleType() == null) {
|
||||
JSONObject jo = HikvisionUtil.getFixCarListByCarNumber(carInfo.getCarNumber(), projectInfoBySn, 1);
|
||||
JSONObject dataJo = HikvisionUtil.getJSONObjectData(jo);
|
||||
listJa = dataJo.getJSONArray("list");
|
||||
listJa.addAll(HikvisionUtil.getReservationCarInfoDataList(carInfo.getCarNumber(), projectInfoBySn));
|
||||
} else if (Objects.equals(carInfo.getCarModuleType(), 1)) {
|
||||
JSONObject jo = HikvisionUtil.getFixCarListByCarNumber(carInfo.getCarNumber(), projectInfoBySn, 1);
|
||||
JSONObject dataJo = HikvisionUtil.getJSONObjectData(jo);
|
||||
listJa = dataJo.getJSONArray("list");
|
||||
} else {
|
||||
listJa = HikvisionUtil.getReservationCarInfoDataList(carInfo.getCarNumber(), projectInfoBySn);
|
||||
}
|
||||
if (existSuc) {
|
||||
setExistSuc(listJa);
|
||||
} else {
|
||||
setEmptySuc(listJa);
|
||||
}
|
||||
}
|
||||
|
||||
private void setExistSuc(JSONArray listJa) {
|
||||
if (CollUtil.isNotEmpty(listJa)) {
|
||||
this.compareRetrySuccess();
|
||||
} else {
|
||||
this.compareRetryFail();
|
||||
}
|
||||
}
|
||||
|
||||
private void setEmptySuc(JSONArray listJa) {
|
||||
if (CollUtil.isEmpty(listJa)) {
|
||||
this.compareRetrySuccess();
|
||||
} else {
|
||||
this.compareRetryFail();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 数据校验重试失败
|
||||
*/
|
||||
@ -431,29 +400,13 @@ public class XzHikvisionCompareDataServiceImpl extends ServiceImpl<XzHikvisionCo
|
||||
* 数据校验重试成功
|
||||
*/
|
||||
@Override
|
||||
public void compareRetrySuccess() {
|
||||
public void compareRetryStatus() {
|
||||
XzHikvisionCompareData data = ThreadLocalUtil.getByKey(Cts.TL_XZ_HIKVISION_COMPARE_DATA_RETRY, XzHikvisionCompareData.class);
|
||||
if (data != null) {
|
||||
xzHikvisionCompareDataMapper.deleteById(data.getId());
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 是否从数据校验这里来
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
public void compareRetrySuccess(Boolean existIsc, CarInfo carInfo) {
|
||||
try {
|
||||
if (existIsc != null) {
|
||||
ProjectInfoExtVo projectInfoBySn = projectService.getProjectInfoBySn(carInfo.getProjectSn());
|
||||
xzHikvisionCompareDataService.compareRetrySuccess(projectInfoBySn, carInfo, existIsc);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
log.error("", e);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addCompareDataForEnterprise(Project project, String orgName, int existIsc, int existMyPlatform, String uniqueId) {
|
||||
XzHikvisionCompareData data = new XzHikvisionCompareData();
|
||||
@ -603,4 +556,27 @@ public class XzHikvisionCompareDataServiceImpl extends ServiceImpl<XzHikvisionCo
|
||||
.eq(XzHikvisionCompareData::getProjectSn, project.getProjectSn()));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void compareRetryStatus(CarInfo carInfo, Integer type, Integer operate, Boolean setSuc) {
|
||||
if (Objects.equals(carInfo.getIsBlack(), 1) && Objects.equals(type, 7)) {
|
||||
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();
|
||||
} else {
|
||||
compareRetryFail();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user