Commit 37a63d8c by chenqiufeng

init

parents
lib
target
Camel Router Spring Project
===========================
To build this project use
mvn install
To run this project with Maven use
mvn camel:run
For more help see the Apache Camel documentation
http://camel.apache.org/
<?xml version="1.0" encoding="UTF-8"?>
<module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4">
<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8">
<output url="file://$MODULE_DIR$/target/classes" />
<output-test url="file://$MODULE_DIR$/target/test-classes" />
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/test/resources" type="java-test-resource" />
<excludeFolder url="file://$MODULE_DIR$/target" />
</content>
<content url="file://$MODULE_DIR$/../../src/main/java">
<sourceFolder url="file://$MODULE_DIR$/../../src/main/java" isTestSource="false" />
</content>
<content url="file://$MODULE_DIR$/../../src/main/resources">
<sourceFolder url="file://$MODULE_DIR$/../../src/main/resources" type="java-resource" />
</content>
<content url="file://$MODULE_DIR$/../../src/test/java">
<sourceFolder url="file://$MODULE_DIR$/../../src/test/java" isTestSource="true" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="module-library">
<library>
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/fastjson-1.2.2.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="library" name="Maven: org.apache.camel:camel-core:3.4.2" level="project" />
<orderEntry type="library" name="Maven: org.apache.camel:camel-core-engine:3.4.2" level="project" />
<orderEntry type="library" name="Maven: org.apache.camel:camel-api:3.4.2" level="project" />
<orderEntry type="library" name="Maven: org.apache.camel:camel-base:3.4.2" level="project" />
<orderEntry type="library" name="Maven: org.apache.camel:camel-management-api:3.4.2" level="project" />
<orderEntry type="library" name="Maven: org.apache.camel:camel-support:3.4.2" level="project" />
<orderEntry type="library" name="Maven: org.apache.camel:camel-util:3.4.2" level="project" />
<orderEntry type="library" name="Maven: org.apache.camel:camel-core-languages:3.4.2" level="project" />
<orderEntry type="library" name="Maven: org.apache.camel:camel-bean:3.4.2" level="project" />
<orderEntry type="library" name="Maven: org.apache.camel:camel-browse:3.4.2" level="project" />
<orderEntry type="library" name="Maven: org.apache.camel:camel-caffeine-lrucache:3.4.2" level="project" />
<orderEntry type="library" name="Maven: com.github.ben-manes.caffeine:caffeine:2.8.4" level="project" />
<orderEntry type="library" name="Maven: org.apache.camel:camel-cluster:3.4.2" level="project" />
<orderEntry type="library" name="Maven: org.apache.camel:camel-controlbus:3.4.2" level="project" />
<orderEntry type="library" name="Maven: org.apache.camel:camel-dataformat:3.4.2" level="project" />
<orderEntry type="library" name="Maven: org.apache.camel:camel-dataset:3.4.2" level="project" />
<orderEntry type="library" name="Maven: org.apache.camel:camel-direct:3.4.2" level="project" />
<orderEntry type="library" name="Maven: org.apache.camel:camel-directvm:3.4.2" level="project" />
<orderEntry type="library" name="Maven: org.apache.camel:camel-file:3.4.2" level="project" />
<orderEntry type="library" name="Maven: org.apache.camel:camel-core-catalog:3.4.2" level="project" />
<orderEntry type="library" name="Maven: org.apache.camel:camel-health:3.4.2" level="project" />
<orderEntry type="library" name="Maven: org.apache.camel:camel-language:3.4.2" level="project" />
<orderEntry type="library" name="Maven: org.apache.camel:camel-log:3.4.2" level="project" />
<orderEntry type="library" name="Maven: org.apache.camel:camel-mock:3.4.2" level="project" />
<orderEntry type="library" name="Maven: org.apache.camel:camel-ref:3.4.2" level="project" />
<orderEntry type="library" name="Maven: org.apache.camel:camel-rest:3.4.2" level="project" />
<orderEntry type="library" name="Maven: org.apache.camel:camel-tooling-model:3.4.2" level="project" />
<orderEntry type="library" name="Maven: org.apache.camel:camel-util-json:3.4.2" level="project" />
<orderEntry type="library" name="Maven: org.apache.camel:camel-saga:3.4.2" level="project" />
<orderEntry type="library" name="Maven: org.apache.camel:camel-scheduler:3.4.2" level="project" />
<orderEntry type="library" name="Maven: org.apache.camel:camel-seda:3.4.2" level="project" />
<orderEntry type="library" name="Maven: org.apache.camel:camel-stub:3.4.2" level="project" />
<orderEntry type="library" name="Maven: org.apache.camel:camel-timer:3.4.2" level="project" />
<orderEntry type="library" name="Maven: org.apache.camel:camel-validator:3.4.2" level="project" />
<orderEntry type="library" name="Maven: org.apache.camel:camel-vm:3.4.2" level="project" />
<orderEntry type="library" name="Maven: org.apache.camel:camel-xpath:3.4.2" level="project" />
<orderEntry type="library" name="Maven: org.apache.camel:camel-xslt:3.4.2" level="project" />
<orderEntry type="library" name="Maven: org.apache.camel:camel-xml-jaxb:3.4.2" level="project" />
<orderEntry type="library" name="Maven: jakarta.xml.bind:jakarta.xml.bind-api:2.3.2" level="project" />
<orderEntry type="library" name="Maven: jakarta.activation:jakarta.activation-api:1.2.1" level="project" />
<orderEntry type="library" name="Maven: com.sun.xml.bind:jaxb-core:2.3.0" level="project" />
<orderEntry type="library" name="Maven: com.sun.xml.bind:jaxb-impl:2.3.0" level="project" />
<orderEntry type="library" name="Maven: org.apache.camel:camel-xml-jaxp:3.4.2" level="project" />
<orderEntry type="library" name="Maven: org.slf4j:slf4j-api:1.7.30" level="project" />
<orderEntry type="library" name="Maven: org.apache.camel:camel-spring-main:3.4.2" level="project" />
<orderEntry type="library" name="Maven: org.apache.camel:camel-spring:3.4.2" level="project" />
<orderEntry type="library" name="Maven: org.apache.camel:camel-core-xml:3.4.2" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-core:5.2.7.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-jcl:5.2.7.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-aop:5.2.7.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-context:5.2.7.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-beans:5.2.7.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-expression:5.2.7.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-tx:5.2.7.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.apache.camel:camel-main:3.4.2" level="project" />
<orderEntry type="module-library">
<library name="Maven: ingageSDK:ingageSDK:unknown">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/ingageSDK.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="library" name="Maven: com.alibaba:fastjson:1.2.47" level="project" />
<orderEntry type="library" name="Maven: org.eclipse.birt.runtime.3_7_1:com.lowagie.text:2.1.7" level="project" />
<orderEntry type="library" name="Maven: org.apache.logging.log4j:log4j-core:2.11.0" level="project" />
<orderEntry type="library" name="Maven: org.apache.logging.log4j:log4j-api:2.11.0" level="project" />
<orderEntry type="library" name="Maven: log4j:log4j:1.2.12" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.apache.camel:camel-test-spring:3.4.2" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.apache.camel:camel-test:3.4.2" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: junit:junit:4.13" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.hamcrest:hamcrest-core:1.3" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.assertj:assertj-core:3.16.1" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.springframework:spring-test:5.2.7.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.apache.httpcomponents:httpclient:4.5.3" level="project" />
<orderEntry type="library" name="Maven: org.apache.httpcomponents:httpcore:4.4.6" level="project" />
<orderEntry type="library" name="Maven: commons-logging:commons-logging:1.2" level="project" />
<orderEntry type="library" name="Maven: commons-codec:commons-codec:1.9" level="project" />
<orderEntry type="library" name="Maven: net.sf.json-lib:json-lib:jdk15:2.4" level="project" />
<orderEntry type="library" name="Maven: commons-beanutils:commons-beanutils:1.8.0" level="project" />
<orderEntry type="library" name="Maven: commons-collections:commons-collections:3.2.1" level="project" />
<orderEntry type="library" name="Maven: commons-lang:commons-lang:2.5" level="project" />
<orderEntry type="library" name="Maven: net.sf.ezmorph:ezmorph:1.0.6" level="project" />
<orderEntry type="library" name="Maven: commons-httpclient:commons-httpclient:3.1" level="project" />
<orderEntry type="library" name="Maven: com.itextpdf:itextpdf:5.5.11" level="project" />
<orderEntry type="library" name="Maven: com.itextpdf:itext-asian:5.2.0" level="project" />
</component>
</module>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.olm</groupId>
<artifactId>olmcrm</artifactId>
<packaging>jar</packaging>
<description>A tools for crm's report output PDF</description>
<version>3.0-SNAPSHOT</version>
<!-- <name>A Camel Spring Route</name>-->
<name>olm-crm-pdf</name>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<log4j2.version>2.13.3</log4j2.version>
</properties>
<dependencyManagement>
<dependencies>
<!-- Camel BOM -->
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-bom</artifactId>
<version>3.4.2</version>
<scope>import</scope>
<type>pom</type>
</dependency>
<dependency>
<groupId>ingageSDK</groupId>
<artifactId>ingageSDK</artifactId>
<version>1.0</version>
<!-- <scope>system</scope>-->
<!-- <systemPath>${project.basedir}/lib/ingageSDK.jar</systemPath>-->
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-core</artifactId>
</dependency>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-spring-main</artifactId>
</dependency>
<dependency>
<groupId>ingageSDK</groupId>
<artifactId>ingageSDK</artifactId>
<version>1.0</version>
<!-- <scope>system</scope>-->
<!-- <systemPath>${project.basedir}/lib/ingageSDK.jar</systemPath>-->
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.47</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.eclipse.birt.runtime.3_7_1/com.lowagie.text -->
<dependency>
<groupId>org.eclipse.birt.runtime.3_7_1</groupId>
<artifactId>com.lowagie.text</artifactId>
<version>2.1.7</version>
</dependency>
<!-- logging -->
<!-- <dependency>-->
<!-- <groupId>org.apache.logging.log4j</groupId>-->
<!-- <artifactId>log4j-core</artifactId>-->
<!-- <version>2.11.0</version>-->
<!-- </dependency>-->
<!-- <dependency>-->
<!-- <groupId>org.apache.logging.log4j</groupId>-->
<!-- <artifactId>log4j-api</artifactId>-->
<!-- <version>2.11.0</version>-->
<!-- </dependency>-->
<!-- <dependency>-->
<!-- <groupId>log4j</groupId>-->
<!-- <artifactId>log4j</artifactId>-->
<!-- <version>1.2.12</version>-->
<!-- </dependency>-->
<!-- testing -->
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-test-spring</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.5.3</version>
</dependency>
<dependency>
<groupId>net.sf.json-lib</groupId>
<artifactId>json-lib</artifactId>
<version>2.4</version>
<classifier>jdk15</classifier>
<exclusions>
<exclusion>
<artifactId>commons-logging</artifactId>
<groupId>commons-logging</groupId>
</exclusion>
<exclusion>
<artifactId>commons-lang</artifactId>
<groupId>commons-lang</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>commons-httpclient</groupId>
<artifactId>commons-httpclient</artifactId>
<version>3.1</version>
<exclusions>
<exclusion>
<artifactId>commons-codec</artifactId>
<groupId>commons-codec</groupId>
</exclusion>
<exclusion>
<artifactId>commons-logging</artifactId>
<groupId>commons-logging</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>itextpdf</artifactId>
<version>5.5.11</version>
</dependency>
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>itext-asian</artifactId>
<version>5.2.0</version>
</dependency>
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>5.7.22</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.24</version>
</dependency>
<!-- <dependency>-->
<!-- <groupId>ch.qos.logback</groupId>-->
<!-- <artifactId>logback-classic</artifactId>-->
<!-- <version>1.3.0-alpha4</version>-->
<!-- </dependency>-->
<!-- <dependency>-->
<!-- <groupId>org.slf4j</groupId>-->
<!-- <artifactId>slf4j-api</artifactId>-->
<!-- <version>1.7.30</version>-->
<!-- </dependency>-->
<!-- log4j2和slf4j桥接依赖-->
<!-- <dependency>-->
<!-- <groupId>org.apache.logging.log4j</groupId>-->
<!-- <artifactId>log4j-slf4j-impl</artifactId>-->
<!-- <version>${log4j2.version}</version>-->
<!-- <exclusions>-->
<!-- <exclusion>-->
<!-- <artifactId>slf4j-api</artifactId>-->
<!-- <groupId>org.slf4j</groupId>-->
<!-- </exclusion>-->
<!-- </exclusions>-->
<!-- </dependency>-->
<!-- log4j2依赖-->
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>${log4j2.version}</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>${log4j2.version}</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-slf4j-impl</artifactId>
<version>2.13.3</version>
<exclusions>
<exclusion>
<artifactId>slf4j-api</artifactId>
<groupId>org.slf4j</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.2</version>
</dependency>
</dependencies>
<build>
<defaultGoal>install</defaultGoal>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>3.1.1</version>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<classpathPrefix>lib/</classpathPrefix>
<!--添加项目中主类-->
<mainClass>com.olm.common.RequestUtilsItext</mainClass>
</manifest>
</archive>
<descriptorRefs>
<!--给jar包起的别名-->
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.6.0</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
<encoding>UTF-8</encoding>
<compilerArguments>
<extdirs>${project.basedir}/libs</extdirs>
</compilerArguments>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>3.1.0</version>
<configuration>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
</plugins>
</build>
</project>
<?xml version="1.0" encoding="UTF-8"?>
<person user="james">
<firstName>James</firstName>
<lastName>Strachan</lastName>
<city>London</city>
</person>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<person user="hiram">
<firstName>Hiram</firstName>
<lastName>Chirino</lastName>
<city>Tampa</city>
</person>
\ No newline at end of file
package com.olm.del;
import com.olm.util.JSONUtils;
import org.apache.http.HttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;
import java.util.HashMap;
import java.util.Map;
/**
* ClassName:HttpClientUtil Package:com.olm.util Date:2020/7/27 Auth:penghui@olm.com.cn
*/
/**
* HttpClient工具类
*/
public class HttpClientUtilBak {
/**请求编码*/
private static final String DEFAULT_CHARSET = "UTF-8";
/**
* 执行HTTP POST请求
* @param url url
* @param param 参数
* @return
*/
public static String httpPostWithJSON(String url, Map<String, ?> param) {
CloseableHttpClient client = null;
try {
if (url == null || url.trim().length() == 0) {
throw new Exception("URL is null");
}
HttpPost httpPost = new HttpPost(url);
client = HttpClients.createDefault();
if (param != null) {
StringEntity entity = new StringEntity(JSONUtils.toJSONString(param), DEFAULT_CHARSET);//解决中文乱码问题
entity.setContentEncoding(DEFAULT_CHARSET);
entity.setContentType("application/json");
httpPost.setEntity(entity);
}
HttpResponse resp = client.execute(httpPost);
if (resp.getStatusLine().getStatusCode() == 200) {
return EntityUtils.toString(resp.getEntity(), DEFAULT_CHARSET);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
close(client);
}
return null;
}
/**
* 执行HTTP GET请求
* @param url url
* @param param 参数
* @return
*/
public static String httpGetWithJSON(String url, Map<String, ?> param) {
CloseableHttpClient client = null;
try {
if (url == null || url.trim().length() == 0) {
throw new Exception("URL is null");
}
client = HttpClients.createDefault();
if (param != null) {
StringBuffer sb = new StringBuffer("?");
for (String key : param.keySet()) {
sb.append(key).append("=").append(param.get(key)).append("&");
}
url = url.concat(sb.toString());
url = url.substring(0, url.length() - 1);
}
HttpGet httpGet = new HttpGet(url);
httpGet.addHeader("Accept", "text/html");
httpGet.addHeader("Accept-Charset", "utf-8");
httpGet.addHeader("Accept-Encoding", "gzip");
httpGet.addHeader("Accept-Language", "en-US,en");
//httpGet.addHeader("Authorization","Bearer ca4b6e4550d791b636e9a1d06869985fc0c2e1314ba85392a76bc94fc58b3ca9.MzYxNzk1");
httpGet.addHeader("User-Agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.160 Safari/537.22");
HttpResponse resp = client.execute(httpGet);
if (resp.getStatusLine().getStatusCode() == 200) {
return EntityUtils.toString(resp.getEntity(), DEFAULT_CHARSET);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
close(client);
}
return null;
}
/**
* 关闭HTTP请求
* @param client
*/
private static void close(CloseableHttpClient client) {
if (client == null) {
return;
}
try {
client.close();
} catch (Exception e) {
}
}
public static void main(String[] args) throws Exception {
Map param = new HashMap();
param.put("grant_type", "password");
param.put("Client_Id", "c97fbd8aca50ba94068da6ded23905df");
param.put("Client_Secret", "7a4d178ebf1d55229fd28c5cb18703da");
param.put("Redirect_Uri", "https://api.xiaoshouyi.com");
param.put("userName", "");
param.put("password", "");
String result = httpPostWithJSON("https://api.xiaoshouyi.com/oauth2/token", param);
//String result = httpGetWithJSON("https://api.xiaoshouyi.com/oauth2/token", param);
System.out.println("result:" + result);
}
}
\ No newline at end of file
package com.olm.del;
import org.apache.commons.httpclient.NameValuePair;
import org.apache.commons.httpclient.methods.PostMethod;
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
/**
* ClassName:TokenTest1 Package:com.olm.util Date:2020/7/27 Auth:penghui@olm.com.cn
*/
public class TokenTest1 {
public static void main(String[] args) {
try {
new TokenTest1().getToken("https://api.xiaoshouyi.com/oauth2/token");
} catch (Exception e) {
e.printStackTrace();
}
}
public String getToken(String postURL) throws Exception {
PostMethod postMethod = new PostMethod(postURL);
postMethod.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=utf-8");
//参数设置,需要注意的就是里边不能传NULL,要传空字符串
NameValuePair[] data = {
new NameValuePair("grant_type", "password"),
new NameValuePair("Client_Id", "c97fbd8aca50ba94068da6ded23905df"),
new NameValuePair("Client_Secret", "7a4d178ebf1d55229fd28c5cb18703da"),
new NameValuePair("Redirect_Uri", "https://api.xiaoshouyi.com"),
new NameValuePair("userName", "lyp@olm.com.cn"),
new NameValuePair("password", "lyp123456")
};
postMethod.setRequestBody(data);
org.apache.commons.httpclient.HttpClient httpClient = new org.apache.commons.httpclient.HttpClient();
httpClient.executeMethod(postMethod);
/* String result = postMethod.getResponseBodyAsString();
System.out.println(result);*/
InputStream inputStream = postMethod.getResponseBodyAsStream();
BufferedReader br = new BufferedReader(new InputStreamReader(inputStream));
StringBuffer stringBuffer = new StringBuffer();
String str = "";
while ((str = br.readLine()) != null) {
stringBuffer.append(str);
}
System.out.println(stringBuffer);
return null;
}
}
package com.olm.util;
import lombok.extern.slf4j.Slf4j;
import java.io.InputStream;
import java.util.Properties;
@Slf4j
public class Configure {
private static final Properties config;
static {
log.info("初始化加载配置!");
String filePath = "config.properties";
config = new Properties();
try {
ClassLoader CL = Configure.class.getClassLoader();
InputStream in;
if (CL != null) {
in = CL.getResourceAsStream(filePath);
} else {
in = ClassLoader.getSystemResourceAsStream(filePath);
}
config.load(in);
assert in != null;
in.close();
} catch (Exception e) {
log.error("加载配置异常", e);
}
}
public static String getValue(String key) {
if (config.containsKey(key)) {
return config.getProperty(key);
} else {
return "";
}
}
public static int getValueInt(String key) {
String value = getValue(key);
int valueInt = 0;
try {
valueInt = Integer.parseInt(value);
} catch (NumberFormatException e) {
e.printStackTrace();
return valueInt;
}
return valueInt;
}
}
\ No newline at end of file
package com.olm.util;
import cn.hutool.core.date.DateUtil;
import java.text.SimpleDateFormat;
import java.time.*;
import java.time.format.DateTimeFormatter;
import java.util.Calendar;
import java.util.Date;
/**
* ClassName:DateTime2Millis Package:com.olm.util Date:2020/8/6 Auth:penghui@olm.com.cn
*/
public class DateTime2Millis {
private static final String FORMAT_STR = "yyyy-MM-dd HH:mm:ss";
public static void main(String[] args) {
System.out.println("====== JDK7及之前 ======");
Long l1 = getMillis1();
Long l2 = date2Millis(new Date());
Long l3 = calendar2Millis(Calendar.getInstance());
Long l4 = string2Millis(new SimpleDateFormat(FORMAT_STR).format(new Date()), FORMAT_STR);//为了与以上几个保持一致
System.out.println(l1 + "\n" + l2 + "\n" + l3 + "\n" + l4);//会有几毫秒的差别
System.out.println("====== JDK8 ======");
Long l5 = getMillis2();
Long l6 = localDateTime2Millis(LocalDateTime.now());
Long l7 = localDate2Millis(LocalDate.now());
Long l8 = clock2Millis(Clock.systemUTC());
Long l9 = zoneDateTime2Millis(ZonedDateTime.now());
Long l10 = string2MillisWithJDK8(LocalDateTime.now().format(DateTimeFormatter.ofPattern(FORMAT_STR)), FORMAT_STR);//为了与以上几个保持一致
System.out.println(l5 + "\n" + l6 + "\n" + l7 + "\n" + l8 + "\n" + l9 + "\n" + l10);//会有几毫秒的差别
//上上个月26号到上个月25号
//首先判断是否是1号
//2转long型号
long customItem52__c = Long.valueOf("2").longValue();
System.out.println(customItem52__c);
Calendar d = Calendar.getInstance();
Date lld = new LasMonth.LastLastMonthDate().convert(d);
System.out.println(lld);
Date startDate = DateUtil.parseDate("2022-09-09");
System.out.println(startDate);
}
/**
* 获取时间戳
*/
public static Long getMillis1() {
return System.currentTimeMillis();
}
/* JDK7及之前 */
/**
* Date转时间戳
*/
public static Long date2Millis(Date date) {
return date.getTime();
}
/**
* Calendar转时间戳
*/
public static Long calendar2Millis(Calendar calendar) {
return calendar.getTime().getTime();
}
/**
* 日期字符串转时间戳
*/
public static Long string2Millis(String dateStr, String formatStr) {
try {
SimpleDateFormat simpleDateFormat = new SimpleDateFormat(formatStr);
return simpleDateFormat.parse(dateStr).getTime();
} catch (Exception e) {
return 0L;
}
}
/**
* 获取时间戳
*/
public static Long getMillis2() {
return Instant.now().toEpochMilli();
}
/* JDK8 */
/**
* LocalDateTime转时间戳
*/
public static Long localDateTime2Millis(LocalDateTime localDateTime) {
return localDateTime.toInstant(ZoneOffset.ofHours(8)).toEpochMilli();
}
/**
* LocalDate转时间戳
*/
public static Long localDate2Millis(LocalDate localDate) {
return LocalDateTime.of(localDate, LocalTime.MIN).toInstant(ZoneOffset.ofHours(8)).toEpochMilli();
}
/**
* Clock转时间戳
*/
public static Long clock2Millis(Clock clock) {
return clock.millis();
}
/**
* ZoneDateTIme转时间戳(这个不常用吧~)
*/
public static Long zoneDateTime2Millis(ZonedDateTime zonedDateTime) {
return zonedDateTime.toLocalDateTime().toInstant(ZoneOffset.ofHours(8)).toEpochMilli();//!!!好费劲
}
/**
* String转时间戳(JDK8)
*/
public static Long string2MillisWithJDK8(String dateStr, String formatStr) {
return LocalDateTime.parse(dateStr, DateTimeFormatter.ofPattern(formatStr)).toInstant(ZoneOffset.ofHours(8)).toEpochMilli();
}
/**
* 获取前月的第一天
*/
public String getFisrtDayOfMonth() {
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
Calendar cale = Calendar.getInstance();
cale = Calendar.getInstance();
cale.add(Calendar.MONTH, 0);
cale.set(Calendar.DAY_OF_MONTH, 1);
String firstday = format.format(cale.getTime());
System.out.println("当月第一天:" + firstday);
return firstday;
}
}
package com.olm.util;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.io.FileUtil;
import cn.hutool.core.util.StrUtil;
import lombok.extern.slf4j.Slf4j;
import java.io.*;
import java.nio.charset.StandardCharsets;
import java.sql.Struct;
import java.util.Date;
/**
* ClassName:FileUtilText Package:com.olm.util Date:2020/8/10 Auth:penghui@olm.com.cn
*/
@Slf4j
public class FileUtilText {
public static boolean writeTxtFile(String content){
String logFile = Configure.getValue("logoutpath");
if (StrUtil.contains(logFile, "2022")){
logFile = logFile.replace("2022", DateUtil.format(DateUtil.date(), "YYYY"));
}
File outFile = new File(logFile);
String logPath= outFile.getParent();
File filePath = new File(logPath);
if(!filePath.exists() && !filePath.isDirectory()){
boolean mkOk= filePath.mkdirs();
if (mkOk){
log.info("导出文件夹不存在,自动创建成功!");
}
}
if (!outFile.exists()){
try {
boolean createOk= outFile.createNewFile();
if (createOk){
log.info("导出记录不存在,自动创建成功!");
}
}catch (IOException e){
log.error("日期文件创建失败", e);
}
}
FileOutputStream fOut;
fOut = null;
boolean result = false;
try {
fOut = new FileOutputStream(outFile, true);
fOut.write((DateUtil.now() +"\t"+ content + " \r\n").getBytes(StandardCharsets.UTF_8));
result = true;
} catch (IOException e) {
e.printStackTrace();
} finally {
if (fOut != null) {
try {
fOut.close();
} catch (IOException e) {
log.error("写入文件出错",e);
}
}
}
return result;
}
}
package com.olm.util;
import org.apache.http.HttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;
import java.util.HashMap;
import java.util.Map;
/**
* ClassName:HttpClientUtil Package:com.olm.util Date:2020/7/27 Auth:penghui@olm.com.cn
*/
/**
* HttpClient工具类
*/
public class HttpClientUtil {
/**请求编码*/
private static final String DEFAULT_CHARSET = "UTF-8";
/**
* 执行HTTP POST请求
* @param url url
* @param param 参数
* @return
*/
public static String httpPostWithJSON(String url, Map<String, ?> param) {
CloseableHttpClient client = null;
try {
if (url == null || url.trim().length() == 0) {
throw new Exception("URL is null");
}
HttpPost httpPost = new HttpPost(url);
client = HttpClients.createDefault();
if (param != null) {
StringEntity entity = new StringEntity(JSONUtils.toJSONString(param), DEFAULT_CHARSET);//解决中文乱码问题
entity.setContentEncoding(DEFAULT_CHARSET);
entity.setContentType("application/x-www-form-urlencoded;charset=utf-8");
httpPost.setEntity(entity);
}
HttpResponse resp = client.execute(httpPost);
if (resp.getStatusLine().getStatusCode() == 200) {
return EntityUtils.toString(resp.getEntity(), DEFAULT_CHARSET);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
close(client);
}
return null;
}
/**
* 执行HTTP GET请求
* @param url url
* @param param 参数
* @return
*/
public static String httpGetWithJSON(String url, Map<String, ?> param) {
CloseableHttpClient client = null;
try {
if (url == null || url.trim().length() == 0) {
throw new Exception("URL is null");
}
client = HttpClients.createDefault();
if (param != null) {
StringBuffer sb = new StringBuffer("?");
for (String key : param.keySet()) {
sb.append(key).append("=").append(param.get(key)).append("&");
}
url = url.concat(sb.toString());
url = url.substring(0, url.length() - 1);
}
HttpGet httpGet = new HttpGet(url);
httpGet.addHeader("Accept", "text/html");
httpGet.addHeader("Accept-Charset", "utf-8");
httpGet.addHeader("Accept-Encoding", "gzip");
httpGet.addHeader("Accept-Language", "en-US,en");
//httpGet.addHeader("Authorization","Bearer ca4b6e4550d791b636e9a1d06869985fc0c2e1314ba85392a76bc94fc58b3ca9.MzYxNzk1");
httpGet.addHeader("User-Agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.160 Safari/537.22");
HttpResponse resp = client.execute(httpGet);
if (resp.getStatusLine().getStatusCode() == 200) {
return EntityUtils.toString(resp.getEntity(), DEFAULT_CHARSET);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
close(client);
}
return null;
}
/**
* 关闭HTTP请求
* @param client
*/
private static void close(CloseableHttpClient client) {
if (client == null) {
return;
}
try {
client.close();
} catch (Exception e) {
}
}
public static void main(String[] args) throws Exception {
Map param = new HashMap();
param.put("grant_type", "password");
param.put("Client_Id", "c97fbd8aca50ba94068da6ded23905df");
param.put("Client_Secret", "7a4d178ebf1d55229fd28c5cb18703da");
param.put("Redirect_Uri", "https://api.xiaoshouyi.com");
param.put("userName", "lyp@olm.com.cn");
param.put("password", "lyp123456" + "K5vsHr3N");
String result = httpPostWithJSON("https://api.xiaoshouyi.com/oauth2/token", param);
System.out.println("result:" + result);
}
}
\ No newline at end of file
package com.olm.util;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
/**
* ClassName:LasMonth Package:com.olm.util Date:2020/8/6 Auth:penghui@olm.com.cn
*/
public class LasMonth {
public static void main(String... args) {
//SimpleDateFormat format233 = new SimpleDateFormat("yyyy-MM-dd");
//Calendar d = Calendar.getInstance();
//Date dd = new LastMonthDate().convert(d);
//Date lld = new LastLastMonthDate().convert(d);
//System.out.println(format233.format(dd));
//System.out.println(format233.format(lld));
//System.out.println(new LasMonth().getFisrtDayOfMonth());
}
public String getFisrtDayOfMonth() {
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
Calendar cale = Calendar.getInstance();
cale.add(Calendar.MONTH, 0);
cale.set(Calendar.DAY_OF_MONTH, 1);
return format.format(cale.getTime());
}
interface Convertor<S, R> {
R convert(S s);
}
static public class LastMonthDate implements Convertor<Calendar, Date> {
public Date convert(Calendar calendar) {
calendar.add(Calendar.MONTH, -1);
calendar.set(Calendar.DAY_OF_MONTH, 25);
return calendar.getTime();
}
}
static public class LastLastMonthDate implements Convertor<Calendar, Date> {
public Date convert(Calendar calendar) {
calendar.add(Calendar.MONTH, -1);
calendar.set(Calendar.DAY_OF_MONTH, 26);
return calendar.getTime();
}
}
}
package com.olm.util;
import cn.hutool.http.HttpUtil;
import cn.hutool.json.JSONUtil;
import com.alibaba.fastjson.JSONObject;
import com.rkhd.platform.sdk.http.CommonData;
import com.rkhd.platform.sdk.http.CommonHttpClient;
import com.rkhd.platform.sdk.log.Logger;
import com.rkhd.platform.sdk.log.LoggerFactory;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
* ClassName:TokenTest Package:com.olm.util Date:2020/7/27 Auth:penghui@olm.com.cn
*/
public class TokenTest {
// 租户域:AWS
@SuppressWarnings("unused")
private static final String RANT_DOMAIN = "https://api.xiaoshouyi.com";
// 连接器数据:
private static final String CLIENT_ID = "c97fbd8aca50ba94068da6ded23905df";
private static final String CLIENT_SECRET = "7a4d178ebf1d55229fd28c5cb18703da";
private static final String REDIRECT_URL = "https://api.xiaoshouyi.com";
// 账号
private static final String USER_ACCOUNT = "lixuejin@olm.com.cn";
// 密码
private static final String USER_PASSWORD = "Lydia315";
// 安全令牌
private static final String SECURITY_CODE = "TSu53FnT";
private static final Logger logger = LoggerFactory.getLogger();
/**
* 获取管理员TOKEN(CommonHttpClient获取)
* @return String 管理员Token
*/
public static String getAccessTokenString() {
CommonHttpClient client = CommonHttpClient.instance();
CommonData data = new CommonData();
String urlNameString = RANT_DOMAIN + "/oauth2/token.action?grant_type=password&client_id=" + CLIENT_ID
+ "&client_secret=" + CLIENT_SECRET + "&redirect_uri=" + REDIRECT_URL + "&username=" + USER_ACCOUNT
+ "&password=" + USER_PASSWORD + SECURITY_CODE;
data.setCall_type("POST");
data.setCallString(urlNameString);
client.setContentEncoding("UTF-8");
JSONObject result = JSONObject.parseObject(client.execute(data).getResult());
client.close();
long issuedAt = Long.parseLong(result.get("issued_at").toString());
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = new Date(issuedAt);
String issuedAtStr = dateFormat.format(date);
String token = result.get("access_token").toString();
String type = result.get("token_type").toString();
String accessToken = type + " " + token;
logger.info("管理员token=>" + accessToken + "\t token生成时间:" + issuedAtStr);
return accessToken;
}
/**
* 获取新Token(HttpUtil获取)
* @return String 新Token
*/
public static String getAccessToken(){
String token;
String urlStr =RANT_DOMAIN + "/oauth2/token.action";
cn.hutool.json.JSONObject jsonReq = new cn.hutool.json.JSONObject();
jsonReq.putOpt("grant_type", "password");
jsonReq.putOpt("redirect_uri", REDIRECT_URL);
jsonReq.putOpt("username", USER_ACCOUNT);
jsonReq.putOpt("password", USER_PASSWORD + SECURITY_CODE);
jsonReq.putOpt("client_id", CLIENT_ID);
jsonReq.putOpt("client_secret", CLIENT_SECRET);
cn.hutool.json.JSONObject jsonResp= JSONUtil.parseObj(HttpUtil.post(urlStr, jsonReq.toString()));
String access_token = jsonResp.get("access_token").toString();
String token_type = jsonResp.get("token_type").toString();
token = token_type+ " " +access_token;
logger.info("[String]新获取:"+ token);
return token;
}
public static void main(String[] args) {
//两种获取方式,结果一样,只是获取时使用的方法不一样;
String accessToken1 = getAccessTokenString();
System.out.println("==>1、" + accessToken1);
String accessToken = getAccessToken();
System.out.println("==>2、" + accessToken);
}
}
<?xml version="1.0" encoding="UTF-8"?>
<!-- Configures the Camel Context-->
<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://www.springframework.org/schema/beans"
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd">
<camelContext xmlns="http://camel.apache.org/schema/spring">
<!-- here is a sample which processes the input files
(leaving them in place - see the 'noop' flag)
then performs content based routing on the message using XPath -->
<route>
<from uri="file:src/data?noop=true"/>
<choice>
<when>
<xpath>/person/city = 'London'</xpath>
<log message="UK message"/>
<to uri="file:target/messages/uk"/>
</when>
<otherwise>
<log message="Other message"/>
<to uri="file:target/messages/others"/>
</otherwise>
</choice>
</route>
</camelContext>
</beans>
### dev
#fileoutpath=D:/Temp/2022-09-24/olmcrm/
#logoutpath=D:/Temp/2022-09-24/olmcrm/running.log
#fistAll=false
### server
fileoutpath=/data/olmCrmPdfFile/2022/
logoutpath=/data/olmCrmPdfFile/2022/running.log
fistAll=false
<!--日志级别以及优先级排序: OFF > FATAL > ERROR > WARN > INFO > DEBUG > TRACE > ALL -->
<!--Configuration后面的status,这个用于设置log4j2自身内部的信息输出,可以不设置,当设置成trace时,你会看到log4j2内部各种详细输出-->
<!--monitorInterval:Log4j能够自动检测修改配置 文件和重新配置本身,设置间隔秒数-->
<Configuration status="OFF" monitorInterval="300">
<properties>
<property name="log.home">./logs</property>
<property name="log.pattern" value="%date{HH:mm:ss.SSS} [%thread] %-5level %logger{20} - [%method,%line] - %msg%n"/>
</properties>
<Appenders>
<Console name="Console" target="SYSTEM_OUT">
<!-- 控制台只输出level及以上级别的信息(onMatch),其他的直接拒绝(onMismatch) -->
<ThresholdFilter level="TRACE" onMatch="ACCEPT" onMismatch="DENY"/>
<!-- 控制台只输出level及以上级别的信息(onMatch),其他的直接拒绝(onMismatch) 优先级,即DEBUG,INFO,WARN,ERROR,
<ThresholdFilter level="ERROR" onMatch="DENY" onMismatch="ACCEPT"/> -->
<!-- <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n" />-->
<PatternLayout pattern="${log.pattern}"/>
</Console>
<!-- 消息在粗粒度级别上突出强调应用程序的运行过程 -->
<RollingRandomAccessFile name="InfoFile"
fileName="${log.home}/info.log"
filePattern="${log.home}/$${date:yyyy-MM}/info-%d{yyyy-MM-dd}-%i.log">
<Filters>
<ThresholdFilter level="warn" onMatch="DENY" onMismatch="NEUTRAL" />
<ThresholdFilter level="trace" onMatch="ACCEPT" onMismatch="DENY" />
</Filters>
<PatternLayout pattern="%date{yyyy-MM-dd HH:mm:ss.SSS} %level [%thread][%file:%line] - %msg%n" />
<Policies>
<TimeBasedTriggeringPolicy />
<SizeBasedTriggeringPolicy size="10 MB" />
</Policies>
<DefaultRolloverStrategy max="20" />
</RollingRandomAccessFile>
<!-- 输出错误信息日志 -->
<RollingRandomAccessFile name="ErrorFile"
fileName="${log.home}/error.log"
filePattern="${log.home}/$${date:yyyy-MM}/error-%d{yyyy-MM-dd}-%i.log">
<Filters>
<ThresholdFilter level="fatal" onMatch="DENY" onMismatch="NEUTRAL" />
<ThresholdFilter level="warn" onMatch="ACCEPT" onMismatch="DENY" />
</Filters>
<PatternLayout pattern="%date{yyyy-MM-dd HH:mm:ss.SSS} %level [%thread][%file:%line] - %msg%n" />
<Policies>
<TimeBasedTriggeringPolicy />
<SizeBasedTriggeringPolicy size="10 MB" />
</Policies>
<DefaultRolloverStrategy max="20" />
</RollingRandomAccessFile>
<!-- 输出每个严重的错误事件将会导致应用程序的退出的日志. -->
<RollingRandomAccessFile name="FatalFile"
fileName="${log.home}/fatal.log"
filePattern="${log.home}/$${date:yyyy-MM}/fatal-%d{yyyy-MM-dd}-%i.log">
<Filters>
<ThresholdFilter level="fatal" onMatch="ACCEPT" onMismatch="DENY" />
</Filters>
<PatternLayout pattern="%date{yyyy-MM-dd HH:mm:ss.SSS} %level [%thread][%file:%line] - %msg%n" />
<Policies>
<TimeBasedTriggeringPolicy />
<SizeBasedTriggeringPolicy size="10 MB" />
</Policies>
<DefaultRolloverStrategy max="20" />
</RollingRandomAccessFile>
<!-- 这个会打印出所有的信息,每次大小超过size,则这size大小的日志会自动存入按年份-月份建立的文件夹下面并进行压缩,作为存档 -->
<RollingFile name="RollingFile" fileName="${log.home}/pdf.log"
filePattern="${log.home}/$${date:yyyy-MM}/pdf-%d{MM-dd-yyyy}-%i.log.gz">
<PatternLayout pattern="[%d{yyyy-MM-dd 'at' HH:mm:ss z}] [%-5p] %l - %m%n"/>
<SizeBasedTriggeringPolicy size="2MB"/>
</RollingFile>
</Appenders>
<Loggers>
<Root level="INFO"> <!-- 这里的TRACE控制总下面的各类日志的日志级别,凡是高于此级别的都会在各自的级别文件中生成-->
<!-- <AppenderRef ref="RollingFile" />-->
<AppenderRef ref="Console" />
<AppenderRef ref="InfoFile" />
<!-- <AppenderRef ref="ErrorFile" />-->
<!-- <AppenderRef ref="FatalFile" />-->
</Root>
</Loggers>
</Configuration>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment