From b96e45024d745bb9b863959b852cb4db57329c3a Mon Sep 17 00:00:00 2001 From: chenxiky <2868613334@qq.com> Date: Sun, 20 Jul 2025 11:11:20 +0800 Subject: [PATCH] =?UTF-8?q?fix:=E4=BF=AE=E5=A4=8D=E6=9C=AC=E5=9C=B0?= =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E6=96=87=E4=BB=B6=E6=BA=90=E6=96=87=E4=BB=B6?= =?UTF-8?q?=E5=90=8D=E7=A7=B0=E8=8E=B7=E5=8F=96=E9=94=99=E8=AF=AF=EF=BC=9B?= =?UTF-8?q?=E4=BC=98=E5=8C=96=E8=AE=A2=E5=8D=95=E8=AF=A6=E6=83=85=E4=BB=BB?= =?UTF-8?q?=E5=8A=A1=E6=96=B0=E5=A2=9E=E6=8E=A5=E5=8F=A3=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../aircraft/modules/order/biz/OrderBiz.java | 43 +++++++++++++------ .../order/controller/OrderMainController.java | 2 +- .../order/domain/dto/AddOrderTaskDTO.java | 8 ++-- .../service/IAttachmentMaterialService.java | 9 ++-- .../impl/AttachmentMaterialServiceImpl.java | 6 ++- .../aircraft/rest/LocalStorageController.java | 2 +- 6 files changed, 46 insertions(+), 24 deletions(-) diff --git a/aircraft-system/src/main/java/com/aircraft/modules/order/biz/OrderBiz.java b/aircraft-system/src/main/java/com/aircraft/modules/order/biz/OrderBiz.java index 26d0fce..022e2fb 100644 --- a/aircraft-system/src/main/java/com/aircraft/modules/order/biz/OrderBiz.java +++ b/aircraft-system/src/main/java/com/aircraft/modules/order/biz/OrderBiz.java @@ -21,6 +21,7 @@ import com.aircraft.modules.order.service.IOrderOperatorService; import com.aircraft.modules.system.domain.AttachmentMaterial; import com.aircraft.modules.system.domain.EmEmployees; import com.aircraft.modules.system.domain.EmScenic; +import com.aircraft.modules.system.domain.dto.LocalAttachmentMaterialDTO; import com.aircraft.modules.system.domain.enums.AttachmentMaterialBusinessTypeEnum; import com.aircraft.modules.system.service.EmScenicService; import com.aircraft.modules.system.service.IAttachmentMaterialService; @@ -91,9 +92,9 @@ public class OrderBiz { public void addOrder(AddOrderDTO addOrderDTO) { // 获取当前登录用户(飞行端用户) - EmEmployees emEmployees = JSON.parseObject(SecurityUtils.getCurrentEmployee(), EmEmployees.class); + EmEmployees employees = JSON.parseObject(SecurityUtils.getCurrentEmployee(), EmEmployees.class); // 发起人ID - Long orderInitiatorId = emEmployees.getId(); + Long orderInitiatorId = employees.getId(); // 新增订单 OrderMain orderMain = orderMainService.addOrder(buildOrderParam(addOrderDTO, orderInitiatorId)); // 构建保存操作人信息 @@ -152,22 +153,28 @@ public class OrderBiz { @Transactional(rollbackFor = Exception.class) public void addOrderTask(AddOrderTaskDTO orderTaskDTO) { - // TODO 获取当前登录用户 - Long orderInitiatorId = SecurityUtils.getCurrentUserId(); + // 获取当前登录用户 + EmEmployees employees = JSON.parseObject(SecurityUtils.getCurrentEmployee(), EmEmployees.class); + Long orderInitiatorId = employees.getId(); // 构建任务参数 OrderDetail orderTask = buildOrderTaskParam(orderTaskDTO, orderInitiatorId); // 批量新增 orderDetailService.addOrderDetail(orderTask); + + // 判断是否存在材料 + if (CollectionUtil.isEmpty(orderTaskDTO.getAttachmentMaterialList())) { + return; + } // 保存材料 - AttachmentMaterial attachmentMaterialList = buildAttachmentMaterialParam(orderTaskDTO); - attachmentMaterialService.addAttachmentMaterial(attachmentMaterialList); + List attachmentMaterialList = buildAttachmentMaterialParam(orderTaskDTO); + attachmentMaterialService.batchAddAttachmentMaterial(attachmentMaterialList); } /** - * 构建任务参数 + * 构建订单任务参数 * * @param orderTaskDTO {@link AddOrderTaskDTO} - * @param orderInitiatorId + * @param orderInitiatorId 当前飞行员ID * @return {@link OrderDetail} */ private OrderDetail buildOrderTaskParam(AddOrderTaskDTO orderTaskDTO, Long orderInitiatorId) { @@ -187,12 +194,20 @@ public class OrderBiz { * @param orderTaskDTO {@link AddOrderTaskDTO} * @return {@link AttachmentMaterial} */ - private AttachmentMaterial buildAttachmentMaterialParam(AddOrderTaskDTO orderTaskDTO) { - AttachmentMaterial attachmentMaterial = new AttachmentMaterial(); - attachmentMaterial.setBusinessId(orderTaskDTO.getOrderId()); - attachmentMaterial.setBusinessType(AttachmentMaterialBusinessTypeEnum.ORDER_TASK_MATERIAL.getCode()); - attachmentMaterial.setFileFullPath(orderTaskDTO.getPicUrl()); - return attachmentMaterial; + private List buildAttachmentMaterialParam(AddOrderTaskDTO orderTaskDTO) { + List materialList = new ArrayList<>(); + for (LocalAttachmentMaterialDTO materialDTO : orderTaskDTO.getAttachmentMaterialList()) { + AttachmentMaterial attachmentMaterial = new AttachmentMaterial(); + attachmentMaterial.setBusinessId(orderTaskDTO.getOrderId()); + attachmentMaterial.setBusinessType(AttachmentMaterialBusinessTypeEnum.ORDER_TASK_MATERIAL.getCode()); + attachmentMaterial.setFileType(materialDTO.getFileType()); + attachmentMaterial.setSourceFileName(materialDTO.getSourceFileName()); + attachmentMaterial.setNewFileName(materialDTO.getNewFileName()); + attachmentMaterial.setFileSize(materialDTO.getFileSize()); + attachmentMaterial.setFileFullPath(materialDTO.getFileFullPath()); + materialList.add(attachmentMaterial); + } + return materialList; } /** diff --git a/aircraft-system/src/main/java/com/aircraft/modules/order/controller/OrderMainController.java b/aircraft-system/src/main/java/com/aircraft/modules/order/controller/OrderMainController.java index 52fe97f..6e579c9 100644 --- a/aircraft-system/src/main/java/com/aircraft/modules/order/controller/OrderMainController.java +++ b/aircraft-system/src/main/java/com/aircraft/modules/order/controller/OrderMainController.java @@ -53,7 +53,7 @@ public class OrderMainController { @ApiOperation("新增订单任务") @PostMapping("/addOrderTask") - public ResponseEntity addOrderTask(AddOrderTaskDTO orderTaskDTO) { + public ResponseEntity addOrderTask(@RequestBody @Validated AddOrderTaskDTO orderTaskDTO) { orderBiz.addOrderTask(orderTaskDTO); return new ResponseEntity<>(HttpStatus.OK); } diff --git a/aircraft-system/src/main/java/com/aircraft/modules/order/domain/dto/AddOrderTaskDTO.java b/aircraft-system/src/main/java/com/aircraft/modules/order/domain/dto/AddOrderTaskDTO.java index 5fac2b0..10cdcaa 100644 --- a/aircraft-system/src/main/java/com/aircraft/modules/order/domain/dto/AddOrderTaskDTO.java +++ b/aircraft-system/src/main/java/com/aircraft/modules/order/domain/dto/AddOrderTaskDTO.java @@ -1,10 +1,12 @@ package com.aircraft.modules.order.domain.dto; +import com.aircraft.modules.system.domain.dto.LocalAttachmentMaterialDTO; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import javax.validation.constraints.NotNull; import java.math.BigDecimal; +import java.util.List; /** * @@ -46,8 +48,8 @@ public class AddOrderTaskDTO { private BigDecimal cargoWeight; /** - * 任务上传的图片全路径URL + * 图片材料List */ - @ApiModelProperty(value = "任务上传的图片全路径URL") - private String picUrl; + @ApiModelProperty(value = "图片材料List集合") + private List attachmentMaterialList; } diff --git a/aircraft-system/src/main/java/com/aircraft/modules/system/service/IAttachmentMaterialService.java b/aircraft-system/src/main/java/com/aircraft/modules/system/service/IAttachmentMaterialService.java index 6444e4d..15b4dd9 100644 --- a/aircraft-system/src/main/java/com/aircraft/modules/system/service/IAttachmentMaterialService.java +++ b/aircraft-system/src/main/java/com/aircraft/modules/system/service/IAttachmentMaterialService.java @@ -3,6 +3,8 @@ package com.aircraft.modules.system.service; import com.aircraft.modules.system.domain.AttachmentMaterial; import com.baomidou.mybatisplus.extension.service.IService; +import java.util.List; + /** *

* 服务类 @@ -14,8 +16,9 @@ import com.baomidou.mybatisplus.extension.service.IService; public interface IAttachmentMaterialService extends IService { /** - * 新增材料 - * @param attachmentMaterial + * 批量新增材料 + * + * @param attachmentMaterialList {@link List} */ - void addAttachmentMaterial(AttachmentMaterial attachmentMaterial); + void batchAddAttachmentMaterial(List attachmentMaterialList); } diff --git a/aircraft-system/src/main/java/com/aircraft/modules/system/service/impl/AttachmentMaterialServiceImpl.java b/aircraft-system/src/main/java/com/aircraft/modules/system/service/impl/AttachmentMaterialServiceImpl.java index 6ce79cc..762023c 100644 --- a/aircraft-system/src/main/java/com/aircraft/modules/system/service/impl/AttachmentMaterialServiceImpl.java +++ b/aircraft-system/src/main/java/com/aircraft/modules/system/service/impl/AttachmentMaterialServiceImpl.java @@ -6,6 +6,8 @@ import com.aircraft.modules.system.service.IAttachmentMaterialService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.stereotype.Service; +import java.util.List; + /** *

* 服务实现类 @@ -18,7 +20,7 @@ import org.springframework.stereotype.Service; public class AttachmentMaterialServiceImpl extends ServiceImpl implements IAttachmentMaterialService { @Override - public void addAttachmentMaterial(AttachmentMaterial attachmentMaterial) { - this.save(attachmentMaterial); + public void batchAddAttachmentMaterial(List attachmentMaterialList) { + this.saveBatch(attachmentMaterialList); } } diff --git a/aircraft-tools/src/main/java/com/aircraft/rest/LocalStorageController.java b/aircraft-tools/src/main/java/com/aircraft/rest/LocalStorageController.java index 6df7f86..59f75a9 100644 --- a/aircraft-tools/src/main/java/com/aircraft/rest/LocalStorageController.java +++ b/aircraft-tools/src/main/java/com/aircraft/rest/LocalStorageController.java @@ -65,7 +65,7 @@ public class LocalStorageController { @PostMapping @ApiOperation("上传文件") public ResponseEntity createFile(@RequestPart("file") MultipartFile file){ - LocalStorage localStorage = localStorageService.create(file.getName(), file); + LocalStorage localStorage = localStorageService.create(file.getOriginalFilename(), file); LocalAttachmentMaterialDTO localAttachmentMaterialDTO = new LocalAttachmentMaterialDTO(); localAttachmentMaterialDTO.setFileType(localStorage.getSuffix()); localAttachmentMaterialDTO.setFileSize(file.getSize());