diff --git a/bonus-common/bonus-common-entity/src/main/java/com/bonus/common/entity/bracelet/vo/BallTreeVo.java b/bonus-common/bonus-common-entity/src/main/java/com/bonus/common/entity/bracelet/vo/BallTreeVo.java index 3754448..89954f7 100644 --- a/bonus-common/bonus-common-entity/src/main/java/com/bonus/common/entity/bracelet/vo/BallTreeVo.java +++ b/bonus-common/bonus-common-entity/src/main/java/com/bonus/common/entity/bracelet/vo/BallTreeVo.java @@ -26,6 +26,8 @@ public class BallTreeVo { private String devIndex; /**父ID*/ private Long parentId; + /**球机在线状态*/ + private Integer devStatus; private List children = new ArrayList<>(); } diff --git a/bonus-common/bonus-common-entity/src/main/java/com/bonus/common/entity/bracelet/vo/WarnInfoVo.java b/bonus-common/bonus-common-entity/src/main/java/com/bonus/common/entity/bracelet/vo/WarnInfoVo.java new file mode 100644 index 0000000..86610f8 --- /dev/null +++ b/bonus-common/bonus-common-entity/src/main/java/com/bonus/common/entity/bracelet/vo/WarnInfoVo.java @@ -0,0 +1,30 @@ +package com.bonus.common.entity.bracelet.vo; + +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; + +import java.util.Date; + +/** + * @className:BallWarnVo + * @author:cwchen + * @date:2024-08-08-18:06 + * @version:1.0 + * @description:告警信息 + */ +@Data +public class WarnInfoVo { + /**设备类型*/ + private String devTypeName; + /**设备名称*/ + private String devName; + /**告警内容*/ + private String warnContent; + /**告警时间*/ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date warnTime; + /**违章识别图片的base64地址*/ + private String base64Url; + /**人员姓名*/ + private String name; +} diff --git a/bonus-gateway/src/main/java/com/bonus/gateway/filter/ResponseEncryptFilter.java b/bonus-gateway/src/main/java/com/bonus/gateway/filter/ResponseEncryptFilter.java index 8857a7f..11a06d8 100644 --- a/bonus-gateway/src/main/java/com/bonus/gateway/filter/ResponseEncryptFilter.java +++ b/bonus-gateway/src/main/java/com/bonus/gateway/filter/ResponseEncryptFilter.java @@ -77,9 +77,9 @@ public class ResponseEncryptFilter implements GlobalFilter, Ordered { return chain.filter(exchange); } //是否加密 -// if(!jaData){ -// return chain.filter(exchange); -// } + if(!jaData){ + return chain.filter(exchange); + } // 根据具体业务内容,修改响应体 return modifyResponseBody(exchange, chain); } @@ -122,6 +122,7 @@ public class ResponseEncryptFilter implements GlobalFilter, Ordered { Object encrypt = map.get(SystemGlobal.KEY_DECRYPT); Map maps= Maps.newHashMap(); //加密则数据 进行加密 + if(jaData){ responseData = AesCbcUtils.encrypt(JSON.toJSONString(map)); maps.put("data",responseData); diff --git a/bonus-modules/bonus-bracelet/src/main/java/com/bonus/bracelet/controller/ConsControlController.java b/bonus-modules/bonus-bracelet/src/main/java/com/bonus/bracelet/controller/ConsControlController.java index 6f90ad3..c1f3cc1 100644 --- a/bonus-modules/bonus-bracelet/src/main/java/com/bonus/bracelet/controller/ConsControlController.java +++ b/bonus-modules/bonus-bracelet/src/main/java/com/bonus/bracelet/controller/ConsControlController.java @@ -33,4 +33,15 @@ public class ConsControlController { return service.getBallDeviceLists(dto); } + /** + * 球机违章识别 + * @param dto + * @return AjaxResult + * @author cwchen + * @date 2024/8/8 17:58 + */ + @GetMapping("getBallWarnLists") + public AjaxResult getBallWarnLists(BraceletParamsDto dto){ + return service.getBallWarnLists(dto); + } } diff --git a/bonus-modules/bonus-bracelet/src/main/java/com/bonus/bracelet/controller/ExportFileController.java b/bonus-modules/bonus-bracelet/src/main/java/com/bonus/bracelet/controller/ExportFileController.java index 12eaacf..808e41c 100644 --- a/bonus-modules/bonus-bracelet/src/main/java/com/bonus/bracelet/controller/ExportFileController.java +++ b/bonus-modules/bonus-bracelet/src/main/java/com/bonus/bracelet/controller/ExportFileController.java @@ -94,7 +94,7 @@ public class ExportFileController { ExportParams exportParams = new ExportParams("人员", "人员", ExcelType.XSSF); exportParams.setStyle(ExcelStyleUtil.class); Workbook workbook = ExcelExportUtil.exportExcel(exportParams, PersonExportVo.class, personExportVoList); - response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); + response.setContentType("application/vnd.ms-excel"); response.setHeader("content-disposition", "attachment;fileName=" + URLEncoder.encode("人员" + ".xlsx", "UTF-8")); ServletOutputStream outputStream = response.getOutputStream(); workbook.write(outputStream); diff --git a/bonus-modules/bonus-bracelet/src/main/java/com/bonus/bracelet/mapper/ConsControlMapper.java b/bonus-modules/bonus-bracelet/src/main/java/com/bonus/bracelet/mapper/ConsControlMapper.java index 00c6391..c8cf05b 100644 --- a/bonus-modules/bonus-bracelet/src/main/java/com/bonus/bracelet/mapper/ConsControlMapper.java +++ b/bonus-modules/bonus-bracelet/src/main/java/com/bonus/bracelet/mapper/ConsControlMapper.java @@ -2,6 +2,7 @@ package com.bonus.bracelet.mapper; import com.bonus.common.entity.bracelet.BraceletParamsDto; import com.bonus.common.entity.bracelet.vo.BallTreeVo; +import com.bonus.common.entity.bracelet.vo.WarnInfoVo; import org.springframework.stereotype.Repository; import java.util.List; @@ -23,4 +24,13 @@ public interface ConsControlMapper { * @date 2024/8/8 11:24 */ List getBallDeviceLists(BraceletParamsDto dto); + + /** + * 获取球机违章识别内容 + * @param dto + * @return void + * @author cwchen + * @date 2024/8/8 18:11 + */ + List getBallWarnLists(BraceletParamsDto dto); } diff --git a/bonus-modules/bonus-bracelet/src/main/java/com/bonus/bracelet/service/IConsControlService.java b/bonus-modules/bonus-bracelet/src/main/java/com/bonus/bracelet/service/IConsControlService.java index 5b180e7..8157534 100644 --- a/bonus-modules/bonus-bracelet/src/main/java/com/bonus/bracelet/service/IConsControlService.java +++ b/bonus-modules/bonus-bracelet/src/main/java/com/bonus/bracelet/service/IConsControlService.java @@ -19,4 +19,13 @@ public interface IConsControlService { * @date 2024/8/8 10:09 */ AjaxResult getBallDeviceLists(BraceletParamsDto dto); + + /** + * 球机违章识别 + * @param dto + * @return AjaxResult + * @author cwchen + * @date 2024/8/8 17:58 + */ + AjaxResult getBallWarnLists(BraceletParamsDto dto); } diff --git a/bonus-modules/bonus-bracelet/src/main/java/com/bonus/bracelet/service/impl/ConsControlServiceImpl.java b/bonus-modules/bonus-bracelet/src/main/java/com/bonus/bracelet/service/impl/ConsControlServiceImpl.java index 76fdd8a..10c6258 100644 --- a/bonus-modules/bonus-bracelet/src/main/java/com/bonus/bracelet/service/impl/ConsControlServiceImpl.java +++ b/bonus-modules/bonus-bracelet/src/main/java/com/bonus/bracelet/service/impl/ConsControlServiceImpl.java @@ -2,15 +2,22 @@ package com.bonus.bracelet.service.impl; import com.alibaba.fastjson2.JSON; import com.alibaba.fastjson2.JSONArray; +import com.alibaba.fastjson2.JSONObject; import com.bonus.bracelet.mapper.ConsControlMapper; import com.bonus.bracelet.service.IConsControlService; import com.bonus.common.core.constant.BusinessConstants; +import com.bonus.common.core.constant.HttpStatus; +import com.bonus.common.core.constant.SecurityConstants; +import com.bonus.common.core.domain.R; import com.bonus.common.core.utils.StringUtils; import com.bonus.common.core.utils.encryption.Sm4Utils; import com.bonus.common.core.web.domain.AjaxResult; import com.bonus.common.entity.bracelet.BraceletParamsDto; import com.bonus.common.core.utils.BuildTreeUtil; import com.bonus.common.entity.bracelet.vo.BallTreeVo; +import com.bonus.common.entity.bracelet.vo.WarnInfoVo; +import com.bonus.system.api.RemoteFileService; +import com.bonus.system.api.domain.SysFile; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; @@ -33,6 +40,9 @@ public class ConsControlServiceImpl implements IConsControlService { @Resource(name = "ConsControlMapper") private ConsControlMapper mapper; + @Resource + private RemoteFileService remoteFileService; + @Override public AjaxResult getBallDeviceLists(BraceletParamsDto dto) { JSONArray resultTree = new JSONArray(); @@ -40,7 +50,7 @@ public class ConsControlServiceImpl implements IConsControlService { List list = new ArrayList<>(); list = mapper.getBallDeviceLists(dto); for (BallTreeVo vo : list) { - //过滤工程数据 + //忽略工程数据 if (Objects.equals(vo.getParentId(), BusinessConstants.PARENT_ID)) { continue; } @@ -56,4 +66,41 @@ public class ConsControlServiceImpl implements IConsControlService { } return AjaxResult.success(resultTree); } + + @Override + public AjaxResult getBallWarnLists(BraceletParamsDto dto) { + List warnInfoVoList = new ArrayList<>(); + try { + warnInfoVoList = mapper.getBallWarnLists(dto); + for (WarnInfoVo vo : warnInfoVoList) { + String imgBase64 = getImgBase64(vo.getBase64Url()); + vo.setBase64Url(imgBase64); + } + } catch (Exception e) { + log.error(e.toString(),e); + } + return AjaxResult.success(warnInfoVoList); + } + + /** + * 获取违章识别图片的base64 + * @param base64Url + * @return String + * @author cwchen + * @date 2024/8/8 18:36 + */ + public String getImgBase64(String base64Url){ + try { + R result = remoteFileService.getImgBase64(base64Url, SecurityConstants.INNER); + if (result != null && result.getCode() == HttpStatus.SUCCESS && result.getData() != null) { + String jsonString = JSON.toJSONString(result.getData()); + JSONObject item = JSON.parseObject(jsonString); + String base64 = item.getString("url"); + return base64; + } + } catch (Exception e) { + log.error(e.toString(),e); + } + return null; + } } diff --git a/bonus-modules/bonus-bracelet/src/main/resources/mapper/bracelet/ConsControlMapper.xml b/bonus-modules/bonus-bracelet/src/main/resources/mapper/bracelet/ConsControlMapper.xml index e34c779..22b78dd 100644 --- a/bonus-modules/bonus-bracelet/src/main/resources/mapper/bracelet/ConsControlMapper.xml +++ b/bonus-modules/bonus-bracelet/src/main/resources/mapper/bracelet/ConsControlMapper.xml @@ -4,7 +4,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> - + + + \ No newline at end of file