Browse Source

门禁日志

master
刘力 3 years ago
parent
commit
0557dfda90
  1. 6
      storeroom/src/main/java/com/storeroom/modules/storeroom3d/controller/AlarmInfoController.java
  2. 47
      storeroom/src/main/java/com/storeroom/modules/storeroom3d/controller/AlarmLogController.java
  3. 2
      storeroom/src/main/java/com/storeroom/modules/storeroom3d/controller/DisplayConfigController.java
  4. 23
      storeroom/src/main/java/com/storeroom/modules/storeroom3d/service/AlarmInfoService.java
  5. 23
      storeroom/src/main/java/com/storeroom/modules/storeroom3d/service/dto/AlarmLogCriteria.java
  6. 64
      storeroom/src/main/java/com/storeroom/modules/storeroom3d/service/impl/AlarmInfoServiceImpl.java
  7. 8
      storeroom/src/main/java/com/storeroom/modules/storeroom3d/service/impl/DisplayConfigImpl.java
  8. 1
      storeroom/src/main/java/com/storeroom/modules/storeroom3d/service/impl/SecurityDoorServiceImpl.java
  9. 23
      system/src/main/java/com/storeroom/modules/system/controller/NanoIdController.java

6
storeroom/src/main/java/com/storeroom/modules/storeroom3d/controller/AlarmInfoController.java

@ -35,11 +35,7 @@ public class AlarmInfoController {
return ApiResponse.success(alarmInfoService.getAllAlarmInfo());
}
@AnonymousPostMapping("testalarm")
public ApiResponse<Object> testalarm(@RequestBody List<GetCurAlarm> getCurAlarms) {
return ApiResponse.success(alarmInfoService.testAlarm(getCurAlarms));
}
@AnonymousGetMapping("info")
public ApiResponse<Object> queryStoreroomId(@RequestParam String storeroomId) {
@ -49,4 +45,6 @@ public class AlarmInfoController {
return ApiResponse.success(alarmInfoService.getStoreroomDevice(storeroomId));
}
}

47
storeroom/src/main/java/com/storeroom/modules/storeroom3d/controller/AlarmLogController.java

@ -0,0 +1,47 @@
package com.storeroom.modules.storeroom3d.controller;
import com.storeroom.annotaion.rest.AnonymousGetMapping;
import com.storeroom.annotaion.rest.AnonymousPostMapping;
import com.storeroom.exception.BaseException;
import com.storeroom.modules.storeroom3d.domain.AlarmLog;
import com.storeroom.modules.storeroom3d.service.AlarmInfoService;
import com.storeroom.modules.storeroom3d.service.dto.AlarmLogCriteria;
import com.storeroom.utils.ApiResponse;
import com.storeroom.utils.StringUtils;
import com.storeroom.utils.enums.ResponseStatus;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import org.springframework.data.domain.Pageable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("/api/alarmlog/")
@Api(tags = "报警日志管理")
@RequiredArgsConstructor
public class AlarmLogController {
private final AlarmInfoService alarmInfoService;
@ApiOperation("获取日志列表")
@AnonymousGetMapping
public ApiResponse<Object> list(AlarmLogCriteria criteria, Pageable pageable) {
return ApiResponse.success(alarmInfoService.alarmLogList(criteria, pageable));
}
@ApiOperation("添加说明")
@AnonymousPostMapping("remark")
public ApiResponse<Object> remark(@RequestBody AlarmLog alarmLog){
if (StringUtils.isEmpty(alarmLog.getId())){
throw new BaseException("id不能为空");
}
alarmInfoService.addRemark(alarmLog);
return ApiResponse.success(ResponseStatus.SUCCESS);
}
}

2
storeroom/src/main/java/com/storeroom/modules/storeroom3d/controller/DisplayConfigController.java

