瀏覽代碼

Merge remote-tracking branch 'origin/master'

jiafei 3 月之前
父節點
當前提交
1f0143e4d8

+ 13 - 0
yudao-module-museum/yudao-module-museum-biz/pom.xml

@@ -7,6 +7,19 @@
         <groupId>cn.iocoder.boot</groupId>
         <version>${revision}</version> <!-- 1. 修改 version 为 ${revision} -->
     </parent>
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-compiler-plugin</artifactId>
+                <configuration>
+                    <source>8</source>
+                    <target>8</target>
+                    <compilerArgs>--enable-preview</compilerArgs>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
     <modelVersion>4.0.0</modelVersion>
     <packaging>jar</packaging> <!-- 2. 新增 packaging 为 jar -->
 

+ 3 - 51
yudao-module-museum/yudao-module-museum-biz/src/main/java/cn/iocoder/yudao/module/museum/controller/admin/museuminfo/MuseumInfoController.java

@@ -77,9 +77,9 @@ public class MuseumInfoController {
 
     @GetMapping("/page")
     @Operation(summary = "获取分页")
-    public CommonResult<PageResult<MuseumInfoDO>> getPage(@Valid MuseumInfoPageReqVO pageReqVO){
+    public CommonResult<PageResult<MuseumInfoPageReqVO>> getPage(@Valid MuseumInfoPageReqVO pageReqVO){
         PageResult<MuseumInfoDO> PageResult = museumInfoService.getMuseumInfoPage(pageReqVO);
-        return success(BeanUtils.toBean(PageResult, MuseumInfoDO.class));
+        return success(BeanUtils.toBean(PageResult, MuseumInfoPageReqVO.class));
     }
 
 
@@ -87,34 +87,7 @@ public class MuseumInfoController {
 //    TODO     1.2.3.代表哪种标本类型
 //            返回某种标本类型的List数组
 //            Integer
-//    Map<> 键值对
-//    @GetMapping("/sampleTypeCount")
-//    @Operation(summary = "标本类型计数")
-//    public CommonResult<HashMap<String,Integer>> getMap(@RequestParam("sampleType") Integer sampleType) {
-//        Integer result = museumInfoService.MuseumInfoBySampleType(1);
-//        Integer result2 = museumInfoService.MuseumInfoBySampleType(2);
-//        Integer result3 = museumInfoService.MuseumInfoBySampleType(3);
-//        Integer result4 = museumInfoService.MuseumInfoBySampleType(4);
 //
-////          标本类型:矿石-1 岩石-2 矿物-3 陨石-4>
-//        HashMap<String, Integer> Sites = new HashMap<String, Integer>();
-//        Sites.put("矿石", result);
-//        Sites.put("岩石", result2);
-//        Sites.put("矿物", result3);
-//        Sites.put("陨石", result4);
-//        return CommonResult.success(Sites);
-//    }
-
-//    @GetMapping("/sampleTypeCount")
-//    @Operation(summary = "标本类型计数")
-//    public CommonResult<HashMap<String,List<MuseuminfoTypeVO>>> getMap(@RequestParam("sampleType") Integer sampleType) {
-//        List<MuseuminfoTypeVO> result = museumInfoService.MuseumInfoBySampleType(sampleType);
-////          标本类型:矿石-1 岩石-2 矿物-3 陨石-4>
-//        HashMap<String,List<MuseuminfoTypeVO>> Sites = new HashMap<String,List<MuseuminfoTypeVO>>();
-//        Sites.put("矿石", result);
-//        return CommonResult.success(Sites);
-//    }
-
     @GetMapping("/sampleTypeCount")
     @Operation(summary = "标本类型计数")
     public CommonResult<List<MuseuminfoTypeVO>> getMap(@RequestParam("sampleType") Integer sampleType) {
@@ -124,16 +97,7 @@ public class MuseumInfoController {
     }
 
 
-//    @GetMapping("/saveCount")
-//    @Operation(summary = "标本出入库状态计数(每月)")
-//    public CommonResult<HashMap<Integer,List<MuseuminfoMonthSaveVO>>> getSave(@RequestParam("save") Integer save){
-//        List<MuseuminfoMonthSaveVO> result1 =museumInfoService.MuseumInfoBySave(save);
-////        状态:在库-1 出库-0
-//        HashMap<Integer, List<MuseuminfoMonthSaveVO>> result2 = new HashMap<Integer,List<MuseuminfoMonthSaveVO>>();
-////        Integer Condition = save;
-//        result2.put(save,result1);
-//        return CommonResult.success(result2);
-//    }
+
 
     @GetMapping("/joinSaveCount")
     @Operation(summary = "标本出入库状态计数(每月)(入库)")
@@ -172,16 +136,4 @@ public class MuseumInfoController {
 
 
 
-
-
-
-//   public CommonResult<MuseumTextRespVO> getdo(@RequestParam("id") Integer id){
-//          MuseumTextRespVO DO =new MuseumTextRespVO();
-////          Integer Ynmber =  selectMuseumInfoBySampleType(1)
-////          Integer  hs =  selectMuseumInfoBySampleType(2)
-////          DO.setYnumber(Ynmber);
-//   }
-
-
-
 }

+ 32 - 0
yudao-module-museum/yudao-module-museum-biz/src/main/java/cn/iocoder/yudao/module/museum/controller/admin/museumpicture/MuseumPictureController.java

@@ -18,6 +18,8 @@ import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
 
+import java.io.IOException;
+
 import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
 
 @Tag(name = "博物馆-图片库")
@@ -66,6 +68,7 @@ public class MuseumPictureController {
 //        }
     }
 
+    //TODO 写清楚点这种,例如这个getPicturesByGroupId
     @GetMapping("/get")
     @Operation(summary = "查找相同照片组图片")
     public CommonResult<MuseumPictureRespVO> getMuseumPictureGroup(@RequestParam("groupId") Integer groupId) {
@@ -88,4 +91,33 @@ public class MuseumPictureController {
         return success(BeanUtils.toBean(pageResult, MuseumPictureRespVO.class));
     }
 
+
+//    "图片解压"
+
+    //TODO 没看懂你想写什么
+//    public MuseumPictureController(MuseumPictureService museumPictureService) {
+//        this.museumPictureService = museumPictureService;
+//    }
+//
+//    public void handleUnzipRequest(String groupId, String zipFilePath) {
+//        try {
+//            museumPictureService.unzipAndAddToGroup(groupId, zipFilePath);
+//            System.out.println("照片已成功解压到 " + "photos/" + groupId);
+//        } catch (IOException e) {
+//            e.printStackTrace();
+//        } catch (Exception e) {
+//            throw new RuntimeException(e);
+//        }
+//    }
+
+//    public static void main(String[] args) {
+//        MuseumPictureService museumPictureService = new MuseumPictureServicelmpl();
+//        MuseumPictureController controller = new MuseumPictureController(museumPictureService);
+//
+//        // 示例 groupId 和 zip 文件路径
+//        String groupId = "group1";
+//        String zipFilePath = "path/to/your/photo.zip";
+//
+//        controller.handleUnzipRequest(groupId, zipFilePath);
+//    }
 }

+ 41 - 46
yudao-module-museum/yudao-module-museum-biz/src/main/java/cn/iocoder/yudao/module/museum/dal/mysql/museuminfo/MuseumInfoMapper.java

@@ -20,26 +20,28 @@ import java.util.Map;
 public interface MuseumInfoMapper extends BaseMapperX<MuseumInfoDO> {
     /**
      * 更新标本
-     * */
+     */
     @Update("UPDATE museum_info SET sample_type=#{sampleType}, place=#{place},chinese_name=#{chineseName} WHERE id =#{id}")
     void updateMuseumInfo(MuseumInfoDO museumInfoDO);
+
     /**
      * 删除标本
-     * */
+     */
     @Update("UPDATE museum_info SET deleted=1,reason=#{reason}  WHERE id =#{id}")
-    void deleteMuseumInfo(Integer id,String reason);
+    void deleteMuseumInfo(Integer id, String reason);
 
     /**
      * 查询标本
-     * */
+     */
     @Select("SELECT * FROM museum_info WHERE id =#{id} AND deleted =0 ")
     MuseumInfoDO selectMuseumInfoById(@Param("id") Integer id);
 
     /**
      * 查询标本编号
-     * */
+     */
     @Select("SELECT * FROM museum_info WHERE sample_id =#{sampleId} AND deleted =0")
     MuseumInfoDO getMuseumInfoBySampleId(@Param("sampleId") String sampleId);
+
     /**
      * 查询标本类型
      */
@@ -48,49 +50,37 @@ public interface MuseumInfoMapper extends BaseMapperX<MuseumInfoDO> {
 
     /**
      * 标本类型计数1
-     * */
-//    @Select("SELECT COUNT(*)  FROM museum_info WHERE sample_type =#{sampleType} AND deleted =0 AND save =1")
-//    Integer countMuseumInfoBySampleType(@Param("sampleType") Integer sampleType);
-
+     */
     @Select("SELECT sample_type ,COUNT(*)AS count FROM museum_info WHERE deleted =0 GROUP BY sample_type")
     List<MuseuminfoTypeVO> countMuseumInfoBySampleType(@Param("sampleType") Integer sampleType);
 
     /**
-     * 标本出入库状态计数
-     * */
-//    @Select("SELECT COUNT(*)  FROM museum_info  WHERE save =#{save} AND deleted =0")
-//    List<MuseuminfoMonthSaveVO> countMuseumInfoBySave(@Param("save") Integer save);
-
-//    @Select("SELECT "+
-//            " DATE_FORMAT(sample_save_time,'%y-%m')AS month,"+
-//            " COUNT(*) AS count "+
-//            " FROM museum_info "+
-//            " WHERE YEAR(sample_save_time) = #{save} "+
-//            " GROUP BY DATE_FORMAT(sample_save_time,'%Y-%m')")
-////            "ORDER BY month")
-//    List<MuseuminfoMonthSaveVO> countMuseumInfoBySave(@Param("save") Integer save);
-
-    @Select("SELECT"+
-            " DATE_FORMAT(sample_save_time,'%m')AS month,"+
-            " COUNT(*) AS count "+
-            " FROM museum_info "+
-            " WHERE deleted =0 AND save =1"+
-            " GROUP BY DATE_FORMAT(sample_save_time,'%m')"+
+     * 标本入库状态计数
+     */
+    @Select("SELECT" +
+            " DATE_FORMAT(sample_save_time,'%m')AS month," +
+            " COUNT(*) AS count " +
+            " FROM museum_info " +
+            " WHERE deleted =0 AND save =1" +
+            " GROUP BY DATE_FORMAT(sample_save_time,'%m')" +
             " ORDER BY month")
-    List<MuseuminfoMonthSaveVO>countMuseumInfoBySaveJoin(@Param("save") Integer save);
+    List<MuseuminfoMonthSaveVO> countMuseumInfoBySaveJoin(@Param("save") Integer save);
 
-    @Select("SELECT"+
-            " DATE_FORMAT(sample_save_time,'%m')AS month,"+
-            " COUNT(*) AS count "+
-            " FROM museum_info "+
-            " WHERE deleted =0 AND save =1"+
-            " GROUP BY DATE_FORMAT(sample_save_time,'%m')"+
+    /**
+     * 标本出库状态计数
+     */
+    @Select("SELECT" +
+            " DATE_FORMAT(sample_save_time,'%m')AS month," +
+            " COUNT(*) AS count " +
+            " FROM museum_info " +
+            " WHERE deleted =0 AND save =1" +
+            " GROUP BY DATE_FORMAT(sample_save_time,'%m')" +
             " ORDER BY month")
-    List<MuseuminfoMonthSaveVO>countMuseumInfoBySaveOut(@Param("save") Integer save);
+    List<MuseuminfoMonthSaveVO> countMuseumInfoBySaveOut(@Param("save") Integer save);
 
     /**
      * 标本来源计数(年)
-     * */
+     */
 //    @Select("SELECT COUNT(*)  FROM museum_info  WHERE origin =#{origin} AND deleted =0 AND sample_save_time >=2025-02")
 //    Integer countMuseumInfoByOrigin (@Param("origin") Integer origin);
     @Select("SELECT origin,DATE_FORMAT(sample_save_time,'%Y')AS year ,COUNT(*)AS count  FROM museum_info WHERE deleted =0 AND save =1 GROUP BY origin,DATE_FORMAT(sample_save_time,'%Y')")
@@ -98,17 +88,22 @@ public interface MuseumInfoMapper extends BaseMapperX<MuseumInfoDO> {
 
     /**
      * 分页
-     * */
+     */
+//    default PageResult<MuseumInfoDO> selectPage(MuseumInfoPageReqVO pageReqVO) {
+//        LambdaQueryWrapperX<MuseumInfoDO> queryWrapper = new LambdaQueryWrapperX<>();
+//        queryWrapper.likeIfPresent(MuseumInfoDO::getSampleId, pageReqVO.getSampleId())
+//                .eqIfPresent(MuseumInfoDO::getSampleType, pageReqVO.getSampleType())
+//                .likeIfPresent(MuseumInfoDO::getPlace, pageReqVO.getPlace())
+//                .orderByDesc(MuseumInfoDO::getId);
+//        return selectPage(pageReqVO, queryWrapper);}
+//
     default PageResult<MuseumInfoDO> selectPage(MuseumInfoPageReqVO pageReqVO) {
-        LambdaQueryWrapperX<MuseumInfoDO> queryWrapper = new LambdaQueryWrapperX<>();
-        queryWrapper.likeIfPresent(MuseumInfoDO::getSampleId, pageReqVO.getSampleId())
+        return selectPage(pageReqVO, new LambdaQueryWrapperX<MuseumInfoDO>()
+                .likeIfPresent(MuseumInfoDO::getSampleId, pageReqVO.getSampleId())
                 .eqIfPresent(MuseumInfoDO::getSampleType, pageReqVO.getSampleType())
                 .likeIfPresent(MuseumInfoDO::getPlace, pageReqVO.getPlace())
-                .orderByDesc(MuseumInfoDO::getId);
-        return selectPage(pageReqVO, queryWrapper);
+                .orderByDesc(MuseumInfoDO::getId));
     }
 
 
-
-
-    }
+}

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

@@ -38,4 +38,6 @@ public interface MuseumPictureService {
 
      PageResult<MuseumPictureDO> getPicturePage(PicturePageReqVO pageVO);
 
+//     解压并添加图片
+//     void unzipAndAddToGroup(String groupId, String zipFilePath) throws Exception;
 }

+ 50 - 1
yudao-module-museum/yudao-module-museum-biz/src/main/java/cn/iocoder/yudao/module/museum/service/museumpicture/MuseumPictureServiceImpl.java

@@ -9,8 +9,15 @@ import cn.iocoder.yudao.module.museum.dal.mysql.museumpicture.MuseumPictureMappe
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
-import java.util.Collections;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
 import java.util.List;
+import java.io.IOException;
+import java.util.zip.ZipEntry;
+import java.util.zip.ZipInputStream;
+
+import static cn.hutool.core.util.ZipUtil.unzip;
 
 @Service
 public  class MuseumPictureServiceImpl implements MuseumPictureService {
@@ -65,3 +72,45 @@ public  class MuseumPictureServiceImpl implements MuseumPictureService {
 //    }
 }
 
+//     @Override
+//     public void unzipAndAddToGroup(String groupId, String zipFilePath) throws IOException {
+//    String photoGroupDir = "photos/" + groupId;
+//    File groupDir = new File(photoGroupDir);
+//    if (!groupDir.exists()) {
+//        groupDir.mkdirs();
+//    }
+//
+//    unzip(zipFilePath, photoGroupDir);
+//        }
+
+//    private void unzip(String zipFilePath, String destDir) throws IOException {
+//    byte[] buffer = new byte[1024];
+//    try (
+//            FileInputStream fis = new FileInputStream(zipFilePath);
+//            ZipInputStream zis = new ZipInputStream(fis)
+//    ) {
+//        ZipEntry zipEntry = zis.getNextEntry();
+//        while (zipEntry != null) {
+//            String filePath = destDir + File.separator + zipEntry.getName();
+//            if (!zipEntry.isDirectory()) {
+//                extractFile(zis, buffer, filePath);
+//            } else {
+//                File dir = new File(filePath);
+//                dir.mkdir();
+//            }
+//            zis.closeEntry();
+//            zipEntry = zis.getNextEntry();
+//        }
+//        zis.closeEntry();
+//    }
+//}
+//
+//private void extractFile(ZipInputStream zis, byte[] buffer, String filePath) throws IOException {
+//    try (FileOutputStream fos = new FileOutputStream(filePath)) {
+//        int len;
+//        while ((len = zis.read(buffer)) > 0) {
+//            fos.write(buffer, 0, len);
+//        }
+//    }
+//}
+//}