Browse Source

修复bug并优化代码

Memory_LG 2 months ago
parent
commit
10182c4dc9

+ 2 - 1
src/main/java/com/sooka/sponest/event/eventProcess/controller/EventProcessController.java

@@ -8,6 +8,7 @@ import com.sooka.sponest.event.eventLog.domain.VO.EventLogVO;
 import com.sooka.sponest.event.eventLog.service.EventLogService;
 import com.sooka.sponest.event.eventProcess.domain.BO.EventInfoBO;
 import com.sooka.sponest.event.eventProcess.domain.EventInfo;
+import com.sooka.sponest.event.eventProcess.domain.VO.EventProcess;
 import com.sooka.sponest.event.eventProcess.service.EventProcessService;
 import org.apache.commons.lang.StringUtils;
 import org.springframework.web.bind.annotation.*;
@@ -62,7 +63,7 @@ public class EventProcessController extends BaseController {
      * 事件中心 - 事件上报
      */
     @PostMapping("/insertProcessEvent")
-    public AjaxResult insertProcessEvent(@RequestBody EventInfo eventInfo){
+    public AjaxResult insertProcessEvent(@RequestBody EventProcess eventInfo){
         return eventProcessService.insertProcessEvent(eventInfo);
     }
     //******************************************待确认事件块**************************************************/

+ 1 - 0
src/main/java/com/sooka/sponest/event/eventProcess/domain/BO/EventInfoBO.java

@@ -11,5 +11,6 @@ import java.util.List;
 @Setter
 @Getter
 public class EventInfoBO extends EventInfo {
+    private String tableName;
     private List<EventAttach> attachList = new ArrayList<>();
 }

+ 3 - 0
src/main/java/com/sooka/sponest/event/eventProcess/domain/EventInfo.java

@@ -138,6 +138,9 @@ public class EventInfo extends BaseBusinessEntity {
      */
     private String newEventType;
 
+    private String deptId;
+
+
     public EventInfo(String eventId, String eventType, String eventName, String eventDescription, String reportSource, String longitude, String latitude, String reporter, Date reportTime, String cameraCode, String eventStatus, String address, String isUrged, String createBy, Date createTime) {
         this.eventId = eventId;
         this.eventType = eventType;

+ 5 - 0
src/main/java/com/sooka/sponest/event/eventProcess/domain/VO/EventProcess.java

@@ -1,7 +1,9 @@
 package com.sooka.sponest.event.eventProcess.domain.VO;
 
 import com.sooka.sponest.event.eventProcess.domain.EventInfo;
+import lombok.AllArgsConstructor;
 import lombok.Getter;
+import lombok.NoArgsConstructor;
 import lombok.Setter;
 
 import java.util.Date;
@@ -14,4 +16,7 @@ public class EventProcess extends EventInfo {
     public EventProcess(String eventId, String eventType, String eventName, String eventDescription, String reportSource, String longitude, String latitude, String reporter, Date reportTime, String cameraCode, String eventStatus, String address, String isUrged, String createBy, Date createTime) {
         super(eventId, eventType, eventName, eventDescription, reportSource, longitude, latitude, reporter, reportTime, cameraCode, eventStatus, address, isUrged, createBy, createTime);
     }
+
+    public EventProcess() {
+    }
 }

+ 3 - 3
src/main/java/com/sooka/sponest/event/eventProcess/mapper/EventProcessMapper.java

@@ -19,7 +19,7 @@ public interface EventProcessMapper {
      * 事件中心 - 综合查询 - 详情
      * @author limeng
      * */
-    EventInfoBO getCompositeEventDetail(EventInfo eventInfo);
+//    EventInfoBO getCompositeEventDetail(EventInfo eventInfo);
 
     EventInfo getUnconfirmedEventDetail(EventInfo eventInfo);
 
@@ -31,9 +31,9 @@ public interface EventProcessMapper {
 
     EventInfo getUsualEventDetail(EventInfo eventInfo);
 
-    void insertEventProcess(EventInfo eventInfo);
+//    void insertEventProcess(EventInfo eventInfo);
 
-    void insertEventUsual(EventInfo eventInfo);
+//    void insertEventUsual(EventInfo eventInfo);
 
     void deleteEventUnconfirmed(EventInfo eventInfo);
 

+ 2 - 1
src/main/java/com/sooka/sponest/event/eventProcess/service/EventProcessService.java

@@ -6,6 +6,7 @@ import com.sooka.sponest.event.eventMessage.domain.DaHuaOtherEventVO;
 import com.sooka.sponest.event.eventMessage.domain.SensorEventVo;
 import com.sooka.sponest.event.eventProcess.domain.BO.EventInfoBO;
 import com.sooka.sponest.event.eventProcess.domain.EventInfo;
+import com.sooka.sponest.event.eventProcess.domain.VO.EventProcess;
 
 import java.util.List;
 
@@ -74,5 +75,5 @@ public interface EventProcessService {
 
     List<EventInfoBO> selectProcessAttachFromUnconfirmed();
 
-    AjaxResult insertProcessEvent(EventInfo eventInfo);
+    AjaxResult insertProcessEvent(EventProcess eventInfo);
 }

+ 37 - 30
src/main/java/com/sooka/sponest/event/eventProcess/service/impl/EventProcessServiceImpl.java

@@ -16,6 +16,7 @@ import com.ruoyi.system.api.domain.SysUser;
 import com.ruoyi.system.api.model.LoginUser;
 import com.sooka.sponest.event.base.service.impl.BaseServiceImpl;
 import com.sooka.sponest.event.eventAttach.domain.EventAttach;
+import com.sooka.sponest.event.eventAttach.mapper.EventAttachMapper;
 import com.sooka.sponest.event.eventAttach.service.EventAttachService;
 import com.sooka.sponest.event.eventDept.service.EventDeptService;
 import com.sooka.sponest.event.eventLog.domain.EventLog;
@@ -23,6 +24,7 @@ import com.sooka.sponest.event.eventLog.service.EventLogService;
 import com.sooka.sponest.event.eventMessage.domain.*;
 import com.sooka.sponest.event.eventProcess.domain.BO.EventInfoBO;
 import com.sooka.sponest.event.eventProcess.domain.EventInfo;
+import com.sooka.sponest.event.eventProcess.domain.VO.EventProcess;
 import com.sooka.sponest.event.eventProcess.domain.VO.EventUnconfirmed;
 import com.sooka.sponest.event.eventProcess.mapper.EventProcessMapper;
 import com.sooka.sponest.event.eventProcess.service.EventProcessService;
@@ -71,6 +73,9 @@ public class EventProcessServiceImpl extends BaseServiceImpl implements EventPro
     @Resource
     private RemoteFileService fileService;
 
+    @Resource
+    private EventAttachMapper eventAttachMapper;
+
     private final Lock lock = new ReentrantLock(true); // 公平锁
 
     /**
@@ -360,15 +365,15 @@ public class EventProcessServiceImpl extends BaseServiceImpl implements EventPro
                 }
 
                 //获取事件信息
-                EventInfoBO unconfirmedEventInfo = unconfirmedEventList.get(0);
-                if (!EVENT_STATUS_1.equals(unconfirmedEventInfo.getEventStatus())) {
+                EventInfoBO eventInfoBO = unconfirmedEventList.get(0);
+                if (!EVENT_STATUS_1.equals(eventInfoBO.getEventStatus())) {
                     return AjaxResult.error(EventEnum.EVENT_NOT_FOUND.getDescribe());
                 }
 
                 // 根据deviceCode获取行管局集合
-                List<CenterdataTAidevicedept> listDept = SpringUtils.getBean(RemoteMonitorService.class).getAideviceDeptListByCode(unconfirmedEventInfo.getCameraCode(), "1", "0").getData();
+                List<CenterdataTAidevicedept> listDept = SpringUtils.getBean(RemoteMonitorService.class).getAideviceDeptListByCode(eventInfoBO.getCameraCode(), "1", "0").getData();
                 if (StringUtils.isEmpty(listDept)) {
-                    logger.info("无法匹配相关部门!摄像头编号为:{}", unconfirmedEventInfo.getCameraCode());
+                    logger.info("无法匹配相关部门!摄像头编号为:{}", eventInfoBO.getCameraCode());
                 }
 
                 //插入行管局部门
@@ -378,20 +383,21 @@ public class EventProcessServiceImpl extends BaseServiceImpl implements EventPro
                 eventLogService.insertEventLog(eventInfo.getEventId(), sysUser.getDeptNames() + sysUser.getNickName() + EventEnum.EVENT_CONFIRM.getDescribe(), EVENT_LOG_TYPE_2, EVENT_LOG_SOURCE_99, String.valueOf(sysUser.getUserId()), DateUtils.getNowDate());
 
                 //下载附件到本地
-                moveAttach(unconfirmedEventInfo.getAttachList(), eventInfo.getEventId());
+                moveAttach(eventInfoBO.getAttachList(), eventInfo.getEventId());
 
                 //设置事件状态为确认事件
-                unconfirmedEventInfo.setEventStatus(EVENT_STATUS_2);
+                eventInfoBO.setEventStatus(EVENT_STATUS_2);
 
                 //如果确认的是火情事件, 需要设置事件类型;
                 if (StringUtils.isNotEmpty(eventInfo.getNewEventType())) {
-                    unconfirmedEventInfo.setEventType(eventInfo.getNewEventType());
+                    eventInfoBO.setEventType(eventInfo.getNewEventType());
                 }
 
                 //将事件主体移动到确认表
-                eventProcessMapper.insertEventProcess(unconfirmedEventInfo);
+                eventInfoBO.setTableName("event_process");
+                eventProcessMapper.insertEventInfo(eventInfoBO);
                 //删除待确认表
-                eventProcessMapper.deleteEventUnconfirmed(unconfirmedEventInfo);
+                eventProcessMapper.deleteEventUnconfirmed(eventInfoBO);
 
             } catch (Exception e) {
                 logger.error("事件处置失败!输入参数:{}", eventInfo, e);
@@ -455,7 +461,8 @@ public class EventProcessServiceImpl extends BaseServiceImpl implements EventPro
 
                 //将事件主体移动到无异常表
                 eventInfoBO.setEventStatus(eventInfo.getEventStatus());
-                eventProcessMapper.insertEventUsual(eventInfoBO);
+                eventInfoBO.setTableName("event_usual");
+                eventProcessMapper.insertEventInfo(eventInfoBO);
                 //下载附件到本地
                 if (flag) {
                     moveAttach(eventInfoBO.getAttachList(), eventInfo.getEventId());
@@ -692,8 +699,8 @@ public class EventProcessServiceImpl extends BaseServiceImpl implements EventPro
 
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public AjaxResult insertProcessEvent(EventInfo eventInfo) {
-        if (eventInfo == null) {
+    public AjaxResult insertProcessEvent(EventProcess eventProcess) {
+        if (eventProcess == null) {
             return AjaxResult.error("参数不可为空");
         }
         try {
@@ -707,15 +714,15 @@ public class EventProcessServiceImpl extends BaseServiceImpl implements EventPro
             StringBuilder logSource = new StringBuilder();
             StringBuilder logFileSource = new StringBuilder();
             //判断上报来源
-            if(REPORTING_SOURCE_1.equals(eventInfo.getReportSource())){
+            if(REPORTING_SOURCE_1.equals(eventProcess.getReportSource())){
                 // AI来源
                 logSource.append(EVENT_LOG_SOURCE_1);
                 logFileSource.append(EVENT_LOG_FILE_SOURCE_1);
-            }else if(REPORTING_SOURCE_2.equals(eventInfo.getReportSource())){
+            }else if(REPORTING_SOURCE_2.equals(eventProcess.getReportSource())){
                 // PC端来源
                 logSource.append(EVENT_LOG_SOURCE_2);
                 logFileSource.append(EVENT_LOG_FILE_SOURCE_2);
-            }else if(REPORTING_SOURCE_3.equals(eventInfo.getReportSource())){
+            }else if(REPORTING_SOURCE_3.equals(eventProcess.getReportSource())){
                 // 手机端来源
                 logSource.append(EVENT_LOG_SOURCE_3);
                 logFileSource.append(EVENT_LOG_FILE_SOURCE_3);
@@ -727,36 +734,36 @@ public class EventProcessServiceImpl extends BaseServiceImpl implements EventPro
             Date nowDate = DateUtils.getNowDate();
 
             //设置事件Id
-            eventInfo.setEventId(IdUtils.fastSimpleUUID());
-            eventInfo.setEventStatus(EVENT_STATUS_2);
-            eventInfo.setReporter(sysUser.getNickName());
-            eventInfo.setReportTime(nowDate);
-            eventInfo.setCreateBy(String.valueOf(sysUser.getUserId()));
-            eventInfo.setCreateTime(nowDate);
+            eventProcess.setEventId(IdUtils.fastSimpleUUID());
+            eventProcess.setEventStatus(EVENT_STATUS_2);
+            eventProcess.setReporter(sysUser.getNickName());
+            eventProcess.setReportTime(nowDate);
+            eventProcess.setCreateBy(String.valueOf(sysUser.getUserId()));
+            eventProcess.setCreateTime(nowDate);
 
             List<CenterdataTAidevicedept> listDept = new ArrayList<>();
-            if(!eventInfo.getDeptIdList().isEmpty()){
-                eventInfo.getDeptIdList().forEach(deptId-> listDept.add(new CenterdataTAidevicedept(deptId, "")));
+            if(!eventProcess.getDeptIdList().isEmpty()){
+                eventProcess.getDeptIdList().forEach(deptId-> listDept.add(new CenterdataTAidevicedept(deptId, "")));
                 //插入行管局部门
-                eventDeptService.insertEventDept(eventInfo.getEventId(), listDept);
+                eventDeptService.insertEventDept(eventProcess.getEventId(), listDept);
             }else{
                 return AjaxResult.error(EventEnum.DEPT_NOT_FOUND.getDescribe());
             }
 
             // 插入事件日志
-            String logId = eventLogService.insertEventLog(eventInfo.getEventId(), sysUser.getDeptNames() + sysUser.getNickName() + EventEnum.EVENT_USER_INSERT.getDescribe(), EVENT_LOG_TYPE_2, logSource.toString(), String.valueOf(sysUser.getUserId()), nowDate);
+            String logId = eventLogService.insertEventLog(eventProcess.getEventId(), sysUser.getDeptNames() + sysUser.getNickName() + EventEnum.EVENT_USER_INSERT.getDescribe(), EVENT_LOG_TYPE_2, logSource.toString(), String.valueOf(sysUser.getUserId()), nowDate);
 
             //存储附件
-            if (!eventInfo.getPictureList().isEmpty()) {
+            if (!eventProcess.getPictureList().isEmpty()) {
                 List<EventAttach> attachList = new ArrayList<>();
-                for (int i = 0; i < eventInfo.getPictureList().size(); i++) {
-                    attachList.add(new EventAttach(logId, eventInfo.getEventId(), eventInfo.getPictureList().get(i), logFileSource.toString(), FILE_URL, i));
+                for (int i = 0; i < eventProcess.getPictureList().size(); i++) {
+                    attachList.add(new EventAttach(logId, eventProcess.getEventId(), eventProcess.getPictureList().get(i), logFileSource.toString(), FILE_URL, i));
                 }
-                moveAttach(attachList, eventInfo.getEventId());
+                eventAttachMapper.batchInsertEventAttachProcess(attachList);
             }
 
             //写入主表
-            eventProcessMapper.insertEventProcess(eventInfo);
+            eventProcessMapper.insertEventInfo(eventProcess);
 
             return AjaxResult.success("事件新增成功!");
         } catch (Exception e) {

+ 28 - 9
src/main/resources/mapper/event/eventProcess/EventProcessMapper.xml

@@ -298,12 +298,12 @@
             AND a.event_id = #{eventId}
         </if>
         <if test="eventType!= null and eventType!= ''">
-            AND a.event_type = #{eventType}
+            AND a.event_type in (${eventType})
         </if>
         <if test="eventName!= null and eventName!= ''">
             AND a.event_name LIKE CONCAT('%', #{eventName}, '%')
         </if>
-        <if test="reportTimeStart != null and reportTimeEnd != null">
+        <if test="reportTimeStart != null and reportTimeEnd != null and reportTimeStart != '' and reportTimeEnd != ''">
             AND a.report_time BETWEEN
             concat(#{reportTimeStart}, ' 00:00:00')
             AND
@@ -367,7 +367,12 @@
         LEFT JOIN ${database_system}.sys_dept d ON ed.dept_id = d.dept_id
         <where>
             <include refid="selectEventListWhere"/>
-            ${params.dataScope}
+            <choose>
+                <when test="deptId != null and deptId != ''">
+                    and FIND_IN_SET( #{deptId}, CONCAT( d.ancestors, ",", d.dept_id) )
+                </when>
+                <otherwise>${params.dataScope}</otherwise>
+            </choose>
         </where>
         ORDER BY a.create_time DESC
     </select>
@@ -385,7 +390,14 @@
         LEFT JOIN ${database_system}.sys_dept d ON ed.dept_id = d.dept_id
         <where>
             <include refid="selectEventListWhere"/>
-            ${params.dataScope}
+            <choose>
+                <when test="deptId != null and deptId != ''">
+                    and FIND_IN_SET( #{deptId}, CONCAT( d.ancestors, ",", d.dept_id) )
+                </when>
+                <otherwise>
+                    ${params.dataScope}
+                </otherwise>
+            </choose>
         </where>
         ORDER BY a.create_time DESC
     </select>
@@ -403,7 +415,14 @@
         LEFT JOIN ${database_system}.sys_dept d ON ed.dept_id = d.dept_id
         <where>
             <include refid="selectEventListWhere"/>
-            ${params.dataScope}
+            <choose>
+                <when test="deptId != null and deptId != ''">
+                    and FIND_IN_SET( #{deptId}, CONCAT( d.ancestors, ",", d.dept_id) )
+                </when>
+                <otherwise>
+                    ${params.dataScope}
+                </otherwise>
+            </choose>
         </where>
         ORDER BY a.create_time DESC
     </select>
@@ -416,7 +435,7 @@
     </select>
 
 
-    <insert id="insertEventProcess" parameterType="EventInfo">
+    <!--<insert id="insertEventProcess" parameterType="EventInfo">
         INSERT INTO event_process
         <trim prefix="(" suffix=")" suffixOverrides=",">
             <if test="eventId != null">event_id,</if>
@@ -456,9 +475,9 @@
             <if test="updateBy != null">#{updateBy},</if>
             <if test="updateTime != null">#{updateTime},</if>
         </trim>
-    </insert>
+    </insert>-->
 
-    <insert id="insertEventUsual" parameterType="EventInfo">
+    <!--<insert id="insertEventUsual" parameterType="EventInfo">
         INSERT INTO event_usual
         <trim prefix="(" suffix=")" suffixOverrides=",">
             <if test="eventId != null">event_id,</if>
@@ -498,7 +517,7 @@
             <if test="updateBy != null">#{updateBy},</if>
             <if test="updateTime != null">#{updateTime},</if>
         </trim>
-    </insert>
+    </insert>-->
 
     <delete id="deleteEventUnconfirmed" parameterType="EventInfo">
         DELETE