Преглед изворни кода

通过标本编号批量导入模型

jiafei пре 2 недеља
родитељ
комит
f41248b2ed

+ 1 - 1
yudao-module-museum/yudao-module-museum-biz/src/main/java/cn/iocoder/yudao/module/museum/dal/mysql/museummodel/MuseummodelMapper.java

@@ -45,7 +45,7 @@ public interface MuseummodelMapper extends BaseMapperX<MuseummodelDO> {
             "</foreach>",
             "</script>"
     })
-//    void batchInsert(@Param("list") List<MuseummodelDO> museummodelDOList);
+    void batchInsert(@Param("list") List<MuseummodelDO> museummodelDOList);
 
     //分页查询
     default PageResult<MuseummodelDO> getMuseumModelPage(MuseummodelPageReqVO reqVO) {

+ 2 - 0
yudao-module-museum/yudao-module-museum-biz/src/main/java/cn/iocoder/yudao/module/museum/service/museummodel/MuseummodelService.java

@@ -50,6 +50,8 @@ public interface MuseummodelService {
     * */
    List<MuseummodelDO> getMuseumModelBySpecimenType(String specimenType);
 
+   
+
    /**
     * 获得分页
     *

+ 34 - 41
yudao-module-museum/yudao-module-museum-biz/src/main/java/cn/iocoder/yudao/module/museum/service/museummodel/MuseummodelServiceImpl.java

@@ -13,6 +13,7 @@ import org.springframework.web.multipart.MultipartFile;
 
 import javax.annotation.Resource;
 import java.io.IOException;
+import java.io.InputStream;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Set;
@@ -43,11 +44,6 @@ public  class MuseummodelServiceImpl implements MuseummodelService {
      museumModelMapper.deleteMuseumModel(id);
       museumModelMapper.deleteById(id);
    }
-//废料
-   @Override
-   public void batchImportModels(String specimenNumber, MultipartFile zipFile) {
-
-   }
 
    @Override
    public MuseummodelDO selectMuseumModel(Integer id){
@@ -73,7 +69,40 @@ public  class MuseummodelServiceImpl implements MuseummodelService {
       // 修改为正确的方法调用
       return museumModelMapper.getMuseumModelBySpecimenType(specimenType);
    }
+
+   @Override
+   public void batchImportModels(String specimenNumber, MultipartFile zipFile) {
+      List<MuseummodelDO> museummodelDOList = new ArrayList<>();
+      try (InputStream inputStream = zipFile.getInputStream();
+           ZipInputStream zis = new ZipInputStream(inputStream)) {
+         ZipEntry zipEntry;
+         while ((zipEntry = zis.getNextEntry()) != null) {
+            if (!zipEntry.isDirectory()) {
+               // 这里需要根据 zip 文件中的具体内容解析出模型信息
+               // 示例:假设文件名就是模型名称,这里仅为示例,实际需根据情况调整
+               String modelName = zipEntry.getName();
+               MuseummodelDO museummodelDO = new MuseummodelDO();
+               museummodelDO.setModelName(modelName);
+               museummodelDO.setSpecimenNumber(specimenNumber);
+               // 假设模型路径暂时用文件名替代,实际需根据存储情况调整
+               museummodelDO.setModelWay(modelName);
+               museummodelDOList.add(museummodelDO);
+            }
+         }
+         if (!museummodelDOList.isEmpty()) {
+            museumModelMapper.batchInsert(museummodelDOList);
+         }
+      } catch (IOException e) {
+         // 可根据实际情况进行异常处理,例如抛出业务异常
+         throw new RuntimeException("批量导入模型时发生错误", e);
+      }
+   }
+}
+//     @Override
+//      public  PageResult<MuseummodelDO> getPage (MuseummodelPageReqVO pageReqVO){
 //
+//     }
+
 //   @Override
 //   public void batchImportModels(String specimenNumber, MultipartFile zipFile) {
 //      try {
@@ -84,39 +113,3 @@ public  class MuseummodelServiceImpl implements MuseummodelService {
 //         e.printStackTrace();
 //      }
 //   }
-//
-//   正在写
-//   @Override
-//   public void batchImportModels(String specimenNumber, MultipartFile zipFile) {
-//      List<MuseummodelDO> museummodelDOList = new ArrayList<>();
-//      try (ZipInputStream zis = new ZipInputStream(zipFile.getInputStream())) {
-//         ZipEntry zipEntry;
-//         while ((zipEntry = zis.getNextEntry()) != null) {
-//            if (!zipEntry.isDirectory()) {
-//               // 这里需要根据 zip 文件中的具体内容解析出模型信息
-//               // 示例:假设文件名就是模型名称,这里仅为示例,实际需根据情况调整
-//               String modelName = zipEntry.getName();
-//               MuseummodelDO museummodelDO = new MuseummodelDO();
-//               museummodelDO.setModelName(modelName);
-//               museummodelDO.setSpecimenNumber(specimenNumber);
-//               // 假设模型路径暂时用文件名替代,实际需根据存储情况调整
-//               museummodelDO.setModelWay(modelName);
-//               museummodelDOList.add(museummodelDO);
-//            }
-//         }
-//         if (!museummodelDOList.isEmpty()) {
-//            MuseummodelMapper.batchInsert(museummodelDOList);
-//         }
-//      } catch (IOException e) {
-//         e.printStackTrace();
-//      }
-//   }
-
-//     @Override
-//      public  PageResult<MuseummodelDO> getPage (MuseummodelPageReqVO pageReqVO){
-//
-//     }
-
-
-
-}