diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/drone/controller/DroDroneBigPictureController.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/drone/controller/DroDroneBigPictureController.java index 2c4dad92..116bf700 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/drone/controller/DroDroneBigPictureController.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/drone/controller/DroDroneBigPictureController.java @@ -88,7 +88,7 @@ public class DroDroneBigPictureController extends BaseController { @RepeatSubmit() @PostMapping() public R add(@Validated(AddGroup.class) @RequestBody DroDroneBigPictureBo bo) { - return toAjax(droDroneBigPictureService.insertByBo(bo)); + return toAjax(droDroneBigPictureService.insertByBo(bo, true)); } /** diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/drone/service/IDroDroneBigPictureService.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/drone/service/IDroDroneBigPictureService.java index 100e0001..0a2240f0 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/drone/service/IDroDroneBigPictureService.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/drone/service/IDroDroneBigPictureService.java @@ -50,10 +50,11 @@ public interface IDroDroneBigPictureService extends IService /** * 新增无人机大图信息 * - * @param bo 无人机大图信息 + * @param bo 无人机大图信息 + * @param isNew 是否创建新记录 * @return 是否新增成功 */ - Boolean insertByBo(DroDroneBigPictureBo bo); + Boolean insertByBo(DroDroneBigPictureBo bo, Boolean isNew); /** * 修改无人机大图信息 diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/drone/service/impl/DroDroneBigPictureServiceImpl.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/drone/service/impl/DroDroneBigPictureServiceImpl.java index a735a66a..ead2b090 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/drone/service/impl/DroDroneBigPictureServiceImpl.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/drone/service/impl/DroDroneBigPictureServiceImpl.java @@ -62,7 +62,8 @@ import java.util.stream.Collectors; @Slf4j @RequiredArgsConstructor @Service -public class DroDroneBigPictureServiceImpl extends ServiceImpl +public +class DroDroneBigPictureServiceImpl extends ServiceImpl implements IDroDroneBigPictureService { @Lazy @@ -218,21 +219,24 @@ public class DroDroneBigPictureServiceImpl extends ServiceImpl { log.error("无人机大图信息[{}]异步执行合成图片失败", add.getTaskName(), ex); + DroDroneBigPicture update = new DroDroneBigPicture(); + update.setId(id); + update.setStatus("4"); + this.updateById(update); return null; }); } @@ -413,6 +421,32 @@ public class DroDroneBigPictureServiceImpl extends ServiceImpl { String fileStr = result.stream() .map(String::valueOf) .collect(Collectors.joining(",")); + bo.setId(id); bo.setSmallPic(fileStr); - this.insertByBo(bo); + this.insertByBo(bo, false); }) .exceptionally(ex -> { // 统一处理解压失败(包括 ZipUtil 等异常) log.error("压缩包处理失败: {}", ex.getMessage(), ex); // 保存数据 - DroDroneBigPicture picture = new DroDroneBigPicture(); - BeanUtils.copyProperties(bo, picture); - picture.setStatus("8"); - picture.setRemark(ex.getMessage()); - this.save(picture); + DroDroneBigPicture update = new DroDroneBigPicture(); + update.setId(id); + update.setStatus("8"); + update.setRemark(ex.getMessage()); + this.updateById(picture); return null; }).whenComplete((r, ex) -> { // 不管成功失败,都删除临时文件