From 1dc524df5777ea868c1845b5e490299b1a4dda1c Mon Sep 17 00:00:00 2001 From: unknown Date: Tue, 1 Sep 2020 17:37:50 +0800 Subject: [PATCH] 1.增加参数支持 --- src/main/java/com/taover/bazhuayun/analysis/script/goodscollect/GoodsDataFileParser.java | 50 +++++++++++++++++++++++++++++++++++++++++++------- src/main/java/com/taover/bazhuayun/analysis/script/goodscollect/GoodsInfoExcelDataHeader.java | 4 ++-- src/main/java/com/taover/bazhuayun/analysis/script/goodscollect/GoodsInfoRow.java | 46 ++++++++++++++++++++++++++++++++-------------- src/main/java/com/taover/bazhuayun/analysis/script/goodscollect/Main.java | 16 +++++++++------- src/main/java/com/taover/bazhuayun/analysis/script/orderdownload/Main.java | 6 +++--- src/main/java/com/taover/bazhuayun/analysis/util/StringTool.java | 15 +++++++++++++++ src/main/java/com/taover/bazhuayun/analysis/web/controller/ExportCenterController.java | 20 +++++++++++++++++++- src/main/java/com/taover/bazhuayun/analysis/web/service/ExportCenterService.java | 8 +++++++- 8 files changed, 130 insertions(+), 35 deletions(-) diff --git a/src/main/java/com/taover/bazhuayun/analysis/script/goodscollect/GoodsDataFileParser.java b/src/main/java/com/taover/bazhuayun/analysis/script/goodscollect/GoodsDataFileParser.java index 4c16a49..659080f 100644 --- a/src/main/java/com/taover/bazhuayun/analysis/script/goodscollect/GoodsDataFileParser.java +++ b/src/main/java/com/taover/bazhuayun/analysis/script/goodscollect/GoodsDataFileParser.java @@ -9,6 +9,7 @@ import java.util.List; import java.util.Set; import com.taover.bazhuayun.analysis.util.ExcelUtil; +import com.taover.util.UtilString; public class GoodsDataFileParser { private String fileNameIgnorePreffix; @@ -31,10 +32,15 @@ public class GoodsDataFileParser { public void parse(GroupInfoExcelData groupInfoData, File[] listFiles) throws Exception { for(int i=0; i tempHeaderData = data.get(headerRowIndex); + if(this.notBlankDataCount(tempHeaderData) < 3) { + ++headerRowIndex; + continue; + } + header = new GoodsInfoExcelDataHeader(this.goodsNamePatternArr, this.goodsSkuNameParrternArr, tempHeaderData); + if(!header.available()) { + this.logStrBuffer.append("ERROR:没找到商品列或规格列\n"); + return; + } + break; } - for(int j=1; j tempHeaderData) { + if(tempHeaderData == null || tempHeaderData.isEmpty()) { + return 0; + } + int count = 0; + for(int i=0; i getResult() { diff --git a/src/main/java/com/taover/bazhuayun/analysis/script/goodscollect/GoodsInfoExcelDataHeader.java b/src/main/java/com/taover/bazhuayun/analysis/script/goodscollect/GoodsInfoExcelDataHeader.java index 34e271e..8aa6650 100644 --- a/src/main/java/com/taover/bazhuayun/analysis/script/goodscollect/GoodsInfoExcelDataHeader.java +++ b/src/main/java/com/taover/bazhuayun/analysis/script/goodscollect/GoodsInfoExcelDataHeader.java @@ -14,11 +14,11 @@ public class GoodsInfoExcelDataHeader { if(item == null) { continue; } - if(this.goodsNameIndex == null && StringTool.getStartWithStringIndex(item.toString(), goodsNamePattern) != -1) { + if(this.goodsNameIndex == null && StringTool.getStringIndexByPatternContains(item.toString(), goodsNamePattern) != -1) { this.goodsNameIndex = i; continue; } - if(this.goodsSkuNameIndex == null && StringTool.getStartWithStringIndex(item.toString(), goodsSkuNamePattern) != -1) { + if(this.goodsSkuNameIndex == null && StringTool.getStringIndexByPatternContains(item.toString(), goodsSkuNamePattern) != -1) { this.goodsSkuNameIndex = i; continue; } diff --git a/src/main/java/com/taover/bazhuayun/analysis/script/goodscollect/GoodsInfoRow.java b/src/main/java/com/taover/bazhuayun/analysis/script/goodscollect/GoodsInfoRow.java index ad38bcb..8c5b409 100644 --- a/src/main/java/com/taover/bazhuayun/analysis/script/goodscollect/GoodsInfoRow.java +++ b/src/main/java/com/taover/bazhuayun/analysis/script/goodscollect/GoodsInfoRow.java @@ -9,8 +9,9 @@ public class GoodsInfoRow implements Comparable{ private String originGoodsSkuName; private String commonGoodsSkuName; private String senderNickname; + private String fileName; - public GoodsInfoRow(GroupInfoExcelDataRow groupInfo, GoodsInfoExcelDataHeader header, List data) { + public GoodsInfoRow(GroupInfoExcelDataRow groupInfo, GoodsInfoExcelDataHeader header, List data, String fileName) { if(groupInfo != null) { this.groupNickname = groupInfo.getGroupName(); this.senderNickname = groupInfo.getSendNickname(); @@ -20,6 +21,7 @@ public class GoodsInfoRow implements Comparable{ } this.originGoodsName = this.getEmptyStrWhenNull(data, header.getGoodsNameIndex()); this.originGoodsSkuName = this.getEmptyStrWhenNull(data, header.getGoodsSkuNameIndex()); + this.fileName = fileName; } private String getEmptyStrWhenNull(List data, Integer goodsNameIndex) { @@ -37,43 +39,63 @@ public class GoodsInfoRow implements Comparable{ return ""; } } - + public String getOriginGoodsName() { return originGoodsName; } + public void setOriginGoodsName(String originGoodsName) { this.originGoodsName = originGoodsName; } + public String getCommonGoodsName() { return commonGoodsName; } + public void setCommonGoodsName(String commonGoodsName) { this.commonGoodsName = commonGoodsName; } + public String getGroupNickname() { return groupNickname; } - public void setGroupNickname(String groupName) { - this.groupNickname = groupName; + + public void setGroupNickname(String groupNickname) { + this.groupNickname = groupNickname; } + public String getOriginGoodsSkuName() { return originGoodsSkuName; } + public void setOriginGoodsSkuName(String originGoodsSkuName) { this.originGoodsSkuName = originGoodsSkuName; } + public String getCommonGoodsSkuName() { return commonGoodsSkuName; } - public void setCommonGooodsSkuName(String commonSkuName) { - this.commonGoodsSkuName = commonSkuName; + + public void setCommonGoodsSkuName(String commonGoodsSkuName) { + this.commonGoodsSkuName = commonGoodsSkuName; } + public String getSenderNickname() { return senderNickname; } + public void setSenderNickname(String senderNickname) { this.senderNickname = senderNickname; } + + public String getFileName() { + return fileName; + } + + public void setFileName(String fileName) { + this.fileName = fileName; + } + @Override public int hashCode() { final int prime = 31; @@ -115,12 +137,8 @@ public class GoodsInfoRow implements Comparable{ public int compareTo(GoodsInfoRow o) { if(o == null) { return 1; - } - if(this.equals(o)) { - return 0; - }else { - return this.calcDistince(o); - } + } + return this.calcDistince(o); } private int calcDistince(GoodsInfoRow o) { @@ -155,6 +173,6 @@ public class GoodsInfoRow implements Comparable{ goodsSkuNameDistince = this.originGoodsSkuName.hashCode()-o.originGoodsSkuName.hashCode(); } - return (int)(1.0*groupDistince/Integer.MAX_VALUE*1000)+(int)(1.0*goodsNameDistince/Integer.MAX_VALUE*100)+(int)(1.0*goodsSkuNameDistince/Integer.MAX_VALUE*10); - } + return (int)(1.0*groupDistince/Integer.MAX_VALUE*1000+groupDistince==0?0:1000)+(int)(1.0*goodsNameDistince/Integer.MAX_VALUE*100+goodsNameDistince==0?0:100)+(int)(1.0*goodsSkuNameDistince/Integer.MAX_VALUE*10+goodsSkuNameDistince==0?0:10); + } } diff --git a/src/main/java/com/taover/bazhuayun/analysis/script/goodscollect/Main.java b/src/main/java/com/taover/bazhuayun/analysis/script/goodscollect/Main.java index bfdfcc0..8732f9f 100644 --- a/src/main/java/com/taover/bazhuayun/analysis/script/goodscollect/Main.java +++ b/src/main/java/com/taover/bazhuayun/analysis/script/goodscollect/Main.java @@ -19,13 +19,13 @@ public class Main { } public static void analysisGoodsName() throws Exception { - String[] goodsNamePatternArr = new String[]{"商品名称","商品标题","货品名称","商品名称","商品信息","品名","商品名","商品简称","产品名称","物品名称","货品摘要","发货信息"}; + String[] goodsNamePatternArr = new String[]{"商品名称","商品标题","货品名称","商品名称","商品信息","品名","商品名","商品简称","产品名称","物品名称","货品摘要","发货信息","商家SPU编码"}; String[] goodsSkuNameParrternArr = new String[]{"商品规格名","规格","商品规格","规格名称","商品型号"}; - String dataDirPath = "C:\\Users\\Administrator\\Desktop\\悟空家21-25"; - String groupInfoFilePath = dataDirPath + File.separator + "悟空家-仓库群文件-21-25.xlsx"; - String goodsDataFileDirPath = dataDirPath + File.separator + "data"; - String logFilePath = dataDirPath + File.separator + "dealinfo.log"; - String resultDataFilePath = dataDirPath + File.separator + "result.xls"; + String dataDirPath = "C:\\Users\\Administrator\\Desktop\\悟空家数据\\25-27"; + String groupInfoFilePath = dataDirPath + File.separator + "仓库群文件.xlsx"; + String goodsDataFileDirPath = dataDirPath + File.separator + "订单数据"; + String logFilePath = dataDirPath + File.separator + "异常文件信息.log"; + String resultDataFilePath = dataDirPath + File.separator + "程序商品识别结果.xls"; //加载基础数据,文件来源 GroupInfoExcelData groupInfoData = new GroupInfoExcelData(); @@ -54,10 +54,11 @@ public class Main { header.add("自选规格"); header.add("仓库群名称"); header.add("发文件的人"); + header.add("来源文件"); data.add(header); //加入BODY - for(int i=1; i item = new ArrayList(); item.add(row.getOriginGoodsName()); @@ -66,6 +67,7 @@ public class Main { item.add(row.getCommonGoodsSkuName()); item.add(row.getGroupNickname()); item.add(row.getSenderNickname()); + item.add(row.getFileName()); data.add(item); } diff --git a/src/main/java/com/taover/bazhuayun/analysis/script/orderdownload/Main.java b/src/main/java/com/taover/bazhuayun/analysis/script/orderdownload/Main.java index 6c226a8..5b968b7 100644 --- a/src/main/java/com/taover/bazhuayun/analysis/script/orderdownload/Main.java +++ b/src/main/java/com/taover/bazhuayun/analysis/script/orderdownload/Main.java @@ -14,9 +14,9 @@ public class Main { public static final String ossUrlPreffix = "https://8zyun-oss.oss-cn-beijing.aliyuncs.com"; public static void main(String[] args) throws Exception { - String dirPath = "C:\\Users\\Administrator\\Desktop\\悟空家21-25"; - String urlFileName = "悟空家-仓库群文件-21-25.xlsx"; - String dataDirName = "data"; + String dirPath = "C:\\Users\\Administrator\\Desktop\\悟空家数据\\25-27"; + String urlFileName = "仓库群文件.xlsx"; + String dataDirName = "订单数据"; List> fieldData = ExcelUtil.readExcelSheet(new File(dirPath+File.separator+urlFileName), false); ExcelParser parser = new ExcelAnnoParser(); diff --git a/src/main/java/com/taover/bazhuayun/analysis/util/StringTool.java b/src/main/java/com/taover/bazhuayun/analysis/util/StringTool.java index c2e979b..afc9141 100644 --- a/src/main/java/com/taover/bazhuayun/analysis/util/StringTool.java +++ b/src/main/java/com/taover/bazhuayun/analysis/util/StringTool.java @@ -127,6 +127,21 @@ public class StringTool { return result; } + public static int getStringIndexByPatternContains(String pattern, String compares[]){ + //参数检验 + if(pattern==null || compares==null){ + return -1; + } + + //循环遍历compares + for(int i=0; i> groupData = this.jdbcTemplate.queryForList(wareGroupQuery); //依据群id,获取数据列表 -- libgit2 0.21.2