Ver Fonte

修改bug

邵洋 há 1 ano atrás
pai
commit
13b2b24370

+ 2 - 0
.gitignore

@@ -2,12 +2,14 @@
 # .gitignore
 # Bytecode files
 *.class
+target
 
 # IntelliJ IDEA
 .idea/
 *.iml
 *.iws
 *.ipr
+target/
 
 # Eclipse
 .classpath

+ 12 - 1
zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmEnterpriseTrademarkInformationController.java

@@ -1,6 +1,9 @@
 package com.zksy.web.controller.basicData;
 
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.zksy.common.annotation.Log;
 import com.zksy.common.core.controller.BaseController;
@@ -8,6 +11,8 @@ import com.zksy.common.core.domain.AjaxResult;
 import com.zksy.common.enums.BusinessType;
 import com.zksy.common.utils.file.ExcelUtils;
 import com.zksy.system.basicData.domain.CrmEnterpriseTrademarkInformation;
+import com.zksy.system.basicData.domain.CrmFile;
+import com.zksy.system.basicData.mapper.CrmEnterpriseTrademarkInformationMapper;
 import com.zksy.system.basicData.service.impl.CrmEnterpriseTrademarkInformationServiceImpl;
 import com.zksy.utils.DowntemplateUtil;
 import com.zksy.utils.SearchUtil;
@@ -25,6 +30,7 @@ import java.net.MalformedURLException;
 import java.net.URL;
 import java.net.UnknownHostException;
 import java.util.List;
+import java.util.stream.Collectors;
 
 /**
  * 企业商标信息Controller
@@ -153,7 +159,12 @@ public class CrmEnterpriseTrademarkInformationController extends BaseController
     @DeleteMapping("/deleteAll")
     @ApiOperation(value = "清除数据", notes = "清除数据")
     public AjaxResult deleteAll(){
-        return service.deleteAll();
+        QueryWrapper<CrmEnterpriseTrademarkInformation> wrapper = new QueryWrapper<>();
+        wrapper.select("id");
+        CrmEnterpriseTrademarkInformationMapper baseMapper = service.getBaseMapper();
+        List<CrmEnterpriseTrademarkInformation> list = baseMapper.selectList(wrapper);
+        List<String> ids = list.stream().map(q -> String.valueOf(q.getId())).collect(Collectors.toList());
+        return service.removeFileById(ids,localFileServerMappingPath,localFileServerUploadDir);
     }
     @PostMapping("/getUploadTemplate")
     @ApiOperation(value = "获取上传模板", notes = "获取上传模板")

+ 5 - 2
zksy-admin/src/main/java/com/zksy/web/core/config/SwaggerConfig.java

@@ -1,10 +1,12 @@
 package com.zksy.web.core.config;
 
+import com.github.xiaoymin.swaggerbootstrapui.annotations.EnableSwaggerBootstrapUI;
 import com.google.common.base.Predicate;
 import com.google.common.base.Predicates;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
 import springfox.documentation.RequestHandler;
 import springfox.documentation.builders.ApiInfoBuilder;
 import springfox.documentation.builders.ParameterBuilder;
@@ -15,6 +17,7 @@ import springfox.documentation.service.ApiInfo;
 import springfox.documentation.service.Parameter;
 import springfox.documentation.spi.DocumentationType;
 import springfox.documentation.spring.web.plugins.Docket;
+import springfox.documentation.swagger2.annotations.EnableSwagger2;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -24,9 +27,9 @@ import java.util.List;
  *
  * @author ruoyi
  */
