Explorar el Código

共享服务-粮情卡

hanqingsong hace 5 años
commit
0d325567ab

+ 6 - 0
Dockerfile

@@ -0,0 +1,6 @@
1
+FROM 192.168.123.25:31104/unis/java:8
2
+
3
+ADD ./target/depot-shared-tianjin.jar /root
4
+CMD ["sh", "-c", "cd /root; java -Djava.security.egd=file:/dev/./urandom -jar /root/depot-shared-tianjin.jar --depot-shared-tianjin.server.enable-self-preservation=false"]
5
+EXPOSE 9004
6
+

+ 181 - 0
pom.xml

@@ -0,0 +1,181 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
3
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
4
+    <modelVersion>4.0.0</modelVersion>
5
+    <!--springBoot parent version -->
6
+    <parent>
7
+        <groupId>org.springframework.boot</groupId>
8
+        <artifactId>spring-boot-starter-parent</artifactId>
9
+        <version>2.0.4.RELEASE</version>
10
+        <relativePath/> <!-- lookup parent from repository -->
11
+    </parent>
12
+    <!--model-->
13
+    <groupId>com.chinaitop</groupId>
14
+    <artifactId>depot-shared-tianjin</artifactId>
15
+    <version>0.0.1-SNAPSHOT</version>
16
+    <name>depot-shared-tianjin</name>
17
+    <!--model description-->
18
+    <description>Shared project for Spring Boot</description>
19
+
20
+    <!--tools version management-->
21
+    <properties>
22
+        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
23
+        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
24
+        <spring-cloud.version>Finchley.RELEASE</spring-cloud.version>
25
+        <java.version>1.8</java.version>
26
+    </properties>
27
+
28
+    <dependencies>
29
+        <!-- gbase依赖包 -->
30
+        <dependency>
31
+            <groupId>com.gbase8s</groupId>
32
+            <artifactId>ifxjdbc</artifactId>
33
+            <version>1.0</version>
34
+        </dependency>
35
+        <dependency>
36
+            <groupId>com.gbase</groupId>
37
+            <artifactId>druid</artifactId>
38
+            <version>1.0.28</version>
39
+        </dependency>
40
+        <!-- redis -->
41
+        <dependency>
42
+            <groupId>org.springframework.boot</groupId>
43
+            <artifactId>spring-boot-starter-data-redis</artifactId>
44
+        </dependency>
45
+        <!-- mybatis -->
46
+        <dependency>
47
+            <groupId>org.mybatis.spring.boot</groupId>
48
+            <artifactId>mybatis-spring-boot-starter</artifactId>
49
+            <version>1.3.1</version>
50
+        </dependency>
51
+        <!-- swagger2 -->
52
+        <dependency>
53
+            <groupId>io.springfox</groupId>
54
+            <artifactId>springfox-swagger2</artifactId>
55
+            <version>2.6.1</version>
56
+        </dependency>
57
+        <dependency>
58
+            <groupId>io.springfox</groupId>
59
+            <artifactId>springfox-swagger-ui</artifactId>
60
+            <version>2.6.1</version>
61
+        </dependency>
62
+        <dependency>
63
+            <groupId>com.unis.springcloud</groupId>
64
+            <artifactId>common</artifactId>
65
+            <version>0.0.5-SNAPSHOT</version>
66
+        </dependency>
67
+        <!-- 引入spring boot自带的pagehelper插件 -->
68
+        <dependency>
69
+            <groupId>com.github.pagehelper</groupId>
70
+            <artifactId>pagehelper-spring-boot-starter</artifactId>
71
+            <version>1.2.3</version>
72
+        </dependency>
73
+        <!-- commons工具类jar -->
74
+        <dependency>
75
+            <groupId>org.apache.commons</groupId>
76
+            <artifactId>commons-lang3</artifactId>
77
+            <version>3.7</version>
78
+        </dependency>
79
+        <!-- 阿里巴巴json -->
80
+        <dependency>
81
+            <groupId>com.alibaba</groupId>
82
+            <artifactId>fastjson</artifactId>
83
+            <version>1.2.37</version>
84
+        </dependency>
85
+        <!--poi-->
86
+        <dependency>
87
+            <groupId>org.apache.poi</groupId>
88
+            <artifactId>poi-ooxml</artifactId>
89
+            <version>3.9</version>
90
+        </dependency>
91
+        <!-- 日志-->
92
+        <dependency>
93
+            <groupId>ch.qos.logback</groupId>
94
+            <artifactId>logback-classic</artifactId>
95
+        </dependency>
96
+        <!-- springCloud dependency -->
97
+        <dependency>
98
+            <groupId>org.springframework.cloud</groupId>
99
+            <artifactId>spring-cloud-starter-config</artifactId>
100
+        </dependency>
101
+        <dependency>
102
+            <groupId>org.springframework.boot</groupId>
103
+            <artifactId>spring-boot-starter-web</artifactId>
104
+        </dependency>
105
+        <!-- 导入eureka-client服务的依赖 -->
106
+        <dependency>
107
+            <groupId>org.springframework.cloud</groupId>
108
+            <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
109
+        </dependency>
110
+        <!-- springBoot test dependency -->
111
+        <dependency>
112
+            <groupId>org.springframework.boot</groupId>
113
+            <artifactId>spring-boot-starter-test</artifactId>
114
+            <scope>test</scope>
115
+        </dependency>
116
+    </dependencies>
117
+
118
+    <!-- 导入Spring Cloud的依赖管理 -->
119
+    <dependencyManagement>
120
+        <dependencies>
121
+            <dependency>
122
+                <groupId>org.springframework.cloud</groupId>
123
+                <artifactId>spring-cloud-dependencies</artifactId>
124
+                <version>${spring-cloud.version}</version>
125
+                <type>pom</type>
126
+                <scope>import</scope>
127
+            </dependency>
128
+        </dependencies>
129
+    </dependencyManagement>
130
+
131
+    <build>
132
+        <!--定义编译,打包,部署的项目名称-->
133
+        <finalName>${project.artifactId}</finalName>
134
+        <plugins>
135
+            <plugin>
136
+                <groupId>org.springframework.boot</groupId>
137
+                <artifactId>spring-boot-maven-plugin</artifactId>
138
+            </plugin>
139
+            <!--跳过测试代码的编译-->
140
+            <plugin>
141
+                <groupId>org.apache.maven.plugins</groupId>
142
+                <artifactId>maven-surefire-plugin</artifactId>
143
+                <configuration>
144
+                    <skip>true</skip>
145
+                </configuration>
146
+            </plugin>
147
+        </plugins>
148
+        <!--配置资源节点-->
149
+        <resources>
150
+            <resource>
151
+                <directory>src/main/java</directory>
152
+                <includes>
153
+                    <!--mapper.xml文件-->
154
+                    <include>**/*.xml</include>
155
+                </includes>
156
+            </resource>
157
+            <resource>
158
+                <directory>src/main/resources</directory>
159
+                <filtering>true</filtering>
160
+                <includes>
161
+                    <include>*.properties</include>
162
+                    <include>*.yml</include>
163
+                    <include>**/*.xml</include>
164
+                </includes>
165
+            </resource>
166
+        </resources>
167
+    </build>
168
+    <!--使用Spring稳定版本-->
169
+    <repositories>
170
+        <repository>
171
+            <id>spring-milestones</id>
172
+            <name>Spring Milestones</name>
173
+            <url>https://repo.spring.io/milestone</url>
174
+            <!--不下载snapshots快照版-->
175
+            <snapshots>
176
+                <enabled>false</enabled>
177
+            </snapshots>
178
+        </repository>
179
+    </repositories>
180
+
181
+</project>