@ -37,7 +37,7 @@ public class DisplayConfigController {
@AnonymousPostMapping("bind")
@ApiOperation("绑定参数")
public ApiResponse<Object> bind(@RequestBody DisplayConfig displayConfig) {
if (!StringUtils.isEmpty(displayConfig.getId())) {
if (StringUtils.isEmpty(displayConfig.getId())) {
throw new BaseException("id不为空");
}
displayConfigService.bind(displayConfig);

23
storeroom/src/main/java/com/storeroom/modules/storeroom3d/service/AlarmInfoService.java

@ -1,8 +1,8 @@
package com.storeroom.modules.storeroom3d.service;
import com.storeroom.modules.storeroom3d.domain.GetCurAlarm;
import com.storeroom.modules.storeroom3d.service.dto.GetCurAlarmDto;
import com.storeroom.modules.storeroom3d.service.dto.GetCurAlarmDtoTest;
import com.storeroom.modules.storeroom3d.domain.AlarmLog;
import com.storeroom.modules.storeroom3d.service.dto.AlarmLogCriteria;
import org.springframework.data.domain.Pageable;
import java.util.List;
@ -11,12 +11,14 @@ public interface AlarmInfoService {
/**
* 获取所有报警
*
* @return
*/
Object getAllAlarmInfo();
/**
* 根据库房查询设备
*
* @param storeroomId
* @return
*/
@ -24,8 +26,17 @@ public interface AlarmInfoService {
/**
* 测试报警数据
* @return
* 获取报警日志列表
*
* @return /
*/
Object alarmLogList(AlarmLogCriteria criteria, Pageable pageable);
/**
* 增加说明
* @param alarmLog
*/
Object testAlarm(List<GetCurAlarm> getCurAlarmDto);
void addRemark(AlarmLog alarmLog);
}

23
storeroom/src/main/java/com/storeroom/modules/storeroom3d/service/dto/AlarmLogCriteria.java

@ -0,0 +1,23 @@
package com.storeroom.modules.storeroom3d.service.dto;
import com.storeroom.annotaion.Query;
import lombok.Data;
import java.io.Serializable;
import java.sql.Timestamp;
import java.util.List;
@Data
public class AlarmLogCriteria implements Serializable {
@Query(blurry = "storeroomName,deviceName")
private String blurry;
@Query
private Integer state;
@Query(type = Query.Type.BETWEEN)
private List<Timestamp> createTime;
}

64
storeroom/src/main/java/com/storeroom/modules/storeroom3d/service/impl/AlarmInfoServiceImpl.java

@ -12,11 +12,17 @@ import com.storeroom.modules.storeroom3d.repository.AlarmLogRepository;
import com.storeroom.modules.storeroom3d.repository.GetCurAlarmRepository;
import com.storeroom.modules.storeroom3d.service.AlarmInfoService;
import com.storeroom.modules.storeroom3d.service.ThirdApiService;
import com.storeroom.modules.storeroom3d.service.dto.AlarmLogCriteria;
import com.storeroom.modules.storeroom3d.service.dto.GetCurAlarmDto;
import com.storeroom.modules.storeroom3d.service.impl.mapstruct.GetCurAlarmMapper;
import com.storeroom.utils.NanoIdUtils;
import com.storeroom.utils.PageUtil;
import com.storeroom.utils.QueryHelp;
import lombok.RequiredArgsConstructor;
import org.apache.poi.ss.formula.functions.T;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.data.domain.Sort;
import org.springframework.stereotype.Service;
import org.springframework.util.ObjectUtils;
@ -34,7 +40,6 @@ public class AlarmInfoServiceImpl implements AlarmInfoService {
private final DeviceInfoRepository deviceInfoRepository;
private final ThirdApiService thirdApiService;
private final GetCurAlarmMapper getCurAlarmMapper;
private final GetCurAlarmRepository getCurAlarmRepository;
private final StoreroomRepository storeroomRepository;
private final AlarmLogRepository alarmLogRepository;
@ -154,53 +159,18 @@ public class AlarmInfoServiceImpl implements AlarmInfoService {
return alarmDtos1;
}
@Override
public Object testAlarm(List<GetCurAlarm> getCurAlarmDto) {
//查询自己所有设备
List<DeviceInfo> deviceInfoList = deviceInfoRepository.findAll();
//获取第三方接口报警信息
List<GetCurAlarm> getCurAlarmsList = getCurAlarmDto;
//创建返回数组
List<GetCurAlarm> valueList = new ArrayList<>();
//过滤设备id 为空的设备
//List<GetCurAlarmDto> alarmDtos2 = alarmDtos.stream().filter(value -> Objects.equals(value.getDevice_id(), "")).collect(Collectors.toList());
for (int i = 0; i < getCurAlarmsList.size(); i++) {
for (int k = 0; k < deviceInfoList.size(); k++) {
//如果设备id相同
if (Objects.equals(getCurAlarmsList.get(i).getDevice_id(), deviceInfoList.get(k).getDeviceId())) {
@Override
public Object alarmLogList(AlarmLogCriteria criteria, Pageable pageable) {
Page<AlarmLog> page = alarmLogRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root, criteria, criteriaBuilder), pageable);
return PageUtil.toPage(page);
}
//通过设备id查询报警日志
AlarmLog alarmLog = alarmLogRepository.findByDeviceId(getCurAlarmsList.get(i).getDevice_id());
//如果报警日志为空
if (ObjectUtils.isEmpty(alarmLog)) {
AlarmLog alarmLogEntity = new AlarmLog();
//创建日志
alarmLogEntity.setId(NanoIdUtils.randomNanoId());
alarmLogEntity.setDeviceId(getCurAlarmsList.get(i).getDevice_id());
alarmLogEntity.setContent(getCurAlarmsList.get(i).getAlarm_value_descript());
alarmLogEntity.setStoreroomName(getCurAlarmsList.get(i).getArea_name());
alarmLogEntity.setState(false);
alarmLogEntity.setRemark("");
alarmLogRepository.save(alarmLogEntity);
}
getCurAlarmRepository.save(getCurAlarmsList.get(i));
//添加设备id 相同的设备报警信息
valueList.add(getCurAlarmsList.get(i));
}
}
}
//查询所有报警信息
List<GetCurAlarm> alarmsAll = getCurAlarmRepository.findAll();
//对比已经保存的报警信息和最新报警信息
List<GetCurAlarm> updateStateList = compare(valueList, alarmsAll);
if (updateStateList.size() != 0) {
//修改报警信息状态
updateAlarmLogStete(updateStateList);
}
//返回列表最新报警信息列表
return valueList;
@Override
public void addRemark(AlarmLog alarmLog) {
AlarmLog alarmLog1 = alarmLogRepository.findById(alarmLog.getId()).orElseGet(AlarmLog::new);
alarmLog1.setRemark(alarmLog.getRemark());
alarmLogRepository.save(alarmLog1);
}
/**
@ -214,7 +184,7 @@ public class AlarmInfoServiceImpl implements AlarmInfoService {
if (alarmLog.getState()) {
alarmLog.setState(false);
alarmLogRepository.save(alarmLog);
}else {
} else {
alarmLog.setState(true);
alarmLogRepository.save(alarmLog);
}

8
storeroom/src/main/java/com/storeroom/modules/storeroom3d/service/impl/DisplayConfigImpl.java

@ -31,7 +31,7 @@ public class DisplayConfigImpl implements DisplayConfigService {
@Override
@Transactional(rollbackFor = Exception.class)
public void bind(DisplayConfig displayConfig) {
displayConfig.setId(NanoIdUtils.randomNanoId());
//displayConfig.setId(NanoIdUtils.randomNanoId());
displayConfig.setBindState(true);
displayConfig.getDeviceSpecParams().forEach(item -> {
item.setDisplayConfigId(displayConfig.getId());
@ -56,8 +56,14 @@ public class DisplayConfigImpl implements DisplayConfigService {
if (deviceInfo.size() != 0) {
deviceInfo.forEach(item -> {
DisplayConfig displayConfig = displayConfigRepository.findByDeviceInfo(item);
if (ObjectUtils.isEmpty(displayConfig)) {
displayConfigList.add(null);
}
displayConfigList.add(displayConfig);
});
if (displayConfigList.get(0) == null) {
return null;
}
displayConfigList.sort(Comparator.comparing(DisplayConfig::getDivPosition));
return displayConfigList;
}

1
storeroom/src/main/java/com/storeroom/modules/storeroom3d/service/impl/SecurityDoorServiceImpl.java

@ -29,7 +29,6 @@ public class SecurityDoorServiceImpl implements SecurityDoorService {
private final SecurityDoorRepository securityDoorRepository;
private final StoreroomRepository storeroomRepository;
@Override
@Transactional(rollbackFor = Exception.class)

23
system/src/main/java/com/storeroom/modules/system/controller/NanoIdController.java

@ -0,0 +1,23 @@
package com.storeroom.modules.system.controller;
import com.storeroom.annotaion.rest.AnonymousGetMapping;
import com.storeroom.utils.ApiResponse;
import com.storeroom.utils.NanoIdUtils;
import io.swagger.annotations.Api;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequiredArgsConstructor
@Api(tags = "系统:Nanoid生成接口")
@RequestMapping("/api/nanoid/")
public class NanoIdController {
@AnonymousGetMapping
public ApiResponse<Object> get(){
return ApiResponse.success(NanoIdUtils.randomNanoId());
}
}
Loading…
Cancel
Save