|
|
@@ -1,12 +1,17 @@
|
|
|
package com.xjrsoft.module.outint.service.impl;
|
|
|
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.github.yulichang.base.MPJBaseServiceImpl;
|
|
|
import com.google.gson.JsonArray;
|
|
|
+import com.google.gson.JsonElement;
|
|
|
import com.google.gson.JsonObject;
|
|
|
import com.google.gson.JsonParser;
|
|
|
import com.xjrsoft.common.exception.MyException;
|
|
|
+import com.xjrsoft.module.hikvision.entity.HikvisionData;
|
|
|
+import com.xjrsoft.module.hikvision.service.IHikvisionDataService;
|
|
|
import com.xjrsoft.module.hikvision.util.ApiUtil;
|
|
|
import com.xjrsoft.module.hikvision.util.OutInRecordUtil;
|
|
|
+import com.xjrsoft.module.organization.service.IUserService;
|
|
|
import com.xjrsoft.module.outint.dto.SyncHikvsionDataDto;
|
|
|
import com.xjrsoft.module.outint.dto.TeacherOutInRecordDto;
|
|
|
import com.xjrsoft.module.outint.entity.TeacherOutInRecord;
|
|
|
@@ -33,6 +38,8 @@ import java.util.List;
|
|
|
public class TeacherOutInRecordServiceImpl extends MPJBaseServiceImpl<TeacherOutInRecordMapper, TeacherOutInRecord> implements ITeacherOutInRecordService {
|
|
|
|
|
|
private final FaceImportMapper faceImportMapper;
|
|
|
+ private final IHikvisionDataService hikvisionDataService;
|
|
|
+
|
|
|
|
|
|
@Override
|
|
|
public List<TeacherOutInRecord> getListByParam(TeacherOutInRecordDto dto) {
|
|
|
@@ -48,23 +55,37 @@ public class TeacherOutInRecordServiceImpl extends MPJBaseServiceImpl<TeacherOut
|
|
|
ApiUtil apiUtil = new ApiUtil();
|
|
|
String apiPath = "/api/acs/v2/door/events";
|
|
|
|
|
|
- JsonObject paramJson = new JsonObject();
|
|
|
- JsonArray eventList = new JsonArray();
|
|
|
- eventList.add(196893); // 只获取人脸通过的
|
|
|
- paramJson.addProperty("pageNo", limit);
|
|
|
- paramJson.addProperty("pageSize", size);
|
|
|
- paramJson.add("eventTypes", eventList);
|
|
|
+ List<HikvisionData> dataList = hikvisionDataService.list(
|
|
|
+ new QueryWrapper<HikvisionData>().lambda()
|
|
|
+ .eq(HikvisionData::getTableName, "base_teacher")
|
|
|
+ );
|
|
|
+
|
|
|
+ for (HikvisionData hikvisionData : dataList) {
|
|
|
+ JsonObject paramJson = new JsonObject();
|
|
|
+ JsonArray eventList = new JsonArray();
|
|
|
+ eventList.add(196893); // 只获取人脸通过的
|
|
|
+ paramJson.addProperty("pageNo", limit);
|
|
|
+ paramJson.addProperty("pageSize", size);
|
|
|
+ paramJson.add("eventTypes", eventList);
|
|
|
+ JsonArray personIds = new JsonArray();
|
|
|
+ personIds.add(hikvisionData.getHikvisionId());
|
|
|
+ if("14954816214342".equals(hikvisionData.getSourceId())){
|
|
|
+ System.out.println(hikvisionData.getHikvisionId());
|
|
|
+ }
|
|
|
+
|
|
|
+ paramJson.add("personIds", personIds);
|
|
|
|
|
|
- paramJson.addProperty("sort", "eventTime");
|
|
|
- paramJson.addProperty("order", "desc");
|
|
|
- paramJson.addProperty("startTime", dto.getStartTime().atOffset(ZoneOffset.ofHours(8)).format(DateTimeFormatter.ISO_OFFSET_DATE_TIME));
|
|
|
- paramJson.addProperty("endTime", dto.getEndTime().atOffset(ZoneOffset.ofHours(8)).format(DateTimeFormatter.ISO_OFFSET_DATE_TIME));
|
|
|
+ paramJson.addProperty("sort", "eventTime");
|
|
|
+ paramJson.addProperty("order", "desc");
|
|
|
+ paramJson.addProperty("startTime", dto.getStartTime().atOffset(ZoneOffset.ofHours(8)).format(DateTimeFormatter.ISO_OFFSET_DATE_TIME));
|
|
|
+ paramJson.addProperty("endTime", dto.getEndTime().atOffset(ZoneOffset.ofHours(8)).format(DateTimeFormatter.ISO_OFFSET_DATE_TIME));
|
|
|
|
|
|
- String doPost = apiUtil.doPost(apiPath, paramJson.toString(), null);
|
|
|
- JsonParser parser = new JsonParser();
|
|
|
- JsonObject data = parser.parse(doPost).getAsJsonObject().get("data").getAsJsonObject();
|
|
|
- JsonArray list = data.get("list").getAsJsonArray();
|
|
|
- new OutInRecordUtil().InsertTeacherStudentRecords(list, faceImportMapper);
|
|
|
+ String doPost = apiUtil.doPost(apiPath, paramJson.toString(), null);
|
|
|
+ JsonParser parser = new JsonParser();
|
|
|
+ JsonObject data = parser.parse(doPost).getAsJsonObject().get("data").getAsJsonObject();
|
|
|
+ JsonArray list = data.get("list").getAsJsonArray();
|
|
|
+ new OutInRecordUtil().InsertTeacherStudentRecords(list, faceImportMapper);
|
|
|
+ }
|
|
|
}catch (Exception e){
|
|
|
Log.error(e.getMessage(), e);
|
|
|
throw new MyException("同步报错,请联系管理员");
|