+ 18 - 0
src/main/java/com/chinaitop/depot/DepotSharedTianjinApplication.java

@@ -0,0 +1,18 @@
1
+package com.chinaitop.depot;
2
+
3
+import com.github.pagehelper.autoconfigure.PageHelperAutoConfiguration;
4
+import org.mybatis.spring.annotation.MapperScan;
5
+import org.springframework.boot.SpringApplication;
6
+import org.springframework.boot.autoconfigure.SpringBootApplication;
7
+import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
8
+
9
+@EnableDiscoveryClient
10
+@MapperScan(basePackages = {"com.chinaitop.depot.*.mapper"})
11
+@SpringBootApplication(exclude = PageHelperAutoConfiguration.class) //配置mybatis的配置文件使用,否则报多个分页插件
12
+public class DepotSharedTianjinApplication {
13
+
14
+    public static void main(String[] args) {
15
+        SpringApplication.run(DepotSharedTianjinApplication.class, args);
16
+    }
17
+
18
+}

+ 97 - 0
src/main/java/com/chinaitop/depot/common/ResponseEntity.java

@@ -0,0 +1,97 @@
1
+package com.chinaitop.depot.common;
2
+
3
+import java.io.Serializable;
4
+
5
+//返回基类
6
+public class ResponseEntity<T> implements Serializable {
7
+
8
+    private static final long serialVersionUID = -8492525804317328709L;
9
+
10
+    //成功
11
+    private static final String OK = "200";
12
+    //失败
13
+    private static final String FAILED = "600";
14
+    private static final String BUSSINESS_FAILED = "550";
15
+    private static final String UNAUTHENTICATION = "401";
16
+
17
+
18
+    private String retCode;
19
+    private String message;
20
+    private T data;
21
+
22
+    public String getRetCode() {
23
+        return retCode;
24
+    }
25
+
26
+    public void setRetCode(String retCode) {
27
+        this.retCode = retCode;
28
+    }
29
+
30
+    public String getMessage() {
31
+        return message;
32
+    }
33
+
34
+    public void setMessage(String message) {
35
+        this.message = message;
36
+    }
37
+
38
+    public T getData() {
39
+        return data;
40
+    }
41
+
42
+    public void setData(T data) {
43
+        this.data = data;
44
+    }
45
+
46
+    private static <T> ResponseEntity<T> buildResponse(String retCode, String message, T data){
47
+        ResponseEntity<T> responseEntity = new ResponseEntity<T>();
48
+        responseEntity.retCode = retCode;
49
+        responseEntity.message = message;
50
+        responseEntity.data = data;
51
+        return responseEntity;
52
+    }
53
+
54
+    public static <T> ResponseEntity<T> ok(){
55
+        return buildResponse(ResponseEntity.OK,"success",null);
56
+    }
57
+    public static <T> ResponseEntity<T> ok(T data){
58
+        return buildResponse(ResponseEntity.OK,"success",data);
59
+
60
+    }
61
+    public static <T> ResponseEntity<T> ok(String message, T data){
62
+        return buildResponse(ResponseEntity.OK,message,data);
63
+    }
64
+
65
+
66
+    public static <T> ResponseEntity<T> failed(String message){
67
+        return buildResponse(ResponseEntity.FAILED,message,null);
68
+    }
69
+
70
+    public static <T> ResponseEntity<T> businessFailed(String message){
71
+        return buildResponse(ResponseEntity.BUSSINESS_FAILED,message,null);
72
+    }
73
+
74
+    public static <T> ResponseEntity<T> unauthentication(String message){
75
+        return buildResponse(ResponseEntity.UNAUTHENTICATION,message,null);
76
+    }
77
+
78
+    private String state;
79
+    private String msg;
80
+
81
+    public String getState() {
82
+        return state;
83
+    }
84
+
85
+    public void setState(String state) {
86
+        this.state = state;
87
+    }
88
+
89
+    public String getMsg() {
90
+        return msg;
91
+    }
92
+
93
+    public void setMsg(String msg) {
94
+        this.msg = msg;
95
+    }
96
+}
97
+