-/*@EnableSwagger2
+@EnableSwagger2
 @Configuration
-@EnableSwaggerBootstrapUI*/
+@EnableSwaggerBootstrapUI
 public class SwaggerConfig {
     /**
      * 系统基础配置

+ 4 - 2
zksy-admin/src/main/java/com/zksy/zksyApplication.java

@@ -6,9 +6,11 @@ import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
 import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
 import org.springframework.context.ConfigurableApplicationContext;
+import org.springframework.core.env.Environment;
 import org.springframework.scheduling.annotation.EnableScheduling;
 import org.springframework.transaction.annotation.EnableTransactionManagement;
 
+import java.net.InetAddress;
 import java.net.UnknownHostException;
 
 /**
@@ -23,7 +25,7 @@ public class zksyApplication {
     private static Logger log = LoggerFactory.getLogger(zksyApplication.class);
     public static void main(String[] args) throws UnknownHostException {
         ConfigurableApplicationContext applicationContext = SpringApplication.run(zksyApplication.class, args);
-        /*Environment environment = applicationContext.getEnvironment();
+        Environment environment = applicationContext.getEnvironment();
         String ip = InetAddress.getLocalHost().getHostAddress();
         String port = environment.getProperty("server.port");
         String path = environment.getProperty("server.context-path");
@@ -35,7 +37,7 @@ public class zksyApplication {
                 "swagger-ui: \thttp://" + ip + ":" + port + path + "/swagger-ui.html\n\t" +
                 "code-create: \thttp://" + ip + ":" + port + path + "/gencode.html\n\t" +
                 "doc.html: \thttp://" + ip + ":" + port + path + "/doc.html\n\t" +
-                "--------------------------------------------------------------");*/
+                "--------------------------------------------------------------");
         // System.setProperty("spring.devtools.restart.enabled", "false");
         System.out.println("=============系统启动成功================\n");
     }

+ 2 - 2
zksy-framework/src/main/java/com/zksy/framework/config/SecurityConfig.java

@@ -146,9 +146,9 @@ public class SecurityConfig extends WebSecurityConfigurerAdapter {
                 .antMatchers("/system/dict/data/selectSysDictDataAll").anonymous()
                 .antMatchers("/system/dept/list4H5").anonymous()
                 .antMatchers("/system/dict/data/type4H5/**").anonymous()
-                .antMatchers("/swagger-resources/**").anonymous()
+                //.antMatchers("/swagger-resources/**").anonymous()
                 .antMatchers("/webjars/**").anonymous()
-                //.antMatchers("/*/api-docs").anonymous()
+                .antMatchers("/*/api-docs").anonymous()
                 .antMatchers("/druid/**").anonymous()
                 .antMatchers("/dev-api/**").anonymous()
                 .antMatchers("/tool/swagger/**").anonymous()

+ 46 - 28
zksy-system/src/main/java/com/zksy/system/basicData/service/impl/CrmEnterpriseTrademarkInformationServiceImpl.java

@@ -17,6 +17,10 @@ import org.springframework.transaction.annotation.Transactional;
 import javax.annotation.Resource;
 import java.io.File;
 import java.util.List;
+import java.util.concurrent.Executors;
+import java.util.concurrent.Future;
+import java.util.concurrent.ThreadPoolExecutor;
+import java.util.stream.Collectors;
 
 /**
  * 企业商标信息Service业务层处理
@@ -35,37 +39,51 @@ public class CrmEnterpriseTrademarkInformationServiceImpl extends ServiceImpl<Cr
 
     @Override
     public AjaxResult removeFileById(List<String> ids,String localFileServerMappingPath,String localFileServerUploadDir) {
-        List<CrmEnterpriseTrademarkInformation> crmEnterpriseTrademarkInformation = mapper.selectBatchIds(ids);
-        for(CrmEnterpriseTrademarkInformation entity : crmEnterpriseTrademarkInformation){
-            String image = entity.getTrademarkImage();
-            if (!"".equals(image)){
-                int index = image.indexOf(localFileServerMappingPath);
-                // 如果子串存在,则提取其后面的部分
-                if (index != -1) {
-                    // 提取从子串之后开始直到字符串末尾的部分
-                    String fileName = image.substring(index + localFileServerMappingPath.length());
-                    String filePath = localFileServerUploadDir + fileName;
-                    File file = new File(filePath);
-                    if (file.exists()) {
-                        boolean isDeleted = file.delete();
-                        if (isDeleted) {
-                            //删除文件数据库数据信息
-                            QueryWrapper<CrmFile> queryWrapper =new QueryWrapper<>();
-                            queryWrapper.eq("fid",entity.getId());
-                            BaseMapper<CrmFile> baseMapper = crmFileService.getBaseMapper();
-                            baseMapper.delete(queryWrapper);
-                        } else {
-                            return AjaxResult.error("无法删除该文件");
-                        }
-                    } else {
-                        return AjaxResult.error("指定的文件不存在");
+        List<CrmEnterpriseTrademarkInformation> crmEnterpriseTrademarkInformationList = mapper.selectBatchIds(ids);
+
+        // 收集所有需要删除的文件路径
+        List<String> filePathsToDelete = crmEnterpriseTrademarkInformationList.stream()
+                .filter(entity -> !"".equals(entity.getTrademarkImage()))
+                .map(entity -> {
+                    String image = entity.getTrademarkImage();
+                    int index = image.indexOf(localFileServerMappingPath);
+                    if (index == -1) {
+                        throw new RuntimeException("文件路径解析异常");
                     }
-                } else {
-                    return AjaxResult.error("文件路径解析异常");
+                    return localFileServerUploadDir + image.substring(index + localFileServerMappingPath.length());
+                })
+                .collect(Collectors.toList());
+
+        // 使用线程池异步删除文件
+        ThreadPoolExecutor executor = (ThreadPoolExecutor) Executors.newFixedThreadPool(10); // 根据实际情况调整线程数
+        List<Future<Boolean>> futures = filePathsToDelete.stream()
+                .map(filePath -> executor.submit(() -> {
+                    File file = new File(filePath);
+                    return file.exists() && file.delete();
+                }))
+                .collect(Collectors.toList());
+        // 等待所有文件删除完成
+        try {
+            futures.forEach(future -> {
+                try {
+                    future.get(); // 阻塞等待文件删除完成
+                } catch (Exception e) {
+                    throw new RuntimeException("文件删除失败", e);
                 }
-            }
-            mapper.deleteBatchIds(ids);
+            });
+        } catch (Exception e) {
+            return AjaxResult.error("文件删除失败");
         }
+
+        // 删除数据库记录
+        QueryWrapper<CrmFile> queryWrapper = new QueryWrapper<>();
+        queryWrapper.in("fid", ids);
+        BaseMapper<CrmFile> baseMapper = crmFileService.getBaseMapper();
+        baseMapper.delete(queryWrapper);
+
+        // 删除商标信息
+        mapper.deleteBatchIds(ids);
+
         return AjaxResult.success("文件已成功删除");
     }
 

+ 6 - 6
zksy-system/src/main/resources/mapper/basicData/CrmHighTechZoneEnterprisesMapper.xml

@@ -518,7 +518,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         CASE
 
         WHEN cte.end_date > NOW() THEN
-        3 -- 若记录存在且在有效期内
+        2 -- 若记录存在且在有效期内
         ELSE 0 -- 否则
 
         END AS highTechEnterpriseScore,
@@ -614,7 +614,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         (
         SELECT
         LEAST(
-        2,
+        3,
         SUM(
         CASE
 
@@ -633,7 +633,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         gh.unified_social_credit_code = e.unified_social_credit_code
         AND gh.publish_year >= DATE_SUB( CURDATE(), INTERVAL 3 YEAR )
         ),
-        2
+        3
         ) AS governmentHonorBonus,
         COALESCE (
         (
@@ -747,7 +747,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         CASE
 
         WHEN cte.end_date > NOW() THEN
-        3 -- 若记录存在且在有效期内
+        2 -- 若记录存在且在有效期内
         ELSE 0 -- 否则
 
         END + COALESCE (
@@ -832,7 +832,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         (
         SELECT
         LEAST(
-        2,
+        3,
         SUM(
         CASE
 
@@ -851,7 +851,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         gh.unified_social_credit_code = e.unified_social_credit_code
         AND gh.publish_year >= DATE_SUB( CURDATE(), INTERVAL 3 YEAR )
         ),
-        2
+        3
         ) + COALESCE (
         (
         SELECT