From 36ad57b0dcf5eb2c995beefa581ab77af9ffa51d Mon Sep 17 00:00:00 2001 From: "@t2652009480" <2652009480@qq.com> Date: Wed, 28 Aug 2024 15:56:34 +0800 Subject: [PATCH] =?UTF-8?q?=E6=95=B0=E5=AD=97=E8=90=A5=E9=94=80=E5=AE=9E?= =?UTF-8?q?=E8=AE=AD=E7=AE=97=E6=B3=95=E7=AC=AC6-2=E8=BD=AE=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../StuDigitalMarketingModelServiceImpl.java | 16 ++++++++++++++-- .../sztzjy/marketing/util/algorithm/Apriori.java | 5 +++++ 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/sztzjy/marketing/service/impl/StuDigitalMarketingModelServiceImpl.java b/src/main/java/com/sztzjy/marketing/service/impl/StuDigitalMarketingModelServiceImpl.java index d525b36..673cf18 100644 --- a/src/main/java/com/sztzjy/marketing/service/impl/StuDigitalMarketingModelServiceImpl.java +++ b/src/main/java/com/sztzjy/marketing/service/impl/StuDigitalMarketingModelServiceImpl.java @@ -342,8 +342,14 @@ public class StuDigitalMarketingModelServiceImpl implements StuDigitalMarketingM }else { //查询导入的表数据 + List stringList=new ArrayList<>(); - List stringList=uploadExcelUserMapper.selectByString(userId,tableName); + stringList=uploadExcelUserMapper.selectByString(userId,tableName); + + //查询默认数据 + if(stringList.isEmpty()){ + stringList=uploadExcelUserMapper.selectByString("999999999",tableName); + } for (String s : stringList) { @@ -401,7 +407,13 @@ public class StuDigitalMarketingModelServiceImpl implements StuDigitalMarketingM String userId = analyzeDataDTO.getUserId(); String tableName = analyzeDataDTO.getTableName(); - List> attributes = stuTableNameMapper.selectBuildTable(fieldList,table,userId,tableName); + List> attributes=new ArrayList<>(); + + attributes = stuTableNameMapper.selectBuildTable(fieldList,table,userId,tableName); + + if(attributes.isEmpty()){ + attributes = stuTableNameMapper.selectBuildTable(fieldList,table,"999999999",tableName); + } for (int i = 0; i < attributes.size(); i++) { diff --git a/src/main/java/com/sztzjy/marketing/util/algorithm/Apriori.java b/src/main/java/com/sztzjy/marketing/util/algorithm/Apriori.java index f229d00..9bb755a 100644 --- a/src/main/java/com/sztzjy/marketing/util/algorithm/Apriori.java +++ b/src/main/java/com/sztzjy/marketing/util/algorithm/Apriori.java @@ -3,12 +3,14 @@ package com.sztzjy.marketing.util.algorithm; import com.alibaba.excel.EasyExcel; import com.alibaba.excel.context.AnalysisContext; import com.alibaba.excel.event.AnalysisEventListener; +import com.sztzjy.marketing.config.exception.handler.ServiceException; import com.sztzjy.marketing.entity.dto.AssociationRulesDTO; import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.Row; import org.apache.poi.ss.usermodel.Sheet; import org.apache.poi.ss.usermodel.Workbook; import org.apache.poi.xssf.usermodel.XSSFWorkbook; +import org.springframework.http.HttpStatus; import org.springframework.web.multipart.MultipartFile; import java.io.BufferedReader; @@ -67,6 +69,9 @@ public class Apriori { //剪枝步:从候选集C中删除小于最小支持度的,并放入频繁集L中 public static void pruning(HashMap, Integer> C,HashMap, Integer> L,double min_support) { + if(min_support==0){ + throw new ServiceException(HttpStatus.ACCEPTED,"最小支持度阀值不能为0"); + } L.clear(); // 根据项目集生成候选集 L.putAll(C);