+ 22 - 0
src/main/java/com/chinaitop/depot/config/SwaggerConfig.java

@@ -0,0 +1,22 @@
1
+package com.chinaitop.depot.config;
2
+
3
+import com.unis.common.utils.SwaggerUtil;
4
+import org.springframework.beans.factory.annotation.Value;
5
+import org.springframework.context.annotation.Bean;
6
+import org.springframework.context.annotation.Configuration;
7
+import springfox.documentation.spring.web.plugins.Docket;
8
+import springfox.documentation.swagger2.annotations.EnableSwagger2;
9
+
10
+@Configuration
11
+@EnableSwagger2
12
+public class SwaggerConfig {
13
+
14
+    @Value("${spring.application.name}")
15
+    private String applicationName;
16
+
17
+    @Bean
18
+    public Docket createRestApi() {
19
+        return SwaggerUtil.getDocket(applicationName);
20
+    }
21
+
22
+}

+ 37 - 0
src/main/java/com/chinaitop/depot/grainSituationCard/controller/GrainTemperatureController.java

@@ -0,0 +1,37 @@
1
+package com.chinaitop.depot.grainSituationCard.controller;
2
+
3
+import com.chinaitop.depot.common.ResponseEntity;
4
+import com.chinaitop.depot.grainSituationCard.service.GrainTemperatureService;
5
+import io.swagger.annotations.Api;
6
+import io.swagger.annotations.ApiImplicitParam;
7
+import io.swagger.annotations.ApiImplicitParams;
8
+import io.swagger.annotations.ApiOperation;
9
+import org.springframework.http.MediaType;
10
+import org.springframework.web.bind.annotation.RequestMapping;
11
+import org.springframework.web.bind.annotation.RequestMethod;
12
+import org.springframework.web.bind.annotation.RestController;
13
+
14
+import javax.annotation.Resource;
15
+
16
+/**
17
+ * @author qingsong.han
18
+ * @description: 粮食温度
19
+ * @create 2020-06-28 15:19
20
+ */
21
+@RestController
22
+@RequestMapping(value = "/grainTemperature")
23
+@Api(value= "GrainTemperatureController", description = "粮情卡")
24
+public class GrainTemperatureController {
25
+    @Resource
26
+    private GrainTemperatureService temperatureService;
27
+
28
+    @RequestMapping(value = "/test", produces = MediaType.APPLICATION_JSON_VALUE, method = RequestMethod.GET)
29
+    @ApiOperation(value="test", notes = "查询test")
30
+    @ApiImplicitParams({
31
+            @ApiImplicitParam(name = "id", value = "页码", paramType = "query")
32
+    })
33
+    public ResponseEntity test(String id){
34
+        String test = temperatureService.test(id);
35
+        return ResponseEntity.ok(test);
36
+    }
37
+}

