From d31e24ecce7fbca35945a9b269475989955bd938 Mon Sep 17 00:00:00 2001 From: liuguijing <123456> Date: Tue, 18 Jul 2023 09:06:33 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=9E=E6=97=B6=E6=9F=A5=E8=AF=A2=E9=A6=96?= =?UTF-8?q?=E9=A1=B5=E7=85=A7=E7=89=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/DyLevelController.java | 20 +- .../controller/OpenController.java | 2 +- .../controller/TerminalAlarmController.java | 2 +- .../controller/TerminalController.java | 2 +- .../controller/TerminalPhotoController.java | 3 +- .../dto/DyLineAndTowertDto.java | 2 +- .../model/TerminalPhotoSelectListModel.java | 3 + .../model/TerminalPhotosModel.java | 3 + .../xymanager_common/util/TerminalUtils.java | 94 ----- .../util/{ => xinyin}/HeaderUtil.java | 2 +- .../util/{ => xinyin}/ProcessExecUtils.java | 3 +- .../util/{ => xinyin}/ScheduleListUtils.java | 4 +- .../util/xinyin/TerminalUtils.java | 333 ++++++++++++++++++ .../shxy/xymanager_common/vo/LastTowerVo.java | 24 ++ .../vo/TerminalAndChannelIdAndTimeVo.java | 4 +- .../com/shxy/xymanager_common/vo/TestVo.java | 19 - .../shxy/xymanager_dao/dao/DyLevelDao.java | 4 +- .../dao/TerminalChannelMapperDao.java | 3 +- .../xymanager_dao/dao/TerminalPhotoDao.java | 2 +- .../shxy/xymanager_dao/dao/TerminalsDao.java | 2 - .../src/main/resources/mappers/DyLevelDao.xml | 9 +- .../mappers/TerminalChannelMapperDao.xml | 20 ++ .../resources/mappers/TerminalPhotoDao.xml | 7 +- .../main/resources/mappers/TerminalsDao.xml | 14 - .../impl/DyLevelServiceImpl.java | 95 ++++- .../impl/OpenServiceImpl.java | 6 +- .../impl/SystemConfigServiceImpl.java | 4 +- .../impl/TermSetServiceImpl.java | 4 +- .../impl/TerminalAlarmServiceImpl.java | 4 +- .../impl/TerminalChannelServiceImpl.java | 5 - .../impl/TerminalGpsServiceImpl.java | 19 +- .../impl/TerminalPhotoServiceImpl.java | 222 +----------- .../impl/TerminalScheduleRuleServiceImpl.java | 5 +- .../impl/TerminalServiceImpl.java | 6 +- .../impl/TerminalVideoServiceImpl.java | 3 +- .../service/DyLevelService.java | 13 +- 36 files changed, 530 insertions(+), 437 deletions(-) delete mode 100644 xymanager_common/src/main/java/com/shxy/xymanager_common/util/TerminalUtils.java rename xymanager_common/src/main/java/com/shxy/xymanager_common/util/{ => xinyin}/HeaderUtil.java (97%) rename xymanager_common/src/main/java/com/shxy/xymanager_common/util/{ => xinyin}/ProcessExecUtils.java (92%) rename xymanager_common/src/main/java/com/shxy/xymanager_common/util/{ => xinyin}/ScheduleListUtils.java (98%) create mode 100644 xymanager_common/src/main/java/com/shxy/xymanager_common/util/xinyin/TerminalUtils.java create mode 100644 xymanager_common/src/main/java/com/shxy/xymanager_common/vo/LastTowerVo.java delete mode 100644 xymanager_common/src/main/java/com/shxy/xymanager_common/vo/TestVo.java diff --git a/xymanager_admin/src/main/java/com/shxy/xymanager_admin/controller/DyLevelController.java b/xymanager_admin/src/main/java/com/shxy/xymanager_admin/controller/DyLevelController.java index 740242f..6cb7ddf 100644 --- a/xymanager_admin/src/main/java/com/shxy/xymanager_admin/controller/DyLevelController.java +++ b/xymanager_admin/src/main/java/com/shxy/xymanager_admin/controller/DyLevelController.java @@ -7,9 +7,9 @@ import com.shxy.xymanager_common.bean.ServiceBody; import com.shxy.xymanager_common.bean.ServiceStatus; import com.shxy.xymanager_common.model.DyLineTreeListModel; import com.shxy.xymanager_common.model.DyListModel; -import com.shxy.xymanager_common.vo.PageVo; -import com.shxy.xymanager_common.vo.TerminalIdVo; -import com.shxy.xymanager_common.vo.TestVo; +import com.shxy.xymanager_common.model.TerminalPhotosModel; +import com.shxy.xymanager_common.util.xinyin.HeaderUtil; +import com.shxy.xymanager_common.vo.LastTowerVo; import com.shxy.xymanager_service.service.DyLevelService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -18,14 +18,11 @@ import io.swagger.annotations.ApiResponses; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpHeaders; -import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestHeader; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -import java.util.List; - @Api(value = "电压等级接口", tags = "电压等级接口描述") @RestController @@ -61,12 +58,13 @@ public class DyLevelController extends BaseController { } } - @ApiOperation(value = "测试测试", notes = "测试测试", httpMethod = "POST") + @ApiOperation(value = "根据电压或者线路获取所有杆塔和最新照片", notes = "根据电压或者线路获取所有杆塔和最新照片", httpMethod = "POST") @ApiResponses({@ApiResponse(code = 200, message = "请求成功"), @ApiResponse(code = 400, message = "请求参数没填好"), @ApiResponse(code = 404, message = "请求路径没有或页面跳转路径不对")}) - @RequestMapping("/gettest") - @Log(title = "测试测试", type = "查询") - public ResponseReult gettest(@RequestBody List vo) { - ServiceBody serviceBody = dyLevelService.gettest(vo); + @RequestMapping("/getTowerAndPhotoList") + @Log(title = "根据电压或者线路获取所有杆塔和最新照片", type = "查询") + public ResponseReult getLastTowerList(@RequestHeader HttpHeaders headers, @RequestBody LastTowerVo vo) { + String requestIp = HeaderUtil.getRequestIp(headers); + ServiceBody serviceBody = dyLevelService.getLastTowerList(requestIp,vo); if (serviceBody.getCode() == ServiceStatus.SUCCESS) { return ResponseReult.success(serviceBody.getData()); } else { diff --git a/xymanager_admin/src/main/java/com/shxy/xymanager_admin/controller/OpenController.java b/xymanager_admin/src/main/java/com/shxy/xymanager_admin/controller/OpenController.java index e04360e..01b8775 100644 --- a/xymanager_admin/src/main/java/com/shxy/xymanager_admin/controller/OpenController.java +++ b/xymanager_admin/src/main/java/com/shxy/xymanager_admin/controller/OpenController.java @@ -7,7 +7,7 @@ import com.shxy.xymanager_common.base.ResponseReult; import com.shxy.xymanager_common.bean.ServiceBody; import com.shxy.xymanager_common.bean.ServiceStatus; import com.shxy.xymanager_common.model.*; -import com.shxy.xymanager_common.util.HeaderUtil; +import com.shxy.xymanager_common.util.xinyin.HeaderUtil; import com.shxy.xymanager_common.vo.*; import com.shxy.xymanager_service.service.OpenService; import com.shxy.xymanager_service.service.TerminalPhotoService; diff --git a/xymanager_admin/src/main/java/com/shxy/xymanager_admin/controller/TerminalAlarmController.java b/xymanager_admin/src/main/java/com/shxy/xymanager_admin/controller/TerminalAlarmController.java index 74896c1..a1cbdc1 100644 --- a/xymanager_admin/src/main/java/com/shxy/xymanager_admin/controller/TerminalAlarmController.java +++ b/xymanager_admin/src/main/java/com/shxy/xymanager_admin/controller/TerminalAlarmController.java @@ -6,7 +6,7 @@ import com.shxy.xymanager_common.base.ResponseReult; import com.shxy.xymanager_common.bean.ServiceBody; import com.shxy.xymanager_common.bean.ServiceStatus; import com.shxy.xymanager_common.model.*; -import com.shxy.xymanager_common.util.HeaderUtil; +import com.shxy.xymanager_common.util.xinyin.HeaderUtil; import com.shxy.xymanager_common.vo.*; import com.shxy.xymanager_service.service.TerminalAlarmService; import io.swagger.annotations.Api; diff --git a/xymanager_admin/src/main/java/com/shxy/xymanager_admin/controller/TerminalController.java b/xymanager_admin/src/main/java/com/shxy/xymanager_admin/controller/TerminalController.java index 308624f..1591143 100644 --- a/xymanager_admin/src/main/java/com/shxy/xymanager_admin/controller/TerminalController.java +++ b/xymanager_admin/src/main/java/com/shxy/xymanager_admin/controller/TerminalController.java @@ -6,7 +6,7 @@ import com.shxy.xymanager_common.base.ResponseReult; import com.shxy.xymanager_common.bean.ServiceBody; import com.shxy.xymanager_common.bean.ServiceStatus; import com.shxy.xymanager_common.model.*; -import com.shxy.xymanager_common.util.HeaderUtil; +import com.shxy.xymanager_common.util.xinyin.HeaderUtil; import com.shxy.xymanager_common.vo.*; import com.shxy.xymanager_service.service.TerminalService; import io.swagger.annotations.Api; diff --git a/xymanager_admin/src/main/java/com/shxy/xymanager_admin/controller/TerminalPhotoController.java b/xymanager_admin/src/main/java/com/shxy/xymanager_admin/controller/TerminalPhotoController.java index ccb8e6c..e2248eb 100644 --- a/xymanager_admin/src/main/java/com/shxy/xymanager_admin/controller/TerminalPhotoController.java +++ b/xymanager_admin/src/main/java/com/shxy/xymanager_admin/controller/TerminalPhotoController.java @@ -6,7 +6,7 @@ import com.shxy.xymanager_common.base.ResponseReult; import com.shxy.xymanager_common.bean.ServiceBody; import com.shxy.xymanager_common.bean.ServiceStatus; import com.shxy.xymanager_common.model.*; -import com.shxy.xymanager_common.util.HeaderUtil; +import com.shxy.xymanager_common.util.xinyin.HeaderUtil; import com.shxy.xymanager_common.vo.*; import com.shxy.xymanager_service.service.TerminalPhotoService; import io.swagger.annotations.Api; @@ -166,7 +166,6 @@ public class TerminalPhotoController extends BaseController { } } - @ApiOperation(value = "历史图片", notes = "历史图片接口", httpMethod = "POST") @ApiResponses({@ApiResponse(code = 200, message = "请求成功"), @ApiResponse(code = 400, message = "请求参数没填好"), @ApiResponse(code = 404, message = "请求路径没有或页面跳转路径不对")}) @RequestMapping("/getHistoryList") diff --git a/xymanager_common/src/main/java/com/shxy/xymanager_common/dto/DyLineAndTowertDto.java b/xymanager_common/src/main/java/com/shxy/xymanager_common/dto/DyLineAndTowertDto.java index e624871..74b5009 100644 --- a/xymanager_common/src/main/java/com/shxy/xymanager_common/dto/DyLineAndTowertDto.java +++ b/xymanager_common/src/main/java/com/shxy/xymanager_common/dto/DyLineAndTowertDto.java @@ -4,7 +4,7 @@ import lombok.Data; @Data -public class DyLineAndTowertDto { +public class DyLineAndTowertDto { private Integer dyId; diff --git a/xymanager_common/src/main/java/com/shxy/xymanager_common/model/TerminalPhotoSelectListModel.java b/xymanager_common/src/main/java/com/shxy/xymanager_common/model/TerminalPhotoSelectListModel.java index f9e8c10..0516e03 100644 --- a/xymanager_common/src/main/java/com/shxy/xymanager_common/model/TerminalPhotoSelectListModel.java +++ b/xymanager_common/src/main/java/com/shxy/xymanager_common/model/TerminalPhotoSelectListModel.java @@ -73,5 +73,8 @@ public class TerminalPhotoSelectListModel implements Serializable { @ApiModelProperty(value = "照片路径", example = "123456") private String path; + @ApiModelProperty(value = "视频缩略图", example = "123456") + private String thumb; + } } diff --git a/xymanager_common/src/main/java/com/shxy/xymanager_common/model/TerminalPhotosModel.java b/xymanager_common/src/main/java/com/shxy/xymanager_common/model/TerminalPhotosModel.java index d0b1cf6..f41dbe9 100644 --- a/xymanager_common/src/main/java/com/shxy/xymanager_common/model/TerminalPhotosModel.java +++ b/xymanager_common/src/main/java/com/shxy/xymanager_common/model/TerminalPhotosModel.java @@ -76,5 +76,8 @@ public class TerminalPhotosModel implements Serializable { @ApiModelProperty(value = "照片路径", example = "123456") private String path; + + @ApiModelProperty(value = "视频缩略图", example = "123456") + private String thumb; } } diff --git a/xymanager_common/src/main/java/com/shxy/xymanager_common/util/TerminalUtils.java b/xymanager_common/src/main/java/com/shxy/xymanager_common/util/TerminalUtils.java deleted file mode 100644 index e84024d..0000000 --- a/xymanager_common/src/main/java/com/shxy/xymanager_common/util/TerminalUtils.java +++ /dev/null @@ -1,94 +0,0 @@ -package com.shxy.xymanager_common.util; - -import cn.hutool.core.date.DateTime; -import cn.hutool.core.date.DateUnit; -import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.stereotype.Component; - -import java.math.BigInteger; - -/** - * 执行指令 - * - * @author cy - */ -@Slf4j -@Component -public class TerminalUtils { - - private static Integer hearttime; - - private static String photoaddress; - - private static String videoaddress; - - - @Value("${heart.time}") - public void setHearttime(Integer time) { - TerminalUtils.hearttime = time; - } - - @Value("${photo.address}") - public void setPhotoaddress(String photoaddress) { - TerminalUtils.photoaddress = photoaddress; - } - - @Value("${video.address}") - public void setVideoaddress(String videoaddress) { - TerminalUtils.videoaddress = videoaddress; - } - - /** - * 判断装置是否在线 - * - * @param lastHeartbeat - */ - public static boolean judgeTerminalStatus(BigInteger lastHeartbeat) { - if (lastHeartbeat == null) { - return false; - } - long time = MyDateUtils.TimeSecond2MillSecond(lastHeartbeat.longValue()); - DateTime date = MyDateUtils.date(time); - long between = MyDateUtils.between(MyDateUtils.getNowDate(), date, DateUnit.MINUTE); - if (between > hearttime) { - return false; - } else { - return true; - } - } - - /** - * 返回图片视频地址 - */ - public static String getPhotoPath(Integer mediaType, String requestIp, String path) { - if (mediaType != null) { - if (mediaType.intValue() == 0) { - return requestIp + photoaddress + path; - } else if (mediaType == 1) { - return requestIp + videoaddress + path; - } else { - return ""; - } - } else { - return ""; - } - } - - - /** - * 返回图片视频缩略地址 - */ - public static String getThumbPhotoPath(Integer mediaType, String requestIp, String path) { - if (mediaType.intValue() == 0) { - if (StringUtils.isNotBlank(path)) { - return requestIp + videoaddress + path; - } else { - return ""; - } - } else { - return ""; - } - } - -} diff --git a/xymanager_common/src/main/java/com/shxy/xymanager_common/util/HeaderUtil.java b/xymanager_common/src/main/java/com/shxy/xymanager_common/util/xinyin/HeaderUtil.java similarity index 97% rename from xymanager_common/src/main/java/com/shxy/xymanager_common/util/HeaderUtil.java rename to xymanager_common/src/main/java/com/shxy/xymanager_common/util/xinyin/HeaderUtil.java index 2cbc643..08363c4 100644 --- a/xymanager_common/src/main/java/com/shxy/xymanager_common/util/HeaderUtil.java +++ b/xymanager_common/src/main/java/com/shxy/xymanager_common/util/xinyin/HeaderUtil.java @@ -1,4 +1,4 @@ -package com.shxy.xymanager_common.util; +package com.shxy.xymanager_common.util.xinyin; import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.util.StrUtil; diff --git a/xymanager_common/src/main/java/com/shxy/xymanager_common/util/ProcessExecUtils.java b/xymanager_common/src/main/java/com/shxy/xymanager_common/util/xinyin/ProcessExecUtils.java similarity index 92% rename from xymanager_common/src/main/java/com/shxy/xymanager_common/util/ProcessExecUtils.java rename to xymanager_common/src/main/java/com/shxy/xymanager_common/util/xinyin/ProcessExecUtils.java index d22e17d..d223d20 100644 --- a/xymanager_common/src/main/java/com/shxy/xymanager_common/util/ProcessExecUtils.java +++ b/xymanager_common/src/main/java/com/shxy/xymanager_common/util/xinyin/ProcessExecUtils.java @@ -1,5 +1,6 @@ -package com.shxy.xymanager_common.util; +package com.shxy.xymanager_common.util.xinyin; +import com.shxy.xymanager_common.util.StringUtils; import lombok.extern.slf4j.Slf4j; import java.io.BufferedReader; diff --git a/xymanager_common/src/main/java/com/shxy/xymanager_common/util/ScheduleListUtils.java b/xymanager_common/src/main/java/com/shxy/xymanager_common/util/xinyin/ScheduleListUtils.java similarity index 98% rename from xymanager_common/src/main/java/com/shxy/xymanager_common/util/ScheduleListUtils.java rename to xymanager_common/src/main/java/com/shxy/xymanager_common/util/xinyin/ScheduleListUtils.java index f9061e1..9e2f2b9 100644 --- a/xymanager_common/src/main/java/com/shxy/xymanager_common/util/ScheduleListUtils.java +++ b/xymanager_common/src/main/java/com/shxy/xymanager_common/util/xinyin/ScheduleListUtils.java @@ -1,4 +1,4 @@ -package com.shxy.xymanager_common.util; +package com.shxy.xymanager_common.util.xinyin; import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.date.DateField; @@ -9,6 +9,8 @@ import com.shxy.xymanager_common.dto.PhotoTimeResultDto; import com.shxy.xymanager_common.dto.ScheduleDetailsDto; import com.shxy.xymanager_common.entity.ScheduleDetails; import com.shxy.xymanager_common.model.TerminalScheduleRuleModel; +import com.shxy.xymanager_common.util.MyDateUtils; +import com.shxy.xymanager_common.util.XyNumberUtils; import com.shxy.xymanager_common.vo.ScheduleRuleVo; import java.sql.Time; diff --git a/xymanager_common/src/main/java/com/shxy/xymanager_common/util/xinyin/TerminalUtils.java b/xymanager_common/src/main/java/com/shxy/xymanager_common/util/xinyin/TerminalUtils.java new file mode 100644 index 0000000..4c0f90b --- /dev/null +++ b/xymanager_common/src/main/java/com/shxy/xymanager_common/util/xinyin/TerminalUtils.java @@ -0,0 +1,333 @@ +package com.shxy.xymanager_common.util.xinyin; + +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.date.DateTime; +import cn.hutool.core.date.DateUnit; +import com.shxy.xymanager_common.dto.LineAndDyNameDto; +import com.shxy.xymanager_common.dto.TowerDto; +import com.shxy.xymanager_common.entity.TerminalChannelMapper; +import com.shxy.xymanager_common.entity.TerminalChannels; +import com.shxy.xymanager_common.entity.TerminalPhoto; +import com.shxy.xymanager_common.entity.Terminals; +import com.shxy.xymanager_common.model.TerminalPhotoSelectListModel; +import com.shxy.xymanager_common.model.TerminalPhotosModel; +import com.shxy.xymanager_common.util.MyDateUtils; +import com.shxy.xymanager_common.util.StringUtils; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Component; + +import java.math.BigInteger; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; + +/** + * 执行指令 + * + * @author cy + */ +@Slf4j +@Component +public class TerminalUtils { + + private static Integer hearttime; + + private static String photoaddress; + + private static String videoaddress; + + + @Value("${heart.time}") + public void setHearttime(Integer time) { + TerminalUtils.hearttime = time; + } + + @Value("${photo.address}") + public void setPhotoaddress(String photoaddress) { + TerminalUtils.photoaddress = photoaddress; + } + + @Value("${video.address}") + public void setVideoaddress(String videoaddress) { + TerminalUtils.videoaddress = videoaddress; + } + + /** + * 判断装置是否在线 + * + * @param lastHeartbeat + */ + public static boolean judgeTerminalStatus(BigInteger lastHeartbeat) { + if (lastHeartbeat == null) { + return false; + } + long time = MyDateUtils.TimeSecond2MillSecond(lastHeartbeat.longValue()); + DateTime date = MyDateUtils.date(time); + long between = MyDateUtils.between(MyDateUtils.getNowDate(), date, DateUnit.MINUTE); + if (between > hearttime) { + return false; + } else { + return true; + } + } + + /** + * 返回图片视频地址 + */ + public static String getPhotoPath(Integer mediaType, String requestIp, String path) { + if (mediaType != null) { + if (mediaType.intValue() == 0) { + return requestIp + photoaddress + path; + } else if (mediaType == 1) { + return requestIp + videoaddress + path; + } else { + return ""; + } + } else { + return ""; + } + } + + + /** + * 返回图片视频缩略地址 + */ + public static String getThumbPhotoPath(Integer mediaType, String requestIp, String path) { + if (mediaType.intValue() == 0) { + if (StringUtils.isNotBlank(path)) { + return requestIp + videoaddress + path; + } else { + return ""; + } + } else { + return ""; + } + } + + /** + * 图片轮询统一处理方法 轮询是不展示无图片的装置 + * + * @param requestIp + * @param list + * @param lineMap + * @param termchannelMapMap + * @param terminalMap + * @param termchannelMap + * @param towerMap + * @param photoList + * @return + */ + public static List setPhotoList(String requestIp, List list, Map lineMap, Map termchannelMapMap, Map terminalMap, Map termchannelMap, Map towerMap, List photoList) { + List beans = new ArrayList<>(); + for (TerminalChannelMapper item : list) { + TerminalPhotosModel.PhotosBean photosBean = new TerminalPhotosModel.PhotosBean(); + Integer termid = item.getTermId(); + Integer channelid = item.getChannelId(); + BigInteger photoId = item.getPhotoId(); + Integer lineid = null; + photosBean.setTermid(termid); + Terminals terminals = terminalMap.get(termid); + if (terminals != null) { + lineid = terminals.getLineid(); + photosBean.setLineid(lineid); + photosBean.setDisplayname(terminals.getDisplayName()); + photosBean.setCmdid(terminals.getCmdid()); + Integer towerid = terminals.getTowerid(); + TowerDto towerDto = towerMap.get(towerid); + if (towerDto != null) { + photosBean.setTowername(towerDto.getName()); + photosBean.setAddress(towerDto.getAddress()); + } + } + photosBean.setChannelid(channelid); + photosBean.setChannnelname(termchannelMap.get(channelid).getChannelName()); + + if (termchannelMapMap != null) { + TerminalChannelMapper terminalChannelMapper = termchannelMapMap.get(termid + "#" + channelid); + if (terminalChannelMapper != null) { + photosBean.setAlias(terminalChannelMapper.getAlias()); + } else { + photosBean.setAlias(""); + } + } else { + photosBean.setAlias(""); + } + if (lineid != null) { + LineAndDyNameDto lineAndDyNameDto = lineMap.get(lineid); + if (lineAndDyNameDto != null) { + photosBean.setLinename(lineAndDyNameDto.getName()); + } else { + photosBean.setLinename(""); + } + } + for (int y = 0; y < photoList.size(); y++) { + TerminalPhoto terminalPhoto = photoList.get(y); + if (BeanUtil.isNotEmpty(terminalPhoto)) { + if (terminalPhoto.getId() != null) { + if (terminalPhoto.getId().longValue() == photoId.longValue()) { + Integer mediatype = terminalPhoto.getMediaType(); + if (mediatype != null && (mediatype.intValue() == 0 || mediatype.intValue() == 1)) { + photosBean.setPath(terminalPhoto.getPath()); + long recvtime = MyDateUtils.TimeSecond2MillSecond(terminalPhoto.getRecvTime().longValue()); + photosBean.setRecvTime(MyDateUtils.date(recvtime)); + long phototime = MyDateUtils.TimeSecond2MillSecond(terminalPhoto.getPhotoTime().longValue()); + photosBean.setPhotoTime(MyDateUtils.date(phototime)); + photosBean.setMediatype(mediatype); + String thumbPhotoPath = TerminalUtils.getThumbPhotoPath(mediatype, requestIp, terminalPhoto.getThumb()); + if (StringUtils.isNotBlank(thumbPhotoPath)) { + photosBean.setThumb(thumbPhotoPath); + } + String photoPath = TerminalUtils.getPhotoPath(mediatype, requestIp, terminalPhoto.getPath()); + photosBean.setPath(photoPath); + photosBean.setOrginalid(terminalPhoto.getOrginalId()); + photosBean.setPresetId(terminalPhoto.getPresetId()); + } + break; + } + } + } + } + beans.add(photosBean); + } + return beans; + } + + + /** + * 杆塔列表图片统一处理方法 (展示图片的数量) + * + * @param requestIp + * @param list + * @param lineMap + * @param termchannelMapMap + * @param terminalMap + * @param termchannelMap + * @param towerMap + * @param photoList + * @return + */ + public static List setTowerPhotoList(String requestIp, List list, Map lineMap, Map termchannelMapMap, Map terminalMap, Map termchannelMap, Map towerMap, List photoList) { + List beans = new ArrayList<>(); + for (TerminalChannelMapper item : list) { + TerminalPhotosModel.PhotosBean photosBean = new TerminalPhotosModel.PhotosBean(); + Integer termid = item.getTermId(); + Integer channelid = item.getChannelId(); + BigInteger photoId = item.getPhotoId(); + Integer lineid = null; + photosBean.setTermid(termid); + Terminals terminals = terminalMap.get(termid); + if (terminals != null) { + lineid = terminals.getLineid(); + photosBean.setLineid(lineid); + photosBean.setDisplayname(terminals.getDisplayName()); + photosBean.setCmdid(terminals.getCmdid()); + Integer towerid = terminals.getTowerid(); + TowerDto towerDto = towerMap.get(towerid); + if (towerDto != null) { + photosBean.setTowername(towerDto.getName()); + photosBean.setAddress(towerDto.getAddress()); + } + } + photosBean.setChannelid(channelid); + if (termchannelMap != null) { + TerminalChannels terminalChannels = termchannelMap.get(channelid); + if (terminalChannels != null) { + photosBean.setChannnelname(terminalChannels.getChannelName()); + } + } + + if (termchannelMapMap != null) { + TerminalChannelMapper terminalChannelMapper = termchannelMapMap.get(termid + "#" + channelid); + if (terminalChannelMapper != null) { + photosBean.setAlias(terminalChannelMapper.getAlias()); + } else { + photosBean.setAlias(""); + } + } else { + photosBean.setAlias(""); + } + if (lineid != null) { + LineAndDyNameDto lineAndDyNameDto = lineMap.get(lineid); + if (lineAndDyNameDto != null) { + photosBean.setLinename(lineAndDyNameDto.getName()); + } else { + photosBean.setLinename(""); + } + } + if (photoId == null) { + photosBean.setPath(null); + } else { + for (int y = 0; y < photoList.size(); y++) { + TerminalPhoto terminalPhoto = photoList.get(y); + if (BeanUtil.isNotEmpty(terminalPhoto)) { + if (terminalPhoto.getId() != null) { + if (terminalPhoto.getId().longValue() == photoId.longValue()) { + Integer mediatype = terminalPhoto.getMediaType(); + if (mediatype != null && (mediatype.intValue() == 0 || mediatype.intValue() == 1)) { + photosBean.setPath(terminalPhoto.getPath()); + long recvtime = MyDateUtils.TimeSecond2MillSecond(terminalPhoto.getRecvTime().longValue()); + photosBean.setRecvTime(MyDateUtils.date(recvtime)); + long phototime = MyDateUtils.TimeSecond2MillSecond(terminalPhoto.getPhotoTime().longValue()); + photosBean.setPhotoTime(MyDateUtils.date(phototime)); + photosBean.setMediatype(mediatype); + String thumbPhotoPath = TerminalUtils.getThumbPhotoPath(mediatype, requestIp, terminalPhoto.getThumb()); + if (StringUtils.isNotBlank(thumbPhotoPath)) { + photosBean.setThumb(thumbPhotoPath); + } + String photoPath = TerminalUtils.getPhotoPath(mediatype, requestIp, terminalPhoto.getPath()); + photosBean.setPath(photoPath); + photosBean.setOrginalid(terminalPhoto.getOrginalId()); + photosBean.setPresetId(terminalPhoto.getPresetId()); + } + break; + } + } + } + } + } + beans.add(photosBean); + } + return beans; + } + + + public static List fdsa(String requestIp, List list, Map terminalMap, Map lineMap, Map termchannelMap, Map termchannelMapMap) { + List beans = new ArrayList<>(); + for (TerminalPhoto item : list) { + TerminalPhotoSelectListModel.PhotoBean photoBean = new TerminalPhotoSelectListModel.PhotoBean(); + photoBean.setTermid(item.getTermId()); + Terminals terminals = terminalMap.get(item.getTermId()); + if (!BeanUtil.isEmpty(terminals)) { + Integer mediaType = item.getMediaType(); + if (mediaType != null && (mediaType.intValue() == 0 || mediaType.intValue() == 1)) { + photoBean.setDisplayname(terminals.getDisplayName()); + photoBean.setLineid(terminals.getLineid()); + photoBean.setLinename(lineMap.get(terminals.getLineid()).getName()); + photoBean.setChannelid(item.getChannelId()); + photoBean.setCmdid(terminals.getCmdid()); + photoBean.setChannnelname(termchannelMap.get(item.getChannelId()).getChannelName()); + + photoBean.setAlias(termchannelMapMap.get(item.getTermId() + "#" + item.getChannelId()).getAlias()); + photoBean.setMediaType(item.getMediaType()); + photoBean.setOrginalid(item.getOrginalId()); + String photoPath = TerminalUtils.getPhotoPath(mediaType, requestIp, item.getPath()); + photoBean.setPath(photoPath); + String thumbPhotoPath = TerminalUtils.getThumbPhotoPath(item.getMediaType(), requestIp, item.getThumb()); + if (StringUtils.isNotBlank(thumbPhotoPath)) { + photoBean.setThumb(thumbPhotoPath); + } + photoBean.setPresetId(item.getPresetId()); + long phototime = MyDateUtils.TimeSecond2MillSecond(item.getPhotoTime().longValue()); + photoBean.setPhotoTime(MyDateUtils.date(phototime)); + long rectime = MyDateUtils.TimeSecond2MillSecond(item.getRecvTime().longValue()); + photoBean.setRecvTime(MyDateUtils.date(rectime)); + beans.add(photoBean); + } + } + } + return beans; + } + + +} diff --git a/xymanager_common/src/main/java/com/shxy/xymanager_common/vo/LastTowerVo.java b/xymanager_common/src/main/java/com/shxy/xymanager_common/vo/LastTowerVo.java new file mode 100644 index 0000000..07098a2 --- /dev/null +++ b/xymanager_common/src/main/java/com/shxy/xymanager_common/vo/LastTowerVo.java @@ -0,0 +1,24 @@ +package com.shxy.xymanager_common.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.Min; + +@Data +@ApiModel(value = "最新杆塔请求", description = "最新杆塔请求") +public class LastTowerVo { + @ApiModelProperty(value = "编号", example = "电压编号 线路编号") + private Integer id; + @ApiModelProperty(value = "查询类型", example = "1--电压 2--线路 ") + private Integer type; + + @Min(value = 1, message = "分页位置最小从1开始") + @ApiModelProperty(value = "分页位置从1开始", required = true, example = "1") + private int pageindex; + + @Min(value = 1, message = "分页大小最小为1") + @ApiModelProperty(value = "分页大小", required = true, example = "1") + private int pagesize; +} diff --git a/xymanager_common/src/main/java/com/shxy/xymanager_common/vo/TerminalAndChannelIdAndTimeVo.java b/xymanager_common/src/main/java/com/shxy/xymanager_common/vo/TerminalAndChannelIdAndTimeVo.java index 5baa9ed..0357b09 100644 --- a/xymanager_common/src/main/java/com/shxy/xymanager_common/vo/TerminalAndChannelIdAndTimeVo.java +++ b/xymanager_common/src/main/java/com/shxy/xymanager_common/vo/TerminalAndChannelIdAndTimeVo.java @@ -19,8 +19,8 @@ public class TerminalAndChannelIdAndTimeVo { private Integer terminalid; @NotNull(message = "通道编号不能缺少") - @ApiModelProperty(value = "通道编号", example = "123455") - private List channelid; + @ApiModelProperty(value = "通道编号", example = "-1---全部") + private Integer channelid; @NotNull(message = "查询时间不能缺少") @ApiModelProperty(value = "查询时间", example = "123455") diff --git a/xymanager_common/src/main/java/com/shxy/xymanager_common/vo/TestVo.java b/xymanager_common/src/main/java/com/shxy/xymanager_common/vo/TestVo.java deleted file mode 100644 index b77b6bb..0000000 --- a/xymanager_common/src/main/java/com/shxy/xymanager_common/vo/TestVo.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.shxy.xymanager_common.vo; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -import javax.validation.constraints.Min; - -@Data -@ApiModel(value = "请求对象", description = "请求对象") -public class TestVo { - private String deviceld; - private String alarmDate; - private String alarmType; - private String message; - private String picurl; - private String companyld; - -} diff --git a/xymanager_dao/src/main/java/com/shxy/xymanager_dao/dao/DyLevelDao.java b/xymanager_dao/src/main/java/com/shxy/xymanager_dao/dao/DyLevelDao.java index 4b82d37..93112dc 100644 --- a/xymanager_dao/src/main/java/com/shxy/xymanager_dao/dao/DyLevelDao.java +++ b/xymanager_dao/src/main/java/com/shxy/xymanager_dao/dao/DyLevelDao.java @@ -1,12 +1,10 @@ package com.shxy.xymanager_dao.dao; -import cn.hutool.core.util.StrUtil; import com.shxy.xymanager_common.dto.DyAndLineAndTowerAndTermDto; import com.shxy.xymanager_common.dto.DyLineAndTerminalNoHeartDto; import com.shxy.xymanager_common.dto.DyLineAndTerminalWithHeartDto; import com.shxy.xymanager_common.dto.DyLineAndTowertDto; import com.shxy.xymanager_common.entity.DyLevel; -import io.swagger.models.auth.In; import org.apache.ibatis.annotations.Param; import java.util.List; @@ -15,7 +13,7 @@ public interface DyLevelDao { List selectDyAndLineAndTowerAnTermList(@Param("dyid") Integer dyid, @Param("lineid") Integer lineid, @Param("towerid") Integer towerid, @Param("termid") Integer termid, @Param("search") String search, @Param("status") Integer status); - List selectDyAndLineAndTowerList(@Param("dyid") Integer dyid, @Param("lineid") Integer lineid, @Param("towerid") Integer towerid, @Param("search") String search); + List selectDyAndLineAndTowerList(@Param("dyid") Integer dyid, @Param("lineid") Integer lineid, @Param("towerid") Integer towerid); int deleteByPrimaryKey(Integer id); diff --git a/xymanager_dao/src/main/java/com/shxy/xymanager_dao/dao/TerminalChannelMapperDao.java b/xymanager_dao/src/main/java/com/shxy/xymanager_dao/dao/TerminalChannelMapperDao.java index 62fb6e8..d4416fb 100644 --- a/xymanager_dao/src/main/java/com/shxy/xymanager_dao/dao/TerminalChannelMapperDao.java +++ b/xymanager_dao/src/main/java/com/shxy/xymanager_dao/dao/TerminalChannelMapperDao.java @@ -1,7 +1,6 @@ package com.shxy.xymanager_dao.dao; import com.shxy.xymanager_common.entity.TerminalChannelMapper; -import com.shxy.xymanager_common.entity.TerminalChannels; import org.apache.ibatis.annotations.Param; import java.math.BigInteger; @@ -17,6 +16,8 @@ public interface TerminalChannelMapperDao { int insertList(@Param("list") List record, @Param("createat") Date create, @Param("updateat") Date update); + List selectTermAndMapByTowerId(@Param("status") Integer status, @Param("towerlist") List towerlist); + List selectByTermid(Integer id); TerminalChannelMapper selectByPrimaryKey(Integer id); diff --git a/xymanager_dao/src/main/java/com/shxy/xymanager_dao/dao/TerminalPhotoDao.java b/xymanager_dao/src/main/java/com/shxy/xymanager_dao/dao/TerminalPhotoDao.java index 531f946..081a778 100644 --- a/xymanager_dao/src/main/java/com/shxy/xymanager_dao/dao/TerminalPhotoDao.java +++ b/xymanager_dao/src/main/java/com/shxy/xymanager_dao/dao/TerminalPhotoDao.java @@ -13,7 +13,7 @@ import java.util.List; public interface TerminalPhotoDao { - List selectPhotoList(@Param("terminalid") Integer terminalid, @Param("channelid") List channelid, @Param("starttime") BigInteger starttime, @Param("endtime") BigInteger endtime); + List selectPhotoList(@Param("terminalid") Integer terminalid, @Param("channelid") Integer channelid, @Param("starttime") BigInteger starttime, @Param("endtime") BigInteger endtime); List selectPhotoListByOrginIdAndTermList(@Param("list") List list); diff --git a/xymanager_dao/src/main/java/com/shxy/xymanager_dao/dao/TerminalsDao.java b/xymanager_dao/src/main/java/com/shxy/xymanager_dao/dao/TerminalsDao.java index 8078b38..6f076c7 100644 --- a/xymanager_dao/src/main/java/com/shxy/xymanager_dao/dao/TerminalsDao.java +++ b/xymanager_dao/src/main/java/com/shxy/xymanager_dao/dao/TerminalsDao.java @@ -18,8 +18,6 @@ public interface TerminalsDao { Terminals selectById(@Param("id") Integer id, @Param("status") Integer status); - List selectChannelAndTermList(@Param("status") Integer status); - List selectTermAndStatusList(@Param("status") Integer status, @Param("dyid") Integer dyid, @Param("lineid") Integer lineid, @Param("towerid") Integer towerid, @Param("search") String search); Terminals selectByCmdid(@Param("cmdid") String cmdid, @Param("status") Integer status); diff --git a/xymanager_dao/src/main/resources/mappers/DyLevelDao.xml b/xymanager_dao/src/main/resources/mappers/DyLevelDao.xml index 7dd51bd..71ded5d 100644 --- a/xymanager_dao/src/main/resources/mappers/DyLevelDao.xml +++ b/xymanager_dao/src/main/resources/mappers/DyLevelDao.xml @@ -84,8 +84,8 @@ - - + + @@ -105,7 +105,6 @@ where status = #{status} - - diff --git a/xymanager_dao/src/main/resources/mappers/TerminalChannelMapperDao.xml b/xymanager_dao/src/main/resources/mappers/TerminalChannelMapperDao.xml index bbc5bce..0d5d121 100644 --- a/xymanager_dao/src/main/resources/mappers/TerminalChannelMapperDao.xml +++ b/xymanager_dao/src/main/resources/mappers/TerminalChannelMapperDao.xml @@ -49,6 +49,26 @@ from terminal_channel_mapper where id = #{id,jdbcType=INTEGER} + + + + delete from terminal_channel_mapper where term_id = #{id} diff --git a/xymanager_dao/src/main/resources/mappers/TerminalPhotoDao.xml b/xymanager_dao/src/main/resources/mappers/TerminalPhotoDao.xml index b69b191..0b8f4f4 100644 --- a/xymanager_dao/src/main/resources/mappers/TerminalPhotoDao.xml +++ b/xymanager_dao/src/main/resources/mappers/TerminalPhotoDao.xml @@ -103,11 +103,8 @@ and term_id = #{terminalid} - - and channel_id in - - #{item} - + + and channel_id = #{channelid} order by photo_time desc diff --git a/xymanager_dao/src/main/resources/mappers/TerminalsDao.xml b/xymanager_dao/src/main/resources/mappers/TerminalsDao.xml index 8c63baa..3128924 100644 --- a/xymanager_dao/src/main/resources/mappers/TerminalsDao.xml +++ b/xymanager_dao/src/main/resources/mappers/TerminalsDao.xml @@ -105,20 +105,6 @@ - -