From 41b81aa2dd3693283d3edbf70a0e182343b3ca5a Mon Sep 17 00:00:00 2001 From: guoshengxiong <1923636941@qq.com> Date: Wed, 9 Jul 2025 16:29:45 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B7=A5=E4=BD=9C=E7=A5=A8bug=E4=BF=AE?= =?UTF-8?q?=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/zhgd/xmgl/call/Mcs8Call.java | 7 ++- .../WorkTicketHistoryController.java | 55 +++++-------------- .../entity/vo/WorkTicketHistoryVo.java | 5 +- .../ProjectPoliceCameraConfigServiceImpl.java | 4 +- .../impl/WorkTicketHistoryServiceImpl.java | 18 ++++++ 5 files changed, 43 insertions(+), 46 deletions(-) diff --git a/src/main/java/com/zhgd/xmgl/call/Mcs8Call.java b/src/main/java/com/zhgd/xmgl/call/Mcs8Call.java index 0026477dd..5b5dc5d06 100644 --- a/src/main/java/com/zhgd/xmgl/call/Mcs8Call.java +++ b/src/main/java/com/zhgd/xmgl/call/Mcs8Call.java @@ -23,7 +23,9 @@ import com.zhgd.xmgl.modules.policecamera.service.IWorkTicketHistoryService; import com.zhgd.xmgl.util.PathUtil; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.config.ConfigurableBeanFactory; import org.springframework.context.annotation.Lazy; +import org.springframework.context.annotation.Scope; import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Component; @@ -34,6 +36,7 @@ import java.util.stream.Collectors; @Slf4j @Component +@Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE) public class Mcs8Call implements PoliceCameraManufacturer { @Lazy @Autowired @@ -84,14 +87,14 @@ public class Mcs8Call implements PoliceCameraManufacturer { JSONObject jsonObject = Mcs8Util.getRecordFileList(config, page, pageSize, begin, end); bos = BeanUtil.copyToList(jsonObject.getJSONArray("data"), Mcs8FileBo.class); for (Mcs8FileBo bo : bos) { - mcs8Call.downloadFileAndSave(bo, cameraItemMap); + mcs8Call.downloadFileAndSaveAsync(bo, cameraItemMap); } page++; } while (CollUtil.isNotEmpty(bos) && bos.size() == pageSize); } @Async("policeCameraManufacturerDownLoadExecutor") - public void downloadFileAndSave(Mcs8FileBo bo, Map cameraItemMap) { + public void downloadFileAndSaveAsync(Mcs8FileBo bo, Map cameraItemMap) { int count = policeCameraItemFileService.count(new LambdaQueryWrapper() .eq(PoliceCameraItemFile::getExternalId, bo.getId())); if (count > 0) { diff --git a/src/main/java/com/zhgd/xmgl/modules/policecamera/controller/WorkTicketHistoryController.java b/src/main/java/com/zhgd/xmgl/modules/policecamera/controller/WorkTicketHistoryController.java index f5613596e..b190aa072 100644 --- a/src/main/java/com/zhgd/xmgl/modules/policecamera/controller/WorkTicketHistoryController.java +++ b/src/main/java/com/zhgd/xmgl/modules/policecamera/controller/WorkTicketHistoryController.java @@ -1,53 +1,26 @@ package com.zhgd.xmgl.modules.policecamera.controller; -import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.zhgd.annotation.OperLog; +import com.zhgd.jeecg.common.api.vo.Result; +import com.zhgd.xmgl.modules.policecamera.entity.WorkTicketHistory; +import com.zhgd.xmgl.modules.policecamera.entity.dto.WorkTicketHistoryDto; +import com.zhgd.xmgl.modules.policecamera.entity.vo.WorkTicketHistoryVo; +import com.zhgd.xmgl.modules.policecamera.service.IWorkTicketHistoryService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; -import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiImplicitParams; - -import java.util.HashMap; - +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections.MapUtils; +import org.simpleframework.xml.core.Validate; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Lazy; +import org.springframework.web.bind.annotation.*; import springfox.documentation.annotations.ApiIgnore; -import java.util.Arrays; +import java.util.HashMap; import java.util.List; -import java.util.Map; -import java.io.IOException; -import java.io.UnsupportedEncodingException; -import java.net.URLDecoder; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - -import com.zhgd.jeecg.common.api.vo.Result; -import com.zhgd.jeecg.common.system.query.QueryGenerator; -import com.zhgd.jeecg.common.util.oConvertUtils; -import org.apache.commons.collections.MapUtils; -import com.zhgd.xmgl.modules.policecamera.entity.WorkTicketHistory; -import com.zhgd.xmgl.modules.policecamera.entity.vo.WorkTicketHistoryVo; -import com.zhgd.xmgl.modules.policecamera.entity.dto.WorkTicketHistoryDto; -import com.zhgd.xmgl.modules.policecamera.service.IWorkTicketHistoryService; -import org.springframework.context.annotation.Lazy; - -import org.simpleframework.xml.core.Validate; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import lombok.extern.slf4j.Slf4j; - -import org.jeecgframework.poi.excel.ExcelImportUtil; -import org.jeecgframework.poi.excel.def.NormalExcelConstants; -import org.jeecgframework.poi.excel.entity.ExportParams; -import org.jeecgframework.poi.excel.entity.ImportParams; -import org.jeecgframework.poi.excel.view.JeecgEntityExcelView; - -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; -import org.springframework.web.multipart.MultipartFile; -import org.springframework.web.multipart.MultipartHttpServletRequest; -import org.springframework.web.servlet.ModelAndView; -import com.alibaba.fastjson.JSON; /** diff --git a/src/main/java/com/zhgd/xmgl/modules/policecamera/entity/vo/WorkTicketHistoryVo.java b/src/main/java/com/zhgd/xmgl/modules/policecamera/entity/vo/WorkTicketHistoryVo.java index 56dbd2163..f0568081e 100644 --- a/src/main/java/com/zhgd/xmgl/modules/policecamera/entity/vo/WorkTicketHistoryVo.java +++ b/src/main/java/com/zhgd/xmgl/modules/policecamera/entity/vo/WorkTicketHistoryVo.java @@ -1,11 +1,14 @@ package com.zhgd.xmgl.modules.policecamera.entity.vo; +import com.zhgd.xmgl.modules.policecamera.entity.PoliceCameraItemFile; import com.zhgd.xmgl.modules.policecamera.entity.WorkTicketHistory; import io.swagger.annotations.ApiModel; import lombok.Data; +import java.util.List; + @Data @ApiModel(value = "WorkTicketHistoryVo实体类", description = "WorkTicketHistoryVo实体类") public class WorkTicketHistoryVo extends WorkTicketHistory { - + private List fileList; } diff --git a/src/main/java/com/zhgd/xmgl/modules/policecamera/service/impl/ProjectPoliceCameraConfigServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/policecamera/service/impl/ProjectPoliceCameraConfigServiceImpl.java index 6149b054e..3f115906a 100644 --- a/src/main/java/com/zhgd/xmgl/modules/policecamera/service/impl/ProjectPoliceCameraConfigServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/policecamera/service/impl/ProjectPoliceCameraConfigServiceImpl.java @@ -63,7 +63,7 @@ public class ProjectPoliceCameraConfigServiceImpl extends ServiceImpl queryWrapper = new QueryWrapper<>(); queryWrapper.lambda().eq(ProjectPoliceCameraConfig::getProjectSn, MapUtils.getString(map, "projectSn")) - .eq(ProjectPoliceCameraConfig::getFactoryType, MapUtils.getString(map, "videoType")); + .eq(ProjectPoliceCameraConfig::getFactoryType, MapUtils.getString(map, "factoryType")); ProjectPoliceCameraConfig tempProjectPoliceCameraConfig = projectPoliceCameraConfigMapper.selectOne(queryWrapper); if (tempProjectPoliceCameraConfig != null) { projectPoliceCameraConfig.setId(tempProjectPoliceCameraConfig.getId()); @@ -71,7 +71,7 @@ public class ProjectPoliceCameraConfigServiceImpl extends ServiceImpl implements IWorkTicketHistoryService { @Autowired private WorkTicketHistoryMapper workTicketHistoryMapper; + @Lazy + @Autowired + private IPoliceCameraItemFileService policeCameraItemFileService; @Override public IPage queryPageList(HashMap param) { @@ -52,6 +62,14 @@ public class WorkTicketHistoryServiceImpl extends ServiceImpl dealList(List list) { + if (CollUtil.isNotEmpty(list)) { + List hids = list.stream().map(WorkTicketHistoryVo::getId).collect(Collectors.toList()); + Map> historyIdMap = policeCameraItemFileService.list(new LambdaQueryWrapper() + .in(PoliceCameraItemFile::getHistoryId, hids)).stream().collect(Collectors.groupingBy(PoliceCameraItemFile::getHistoryId)); + for (WorkTicketHistoryVo historyVo : list) { + historyVo.setFileList(historyIdMap.get(historyVo.getId())); + } + } return list; }