diff --git a/resources/application-local.properties b/resources/application-local.properties
new file mode 100644
index 0000000..e47c289
--- /dev/null
+++ b/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/resources/application-production.properties b/resources/application-production.properties
new file mode 100644
index 0000000..59dd423
--- /dev/null
+++ b/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/resources/application.properties b/resources/application.properties
new file mode 100644
index 0000000..2ff6bc9
--- /dev/null
+++ b/resources/application.properties
@@ -0,0 +1,2 @@
+#RUNTIME_ENV=local development production
+spring.profiles.active=local
diff --git a/resources/logback-local.xml b/resources/logback-local.xml
new file mode 100644
index 0000000..fb1e2ef
--- /dev/null
+++ b/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/resources/logback-production.xml b/resources/logback-production.xml
new file mode 100644
index 0000000..42cf975
--- /dev/null
+++ b/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
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/com/taover/bazhuayun/analysis/script/goodscollect/GroupInfoExcelDataHeader.java b/src/com/taover/bazhuayun/analysis/script/goodscollect/GroupInfoExcelDataHeader.java
index e22bda5..0126416 100644
--- a/src/com/taover/bazhuayun/analysis/script/goodscollect/GroupInfoExcelDataHeader.java
+++ b/src/com/taover/bazhuayun/analysis/script/goodscollect/GroupInfoExcelDataHeader.java
@@ -36,19 +36,14 @@ public class GroupInfoExcelDataHeader {
continue;
}
}
- }
-
+ }
public Integer getSenderNicknameIndex() {
return senderNicknameIndex;
}
-
-
public void setSenderNicknameIndex(Integer senderNicknameIndex) {
this.senderNicknameIndex = senderNicknameIndex;
}
-
-
public Integer getGroupNameIndex() {
return groupNameIndex;
}
@@ -67,6 +62,4 @@ public class GroupInfoExcelDataHeader {
public void setFielPathIndex(Integer fielPathIndex) {
this.fielPathIndex = fielPathIndex;
}
-
-
}
diff --git a/src/com/taover/bazhuayun/analysis/script/goodscollect/Main.java b/src/com/taover/bazhuayun/analysis/script/goodscollect/Main.java
index f2b4be6..a3677a6 100644
--- a/src/com/taover/bazhuayun/analysis/script/goodscollect/Main.java
+++ b/src/com/taover/bazhuayun/analysis/script/goodscollect/Main.java
@@ -21,10 +21,11 @@ public class Main {
public static void analysisGoodsName() throws Exception {
String[] goodsNamePatternArr = new String[]{"商品名称","商品标题","货品名称","商品名称","商品信息","品名","商品型号","商品名","商品简称"};
String[] goodsSkuNameParrternArr = new String[]{"商品规格名","规格","商品规格","规格名称","商品型号"};
- String groupInfoFilePath = "C:\\Users\\86136\\Desktop\\悟空家数据分析\\groupinfo.xls";
- String goodsDataFileDirPath = "C:\\Users\\86136\\Desktop\\悟空家数据分析\\data";
- String logFilePath = "C:\\Users\\86136\\Desktop\\悟空家数据分析\\dealinfo.log";
- String resultDataFilePath = "C:\\Users\\86136\\Desktop\\悟空家数据分析\\result.xls";
+ 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();
diff --git a/src/com/taover/bazhuayun/analysis/script/goodscollect/WindowMain.java b/src/com/taover/bazhuayun/analysis/script/goodscollect/WindowMain.java
new file mode 100644
index 0000000..1cb79b2
--- /dev/null
+++ b/src/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/com/taover/bazhuayun/analysis/script/orderdownload/Main.java b/src/com/taover/bazhuayun/analysis/script/orderdownload/Main.java
new file mode 100644
index 0000000..334089a
--- /dev/null
+++ b/src/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/com/taover/bazhuayun/analysis/util/FileContentTypeUtils.java b/src/com/taover/bazhuayun/analysis/util/FileContentTypeUtils.java
new file mode 100644
index 0000000..dbaa7c0
--- /dev/null
+++ b/src/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/com/taover/bazhuayun/analysis/web/StartUp.java b/src/com/taover/bazhuayun/analysis/web/StartUp.java
index 27c4a86..4a7cebc 100644
--- a/src/com/taover/bazhuayun/analysis/web/StartUp.java
+++ b/src/com/taover/bazhuayun/analysis/web/StartUp.java
@@ -1,44 +1,13 @@
package com.taover.bazhuayun.analysis.web;
-import org.apache.catalina.connector.Connector;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
-import org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory;
-import org.springframework.boot.web.servlet.server.ServletWebServerFactory;
-import org.springframework.context.ConfigurableApplicationContext;
-import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.EnableAspectJAutoProxy;
-import org.springframework.web.servlet.config.annotation.PathMatchConfigurer;
-import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
-import org.springframework.web.util.UrlPathHelper;
@SpringBootApplication
@EnableAspectJAutoProxy(exposeProxy=true, proxyTargetClass=true)
-public class StartUp implements WebMvcConfigurer {
- public static ConfigurableApplicationContext context;
-
+public class StartUp {
public static void main(String[] args) {
- System.setProperty("org.apache.tomcat.util.buf.UDecoder.ALLOW_ENCODED_SLASH", "true");
- StartUp.context = SpringApplication.run(StartUp.class, args);
- }
-
- @Override
- public void configurePathMatch(PathMatchConfigurer configurer) {
- UrlPathHelper urlPathHelper = new UrlPathHelper();
- urlPathHelper.setUrlDecode(false);
- configurer.setUrlPathHelper(urlPathHelper);
- }
-
- @Bean
- public ServletWebServerFactory servletContainer() {
- TomcatServletWebServerFactory tomcat = new TomcatServletWebServerFactory();
- tomcat.addAdditionalTomcatConnectors(createStandardConnector());
- return tomcat;
- }
-
- private Connector createStandardConnector() {
- Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol");
- connector.setPort(0);
- return connector;
+ 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
new file mode 100644
index 0000000..dbe4048
--- /dev/null
+++ b/src/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/com/taover/bazhuayun/analysis/web/service/ExportCenterService.java b/src/com/taover/bazhuayun/analysis/web/service/ExportCenterService.java
new file mode 100644
index 0000000..60ca41f
--- /dev/null
+++ b/src/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