Commit ded4b9e1 authored by 高建强's avatar 高建强

Merge remote-tracking branch 'origin/develop_dl_plan6' into develop_dl_plan6

parents 8c451a6e 3d0c76b1
...@@ -19,7 +19,7 @@ public class BaseEntity implements Serializable { ...@@ -19,7 +19,7 @@ public class BaseEntity implements Serializable {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
@TableId(value = "id", type = IdType.ID_WORKER) @TableId(value = "id", type = IdType.ID_WORKER_STR)
protected String id; protected String id;
/** /**
......
...@@ -17,12 +17,12 @@ public class AlarmEventLogVO implements Serializable { ...@@ -17,12 +17,12 @@ public class AlarmEventLogVO implements Serializable {
private String bizOrgCode; private String bizOrgCode;
private String orgCode; private String orgCode;
private String severityLevel; private String severityLevel;
private String objcectType; private String objectType;
private String objcectId; private String objectId;
private String objcectCode; private String objectCode;
private String objcectName; private String objectName;
private String objcectIndexName; private String objectIndexName;
private String objcectIndexKey; private String objectIndexKey;
private String alarmTime; private String alarmTime;
private String signalId; private String signalId;
private String controlModelId; private String controlModelId;
...@@ -42,7 +42,7 @@ public class AlarmEventLogVO implements Serializable { ...@@ -42,7 +42,7 @@ public class AlarmEventLogVO implements Serializable {
private String buildingCode; private String buildingCode;
private String systemCode; private String systemCode;
private String systemName; private String systemName;
private String objcectIndexValue; private String objectIndexValue;
private String objcectIndexType; private String objectIndexType;
private String recoveryStatus; private String recoveryStatus;
} }
...@@ -96,14 +96,15 @@ ...@@ -96,14 +96,15 @@
</select> </select>
<select id="queryAlarmCountByDateAndCode" resultType="java.lang.Integer"> <select id="queryAlarmCountByDateAndCode" resultType="java.lang.Integer">
select count(*) from asf_fire_equipment_signal_log select count(esl.id) from asf_fire_station_info asi
left join asf_fire_equipment_signal_log esl on asi.code = esl.station_code
<where> <where>
1 = 1 1 = 1
<if test="stationCode != null and stationCode != ''"> <if test="stationCode != null and stationCode != ''">
and station_code = #{stationCode,jdbcType=VARCHAR} and esl.station_code = #{stationCode,jdbcType=VARCHAR}
</if> </if>
<if test="date != null and date != ''"> <if test="date != null and date != ''">
and confirm_date like concat(#{date,jdbcType=VARCHAR},'%') and esl.confirm_date like concat(#{date,jdbcType=VARCHAR},'%')
</if> </if>
</where> </where>
</select> </select>
...@@ -112,12 +113,13 @@ ...@@ -112,12 +113,13 @@
select select
(SELECT (SELECT
IFNULL(count(s.id),0) IFNULL(count(s.id),0)
FROM `asf_fire_equipment_signal_log` s FROM asf_fire_station_info asi
LEFT JOIN `asf_fire_equipment_signal_log` s ON asi.code = s.station_code
<where> <where>
<if test="stationCode != null and stationCode != ''"> <if test="stationCode != null and stationCode != ''">
and s.station_code = #{stationCode} and s.station_code = #{stationCode}
</if> </if>
and s.signal_report_date = t.date and s.confirm_date like concat(t.date,'%')
</where> </where>
) as alarmNums, ) as alarmNums,
date date
......
package com.yeejoin.amos.boot.module.ccs.biz.config; package com.yeejoin.amos.boot.module.ccs.biz.config;
import com.github.pagehelper.util.StringUtil;
import com.yeejoin.amos.boot.module.ccs.api.service.MqttReceiveService; import com.yeejoin.amos.boot.module.ccs.api.service.MqttReceiveService;
import lombok.extern.slf4j.Slf4j;
import org.eclipse.paho.client.mqttv3.MqttConnectOptions; import org.eclipse.paho.client.mqttv3.MqttConnectOptions;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
...@@ -19,17 +19,7 @@ import org.springframework.integration.mqtt.support.DefaultPahoMessageConverter; ...@@ -19,17 +19,7 @@ import org.springframework.integration.mqtt.support.DefaultPahoMessageConverter;
import org.springframework.messaging.MessageChannel; import org.springframework.messaging.MessageChannel;
import org.springframework.messaging.MessageHandler; import org.springframework.messaging.MessageHandler;
import java.util.ArrayList; @Slf4j
import java.util.List;
/**
* @author keyong
* @title: CcsMqttReceiveConfig
* <pre>
* @description: MQTT订阅模式消费类
* </pre>
* @date 2020/10/29 19:23
*/
@Configuration @Configuration
@IntegrationComponentScan @IntegrationComponentScan
public class CcsMqttReceiveConfig { public class CcsMqttReceiveConfig {
...@@ -107,6 +97,7 @@ public class CcsMqttReceiveConfig { ...@@ -107,6 +97,7 @@ public class CcsMqttReceiveConfig {
return message -> { return message -> {
String topic = message.getHeaders().get("mqtt_receivedTopic").toString(); String topic = message.getHeaders().get("mqtt_receivedTopic").toString();
String msg = message.getPayload().toString(); String msg = message.getPayload().toString();
log.info("message内容:{}", msg);
if (alarmTopic.equals(topic)) { if (alarmTopic.equals(topic)) {
mqttReceiveService.handlerMqttAlarmMessage(topic, msg); mqttReceiveService.handlerMqttAlarmMessage(topic, msg);
} else if (questionTopic.equals(topic)) { } else if (questionTopic.equals(topic)) {
......
...@@ -85,7 +85,7 @@ public class FireStationInfoServiceImpl extends BaseService<FireStationInfoDto, ...@@ -85,7 +85,7 @@ public class FireStationInfoServiceImpl extends BaseService<FireStationInfoDto,
if (null == top) { if (null == top) {
finalVoList = fireStationInfoList.stream().skip(0).sorted(Comparator.comparing(FireStationInfoDto::getAlarmNum).reversed()).collect(Collectors.toList()); finalVoList = fireStationInfoList.stream().skip(0).sorted(Comparator.comparing(FireStationInfoDto::getAlarmNum).reversed()).collect(Collectors.toList());
} else { } else {
finalVoList = fireStationInfoList.stream().skip(0).limit(top).sorted(Comparator.comparing(FireStationInfoDto::getAlarmNum).reversed()).collect(Collectors.toList()); finalVoList = fireStationInfoList.stream().skip(0).sorted(Comparator.comparing(FireStationInfoDto::getAlarmNum).reversed()).limit(top).collect(Collectors.toList());
} }
return finalVoList; return finalVoList;
} }
...@@ -95,7 +95,7 @@ public class FireStationInfoServiceImpl extends BaseService<FireStationInfoDto, ...@@ -95,7 +95,7 @@ public class FireStationInfoServiceImpl extends BaseService<FireStationInfoDto,
String year = DateUtil.format(date, "YYYY"); String year = DateUtil.format(date, "YYYY");
String currentMonth = DateUtil.format(date, DatePattern.NORM_MONTH_PATTERN); String currentMonth = DateUtil.format(date, DatePattern.NORM_MONTH_PATTERN);
String yesterday = DateUtil.format(DateUtil.offsetDay(date, -1), DatePattern.NORM_DATE_PATTERN); String yesterday = DateUtil.format(DateUtil.offsetDay(date, -1), DatePattern.NORM_DATE_PATTERN);
Integer todayNum = this.baseMapper.queryAlarmCountByDateAndCode(stationCode, DateUtil.now()); Integer todayNum = this.baseMapper.queryAlarmCountByDateAndCode(stationCode, DateUtil.today());
Integer currentYearNum = this.baseMapper.queryAlarmCountByDateAndCode(stationCode, year); Integer currentYearNum = this.baseMapper.queryAlarmCountByDateAndCode(stationCode, year);
Integer currentMonthNum = this.baseMapper.queryAlarmCountByDateAndCode(stationCode, currentMonth); Integer currentMonthNum = this.baseMapper.queryAlarmCountByDateAndCode(stationCode, currentMonth);
Integer yesterdayNum = this.baseMapper.queryAlarmCountByDateAndCode(stationCode, yesterday); Integer yesterdayNum = this.baseMapper.queryAlarmCountByDateAndCode(stationCode, yesterday);
......
...@@ -8,6 +8,7 @@ import cn.hutool.json.JSONUtil; ...@@ -8,6 +8,7 @@ import cn.hutool.json.JSONUtil;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.yeejoin.amos.boot.module.ccs.api.dto.FireStationInfoDto; import com.yeejoin.amos.boot.module.ccs.api.dto.FireStationInfoDto;
import com.yeejoin.amos.boot.module.ccs.api.entity.FireEquipmentSignalLog; import com.yeejoin.amos.boot.module.ccs.api.entity.FireEquipmentSignalLog;
import com.yeejoin.amos.boot.module.ccs.api.mapper.FireEquipmentSignalLogMapper;
import com.yeejoin.amos.boot.module.ccs.api.service.IFireStationInfoService; import com.yeejoin.amos.boot.module.ccs.api.service.IFireStationInfoService;
import com.yeejoin.amos.boot.module.ccs.api.service.MqttReceiveService; import com.yeejoin.amos.boot.module.ccs.api.service.MqttReceiveService;
import com.yeejoin.amos.boot.module.ccs.api.vo.AlarmEventLogVO; import com.yeejoin.amos.boot.module.ccs.api.vo.AlarmEventLogVO;
...@@ -39,6 +40,9 @@ public class MqttReceiveServiceImpl implements MqttReceiveService { ...@@ -39,6 +40,9 @@ public class MqttReceiveServiceImpl implements MqttReceiveService {
@Autowired @Autowired
private IFireStationInfoService fireStationInfoService; private IFireStationInfoService fireStationInfoService;
@Autowired
private FireEquipmentSignalLogMapper fireEquipmentSignalLogMapper;
//TODO 逻辑待补充 //TODO 逻辑待补充
@Override @Override
...@@ -56,18 +60,19 @@ public class MqttReceiveServiceImpl implements MqttReceiveService { ...@@ -56,18 +60,19 @@ public class MqttReceiveServiceImpl implements MqttReceiveService {
"insert".equals(receiveData.getActive()) && ObjectUtil.isNotEmpty(receiveData.getAlarmEventLog())) { "insert".equals(receiveData.getActive()) && ObjectUtil.isNotEmpty(receiveData.getAlarmEventLog())) {
AlarmEventLogVO alarmEventLog = receiveData.getAlarmEventLog(); AlarmEventLogVO alarmEventLog = receiveData.getAlarmEventLog();
if (StrUtil.isNotEmpty(alarmEventLog.getObjcectType()) && "equip".equals(alarmEventLog.getObjcectType()) && if (StrUtil.isNotEmpty(alarmEventLog.getObjectType()) && "equipment".equals(alarmEventLog.getObjectType()) &&
StrUtil.isNotEmpty(alarmEventLog.getObjcectIndexType()) && "fireAlarm".equals(alarmEventLog.getObjcectIndexType())) { StrUtil.isNotEmpty(alarmEventLog.getObjectIndexType()) && "FIREALARM".equals(alarmEventLog.getObjectIndexType()) &&
StrUtil.isNotEmpty(alarmEventLog.getOrgCode())) {
FireEquipmentSignalLog fireEquipmentSignalLog = new FireEquipmentSignalLog(); FireEquipmentSignalLog fireEquipmentSignalLog = new FireEquipmentSignalLog();
fireEquipmentSignalLog.setStationName(alarmEventLog.getBizOrgName());
fireEquipmentSignalLog.setStationCode(alarmEventLog.getOrgCode()); fireEquipmentSignalLog.setStationCode(alarmEventLog.getOrgCode());
fireEquipmentSignalLog.setFireEquipmentMrid(alarmEventLog.getObjcectCode()); fireEquipmentSignalLog.setFireEquipmentIndexValue(alarmEventLog.getObjectIndexValue());
fireEquipmentSignalLog.setFireEquipmentName(alarmEventLog.getObjcectName()); fireEquipmentSignalLog.setFireEquipmentMrid(alarmEventLog.getObjectCode());
fireEquipmentSignalLog.setFireEquipmentIndexName(alarmEventLog.getObjcectIndexName()); fireEquipmentSignalLog.setFireEquipmentName(alarmEventLog.getObjectName());
fireEquipmentSignalLog.setFireEquipmentIndexKey(alarmEventLog.getObjcectIndexKey()); fireEquipmentSignalLog.setFireEquipmentIndexName(alarmEventLog.getObjectIndexName());
fireEquipmentSignalLog.setFireEquipmentIndexKey(alarmEventLog.getObjectIndexKey());
fireEquipmentSignalLog.setFireBuildingMrid(alarmEventLog.getBuildingCode()); fireEquipmentSignalLog.setFireBuildingMrid(alarmEventLog.getBuildingCode());
fireEquipmentSignalLog.setSignalType(alarmEventLog.getObjcectIndexType()); fireEquipmentSignalLog.setSignalType(alarmEventLog.getObjectIndexType());
fireEquipmentSignalLog.setSignalTypeName("火灾告警"); fireEquipmentSignalLog.setSignalTypeName(alarmEventLog.getObjectIndexName());
fireEquipmentSignalLog.setAlarmReason(alarmEventLog.getQuestionReason()); fireEquipmentSignalLog.setAlarmReason(alarmEventLog.getQuestionReason());
fireEquipmentSignalLog.setConfirmState("0"); fireEquipmentSignalLog.setConfirmState("0");
fireEquipmentSignalLog.setConfirmDate(DateUtil.parse(alarmEventLog.getAlarmTime())); fireEquipmentSignalLog.setConfirmDate(DateUtil.parse(alarmEventLog.getAlarmTime()));
...@@ -75,18 +80,21 @@ public class MqttReceiveServiceImpl implements MqttReceiveService { ...@@ -75,18 +80,21 @@ public class MqttReceiveServiceImpl implements MqttReceiveService {
fireEquipmentSignalLog.setSystemNames(alarmEventLog.getSystemName()); fireEquipmentSignalLog.setSystemNames(alarmEventLog.getSystemName());
fireEquipmentSignalLog.setProtectedObjectMrid(alarmEventLog.getProtectedObjectCode()); fireEquipmentSignalLog.setProtectedObjectMrid(alarmEventLog.getProtectedObjectCode());
fireEquipmentSignalLog.setProtectedObjectName(alarmEventLog.getProtectedObjectName()); fireEquipmentSignalLog.setProtectedObjectName(alarmEventLog.getProtectedObjectName());
fireEquipmentSignalLog.setIsAlarm("1".equals(alarmEventLog.getRecoveryStatus())); //RecoveryStatus 0-未恢复 1-已恢复 IsAlarm 0-已恢复 1-告警
fireEquipmentSignalLog.setIsAlarm("0".equals(alarmEventLog.getRecoveryStatus()));
fireEquipmentSignalLog.setCreateDate(now); fireEquipmentSignalLog.setCreateDate(now);
fireEquipmentSignalLog.setSignalReportDate(DateUtil.today()); fireEquipmentSignalLog.setSignalReportDate(DateUtil.today());
fireEquipmentSignalLog.setLocation(alarmEventLog.getBuildingName()); fireEquipmentSignalLog.setLocation(alarmEventLog.getBuildingName());
fireEquipmentSignalLog.setSynDate(now); fireEquipmentSignalLog.setSynDate(now);
FireStationInfoDto oneByCode = fireStationInfoService.getOneByCode(fireEquipmentSignalLog.getStationCode()); fireEquipmentSignalLog.setSignalId(alarmEventLog.getSignalId());
FireStationInfoDto oneByCode = fireStationInfoService.getOneByCode(alarmEventLog.getOrgCode());
fireEquipmentSignalLog.setStationName(oneByCode.getName());
fireEquipmentSignalLog.setLng(oneByCode.getLng()); fireEquipmentSignalLog.setLng(oneByCode.getLng());
fireEquipmentSignalLog.setLat(oneByCode.getLat()); fireEquipmentSignalLog.setLat(oneByCode.getLat());
fireEquipmentSignalLogServiceImpl.save(fireEquipmentSignalLog); fireEquipmentSignalLogMapper.insert(fireEquipmentSignalLog);
} }
} else if (ObjectUtil.isNotEmpty(receiveData) && StrUtil.isNotEmpty(receiveData.getActive()) && } else if (ObjectUtil.isNotEmpty(receiveData) && StrUtil.isNotEmpty(receiveData.getActive()) &&
"update".equals(receiveData.getActive()) && ObjectUtil.isNotEmpty(receiveData.getRawData()) && StrUtil.isNotEmpty(receiveData.getRawData().getEquipmentSpecificIotCode())) { "update".equals(receiveData.getActive()) && ObjectUtil.isNotEmpty(receiveData.getRawData()) && StrUtil.isNotEmpty(receiveData.getRawData().getEquipmentSpecificCode())) {
RawDataVO rawData = receiveData.getRawData(); RawDataVO rawData = receiveData.getRawData();
FireEquipmentSignalLog fireEquipmentSignalLog = new FireEquipmentSignalLog(); FireEquipmentSignalLog fireEquipmentSignalLog = new FireEquipmentSignalLog();
fireEquipmentSignalLog.setIsAlarm(false); fireEquipmentSignalLog.setIsAlarm(false);
...@@ -111,11 +119,13 @@ public class MqttReceiveServiceImpl implements MqttReceiveService { ...@@ -111,11 +119,13 @@ public class MqttReceiveServiceImpl implements MqttReceiveService {
} }
if (ObjectUtil.isNotEmpty(questionVO) && CollUtil.isNotEmpty(questionVO.getAlarmEventLog())) { if (ObjectUtil.isNotEmpty(questionVO) && CollUtil.isNotEmpty(questionVO.getAlarmEventLog())) {
questionVO.getAlarmEventLog().forEach(item -> { questionVO.getAlarmEventLog().forEach(item -> {
FireEquipmentSignalLog fireEquipmentSignalLog = new FireEquipmentSignalLog(); if (StrUtil.isNotEmpty(item.getSignalId())) {
fireEquipmentSignalLog.setConfirmState(item.getStatus()); FireEquipmentSignalLog fireEquipmentSignalLog = new FireEquipmentSignalLog();
UpdateWrapper<FireEquipmentSignalLog> updateWrapper = new UpdateWrapper<>(); fireEquipmentSignalLog.setConfirmState(item.getStatus());
updateWrapper.lambda().eq(FireEquipmentSignalLog::getSignalId, item.getSignalId()); UpdateWrapper<FireEquipmentSignalLog> updateWrapper = new UpdateWrapper<>();
fireEquipmentSignalLogServiceImpl.update(fireEquipmentSignalLog, updateWrapper); updateWrapper.lambda().eq(FireEquipmentSignalLog::getSignalId, item.getSignalId());
fireEquipmentSignalLogServiceImpl.update(fireEquipmentSignalLog, updateWrapper);
}
}); });
} }
log.info(String.format("收到mqtt(问题下发消息推送)消息并处理完成:%s", message)); log.info(String.format("收到mqtt(问题下发消息推送)消息并处理完成:%s", message));
......
...@@ -14,6 +14,7 @@ import org.springframework.http.MediaType; ...@@ -14,6 +14,7 @@ import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import org.typroject.tyboot.core.foundation.enumeration.UserType; import org.typroject.tyboot.core.foundation.enumeration.UserType;
import org.typroject.tyboot.core.restful.doc.TycloudOperation; import org.typroject.tyboot.core.restful.doc.TycloudOperation;
import java.util.LinkedHashMap; import java.util.LinkedHashMap;
import java.util.Map; import java.util.Map;
...@@ -37,7 +38,7 @@ public class ConfirmAlarmController extends AbstractBaseController { ...@@ -37,7 +38,7 @@ public class ConfirmAlarmController extends AbstractBaseController {
@GetMapping(value = "/getDetailsById") @GetMapping(value = "/getDetailsById")
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(value = "根据id,type查询确警页面相关数据") @ApiOperation(value = "根据id,type查询确警页面相关数据")
public Map<String, Object> getDetailsById(@RequestParam Long alamId, @RequestParam(required=false) Long equipId, @RequestParam(required=false) String type, @RequestParam String area) { public Map<String, Object> getDetailsById(@RequestParam Long alamId, @RequestParam(required = false) Long equipId, @RequestParam(required = false) String type, @RequestParam String area) {
return iConfirmAlarmService.getDetailsById(alamId, equipId, type, area); return iConfirmAlarmService.getDetailsById(alamId, equipId, type, area);
} }
...@@ -63,30 +64,38 @@ public class ConfirmAlarmController extends AbstractBaseController { ...@@ -63,30 +64,38 @@ public class ConfirmAlarmController extends AbstractBaseController {
@GetMapping(value = "/getFireAlarm") @GetMapping(value = "/getFireAlarm")
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(value = "未处理消防告警") @ApiOperation(value = "未处理消防告警")
public Map<String,Object> getFireAlarm() { public Map<String, Object> getFireAlarm() {
Map<String,Object> map = new LinkedHashMap<>(); Map<String, Object> map = new LinkedHashMap<>();
map.put("FireAlarmNum",iConfirmAlarmService.getFireAlarm().intValue()); map.put("FireAlarmNum", iConfirmAlarmService.getFireAlarm().intValue());
return map; return map;
} }
@GetMapping(value = "/getFaultAlarm") @GetMapping(value = "/getFaultAlarm")
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(value = "未处理故障告警") @ApiOperation(value = "未处理故障告警")
public Map<String,Object> getFaultAlarm() { public Map<String, Object> getFaultAlarm() {
Map<String,Object> map = new LinkedHashMap<>(); Map<String, Object> map = new LinkedHashMap<>();
map.put("FaultAlarmNum",iConfirmAlarmService.getFaultAlarm().intValue()); map.put("FaultAlarmNum", iConfirmAlarmService.getFaultAlarm().intValue());
return map; return map;
} }
@GetMapping(value = "/getMonitorEvent") @GetMapping(value = "/getMonitorEvent")
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(value = "未处理物联告警") @ApiOperation(value = "未处理物联告警")
public Map<String,Object> getMonitorEvent() { public Map<String, Object> getMonitorEvent() {
Map<String,Object> map = new LinkedHashMap<>(); Map<String, Object> map = new LinkedHashMap<>();
LambdaQueryWrapper<MonitorEvent> queryWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<MonitorEvent> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(MonitorEvent::getEventState,"未处理"); queryWrapper.eq(MonitorEvent::getEventState, "未处理");
int monitorEventNum = monitorEventService.getBaseMapper().selectCount(queryWrapper); int monitorEventNum = monitorEventService.getBaseMapper().selectCount(queryWrapper);
map.put("monitorEventNum",monitorEventNum); map.put("monitorEventNum", monitorEventNum);
return map; return map;
} }
@GetMapping(value = "/{equipmentSpecificId}/relation")
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(value = "查询设备画布及关联摄像头信息")
public Map<String, Object> getEquipSceneAndRelationVideo(@PathVariable Long equipmentSpecificId) {
return iConfirmAlarmService.getEquipSceneAndRelationVideo(equipmentSpecificId);
}
} }
...@@ -17,6 +17,7 @@ import org.springframework.web.bind.annotation.RequestMethod; ...@@ -17,6 +17,7 @@ import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import org.typroject.tyboot.core.foundation.enumeration.UserType; import org.typroject.tyboot.core.foundation.enumeration.UserType;
import org.typroject.tyboot.core.foundation.utils.ValidationUtil;
import org.typroject.tyboot.core.restful.doc.TycloudOperation; import org.typroject.tyboot.core.restful.doc.TycloudOperation;
import org.typroject.tyboot.core.restful.utils.ResponseModel; import org.typroject.tyboot.core.restful.utils.ResponseModel;
...@@ -156,10 +157,12 @@ public class EquipmentAlarmController extends AbstractBaseController { ...@@ -156,10 +157,12 @@ public class EquipmentAlarmController extends AbstractBaseController {
request12.setName("isRemoveShield"); request12.setName("isRemoveShield");
request12.setValue(StringUtil.isNotEmpty(isRemoveShield) ? StringUtils.trimToNull(isRemoveShield) : null); request12.setValue(StringUtil.isNotEmpty(isRemoveShield) ? StringUtils.trimToNull(isRemoveShield) : null);
queryRequests.add(request12); queryRequests.add(request12);
CommonRequest request13 = new CommonRequest(); if (!ValidationUtil.isEmpty(reginParams.getPersonIdentity())){
request13.setName("bizOrgCode"); CommonRequest request13 = new CommonRequest();
request13.setValue(StringUtil.isNotEmpty(reginParams.getPersonIdentity().getBizOrgCode()) ? reginParams.getPersonIdentity().getBizOrgCode() : null ); request13.setName("bizOrgCode");
queryRequests.add(request13); request13.setValue(StringUtil.isNotEmpty(reginParams.getPersonIdentity().getBizOrgCode()) ? reginParams.getPersonIdentity().getBizOrgCode() : null );
queryRequests.add(request13);
}
CommonPageInfoParam param = CommonPageParamUtil.fillCommonPageInfoParam(queryRequests, commonPageable); CommonPageInfoParam param = CommonPageParamUtil.fillCommonPageInfoParam(queryRequests, commonPageable);
Page<Map<String, Object>> list = iEquipmentSpecificAlarmService.listPage(param); Page<Map<String, Object>> list = iEquipmentSpecificAlarmService.listPage(param);
return CommonResponseUtil.success(list); return CommonResponseUtil.success(list);
...@@ -276,10 +279,12 @@ public class EquipmentAlarmController extends AbstractBaseController { ...@@ -276,10 +279,12 @@ public class EquipmentAlarmController extends AbstractBaseController {
request13.setName("isRemovedFire"); request13.setName("isRemovedFire");
request13.setValue(StringUtil.isNotEmpty(isRemovedFire) ? StringUtils.trimToNull(isRemovedFire) : null); request13.setValue(StringUtil.isNotEmpty(isRemovedFire) ? StringUtils.trimToNull(isRemovedFire) : null);
queryRequests.add(request13); queryRequests.add(request13);
CommonRequest request14 = new CommonRequest(); if (!ValidationUtil.isEmpty(reginParams.getPersonIdentity())){
request13.setName("bizOrgCode"); CommonRequest request14 = new CommonRequest();
request13.setValue(StringUtil.isNotEmpty(reginParams.getPersonIdentity().getBizOrgCode()) ? reginParams.getPersonIdentity().getBizOrgCode() : null ); request14.setName("bizOrgCode");
queryRequests.add(request14); request14.setValue(StringUtil.isNotEmpty(reginParams.getPersonIdentity().getBizOrgCode()) ? reginParams.getPersonIdentity().getBizOrgCode() : null );
queryRequests.add(request14);
}
CommonPageInfoParam param = CommonPageParamUtil.fillCommonPageInfoParam(queryRequests, commonPageable); CommonPageInfoParam param = CommonPageParamUtil.fillCommonPageInfoParam(queryRequests, commonPageable);
org.springframework.data.domain.Page<AlarmListDataVO> list = iEquipmentSpecificAlarmService.listAlarmsPage(param); org.springframework.data.domain.Page<AlarmListDataVO> list = iEquipmentSpecificAlarmService.listAlarmsPage(param);
return CommonResponseUtil.success(list); return CommonResponseUtil.success(list);
......
...@@ -12,4 +12,5 @@ import com.yeejoin.equipmanage.common.entity.SourceScene; ...@@ -12,4 +12,5 @@ import com.yeejoin.equipmanage.common.entity.SourceScene;
public interface SourceSceneMapper extends BaseMapper<SourceScene> { public interface SourceSceneMapper extends BaseMapper<SourceScene> {
SourceScene queryEquipmentScene(Long equipmentSpecificId);
} }
...@@ -29,4 +29,6 @@ public interface IConfirmAlarmService extends IService<EquipmentSpecificAlarm> { ...@@ -29,4 +29,6 @@ public interface IConfirmAlarmService extends IService<EquipmentSpecificAlarm> {
* 未处理物联告警 * 未处理物联告警
*/ */
Integer getFaultAlarm(); Integer getFaultAlarm();
Map<String, Object> getEquipSceneAndRelationVideo(Long equipmentSpecificId);
} }
...@@ -58,9 +58,6 @@ public class ConfirmAlarmServiceImpl extends ServiceImpl<ConfirmAlarmMapper, Equ ...@@ -58,9 +58,6 @@ public class ConfirmAlarmServiceImpl extends ServiceImpl<ConfirmAlarmMapper, Equ
@Autowired @Autowired
private ISyncDataService syncDataService;
@Autowired
MqttSendGateway mqttSendGateway; MqttSendGateway mqttSendGateway;
@Autowired @Autowired
...@@ -109,6 +106,9 @@ public class ConfirmAlarmServiceImpl extends ServiceImpl<ConfirmAlarmMapper, Equ ...@@ -109,6 +106,9 @@ public class ConfirmAlarmServiceImpl extends ServiceImpl<ConfirmAlarmMapper, Equ
@Autowired @Autowired
private IFormInstanceService instanceService; private IFormInstanceService instanceService;
@Autowired
private SourceSceneMapper sourceSceneMapper;
@Override @Override
public Map<String, Object> getDetailsById(Long alarmId, Long equipId, String type, String area) { public Map<String, Object> getDetailsById(Long alarmId, Long equipId, String type, String area) {
final String videoType = "video"; final String videoType = "video";
...@@ -293,6 +293,22 @@ public class ConfirmAlarmServiceImpl extends ServiceImpl<ConfirmAlarmMapper, Equ ...@@ -293,6 +293,22 @@ public class ConfirmAlarmServiceImpl extends ServiceImpl<ConfirmAlarmMapper, Equ
return confirmAlarmMapper.getFaultAlarm(); return confirmAlarmMapper.getFaultAlarm();
} }
@Override
public Map<String, Object> getEquipSceneAndRelationVideo(Long equipmentSpecificId) {
Map<String, Object> res = new HashMap<>();
// 设备关联的摄像头
List<AlamVideoVO> video = videoMapper.getVideoBySpeId(equipmentSpecificId);
video.forEach(action -> {
action.setVedioFormat(vedioFormat);
action.setUrl(videoService.getVideoUrl(action.getName(), action.getPresetPosition(), action.getUrl(), action.getCode()));
});
res.put("video", video);
// 设备所在楼层画布
SourceScene scene = sourceSceneMapper.queryEquipmentScene(equipmentSpecificId);
res.put("scene", scene);
return res;
}
// public void sendIotSystemAlarm(EquipmentSpecificAlarmLog ent, String userId, String appKey, String product, String token){ // public void sendIotSystemAlarm(EquipmentSpecificAlarmLog ent, String userId, String appKey, String product, String token){
//// Token serverToken = remoteSecurityService.getServerToken(); //// Token serverToken = remoteSecurityService.getServerToken();
// ResponseModel<List<UserDto>> responseModel = null; // ResponseModel<List<UserDto>> responseModel = null;
......
...@@ -94,17 +94,25 @@ public class PowerTransferCompanyResourcesServiceImpl extends BaseService<PowerT ...@@ -94,17 +94,25 @@ public class PowerTransferCompanyResourcesServiceImpl extends BaseService<PowerT
try { try {
if (type == 2) { if (type == 2) {
powerTransferCompanyResources.setStatus(code); powerTransferCompanyResources.setStatus(code);
powerTransferCompanyResources.setRemarks(remarks); powerTransferCompanyResources.setRemarks(remarks);
powerTransferCompanyResourcesMapper.updateById(powerTransferCompanyResources); powerTransferCompanyResourcesMapper.updateById(powerTransferCompanyResources);
List<Object> carStatusInfoDtoList = new ArrayList();
//修改装备信息 if("finished".equals(code)){
CarStatusInfoDto carStatusInfo = new CarStatusInfoDto(); List<Object> carStatusInfoDtoList = new ArrayList();
carStatusInfo.setSequenceNbr(carId + ""); //修改装备信息
carStatusInfo.setStatus(FireCarStatusEnum.执勤.getCode()); CarStatusInfoDto carStatusInfo = new CarStatusInfoDto();
carStatusInfoDtoList.add(carStatusInfo); carStatusInfo.setSequenceNbr(carId + "");
// 更新所有车辆状态为执勤 carStatusInfo.setStatus(FireCarStatusEnum.执勤.getCode());
equipFeignClient.updateCarStatus(carStatusInfoDtoList); carStatusInfoDtoList.add(carStatusInfo);
// 更新所有车辆状态为执勤
equipFeignClient.updateCarStatus(carStatusInfoDtoList);
}
} else { } else {
if (FireCarStatusEnum.到场.getCode().equals(code)){ if (FireCarStatusEnum.到场.getCode().equals(code)){
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
......
...@@ -2,7 +2,12 @@ package com.yeejoin.amos.knowledgebase.config; ...@@ -2,7 +2,12 @@ package com.yeejoin.amos.knowledgebase.config;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.apache.http.HttpHost; import org.apache.http.HttpHost;
import org.apache.http.auth.AuthScope;
import org.apache.http.auth.UsernamePasswordCredentials;
import org.apache.http.client.CredentialsProvider;
import org.apache.http.client.config.RequestConfig; import org.apache.http.client.config.RequestConfig;
import org.apache.http.impl.client.BasicCredentialsProvider;
import org.apache.http.impl.nio.client.HttpAsyncClientBuilder;
import org.elasticsearch.client.RestClient; import org.elasticsearch.client.RestClient;
import org.elasticsearch.client.RestClientBuilder; import org.elasticsearch.client.RestClientBuilder;
import org.elasticsearch.client.RestHighLevelClient; import org.elasticsearch.client.RestHighLevelClient;
...@@ -16,17 +21,31 @@ public class ElasticSearchClientConfig { ...@@ -16,17 +21,31 @@ public class ElasticSearchClientConfig {
@Value("${spring.elasticsearch.rest.uris}") @Value("${spring.elasticsearch.rest.uris}")
private String uris; private String uris;
@Value("${elasticsearch.username}")
private String username;
@Value("${elasticsearch.password}")
private String password;
@Bean @Bean
@Qualifier("highLevelClient") @Qualifier("highLevelClient")
public RestHighLevelClient restHighLevelClient() { public RestHighLevelClient restHighLevelClient() {
final CredentialsProvider credentialsProvider = new BasicCredentialsProvider();
credentialsProvider.setCredentials(AuthScope.ANY,
new UsernamePasswordCredentials(username, password));
try { try {
String url = uris.replace("http://", ""); String url = uris.replace("http://", "");
final String[] parts = StringUtils.split(url, ":"); final String[] parts = StringUtils.split(url, ":");
HttpHost httpHost = new HttpHost(parts[0], Integer.parseInt(parts[1]), "http"); HttpHost httpHost = new HttpHost(parts[0], Integer.parseInt(parts[1]), "http");
RestClientBuilder builder = RestClient.builder(httpHost); RestClientBuilder builder = RestClient.builder(httpHost);
builder.setHttpClientConfigCallback(new RestClientBuilder.HttpClientConfigCallback() {
@Override
public HttpAsyncClientBuilder customizeHttpClient(HttpAsyncClientBuilder httpClientBuilder) {
httpClientBuilder.disableAuthCaching();
return httpClientBuilder.setDefaultCredentialsProvider(credentialsProvider);
}
});
builder.setRequestConfigCallback(new RestClientBuilder.RequestConfigCallback() { builder.setRequestConfigCallback(new RestClientBuilder.RequestConfigCallback() {
// 该方法接收一个RequestConfig.Builder对象,对该对象进行修改后然后返回。 // 该方法接收一个RequestConfig.Builder对象,对该对象进行修改后然后返回。
@Override @Override
......
...@@ -2,4 +2,15 @@ ...@@ -2,4 +2,15 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yeejoin.equipmanage.mapper.SourceSceneMapper"> <mapper namespace="com.yeejoin.equipmanage.mapper.SourceSceneMapper">
<select id="queryEquipmentScene" resultType="com.yeejoin.equipmanage.common.entity.SourceScene">
SELECT
sou.id,
sou.scene_id
FROM
wl_source_scene sou
WHERE
find_in_set(#{equipmentSpecificId},sou.point_in_scene)>0
and EXISTS (SELECT distinct fi.instance_id from wl_form_instance fi where fi.instance_id = sou.source_id)
limit 1
</select>
</mapper> </mapper>
...@@ -163,7 +163,8 @@ ...@@ -163,7 +163,8 @@
vid.remark, vid.remark,
vid.url, vid.url,
vid.code, vid.code,
vid.preset_position as presetPosition vid.preset_position as presetPosition,
vid.name
from from
wl_video_equipment_specific as ves wl_video_equipment_specific as ves
left join wl_video as vid on ves.video_id = vid.id left join wl_video as vid on ves.video_id = vid.id
......
...@@ -26,6 +26,10 @@ ...@@ -26,6 +26,10 @@
<groupId>org.liquibase</groupId> <groupId>org.liquibase</groupId>
<artifactId>liquibase-core</artifactId> <artifactId>liquibase-core</artifactId>
</dependency> </dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
</dependencies> </dependencies>
<build> <build>
......
...@@ -29,6 +29,13 @@ spring.datasource.hikari.max-lifetime=120000 ...@@ -29,6 +29,13 @@ spring.datasource.hikari.max-lifetime=120000
spring.datasource.hikari.connection-timeout=30000 spring.datasource.hikari.connection-timeout=30000
spring.datasource.hikari.connection-test-query=SELECT 1 spring.datasource.hikari.connection-test-query=SELECT 1
endpoints.enabled = false
management.security.enabled=true
security.user.name=admin
security.user.password=admin
##liquibase ##liquibase
spring.liquibase.change-log = classpath:/db/changelog/changelog-master.xml spring.liquibase.change-log = classpath:/db/changelog/changelog-master.xml
spring.liquibase.enabled= true spring.liquibase.enabled= true
......
...@@ -15,7 +15,10 @@ ...@@ -15,7 +15,10 @@
<artifactId>amos-boot-module-knowledgebase-biz</artifactId> <artifactId>amos-boot-module-knowledgebase-biz</artifactId>
<version>${amos-biz-boot.version}</version> <version>${amos-biz-boot.version}</version>
</dependency> </dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
</dependencies> </dependencies>
<build> <build>
......
...@@ -40,6 +40,8 @@ eureka.instance.metadata-map.management.api-docs=http://localhost:${server.port} ...@@ -40,6 +40,8 @@ eureka.instance.metadata-map.management.api-docs=http://localhost:${server.port}
spring.data.elasticsearch.cluster-name=elasticsearch spring.data.elasticsearch.cluster-name=elasticsearch
spring.data.elasticsearch.cluster-nodes=172.16.10.66:9300 spring.data.elasticsearch.cluster-nodes=172.16.10.66:9300
spring.elasticsearch.rest.uris=http://172.16.10.66:9200 spring.elasticsearch.rest.uris=http://172.16.10.66:9200
elasticsearch.username= elastic
elasticsearch.password= 123456
#emqx v4.0 #emqx v4.0
emqx.clean-session=true emqx.clean-session=true
......
...@@ -20,4 +20,10 @@ mybatis-plus.type-aliases-super-type=org.typroject.tyboot.core.rdbms.orm.entity. ...@@ -20,4 +20,10 @@ mybatis-plus.type-aliases-super-type=org.typroject.tyboot.core.rdbms.orm.entity.
mybatis-plus.global-config.db-config.id-type=id_worker mybatis-plus.global-config.db-config.id-type=id_worker
mybatis-plus.mapper-locations=classpath:mapper/* mybatis-plus.mapper-locations=classpath:mapper/*
## redis失效时间 ## redis失效时间
redis.cache.failure.time=10800 redis.cache.failure.time=10800
\ No newline at end of file
endpoints.enabled = false
management.security.enabled=true
security.user.name=admin
security.user.password=admin
...@@ -23,6 +23,10 @@ ...@@ -23,6 +23,10 @@
<artifactId>pagehelper</artifactId> <artifactId>pagehelper</artifactId>
<version>5.1.10</version> <version>5.1.10</version>
</dependency> </dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
</dependencies> </dependencies>
<build> <build>
<plugins> <plugins>
......
...@@ -61,4 +61,12 @@ feign.httpclient.connection-timeout=5000 ...@@ -61,4 +61,12 @@ feign.httpclient.connection-timeout=5000
video.fegin.name=video video.fegin.name=video
latentDanger.feign.name=AMOS-LATENT-DANGER latentDanger.feign.name=AMOS-LATENT-DANGER
Knowledgebase.fegin.name=AMOS-API-KNOWLEDGEBASE Knowledgebase.fegin.name=AMOS-API-KNOWLEDGEBASE
\ No newline at end of file ## 消防救援保障部ID
fire-rescue=1432549862557130753
endpoints.enabled = false
management.security.enabled=true
security.user.name=admin
security.user.password=admin
...@@ -13,6 +13,10 @@ ...@@ -13,6 +13,10 @@
<artifactId>amos-boot-module-maintenance-biz</artifactId> <artifactId>amos-boot-module-maintenance-biz</artifactId>
<version>${amos-biz-boot.version}</version> <version>${amos-biz-boot.version}</version>
</dependency> </dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
</dependencies> </dependencies>
<build> <build>
<plugins> <plugins>
......
...@@ -67,3 +67,8 @@ eureka.instance.metadata-map.management.context-path=${server.servlet.context-pa ...@@ -67,3 +67,8 @@ eureka.instance.metadata-map.management.context-path=${server.servlet.context-pa
eureka.instance.status-page-url-path=/actuator/info eureka.instance.status-page-url-path=/actuator/info
eureka.instance.metadata-map.management.api-docs=http://localhost:${server.port}${server.servlet.context-path}/swagger-ui.html eureka.instance.metadata-map.management.api-docs=http://localhost:${server.port}${server.servlet.context-path}/swagger-ui.html
endpoints.enabled = false
management.security.enabled=true
security.user.name=admin
security.user.password=admin
...@@ -16,6 +16,10 @@ ...@@ -16,6 +16,10 @@
<artifactId>amos-boot-module-patrol-biz</artifactId> <artifactId>amos-boot-module-patrol-biz</artifactId>
<version>${amos-biz-boot.version}</version> <version>${amos-biz-boot.version}</version>
</dependency> </dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
</dependencies> </dependencies>
<build> <build>
<plugins> <plugins>
......
...@@ -56,4 +56,10 @@ rule.definition.model-package=com.yeejoin.amos.patrol.business.entity.mybatis ...@@ -56,4 +56,10 @@ rule.definition.model-package=com.yeejoin.amos.patrol.business.entity.mybatis
rule.definition.default-agency=STATE_GRID rule.definition.default-agency=STATE_GRID
jcs.fegin.name=JCS jcs.fegin.name=JCS
emergency.command.section.id=1418223840361709569 emergency.command.section.id=1418223840361709569
\ No newline at end of file
endpoints.enabled = false
management.security.enabled=true
security.user.name=admin
security.user.password=admin
...@@ -33,6 +33,10 @@ ...@@ -33,6 +33,10 @@
<groupId>cn.jpush.api</groupId> <groupId>cn.jpush.api</groupId>
<artifactId>jpush-client</artifactId> <artifactId>jpush-client</artifactId>
</dependency> </dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
</dependencies> </dependencies>
<build> <build>
<plugins> <plugins>
......
...@@ -73,3 +73,8 @@ eureka.instance.metadata-map.management.context-path=${server.servlet.context-pa ...@@ -73,3 +73,8 @@ eureka.instance.metadata-map.management.context-path=${server.servlet.context-pa
eureka.instance.status-page-url-path=/actuator/info eureka.instance.status-page-url-path=/actuator/info
eureka.instance.metadata-map.management.api-docs=http://localhost:${server.port}${server.servlet.context-path}/swagger-ui.html eureka.instance.metadata-map.management.api-docs=http://localhost:${server.port}${server.servlet.context-path}/swagger-ui.html
endpoints.enabled = false
management.security.enabled=true
security.user.name=admin
security.user.password=admin
package com.yeejoin.amos.boot.module.tzs.api.dto;
import lombok.Data;
@Data
public class KV {
private String name;
private Object value;
}
package com.yeejoin.amos.boot.module.tzs.api.mapper; package com.yeejoin.amos.boot.module.tzs.api.mapper;
import com.yeejoin.amos.boot.module.tzs.api.entity.MsgLog;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yeejoin.amos.boot.module.tzs.api.dto.KV;
import com.yeejoin.amos.boot.module.tzs.api.entity.MsgLog;
import java.util.List;
/** /**
* 消息流水表 Mapper 接口 * 消息流水表 Mapper 接口
...@@ -10,5 +13,5 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; ...@@ -10,5 +13,5 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
* @date 2022-04-20 * @date 2022-04-20
*/ */
public interface MsgLogMapper extends BaseMapper<MsgLog> { public interface MsgLogMapper extends BaseMapper<MsgLog> {
List<KV> getMsgType();
} }
...@@ -2,4 +2,10 @@ ...@@ -2,4 +2,10 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yeejoin.amos.boot.module.tzs.api.mapper.MsgLogMapper"> <mapper namespace="com.yeejoin.amos.boot.module.tzs.api.mapper.MsgLogMapper">
<select id="getMsgType" resultType="com.yeejoin.amos.boot.module.tzs.api.dto.KV">
SELECT msg_type AS value, msg_type_name AS name
FROM tz_msg_log
GROUP BY msg_type
</select>
</mapper> </mapper>
package com.yeejoin.amos.boot.module.tzs.biz.controller; package com.yeejoin.amos.boot.module.tzs.biz.controller;
import org.springframework.web.bind.annotation.RequestMapping; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.Api;
import org.springframework.web.bind.annotation.RestController;
import com.yeejoin.amos.boot.biz.common.controller.BaseController; import com.yeejoin.amos.boot.biz.common.controller.BaseController;
import com.yeejoin.amos.boot.module.tzs.api.dto.KV;
import java.util.List; import com.yeejoin.amos.boot.module.tzs.api.dto.MsgLogDto;
import com.yeejoin.amos.boot.module.tzs.biz.service.impl.MsgLogServiceImpl; import com.yeejoin.amos.boot.module.tzs.biz.service.impl.MsgLogServiceImpl;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.typroject.tyboot.core.foundation.enumeration.UserType;
import org.typroject.tyboot.core.restful.doc.TycloudOperation;
import org.typroject.tyboot.core.restful.utils.ResponseHelper; import org.typroject.tyboot.core.restful.utils.ResponseHelper;
import org.typroject.tyboot.core.restful.utils.ResponseModel; import org.typroject.tyboot.core.restful.utils.ResponseModel;
import org.springframework.beans.factory.annotation.Autowired;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import java.util.List;
import org.springframework.web.bind.annotation.*; import java.util.Map;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.module.tzs.api.dto.MsgLogDto;
import org.typroject.tyboot.core.restful.doc.TycloudOperation;
import org.typroject.tyboot.core.foundation.enumeration.UserType;
/** /**
* 消息流水表 * 消息流水表
...@@ -92,14 +89,13 @@ public class MsgLogController extends BaseController { ...@@ -92,14 +89,13 @@ public class MsgLogController extends BaseController {
* 列表分页查询 * 列表分页查询
* *
* @param current 当前页 * @param current 当前页
* @param current 每页大小 * @param size 每页大小
* @return * @return
*/ */
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/page") @GetMapping(value = "/page")
@ApiOperation(httpMethod = "GET", value = "消息流水表分页查询", notes = "消息流水表分页查询") @ApiOperation(httpMethod = "GET", value = "消息流水表分页查询", notes = "消息流水表分页查询")
public ResponseModel<Page<MsgLogDto>> queryForPage(@RequestParam(value = "current") int current, @RequestParam public ResponseModel<Page<MsgLogDto>> queryForPage(@RequestParam(value = "current") int current, @RequestParam(value = "size") int size) {
(value = "size") int size) {
Page<MsgLogDto> page = new Page<MsgLogDto>(); Page<MsgLogDto> page = new Page<MsgLogDto>();
page.setCurrent(current); page.setCurrent(current);
page.setSize(size); page.setSize(size);
...@@ -126,8 +122,7 @@ public class MsgLogController extends BaseController { ...@@ -126,8 +122,7 @@ public class MsgLogController extends BaseController {
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "GET", value = "告警数量统计", notes = "告警数量统计") @ApiOperation(httpMethod = "GET", value = "告警数量统计", notes = "告警数量统计")
@GetMapping(value = "/count") @GetMapping(value = "/count")
public ResponseModel<Integer> countByTerminalType( public ResponseModel<Integer> countByTerminalType(@RequestParam(value = "terminalType", required = false) String terminalType) {
@RequestParam(value = "terminalType", required = false) String terminalType) {
return ResponseHelper.buildResponse(msgLogServiceImpl.countByTerminalType(terminalType)); return ResponseHelper.buildResponse(msgLogServiceImpl.countByTerminalType(terminalType));
} }
...@@ -135,21 +130,56 @@ public class MsgLogController extends BaseController { ...@@ -135,21 +130,56 @@ public class MsgLogController extends BaseController {
* 列表分页查询 * 列表分页查询
* *
* @param current 当前页 * @param current 当前页
* @param current 每页大小 * @param size 每页大小
* @param terminalType 终端类型 * @param terminalType 终端类型
* @param isRead 是否未读 * @param isRead 是否未读
* @return
*/ */
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/page/terminalType") @GetMapping(value = "/page/terminalType")
@ApiOperation(httpMethod = "GET", value = "消息流水表分页查询", notes = "消息流水表分页查询") @ApiOperation(httpMethod = "GET", value = "消息流水表分页查询", notes = "消息流水表分页查询")
public ResponseModel<Page<MsgLogDto>> queryForPage(@RequestParam(value = "current") int current, public ResponseModel<Page<MsgLogDto>> queryForPage(
@RequestParam(value = "size") int size, @RequestParam(value = "current") int current,
@RequestParam(value = "terminalType") String terminalType, @RequestParam(value = "size") int size,
@RequestParam(value = "isRead") Boolean isRead) { @RequestParam(required = false) String terminalType,
Page<MsgLogDto> page = new Page<MsgLogDto>(); @RequestParam(required = false) Boolean isRead,
@RequestParam(required = false) String sendTimeStart,
@RequestParam(required = false) String sendTimeEnd,
@RequestParam(required = false) String msgType,
@RequestParam(required = false) String body
) {
Page<MsgLogDto> page = new Page<>();
page.setCurrent(current); page.setCurrent(current);
page.setSize(size); page.setSize(size);
return ResponseHelper.buildResponse(msgLogServiceImpl.queryForMsgLogByTerminalTypePage(page, terminalType, isRead)); return ResponseHelper.buildResponse(msgLogServiceImpl.queryForMsgLogByTerminalTypePage(page, terminalType, isRead, sendTimeStart, sendTimeEnd, msgType, body));
}
/**
* 获取消息类型
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/msgType")
@ApiOperation(httpMethod = "GET", value = "获取消息类型")
public ResponseModel<List<KV>> queryForPage() {
return ResponseHelper.buildResponse(msgLogServiceImpl.getType());
}
/**
* 全部已读
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/allRead")
@ApiOperation(httpMethod = "GET", value = "全部已读")
public ResponseModel<Boolean> allRead() {
return ResponseHelper.buildResponse(msgLogServiceImpl.allRead());
}
/**
* 批量删除
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PostMapping(value = "/deleteByIds")
@ApiOperation(httpMethod = "POST", value = "批量删除")
public ResponseModel<Boolean> deleteByIds(@RequestBody Map<String, List<Long>> body) {
return ResponseHelper.buildResponse(msgLogServiceImpl.deleteByIds(body.get("ids")));
} }
} }
\ No newline at end of file
package com.yeejoin.amos.boot.module.tzs.biz.service.impl; package com.yeejoin.amos.boot.module.tzs.biz.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.google.common.collect.Lists; import com.google.common.collect.Lists;
import com.yeejoin.amos.boot.module.tzs.api.dto.AlertMsgDto; import com.yeejoin.amos.boot.module.tzs.api.dto.AlertMsgDto;
import com.yeejoin.amos.boot.module.tzs.api.dto.AlertPaperInfoDto; import com.yeejoin.amos.boot.module.tzs.api.dto.AlertPaperInfoDto;
import com.yeejoin.amos.boot.module.tzs.api.dto.KV;
import com.yeejoin.amos.boot.module.tzs.api.dto.MsgLogDto; import com.yeejoin.amos.boot.module.tzs.api.dto.MsgLogDto;
import com.yeejoin.amos.boot.module.tzs.api.entity.MsgLog; import com.yeejoin.amos.boot.module.tzs.api.entity.MsgLog;
import com.yeejoin.amos.boot.module.tzs.api.enums.TerminalTypeEnum;
import com.yeejoin.amos.boot.module.tzs.api.mapper.MsgLogMapper; import com.yeejoin.amos.boot.module.tzs.api.mapper.MsgLogMapper;
import com.yeejoin.amos.boot.module.tzs.api.service.IMsgLogService; import com.yeejoin.amos.boot.module.tzs.api.service.IMsgLogService;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils;
import org.typroject.tyboot.core.foundation.utils.ValidationUtil; import org.typroject.tyboot.core.foundation.utils.ValidationUtil;
import org.typroject.tyboot.core.rdbms.service.BaseService; import org.typroject.tyboot.core.rdbms.service.BaseService;
import java.util.LinkedList;
import java.util.List; import java.util.List;
/** /**
...@@ -26,7 +31,7 @@ import java.util.List; ...@@ -26,7 +31,7 @@ import java.util.List;
* @date 2022-04-20 * @date 2022-04-20
*/ */
@Service @Service
public class MsgLogServiceImpl extends BaseService<MsgLogDto,MsgLog,MsgLogMapper> implements IMsgLogService { public class MsgLogServiceImpl extends BaseService<MsgLogDto, MsgLog, MsgLogMapper> implements IMsgLogService {
Logger logger = LoggerFactory.getLogger(MsgLogServiceImpl.class); Logger logger = LoggerFactory.getLogger(MsgLogServiceImpl.class);
...@@ -36,26 +41,25 @@ public class MsgLogServiceImpl extends BaseService<MsgLogDto,MsgLog,MsgLogMapper ...@@ -36,26 +41,25 @@ public class MsgLogServiceImpl extends BaseService<MsgLogDto,MsgLog,MsgLogMapper
/** /**
* 分页查询 * 分页查询
*/ */
public Page<MsgLogDto> queryForMsgLogPage(Page<MsgLogDto> page) { public Page<MsgLogDto> queryForMsgLogPage(Page<MsgLogDto> page) {
return this.queryForPage(page, null, false); return this.queryForPage(page, null, false);
} }
/** /**
* 列表查询 示例 * 列表查询 示例
*/ */
public List<MsgLogDto> queryForMsgLogList() { public List<MsgLogDto> queryForMsgLogList() {
return this.queryForList("" , false); return this.queryForList("", false);
} }
public List<MsgLogDto> queryForWebMsgLogList(String terminalType) { public List<MsgLogDto> queryForWebMsgLogList(String terminalType) {
return this.queryForList("" , false, terminalType); return this.queryForList("", false, terminalType);
} }
public List<AlertMsgDto> queryForAlertMsg(List<String> regionCodes) { public List<AlertMsgDto> queryForAlertMsg(List<String> regionCodes) {
List<AlertMsgDto> alertMsgDtoList = Lists.newArrayList(); List<AlertMsgDto> alertMsgDtoList = Lists.newArrayList();
// 查询电梯警情预报消息 // 查询电梯警情预报消息
List<AlertPaperInfoDto> alertPaperInfoDtoList = List<AlertPaperInfoDto> alertPaperInfoDtoList = alertCalledService.getAlertPaperInfoList(alertCalledService.authRegionCodeList(regionCodes), false);
alertCalledService.getAlertPaperInfoList(alertCalledService.authRegionCodeList(regionCodes), false);
if (!ValidationUtil.isEmpty(alertPaperInfoDtoList)) { if (!ValidationUtil.isEmpty(alertPaperInfoDtoList)) {
alertPaperInfoDtoList.forEach(msg -> { alertPaperInfoDtoList.forEach(msg -> {
AlertMsgDto alertMsgDto = new AlertMsgDto(); AlertMsgDto alertMsgDto = new AlertMsgDto();
...@@ -82,15 +86,51 @@ public class MsgLogServiceImpl extends BaseService<MsgLogDto,MsgLog,MsgLogMapper ...@@ -82,15 +86,51 @@ public class MsgLogServiceImpl extends BaseService<MsgLogDto,MsgLog,MsgLogMapper
alertMsgDtoList.add(alertMsgDto); alertMsgDtoList.add(alertMsgDto);
}); });
} }
return alertMsgDtoList; return alertMsgDtoList;
} }
public Integer countByTerminalType(String terminalType) { public Integer countByTerminalType(String terminalType) {
return this.list(new LambdaQueryWrapper<MsgLog>().eq(StringUtils.isNotEmpty(terminalType), MsgLog::getTerminalType, terminalType)).size(); return this.list(new LambdaQueryWrapper<MsgLog>().eq(StringUtils.hasText(terminalType), MsgLog::getTerminalType, terminalType)).size();
}
public Page<MsgLogDto> queryForMsgLogByTerminalTypePage(Page<MsgLogDto> page, String terminalType, Boolean isRead, String sendTimeStart, String sendTimeEnd, String msgType, String body) {
Page<MsgLog> msgLogPage = new Page<>(page.getCurrent(), page.getSize());
LambdaQueryWrapper<MsgLog> wrapper = new LambdaQueryWrapper<>();
if (!StringUtils.hasText(terminalType)) {
terminalType = TerminalTypeEnum.TERMINAL_TYPE_WEB.getCode();
}
wrapper.eq(MsgLog::getTerminalType, terminalType);
wrapper.eq(isRead != null, MsgLog::getIsRead, isRead);
wrapper.ge(StringUtils.hasText(sendTimeStart), MsgLog::getSendTime, sendTimeStart);
wrapper.le(StringUtils.hasText(sendTimeEnd), MsgLog::getSendTime, sendTimeEnd);
wrapper.eq(StringUtils.hasText(msgType), MsgLog::getMsgType, msgType);
wrapper.eq(MsgLog::getIsDelete, 0);
wrapper.like(StringUtils.hasText(body), MsgLog::getBody, body);
page(msgLogPage, wrapper);
LinkedList<MsgLogDto> msgLogDtos = new LinkedList<>();
for (MsgLog record : msgLogPage.getRecords()) {
MsgLogDto msgLogDto = new MsgLogDto();
BeanUtils.copyProperties(record, msgLogDto);
msgLogDtos.add(msgLogDto);
}
page.setRecords(msgLogDtos);
return page;
} }
public Page<MsgLogDto> queryForMsgLogByTerminalTypePage(Page<MsgLogDto> page, String terminalType, Boolean isRead) { public List<KV> getType() {
return this.queryForPage(page, "rec_date", false, terminalType, isRead); return getBaseMapper().getMsgType();
} }
}
\ No newline at end of file public boolean allRead() {
LambdaUpdateWrapper<MsgLog> wrapper = new LambdaUpdateWrapper<>();
wrapper.eq(MsgLog::getIsRead, 0).set(MsgLog::getIsRead, 1);
return update(wrapper);
}
public boolean deleteByIds(List<Long> longs) {
LambdaUpdateWrapper<MsgLog> wrapper = new LambdaUpdateWrapper<>();
wrapper.in(MsgLog::getSequenceNbr, longs).set(MsgLog::getIsDelete, 1);
return update(wrapper);
}
}
...@@ -24,6 +24,11 @@ public class ElasticSearchClientConfig { ...@@ -24,6 +24,11 @@ public class ElasticSearchClientConfig {
@Value("${spring.elasticsearch.rest.uris}") @Value("${spring.elasticsearch.rest.uris}")
private String uris; private String uris;
@Value("${elasticsearch.username}")
private String username;
@Value("${elasticsearch.password}")
private String password;
@Bean @Bean
@Qualifier("highLevelClient") @Qualifier("highLevelClient")
...@@ -35,8 +40,9 @@ public class ElasticSearchClientConfig { ...@@ -35,8 +40,9 @@ public class ElasticSearchClientConfig {
HttpHost httpHost = new HttpHost(parts[0], Integer.parseInt(parts[1]), "http"); HttpHost httpHost = new HttpHost(parts[0], Integer.parseInt(parts[1]), "http");
RestClientBuilder builder = RestClient.builder(httpHost); RestClientBuilder builder = RestClient.builder(httpHost);
//增加安全配置,使用kibana,勿删 //增加安全配置,使用kibana,勿删
final CredentialsProvider credentialsProvider = new BasicCredentialsProvider(); final CredentialsProvider credentialsProvider = new BasicCredentialsProvider();
credentialsProvider.setCredentials(AuthScope.ANY, new UsernamePasswordCredentials("elastic","es123456")); credentialsProvider.setCredentials(AuthScope.ANY,
new UsernamePasswordCredentials(username, password));
builder.setRequestConfigCallback(new RestClientBuilder.RequestConfigCallback() { builder.setRequestConfigCallback(new RestClientBuilder.RequestConfigCallback() {
// 该方法接收一个RequestConfig.Builder对象,对该对象进行修改后然后返回。 // 该方法接收一个RequestConfig.Builder对象,对该对象进行修改后然后返回。
@Override @Override
...@@ -47,13 +53,13 @@ public class ElasticSearchClientConfig { ...@@ -47,13 +53,13 @@ public class ElasticSearchClientConfig {
} }
});// 调整最大重试超时时间(默认为30秒).setMaxRetryTimeoutMillis(60000); });// 调整最大重试超时时间(默认为30秒).setMaxRetryTimeoutMillis(60000);
//增加安全配置,使用kibana,勿删 //增加安全配置,使用kibana,勿删
// builder.setHttpClientConfigCallback(new RestClientBuilder.HttpClientConfigCallback() { builder.setHttpClientConfigCallback(new RestClientBuilder.HttpClientConfigCallback() {
// @Override @Override
// public HttpAsyncClientBuilder customizeHttpClient(HttpAsyncClientBuilder httpClientBuilder) { public HttpAsyncClientBuilder customizeHttpClient(HttpAsyncClientBuilder httpClientBuilder) {
// httpClientBuilder.disableAuthCaching(); httpClientBuilder.disableAuthCaching();
// return httpClientBuilder.setDefaultCredentialsProvider(credentialsProvider); return httpClientBuilder.setDefaultCredentialsProvider(credentialsProvider);
// } }
// }); });
return new RestHighLevelClient(builder); return new RestHighLevelClient(builder);
} catch (Exception e) { } catch (Exception e) {
throw new IllegalStateException("Invalid ES nodes " + "property '" + uris + "'", e); throw new IllegalStateException("Invalid ES nodes " + "property '" + uris + "'", e);
......
...@@ -16,6 +16,8 @@ biz.elasticsearch.address=172.16.10.66 ...@@ -16,6 +16,8 @@ biz.elasticsearch.address=172.16.10.66
spring.data.elasticsearch.cluster-name=elasticsearch spring.data.elasticsearch.cluster-name=elasticsearch
spring.data.elasticsearch.cluster-nodes=${biz.elasticsearch.address}:9300 spring.data.elasticsearch.cluster-nodes=${biz.elasticsearch.address}:9300
spring.elasticsearch.rest.uris=http://${biz.elasticsearch.address}:9200 spring.elasticsearch.rest.uris=http://${biz.elasticsearch.address}:9200
elasticsearch.username= elastic
elasticsearch.password= 123456
##biz custem properties ##biz custem properties
biz.hk.video.url=http://11.11.16.12:9017/artemis-web/debug biz.hk.video.url=http://11.11.16.12:9017/artemis-web/debug
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment