diff --git a/casic-server/src/main/java/com/casic/missiles/modular/controller/CaseInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/controller/CaseInfoController.java index c631b4d..b575b1a 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/controller/CaseInfoController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/controller/CaseInfoController.java @@ -2,14 +2,17 @@ import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.util.StrUtil; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.model.response.ErrorResponseData; import com.casic.missiles.model.response.ResponseData; import com.casic.missiles.modular.dto.CaseInfoRequest; +import com.casic.missiles.modular.dto.WebSocketDTO; import com.casic.missiles.modular.model.CaseInfo; import com.casic.missiles.modular.service.CaseInfoService; +import com.casic.missiles.modular.util.WebSocket; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -32,6 +35,8 @@ public class CaseInfoController extends ExportController { @Autowired private CaseInfoService caseInfoService; + @Autowired + private WebSocket webSocket; /** * 安防事件列表(分页) @@ -84,6 +89,11 @@ @ResponseBody public Object updateStatus(@RequestBody CaseInfoRequest caseInfoRequest) { if (caseInfoService.updateStatus(caseInfoRequest) > 0) { + //通知前前端刷新驾驶舱相关接口 + WebSocketDTO webSocketDTO = new WebSocketDTO(); + webSocketDTO.setType("solve-case"); + webSocketDTO.setMessage(" "); + webSocket.sendAllMessage(JSONObject.toJSONString(webSocketDTO)); return ResponseData.success(); } return ResponseData.error("更新异常"); @@ -97,6 +107,11 @@ public Object oneClickSolved() { int upFlag = caseInfoService.updateAllStatus(); if (upFlag >= 0) { + //通知前前端刷新驾驶舱相关接口 + WebSocketDTO webSocketDTO = new WebSocketDTO(); + webSocketDTO.setType("solve-case"); + webSocketDTO.setMessage(" "); + webSocket.sendAllMessage(JSONObject.toJSONString(webSocketDTO)); return ResponseData.success(); } return ResponseData.error("更新异常"); diff --git a/casic-server/src/main/java/com/casic/missiles/modular/controller/CaseInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/controller/CaseInfoController.java index c631b4d..b575b1a 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/controller/CaseInfoController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/controller/CaseInfoController.java @@ -2,14 +2,17 @@ import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.util.StrUtil; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.model.response.ErrorResponseData; import com.casic.missiles.model.response.ResponseData; import com.casic.missiles.modular.dto.CaseInfoRequest; +import com.casic.missiles.modular.dto.WebSocketDTO; import com.casic.missiles.modular.model.CaseInfo; import com.casic.missiles.modular.service.CaseInfoService; +import com.casic.missiles.modular.util.WebSocket; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -32,6 +35,8 @@ public class CaseInfoController extends ExportController { @Autowired private CaseInfoService caseInfoService; + @Autowired + private WebSocket webSocket; /** * 安防事件列表(分页) @@ -84,6 +89,11 @@ @ResponseBody public Object updateStatus(@RequestBody CaseInfoRequest caseInfoRequest) { if (caseInfoService.updateStatus(caseInfoRequest) > 0) { + //通知前前端刷新驾驶舱相关接口 + WebSocketDTO webSocketDTO = new WebSocketDTO(); + webSocketDTO.setType("solve-case"); + webSocketDTO.setMessage(" "); + webSocket.sendAllMessage(JSONObject.toJSONString(webSocketDTO)); return ResponseData.success(); } return ResponseData.error("更新异常"); @@ -97,6 +107,11 @@ public Object oneClickSolved() { int upFlag = caseInfoService.updateAllStatus(); if (upFlag >= 0) { + //通知前前端刷新驾驶舱相关接口 + WebSocketDTO webSocketDTO = new WebSocketDTO(); + webSocketDTO.setType("solve-case"); + webSocketDTO.setMessage(" "); + webSocket.sendAllMessage(JSONObject.toJSONString(webSocketDTO)); return ResponseData.success(); } return ResponseData.error("更新异常"); diff --git a/casic-server/src/main/java/com/casic/missiles/modular/controller/VisitorController.java b/casic-server/src/main/java/com/casic/missiles/modular/controller/VisitorController.java index be44682..e2520f6 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/controller/VisitorController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/controller/VisitorController.java @@ -25,7 +25,7 @@ */ @Slf4j @RestController - @RequestMapping("/visitInfo") +@RequestMapping("/visitInfo") public class VisitorController extends ExportController { @Autowired private VisitService visitService; diff --git a/casic-server/src/main/java/com/casic/missiles/modular/controller/CaseInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/controller/CaseInfoController.java index c631b4d..b575b1a 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/controller/CaseInfoController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/controller/CaseInfoController.java @@ -2,14 +2,17 @@ import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.util.StrUtil; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.model.response.ErrorResponseData; import com.casic.missiles.model.response.ResponseData; import com.casic.missiles.modular.dto.CaseInfoRequest; +import com.casic.missiles.modular.dto.WebSocketDTO; import com.casic.missiles.modular.model.CaseInfo; import com.casic.missiles.modular.service.CaseInfoService; +import com.casic.missiles.modular.util.WebSocket; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -32,6 +35,8 @@ public class CaseInfoController extends ExportController { @Autowired private CaseInfoService caseInfoService; + @Autowired + private WebSocket webSocket; /** * 安防事件列表(分页) @@ -84,6 +89,11 @@ @ResponseBody public Object updateStatus(@RequestBody CaseInfoRequest caseInfoRequest) { if (caseInfoService.updateStatus(caseInfoRequest) > 0) { + //通知前前端刷新驾驶舱相关接口 + WebSocketDTO webSocketDTO = new WebSocketDTO(); + webSocketDTO.setType("solve-case"); + webSocketDTO.setMessage(" "); + webSocket.sendAllMessage(JSONObject.toJSONString(webSocketDTO)); return ResponseData.success(); } return ResponseData.error("更新异常"); @@ -97,6 +107,11 @@ public Object oneClickSolved() { int upFlag = caseInfoService.updateAllStatus(); if (upFlag >= 0) { + //通知前前端刷新驾驶舱相关接口 + WebSocketDTO webSocketDTO = new WebSocketDTO(); + webSocketDTO.setType("solve-case"); + webSocketDTO.setMessage(" "); + webSocket.sendAllMessage(JSONObject.toJSONString(webSocketDTO)); return ResponseData.success(); } return ResponseData.error("更新异常"); diff --git a/casic-server/src/main/java/com/casic/missiles/modular/controller/VisitorController.java b/casic-server/src/main/java/com/casic/missiles/modular/controller/VisitorController.java index be44682..e2520f6 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/controller/VisitorController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/controller/VisitorController.java @@ -25,7 +25,7 @@ */ @Slf4j @RestController - @RequestMapping("/visitInfo") +@RequestMapping("/visitInfo") public class VisitorController extends ExportController { @Autowired private VisitService visitService; diff --git a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/VisitInfoMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/VisitInfoMapper.xml index 4f13098..23babe4 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/VisitInfoMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/VisitInfoMapper.xml @@ -17,10 +17,10 @@ and bvi.visit_position = #{visitorRequest.position} - and date_format(bvi.in_time,'%Y-%m-%d') >= #{visitorRequest.startTime,jdbcType=TIMESTAMP} + and date_format(bvi.in_time,'%Y-%m-%d %H-%i-%S') >= #{visitorRequest.startTime,jdbcType=TIMESTAMP} - and date_format(bvi.in_time,'%Y-%m-%d') <= #{visitorRequest.endTime,jdbcType=TIMESTAMP} + and date_format(bvi.in_time,'%Y-%m-%d %H-%i-%S') <= #{visitorRequest.endTime,jdbcType=TIMESTAMP} ORDER BY bvi.create_time DESC diff --git a/casic-server/src/main/java/com/casic/missiles/modular/controller/CaseInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/controller/CaseInfoController.java index c631b4d..b575b1a 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/controller/CaseInfoController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/controller/CaseInfoController.java @@ -2,14 +2,17 @@ import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.util.StrUtil; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.model.response.ErrorResponseData; import com.casic.missiles.model.response.ResponseData; import com.casic.missiles.modular.dto.CaseInfoRequest; +import com.casic.missiles.modular.dto.WebSocketDTO; import com.casic.missiles.modular.model.CaseInfo; import com.casic.missiles.modular.service.CaseInfoService; +import com.casic.missiles.modular.util.WebSocket; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -32,6 +35,8 @@ public class CaseInfoController extends ExportController { @Autowired private CaseInfoService caseInfoService; + @Autowired + private WebSocket webSocket; /** * 安防事件列表(分页) @@ -84,6 +89,11 @@ @ResponseBody public Object updateStatus(@RequestBody CaseInfoRequest caseInfoRequest) { if (caseInfoService.updateStatus(caseInfoRequest) > 0) { + //通知前前端刷新驾驶舱相关接口 + WebSocketDTO webSocketDTO = new WebSocketDTO(); + webSocketDTO.setType("solve-case"); + webSocketDTO.setMessage(" "); + webSocket.sendAllMessage(JSONObject.toJSONString(webSocketDTO)); return ResponseData.success(); } return ResponseData.error("更新异常"); @@ -97,6 +107,11 @@ public Object oneClickSolved() { int upFlag = caseInfoService.updateAllStatus(); if (upFlag >= 0) { + //通知前前端刷新驾驶舱相关接口 + WebSocketDTO webSocketDTO = new WebSocketDTO(); + webSocketDTO.setType("solve-case"); + webSocketDTO.setMessage(" "); + webSocket.sendAllMessage(JSONObject.toJSONString(webSocketDTO)); return ResponseData.success(); } return ResponseData.error("更新异常"); diff --git a/casic-server/src/main/java/com/casic/missiles/modular/controller/VisitorController.java b/casic-server/src/main/java/com/casic/missiles/modular/controller/VisitorController.java index be44682..e2520f6 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/controller/VisitorController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/controller/VisitorController.java @@ -25,7 +25,7 @@ */ @Slf4j @RestController - @RequestMapping("/visitInfo") +@RequestMapping("/visitInfo") public class VisitorController extends ExportController { @Autowired private VisitService visitService; diff --git a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/VisitInfoMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/VisitInfoMapper.xml index 4f13098..23babe4 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/VisitInfoMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/VisitInfoMapper.xml @@ -17,10 +17,10 @@ and bvi.visit_position = #{visitorRequest.position} - and date_format(bvi.in_time,'%Y-%m-%d') >= #{visitorRequest.startTime,jdbcType=TIMESTAMP} + and date_format(bvi.in_time,'%Y-%m-%d %H-%i-%S') >= #{visitorRequest.startTime,jdbcType=TIMESTAMP} - and date_format(bvi.in_time,'%Y-%m-%d') <= #{visitorRequest.endTime,jdbcType=TIMESTAMP} + and date_format(bvi.in_time,'%Y-%m-%d %H-%i-%S') <= #{visitorRequest.endTime,jdbcType=TIMESTAMP} ORDER BY bvi.create_time DESC diff --git a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/CaseInfoServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/CaseInfoServiceImpl.java index d0b25d1..03f1a74 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/CaseInfoServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/CaseInfoServiceImpl.java @@ -32,6 +32,7 @@ import java.util.Date; import java.util.List; import java.util.Objects; +import java.util.stream.Collectors; /** * @Description: 安防事件service @@ -214,10 +215,21 @@ String devCode = deviceInfo.getDevCode(); QueryWrapper cWrapper = new QueryWrapper<>(); cWrapper.eq("device_code", devCode); + cWrapper.orderByDesc("happen_time"); List caseInfos = caseInfoMapper.selectList(cWrapper); if(CollectionUtil.isEmpty(caseInfos)){ return ResponseData.error("该图纸编号下不存在最近发生的事件"); } + List collect = caseInfos.stream().filter(c -> ("1".equals(c.getStatus()) || "2".equals(c.getStatus()))).collect(Collectors.toList()); + if (CollectionUtil.isNotEmpty(collect)) { + CaseInfo caseInfo = collect.get(0); + caseInfo.setDrawNo(deviceInfo.getDrawNo()); + caseInfo.setStatusName(dictService.getDictNameByCode(SecurityEventDict.CASE_STATUS, caseInfo.getStatus())); + caseInfo.setPositionName(dictService.getDictNameByCode(SecurityEventDict.DEVICE_POSITION, caseInfo.getPosition())); + caseInfo.setAreaName(dictService.getDictNameByCode(SecurityEventDict.DEVICE_AREA, caseInfo.getArea())); + caseInfo.setIsKeyAreaName(dictService.getDictNameByCode(SecurityEventDict.IS_KEY_AREA, caseInfo.getIsKeyArea())); + return ResponseData.success(caseInfo); + } CaseInfo caseInfo = caseInfos.get(caseInfos.size() - 1); caseInfo.setDrawNo(deviceInfo.getDrawNo()); caseInfo.setStatusName(dictService.getDictNameByCode(SecurityEventDict.CASE_STATUS, caseInfo.getStatus())); diff --git a/casic-server/src/main/java/com/casic/missiles/modular/controller/CaseInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/controller/CaseInfoController.java index c631b4d..b575b1a 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/controller/CaseInfoController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/controller/CaseInfoController.java @@ -2,14 +2,17 @@ import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.util.StrUtil; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.model.response.ErrorResponseData; import com.casic.missiles.model.response.ResponseData; import com.casic.missiles.modular.dto.CaseInfoRequest; +import com.casic.missiles.modular.dto.WebSocketDTO; import com.casic.missiles.modular.model.CaseInfo; import com.casic.missiles.modular.service.CaseInfoService; +import com.casic.missiles.modular.util.WebSocket; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -32,6 +35,8 @@ public class CaseInfoController extends ExportController { @Autowired private CaseInfoService caseInfoService; + @Autowired + private WebSocket webSocket; /** * 安防事件列表(分页) @@ -84,6 +89,11 @@ @ResponseBody public Object updateStatus(@RequestBody CaseInfoRequest caseInfoRequest) { if (caseInfoService.updateStatus(caseInfoRequest) > 0) { + //通知前前端刷新驾驶舱相关接口 + WebSocketDTO webSocketDTO = new WebSocketDTO(); + webSocketDTO.setType("solve-case"); + webSocketDTO.setMessage(" "); + webSocket.sendAllMessage(JSONObject.toJSONString(webSocketDTO)); return ResponseData.success(); } return ResponseData.error("更新异常"); @@ -97,6 +107,11 @@ public Object oneClickSolved() { int upFlag = caseInfoService.updateAllStatus(); if (upFlag >= 0) { + //通知前前端刷新驾驶舱相关接口 + WebSocketDTO webSocketDTO = new WebSocketDTO(); + webSocketDTO.setType("solve-case"); + webSocketDTO.setMessage(" "); + webSocket.sendAllMessage(JSONObject.toJSONString(webSocketDTO)); return ResponseData.success(); } return ResponseData.error("更新异常"); diff --git a/casic-server/src/main/java/com/casic/missiles/modular/controller/VisitorController.java b/casic-server/src/main/java/com/casic/missiles/modular/controller/VisitorController.java index be44682..e2520f6 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/controller/VisitorController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/controller/VisitorController.java @@ -25,7 +25,7 @@ */ @Slf4j @RestController - @RequestMapping("/visitInfo") +@RequestMapping("/visitInfo") public class VisitorController extends ExportController { @Autowired private VisitService visitService; diff --git a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/VisitInfoMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/VisitInfoMapper.xml index 4f13098..23babe4 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/VisitInfoMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/VisitInfoMapper.xml @@ -17,10 +17,10 @@ and bvi.visit_position = #{visitorRequest.position} - and date_format(bvi.in_time,'%Y-%m-%d') >= #{visitorRequest.startTime,jdbcType=TIMESTAMP} + and date_format(bvi.in_time,'%Y-%m-%d %H-%i-%S') >= #{visitorRequest.startTime,jdbcType=TIMESTAMP} - and date_format(bvi.in_time,'%Y-%m-%d') <= #{visitorRequest.endTime,jdbcType=TIMESTAMP} + and date_format(bvi.in_time,'%Y-%m-%d %H-%i-%S') <= #{visitorRequest.endTime,jdbcType=TIMESTAMP} ORDER BY bvi.create_time DESC diff --git a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/CaseInfoServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/CaseInfoServiceImpl.java index d0b25d1..03f1a74 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/CaseInfoServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/CaseInfoServiceImpl.java @@ -32,6 +32,7 @@ import java.util.Date; import java.util.List; import java.util.Objects; +import java.util.stream.Collectors; /** * @Description: 安防事件service @@ -214,10 +215,21 @@ String devCode = deviceInfo.getDevCode(); QueryWrapper cWrapper = new QueryWrapper<>(); cWrapper.eq("device_code", devCode); + cWrapper.orderByDesc("happen_time"); List caseInfos = caseInfoMapper.selectList(cWrapper); if(CollectionUtil.isEmpty(caseInfos)){ return ResponseData.error("该图纸编号下不存在最近发生的事件"); } + List collect = caseInfos.stream().filter(c -> ("1".equals(c.getStatus()) || "2".equals(c.getStatus()))).collect(Collectors.toList()); + if (CollectionUtil.isNotEmpty(collect)) { + CaseInfo caseInfo = collect.get(0); + caseInfo.setDrawNo(deviceInfo.getDrawNo()); + caseInfo.setStatusName(dictService.getDictNameByCode(SecurityEventDict.CASE_STATUS, caseInfo.getStatus())); + caseInfo.setPositionName(dictService.getDictNameByCode(SecurityEventDict.DEVICE_POSITION, caseInfo.getPosition())); + caseInfo.setAreaName(dictService.getDictNameByCode(SecurityEventDict.DEVICE_AREA, caseInfo.getArea())); + caseInfo.setIsKeyAreaName(dictService.getDictNameByCode(SecurityEventDict.IS_KEY_AREA, caseInfo.getIsKeyArea())); + return ResponseData.success(caseInfo); + } CaseInfo caseInfo = caseInfos.get(caseInfos.size() - 1); caseInfo.setDrawNo(deviceInfo.getDrawNo()); caseInfo.setStatusName(dictService.getDictNameByCode(SecurityEventDict.CASE_STATUS, caseInfo.getStatus())); diff --git a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/CockpitServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/CockpitServiceImpl.java index 48aafa5..5ad350c 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/CockpitServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/CockpitServiceImpl.java @@ -18,6 +18,7 @@ import com.casic.missiles.modular.redis.key.CacheKeys; import com.casic.missiles.modular.service.CockpitService; import com.casic.missiles.modular.service.StaffInfoService; +import com.casic.missiles.modular.service.VisitService; import com.casic.missiles.modular.system.model.Dict; import com.casic.missiles.modular.util.DateUtils; import com.casic.missiles.modular.util.HikUtil; @@ -68,6 +69,8 @@ private StaffInfoService staffInfoService; @Autowired private RedisUtil redisUtil; + @Autowired + private VisitService visitService; @Override public HashMap dataHandle(DoorEventsRequest doorEventsRequest, HashMap> configMap, @@ -278,6 +281,10 @@ QueryWrapper wrapper = new QueryWrapper<>(); wrapper.apply("date_format(now(),'%Y-%m-%d') = date_format(in_time,'%Y-%m-%d')"); List visitInfos = visitInfoMapper.selectList(wrapper); + visitInfos.parallelStream().forEach(visitInfo -> { + String outTime = visitService.getOutTime(visitInfo); + visitInfo.setOutTime(outTime); + }); HashMap resultMap = new HashMap<>(); if (!CollectionUtils.isEmpty(visitInfos)) { resultMap.put("in", visitInfos.size()); diff --git a/casic-server/src/main/java/com/casic/missiles/modular/controller/CaseInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/controller/CaseInfoController.java index c631b4d..b575b1a 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/controller/CaseInfoController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/controller/CaseInfoController.java @@ -2,14 +2,17 @@ import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.util.StrUtil; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.model.response.ErrorResponseData; import com.casic.missiles.model.response.ResponseData; import com.casic.missiles.modular.dto.CaseInfoRequest; +import com.casic.missiles.modular.dto.WebSocketDTO; import com.casic.missiles.modular.model.CaseInfo; import com.casic.missiles.modular.service.CaseInfoService; +import com.casic.missiles.modular.util.WebSocket; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -32,6 +35,8 @@ public class CaseInfoController extends ExportController { @Autowired private CaseInfoService caseInfoService; + @Autowired + private WebSocket webSocket; /** * 安防事件列表(分页) @@ -84,6 +89,11 @@ @ResponseBody public Object updateStatus(@RequestBody CaseInfoRequest caseInfoRequest) { if (caseInfoService.updateStatus(caseInfoRequest) > 0) { + //通知前前端刷新驾驶舱相关接口 + WebSocketDTO webSocketDTO = new WebSocketDTO(); + webSocketDTO.setType("solve-case"); + webSocketDTO.setMessage(" "); + webSocket.sendAllMessage(JSONObject.toJSONString(webSocketDTO)); return ResponseData.success(); } return ResponseData.error("更新异常"); @@ -97,6 +107,11 @@ public Object oneClickSolved() { int upFlag = caseInfoService.updateAllStatus(); if (upFlag >= 0) { + //通知前前端刷新驾驶舱相关接口 + WebSocketDTO webSocketDTO = new WebSocketDTO(); + webSocketDTO.setType("solve-case"); + webSocketDTO.setMessage(" "); + webSocket.sendAllMessage(JSONObject.toJSONString(webSocketDTO)); return ResponseData.success(); } return ResponseData.error("更新异常"); diff --git a/casic-server/src/main/java/com/casic/missiles/modular/controller/VisitorController.java b/casic-server/src/main/java/com/casic/missiles/modular/controller/VisitorController.java index be44682..e2520f6 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/controller/VisitorController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/controller/VisitorController.java @@ -25,7 +25,7 @@ */ @Slf4j @RestController - @RequestMapping("/visitInfo") +@RequestMapping("/visitInfo") public class VisitorController extends ExportController { @Autowired private VisitService visitService; diff --git a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/VisitInfoMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/VisitInfoMapper.xml index 4f13098..23babe4 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/VisitInfoMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/VisitInfoMapper.xml @@ -17,10 +17,10 @@ and bvi.visit_position = #{visitorRequest.position} - and date_format(bvi.in_time,'%Y-%m-%d') >= #{visitorRequest.startTime,jdbcType=TIMESTAMP} + and date_format(bvi.in_time,'%Y-%m-%d %H-%i-%S') >= #{visitorRequest.startTime,jdbcType=TIMESTAMP} - and date_format(bvi.in_time,'%Y-%m-%d') <= #{visitorRequest.endTime,jdbcType=TIMESTAMP} + and date_format(bvi.in_time,'%Y-%m-%d %H-%i-%S') <= #{visitorRequest.endTime,jdbcType=TIMESTAMP} ORDER BY bvi.create_time DESC diff --git a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/CaseInfoServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/CaseInfoServiceImpl.java index d0b25d1..03f1a74 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/CaseInfoServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/CaseInfoServiceImpl.java @@ -32,6 +32,7 @@ import java.util.Date; import java.util.List; import java.util.Objects; +import java.util.stream.Collectors; /** * @Description: 安防事件service @@ -214,10 +215,21 @@ String devCode = deviceInfo.getDevCode(); QueryWrapper cWrapper = new QueryWrapper<>(); cWrapper.eq("device_code", devCode); + cWrapper.orderByDesc("happen_time"); List caseInfos = caseInfoMapper.selectList(cWrapper); if(CollectionUtil.isEmpty(caseInfos)){ return ResponseData.error("该图纸编号下不存在最近发生的事件"); } + List collect = caseInfos.stream().filter(c -> ("1".equals(c.getStatus()) || "2".equals(c.getStatus()))).collect(Collectors.toList()); + if (CollectionUtil.isNotEmpty(collect)) { + CaseInfo caseInfo = collect.get(0); + caseInfo.setDrawNo(deviceInfo.getDrawNo()); + caseInfo.setStatusName(dictService.getDictNameByCode(SecurityEventDict.CASE_STATUS, caseInfo.getStatus())); + caseInfo.setPositionName(dictService.getDictNameByCode(SecurityEventDict.DEVICE_POSITION, caseInfo.getPosition())); + caseInfo.setAreaName(dictService.getDictNameByCode(SecurityEventDict.DEVICE_AREA, caseInfo.getArea())); + caseInfo.setIsKeyAreaName(dictService.getDictNameByCode(SecurityEventDict.IS_KEY_AREA, caseInfo.getIsKeyArea())); + return ResponseData.success(caseInfo); + } CaseInfo caseInfo = caseInfos.get(caseInfos.size() - 1); caseInfo.setDrawNo(deviceInfo.getDrawNo()); caseInfo.setStatusName(dictService.getDictNameByCode(SecurityEventDict.CASE_STATUS, caseInfo.getStatus())); diff --git a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/CockpitServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/CockpitServiceImpl.java index 48aafa5..5ad350c 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/CockpitServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/CockpitServiceImpl.java @@ -18,6 +18,7 @@ import com.casic.missiles.modular.redis.key.CacheKeys; import com.casic.missiles.modular.service.CockpitService; import com.casic.missiles.modular.service.StaffInfoService; +import com.casic.missiles.modular.service.VisitService; import com.casic.missiles.modular.system.model.Dict; import com.casic.missiles.modular.util.DateUtils; import com.casic.missiles.modular.util.HikUtil; @@ -68,6 +69,8 @@ private StaffInfoService staffInfoService; @Autowired private RedisUtil redisUtil; + @Autowired + private VisitService visitService; @Override public HashMap dataHandle(DoorEventsRequest doorEventsRequest, HashMap> configMap, @@ -278,6 +281,10 @@ QueryWrapper wrapper = new QueryWrapper<>(); wrapper.apply("date_format(now(),'%Y-%m-%d') = date_format(in_time,'%Y-%m-%d')"); List visitInfos = visitInfoMapper.selectList(wrapper); + visitInfos.parallelStream().forEach(visitInfo -> { + String outTime = visitService.getOutTime(visitInfo); + visitInfo.setOutTime(outTime); + }); HashMap resultMap = new HashMap<>(); if (!CollectionUtils.isEmpty(visitInfos)) { resultMap.put("in", visitInfos.size()); diff --git a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/HikServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/HikServiceImpl.java index 5c90d66..3339e8c 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/HikServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/HikServiceImpl.java @@ -208,10 +208,13 @@ //更新设备状态 //设备离线字典值选择 List deviceDict = dictService.findInDictByCode(SecurityEventDict.DEVICE_STATUS); - deviceInfo.setStatus(deviceDict.get(1).getCode()); - if(deviceInfoMapper.updateById(deviceInfo) <= 0){ - log.error("海康回调,更新监控点离线状态失败!"); - return null; + //闸机不更新离线状态,闸机的上线状态收不到 + if (!"1".equals(deviceInfo.getDevType())) { + deviceInfo.setStatus(deviceDict.get(1).getCode()); + if(deviceInfoMapper.updateById(deviceInfo) <= 0){ + log.error("海康回调,更新监控点离线状态失败!"); + return null; + } } return caseInfo; } @@ -266,10 +269,13 @@ //更新设备状态 //设备离线字典值选择 List deviceDict = dictService.findInDictByCode(SecurityEventDict.DEVICE_STATUS); - deviceInfo.setStatus(deviceDict.get(1).getCode()); - if(deviceInfoMapper.updateById(deviceInfo) <= 0){ - log.error("海康回调,更新设备离线状态失败!"); - return null; + //闸机不更新离线状态,闸机的上线状态收不到 + if (!"1".equals(deviceInfo.getDevType())) { + deviceInfo.setStatus(deviceDict.get(1).getCode()); + if(deviceInfoMapper.updateById(deviceInfo) <= 0){ + log.error("海康回调,更新设备离线状态失败!"); + return null; + } } return caseInfo; } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/controller/CaseInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/controller/CaseInfoController.java index c631b4d..b575b1a 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/controller/CaseInfoController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/controller/CaseInfoController.java @@ -2,14 +2,17 @@ import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.util.StrUtil; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.model.response.ErrorResponseData; import com.casic.missiles.model.response.ResponseData; import com.casic.missiles.modular.dto.CaseInfoRequest; +import com.casic.missiles.modular.dto.WebSocketDTO; import com.casic.missiles.modular.model.CaseInfo; import com.casic.missiles.modular.service.CaseInfoService; +import com.casic.missiles.modular.util.WebSocket; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -32,6 +35,8 @@ public class CaseInfoController extends ExportController { @Autowired private CaseInfoService caseInfoService; + @Autowired + private WebSocket webSocket; /** * 安防事件列表(分页) @@ -84,6 +89,11 @@ @ResponseBody public Object updateStatus(@RequestBody CaseInfoRequest caseInfoRequest) { if (caseInfoService.updateStatus(caseInfoRequest) > 0) { + //通知前前端刷新驾驶舱相关接口 + WebSocketDTO webSocketDTO = new WebSocketDTO(); + webSocketDTO.setType("solve-case"); + webSocketDTO.setMessage(" "); + webSocket.sendAllMessage(JSONObject.toJSONString(webSocketDTO)); return ResponseData.success(); } return ResponseData.error("更新异常"); @@ -97,6 +107,11 @@ public Object oneClickSolved() { int upFlag = caseInfoService.updateAllStatus(); if (upFlag >= 0) { + //通知前前端刷新驾驶舱相关接口 + WebSocketDTO webSocketDTO = new WebSocketDTO(); + webSocketDTO.setType("solve-case"); + webSocketDTO.setMessage(" "); + webSocket.sendAllMessage(JSONObject.toJSONString(webSocketDTO)); return ResponseData.success(); } return ResponseData.error("更新异常"); diff --git a/casic-server/src/main/java/com/casic/missiles/modular/controller/VisitorController.java b/casic-server/src/main/java/com/casic/missiles/modular/controller/VisitorController.java index be44682..e2520f6 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/controller/VisitorController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/controller/VisitorController.java @@ -25,7 +25,7 @@ */ @Slf4j @RestController - @RequestMapping("/visitInfo") +@RequestMapping("/visitInfo") public class VisitorController extends ExportController { @Autowired private VisitService visitService; diff --git a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/VisitInfoMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/VisitInfoMapper.xml index 4f13098..23babe4 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/VisitInfoMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/VisitInfoMapper.xml @@ -17,10 +17,10 @@ and bvi.visit_position = #{visitorRequest.position} - and date_format(bvi.in_time,'%Y-%m-%d') >= #{visitorRequest.startTime,jdbcType=TIMESTAMP} + and date_format(bvi.in_time,'%Y-%m-%d %H-%i-%S') >= #{visitorRequest.startTime,jdbcType=TIMESTAMP} - and date_format(bvi.in_time,'%Y-%m-%d') <= #{visitorRequest.endTime,jdbcType=TIMESTAMP} + and date_format(bvi.in_time,'%Y-%m-%d %H-%i-%S') <= #{visitorRequest.endTime,jdbcType=TIMESTAMP} ORDER BY bvi.create_time DESC diff --git a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/CaseInfoServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/CaseInfoServiceImpl.java index d0b25d1..03f1a74 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/CaseInfoServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/CaseInfoServiceImpl.java @@ -32,6 +32,7 @@ import java.util.Date; import java.util.List; import java.util.Objects; +import java.util.stream.Collectors; /** * @Description: 安防事件service @@ -214,10 +215,21 @@ String devCode = deviceInfo.getDevCode(); QueryWrapper cWrapper = new QueryWrapper<>(); cWrapper.eq("device_code", devCode); + cWrapper.orderByDesc("happen_time"); List caseInfos = caseInfoMapper.selectList(cWrapper); if(CollectionUtil.isEmpty(caseInfos)){ return ResponseData.error("该图纸编号下不存在最近发生的事件"); } + List collect = caseInfos.stream().filter(c -> ("1".equals(c.getStatus()) || "2".equals(c.getStatus()))).collect(Collectors.toList()); + if (CollectionUtil.isNotEmpty(collect)) { + CaseInfo caseInfo = collect.get(0); + caseInfo.setDrawNo(deviceInfo.getDrawNo()); + caseInfo.setStatusName(dictService.getDictNameByCode(SecurityEventDict.CASE_STATUS, caseInfo.getStatus())); + caseInfo.setPositionName(dictService.getDictNameByCode(SecurityEventDict.DEVICE_POSITION, caseInfo.getPosition())); + caseInfo.setAreaName(dictService.getDictNameByCode(SecurityEventDict.DEVICE_AREA, caseInfo.getArea())); + caseInfo.setIsKeyAreaName(dictService.getDictNameByCode(SecurityEventDict.IS_KEY_AREA, caseInfo.getIsKeyArea())); + return ResponseData.success(caseInfo); + } CaseInfo caseInfo = caseInfos.get(caseInfos.size() - 1); caseInfo.setDrawNo(deviceInfo.getDrawNo()); caseInfo.setStatusName(dictService.getDictNameByCode(SecurityEventDict.CASE_STATUS, caseInfo.getStatus())); diff --git a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/CockpitServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/CockpitServiceImpl.java index 48aafa5..5ad350c 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/CockpitServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/CockpitServiceImpl.java @@ -18,6 +18,7 @@ import com.casic.missiles.modular.redis.key.CacheKeys; import com.casic.missiles.modular.service.CockpitService; import com.casic.missiles.modular.service.StaffInfoService; +import com.casic.missiles.modular.service.VisitService; import com.casic.missiles.modular.system.model.Dict; import com.casic.missiles.modular.util.DateUtils; import com.casic.missiles.modular.util.HikUtil; @@ -68,6 +69,8 @@ private StaffInfoService staffInfoService; @Autowired private RedisUtil redisUtil; + @Autowired + private VisitService visitService; @Override public HashMap dataHandle(DoorEventsRequest doorEventsRequest, HashMap> configMap, @@ -278,6 +281,10 @@ QueryWrapper wrapper = new QueryWrapper<>(); wrapper.apply("date_format(now(),'%Y-%m-%d') = date_format(in_time,'%Y-%m-%d')"); List visitInfos = visitInfoMapper.selectList(wrapper); + visitInfos.parallelStream().forEach(visitInfo -> { + String outTime = visitService.getOutTime(visitInfo); + visitInfo.setOutTime(outTime); + }); HashMap resultMap = new HashMap<>(); if (!CollectionUtils.isEmpty(visitInfos)) { resultMap.put("in", visitInfos.size()); diff --git a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/HikServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/HikServiceImpl.java index 5c90d66..3339e8c 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/HikServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/HikServiceImpl.java @@ -208,10 +208,13 @@ //更新设备状态 //设备离线字典值选择 List deviceDict = dictService.findInDictByCode(SecurityEventDict.DEVICE_STATUS); - deviceInfo.setStatus(deviceDict.get(1).getCode()); - if(deviceInfoMapper.updateById(deviceInfo) <= 0){ - log.error("海康回调,更新监控点离线状态失败!"); - return null; + //闸机不更新离线状态,闸机的上线状态收不到 + if (!"1".equals(deviceInfo.getDevType())) { + deviceInfo.setStatus(deviceDict.get(1).getCode()); + if(deviceInfoMapper.updateById(deviceInfo) <= 0){ + log.error("海康回调,更新监控点离线状态失败!"); + return null; + } } return caseInfo; } @@ -266,10 +269,13 @@ //更新设备状态 //设备离线字典值选择 List deviceDict = dictService.findInDictByCode(SecurityEventDict.DEVICE_STATUS); - deviceInfo.setStatus(deviceDict.get(1).getCode()); - if(deviceInfoMapper.updateById(deviceInfo) <= 0){ - log.error("海康回调,更新设备离线状态失败!"); - return null; + //闸机不更新离线状态,闸机的上线状态收不到 + if (!"1".equals(deviceInfo.getDevType())) { + deviceInfo.setStatus(deviceDict.get(1).getCode()); + if(deviceInfoMapper.updateById(deviceInfo) <= 0){ + log.error("海康回调,更新设备离线状态失败!"); + return null; + } } return caseInfo; } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/VisitServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/VisitServiceImpl.java index 53a6fc5..b6b4c1b 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/VisitServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/VisitServiceImpl.java @@ -24,10 +24,10 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.dao.DataAccessException; import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; import javax.annotation.Resource; import java.text.SimpleDateFormat; -import java.time.LocalDateTime; import java.util.ArrayList; import java.util.Calendar; import java.util.List; @@ -148,10 +148,17 @@ eventTypes.add(SecurityEventType.FACE_COMPARE_PASS); doorEventsRequest.setEventTypes(eventTypes); DateTime inTime = DateUtil.parse(visitInfo.getInTime()); - LocalDateTime localDateTime = DateUtil.toLocalDateTime(inTime); + //取进门前后3分钟内的门禁事件数据(ISC中门禁事件数据和访客登记事件的时间有点出入) - LocalDateTime startDateTime = localDateTime.minusMinutes(3); - LocalDateTime endDateTime = localDateTime.plusMinutes(3); + Calendar calendar = Calendar.getInstance(); + calendar.setTime(inTime); + calendar.add(Calendar.MINUTE, -3); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + DateTime startDateTime = DateUtil.parse(sdf.format(calendar.getTime())); + Calendar calendar1 = Calendar.getInstance(); + calendar1.setTime(inTime); + calendar1.add(Calendar.MINUTE, 3); + DateTime endDateTime = DateUtil.parse(sdf.format(calendar1.getTime())); String startTime = DateUtil.format(startDateTime, "yyyy-MM-dd'T'HH:mm:ss.SSSXXX"); String endTime = DateUtil.format(endDateTime, "yyyy-MM-dd'T'HH:mm:ss.SSSXXX"); doorEventsRequest.setStartTime(startTime); @@ -165,14 +172,14 @@ } //门禁点事件结果处理 String visitorPosition = handleDoorPositionResponse(resultJson1); - return visitorPosition; + return dictService.getDictNameByCode(SecurityEventDict.DEVICE_POSITION, visitorPosition); } private String handleDoorPositionResponse(JSONObject resultJson1) { JSONObject dataJson1 = (JSONObject) resultJson1.get("data"); if (Objects.nonNull(dataJson1)) { JSONArray list = (JSONArray) dataJson1.get("list"); - if (Objects.nonNull(list)) { + if (!CollectionUtils.isEmpty(list)) { JSONObject json1 = (JSONObject) list.get(0); Integer inAndOutType = json1.getInteger("inAndOutType"); //进门禁 @@ -190,14 +197,16 @@ JSONObject dataJson1 = (JSONObject) resultJson1.get("data"); if (Objects.nonNull(dataJson1)) { JSONArray list = (JSONArray) dataJson1.get("list"); - for (Object json : list) { - JSONObject json1 = (JSONObject) json; - Integer inAndOutType = json1.getInteger("inAndOutType"); - //出门禁 - if (inAndOutType == 0) { - DateTime parse = DateUtil.parse(json1.getString("eventTime")); - String outTime = DateUtil.formatDateTime(parse); - return outTime; + if (!CollectionUtils.isEmpty(list)) { + for (Object json : list) { + JSONObject json1 = (JSONObject) json; + Integer inAndOutType = json1.getInteger("inAndOutType"); + //出门禁 + if (inAndOutType == 0) { + DateTime parse = DateUtil.parse(json1.getString("eventTime")); + String outTime = DateUtil.formatDateTime(parse); + return outTime; + } } } }