+ 15 - 0
src/main/java/com/chinaitop/depot/grainSituationCard/mapper/GrainTemperatureMapper.java

@@ -0,0 +1,15 @@
1
+package com.chinaitop.depot.grainSituationCard.mapper;
2
+
3
+import org.apache.ibatis.annotations.Param;
4
+import org.springframework.stereotype.Repository;
5
+
6
+/**
7
+ * @author qingsong.han
8
+ * @description:
9
+ * @create 2020-06-29 13:07
10
+ */
11
+@Repository
12
+public interface GrainTemperatureMapper {
13
+
14
+    String test(@Param("id") String id);
15
+}

+ 14 - 0
src/main/java/com/chinaitop/depot/grainSituationCard/mapper/GrainTemperatureMapper.xml

@@ -0,0 +1,14 @@
1
+<?xml version="1.0" encoding="UTF-8" ?>
2
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
3
+<mapper namespace="com.chinaitop.depot.grainSituationCard.mapper.GrainTemperatureMapper" >
4
+  <select id="test" parameterType="java.lang.String" resultType="java.lang.String">
5
+    select
6
+        t_points
7
+    from
8
+        t_testdata
9
+    where
10
+    <if test="id != null">
11
+      id = #{id}
12
+    </if>
13
+  </select>
14
+</mapper>

