From 34ac7ab3b70d502bf9a2a14e8d4eec55f0014439 Mon Sep 17 00:00:00 2001 From: unknown Date: Tue, 25 Aug 2020 20:16:46 +0800 Subject: [PATCH] dir move --- resources/application-local.properties | 139 ------------------------------------------------------------------------------------------------------------------------------------------- resources/application-production.properties | 74 -------------------------------------------------------------------------- resources/application.properties | 2 -- resources/logback-local.xml | 14 -------------- resources/logback-production.xml | 59 ----------------------------------------------------------- src/com/taover/bazhuayun/analysis/script/goodscollect/GoodsDataFileParser.java | 68 -------------------------------------------------------------------- src/com/taover/bazhuayun/analysis/script/goodscollect/GoodsInfoExcelDataHeader.java | 40 ---------------------------------------- src/com/taover/bazhuayun/analysis/script/goodscollect/GoodsInfoRow.java | 160 ---------------------------------------------------------------------------------------------------------------------------------------------------------------- src/com/taover/bazhuayun/analysis/script/goodscollect/GroupInfoExcelData.java | 40 ---------------------------------------- src/com/taover/bazhuayun/analysis/script/goodscollect/GroupInfoExcelDataHeader.java | 65 ----------------------------------------------------------------- src/com/taover/bazhuayun/analysis/script/goodscollect/GroupInfoExcelDataRow.java | 67 ------------------------------------------------------------------- src/com/taover/bazhuayun/analysis/script/goodscollect/Main.java | 74 -------------------------------------------------------------------------- src/com/taover/bazhuayun/analysis/script/goodscollect/WindowMain.java | 56 -------------------------------------------------------- src/com/taover/bazhuayun/analysis/script/orderdownload/Main.java | 11 ----------- src/com/taover/bazhuayun/analysis/util/ExcelUtil.java | 146 -------------------------------------------------------------------------------------------------------------------------------------------------- src/com/taover/bazhuayun/analysis/util/FileContentTypeUtils.java | 83 ----------------------------------------------------------------------------------- src/com/taover/bazhuayun/analysis/util/StringTool.java | 193 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- src/com/taover/bazhuayun/analysis/web/StartUp.java | 13 ------------- src/com/taover/bazhuayun/analysis/web/controller/ExportCenterController.java | 81 --------------------------------------------------------------------------------- src/com/taover/bazhuayun/analysis/web/service/ExportCenterService.java | 72 ------------------------------------------------------------------------ src/main/java/com/taover/bazhuayun/analysis/script/goodscollect/GoodsDataFileParser.java | 68 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/main/java/com/taover/bazhuayun/analysis/script/goodscollect/GoodsInfoExcelDataHeader.java | 40 ++++++++++++++++++++++++++++++++++++++++ src/main/java/com/taover/bazhuayun/analysis/script/goodscollect/GoodsInfoRow.java | 160 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/main/java/com/taover/bazhuayun/analysis/script/goodscollect/GroupInfoExcelData.java | 40 ++++++++++++++++++++++++++++++++++++++++ src/main/java/com/taover/bazhuayun/analysis/script/goodscollect/GroupInfoExcelDataHeader.java | 65 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/main/java/com/taover/bazhuayun/analysis/script/goodscollect/GroupInfoExcelDataRow.java | 67 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/main/java/com/taover/bazhuayun/analysis/script/goodscollect/Main.java | 74 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/main/java/com/taover/bazhuayun/analysis/script/goodscollect/WindowMain.java | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/main/java/com/taover/bazhuayun/analysis/script/orderdownload/Main.java | 11 +++++++++++ src/main/java/com/taover/bazhuayun/analysis/util/ExcelUtil.java | 146 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/main/java/com/taover/bazhuayun/analysis/util/FileContentTypeUtils.java | 83 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/main/java/com/taover/bazhuayun/analysis/util/StringTool.java | 193 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/main/java/com/taover/bazhuayun/analysis/web/StartUp.java | 13 +++++++++++++ src/main/java/com/taover/bazhuayun/analysis/web/controller/ExportCenterController.java | 81 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/main/java/com/taover/bazhuayun/analysis/web/service/ExportCenterService.java | 72 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/main/resources/application-local.properties | 139 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/main/resources/application-production.properties | 74 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/main/resources/application.properties | 2 ++ src/main/resources/logback-local.xml | 14 ++++++++++++++ src/main/resources/logback-production.xml | 59 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 40 files changed, 1457 insertions(+), 1457 deletions(-) delete mode 100644 resources/application-local.properties delete mode 100644 resources/application-production.properties delete mode 100644 resources/application.properties delete mode 100644 resources/logback-local.xml delete mode 100644 resources/logback-production.xml delete mode 100644 src/com/taover/bazhuayun/analysis/script/goodscollect/GoodsDataFileParser.java delete mode 100644 src/com/taover/bazhuayun/analysis/script/goodscollect/GoodsInfoExcelDataHeader.java delete mode 100644 src/com/taover/bazhuayun/analysis/script/goodscollect/GoodsInfoRow.java delete mode 100644 src/com/taover/bazhuayun/analysis/script/goodscollect/GroupInfoExcelData.java delete mode 100644 src/com/taover/bazhuayun/analysis/script/goodscollect/GroupInfoExcelDataHeader.java delete mode 100644 src/com/taover/bazhuayun/analysis/script/goodscollect/GroupInfoExcelDataRow.java delete mode 100644 src/com/taover/bazhuayun/analysis/script/goodscollect/Main.java delete mode 100644 src/com/taover/bazhuayun/analysis/script/goodscollect/WindowMain.java delete mode 100644 src/com/taover/bazhuayun/analysis/script/orderdownload/Main.java delete mode 100644 src/com/taover/bazhuayun/analysis/util/ExcelUtil.java delete mode 100644 src/com/taover/bazhuayun/analysis/util/FileContentTypeUtils.java delete mode 100644 src/com/taover/bazhuayun/analysis/util/StringTool.java delete mode 100644 src/com/taover/bazhuayun/analysis/web/StartUp.java delete mode 100644 src/com/taover/bazhuayun/analysis/web/controller/ExportCenterController.java delete mode 100644 src/com/taover/bazhuayun/analysis/web/service/ExportCenterService.java create mode 100644 src/main/java/com/taover/bazhuayun/analysis/script/goodscollect/GoodsDataFileParser.java create mode 100644 src/main/java/com/taover/bazhuayun/analysis/script/goodscollect/GoodsInfoExcelDataHeader.java create mode 100644 src/main/java/com/taover/bazhuayun/analysis/script/goodscollect/GoodsInfoRow.java create mode 100644 src/main/java/com/taover/bazhuayun/analysis/script/goodscollect/GroupInfoExcelData.java create mode 100644 src/main/java/com/taover/bazhuayun/analysis/script/goodscollect/GroupInfoExcelDataHeader.java create mode 100644 src/main/java/com/taover/bazhuayun/analysis/script/goodscollect/GroupInfoExcelDataRow.java create mode 100644 src/main/java/com/taover/bazhuayun/analysis/script/goodscollect/Main.java create mode 100644 src/main/java/com/taover/bazhuayun/analysis/script/goodscollect/WindowMain.java create mode 100644 src/main/java/com/taover/bazhuayun/analysis/script/orderdownload/Main.java create mode 100644 src/main/java/com/taover/bazhuayun/analysis/util/ExcelUtil.java create mode 100644 src/main/java/com/taover/bazhuayun/analysis/util/FileContentTypeUtils.java create mode 100644 src/main/java/com/taover/bazhuayun/analysis/util/StringTool.java create mode 100644 src/main/java/com/taover/bazhuayun/analysis/web/StartUp.java create mode 100644 src/main/java/com/taover/bazhuayun/analysis/web/controller/ExportCenterController.java create mode 100644 src/main/java/com/taover/bazhuayun/analysis/web/service/ExportCenterService.java create mode 100644 src/main/resources/application-local.properties create mode 100644 src/main/resources/application-production.properties create mode 100644 src/main/resources/application.properties create mode 100644 src/main/resources/logback-local.xml create mode 100644 src/main/resources/logback-production.xml diff --git a/resources/application-local.properties b/resources/application-local.properties deleted file mode 100644 index e47c289..0000000 --- a/resources/application-local.properties +++ /dev/null @@ -1,139 +0,0 @@ - -server.port=80 -server.session.timeout=10 - -spring.servlet.multipart.max-file-size=10MB -spring.servlet.multipart.max-request-size=20MB - -spring.jackson.time-zone=GMT+8 -spring.jackson.date-format=yyyy-MM-dd HH:mm:ss -spring.mvc.dateFormat = yyyy-MM-dd HH:mm:ss -spring.gson.serialize-nulls=true - -tokenfilter.enable=false - -logging.config=classpath:logback-local.xml - - -mail.host=smtp.taover.com -mail.port=25 -mail.username=taover-robot@taover.com -mail.password=Lexi@1798 -mail.smtp.auth=true -mail.smtp.sendFrom=taover-robot@taover.com - -spring.mvc.dispatch-options-request=true - -#spring.datasource.url=jdbc\:mysql\://192.168.3.189\:3306/8zyun_wxorder?useUnicode\=true&characterEncoding\=UTF-8&autoReconnect\=true&zeroDateTimeBehavior\=convertToNull&transformedBitIsBoolean\=true -#spring.datasource.username=root -#spring.datasource.password=root - - -spring.datasource.url=jdbc\:mysql\://121.42.142.102\:3306/bzyun_wxorder?useUnicode\=true&characterEncoding\=UTF-8&autoReconnect\=true&zeroDateTimeBehavior\=convertToNull&transformedBitIsBoolean\=true -spring.datasource.username=dev -spring.datasource.password=taover02 -spring.datasource.driver-class-name=com.mysql.jdbc.Driver -spring.datasource.max-idle=10 -spring.datasource.max-wait=10000 -spring.datasource.min-idle=5 -spring.datasource.initial-size=5 - -#zto analysis address url -#zto.analysisAddress.url=https://localhost/Word_AnalysisAddress -zto.analysisAddress.url=https://hdgateway.zto.com/Word_AnalysisAddress -#taover analysis address url -taover.analysisAddress.url=http://address.taover.com/ -#kuaibao -kuaibao.analysisAddress.url=https://kop.kuaidihelp.com/api -kuaibao.analysisAddress.appId=105128 -kuaibao.analysisAddress.appKey=3310236ba4d6296e6e2346a7d9c824662510ff87 -kuaibao.analysisAddress.method=cloud.address.resolve -kuaibao.analysisAddress.methodSimple=cloud.address.cleanse - -#aliyun oss -accessKeyId=H4fIVB56iHjR6zQw -accessKeySecret=7bA395UltFp16kWPJT7Pfz0XYXCk4Q -endpoint=oss-cn-beijing.aliyuncs.com -bucket_contact=8zyun-oss -aliyun.mnsEndpoint=http://1225610490807748.mns.cn-hangzhou.aliyuncs.com -#https://8zyun-oss.oss-cn-beijing.aliyuncs.com -#mobile message url -wwltData=sname=dlmzty00&spwd=A6cU4Tyx&scorpid=&sprdid=1012888 -wwltUrl=https://seccf.51welink.com/submitdata/service.asmx/g_Submit - -#root ssy callcenter api config -ssy.callcenter.appid=c2MkSTjT8ghM -ssy.callcenter.seckey=7105ec065b8bb30fa6e3f13fccf92d0f - -pc.callcenter.appid=c2MkSTjT8ghZ -pc.callcenter.seckey=7105ec065b8bb30fa6e3f13fccf92d0G - -ssy.callcenter.subscribePreffixUrl=http://localhost/api/ -ssy.callcenter.subscribeSuffixUrl=/wxagentssymessagesubscribe - - -ssy.callcenter.url.openapiSurrogacyAgent=/api/v2/openapi/surrogacy/agent -ssy.callcenter.url.openapiSurrogacyQuerycontacts=/api/v2/openapi/surrogacy/querycontacts -ssy.callcenter.url.openapiSurrogacySendmessage=/api/v2/openapi/surrogacy/sendmessage -ssy.callcenter.url.openapiSurrogacyRegisteropenapi=/api/v2/openapi/surrogacy/registeropenapi -ssy.callcenter.url.openapiSurrogacyUnregisteropenapi=/api/v2/openapi/surrogacy/unregisteropenapi -ssy.callcenter.url.openapiCallcenterapibridgeService=/api/v2/openapi/callcenterapibridge/service -ssy.callcenter.url.openapiCallGroupMember=/api/v2/openapi/surrogacy/querygroupmember - - - - -ssy.upload.url=https://ssep.umsapi.com/api/v1/upload - -ssy.callcenter.sendMessage.preffixUrl=https://ssep.umsapi.com - -#weixin group text order confirm url -wxorder.url.grouptextorder.confirm=http://localhost:8100/confirm/ -wxorder.url.express.search=http://localhost:8100/confirm/query-logistics/ - -#ssy file server domain -ssy.fileserver.urlpreffix=https://ss0.umsapi.com - -wxorder.front.url.host=http://localhost:8100 - -platform.shop.registerUrl=http://localhost/common/authorization/index - -wxorder.platformgoods.matchurl=http://localhost/goods/channelgoods -wxorder.platformgoods.errororderurl=https://localhost/ordererror/index -wxorder.url.excellist=http://localhost/groupexcel/index - -#pc api -pc.callcenter.url.openapiSurrogacyRegisteropenapi=http://192.168.3.236:18308/v1/agent -pc.callcenter.url.openapiSurrogacyQuerycontacts=http://192.168.3.236:18308/v1/contacts/ -pc.callcenter.url.openapiCallGroupMember=http://192.168.3.236:18308/v1/contact/group_members/ -pc.callcenter.url.openapiSurrogacyAgent=http://192.168.3.236:18308/v1/agent -pc.callcenter.url.openapiSurrogacySendmessage=http://192.168.3.236:18308/v1/message_task -pc.callcenter.subscribeUrl=http://192.168.3.146/api/wxagentpcmessagesubscribe -pc.callcenter.url.sendMessageQueueName=oms-pc-msg -pc.callcenter.url.openapiContactsFeaturesgroup=http://192.168.3.236:18308/v1/contacts/ - -pc.message.url.messageTaskListUrl=http://192.168.3.236:18308/v1/message_task_list -pc.message.url.agentMessageTask=http://192.168.3.236:18308/v1/agent_message_task - -#cainiao param -cainiao.link.url=http://link.cainiao.com/gateway/link.do -cainiao.link.paramFormat=json -cainiao.link.appKey=650167 -cainiao.link.secretKey=lDO6y26nBJ6b5K96lnA1an447H1L0XK3 -cainiao.link.auth.grantpage=http://lcp.cloud.cainiao.com/permission/isv/grantpage.do -cainiao.link.auth.tokenUrl=http://lcp.cloud.cainiao.com/api/permission/exchangeToken.do -cainiao.link.auth.callbackUrl=https://api.oms.8zyun.cn/api/expressprint/auth/cainiao - -#fa wang -fineex.method.addOrder=fineex.wms.trades.add -fineex.method.cancelOrder=fineex.wms.trade.cancel -fineex.method.orderProcess=fineex.wms.trade.orderprocess.get -fineex.apiAddress=http://apicloud.fineex.net/Interface/InterfaceWeb/InterfaceFwWMS.ashx -fineex.method.goodsInventory=fineex.wms.product.inventory.get -fineex.method.orderConfirm=fineex.wms.trade.orderdetail.confirm -fineex.method.returnorderAdd=fineex.wms.trade.returnorder.add - - -qimen.api.appKey=30303007 -qimen.api.appSecret=80c63d1d8cf36a4c68b2df25fb93f703 -qimen.api.url=https://qimen.api.taobao.com/router/qmtest diff --git a/resources/application-production.properties b/resources/application-production.properties deleted file mode 100644 index 59dd423..0000000 --- a/resources/application-production.properties +++ /dev/null @@ -1,74 +0,0 @@ - -server.port=8200 -server.session.timeout=10 -server.connection-timeout=120000 - -spring.servlet.multipart.max-file-size=10MB -spring.servlet.multipart.max-request-size=20MB - -spring.jackson.time-zone=GMT+8 -spring.jackson.date-format=yyyy-MM-dd HH:mm:ss -spring.mvc.dateFormat = yyyy-MM-dd HH:mm:ss -spring.gson.serialize-nulls=true - -#email config -mail.host=smtp.taover.com -mail.port=25 -mail.username=taover-robot@taover.com -mail.password=Lexi@1798 -mail.smtp.auth=true -mail.smtp.sendFrom=taover-robot@taover.com - -#logback xml config -logging.config=classpath:logback-production.xml - -#allow http method options -spring.mvc.dispatch-options-request=true -spring.mvc.async.request-timeout=200000 - -#DB info -spring.datasource.url=jdbc:mysql://rdsifmezqifmezqo.mysql.rds.aliyuncs.com:3306/bzyun_wxorder_prd?useUnicode=true&characterEncoding=UTF8&autoReconnect=true&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true -spring.datasource.username=tylife -spring.datasource.password=lexi365 -spring.datasource.driver-class-name=com.mysql.jdbc.Driver -spring.datasource.max-idle=10 -spring.datasource.max-wait=10000 -spring.datasource.min-idle=5 -spring.datasource.initial-size=5 - -#zto analysis address url -zto.analysisAddress.url=https://hdgateway.zto.com/Word_AnalysisAddress -#taover analysis address url -taover.analysisAddress.url=http://address.taover.com/ -#kuaibao -kuaibao.analysisAddress.url=https://kop.kuaidihelp.com/api -kuaibao.analysisAddress.appId=105128 -kuaibao.analysisAddress.appKey=3310236ba4d6296e6e2346a7d9c824662510ff87 -kuaibao.analysisAddress.method=cloud.address.resolve -kuaibao.analysisAddress.methodSimple=cloud.address.cleanse - -#aliyun oss address -accessKeyId=H4fIVB56iHjR6zQw -accessKeySecret=7bA395UltFp16kWPJT7Pfz0XYXCk4Q -endpoint=oss-cn-beijing.aliyuncs.com -bucket_contact=8zyun-oss -aliyun.mnsEndpoint=http://1225610490807748.mns.cn-hangzhou.aliyuncs.com -#mobile message url -wwltData=sname=dlmzty00&spwd=A6cU4Tyx&scorpid=&sprdid=1012888 -wwltUrl=https://seccf.51welink.com/submitdata/service.asmx/g_Submit - -#pc api -pc.callcenter.url.openapiSurrogacyRegisteropenapi=https://ws.8zyun.cn:8080/v1/agent -pc.callcenter.url.openapiSurrogacyQuerycontacts=https://ws.8zyun.cn:8080/v1/contacts/ -pc.callcenter.url.openapiCallGroupMember=https://ws.8zyun.cn:8080/v1/contact/group_members/ -pc.callcenter.url.openapiSurrogacyAgent=https://ws.8zyun.cn:8080/v1/agent -pc.callcenter.url.openapiSurrogacySendmessage=https://ws.8zyun.cn:8080/v1/message_task -pc.callcenter.url.openapiContactsFeaturesgroup=https://ws.8zyun.cn:8080/v1/contactsMessageCount - -pc.callcenter.appid=c2MkSTjT8ghZ -pc.callcenter.seckey=7105ec065b8bb30fa6e3f13fccf92d0G -pc.callcenter.subscribeUrl=https://api.oms.8zyun.cn/api/wxagentpcmessagesubscribe -pc.callcenter.url.sendMessageQueueName=oms-pc-msg-production - -pc.message.url.messageTaskListUrl=https://ws.8zyun.cn:8080/v1/message_task_list -pc.message.url.agentMessageTask=https://ws.8zyun.cn:8080/v1/agent_message_task diff --git a/resources/application.properties b/resources/application.properties deleted file mode 100644 index 2ff6bc9..0000000 --- a/resources/application.properties +++ /dev/null @@ -1,2 +0,0 @@ -#RUNTIME_ENV=local development production -spring.profiles.active=local diff --git a/resources/logback-local.xml b/resources/logback-local.xml deleted file mode 100644 index fb1e2ef..0000000 --- a/resources/logback-local.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - encoders are assigned the type - ch.qos.logback.classic.encoder.PatternLayoutEncoder by default - - %date{yyyy-MM-dd HH:mm:ss.SSS} %-5level[%thread]%logger{56}.%method:%L -%msg %n - - - - - - - diff --git a/resources/logback-production.xml b/resources/logback-production.xml deleted file mode 100644 index 42cf975..0000000 --- a/resources/logback-production.xml +++ /dev/null @@ -1,59 +0,0 @@ - - - - - - %date{yyyy-MM-dd HH:mm:ss.SSS} %-5level[%thread]%logger{56}.%method:%L -%msg %n - - - - - smtp.taover.com - 465 - true - taover-robot@taover.com - Lexi@1798 - - taover-robot@taover.com - wangbin@taover.com - gaoming@taover.com - liuyunpeng@taover.com - 八爪云-data-analysis/ERROR:%logger{20} - - - - ERROR - ACCEPT - DENY - - - - 3 - - - - - logback-rolling.log - - - logback-roll-%d{yyyy-MM-dd}.%i.log - - 100MB - 60 - 5GB - - - %date{yyyy-MM-dd HH:mm:ss.SSS} %-5level[%thread]%logger{56}.%method:%L -%msg %n - - - - - - - - - - - - - diff --git a/src/com/taover/bazhuayun/analysis/script/goodscollect/GoodsDataFileParser.java b/src/com/taover/bazhuayun/analysis/script/goodscollect/GoodsDataFileParser.java deleted file mode 100644 index bec9c48..0000000 --- a/src/com/taover/bazhuayun/analysis/script/goodscollect/GoodsDataFileParser.java +++ /dev/null @@ -1,68 +0,0 @@ -package com.taover.bazhuayun.analysis.script.goodscollect; - -import java.io.File; -import java.util.ArrayList; -import java.util.Collections; -import java.util.HashSet; -import java.util.Iterator; -import java.util.List; -import java.util.Set; - -import com.taover.bazhuayun.analysis.util.ExcelUtil; - -public class GoodsDataFileParser { - private String fileNameIgnorePreffix; - private StringBuffer logStrBuffer = new StringBuffer(); - private Set rowSet = new HashSet(); - - private String[] goodsNamePatternArr; - private String[] goodsSkuNameParrternArr; - private GroupInfoExcelData groupInfoData; - - public GoodsDataFileParser(String[] goodsNamePatternArr, String[] goodsSkuNameParrternArr, GroupInfoExcelData groupInfoData) { - this.goodsNamePatternArr = goodsNamePatternArr; - this.goodsSkuNameParrternArr = goodsSkuNameParrternArr; - this.groupInfoData = groupInfoData; - } - - public void setFileNameIgnorePreffix(String preffix) { - this.fileNameIgnorePreffix = preffix; - } - - public void parse(GroupInfoExcelData groupInfoData, File[] listFiles) throws Exception { - for(int i=0; i> data = ExcelUtil.readExcelSheet(item, false); - if(data.isEmpty()) { - continue; - } - - //写入set - GoodsInfoExcelDataHeader header = new GoodsInfoExcelDataHeader(this.goodsNamePatternArr, this.goodsSkuNameParrternArr, data.get(0)); - for(int j=1; j getResult() { - List data = new ArrayList(); - Iterator rowIter = this.rowSet.iterator(); - while(rowIter.hasNext()) { - data.add(rowIter.next()); - } - Collections.sort(data); - return data; - } - - public String getLogString() { - return logStrBuffer.toString(); - } - -} diff --git a/src/com/taover/bazhuayun/analysis/script/goodscollect/GoodsInfoExcelDataHeader.java b/src/com/taover/bazhuayun/analysis/script/goodscollect/GoodsInfoExcelDataHeader.java deleted file mode 100644 index 2a27745..0000000 --- a/src/com/taover/bazhuayun/analysis/script/goodscollect/GoodsInfoExcelDataHeader.java +++ /dev/null @@ -1,40 +0,0 @@ -package com.taover.bazhuayun.analysis.script.goodscollect; - -import java.util.List; - -import com.taover.bazhuayun.analysis.util.StringTool; - -public class GoodsInfoExcelDataHeader { - private Integer goodsNameIndex; - private Integer goodsSkuNameIndex; - - public GoodsInfoExcelDataHeader(String[] goodsNamePattern, String[] goodsSkuNamePattern, List data) { - for(int i=0; i{ - private String originGoodsName; - private String commonGoodsName; - private String groupNickname; - private String originGoodsSkuName; - private String commonGoodsSkuName; - private String senderNickname; - - public GoodsInfoRow(GroupInfoExcelDataRow groupInfo, GoodsInfoExcelDataHeader header, List data) { - if(groupInfo != null) { - this.groupNickname = groupInfo.getGroupName(); - this.senderNickname = groupInfo.getSendNickname(); - }else { - this.groupNickname = ""; - this.senderNickname = ""; - } - this.originGoodsName = this.getEmptyStrWhenNull(data, header.getGoodsNameIndex()); - this.originGoodsSkuName = this.getEmptyStrWhenNull(data, header.getGoodsSkuNameIndex()); - } - - private String getEmptyStrWhenNull(List data, Integer goodsNameIndex) { - if(goodsNameIndex == null) { - return ""; - } - if(data.size() > goodsNameIndex) { - Object temp = data.get(goodsNameIndex); - if(temp == null) { - return ""; - }else { - return temp.toString(); - } - }else { - 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 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 String getSenderNickname() { - return senderNickname; - } - public void setSenderNickname(String senderNickname) { - this.senderNickname = senderNickname; - } - @Override - public int hashCode() { - final int prime = 31; - int result = 1; - result = prime * result + ((groupNickname == null) ? 0 : groupNickname.hashCode()); - result = prime * result + ((originGoodsName == null) ? 0 : originGoodsName.hashCode()); - result = prime * result + ((originGoodsSkuName == null) ? 0 : originGoodsSkuName.hashCode()); - return result; - } - - @Override - public boolean equals(Object obj) { - if (this == obj) - return true; - if (obj == null) - return false; - if (getClass() != obj.getClass()) - return false; - GoodsInfoRow other = (GoodsInfoRow) obj; - if (groupNickname == null) { - if (other.groupNickname != null) - return false; - } else if (!groupNickname.equals(other.groupNickname)) - return false; - if (originGoodsName == null) { - if (other.originGoodsName != null) - return false; - } else if (!originGoodsName.equals(other.originGoodsName)) - return false; - if (originGoodsSkuName == null) { - if (other.originGoodsSkuName != null) - return false; - } else if (!originGoodsSkuName.equals(other.originGoodsSkuName)) - return false; - return true; - } - - @Override - public int compareTo(GoodsInfoRow o) { - if(o == null) { - return 1; - } - if(this.equals(o)) { - return 0; - }else { - return this.calcDistince(o); - } - } - - private int calcDistince(GoodsInfoRow o) { - int groupDistince; - if(this.groupNickname == null && o.groupNickname == null) { - groupDistince = 0; - }else if(this.groupNickname == null){ - groupDistince = 0 - o.groupNickname.hashCode(); - }else if(o.groupNickname == null) { - groupDistince = this.groupNickname.hashCode(); - }else { - groupDistince = this.groupNickname.hashCode()-o.groupNickname.hashCode(); - } - int goodsNameDistince; - if(this.originGoodsName == null && o.originGoodsName == null) { - goodsNameDistince = 0; - }else if(this.originGoodsName == null){ - goodsNameDistince = 0 - o.originGoodsName.hashCode(); - }else if(o.originGoodsName == null) { - goodsNameDistince = this.originGoodsName.hashCode(); - }else { - goodsNameDistince = this.originGoodsName.hashCode()-o.originGoodsName.hashCode(); - } - int goodsSkuNameDistince; - if(this.originGoodsSkuName == null && o.originGoodsSkuName == null) { - goodsSkuNameDistince = 0; - }else if(this.originGoodsSkuName == null){ - goodsSkuNameDistince = 0 - o.originGoodsSkuName.hashCode(); - }else if(o.originGoodsSkuName == null) { - goodsSkuNameDistince = this.originGoodsSkuName.hashCode(); - }else { - 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); - } -} diff --git a/src/com/taover/bazhuayun/analysis/script/goodscollect/GroupInfoExcelData.java b/src/com/taover/bazhuayun/analysis/script/goodscollect/GroupInfoExcelData.java deleted file mode 100644 index 887a131..0000000 --- a/src/com/taover/bazhuayun/analysis/script/goodscollect/GroupInfoExcelData.java +++ /dev/null @@ -1,40 +0,0 @@ -package com.taover.bazhuayun.analysis.script.goodscollect; - -import java.io.File; -import java.util.ArrayList; -import java.util.List; - -import com.taover.bazhuayun.analysis.util.ExcelUtil; - -public class GroupInfoExcelData { - private GroupInfoExcelDataHeader header; - private List rowList = new ArrayList(); - - public void load(String groupInfoFilePath) throws Exception { - if(groupInfoFilePath == null) { - throw new Exception("groupInfoFilePath is null"); - } - File groupInfoFile = new File(groupInfoFilePath); - if(!groupInfoFile.exists()) { - throw new Exception("groupinfofile not exists"); - } - - List> data = ExcelUtil.readExcelSheet(groupInfoFile, false); - if(data.size() > 0) { - header = new GroupInfoExcelDataHeader(data.get(0)); - } - for(int i=1; i data) { - for(int i=0; i data) { - if(header.getFielPathIndex() != null && data.size() > header.getFielPathIndex()) { - this.filePath = data.get(header.getFielPathIndex()) == null ? "" : data.get(header.getFielPathIndex()).toString(); - } - if(header.getRoowWxidIndex() != null && data.size() > header.getRoowWxidIndex()) { - this.roowWxid = data.get(header.getRoowWxidIndex()) == null ? "" : data.get(header.getRoowWxidIndex()).toString(); - } - if(header.getGroupNameIndex() != null && data.size() > header.getGroupNameIndex()) { - this.groupName = data.get(header.getGroupNameIndex()) == null ? "" : data.get(header.getGroupNameIndex()).toString(); - } - if(header.getSenderNicknameIndex() != null && data.size() > header.getSenderNicknameIndex()) { - this.sendNickname = data.get(header.getSenderNicknameIndex()) == null ? "" : data.get(header.getSenderNicknameIndex()).toString(); - } - if(this.filePath == null) { - this.filePath = ""; - } - if(this.roowWxid == null) { - this.roowWxid = ""; - } - if(this.groupName == null) { - this.groupName = ""; - } - if(this.sendNickname == null) { - this.sendNickname = ""; - } - } - - - public String getSendNickname() { - return sendNickname; - } - - - public void setSendNickname(String sendNickname) { - this.sendNickname = sendNickname; - } - - - public String getGroupName() { - return groupName; - } - public void setGroupName(String groupName) { - this.groupName = groupName; - } - public String getRoowWxid() { - return roowWxid; - } - public void setRoowWxid(String roowWxid) { - this.roowWxid = roowWxid; - } - public String getFilePath() { - return filePath; - } - public void setFilePath(String filePath) { - this.filePath = filePath; - } -} diff --git a/src/com/taover/bazhuayun/analysis/script/goodscollect/Main.java b/src/com/taover/bazhuayun/analysis/script/goodscollect/Main.java deleted file mode 100644 index a3677a6..0000000 --- a/src/com/taover/bazhuayun/analysis/script/goodscollect/Main.java +++ /dev/null @@ -1,74 +0,0 @@ -package com.taover.bazhuayun.analysis.script.goodscollect; - -import java.io.File; -import java.util.ArrayList; -import java.util.List; - -import cn.hutool.core.io.FileUtil; -import cn.hutool.core.util.CharsetUtil; -import cn.hutool.poi.excel.ExcelUtil; - -public class Main { - public static void main(String[] args) { - try { - analysisGoodsName(); - } catch (Exception e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - } - - public static void analysisGoodsName() throws Exception { - String[] goodsNamePatternArr = new String[]{"商品名称","商品标题","货品名称","商品名称","商品信息","品名","商品型号","商品名","商品简称"}; - String[] goodsSkuNameParrternArr = new String[]{"商品规格名","规格","商品规格","规格名称","商品型号"}; - String dataDirPath = "C:\\Users\\Administrator\\Desktop\\悟空家数据核对-lff"; - String groupInfoFilePath = dataDirPath + File.separator + "groupinfo.csv"; - String goodsDataFileDirPath = dataDirPath + File.separator + "data"; - String logFilePath = dataDirPath + File.separator + "dealinfo.log"; - String resultDataFilePath = dataDirPath + File.separator + "result.xls"; - - //加载基础数据,文件来源 - GroupInfoExcelData groupInfoData = new GroupInfoExcelData(); - groupInfoData.load(groupInfoFilePath); - - //读取文件列表,交由解析器处理 - GoodsDataFileParser parser = new GoodsDataFileParser(goodsNamePatternArr, goodsSkuNameParrternArr, groupInfoData); - parser.setFileNameIgnorePreffix("【异常物流信息】-"); - parser.parse(groupInfoData, new File(goodsDataFileDirPath).listFiles()); - - //结果写入结果文件 - ExcelUtil.getWriter(new File(resultDataFilePath)).write(transListBeanTo2List(parser.getResult())).flush(); - - //执行信息写入日志文件 - FileUtil.writeString(parser.getLogString(), logFilePath, CharsetUtil.CHARSET_UTF_8); - } - - private static List> transListBeanTo2List(List result) { - List> data = new ArrayList>(); - - //加入HEADER - List header = new ArrayList(); - header.add("原表名称"); - header.add("商品名称"); - header.add("原表规格"); - header.add("自选规格"); - header.add("仓库群名称"); - header.add("发文件的人"); - data.add(header); - - //加入BODY - for(int i=1; i item = new ArrayList(); - item.add(row.getOriginGoodsName()); - item.add(row.getCommonGoodsName()); - item.add(row.getOriginGoodsSkuName()); - item.add(row.getCommonGoodsSkuName()); - item.add(row.getGroupNickname()); - item.add(row.getSenderNickname()); - data.add(item); - } - - return data; - } -} diff --git a/src/com/taover/bazhuayun/analysis/script/goodscollect/WindowMain.java b/src/com/taover/bazhuayun/analysis/script/goodscollect/WindowMain.java deleted file mode 100644 index 1cb79b2..0000000 --- a/src/com/taover/bazhuayun/analysis/script/goodscollect/WindowMain.java +++ /dev/null @@ -1,56 +0,0 @@ -package com.taover.bazhuayun.analysis.script.goodscollect; - -import java.awt.EventQueue; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; - -import javax.swing.JFileChooser; -import javax.swing.JFrame; - -public class WindowMain { - - private JFrame frame; - - /** - * Launch the application. - */ - public static void main(String[] args) { - EventQueue.invokeLater(new Runnable() { - public void run() { - try { - WindowMain window = new WindowMain(); - window.frame.setVisible(true); - } catch (Exception e) { - e.printStackTrace(); - } - } - }); - } - - /** - * Create the application. - */ - public WindowMain() { - initialize(); - } - - /** - * Initialize the contents of the frame. - */ - private void initialize() { - frame = new JFrame(); - frame.setBounds(100, 100, 450, 300); - frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); - - JFileChooser chooser = new JFileChooser(); - chooser.setSize(200, 50); - chooser.addActionListener(new ActionListener() { - - @Override - public void actionPerformed(ActionEvent e) { - } - }); - frame.add(chooser); - } - -} diff --git a/src/com/taover/bazhuayun/analysis/script/orderdownload/Main.java b/src/com/taover/bazhuayun/analysis/script/orderdownload/Main.java deleted file mode 100644 index 334089a..0000000 --- a/src/com/taover/bazhuayun/analysis/script/orderdownload/Main.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.taover.bazhuayun.analysis.script.orderdownload; - -public class Main { - public static void main(String[] args) { - try { - //时间区间:21号凌晨 25号凌晨 - } catch (Exception e) { - e.printStackTrace(); - } - } -} diff --git a/src/com/taover/bazhuayun/analysis/util/ExcelUtil.java b/src/com/taover/bazhuayun/analysis/util/ExcelUtil.java deleted file mode 100644 index 971787b..0000000 --- a/src/com/taover/bazhuayun/analysis/util/ExcelUtil.java +++ /dev/null @@ -1,146 +0,0 @@ -package com.taover.bazhuayun.analysis.util; - -import java.io.File; -import java.util.ArrayList; -import java.util.Collections; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Map.Entry; - -import com.taover.easyexcel.EasyExcel; - -import cn.hutool.core.text.csv.CsvRow; -import cn.hutool.core.text.csv.CsvUtil; -import cn.hutool.core.util.CharsetUtil; - -public class ExcelUtil { - private final static String CSV =".csv"; //csv - - private static boolean endWithCsv(String fileName) { - int dotIndex = fileName.lastIndexOf("."); - if(dotIndex < 0) { - return false; - } - String filteTypeLower = fileName.substring(dotIndex).trim().toLowerCase(); - if(CSV.equals(filteTypeLower)){ - return true; - } - return false; - } - - private static void checkFile(File dataFile) throws Exception{ - if(dataFile == null) { - throw new Exception("未传入文件引用"); - } - if(!dataFile.exists()) { - throw new Exception("文件不存在["+dataFile.getAbsolutePath()+"]"); - } - } - - private static List> transCsvRowToList(List rowData){ - List> data = new ArrayList>(); - if(rowData == null) { - return data; - } - for(CsvRow item: rowData) { - List itemData = new ArrayList(); - for(String cell: item.getRawList()) { - itemData.add(cell); - } - data.add(itemData); - } - return data; - } - - public static List> readExcelSheetAllForList(File dataFile, boolean readHiddenRow) throws Exception{ - checkFile(dataFile); - if(endWithCsv(dataFile.getName())) { - return transCsvRowToList(CsvUtil.getReader().read(dataFile, CharsetUtil.CHARSET_GBK).getRows()); - }else { - return transListMapTo2List(EasyExcel.read(dataFile).readHiddenRow(readHiddenRow).headRowNumber(0).doReadAllSync()); - } - } - - public static Map>> readExcelSheetAllForMap(File dataFile, boolean readHiddenRow) throws Exception{ - checkFile(dataFile); - if(endWithCsv(dataFile.getName())) { - return Collections.singletonMap("0", transCsvRowToList(CsvUtil.getReader().read(dataFile, CharsetUtil.CHARSET_GBK).getRows())); - }else { - return transMapListMapToMap2List(EasyExcel.read(dataFile).readHiddenRow(readHiddenRow).headRowNumber(0).doReadAllSyncForMap()); - } - } - - private static Map>> transMapListMapToMap2List(Map>> doReadAllSyncForMap) { - Map>> data = new HashMap>>(); - if(doReadAllSyncForMap == null) { - return data; - } - for(Entry>> item: doReadAllSyncForMap.entrySet()) { - List> itemData = new ArrayList>(); - for(Map cellData: item.getValue()) { - itemData.add(transMapToList(cellData)); - } - data.put(item.getKey().toString(), itemData); - } - return data; - } - - private static List> transListMapTo2List(List listMapData) { - List> data = new ArrayList>(); - if(listMapData == null) { - return data; - } - for(Object item: listMapData) { - data.add(transMapToList((Map) item)); - } - return data; - } - - private static List transMapToList(Map cellData) { - List data = new ArrayList((int)(cellData.size()*1.5)); - if(cellData == null || cellData.isEmpty()) { - return data; - } - - //获取最大索引 - int maxIndex = 0; - for(Entry item: cellData.entrySet()) { - if(item.getKey() > maxIndex && item.getValue()!=null && !"".equals(item.getValue())) { - maxIndex = item.getKey(); - } - } - - //设置元素并填入空串 - fillBlankToList(data, maxIndex+1); - - //置入元素 - int dataSize = data.size(); - for(Entry item: cellData.entrySet()) { - if(item.getKey() >= dataSize) { - continue; - } - if(item.getValue() == null) { - data.set(item.getKey(), ""); - }else { - data.set(item.getKey(), item.getValue()); - } - } - return data; - } - - private static void fillBlankToList(List data, int blankNumber) { - for(int i=0; i> readExcelSheet(File dataFile, boolean readHiddenRow) throws Exception{ - checkFile(dataFile); - if(endWithCsv(dataFile.getName())) { - return transCsvRowToList(CsvUtil.getReader().read(dataFile, CharsetUtil.CHARSET_GBK).getRows()); - }else { - return transListMapTo2List(EasyExcel.read(dataFile).readHiddenRow(readHiddenRow).headRowNumber(0).doReadSelectedSync()); - } - } -} diff --git a/src/com/taover/bazhuayun/analysis/util/FileContentTypeUtils.java b/src/com/taover/bazhuayun/analysis/util/FileContentTypeUtils.java deleted file mode 100644 index dbaa7c0..0000000 --- a/src/com/taover/bazhuayun/analysis/util/FileContentTypeUtils.java +++ /dev/null @@ -1,83 +0,0 @@ -package com.taover.bazhuayun.analysis.util; - -public class FileContentTypeUtils { - - public static String contentType(String filenameExtension) { - if (filenameExtension.equals(".BMP") || filenameExtension.equals(".bmp") - || filenameExtension.toUpperCase().equals(".BMP")) { - return "image/bmp"; - } - if (filenameExtension.equals(".GIF") || filenameExtension.equals(".gif") - || filenameExtension.toUpperCase().equals(".GIF")) { - return "image/gif"; - } - if (filenameExtension.equals(".JPEG") || filenameExtension.equals(".jpeg") || filenameExtension.equals(".JPG") - || filenameExtension.equals(".jpg") || filenameExtension.equals(".PNG") - || filenameExtension.equals(".png") || filenameExtension.toUpperCase().equals(".JPEG") - || filenameExtension.toUpperCase().equals(".JPG") || filenameExtension.toUpperCase().equals(".PNG")) { - return "image/jpeg"; - } - if (filenameExtension.equals(".HTML") || filenameExtension.equals(".html")) { - return "text/html"; - } - if (filenameExtension.equals(".TXT") || filenameExtension.equals(".txt") - || filenameExtension.toUpperCase().equals(".TXT")) { - return "text/plain"; - } - if (filenameExtension.equals(".VSD") || filenameExtension.equals(".vsd") - || filenameExtension.toUpperCase().equals(".VSD")) { - return "application/vnd.visio"; - } - if (filenameExtension.equals(".PPTX") || filenameExtension.equals(".pptx") || filenameExtension.equals(".PPT") - || filenameExtension.equals(".ppt") || filenameExtension.toUpperCase().equals(".PPTX") - || filenameExtension.toUpperCase().equals(".PPT")) { - return "application/vnd.ms-powerpoint"; - } - if (filenameExtension.equals(".DOCX") || filenameExtension.equals(".docx") || filenameExtension.equals(".DOC") - || filenameExtension.equals(".doc") || filenameExtension.toUpperCase().equals(".DOCX") - || filenameExtension.toUpperCase().equals(".DOC")) { - return "application/msword"; - } - if (filenameExtension.toUpperCase().equals(".XLSX")) { - return "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"; - } - if (filenameExtension.toUpperCase().equals(".XLS")) { - return "application/vnd.ms-excel"; - } - if (filenameExtension.equals(".XML") || filenameExtension.equals(".xml") - || filenameExtension.toUpperCase().equals(".XML")) { - return "text/xml"; - } - if (filenameExtension.equals(".pdf") || filenameExtension.equals(".PDF") - || filenameExtension.toUpperCase().equals(".PDF")) { - return "application/pdf"; - } - return null; - } - - public static String imgTypeValid(String dataPrix) { - if ("data:image/jpeg;".equalsIgnoreCase(dataPrix)) { - return ".jpeg"; - } else if ("data:image/jpg;".equalsIgnoreCase(dataPrix)) { - return ".jpg"; - } else if ("data:image/gif;".equalsIgnoreCase(dataPrix)) { - return ".gif"; - } else if ("data:image/png;".equalsIgnoreCase(dataPrix)) { - return ".png"; - } else if ("data:image/apng;".equalsIgnoreCase(dataPrix)) { - return ".apng"; - } else if ("data:image/svg;".equalsIgnoreCase(dataPrix)) { - return ".svg"; - } else if ("data:image/bmp;".equalsIgnoreCase(dataPrix)) { - return ".bmp"; - } - return null; - } - - public static String fileTypeValid(String dataPrix) { - if ("data:text/plain;".equalsIgnoreCase(dataPrix)) { - return ".txt"; - } - return null; - } -} diff --git a/src/com/taover/bazhuayun/analysis/util/StringTool.java b/src/com/taover/bazhuayun/analysis/util/StringTool.java deleted file mode 100644 index c2e979b..0000000 --- a/src/com/taover/bazhuayun/analysis/util/StringTool.java +++ /dev/null @@ -1,193 +0,0 @@ -package com.taover.bazhuayun.analysis.util; - -import java.lang.reflect.Field; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; - -import org.apache.commons.lang.StringUtils; - -import com.taover.util.UtilString; - - -public class StringTool { - public static String sortSplitStr(String cutTime, String splitStr, boolean isRemoveSame) { - if(cutTime == null || cutTime.isEmpty()) { - return cutTime; - } - String[] cutTimeArr = cutTime.split(splitStr); - List data = new ArrayList(cutTimeArr.length); - for(String item: cutTimeArr) { - int insertIndex = -1; - boolean isSame = false; - for(int i=0; i= 0){ - data.add(insertIndex, item); - } - } - return StringUtils.join(data, ","); - } - - public static String getOrTruncStr(String data, int allowLen) { - if(data == null) { - return ""; - } - byte[] dataByte = data.getBytes(); - if(dataByte.length > allowLen) { - return new String(dataByte, 0, allowLen); - }else { - return data; - } - } - - public static List splitByStringArr(String source, String[] patterns) { - List result = new ArrayList(); - if(source == null) { - return result; - } - if(patterns == null || patterns.length == 0) { - result.add(source); - return result; - } - String patternStr = StringUtils.join(patterns); - int subSourceStartIndex = 0; - for(int i=0; i subSourceStartIndex) { - result.add(source.substring(subSourceStartIndex, i)); - } - subSourceStartIndex = i+1; - } - } - if(subSourceStartIndex < source.length()) { - result.add(source.substring(subSourceStartIndex, source.length())); - } - return result; - } - - public static List removeSuffixSplitOrder(List data) { - List result = new ArrayList(); - if(data == null || data.isEmpty()) { - return result; - } - for(String item: data) { - item = item.trim(); - if(item.contains("-") && item.startsWith("W20")) { - String tempSubStr = item.substring(0, item.indexOf("-")); - if(StringUtils.isNotBlank(tempSubStr)) { - result.add(tempSubStr.trim()); - } - }else { - result.add(item); - } - } - return result; - } - - public static void trimObject(Object targetObj) { - Field[] tField = targetObj.getClass().getDeclaredFields(); - for(int i=0; i replaceAll(List data, String pattern, String target){ - List result = new ArrayList(); - if(data == null || data.isEmpty()) { - return result; - } - for(String item: data) { - result.add(item.replaceAll(pattern, target)); - } - return result; - } - - public static int getStartWithStringIndex(String pattern, String compares[]){ - //参数检验 - if(pattern==null || compares==null){ - return -1; - } - - //循环遍历compares - for(int i=0; i compares){ - //参数检验 - if(pattern==null || compares==null){ - return -1; - } - - //循环遍历compares - for(int i=0; i")); - System.out.println(replaceAll(Arrays.asList("asdf;asdfasdf"), "[;;]", " ")); - } -} - -class User{ - private String name = "2323"; - private int age = 1; - private List data; - public User(String name, int age, List data) { - super(); - this.name = name; - this.age = age; - this.data = data; - } - @Override - public String toString() { - return "User [name=" + name + ", age=" + age + ", data=" + data + "]"; - } -} diff --git a/src/com/taover/bazhuayun/analysis/web/StartUp.java b/src/com/taover/bazhuayun/analysis/web/StartUp.java deleted file mode 100644 index 4a7cebc..0000000 --- a/src/com/taover/bazhuayun/analysis/web/StartUp.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.taover.bazhuayun.analysis.web; - -import org.springframework.boot.SpringApplication; -import org.springframework.boot.autoconfigure.SpringBootApplication; -import org.springframework.context.annotation.EnableAspectJAutoProxy; - -@SpringBootApplication -@EnableAspectJAutoProxy(exposeProxy=true, proxyTargetClass=true) -public class StartUp { - public static void main(String[] args) { - SpringApplication.run(StartUp.class, args); - } -} \ No newline at end of file diff --git a/src/com/taover/bazhuayun/analysis/web/controller/ExportCenterController.java b/src/com/taover/bazhuayun/analysis/web/controller/ExportCenterController.java deleted file mode 100644 index dbe4048..0000000 --- a/src/com/taover/bazhuayun/analysis/web/controller/ExportCenterController.java +++ /dev/null @@ -1,81 +0,0 @@ -package com.taover.bazhuayun.analysis.web.controller; - -import java.io.File; -import java.io.FileInputStream; -import java.io.IOException; -import java.io.OutputStream; -import java.text.ParseException; -import java.text.SimpleDateFormat; -import java.util.Date; - -import javax.annotation.Resource; -import javax.servlet.http.HttpServletResponse; - -import org.apache.commons.lang.StringUtils; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RestController; - -import com.taover.bazhuayun.analysis.util.FileContentTypeUtils; -import com.taover.bazhuayun.analysis.web.service.ExportCenterService; -import com.taover.util.UtilLog; - -@RestController("exportcenter") -@RequestMapping("/exportcenter") -public class ExportCenterController { - @Resource - private ExportCenterService exportCenterService; - - @GetMapping("/wareorderfile") - public void wareOrderFile(@RequestParam(name="tenantId", required=true) Integer tenantId, - @RequestParam(name="startDate", defaultValue = "") String startDateStr, - @RequestParam(name="endDate", defaultValue = "") String endDateStr, - HttpServletResponse response) { - Date startDate = new Date(); - Date endDate = new Date(); - SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); - if(StringUtils.isNotBlank(startDateStr)) { - try { - startDate = sdf.parse(startDateStr.substring(0, 10)); - } catch (ParseException e) { - e.printStackTrace(); - } - } - if(StringUtils.isNotBlank(endDateStr)) { - try { - endDate = sdf.parse(endDateStr.substring(0, 10)); - } catch (ParseException e) { - e.printStackTrace(); - } - } - - File orderFile = null; - try { - orderFile = this.exportCenterService.wareOrderFile(tenantId, startDate, endDate); - } catch (IOException e1) { - UtilLog.errorForException(e1, this.getClass()); - return; - } - try { - this.writeFielToResponse(response, orderFile); - } catch (IOException e) { - UtilLog.errorForException(e, this.getClass()); - } - } - - private void writeFielToResponse(HttpServletResponse response, File file) throws IOException { - OutputStream stream = response.getOutputStream(); - FileInputStream reader = new FileInputStream(file); - byte[] data= new byte[(int)file.length()]; - reader.read(data); - reader.close(); - - //记得设置ContentType - String fileName = file.getName(); - response.setContentType(FileContentTypeUtils.contentType(fileName.substring(fileName.lastIndexOf(".")))); - response.setHeader("Content-Dis", "filename="+file.getName()); - stream.write(data); - stream.flush(); - } -} diff --git a/src/com/taover/bazhuayun/analysis/web/service/ExportCenterService.java b/src/com/taover/bazhuayun/analysis/web/service/ExportCenterService.java deleted file mode 100644 index 60ca41f..0000000 --- a/src/com/taover/bazhuayun/analysis/web/service/ExportCenterService.java +++ /dev/null @@ -1,72 +0,0 @@ -package com.taover.bazhuayun.analysis.web.service; - -import java.io.File; -import java.io.IOException; -import java.text.SimpleDateFormat; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Map; - -import javax.annotation.Resource; - -import org.springframework.jdbc.core.JdbcTemplate; -import org.springframework.stereotype.Service; - -import cn.hutool.poi.excel.ExcelUtil; - -@Service -public class ExportCenterService { - @Resource - private JdbcTemplate jdbcTemplate; - - public File wareOrderFile(Integer tenantId, Date startDate, Date endDate) throws IOException { - //查询agentID - String agentIdQuery = "select agent_id from wxorder_agent_pc where tenant_id="+tenantId+" limit 1 "; - Integer agentId = this.jdbcTemplate.queryForObject(agentIdQuery, Integer.class); - - //查询仓库对应群列表 - String wareGroupQuery = "select wx_group_ssid,wx_group_nickname,name from wxorder_ware where tenant_id="+tenantId; - List> groupData = this.jdbcTemplate.queryForList(wareGroupQuery); - - //依据群id,获取数据列表 - SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); - String startDateStr = sdf.format(startDate)+" 00:00:00"; - String endDateStr = sdf.format(endDate)+" 00:00:00"; - List> messageData = new ArrayList>(); - String messageQuery = "select room_wxid,sender_nickname,created_at,file_path from bzyun_wechat.messages where created_at>'"+startDateStr+"' and created_at<'"+endDateStr+"' and agent_id="+agentId+" and kind='FILE' and file_path not like '%【异常物流信息】%' and recall=0 and room_wxid=? "; - for(Map item: groupData) { - String wxGroupSsid = item.get("wx_group_ssid").toString(); - List> itemData = this.jdbcTemplate.queryForList(messageQuery, wxGroupSsid); - for(Map messageItem: itemData) { - messageItem.putAll(item); - } - messageData.addAll(itemData); - } - - //生成本地excel文件 - List> data = new ArrayList>(); - List headerData = new ArrayList(); - headerData.add("群名称"); - headerData.add("room_wxid"); - headerData.add("创建时间"); - headerData.add("发送人昵称"); - headerData.add("文件路径"); - headerData.add("仓库名称"); - data.add(headerData); - for(Map item: messageData) { - List itemData = new ArrayList(); - itemData.add(item.get("wx_group_nickname")); - itemData.add(item.get("room_wxid")); - itemData.add(item.get("created_at")); - itemData.add(item.get("sender_nickname")); - itemData.add(item.get("file_path")); - itemData.add(item.get("name")); - data.add(itemData); - } - File excelFile = File.createTempFile("wareorderfile", ".xlsx"); - ExcelUtil.getWriter(true).write(data).flush(excelFile); - return excelFile; - } - -} 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 new file mode 100644 index 0000000..bec9c48 --- /dev/null +++ b/src/main/java/com/taover/bazhuayun/analysis/script/goodscollect/GoodsDataFileParser.java @@ -0,0 +1,68 @@ +package com.taover.bazhuayun.analysis.script.goodscollect; + +import java.io.File; +import java.util.ArrayList; +import java.util.Collections; +import java.util.HashSet; +import java.util.Iterator; +import java.util.List; +import java.util.Set; + +import com.taover.bazhuayun.analysis.util.ExcelUtil; + +public class GoodsDataFileParser { + private String fileNameIgnorePreffix; + private StringBuffer logStrBuffer = new StringBuffer(); + private Set rowSet = new HashSet(); + + private String[] goodsNamePatternArr; + private String[] goodsSkuNameParrternArr; + private GroupInfoExcelData groupInfoData; + + public GoodsDataFileParser(String[] goodsNamePatternArr, String[] goodsSkuNameParrternArr, GroupInfoExcelData groupInfoData) { + this.goodsNamePatternArr = goodsNamePatternArr; + this.goodsSkuNameParrternArr = goodsSkuNameParrternArr; + this.groupInfoData = groupInfoData; + } + + public void setFileNameIgnorePreffix(String preffix) { + this.fileNameIgnorePreffix = preffix; + } + + public void parse(GroupInfoExcelData groupInfoData, File[] listFiles) throws Exception { + for(int i=0; i> data = ExcelUtil.readExcelSheet(item, false); + if(data.isEmpty()) { + continue; + } + + //写入set + GoodsInfoExcelDataHeader header = new GoodsInfoExcelDataHeader(this.goodsNamePatternArr, this.goodsSkuNameParrternArr, data.get(0)); + for(int j=1; j getResult() { + List data = new ArrayList(); + Iterator rowIter = this.rowSet.iterator(); + while(rowIter.hasNext()) { + data.add(rowIter.next()); + } + Collections.sort(data); + return data; + } + + public String getLogString() { + return logStrBuffer.toString(); + } + +} 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 new file mode 100644 index 0000000..2a27745 --- /dev/null +++ b/src/main/java/com/taover/bazhuayun/analysis/script/goodscollect/GoodsInfoExcelDataHeader.java @@ -0,0 +1,40 @@ +package com.taover.bazhuayun.analysis.script.goodscollect; + +import java.util.List; + +import com.taover.bazhuayun.analysis.util.StringTool; + +public class GoodsInfoExcelDataHeader { + private Integer goodsNameIndex; + private Integer goodsSkuNameIndex; + + public GoodsInfoExcelDataHeader(String[] goodsNamePattern, String[] goodsSkuNamePattern, List data) { + for(int i=0; i{ + private String originGoodsName; + private String commonGoodsName; + private String groupNickname; + private String originGoodsSkuName; + private String commonGoodsSkuName; + private String senderNickname; + + public GoodsInfoRow(GroupInfoExcelDataRow groupInfo, GoodsInfoExcelDataHeader header, List data) { + if(groupInfo != null) { + this.groupNickname = groupInfo.getGroupName(); + this.senderNickname = groupInfo.getSendNickname(); + }else { + this.groupNickname = ""; + this.senderNickname = ""; + } + this.originGoodsName = this.getEmptyStrWhenNull(data, header.getGoodsNameIndex()); + this.originGoodsSkuName = this.getEmptyStrWhenNull(data, header.getGoodsSkuNameIndex()); + } + + private String getEmptyStrWhenNull(List data, Integer goodsNameIndex) { + if(goodsNameIndex == null) { + return ""; + } + if(data.size() > goodsNameIndex) { + Object temp = data.get(goodsNameIndex); + if(temp == null) { + return ""; + }else { + return temp.toString(); + } + }else { + 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 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 String getSenderNickname() { + return senderNickname; + } + public void setSenderNickname(String senderNickname) { + this.senderNickname = senderNickname; + } + @Override + public int hashCode() { + final int prime = 31; + int result = 1; + result = prime * result + ((groupNickname == null) ? 0 : groupNickname.hashCode()); + result = prime * result + ((originGoodsName == null) ? 0 : originGoodsName.hashCode()); + result = prime * result + ((originGoodsSkuName == null) ? 0 : originGoodsSkuName.hashCode()); + return result; + } + + @Override + public boolean equals(Object obj) { + if (this == obj) + return true; + if (obj == null) + return false; + if (getClass() != obj.getClass()) + return false; + GoodsInfoRow other = (GoodsInfoRow) obj; + if (groupNickname == null) { + if (other.groupNickname != null) + return false; + } else if (!groupNickname.equals(other.groupNickname)) + return false; + if (originGoodsName == null) { + if (other.originGoodsName != null) + return false; + } else if (!originGoodsName.equals(other.originGoodsName)) + return false; + if (originGoodsSkuName == null) { + if (other.originGoodsSkuName != null) + return false; + } else if (!originGoodsSkuName.equals(other.originGoodsSkuName)) + return false; + return true; + } + + @Override + public int compareTo(GoodsInfoRow o) { + if(o == null) { + return 1; + } + if(this.equals(o)) { + return 0; + }else { + return this.calcDistince(o); + } + } + + private int calcDistince(GoodsInfoRow o) { + int groupDistince; + if(this.groupNickname == null && o.groupNickname == null) { + groupDistince = 0; + }else if(this.groupNickname == null){ + groupDistince = 0 - o.groupNickname.hashCode(); + }else if(o.groupNickname == null) { + groupDistince = this.groupNickname.hashCode(); + }else { + groupDistince = this.groupNickname.hashCode()-o.groupNickname.hashCode(); + } + int goodsNameDistince; + if(this.originGoodsName == null && o.originGoodsName == null) { + goodsNameDistince = 0; + }else if(this.originGoodsName == null){ + goodsNameDistince = 0 - o.originGoodsName.hashCode(); + }else if(o.originGoodsName == null) { + goodsNameDistince = this.originGoodsName.hashCode(); + }else { + goodsNameDistince = this.originGoodsName.hashCode()-o.originGoodsName.hashCode(); + } + int goodsSkuNameDistince; + if(this.originGoodsSkuName == null && o.originGoodsSkuName == null) { + goodsSkuNameDistince = 0; + }else if(this.originGoodsSkuName == null){ + goodsSkuNameDistince = 0 - o.originGoodsSkuName.hashCode(); + }else if(o.originGoodsSkuName == null) { + goodsSkuNameDistince = this.originGoodsSkuName.hashCode(); + }else { + 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); + } +} diff --git a/src/main/java/com/taover/bazhuayun/analysis/script/goodscollect/GroupInfoExcelData.java b/src/main/java/com/taover/bazhuayun/analysis/script/goodscollect/GroupInfoExcelData.java new file mode 100644 index 0000000..887a131 --- /dev/null +++ b/src/main/java/com/taover/bazhuayun/analysis/script/goodscollect/GroupInfoExcelData.java @@ -0,0 +1,40 @@ +package com.taover.bazhuayun.analysis.script.goodscollect; + +import java.io.File; +import java.util.ArrayList; +import java.util.List; + +import com.taover.bazhuayun.analysis.util.ExcelUtil; + +public class GroupInfoExcelData { + private GroupInfoExcelDataHeader header; + private List rowList = new ArrayList(); + + public void load(String groupInfoFilePath) throws Exception { + if(groupInfoFilePath == null) { + throw new Exception("groupInfoFilePath is null"); + } + File groupInfoFile = new File(groupInfoFilePath); + if(!groupInfoFile.exists()) { + throw new Exception("groupinfofile not exists"); + } + + List> data = ExcelUtil.readExcelSheet(groupInfoFile, false); + if(data.size() > 0) { + header = new GroupInfoExcelDataHeader(data.get(0)); + } + for(int i=1; i data) { + for(int i=0; i data) { + if(header.getFielPathIndex() != null && data.size() > header.getFielPathIndex()) { + this.filePath = data.get(header.getFielPathIndex()) == null ? "" : data.get(header.getFielPathIndex()).toString(); + } + if(header.getRoowWxidIndex() != null && data.size() > header.getRoowWxidIndex()) { + this.roowWxid = data.get(header.getRoowWxidIndex()) == null ? "" : data.get(header.getRoowWxidIndex()).toString(); + } + if(header.getGroupNameIndex() != null && data.size() > header.getGroupNameIndex()) { + this.groupName = data.get(header.getGroupNameIndex()) == null ? "" : data.get(header.getGroupNameIndex()).toString(); + } + if(header.getSenderNicknameIndex() != null && data.size() > header.getSenderNicknameIndex()) { + this.sendNickname = data.get(header.getSenderNicknameIndex()) == null ? "" : data.get(header.getSenderNicknameIndex()).toString(); + } + if(this.filePath == null) { + this.filePath = ""; + } + if(this.roowWxid == null) { + this.roowWxid = ""; + } + if(this.groupName == null) { + this.groupName = ""; + } + if(this.sendNickname == null) { + this.sendNickname = ""; + } + } + + + public String getSendNickname() { + return sendNickname; + } + + + public void setSendNickname(String sendNickname) { + this.sendNickname = sendNickname; + } + + + public String getGroupName() { + return groupName; + } + public void setGroupName(String groupName) { + this.groupName = groupName; + } + public String getRoowWxid() { + return roowWxid; + } + public void setRoowWxid(String roowWxid) { + this.roowWxid = roowWxid; + } + public String getFilePath() { + return filePath; + } + public void setFilePath(String filePath) { + this.filePath = filePath; + } +} 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 new file mode 100644 index 0000000..a3677a6 --- /dev/null +++ b/src/main/java/com/taover/bazhuayun/analysis/script/goodscollect/Main.java @@ -0,0 +1,74 @@ +package com.taover.bazhuayun.analysis.script.goodscollect; + +import java.io.File; +import java.util.ArrayList; +import java.util.List; + +import cn.hutool.core.io.FileUtil; +import cn.hutool.core.util.CharsetUtil; +import cn.hutool.poi.excel.ExcelUtil; + +public class Main { + public static void main(String[] args) { + try { + analysisGoodsName(); + } catch (Exception e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + } + + public static void analysisGoodsName() throws Exception { + String[] goodsNamePatternArr = new String[]{"商品名称","商品标题","货品名称","商品名称","商品信息","品名","商品型号","商品名","商品简称"}; + String[] goodsSkuNameParrternArr = new String[]{"商品规格名","规格","商品规格","规格名称","商品型号"}; + String dataDirPath = "C:\\Users\\Administrator\\Desktop\\悟空家数据核对-lff"; + String groupInfoFilePath = dataDirPath + File.separator + "groupinfo.csv"; + String goodsDataFileDirPath = dataDirPath + File.separator + "data"; + String logFilePath = dataDirPath + File.separator + "dealinfo.log"; + String resultDataFilePath = dataDirPath + File.separator + "result.xls"; + + //加载基础数据,文件来源 + GroupInfoExcelData groupInfoData = new GroupInfoExcelData(); + groupInfoData.load(groupInfoFilePath); + + //读取文件列表,交由解析器处理 + GoodsDataFileParser parser = new GoodsDataFileParser(goodsNamePatternArr, goodsSkuNameParrternArr, groupInfoData); + parser.setFileNameIgnorePreffix("【异常物流信息】-"); + parser.parse(groupInfoData, new File(goodsDataFileDirPath).listFiles()); + + //结果写入结果文件 + ExcelUtil.getWriter(new File(resultDataFilePath)).write(transListBeanTo2List(parser.getResult())).flush(); + + //执行信息写入日志文件 + FileUtil.writeString(parser.getLogString(), logFilePath, CharsetUtil.CHARSET_UTF_8); + } + + private static List> transListBeanTo2List(List result) { + List> data = new ArrayList>(); + + //加入HEADER + List header = new ArrayList(); + header.add("原表名称"); + header.add("商品名称"); + header.add("原表规格"); + header.add("自选规格"); + header.add("仓库群名称"); + header.add("发文件的人"); + data.add(header); + + //加入BODY + for(int i=1; i item = new ArrayList(); + item.add(row.getOriginGoodsName()); + item.add(row.getCommonGoodsName()); + item.add(row.getOriginGoodsSkuName()); + item.add(row.getCommonGoodsSkuName()); + item.add(row.getGroupNickname()); + item.add(row.getSenderNickname()); + data.add(item); + } + + return data; + } +} diff --git a/src/main/java/com/taover/bazhuayun/analysis/script/goodscollect/WindowMain.java b/src/main/java/com/taover/bazhuayun/analysis/script/goodscollect/WindowMain.java new file mode 100644 index 0000000..1cb79b2 --- /dev/null +++ b/src/main/java/com/taover/bazhuayun/analysis/script/goodscollect/WindowMain.java @@ -0,0 +1,56 @@ +package com.taover.bazhuayun.analysis.script.goodscollect; + +import java.awt.EventQueue; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; + +import javax.swing.JFileChooser; +import javax.swing.JFrame; + +public class WindowMain { + + private JFrame frame; + + /** + * Launch the application. + */ + public static void main(String[] args) { + EventQueue.invokeLater(new Runnable() { + public void run() { + try { + WindowMain window = new WindowMain(); + window.frame.setVisible(true); + } catch (Exception e) { + e.printStackTrace(); + } + } + }); + } + + /** + * Create the application. + */ + public WindowMain() { + initialize(); + } + + /** + * Initialize the contents of the frame. + */ + private void initialize() { + frame = new JFrame(); + frame.setBounds(100, 100, 450, 300); + frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + + JFileChooser chooser = new JFileChooser(); + chooser.setSize(200, 50); + chooser.addActionListener(new ActionListener() { + + @Override + public void actionPerformed(ActionEvent e) { + } + }); + frame.add(chooser); + } + +} 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 new file mode 100644 index 0000000..334089a --- /dev/null +++ b/src/main/java/com/taover/bazhuayun/analysis/script/orderdownload/Main.java @@ -0,0 +1,11 @@ +package com.taover.bazhuayun.analysis.script.orderdownload; + +public class Main { + public static void main(String[] args) { + try { + //时间区间:21号凌晨 25号凌晨 + } catch (Exception e) { + e.printStackTrace(); + } + } +} diff --git a/src/main/java/com/taover/bazhuayun/analysis/util/ExcelUtil.java b/src/main/java/com/taover/bazhuayun/analysis/util/ExcelUtil.java new file mode 100644 index 0000000..971787b --- /dev/null +++ b/src/main/java/com/taover/bazhuayun/analysis/util/ExcelUtil.java @@ -0,0 +1,146 @@ +package com.taover.bazhuayun.analysis.util; + +import java.io.File; +import java.util.ArrayList; +import java.util.Collections; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; + +import com.taover.easyexcel.EasyExcel; + +import cn.hutool.core.text.csv.CsvRow; +import cn.hutool.core.text.csv.CsvUtil; +import cn.hutool.core.util.CharsetUtil; + +public class ExcelUtil { + private final static String CSV =".csv"; //csv + + private static boolean endWithCsv(String fileName) { + int dotIndex = fileName.lastIndexOf("."); + if(dotIndex < 0) { + return false; + } + String filteTypeLower = fileName.substring(dotIndex).trim().toLowerCase(); + if(CSV.equals(filteTypeLower)){ + return true; + } + return false; + } + + private static void checkFile(File dataFile) throws Exception{ + if(dataFile == null) { + throw new Exception("未传入文件引用"); + } + if(!dataFile.exists()) { + throw new Exception("文件不存在["+dataFile.getAbsolutePath()+"]"); + } + } + + private static List> transCsvRowToList(List rowData){ + List> data = new ArrayList>(); + if(rowData == null) { + return data; + } + for(CsvRow item: rowData) { + List itemData = new ArrayList(); + for(String cell: item.getRawList()) { + itemData.add(cell); + } + data.add(itemData); + } + return data; + } + + public static List> readExcelSheetAllForList(File dataFile, boolean readHiddenRow) throws Exception{ + checkFile(dataFile); + if(endWithCsv(dataFile.getName())) { + return transCsvRowToList(CsvUtil.getReader().read(dataFile, CharsetUtil.CHARSET_GBK).getRows()); + }else { + return transListMapTo2List(EasyExcel.read(dataFile).readHiddenRow(readHiddenRow).headRowNumber(0).doReadAllSync()); + } + } + + public static Map>> readExcelSheetAllForMap(File dataFile, boolean readHiddenRow) throws Exception{ + checkFile(dataFile); + if(endWithCsv(dataFile.getName())) { + return Collections.singletonMap("0", transCsvRowToList(CsvUtil.getReader().read(dataFile, CharsetUtil.CHARSET_GBK).getRows())); + }else { + return transMapListMapToMap2List(EasyExcel.read(dataFile).readHiddenRow(readHiddenRow).headRowNumber(0).doReadAllSyncForMap()); + } + } + + private static Map>> transMapListMapToMap2List(Map>> doReadAllSyncForMap) { + Map>> data = new HashMap>>(); + if(doReadAllSyncForMap == null) { + return data; + } + for(Entry>> item: doReadAllSyncForMap.entrySet()) { + List> itemData = new ArrayList>(); + for(Map cellData: item.getValue()) { + itemData.add(transMapToList(cellData)); + } + data.put(item.getKey().toString(), itemData); + } + return data; + } + + private static List> transListMapTo2List(List listMapData) { + List> data = new ArrayList>(); + if(listMapData == null) { + return data; + } + for(Object item: listMapData) { + data.add(transMapToList((Map) item)); + } + return data; + } + + private static List transMapToList(Map cellData) { + List data = new ArrayList((int)(cellData.size()*1.5)); + if(cellData == null || cellData.isEmpty()) { + return data; + } + + //获取最大索引 + int maxIndex = 0; + for(Entry item: cellData.entrySet()) { + if(item.getKey() > maxIndex && item.getValue()!=null && !"".equals(item.getValue())) { + maxIndex = item.getKey(); + } + } + + //设置元素并填入空串 + fillBlankToList(data, maxIndex+1); + + //置入元素 + int dataSize = data.size(); + for(Entry item: cellData.entrySet()) { + if(item.getKey() >= dataSize) { + continue; + } + if(item.getValue() == null) { + data.set(item.getKey(), ""); + }else { + data.set(item.getKey(), item.getValue()); + } + } + return data; + } + + private static void fillBlankToList(List data, int blankNumber) { + for(int i=0; i> readExcelSheet(File dataFile, boolean readHiddenRow) throws Exception{ + checkFile(dataFile); + if(endWithCsv(dataFile.getName())) { + return transCsvRowToList(CsvUtil.getReader().read(dataFile, CharsetUtil.CHARSET_GBK).getRows()); + }else { + return transListMapTo2List(EasyExcel.read(dataFile).readHiddenRow(readHiddenRow).headRowNumber(0).doReadSelectedSync()); + } + } +} diff --git a/src/main/java/com/taover/bazhuayun/analysis/util/FileContentTypeUtils.java b/src/main/java/com/taover/bazhuayun/analysis/util/FileContentTypeUtils.java new file mode 100644 index 0000000..dbaa7c0 --- /dev/null +++ b/src/main/java/com/taover/bazhuayun/analysis/util/FileContentTypeUtils.java @@ -0,0 +1,83 @@ +package com.taover.bazhuayun.analysis.util; + +public class FileContentTypeUtils { + + public static String contentType(String filenameExtension) { + if (filenameExtension.equals(".BMP") || filenameExtension.equals(".bmp") + || filenameExtension.toUpperCase().equals(".BMP")) { + return "image/bmp"; + } + if (filenameExtension.equals(".GIF") || filenameExtension.equals(".gif") + || filenameExtension.toUpperCase().equals(".GIF")) { + return "image/gif"; + } + if (filenameExtension.equals(".JPEG") || filenameExtension.equals(".jpeg") || filenameExtension.equals(".JPG") + || filenameExtension.equals(".jpg") || filenameExtension.equals(".PNG") + || filenameExtension.equals(".png") || filenameExtension.toUpperCase().equals(".JPEG") + || filenameExtension.toUpperCase().equals(".JPG") || filenameExtension.toUpperCase().equals(".PNG")) { + return "image/jpeg"; + } + if (filenameExtension.equals(".HTML") || filenameExtension.equals(".html")) { + return "text/html"; + } + if (filenameExtension.equals(".TXT") || filenameExtension.equals(".txt") + || filenameExtension.toUpperCase().equals(".TXT")) { + return "text/plain"; + } + if (filenameExtension.equals(".VSD") || filenameExtension.equals(".vsd") + || filenameExtension.toUpperCase().equals(".VSD")) { + return "application/vnd.visio"; + } + if (filenameExtension.equals(".PPTX") || filenameExtension.equals(".pptx") || filenameExtension.equals(".PPT") + || filenameExtension.equals(".ppt") || filenameExtension.toUpperCase().equals(".PPTX") + || filenameExtension.toUpperCase().equals(".PPT")) { + return "application/vnd.ms-powerpoint"; + } + if (filenameExtension.equals(".DOCX") || filenameExtension.equals(".docx") || filenameExtension.equals(".DOC") + || filenameExtension.equals(".doc") || filenameExtension.toUpperCase().equals(".DOCX") + || filenameExtension.toUpperCase().equals(".DOC")) { + return "application/msword"; + } + if (filenameExtension.toUpperCase().equals(".XLSX")) { + return "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"; + } + if (filenameExtension.toUpperCase().equals(".XLS")) { + return "application/vnd.ms-excel"; + } + if (filenameExtension.equals(".XML") || filenameExtension.equals(".xml") + || filenameExtension.toUpperCase().equals(".XML")) { + return "text/xml"; + } + if (filenameExtension.equals(".pdf") || filenameExtension.equals(".PDF") + || filenameExtension.toUpperCase().equals(".PDF")) { + return "application/pdf"; + } + return null; + } + + public static String imgTypeValid(String dataPrix) { + if ("data:image/jpeg;".equalsIgnoreCase(dataPrix)) { + return ".jpeg"; + } else if ("data:image/jpg;".equalsIgnoreCase(dataPrix)) { + return ".jpg"; + } else if ("data:image/gif;".equalsIgnoreCase(dataPrix)) { + return ".gif"; + } else if ("data:image/png;".equalsIgnoreCase(dataPrix)) { + return ".png"; + } else if ("data:image/apng;".equalsIgnoreCase(dataPrix)) { + return ".apng"; + } else if ("data:image/svg;".equalsIgnoreCase(dataPrix)) { + return ".svg"; + } else if ("data:image/bmp;".equalsIgnoreCase(dataPrix)) { + return ".bmp"; + } + return null; + } + + public static String fileTypeValid(String dataPrix) { + if ("data:text/plain;".equalsIgnoreCase(dataPrix)) { + return ".txt"; + } + return null; + } +} diff --git a/src/main/java/com/taover/bazhuayun/analysis/util/StringTool.java b/src/main/java/com/taover/bazhuayun/analysis/util/StringTool.java new file mode 100644 index 0000000..c2e979b --- /dev/null +++ b/src/main/java/com/taover/bazhuayun/analysis/util/StringTool.java @@ -0,0 +1,193 @@ +package com.taover.bazhuayun.analysis.util; + +import java.lang.reflect.Field; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +import org.apache.commons.lang.StringUtils; + +import com.taover.util.UtilString; + + +public class StringTool { + public static String sortSplitStr(String cutTime, String splitStr, boolean isRemoveSame) { + if(cutTime == null || cutTime.isEmpty()) { + return cutTime; + } + String[] cutTimeArr = cutTime.split(splitStr); + List data = new ArrayList(cutTimeArr.length); + for(String item: cutTimeArr) { + int insertIndex = -1; + boolean isSame = false; + for(int i=0; i= 0){ + data.add(insertIndex, item); + } + } + return StringUtils.join(data, ","); + } + + public static String getOrTruncStr(String data, int allowLen) { + if(data == null) { + return ""; + } + byte[] dataByte = data.getBytes(); + if(dataByte.length > allowLen) { + return new String(dataByte, 0, allowLen); + }else { + return data; + } + } + + public static List splitByStringArr(String source, String[] patterns) { + List result = new ArrayList(); + if(source == null) { + return result; + } + if(patterns == null || patterns.length == 0) { + result.add(source); + return result; + } + String patternStr = StringUtils.join(patterns); + int subSourceStartIndex = 0; + for(int i=0; i subSourceStartIndex) { + result.add(source.substring(subSourceStartIndex, i)); + } + subSourceStartIndex = i+1; + } + } + if(subSourceStartIndex < source.length()) { + result.add(source.substring(subSourceStartIndex, source.length())); + } + return result; + } + + public static List removeSuffixSplitOrder(List data) { + List result = new ArrayList(); + if(data == null || data.isEmpty()) { + return result; + } + for(String item: data) { + item = item.trim(); + if(item.contains("-") && item.startsWith("W20")) { + String tempSubStr = item.substring(0, item.indexOf("-")); + if(StringUtils.isNotBlank(tempSubStr)) { + result.add(tempSubStr.trim()); + } + }else { + result.add(item); + } + } + return result; + } + + public static void trimObject(Object targetObj) { + Field[] tField = targetObj.getClass().getDeclaredFields(); + for(int i=0; i replaceAll(List data, String pattern, String target){ + List result = new ArrayList(); + if(data == null || data.isEmpty()) { + return result; + } + for(String item: data) { + result.add(item.replaceAll(pattern, target)); + } + return result; + } + + public static int getStartWithStringIndex(String pattern, String compares[]){ + //参数检验 + if(pattern==null || compares==null){ + return -1; + } + + //循环遍历compares + for(int i=0; i compares){ + //参数检验 + if(pattern==null || compares==null){ + return -1; + } + + //循环遍历compares + for(int i=0; i")); + System.out.println(replaceAll(Arrays.asList("asdf;asdfasdf"), "[;;]", " ")); + } +} + +class User{ + private String name = "2323"; + private int age = 1; + private List data; + public User(String name, int age, List data) { + super(); + this.name = name; + this.age = age; + this.data = data; + } + @Override + public String toString() { + return "User [name=" + name + ", age=" + age + ", data=" + data + "]"; + } +} diff --git a/src/main/java/com/taover/bazhuayun/analysis/web/StartUp.java b/src/main/java/com/taover/bazhuayun/analysis/web/StartUp.java new file mode 100644 index 0000000..4a7cebc --- /dev/null +++ b/src/main/java/com/taover/bazhuayun/analysis/web/StartUp.java @@ -0,0 +1,13 @@ +package com.taover.bazhuayun.analysis.web; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.context.annotation.EnableAspectJAutoProxy; + +@SpringBootApplication +@EnableAspectJAutoProxy(exposeProxy=true, proxyTargetClass=true) +public class StartUp { + public static void main(String[] args) { + SpringApplication.run(StartUp.class, args); + } +} \ No newline at end of file diff --git a/src/main/java/com/taover/bazhuayun/analysis/web/controller/ExportCenterController.java b/src/main/java/com/taover/bazhuayun/analysis/web/controller/ExportCenterController.java new file mode 100644 index 0000000..dbe4048 --- /dev/null +++ b/src/main/java/com/taover/bazhuayun/analysis/web/controller/ExportCenterController.java @@ -0,0 +1,81 @@ +package com.taover.bazhuayun.analysis.web.controller; + +import java.io.File; +import java.io.FileInputStream; +import java.io.IOException; +import java.io.OutputStream; +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.Date; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; + +import org.apache.commons.lang.StringUtils; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +import com.taover.bazhuayun.analysis.util.FileContentTypeUtils; +import com.taover.bazhuayun.analysis.web.service.ExportCenterService; +import com.taover.util.UtilLog; + +@RestController("exportcenter") +@RequestMapping("/exportcenter") +public class ExportCenterController { + @Resource + private ExportCenterService exportCenterService; + + @GetMapping("/wareorderfile") + public void wareOrderFile(@RequestParam(name="tenantId", required=true) Integer tenantId, + @RequestParam(name="startDate", defaultValue = "") String startDateStr, + @RequestParam(name="endDate", defaultValue = "") String endDateStr, + HttpServletResponse response) { + Date startDate = new Date(); + Date endDate = new Date(); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + if(StringUtils.isNotBlank(startDateStr)) { + try { + startDate = sdf.parse(startDateStr.substring(0, 10)); + } catch (ParseException e) { + e.printStackTrace(); + } + } + if(StringUtils.isNotBlank(endDateStr)) { + try { + endDate = sdf.parse(endDateStr.substring(0, 10)); + } catch (ParseException e) { + e.printStackTrace(); + } + } + + File orderFile = null; + try { + orderFile = this.exportCenterService.wareOrderFile(tenantId, startDate, endDate); + } catch (IOException e1) { + UtilLog.errorForException(e1, this.getClass()); + return; + } + try { + this.writeFielToResponse(response, orderFile); + } catch (IOException e) { + UtilLog.errorForException(e, this.getClass()); + } + } + + private void writeFielToResponse(HttpServletResponse response, File file) throws IOException { + OutputStream stream = response.getOutputStream(); + FileInputStream reader = new FileInputStream(file); + byte[] data= new byte[(int)file.length()]; + reader.read(data); + reader.close(); + + //记得设置ContentType + String fileName = file.getName(); + response.setContentType(FileContentTypeUtils.contentType(fileName.substring(fileName.lastIndexOf(".")))); + response.setHeader("Content-Dis", "filename="+file.getName()); + stream.write(data); + stream.flush(); + } +} diff --git a/src/main/java/com/taover/bazhuayun/analysis/web/service/ExportCenterService.java b/src/main/java/com/taover/bazhuayun/analysis/web/service/ExportCenterService.java new file mode 100644 index 0000000..60ca41f --- /dev/null +++ b/src/main/java/com/taover/bazhuayun/analysis/web/service/ExportCenterService.java @@ -0,0 +1,72 @@ +package com.taover.bazhuayun.analysis.web.service; + +import java.io.File; +import java.io.IOException; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; +import java.util.Map; + +import javax.annotation.Resource; + +import org.springframework.jdbc.core.JdbcTemplate; +import org.springframework.stereotype.Service; + +import cn.hutool.poi.excel.ExcelUtil; + +@Service +public class ExportCenterService { + @Resource + private JdbcTemplate jdbcTemplate; + + public File wareOrderFile(Integer tenantId, Date startDate, Date endDate) throws IOException { + //查询agentID + String agentIdQuery = "select agent_id from wxorder_agent_pc where tenant_id="+tenantId+" limit 1 "; + Integer agentId = this.jdbcTemplate.queryForObject(agentIdQuery, Integer.class); + + //查询仓库对应群列表 + String wareGroupQuery = "select wx_group_ssid,wx_group_nickname,name from wxorder_ware where tenant_id="+tenantId; + List> groupData = this.jdbcTemplate.queryForList(wareGroupQuery); + + //依据群id,获取数据列表 + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + String startDateStr = sdf.format(startDate)+" 00:00:00"; + String endDateStr = sdf.format(endDate)+" 00:00:00"; + List> messageData = new ArrayList>(); + String messageQuery = "select room_wxid,sender_nickname,created_at,file_path from bzyun_wechat.messages where created_at>'"+startDateStr+"' and created_at<'"+endDateStr+"' and agent_id="+agentId+" and kind='FILE' and file_path not like '%【异常物流信息】%' and recall=0 and room_wxid=? "; + for(Map item: groupData) { + String wxGroupSsid = item.get("wx_group_ssid").toString(); + List> itemData = this.jdbcTemplate.queryForList(messageQuery, wxGroupSsid); + for(Map messageItem: itemData) { + messageItem.putAll(item); + } + messageData.addAll(itemData); + } + + //生成本地excel文件 + List> data = new ArrayList>(); + List headerData = new ArrayList(); + headerData.add("群名称"); + headerData.add("room_wxid"); + headerData.add("创建时间"); + headerData.add("发送人昵称"); + headerData.add("文件路径"); + headerData.add("仓库名称"); + data.add(headerData); + for(Map item: messageData) { + List itemData = new ArrayList(); + itemData.add(item.get("wx_group_nickname")); + itemData.add(item.get("room_wxid")); + itemData.add(item.get("created_at")); + itemData.add(item.get("sender_nickname")); + itemData.add(item.get("file_path")); + itemData.add(item.get("name")); + data.add(itemData); + } + File excelFile = File.createTempFile("wareorderfile", ".xlsx"); + ExcelUtil.getWriter(true).write(data).flush(excelFile); + return excelFile; + } + +} diff --git a/src/main/resources/application-local.properties b/src/main/resources/application-local.properties new file mode 100644 index 0000000..e47c289 --- /dev/null +++ b/src/main/resources/application-local.properties @@ -0,0 +1,139 @@ + +server.port=80 +server.session.timeout=10 + +spring.servlet.multipart.max-file-size=10MB +spring.servlet.multipart.max-request-size=20MB + +spring.jackson.time-zone=GMT+8 +spring.jackson.date-format=yyyy-MM-dd HH:mm:ss +spring.mvc.dateFormat = yyyy-MM-dd HH:mm:ss +spring.gson.serialize-nulls=true + +tokenfilter.enable=false + +logging.config=classpath:logback-local.xml + + +mail.host=smtp.taover.com +mail.port=25 +mail.username=taover-robot@taover.com +mail.password=Lexi@1798 +mail.smtp.auth=true +mail.smtp.sendFrom=taover-robot@taover.com + +spring.mvc.dispatch-options-request=true + +#spring.datasource.url=jdbc\:mysql\://192.168.3.189\:3306/8zyun_wxorder?useUnicode\=true&characterEncoding\=UTF-8&autoReconnect\=true&zeroDateTimeBehavior\=convertToNull&transformedBitIsBoolean\=true +#spring.datasource.username=root +#spring.datasource.password=root + + +spring.datasource.url=jdbc\:mysql\://121.42.142.102\:3306/bzyun_wxorder?useUnicode\=true&characterEncoding\=UTF-8&autoReconnect\=true&zeroDateTimeBehavior\=convertToNull&transformedBitIsBoolean\=true +spring.datasource.username=dev +spring.datasource.password=taover02 +spring.datasource.driver-class-name=com.mysql.jdbc.Driver +spring.datasource.max-idle=10 +spring.datasource.max-wait=10000 +spring.datasource.min-idle=5 +spring.datasource.initial-size=5 + +#zto analysis address url +#zto.analysisAddress.url=https://localhost/Word_AnalysisAddress +zto.analysisAddress.url=https://hdgateway.zto.com/Word_AnalysisAddress +#taover analysis address url +taover.analysisAddress.url=http://address.taover.com/ +#kuaibao +kuaibao.analysisAddress.url=https://kop.kuaidihelp.com/api +kuaibao.analysisAddress.appId=105128 +kuaibao.analysisAddress.appKey=3310236ba4d6296e6e2346a7d9c824662510ff87 +kuaibao.analysisAddress.method=cloud.address.resolve +kuaibao.analysisAddress.methodSimple=cloud.address.cleanse + +#aliyun oss +accessKeyId=H4fIVB56iHjR6zQw +accessKeySecret=7bA395UltFp16kWPJT7Pfz0XYXCk4Q +endpoint=oss-cn-beijing.aliyuncs.com +bucket_contact=8zyun-oss +aliyun.mnsEndpoint=http://1225610490807748.mns.cn-hangzhou.aliyuncs.com +#https://8zyun-oss.oss-cn-beijing.aliyuncs.com +#mobile message url +wwltData=sname=dlmzty00&spwd=A6cU4Tyx&scorpid=&sprdid=1012888 +wwltUrl=https://seccf.51welink.com/submitdata/service.asmx/g_Submit + +#root ssy callcenter api config +ssy.callcenter.appid=c2MkSTjT8ghM +ssy.callcenter.seckey=7105ec065b8bb30fa6e3f13fccf92d0f + +pc.callcenter.appid=c2MkSTjT8ghZ +pc.callcenter.seckey=7105ec065b8bb30fa6e3f13fccf92d0G + +ssy.callcenter.subscribePreffixUrl=http://localhost/api/ +ssy.callcenter.subscribeSuffixUrl=/wxagentssymessagesubscribe + + +ssy.callcenter.url.openapiSurrogacyAgent=/api/v2/openapi/surrogacy/agent +ssy.callcenter.url.openapiSurrogacyQuerycontacts=/api/v2/openapi/surrogacy/querycontacts +ssy.callcenter.url.openapiSurrogacySendmessage=/api/v2/openapi/surrogacy/sendmessage +ssy.callcenter.url.openapiSurrogacyRegisteropenapi=/api/v2/openapi/surrogacy/registeropenapi +ssy.callcenter.url.openapiSurrogacyUnregisteropenapi=/api/v2/openapi/surrogacy/unregisteropenapi +ssy.callcenter.url.openapiCallcenterapibridgeService=/api/v2/openapi/callcenterapibridge/service +ssy.callcenter.url.openapiCallGroupMember=/api/v2/openapi/surrogacy/querygroupmember + + + + +ssy.upload.url=https://ssep.umsapi.com/api/v1/upload + +ssy.callcenter.sendMessage.preffixUrl=https://ssep.umsapi.com + +#weixin group text order confirm url +wxorder.url.grouptextorder.confirm=http://localhost:8100/confirm/ +wxorder.url.express.search=http://localhost:8100/confirm/query-logistics/ + +#ssy file server domain +ssy.fileserver.urlpreffix=https://ss0.umsapi.com + +wxorder.front.url.host=http://localhost:8100 + +platform.shop.registerUrl=http://localhost/common/authorization/index + +wxorder.platformgoods.matchurl=http://localhost/goods/channelgoods +wxorder.platformgoods.errororderurl=https://localhost/ordererror/index +wxorder.url.excellist=http://localhost/groupexcel/index + +#pc api +pc.callcenter.url.openapiSurrogacyRegisteropenapi=http://192.168.3.236:18308/v1/agent +pc.callcenter.url.openapiSurrogacyQuerycontacts=http://192.168.3.236:18308/v1/contacts/ +pc.callcenter.url.openapiCallGroupMember=http://192.168.3.236:18308/v1/contact/group_members/ +pc.callcenter.url.openapiSurrogacyAgent=http://192.168.3.236:18308/v1/agent +pc.callcenter.url.openapiSurrogacySendmessage=http://192.168.3.236:18308/v1/message_task +pc.callcenter.subscribeUrl=http://192.168.3.146/api/wxagentpcmessagesubscribe +pc.callcenter.url.sendMessageQueueName=oms-pc-msg +pc.callcenter.url.openapiContactsFeaturesgroup=http://192.168.3.236:18308/v1/contacts/ + +pc.message.url.messageTaskListUrl=http://192.168.3.236:18308/v1/message_task_list +pc.message.url.agentMessageTask=http://192.168.3.236:18308/v1/agent_message_task + +#cainiao param +cainiao.link.url=http://link.cainiao.com/gateway/link.do +cainiao.link.paramFormat=json +cainiao.link.appKey=650167 +cainiao.link.secretKey=lDO6y26nBJ6b5K96lnA1an447H1L0XK3 +cainiao.link.auth.grantpage=http://lcp.cloud.cainiao.com/permission/isv/grantpage.do +cainiao.link.auth.tokenUrl=http://lcp.cloud.cainiao.com/api/permission/exchangeToken.do +cainiao.link.auth.callbackUrl=https://api.oms.8zyun.cn/api/expressprint/auth/cainiao + +#fa wang +fineex.method.addOrder=fineex.wms.trades.add +fineex.method.cancelOrder=fineex.wms.trade.cancel +fineex.method.orderProcess=fineex.wms.trade.orderprocess.get +fineex.apiAddress=http://apicloud.fineex.net/Interface/InterfaceWeb/InterfaceFwWMS.ashx +fineex.method.goodsInventory=fineex.wms.product.inventory.get +fineex.method.orderConfirm=fineex.wms.trade.orderdetail.confirm +fineex.method.returnorderAdd=fineex.wms.trade.returnorder.add + + +qimen.api.appKey=30303007 +qimen.api.appSecret=80c63d1d8cf36a4c68b2df25fb93f703 +qimen.api.url=https://qimen.api.taobao.com/router/qmtest diff --git a/src/main/resources/application-production.properties b/src/main/resources/application-production.properties new file mode 100644 index 0000000..59dd423 --- /dev/null +++ b/src/main/resources/application-production.properties @@ -0,0 +1,74 @@ + +server.port=8200 +server.session.timeout=10 +server.connection-timeout=120000 + +spring.servlet.multipart.max-file-size=10MB +spring.servlet.multipart.max-request-size=20MB + +spring.jackson.time-zone=GMT+8 +spring.jackson.date-format=yyyy-MM-dd HH:mm:ss +spring.mvc.dateFormat = yyyy-MM-dd HH:mm:ss +spring.gson.serialize-nulls=true + +#email config +mail.host=smtp.taover.com +mail.port=25 +mail.username=taover-robot@taover.com +mail.password=Lexi@1798 +mail.smtp.auth=true +mail.smtp.sendFrom=taover-robot@taover.com + +#logback xml config +logging.config=classpath:logback-production.xml + +#allow http method options +spring.mvc.dispatch-options-request=true +spring.mvc.async.request-timeout=200000 + +#DB info +spring.datasource.url=jdbc:mysql://rdsifmezqifmezqo.mysql.rds.aliyuncs.com:3306/bzyun_wxorder_prd?useUnicode=true&characterEncoding=UTF8&autoReconnect=true&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true +spring.datasource.username=tylife +spring.datasource.password=lexi365 +spring.datasource.driver-class-name=com.mysql.jdbc.Driver +spring.datasource.max-idle=10 +spring.datasource.max-wait=10000 +spring.datasource.min-idle=5 +spring.datasource.initial-size=5 + +#zto analysis address url +zto.analysisAddress.url=https://hdgateway.zto.com/Word_AnalysisAddress +#taover analysis address url +taover.analysisAddress.url=http://address.taover.com/ +#kuaibao +kuaibao.analysisAddress.url=https://kop.kuaidihelp.com/api +kuaibao.analysisAddress.appId=105128 +kuaibao.analysisAddress.appKey=3310236ba4d6296e6e2346a7d9c824662510ff87 +kuaibao.analysisAddress.method=cloud.address.resolve +kuaibao.analysisAddress.methodSimple=cloud.address.cleanse + +#aliyun oss address +accessKeyId=H4fIVB56iHjR6zQw +accessKeySecret=7bA395UltFp16kWPJT7Pfz0XYXCk4Q +endpoint=oss-cn-beijing.aliyuncs.com +bucket_contact=8zyun-oss +aliyun.mnsEndpoint=http://1225610490807748.mns.cn-hangzhou.aliyuncs.com +#mobile message url +wwltData=sname=dlmzty00&spwd=A6cU4Tyx&scorpid=&sprdid=1012888 +wwltUrl=https://seccf.51welink.com/submitdata/service.asmx/g_Submit + +#pc api +pc.callcenter.url.openapiSurrogacyRegisteropenapi=https://ws.8zyun.cn:8080/v1/agent +pc.callcenter.url.openapiSurrogacyQuerycontacts=https://ws.8zyun.cn:8080/v1/contacts/ +pc.callcenter.url.openapiCallGroupMember=https://ws.8zyun.cn:8080/v1/contact/group_members/ +pc.callcenter.url.openapiSurrogacyAgent=https://ws.8zyun.cn:8080/v1/agent +pc.callcenter.url.openapiSurrogacySendmessage=https://ws.8zyun.cn:8080/v1/message_task +pc.callcenter.url.openapiContactsFeaturesgroup=https://ws.8zyun.cn:8080/v1/contactsMessageCount + +pc.callcenter.appid=c2MkSTjT8ghZ +pc.callcenter.seckey=7105ec065b8bb30fa6e3f13fccf92d0G +pc.callcenter.subscribeUrl=https://api.oms.8zyun.cn/api/wxagentpcmessagesubscribe +pc.callcenter.url.sendMessageQueueName=oms-pc-msg-production + +pc.message.url.messageTaskListUrl=https://ws.8zyun.cn:8080/v1/message_task_list +pc.message.url.agentMessageTask=https://ws.8zyun.cn:8080/v1/agent_message_task diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties new file mode 100644 index 0000000..2ff6bc9 --- /dev/null +++ b/src/main/resources/application.properties @@ -0,0 +1,2 @@ +#RUNTIME_ENV=local development production +spring.profiles.active=local diff --git a/src/main/resources/logback-local.xml b/src/main/resources/logback-local.xml new file mode 100644 index 0000000..fb1e2ef --- /dev/null +++ b/src/main/resources/logback-local.xml @@ -0,0 +1,14 @@ + + + + encoders are assigned the type + ch.qos.logback.classic.encoder.PatternLayoutEncoder by default + + %date{yyyy-MM-dd HH:mm:ss.SSS} %-5level[%thread]%logger{56}.%method:%L -%msg %n + + + + + + + diff --git a/src/main/resources/logback-production.xml b/src/main/resources/logback-production.xml new file mode 100644 index 0000000..42cf975 --- /dev/null +++ b/src/main/resources/logback-production.xml @@ -0,0 +1,59 @@ + + + + + + %date{yyyy-MM-dd HH:mm:ss.SSS} %-5level[%thread]%logger{56}.%method:%L -%msg %n + + + + + smtp.taover.com + 465 + true + taover-robot@taover.com + Lexi@1798 + + taover-robot@taover.com + wangbin@taover.com + gaoming@taover.com + liuyunpeng@taover.com + 八爪云-data-analysis/ERROR:%logger{20} + + + + ERROR + ACCEPT + DENY + + + + 3 + + + + + logback-rolling.log + + + logback-roll-%d{yyyy-MM-dd}.%i.log + + 100MB + 60 + 5GB + + + %date{yyyy-MM-dd HH:mm:ss.SSS} %-5level[%thread]%logger{56}.%method:%L -%msg %n + + + + + + + + + + + + + -- libgit2 0.21.2