From 45ffe8907f8a24efdda5c9d726c99584b5ae94fe Mon Sep 17 00:00:00 2001 From: guo Date: Fri, 21 Jul 2023 10:49:55 +0800 Subject: [PATCH] =?UTF-8?q?bug=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/AmmeterCallBackController.java | 18 +++++++---------- .../impl/AmmeterMonthRecordServiceImpl.java | 2 +- .../bigdevice/entity/BigDeviceVideo.java | 20 ++++++++++++------- .../mapper/BigDeviceVideoMapper.java | 4 ++++ .../mapper/xml/BigDeviceVideoMapper.xml | 14 ++++++++----- .../service/impl/TowerServiceImpl.java | 11 ++++++---- .../service/impl/ProjectFileServiceImpl.java | 13 ++++-------- 7 files changed, 45 insertions(+), 37 deletions(-) diff --git a/src/main/java/com/zhgd/xmgl/device/ammeter/controller/AmmeterCallBackController.java b/src/main/java/com/zhgd/xmgl/device/ammeter/controller/AmmeterCallBackController.java index 853d2eb8f..04b837fce 100644 --- a/src/main/java/com/zhgd/xmgl/device/ammeter/controller/AmmeterCallBackController.java +++ b/src/main/java/com/zhgd/xmgl/device/ammeter/controller/AmmeterCallBackController.java @@ -4,7 +4,6 @@ import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.google.common.base.Objects; import com.zhgd.jeecg.common.api.vo.Result; import com.zhgd.xmgl.async.AsyncDoubleCarbon; import com.zhgd.xmgl.device.ammeter.util.AmmeterUtils; @@ -196,22 +195,19 @@ public class AmmeterCallBackController { * * @param d */ - @PostMapping("/xmgl/callback/ammeterRecord/status") - public Result updateAmmeterRecordStatus(@RequestBody AmmeterRecordDetail d) { - log.info("updateAmmeterRecordStatus:{}", JSON.toJSONString(d)); + @PostMapping("/xmgl/callback/ammeter/status") + public Result updateAmmeterStatus(@RequestBody Ammeter d) { + log.info("updateAmmeterStatus:{}", JSON.toJSONString(d)); QueryWrapper ammeterQueryWrapper = new QueryWrapper<>(); ammeterQueryWrapper.lambda().eq(Ammeter::getAmmeterNo, d.getAmmeterNo()); Ammeter one = ammeterService.getOne(ammeterQueryWrapper); if (one == null) { return Result.error("电表号ammeterNo不存在"); } - - if (!Objects.equal(d.getOnline(), one.getOnline())) { - Ammeter a = new Ammeter(); - a.setId(one.getId()); - a.setOnline(d.getOnline()); - ammeterService.updateById(a); - } + one.setOnline(d.getOnline()); + one.setGateStatus(d.getGateStatus()); + one.setDeviceStatus(d.getDeviceStatus()); + ammeterService.updateById(one); return Result.ok(); } diff --git a/src/main/java/com/zhgd/xmgl/modules/ammeter/service/impl/AmmeterMonthRecordServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/ammeter/service/impl/AmmeterMonthRecordServiceImpl.java index 1707b142d..b85d7454c 100644 --- a/src/main/java/com/zhgd/xmgl/modules/ammeter/service/impl/AmmeterMonthRecordServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/ammeter/service/impl/AmmeterMonthRecordServiceImpl.java @@ -54,7 +54,7 @@ public class AmmeterMonthRecordServiceImpl extends ServiceImpl 0 ? use - thresholdValue : 0); data.put("count", count); return data; } diff --git a/src/main/java/com/zhgd/xmgl/modules/bigdevice/entity/BigDeviceVideo.java b/src/main/java/com/zhgd/xmgl/modules/bigdevice/entity/BigDeviceVideo.java index 567586b26..a96d2f70c 100644 --- a/src/main/java/com/zhgd/xmgl/modules/bigdevice/entity/BigDeviceVideo.java +++ b/src/main/java/com/zhgd/xmgl/modules/bigdevice/entity/BigDeviceVideo.java @@ -23,7 +23,7 @@ import io.swagger.annotations.ApiModelProperty; @ApiModel(value="BigDeviceVideo实体类",description="BigDeviceVideo") public class BigDeviceVideo implements Serializable { private static final long serialVersionUID = 1L; - + /**id*/ @TableId(type = IdType.ASSIGN_ID) @ApiModelProperty(value="id") @@ -39,14 +39,20 @@ public class BigDeviceVideo implements Serializable { /**项目sn*/ @Excel(name = "项目sn", width = 15) @ApiModelProperty(value="项目sn") - private java.lang.String projectSn ; - /**videoItemId*/ + private java.lang.String projectSn; + /** + * videoItemId + */ @Excel(name = "videoItemId", width = 15) - @ApiModelProperty(value="视频ID") + @ApiModelProperty(value = "视频ID") - private java.lang.Long videoItemId ; + private java.lang.Long videoItemId; - @TableField(exist = false) - @ApiModelProperty(value="视频名称") + @TableField(exist = false) + @ApiModelProperty(value = "视频名称") private String videoName; + + @TableField(exist = false) + @ApiModelProperty(value = "视频设备序列号") + private java.lang.String serialNumber; } diff --git a/src/main/java/com/zhgd/xmgl/modules/bigdevice/mapper/BigDeviceVideoMapper.java b/src/main/java/com/zhgd/xmgl/modules/bigdevice/mapper/BigDeviceVideoMapper.java index a32ac6dee..e23b19ef7 100644 --- a/src/main/java/com/zhgd/xmgl/modules/bigdevice/mapper/BigDeviceVideoMapper.java +++ b/src/main/java/com/zhgd/xmgl/modules/bigdevice/mapper/BigDeviceVideoMapper.java @@ -3,6 +3,8 @@ package com.zhgd.xmgl.modules.bigdevice.mapper; import java.util.List; import java.util.Map; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Constants; import com.zhgd.jeecg.common.mybatis.EntityMap; import org.apache.ibatis.annotations.Mapper; import com.zhgd.xmgl.modules.bigdevice.entity.BigDeviceVideo; @@ -31,4 +33,6 @@ public interface BigDeviceVideoMapper extends BaseMapper { List selectBigDeviceVideoByTypeList(@Param("devSn") String devSn, @Param("type") int type); List selectVideoISCPlayConfigList(@Param("devSn") String devSn, @Param("type") int type); + + List selectListExt(@Param(Constants.WRAPPER) QueryWrapper queryWrapper2); } diff --git a/src/main/java/com/zhgd/xmgl/modules/bigdevice/mapper/xml/BigDeviceVideoMapper.xml b/src/main/java/com/zhgd/xmgl/modules/bigdevice/mapper/xml/BigDeviceVideoMapper.xml index 416a6c74a..4c2aef4c8 100644 --- a/src/main/java/com/zhgd/xmgl/modules/bigdevice/mapper/xml/BigDeviceVideoMapper.xml +++ b/src/main/java/com/zhgd/xmgl/modules/bigdevice/mapper/xml/BigDeviceVideoMapper.xml @@ -21,7 +21,7 @@ FROM video_item t1 INNER JOIN project_video_config t2 ON t2.id=t1.video_id INNER JOIN big_device_video t3 ON t1.item_id=t3.video_item_id WHERE t2.is_enable=1 AND t3.dev_sn=#{devSn} and t3.type=3 - + SELECT t3.*,t1.video_name FROM video_item t1 INNER JOIN project_video_config t2 ON t2.id=t1.video_id - INNER JOIN big_device_video t3 ON t1.item_id=t3.video_item_id + INNER JOIN big_device_video t3 ON t1.item_id=t3.video_item_id WHERE t2.is_enable=1 AND t3.dev_sn=#{devSn} and t3.type=#{type} - \ No newline at end of file + + + diff --git a/src/main/java/com/zhgd/xmgl/modules/bigdevice/service/impl/TowerServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/bigdevice/service/impl/TowerServiceImpl.java index ce210a99a..fa8542454 100644 --- a/src/main/java/com/zhgd/xmgl/modules/bigdevice/service/impl/TowerServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/bigdevice/service/impl/TowerServiceImpl.java @@ -21,7 +21,9 @@ import com.zhgd.xmgl.modules.bigdevice.mapper.*; import com.zhgd.xmgl.modules.bigdevice.service.ITowerService; import com.zhgd.xmgl.modules.bigdevice.service.ITowerVisualizeService; import com.zhgd.xmgl.modules.project.mapper.ProjectDevStatisticsMapper; +import com.zhgd.xmgl.modules.video.mapper.VideoItemMapper; import com.zhgd.xmgl.util.MessageUtil; +import com.zhgd.xmgl.util.ReflectionUtil; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections.MapUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -208,10 +210,11 @@ public class TowerServiceImpl extends ServiceImpl implements tower.setTowerDriverList(devSn); } QueryWrapper queryWrapper2 = new QueryWrapper<>(); - queryWrapper2.lambda().eq(BigDeviceVideo::getDevSn, tower.getDevSn()) - .eq(BigDeviceVideo::getProjectSn, tower.getProjectSn()) - .eq(BigDeviceVideo::getType, 1); - List videoList = bigDeviceVideoMapper.selectList(queryWrapper2); + String bdv = "bdv."; + queryWrapper2.eq(bdv + ReflectionUtil.getFieldNameToUlc(BigDeviceVideo::getDevSn), tower.getDevSn()) + .eq(bdv + ReflectionUtil.getFieldNameToUlc(BigDeviceVideo::getProjectSn), tower.getProjectSn()) + .eq(bdv + ReflectionUtil.getFieldNameToUlc(BigDeviceVideo::getType), 1); + List videoList = bigDeviceVideoMapper.selectListExt(queryWrapper2); tower.setVideoList(videoList); QueryWrapper queryWrapper3 = new QueryWrapper<>(); queryWrapper3.lambda().eq(TowerVisualize::getTowerSn, tower.getDevSn()) diff --git a/src/main/java/com/zhgd/xmgl/modules/project/service/impl/ProjectFileServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/project/service/impl/ProjectFileServiceImpl.java index a342b6b7e..de1f8c594 100644 --- a/src/main/java/com/zhgd/xmgl/modules/project/service/impl/ProjectFileServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/project/service/impl/ProjectFileServiceImpl.java @@ -156,15 +156,10 @@ public class ProjectFileServiceImpl extends ServiceImpl (e.getFilePath() + e.getFileName()).equals(old.getFilePath() + old.getFileName()))) { - throw new OpenAlertException("目标文件夹和源文件夹相同"); - } - if (list.stream().anyMatch(e -> { - String source = e.getFilePath() + e.getFileName(); - String target = old.getFilePath() + old.getFileName(); - return source.equals(target); - })) { - throw new OpenAlertException("目标文件夹是源文件夹的子文件夹"); + if (list.stream().anyMatch(e -> StringUtils.startsWith(e.getFilePath(), old.getFilePath() + old.getFileName()) + && StringUtils.substringAfter(e.getFilePath(), old.getFilePath() + old.getFileName()).startsWith("/") + )) { + throw new OpenAlertException("移动失败,目标文件夹是源文件夹的子文件夹"); } } }