|
@@ -2,23 +2,30 @@ package org.dromara.bulk.service.impl;
|
|
|
|
|
|
import lombok.RequiredArgsConstructor;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
+import org.dromara.bulk.domain.Attachment;
|
|
|
import org.dromara.bulk.domain.BulkOrderList;
|
|
|
import org.dromara.bulk.domain.UserOrder;
|
|
|
import org.dromara.bulk.domain.UserOrderTemplate;
|
|
|
+import org.dromara.bulk.domain.bo.AttachmentBo;
|
|
|
import org.dromara.bulk.domain.bo.NewBulkOrderBo;
|
|
|
import org.dromara.bulk.domain.bo.OrderListBo;
|
|
|
import org.dromara.bulk.mapper.BulkOrderListMapper;
|
|
|
+import org.dromara.bulk.mapper.AttachmentMapper;
|
|
|
import org.dromara.bulk.mapper.UserOrderMapper;
|
|
|
import org.dromara.bulk.mapper.UserOrderTemplateMapper;
|
|
|
import org.dromara.bulk.mapstruct.NewBulkOrderMapstruct;
|
|
|
import org.dromara.bulk.service.BulkOrderManagementService;
|
|
|
+import org.dromara.common.core.utils.MapstructUtils;
|
|
|
import org.dromara.common.core.utils.OrderNumberGenerator;
|
|
|
import org.dromara.productionManagement.domain.ProductionPlan;
|
|
|
import org.dromara.productionManagement.mapper.ProductionPlanMapper;
|
|
|
+import org.dromara.system.domain.vo.SysOssVo;
|
|
|
import org.dromara.system.service.impl.SysOssServiceImpl;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
+import org.springframework.web.multipart.MultipartFile;
|
|
|
|
|
|
+import java.util.ArrayList;
|
|
|
import java.util.List;
|
|
|
|
|
|
/**
|
|
@@ -33,9 +40,24 @@ public class BulkOrderManagementServiceImpl implements BulkOrderManagementServic
|
|
|
private final BulkOrderListMapper bulkOrderListMapper;
|
|
|
private final UserOrderMapper userOrderMapper;
|
|
|
private final UserOrderTemplateMapper userOrderTemplateMapper;
|
|
|
+ private final AttachmentMapper attachmentMapper;
|
|
|
+
|
|
|
private final NewBulkOrderMapstruct newBulkOrderMapstruct;
|
|
|
private final SysOssServiceImpl sysOssService;
|
|
|
|
|
|
+ private List<MultipartFile> imageList;
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 单独上传图片的处理
|
|
|
+ * @param inputImageList 图片列表
|
|
|
+ * @return 结果
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public int uploadImage(List<MultipartFile> inputImageList) {
|
|
|
+ imageList = inputImageList;
|
|
|
+ return imageList == null ? 0 : 1;
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 新增生产订单
|
|
|
*
|
|
@@ -46,8 +68,16 @@ public class BulkOrderManagementServiceImpl implements BulkOrderManagementServic
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public int insertBulkOrder(NewBulkOrderBo newBulkOrderBo) {
|
|
|
try {
|
|
|
+ //保存上传的图片
|
|
|
+ List<SysOssVo> ossList = new ArrayList<>();
|
|
|
+ for (MultipartFile image : imageList) {
|
|
|
+ ossList.add(sysOssService.upload(image));
|
|
|
+ }
|
|
|
+ //批量处理新增生产订单
|
|
|
OrderNumberGenerator orderNumberGenerator = OrderNumberGenerator.getInstance();
|
|
|
- for (OrderListBo orderList : newBulkOrderBo.getOrderLists()) {
|
|
|
+ for (int i = 0; i < newBulkOrderBo.getOrderLists().size(); i++) {
|
|
|
+ OrderListBo orderList = newBulkOrderBo.getOrderLists().get(i);
|
|
|
+ SysOssVo sysOssVo = ossList.get(i);
|
|
|
// 生成单号
|
|
|
String sysNo = orderNumberGenerator.generateOrderNumber("SYS");
|
|
|
String purchaseCode = orderNumberGenerator.generateOrderNumber("SC");
|
|
@@ -95,13 +125,22 @@ public class BulkOrderManagementServiceImpl implements BulkOrderManagementServic
|
|
|
userOrderTemplateMapper.insert(templates);
|
|
|
}
|
|
|
|
|
|
- //处理款式图
|
|
|
-// SysOssVo styleImageVo = sysOssService.upload(orderList.getStyleImage());
|
|
|
+ // 处理图片关联性
|
|
|
+ attachmentMapper.insert(MapstructUtils.convert(new AttachmentBo(
|
|
|
+ "image",
|
|
|
+ newBulkOrderBo.getUserId(),
|
|
|
+ sysOssVo.getUrl(),
|
|
|
+ sysOssVo.getFileSuffix(),
|
|
|
+ sysOssVo.getFileName(),
|
|
|
+ newBulkOrderBo.getCreateTime(),
|
|
|
+ newBulkOrderBo.getUpdateTime(),
|
|
|
+ sysOssVo.getCreateTime(),
|
|
|
+ sysOssVo.getOssId().toString()), Attachment.class));
|
|
|
}
|
|
|
return 1;
|
|
|
} catch (Exception e) {
|
|
|
- log.error(String.valueOf(e));
|
|
|
- return 0;
|
|
|
+ log.error("插入生产订单失败: {}", e.getMessage(), e);
|
|
|
+ throw new RuntimeException("插入生产订单失败", e);
|
|
|
}
|
|
|
}
|
|
|
}
|