+ 11 - 0
src/main/java/com/chinaitop/depot/grainSituationCard/service/GrainTemperatureService.java

@@ -0,0 +1,11 @@
1
+package com.chinaitop.depot.grainSituationCard.service;
2
+
3
+/**
4
+ * @author qingsong.han
5
+ * @description:
6
+ * @create 2020-06-29 13:02
7
+ */
8
+public interface GrainTemperatureService {
9
+
10
+    String test(String id);
11
+}

+ 23 - 0
src/main/java/com/chinaitop/depot/grainSituationCard/service/impl/GrainTemperatureServiceImpl.java

@@ -0,0 +1,23 @@
1
+package com.chinaitop.depot.grainSituationCard.service.impl;
2
+
3
+import com.chinaitop.depot.grainSituationCard.mapper.GrainTemperatureMapper;
4
+import com.chinaitop.depot.grainSituationCard.service.GrainTemperatureService;
5
+import org.springframework.stereotype.Service;
6
+
7
+import javax.annotation.Resource;
8
+
9
+/**
10
+ * @author qingsong.han
11
+ * @description:
12
+ * @create 2020-06-29 13:06
13
+ */
14
+@Service
15
+public class GrainTemperatureServiceImpl implements GrainTemperatureService {
16
+    @Resource
17
+    private GrainTemperatureMapper temperatureMapper;
18
+
19
+    @Override
20
+    public String test(String id) {
21
+        return temperatureMapper.test(id);
22
+    }
23
+}

+ 55 - 0
src/main/resources/bootstrap.yml

@@ -0,0 +1,55 @@
1
+#本地开发环境
2
+server:
3
+  port: 9004
4
+  tomcat:
5
+    uri-encoding: utf-8
6
+# 注册中心配置
7
+eureka:
8
+  client:
9
+    service-url:
10
+      defaultZone: http://localhost:9001/eureka/
11
+#      defaultZone: http://eureka-depot-tj:9001/eureka/
12
+#    register-with-eureka: false
13
+#    fetchRegistry: false
14
+  instance:
15
+    prefer-ip-address: true
16
+    lease-renewal-interval-in-seconds: 10
17
+    lease-expiration-duration-in-seconds: 30
18
+    status-page-url-path: /swagger-ui.html
19
+
20
+spring:
21
+  application:
22
+    name: depot-shared-tianjin
23
+  # 数据库配置
24
+  datasource:
25
+    type: com.alibaba.druid.pool.DruidDataSource
26
+    driver-class-name: com.gbasedbt.jdbc.IfxDriver
27
+    url: jdbc:gbasedbt-sqli://101.36.160.140:19089/depot:INFORMIXSERVER=ol_gbasedbt1210;NEWCODESET=GB18030,GB18030-2000,5488;DB_LOCALE=zh_cn.GB18030-2000;GL_USEGLU=1;IFX_USE_STRENC=true;characterEncoding=utf8;
28
+    username: gbasedbt
29
+    password: cDbK2S0go8
30
+  # 缓存配置 host: redis-depot
31
+  session:
32
+    store-type: redis
33
+  redis:
34
+    database: 2
35
+    host: 127.0.0.1
36
+    port: 6379
37
+    password:
38
+    timeout: 3000
39
+    jedis:
40
+      pool:
41
+        max-active: 8
42
+        max-wait: -1
43
+        max-idle: 8
44
+        min-idle: 0
45
+  # 静态资源配置
46
+#  resources:
47
+#    static-locations: classpath:/META-INF/resources/,classpath:/resources/,classpath:/static/,classpath:/public/,file:${web.upload-path}
48
+  servlet:
49
+    multipart:
50
+      max-file-size: 20MB
51
+      max-request-size: 20MB
52
+mybatis:
53
+  config-location: classpath:mybatis/mybatis-config.xml
54
+#web:
55
+#  upload-path: /home

