bug修复

This commit is contained in:
guoshengxiong 2024-06-04 20:51:51 +08:00
parent 64608c6a9b
commit 37e384bb93
8 changed files with 222 additions and 125 deletions

View File

@ -78,6 +78,7 @@ public class DataScopeInterceptor extends JsqlParserSupport implements InnerInte
sb.append(".java:");
sb.append(e.getLineNumber());
sb.append(")");
sb.append(" \r\n ");
sb.append(" > ");
}
}

View File

@ -650,7 +650,7 @@ public class HikvisionCall {
for (Project project : projects) {
String projectParkCode = null;
try {
projectParkCode = getProjectParkCode(project);
projectParkCode = HikvisionUtil.getProjectParkCode(project);
} catch (Exception e) {
log.error("err:", e);
return;
@ -974,8 +974,7 @@ public class HikvisionCall {
final String path = ARTEMIS_PATH + "/api/resource/v1/person/single/update";
String host = "https://" + project.getArtemisConfigHost();
String body = getWorkerJson(workerInfo);
String rs = HikvisionUtil.doPost(host, path, body, null, project.getArtemisConfigAppKey(), project.getArtemisConfigAppSecret());
return rs;
return HikvisionUtil.doPost(host, path, body, null, project.getArtemisConfigAppKey(), project.getArtemisConfigAppSecret());
}
/**
@ -1099,14 +1098,30 @@ public class HikvisionCall {
String msg = "";
String type = "25";
if (success) {
msg = "同步成功,组织名称:" + orgName;
title += "成功";
JSONObject jo = JSONObject.parseObject(rs);
JSONObject dataJo = jo.getJSONObject("data");
Optional<JSONArray> fOp = Optional.ofNullable(dataJo).map(o -> o.getJSONArray("failures"));
if (fOp.isPresent() && fOp.get().size() != 0) {
if ("0x00052102".equals(fOp.get().getJSONObject(0).getString("code"))) {
msg = "同步失败,组织名称:" + orgName + "。失败原因:上级组织不存在";
title += "失败";
success = false;
} else {
msg = "同步失败,组织名称:" + orgName + "。失败原因:下发异常";
title += "失败";
success = false;
}
} else {
msg = "同步成功,组织名称:" + orgName;
title += "成功";
}
} else {
msg = "同步失败,组织名称:" + orgName + "。失败原因:" + rs;
title += "失败";
success = false;
}
if (success) {
xzHikvisionCompareDataService.compareRetrySuc();
xzHikvisionCompareDataService.compareRetrySuccess();
} else {
xzHikvisionCompareDataService.compareRetryFail();
}
@ -1172,8 +1187,10 @@ public class HikvisionCall {
}
if (success) {
updateSuccessStatusByNow(workerInfo.getProjectSn(), workerInfo.getId(), type, operate, AsyncHikvision.getSyncTime(), null);
xzHikvisionCompareDataService.compareRetrySuccess();
} else {
updateFailStatusByNow(workerInfo.getProjectSn(), workerInfo.getId(), type, operate, AsyncHikvision.getSyncTime(), null);
xzHikvisionCompareDataService.compareRetryFail();
}
if (SecurityUtils.getUser() != null && SecurityUtils.getUser().getUserId() != null) {
noticeService.addUserNotice(SecurityUtils.getUser().getUserId(), msg, title, noticeType);
@ -1577,7 +1594,7 @@ public class HikvisionCall {
@NotNull
private String getCategoryCode(Project project) throws Exception {
//绑定固定的群组
JSONArray ja = HikvisionUtil.queryCategory(project);
JSONArray ja = HikvisionUtil.getCategoryList(project);
return getFixedCarGroupName(ja);
}
@ -1804,7 +1821,7 @@ public class HikvisionCall {
JSONObject o1 = null;
int pageNo = 0;
do {
JSONObject jo = HikvisionUtil.getCarInfoListByCarNumber(carNumber, project, ++pageNo);
JSONObject jo = HikvisionUtil.getFixCarListByCarNumber(carNumber, project, ++pageNo);
if (HikvisionUtil.isSuccess(jo)) {
JSONObject dataJo = HikvisionUtil.getJSONObjectData(jo);
total = dataJo.getInteger("total");
@ -1846,7 +1863,7 @@ public class HikvisionCall {
final String ARTEMIS_PATH = "/artemis";
final String path = ARTEMIS_PATH + "/api/pms/v1/parkingSpace/reservations/deletion";
String host = "https://" + project.getArtemisConfigHost();
JSONArray reservationCarInfoList = getReservationCarInfoList(carInfo.getCarNumber(), project);
JSONArray reservationCarInfoList = HikvisionUtil.getReservationCarInfoDataList(carInfo.getCarNumber(), project);
if (CollUtil.isNotEmpty(reservationCarInfoList)) {
for (int i = 0; i < reservationCarInfoList.size(); i++) {
JSONObject jsonObject = reservationCarInfoList.getJSONObject(i);
@ -1861,38 +1878,6 @@ public class HikvisionCall {
}
}
/**
* 查询预约记录v2
*
* @param carNumber
* @param project
*/
public JSONArray getReservationCarInfoList(String carNumber, Project project) throws Exception {
final String ARTEMIS_PATH = "/artemis";
final String path = ARTEMIS_PATH + "/api/pms/v2/reserveRecord/page";
String host = "https://" + project.getArtemisConfigHost();
HikvisionReservationCarInfo info = getHikvisionReservationCarInfoObj(carNumber, project);
String rs = HikvisionUtil.doPost(host, path, JSON.toJSONString(info), null, project.getArtemisConfigAppKey(), project.getArtemisConfigAppSecret());
JSONObject jsonObjectData = HikvisionUtil.getJSONObjectData(rs);
return jsonObjectData.getJSONArray("list");
}
private HikvisionReservationCarInfo getHikvisionReservationCarInfoObj(String carNumber, Project project) throws Exception {
String projectParkCode = getProjectParkCode(project);
HikvisionReservationCarInfo hikvisionReservationCarInfo = new HikvisionReservationCarInfo();
hikvisionReservationCarInfo.setParkSyscode(projectParkCode);
hikvisionReservationCarInfo.setPlateNo(carNumber);
hikvisionReservationCarInfo.setResvState(0L);
//hikvisionReservationCarInfo.setResvWay();
//hikvisionReservationCarInfo.setAllowTimes();
//hikvisionReservationCarInfo.setIsCharge();
//hikvisionReservationCarInfo.setStartTime();
//hikvisionReservationCarInfo.setEndTime();
hikvisionReservationCarInfo.setPageNo(1L);
hikvisionReservationCarInfo.setPageSize(999L);
return hikvisionReservationCarInfo;
}
/**
* 添加组织
*
@ -2164,23 +2149,6 @@ public class HikvisionCall {
return jo.getJSONArray("list").size() > 0;
}
/**
* 获取停车库列表
*
* @param project
*/
public JSONArray getParkList(Project project) throws Exception {
if (project == null || !Objects.equals(project.getSyncHikvision(), 1)) {
return null;
}
final String ARTEMIS_PATH = "/artemis";
final String path = ARTEMIS_PATH + "/api/resource/v1/park/parkList";
String host = "https://" + project.getArtemisConfigHost();
JSONObject jo = new JSONObject();
String rs = HikvisionUtil.doPost(host, path, jo.toJSONString(), null, project.getArtemisConfigAppKey(), project.getArtemisConfigAppSecret());
return HikvisionUtil.getJSONArrayData(rs);
}
private HikvisionOrganization getHikvisionOrganization(Project project) {
HikvisionOrganization hikvisionOrganization = new HikvisionOrganization();
hikvisionOrganization.setClientId(null);
@ -2213,7 +2181,7 @@ public class HikvisionCall {
*/
private void cancelCharge(Project project, CarInfo carInfo) throws Exception {
//取消车辆包期
String parkIndexCode = getProjectParkCode(project);
String parkIndexCode = HikvisionUtil.getProjectParkCode(project);
chargeDeletion(project, new ChargeDeletionParam(parkIndexCode, carInfo.getCarNumber()));
}
@ -2227,7 +2195,7 @@ public class HikvisionCall {
}
private ParkReservation getParkReservation(Project project, CarInfo carInfo) throws Exception {
String parkIndexCode = getProjectParkCode(project);
String parkIndexCode = HikvisionUtil.getProjectParkCode(project);
WorkerInfo workerInfo = workerInfoMapper.selectById(carInfo.getDriverWorkerId());
ParkReservation parkReservation = new ParkReservation();
parkReservation.setParkSyscode(parkIndexCode);
@ -2245,28 +2213,6 @@ public class HikvisionCall {
return parkReservation;
}
/**
* 获取项目名称的停车场的parkIndexCode没有一样名字的就取第一个停车场
*
* @param project
* @return
*/
public String getProjectParkCode(Project project) throws Exception {
JSONArray parkList = getParkList(project);
if (parkList != null && parkList.size() > 0) {
for (int i = 0; i < parkList.size(); i++) {
JSONObject jo = parkList.getJSONObject(i);
if (Objects.equals(jo.getString("parkName"), project.getProjectName())) {
return jo.getString("parkIndexCode");
}
}
//没有一样名字的就取第一个停车场
return parkList.getJSONObject(0).getString("parkIndexCode");
} else {
throw new OpenPromptException("未查询到停车场信息");
}
}
public String saveToLocal(String url) {
return UrlUtil.saveToLocal(url, basePath, IdUtil.simpleUUID() + ".png");

View File

@ -69,4 +69,9 @@ public class WorkerAccessRecord implements Serializable {
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private java.util.Date updateTime;
@ApiModelProperty(value = "准入状态:1允许入场2拒绝入场")
private Integer accessStatus;
@ApiModelProperty(value = "扫码人员的账号名")
private java.lang.String scanQrCoder;
}

View File

@ -139,7 +139,7 @@ public class XzHikvisionCompareDataController {
@ApiImplicitParam(name = "type", value = "1人员2车辆", paramType = "body", required = true, dataType = "Integer"),
})
@PostMapping(value = "/manualCompareData")
public Result manualCompareData(@ApiIgnore @RequestBody Map<String ,Object> param) {
public Result manualCompareData(@ApiIgnore @RequestBody Map<String, Object> param) throws Exception {
xzHikvisionCompareDataService.manualCompareData(param);
return Result.ok("已在后台校验中");
}

View File

@ -34,7 +34,7 @@ public interface IXzHikvisionCompareDataService extends IService<XzHikvisionComp
void compareRetryFail();
void compareRetrySuc();
void compareRetrySuccess();
void addCompareDataForEnterprise(Project project, String orgName, int existIsc, int existMyPlatform, String uniqueId);
@ -59,7 +59,7 @@ public interface IXzHikvisionCompareDataService extends IService<XzHikvisionComp
JSONObject checkCompareDataException(Map<String, Object> param);
void manualCompareData(Map<String, Object> param);
void manualCompareData(Map<String, Object> param) throws Exception;
void deleteAllCompareData(Project project);
}

View File

@ -18,6 +18,7 @@ import com.zhgd.xmgl.async.AsyncHikvision;
import com.zhgd.xmgl.async.AsyncXzHikvisionCompareData;
import com.zhgd.xmgl.call.HikvisionCall;
import com.zhgd.xmgl.constant.Cts;
import com.zhgd.xmgl.modules.basicdata.service.impl.NoticeServiceImpl;
import com.zhgd.xmgl.modules.car.entity.CarInfo;
import com.zhgd.xmgl.modules.car.service.ICarInfoService;
import com.zhgd.xmgl.modules.project.entity.Project;
@ -34,6 +35,7 @@ import com.zhgd.xmgl.modules.worker.service.impl.WorkerInfoServiceImpl;
import com.zhgd.xmgl.modules.xz.entity.XzHikvisionCompareData;
import com.zhgd.xmgl.modules.xz.mapper.XzHikvisionCompareDataMapper;
import com.zhgd.xmgl.modules.xz.service.IXzHikvisionCompareDataService;
import com.zhgd.xmgl.security.util.SecurityUtils;
import com.zhgd.xmgl.task.HikvisionTask;
import com.zhgd.xmgl.util.*;
import lombok.extern.slf4j.Slf4j;
@ -85,6 +87,9 @@ public class XzHikvisionCompareDataServiceImpl extends ServiceImpl<XzHikvisionCo
private AsyncHikvision asyncHikvision;
@Lazy
@Autowired
private NoticeServiceImpl noticeService;
@Lazy
@Autowired
private HikvisionCall hikvisionCall;
@Lazy
@Autowired
@ -320,23 +325,32 @@ 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());
Boolean existIsc = null;
if (data.getExistIsc() == 1 && data.getExistMyPlatform() == 0) {
//查询id是否存在平台存在就更新不存在就删除
if (carInfo != null) {
//同步海康
asyncHikvision.editCarInfoForHikvision(carInfo, carInfo);
existIsc = true;
} else {
carInfo = new CarInfo();
carInfo.setCarNumber(data.getCarNumber());
carInfo.setProjectSn(data.getProjectSn());
asyncHikvision.deleteCarInfoForHikvision(carInfo, false);
existIsc = false;
}
compareRetrySuccess(projectInfoBySn, carInfo, existIsc);
} else if (data.getExistIsc() == 0 && data.getExistMyPlatform() == 1) {
//查询id是否存在isc存在就更新不存在就新增
JSONObject rtJo = HikvisionUtil.getCarInfoListByCarNumber(data.getCarNumber(), projectInfoBySn, 1);
JSONObject rtJo;
if (Objects.equals(carInfo.getCarModuleType(), 1)) {
rtJo = HikvisionUtil.getFixCarListByCarNumber(data.getCarNumber(), projectInfoBySn, 1);
} else {
rtJo = HikvisionUtil.getReservationCarInfoList(carInfo.getCarNumber(), projectInfoBySn);
}
if (HikvisionUtil.isSuccess(rtJo)) {
JSONArray list = HikvisionUtil.getJSONObjectData(rtJo).getJSONArray("list");
if (CollUtil.isEmpty(list)) {
@ -346,12 +360,58 @@ public class XzHikvisionCompareDataServiceImpl extends ServiceImpl<XzHikvisionCo
//更新
asyncHikvision.editCarInfoForHikvisionAsync(carInfo, carInfo);
}
existIsc = true;
} else {
log.error("校验数据同步海康失败,失败原因:{}", rtJo.toJSONString());
existIsc = false;
}
compareRetrySuccess(projectInfoBySn, carInfo, existIsc);
}
}
/**
* @param projectInfoBySn
* @param carInfo
* @param existSuc isc存在车辆就成功反之
* @throws Exception
*/
private 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();
}
}
/**
* 数据校验重试失败
@ -369,7 +429,7 @@ public class XzHikvisionCompareDataServiceImpl extends ServiceImpl<XzHikvisionCo
* 数据校验重试成功
*/
@Override
public void compareRetrySuc() {
public void compareRetrySuccess() {
XzHikvisionCompareData data = ThreadLocalUtil.getByKey(Cts.TL_XZ_HIKVISION_COMPARE_DATA_RETRY, XzHikvisionCompareData.class);
if (data != null) {
xzHikvisionCompareDataMapper.deleteById(data.getId());
@ -485,34 +545,37 @@ public class XzHikvisionCompareDataServiceImpl extends ServiceImpl<XzHikvisionCo
}
@Override
public void manualCompareData(Map<String, Object> param) {
public void manualCompareData(Map<String, Object> param) throws Exception {
String projectSn = MapUtils.getString(param, Cts.PROJECT_SN);
try {
xzHikvisionCompareDataService.manualCompareDataAsync(param, projectSn);
} catch (Exception e) {
log.error("", e);
addExceptionShowIfNull(projectSn);
}
xzHikvisionCompareDataService.manualCompareDataAsync(param, projectSn);
}
@Async("syncXzHikvisionCompareData")
public void manualCompareDataAsync(Map<String, Object> param, String projectSn) throws Exception {
Integer type = MapUtils.getInteger(param, "type");
ProjectInfoExtVo projectInfoBySn = projectService.getProjectInfoBySn(projectSn);
if (Objects.equals(type, 1)) {
//人员
xzHikvisionCompareDataMapper.delete(new LambdaQueryWrapper<XzHikvisionCompareData>()
.eq(XzHikvisionCompareData::getProjectSn, projectSn)
.ne(XzHikvisionCompareData::getType, 4)
);
hikvisionTask.compareHikvisionForEnterpriseEtc(projectInfoBySn);
} else if (Objects.equals(type, 2)) {
//车辆
xzHikvisionCompareDataMapper.delete(new LambdaQueryWrapper<XzHikvisionCompareData>()
.eq(XzHikvisionCompareData::getProjectSn, projectSn)
.eq(XzHikvisionCompareData::getType, 4)
);
hikvisionTask.compareHikvisionForCar(projectInfoBySn);
try {
Integer type = MapUtils.getInteger(param, "type");
ProjectInfoExtVo projectInfoBySn = projectService.getProjectInfoBySn(projectSn);
if (Objects.equals(type, 1)) {
//人员
xzHikvisionCompareDataMapper.delete(new LambdaQueryWrapper<XzHikvisionCompareData>()
.eq(XzHikvisionCompareData::getProjectSn, projectSn)
.ne(XzHikvisionCompareData::getType, 4)
);
hikvisionTask.compareHikvisionForEnterpriseEtc(projectInfoBySn);
} else if (Objects.equals(type, 2)) {
//车辆
xzHikvisionCompareDataMapper.delete(new LambdaQueryWrapper<XzHikvisionCompareData>()
.eq(XzHikvisionCompareData::getProjectSn, projectSn)
.eq(XzHikvisionCompareData::getType, 4)
);
hikvisionTask.compareHikvisionForCar(projectInfoBySn);
}
} catch (Exception e) {
log.error("", e);
addExceptionShowIfNull(projectSn);
} finally {
// 手动执行比对数据完成
noticeService.addUserNotice(SecurityUtils.getUser().getUserId(), "手动校验数据完成", "手动校验数据完成", "1");
}
}

View File

@ -276,7 +276,7 @@ public class HikvisionTask {
public void compareHikvisionForReservationCar(Project project) throws Exception {
JSONObject param = new JSONObject();
HikvisionUtil.addPageParamIfAbsent(param);
JSONArray listJa = hikvisionCall.getReservationCarInfoList(null, project);
JSONArray listJa = HikvisionUtil.getReservationCarInfoDataList(null, project);
List<CarInfo> carInfoList = carInfoService.selectCarList(new MapBuilder<String, Object>()
.put(Cts.PROJECT_SN, project.getProjectSn())
.put(Cts.RESERVATION_TYPE, 1)

View File

@ -9,6 +9,8 @@ import com.hikvision.artemis.sdk.Response;
import com.hikvision.artemis.sdk.constant.Constants;
import com.hikvision.artemis.sdk.enums.Method;
import com.zhgd.jeecg.common.execption.OpenAlertException;
import com.zhgd.jeecg.common.execption.OpenPromptException;
import com.zhgd.xmgl.base.HikvisionReservationCarInfo;
import com.zhgd.xmgl.modules.project.entity.Project;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
@ -169,10 +171,31 @@ public class HikvisionUtil {
return doPostRtObj(host, path, param.toJSONString(), null, project.getArtemisConfigAppKey(), project.getArtemisConfigAppSecret());
}
/**
* 查询车辆列表v2-固定车辆
*
* @param carNumber
* @param project
* @param pageNo
* @return
* @throws Exception
*/
public static JSONObject getFixCarListByCarNumber(String carNumber, Project project, Integer pageNo) throws Exception {
final String ARTEMIS_PATH = "/artemis";
final String path = ARTEMIS_PATH + "/api/resource/v2/vehicle/advance/vehicleList";
String host = "https://" + project.getArtemisConfigHost();
JSONObject jo = new JSONObject();
//模糊查询
jo.put("plateNo", carNumber);
jo.put("pageNo", pageNo);
jo.put("pageSize", 1000);
return doPostRtObj(host, path, jo.toJSONString(), null, project.getArtemisConfigAppKey(), project.getArtemisConfigAppSecret());
}
/**
* 查询车辆分类
*/
public static JSONArray queryCategory(Project project) throws Exception {
public static JSONArray getCategoryList(Project project) throws Exception {
final String ARTEMIS_PATH = "/artemis";
final String path = ARTEMIS_PATH + "/api/pms/v1/car/category/search";
String host = "https://" + project.getArtemisConfigHost();
@ -248,25 +271,84 @@ public class HikvisionUtil {
return doPostRtObj(host, path, param.toJSONString(), null, project.getArtemisConfigAppKey(), project.getArtemisConfigAppSecret());
}
/**
* 获取停车库列表
*
* @param project
*/
public static JSONArray getParkList(Project project) throws Exception {
if (project == null || !Objects.equals(project.getSyncHikvision(), 1)) {
return null;
}
final String ARTEMIS_PATH = "/artemis";
final String path = ARTEMIS_PATH + "/api/resource/v1/park/parkList";
String host = "https://" + project.getArtemisConfigHost();
JSONObject jo = new JSONObject();
String rs = doPost(host, path, jo.toJSONString(), null, project.getArtemisConfigAppKey(), project.getArtemisConfigAppSecret());
return getJSONArrayData(rs);
}
/**
* 查询车辆列表v2
* 获取项目名称的停车场的parkIndexCode没有一样名字的就取第一个停车场
*
* @param project
* @return
*/
public static String getProjectParkCode(Project project) throws Exception {
JSONArray parkList = getParkList(project);
if (parkList != null && parkList.size() > 0) {
for (int i = 0; i < parkList.size(); i++) {
JSONObject jo = parkList.getJSONObject(i);
if (Objects.equals(jo.getString("parkName"), project.getProjectName())) {
return jo.getString("parkIndexCode");
}
}
//没有一样名字的就取第一个停车场
return parkList.getJSONObject(0).getString("parkIndexCode");
} else {
throw new OpenPromptException("未查询到停车场信息");
}
}
/**
* 查询预约记录v2
*
* @param carNumber
* @param project
* @param pageNo
* @return
* @throws Exception
*/
public static JSONObject getCarInfoListByCarNumber(String carNumber, Project project, Integer pageNo) throws Exception {
public static JSONObject getReservationCarInfoList(String carNumber, Project project) throws Exception {
final String ARTEMIS_PATH = "/artemis";
final String path = ARTEMIS_PATH + "/api/resource/v2/vehicle/advance/vehicleList";
final String path = ARTEMIS_PATH + "/api/pms/v2/reserveRecord/page";
String host = "https://" + project.getArtemisConfigHost();
JSONObject jo = new JSONObject();
//模糊查询
jo.put("plateNo", carNumber);
jo.put("pageNo", pageNo);
jo.put("pageSize", 1000);
return doPostRtObj(host, path, jo.toJSONString(), null, project.getArtemisConfigAppKey(), project.getArtemisConfigAppSecret());
HikvisionReservationCarInfo info = getHikvisionReservationCarInfoObj(carNumber, project);
return doPostRtObj(host, path, JSON.toJSONString(info), null, project.getArtemisConfigAppKey(), project.getArtemisConfigAppSecret());
}
/**
* 查询预约记录v2
*
* @param carNumber
* @param project
*/
public static JSONArray getReservationCarInfoDataList(String carNumber, Project project) throws Exception {
JSONObject jo = getReservationCarInfoList(carNumber, project);
return getJSONObjectData(jo).getJSONArray("list");
}
private static HikvisionReservationCarInfo getHikvisionReservationCarInfoObj(String carNumber, Project project) throws Exception {
String projectParkCode = HikvisionUtil.getProjectParkCode(project);
HikvisionReservationCarInfo hikvisionReservationCarInfo = new HikvisionReservationCarInfo();
hikvisionReservationCarInfo.setParkSyscode(projectParkCode);
hikvisionReservationCarInfo.setPlateNo(carNumber);
hikvisionReservationCarInfo.setResvState(0L);
//hikvisionReservationCarInfo.setResvWay();
//hikvisionReservationCarInfo.setAllowTimes();
//hikvisionReservationCarInfo.setIsCharge();
//hikvisionReservationCarInfo.setStartTime();
//hikvisionReservationCarInfo.setEndTime();
hikvisionReservationCarInfo.setPageNo(1L);
hikvisionReservationCarInfo.setPageSize(999L);
return hikvisionReservationCarInfo;
}
}