+ 54 - 0
src/main/resources/logback.xml

@@ -0,0 +1,54 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<configuration debug="false">
3
+    <!--定义日志文件的存储地址 勿在 LogBack 的配置中使用相对路径-->
4
+    <property name="LOG_HOME" value="./logs" />
5
+    <!-- 控制台输出 -->
6
+    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
7
+        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
8
+            <!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符-->
9
+            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
10
+        </encoder>
11
+    </appender>
12
+    <!-- 按照每天生成日志文件 -->
13
+    <appender name="FILE"  class="ch.qos.logback.core.rolling.RollingFileAppender">
14
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
15
+            <!--日志文件输出的文件名-->
16
+            <FileNamePattern>${LOG_HOME}/depot-shared-%d{yyyy-MM-dd}.log</FileNamePattern>
17
+            <!--日志文件保留天数-->
18
+            <MaxHistory>30</MaxHistory>
19
+        </rollingPolicy>
20
+        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
21
+            <!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符-->
22
+            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
23
+        </encoder>
24
+        <!--日志文件最大的大小-->
25
+        <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
26
+            <MaxFileSize>10MB</MaxFileSize>
27
+        </triggeringPolicy>
28
+    </appender>
29
+
30
+    <!--myibatis log configure-->
31
+    <logger name="com.apache.ibatis" level="TRACE"/>
32
+    <logger name="java.sql.Connection" level="DEBUG"/>
33
+    <logger name="java.sql.Statement" level="DEBUG"/>
34
+    <logger name="java.sql.PreparedStatement" level="DEBUG"/>
35
+
36
+    <!-- 日志输出级别 -->
37
+    <root level="INFO">
38
+        <appender-ref ref="STDOUT" />
39
+        <appender-ref ref="FILE" />
40
+    </root>
41
+    <!--日志异步到数据库 -->
42
+    <!--<appender name="DB" class="ch.qos.logback.classic.db.DBAppender">-->
43
+    <!--&lt;!&ndash;日志异步到数据库 &ndash;&gt;-->
44
+    <!--<connectionSource class="ch.qos.logback.core.db.DriverManagerConnectionSource">-->
45
+    <!--&lt;!&ndash;连接池 &ndash;&gt;-->
46
+    <!--<dataSource class="com.mchange.v2.c3p0.ComboPooledDataSource">-->
47
+    <!--<driverClass>com.mysql.jdbc.Driver</driverClass>-->
48
+    <!--<url>jdbc:mysql://127.0.0.1:3306/databaseName</url>-->
49
+    <!--<user>root</user>-->
50
+    <!--<password>root</password>-->
51
+    <!--</dataSource>-->
52
+    <!--</connectionSource>-->
53
+    <!--</appender>-->
54
+</configuration>

+ 9 - 0
src/main/resources/mybatis/mybatis-config.xml

@@ -0,0 +1,9 @@
1
+<?xml version="1.0" encoding="UTF-8" ?>
2
+<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
3
+<configuration>
4
+	<plugins>
5
+  			<plugin interceptor="com.github.pagehelper.PageInterceptor">
6
+  				<property name="helperDialect" value="informix" />
7
+  			</plugin>
8
+	</plugins>
9
+</configuration>

+ 16 - 0
src/test/java/com/chinaitop/depot/DepotSharedTianjinApplicationTests.java

@@ -0,0 +1,16 @@
1
+package com.chinaitop.depot;
2
+
3
+import org.junit.Test;
4
+import org.junit.runner.RunWith;
5
+import org.springframework.boot.test.context.SpringBootTest;
6
+import org.springframework.test.context.junit4.SpringRunner;
7
+
8
+@RunWith(SpringRunner.class)
9
+@SpringBootTest
10
+public class DepotSharedTianjinApplicationTests {
11
+
12
+    @Test
13
+    void contextLoads() {
14
+    }
15
+
16
+}