Commit a076131a7e8f71a8adc446e96b31f3333508b889
0 parents
Exists in
master
初始化提交
Showing
22 changed files
with
2375 additions
and
0 deletions
Show diff stats
1 | +++ a/pom.xml | ||
@@ -0,0 +1,158 @@ | @@ -0,0 +1,158 @@ | ||
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 http://maven.apache.org/xsd/maven-4.0.0.xsd"> | ||
4 | + <modelVersion>4.0.0</modelVersion> | ||
5 | + | ||
6 | + <groupId>com.songshu.mongo</groupId> | ||
7 | + <artifactId>mongo-model</artifactId> | ||
8 | + <version>0.0.1-SNAPSHOT</version> | ||
9 | + <packaging>jar</packaging> | ||
10 | + | ||
11 | + <name>mongo-model</name> | ||
12 | + <description>Demo project for Spring Boot</description> | ||
13 | + | ||
14 | + <parent> | ||
15 | + <groupId>org.springframework.boot</groupId> | ||
16 | + <artifactId>spring-boot-starter-parent</artifactId> | ||
17 | + <version>1.5.3.RELEASE</version> | ||
18 | + <relativePath/> <!-- lookup parent from repository --> | ||
19 | + </parent> | ||
20 | + | ||
21 | + <properties> | ||
22 | + <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> | ||
23 | + <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> | ||
24 | + <version.jackson>2.8.8</version.jackson> | ||
25 | + <java.version>1.8</java.version> | ||
26 | + </properties> | ||
27 | + | ||
28 | + <dependencies> | ||
29 | + <!----> | ||
30 | + <dependency> | ||
31 | + <groupId>com.alibaba</groupId> | ||
32 | + <artifactId>fastjson</artifactId> | ||
33 | + <version>1.2.31</version> | ||
34 | + </dependency> | ||
35 | + <dependency> | ||
36 | + <groupId>com.mangofactory</groupId> | ||
37 | + <artifactId>swagger-springmvc</artifactId> | ||
38 | + <version>1.0.2</version> | ||
39 | + </dependency> | ||
40 | + | ||
41 | + <dependency> | ||
42 | + <groupId>org.springframework.boot</groupId> | ||
43 | + <artifactId>spring-boot-starter-data-mongodb</artifactId> | ||
44 | + </dependency> | ||
45 | + | ||
46 | + <!--mongodb驱动--> | ||
47 | + <dependency> | ||
48 | + <groupId>org.mongodb</groupId> | ||
49 | + <artifactId>mongodb-driver</artifactId> | ||
50 | + <version>3.4.2</version> | ||
51 | + </dependency> | ||
52 | + | ||
53 | + <dependency> | ||
54 | + <groupId>commons-lang</groupId> | ||
55 | + <artifactId>commons-lang</artifactId> | ||
56 | + <version>2.6</version> | ||
57 | + </dependency> | ||
58 | + | ||
59 | + <!--fatsjson--> | ||
60 | + <dependency> | ||
61 | + <groupId>com.alibaba</groupId> | ||
62 | + <artifactId>fastjson</artifactId> | ||
63 | + <version>1.2.51</version> | ||
64 | + </dependency> | ||
65 | + | ||
66 | + | ||
67 | + <!-- https://mvnrepository.com/artifact/org.projectlombok/lombok --> | ||
68 | + <dependency> | ||
69 | + <groupId>org.projectlombok</groupId> | ||
70 | + <artifactId>lombok</artifactId> | ||
71 | + <version>1.16.16</version> | ||
72 | + </dependency> | ||
73 | + | ||
74 | + <dependency> | ||
75 | + <groupId>com.fasterxml.jackson.core</groupId> | ||
76 | + <artifactId>jackson-annotations</artifactId> | ||
77 | + <version>${version.jackson}</version> | ||
78 | + </dependency> | ||
79 | + <dependency> | ||
80 | + <groupId>com.fasterxml.jackson.core</groupId> | ||
81 | + <artifactId>jackson-databind</artifactId> | ||
82 | + <version>${version.jackson}</version> | ||
83 | + </dependency> | ||
84 | + <dependency> | ||
85 | + <groupId>com.fasterxml.jackson.core</groupId> | ||
86 | + <artifactId>jackson-core</artifactId> | ||
87 | + <version>${version.jackson}</version> | ||
88 | + </dependency> | ||
89 | + | ||
90 | + <dependency> | ||
91 | + <groupId>org.springframework.boot</groupId> | ||
92 | + <artifactId>spring-boot-starter-web</artifactId> | ||
93 | + </dependency> | ||
94 | + | ||
95 | + <dependency> | ||
96 | + <groupId>org.springframework.boot</groupId> | ||
97 | + <artifactId>spring-boot-starter-test</artifactId> | ||
98 | + <scope>test</scope> | ||
99 | + </dependency> | ||
100 | + <dependency> | ||
101 | + <groupId>org.springframework.restdocs</groupId> | ||
102 | + <artifactId>spring-restdocs-mockmvc</artifactId> | ||
103 | + <scope>test</scope> | ||
104 | + </dependency> | ||
105 | + <dependency> | ||
106 | + <groupId>org.springframework.boot</groupId> | ||
107 | + <artifactId>spring-boot-test</artifactId> | ||
108 | + </dependency> | ||
109 | + <dependency> | ||
110 | + <groupId>org.junit.jupiter</groupId> | ||
111 | + <artifactId>junit-jupiter</artifactId> | ||
112 | + <version>RELEASE</version> | ||
113 | + <scope>compile</scope> | ||
114 | + </dependency> | ||
115 | + <dependency> | ||
116 | + <groupId>org.junit.jupiter</groupId> | ||
117 | + <artifactId>junit-jupiter</artifactId> | ||
118 | + <version>RELEASE</version> | ||
119 | + <scope>compile</scope> | ||
120 | + </dependency> | ||
121 | + <dependency> | ||
122 | + <groupId>junit</groupId> | ||
123 | + <artifactId>junit</artifactId> | ||
124 | + </dependency> | ||
125 | + <dependency> | ||
126 | + <groupId>org.springframework</groupId> | ||
127 | + <artifactId>spring-test</artifactId> | ||
128 | + </dependency> | ||
129 | + <dependency> | ||
130 | + <groupId>org.springframework</groupId> | ||
131 | + <artifactId>spring-test</artifactId> | ||
132 | + </dependency> | ||
133 | +<!-- <dependency>--> | ||
134 | +<!-- <groupId>org.projectlombok</groupId>--> | ||
135 | +<!-- <artifactId>lombok</artifactId>--> | ||
136 | +<!-- <version>1.18.22</version>--> | ||
137 | +<!-- <optional>true</optional>--> | ||
138 | +<!-- </dependency>--> | ||
139 | + | ||
140 | + <dependency> | ||
141 | + <groupId>mysql</groupId> | ||
142 | + <artifactId>mysql-connector-java</artifactId> | ||
143 | + <version>5.1.29</version> | ||
144 | + </dependency> | ||
145 | + | ||
146 | + </dependencies> | ||
147 | + | ||
148 | + <build> | ||
149 | + <plugins> | ||
150 | + <plugin> | ||
151 | + <groupId>org.springframework.boot</groupId> | ||
152 | + <artifactId>spring-boot-maven-plugin</artifactId> | ||
153 | + </plugin> | ||
154 | + </plugins> | ||
155 | + </build> | ||
156 | + | ||
157 | + | ||
158 | +</project> |
src/main/java/com/songshu/mongo/MongoModelApplication.java
0 → 100644
1 | +++ a/src/main/java/com/songshu/mongo/MongoModelApplication.java | ||
@@ -0,0 +1,16 @@ | @@ -0,0 +1,16 @@ | ||
1 | +package com.songshu.mongo; | ||
2 | + | ||
3 | +import org.springframework.boot.SpringApplication; | ||
4 | +import org.springframework.boot.autoconfigure.SpringBootApplication; | ||
5 | +import org.springframework.boot.autoconfigure.mongo.MongoAutoConfiguration; | ||
6 | +import org.springframework.context.annotation.ComponentScan; | ||
7 | + | ||
8 | + | ||
9 | +@SpringBootApplication | ||
10 | +@ComponentScan(basePackages = "com.songshu.mongo.*") | ||
11 | +public class MongoModelApplication { | ||
12 | + | ||
13 | + public static void main(String[] args) { | ||
14 | + SpringApplication.run(MongoModelApplication.class, args); | ||
15 | + } | ||
16 | +} |
src/main/java/com/songshu/mongo/controller/StaticScheduleTaskController.java
0 → 100644
1 | +++ a/src/main/java/com/songshu/mongo/controller/StaticScheduleTaskController.java | ||
@@ -0,0 +1,82 @@ | @@ -0,0 +1,82 @@ | ||
1 | +package com.songshu.mongo.controller; | ||
2 | + | ||
3 | + | ||
4 | +import com.songshu.mongo.service.StaticScheduleTaskService; | ||
5 | +import com.songshu.mongo.service.UpdateTingcheService; | ||
6 | +import lombok.extern.slf4j.Slf4j; | ||
7 | +import org.springframework.beans.factory.annotation.Autowired; | ||
8 | +import org.springframework.context.annotation.Configuration; | ||
9 | +import org.springframework.scheduling.annotation.EnableScheduling; | ||
10 | +import org.springframework.scheduling.annotation.Scheduled; | ||
11 | + | ||
12 | +import java.time.LocalDateTime; | ||
13 | + | ||
14 | +/** | ||
15 | + * cw | ||
16 | + * 定时任务 | ||
17 | + */ | ||
18 | +@Configuration | ||
19 | +@EnableScheduling | ||
20 | +@Slf4j | ||
21 | +public class StaticScheduleTaskController { | ||
22 | + @Autowired | ||
23 | + private StaticScheduleTaskService staticScheduleTaskService; | ||
24 | + | ||
25 | + @Autowired | ||
26 | + private UpdateTingcheService updateTingcheService; | ||
27 | + | ||
28 | +// /** | ||
29 | +// * @Scheduled-cron : 指定定时任务的执行时间 | ||
30 | +// * 或直接指定时间间隔,例如:5秒 | ||
31 | +// * @Scheduled(fixedRate=5000) 案例-案例 | ||
32 | +// */ | ||
33 | +// @Scheduled(cron = "0/5 * * * * ?") | ||
34 | +// private void configureTask() { | ||
35 | +// log.info("执行静态定时任务时间: {}", LocalDateTime.now()); | ||
36 | +// } | ||
37 | + | ||
38 | +// 每隔5秒执行一次:*/5 * * * * ? | ||
39 | +// 每隔1分钟执行一次:0 */1 * * * ? | ||
40 | +// 每天23点执行一次:0 0 23 * * ? | ||
41 | +// 每天凌晨1点执行一次:0 0 1 * * ? | ||
42 | +// 每月1号凌晨1点执行一次:0 0 1 1 * ? | ||
43 | +// 每月最后一天23点执行一次:0 0 23 L * ? | ||
44 | +// 每周星期天凌晨1点实行一次:0 0 1 ? * L | ||
45 | +// 在26分、29分、33分执行一次:0 26,29,33 * * * ? | ||
46 | +// 每天的0点、13点、18点、21点都执行一次:0 0 0,13,18,21 * * ? | ||
47 | + | ||
48 | + /** | ||
49 | + * 租赁合同 | ||
50 | + */ | ||
51 | + @Scheduled(cron = "0 0 1 * * ?") | ||
52 | + private void ScheduledTask() { | ||
53 | + //room 表 | ||
54 | + staticScheduleTaskService.SynchronousDataRoom(); | ||
55 | + //buildings 楼宇表 | ||
56 | + staticScheduleTaskService.SynchronousDataRuildings(); | ||
57 | + //客户合同 | ||
58 | + staticScheduleTaskService.SynchronousDataContracts(); | ||
59 | + //客户合同-房间 | ||
60 | + staticScheduleTaskService.SynchronousDataContractsRoom(); | ||
61 | + //客户 | ||
62 | + staticScheduleTaskService.SynchronousDataAccounts(); | ||
63 | + //合同收款表 | ||
64 | + staticScheduleTaskService.SynchronousDataContractReceipts(); | ||
65 | + } | ||
66 | + | ||
67 | + | ||
68 | + /*** | ||
69 | + * 停车 | ||
70 | + */ | ||
71 | + @Scheduled(cron = "0 */5 * * * ?") | ||
72 | + private void ScheduledTask2() { | ||
73 | + updateTingcheService.updateTjTcsjtjn(); | ||
74 | + updateTingcheService.updateTjCljrsctjn(); | ||
75 | + updateTingcheService.updateTjCljrsctjy(); | ||
76 | + updateTingcheService.updateTjCljrsctjr(); | ||
77 | + updateTingcheService.updateTjParkingPayment(); | ||
78 | + updateTingcheService.updateTjVehicleRecords(); | ||
79 | + } | ||
80 | + | ||
81 | + | ||
82 | +} |
1 | +++ a/src/main/java/com/songshu/mongo/model/dto/Accounts.java | ||
@@ -0,0 +1,30 @@ | @@ -0,0 +1,30 @@ | ||
1 | +package com.songshu.mongo.model.dto; | ||
2 | + | ||
3 | +import lombok.Data; | ||
4 | +import org.springframework.data.mongodb.core.mapping.Document; | ||
5 | + | ||
6 | +import java.util.Date; | ||
7 | + | ||
8 | +@Data | ||
9 | +@Document(collection = "accounts") | ||
10 | +public class Accounts { | ||
11 | + private String _id; | ||
12 | + private String name; | ||
13 | + private String tax_number; | ||
14 | + private Date in_time; | ||
15 | + private String in_or_out; | ||
16 | + private String invoice_type; | ||
17 | + private String regis_amount; | ||
18 | + private String financing_amount; | ||
19 | + private String space; | ||
20 | + private String owner; | ||
21 | + private Date created; | ||
22 | + private Date modified; | ||
23 | + private String created_by; | ||
24 | + private String modified_by; | ||
25 | + private String company_id; | ||
26 | + private Date regis_time; | ||
27 | + private String regis_location; | ||
28 | + private String Legal_person; | ||
29 | + private Date out_time; | ||
30 | +} |
src/main/java/com/songshu/mongo/model/dto/AuditRecords.java
0 → 100644
1 | +++ a/src/main/java/com/songshu/mongo/model/dto/AuditRecords.java | ||
@@ -0,0 +1,10 @@ | @@ -0,0 +1,10 @@ | ||
1 | +package com.songshu.mongo.model.dto; | ||
2 | + | ||
3 | +import lombok.Data; | ||
4 | +import org.springframework.data.mongodb.core.mapping.Document; | ||
5 | + | ||
6 | +@Data | ||
7 | +@Document(collection = "audit_records") | ||
8 | +public class AuditRecords { | ||
9 | + private String _id; | ||
10 | +} |
1 | +++ a/src/main/java/com/songshu/mongo/model/dto/BookDTO.java | ||
@@ -0,0 +1,34 @@ | @@ -0,0 +1,34 @@ | ||
1 | +package com.songshu.mongo.model.dto; | ||
2 | + | ||
3 | +import com.wordnik.swagger.annotations.ApiModelProperty; | ||
4 | +import lombok.Data; | ||
5 | +import org.springframework.data.annotation.Id; | ||
6 | +import org.springframework.data.mongodb.core.mapping.Document; | ||
7 | + | ||
8 | +import java.io.Serializable; | ||
9 | + | ||
10 | +/** | ||
11 | + * 案例表demo1 | ||
12 | + */ | ||
13 | +//@Document如果数据库中使用的表名与实体类不同名必须增加Document注解,一致可省略。 | ||
14 | +@Data | ||
15 | +@Document(collection = "demo1") | ||
16 | +public class BookDTO implements Serializable { | ||
17 | + | ||
18 | + //id属性是给mongodb用的,用@Id注解修饰 | ||
19 | + @Id | ||
20 | + private String id; | ||
21 | + | ||
22 | + // 书名 | ||
23 | + private String name; | ||
24 | + | ||
25 | + // 价格 | ||
26 | + private String price; | ||
27 | + | ||
28 | + // 类型 | ||
29 | + private String type; | ||
30 | + | ||
31 | + // 阅读量 | ||
32 | + private Double readedNum; | ||
33 | + | ||
34 | +} |
src/main/java/com/songshu/mongo/model/dto/Buildings.java
0 → 100644
1 | +++ a/src/main/java/com/songshu/mongo/model/dto/Buildings.java | ||
@@ -0,0 +1,41 @@ | @@ -0,0 +1,41 @@ | ||
1 | +package com.songshu.mongo.model.dto; | ||
2 | + | ||
3 | +import lombok.Data; | ||
4 | +import org.springframework.data.mongodb.core.mapping.Document; | ||
5 | + | ||
6 | +import java.util.Date; | ||
7 | + | ||
8 | +@Data | ||
9 | +@Document(collection = "buildings") | ||
10 | +public class Buildings { | ||
11 | + private String _id; | ||
12 | + private String name; | ||
13 | + private String place; | ||
14 | + private String register_name1; | ||
15 | + private String area1; | ||
16 | + private String area2; | ||
17 | + private String area3; | ||
18 | + private String area4; | ||
19 | + private String area6; | ||
20 | + private String rentalarea; | ||
21 | + private String selfusearea; | ||
22 | + private String struture; | ||
23 | + private String elevatorNO; | ||
24 | + private String actime; | ||
25 | + private String space; | ||
26 | + private String owner; | ||
27 | + private Date created; | ||
28 | + private Date modified; | ||
29 | + private String created_by; | ||
30 | + private String modified_by; | ||
31 | + private String company_id; | ||
32 | + private String area5; | ||
33 | + private String area7; | ||
34 | + private String electedload; | ||
35 | + private String loadbearing; | ||
36 | + private String moreinfo; | ||
37 | + private String hight; | ||
38 | + private String register_name2; | ||
39 | + //园区 | ||
40 | + private String Park_Location; | ||
41 | +} |
src/main/java/com/songshu/mongo/model/dto/ContractReceipts.java
0 → 100644
1 | +++ a/src/main/java/com/songshu/mongo/model/dto/ContractReceipts.java | ||
@@ -0,0 +1,38 @@ | @@ -0,0 +1,38 @@ | ||
1 | +package com.songshu.mongo.model.dto; | ||
2 | + | ||
3 | + | ||
4 | +import lombok.Data; | ||
5 | +import org.springframework.data.mongodb.core.mapping.Document; | ||
6 | + | ||
7 | +import java.util.Date; | ||
8 | + | ||
9 | +/** | ||
10 | + * 合同收款 | ||
11 | + */ | ||
12 | +@Data | ||
13 | +@Document(collection = "contract_receipts") | ||
14 | +public class ContractReceipts { | ||
15 | + private String _id; | ||
16 | + private String fees_type; | ||
17 | + private String account; | ||
18 | + private String contract; | ||
19 | + private Date contract_start_date; | ||
20 | + private Date contract_end_date; | ||
21 | + private Date fee_period_start; | ||
22 | + private Date fee_period_end; | ||
23 | + private String receipts_contractor; | ||
24 | + private String building; | ||
25 | + private String amount; | ||
26 | + private String paid_amount; | ||
27 | + private String space; | ||
28 | + private String owner; | ||
29 | + private Date created; | ||
30 | + private Date modified; | ||
31 | + private String name; | ||
32 | + private String unpaid_amount; | ||
33 | + private String modified_by; | ||
34 | + private Date paid_date; | ||
35 | + private Date paid_real_date; | ||
36 | + private String fees_finished; | ||
37 | + private String searchFunc; | ||
38 | +} |
src/main/java/com/songshu/mongo/model/dto/Contracts.java
0 → 100644
1 | +++ a/src/main/java/com/songshu/mongo/model/dto/Contracts.java | ||
@@ -0,0 +1,49 @@ | @@ -0,0 +1,49 @@ | ||
1 | +package com.songshu.mongo.model.dto; | ||
2 | + | ||
3 | +import lombok.Data; | ||
4 | +import org.springframework.data.mongodb.core.mapping.Document; | ||
5 | + | ||
6 | +import java.util.Date; | ||
7 | +import java.util.List; | ||
8 | + | ||
9 | +@Data | ||
10 | +@Document(collection = "contracts") | ||
11 | +public class Contracts { | ||
12 | + private String _id; | ||
13 | + private String contractNO; | ||
14 | + private String clientname; | ||
15 | + private String contractor; | ||
16 | + private String building_select; | ||
17 | + private Date start_date; | ||
18 | + private Date end_date; | ||
19 | + private String bop4; | ||
20 | + private String free_period_fees; | ||
21 | + private String free_period_fees_amount; | ||
22 | + private String contract_type1; | ||
23 | + private String rentalamount; | ||
24 | + private String serviceamount; | ||
25 | + private String depositcycle; | ||
26 | + private String paymentcycle; | ||
27 | + private String bop3; | ||
28 | + private String remark; | ||
29 | + private Date signed_date; | ||
30 | + private String meetingstate; | ||
31 | + private String contract_fulfillment_state; | ||
32 | + private String space; | ||
33 | + private String owner; | ||
34 | + private Date created; | ||
35 | + private Date modified; | ||
36 | + private String created_by; | ||
37 | + private String modified_by; | ||
38 | + private String company_id; | ||
39 | + private String rentalsquare; | ||
40 | + private String name; | ||
41 | + private String contract_type2; | ||
42 | + private Date free_period_start; | ||
43 | + private Date free_period_end; | ||
44 | + private Date contract_end_time; | ||
45 | + private String remark2; | ||
46 | + private String remark3; | ||
47 | + private String subject; | ||
48 | + private List<String> room_number; | ||
49 | +} |
1 | +++ a/src/main/java/com/songshu/mongo/model/dto/Room.java | ||
@@ -0,0 +1,30 @@ | @@ -0,0 +1,30 @@ | ||
1 | +package com.songshu.mongo.model.dto; | ||
2 | + | ||
3 | +import lombok.Data; | ||
4 | +import org.springframework.data.mongodb.core.mapping.Document; | ||
5 | + | ||
6 | +import java.io.Serializable; | ||
7 | +import java.util.Date; | ||
8 | +import java.util.List; | ||
9 | + | ||
10 | +@Data | ||
11 | +@Document(collection = "room") | ||
12 | +public class Room implements Serializable { | ||
13 | + private String _id; | ||
14 | + //面积 | ||
15 | + private String area; | ||
16 | + //所属楼宇 | ||
17 | + private String building; | ||
18 | + private List<String> company_ids; | ||
19 | + private Date created; | ||
20 | + private Date modified; | ||
21 | + //房间号 | ||
22 | + private String name; | ||
23 | + private String owner; | ||
24 | + //是否空置 | ||
25 | + private String rentalstatus; | ||
26 | + private String space; | ||
27 | + //楼层 | ||
28 | + private String roomlevel; | ||
29 | +} | ||
30 | + |
src/main/java/com/songshu/mongo/model/json/JsonString.java
0 → 100644
1 | +++ a/src/main/java/com/songshu/mongo/model/json/JsonString.java | ||
@@ -0,0 +1,41 @@ | @@ -0,0 +1,41 @@ | ||
1 | +package com.songshu.mongo.model.json; | ||
2 | + | ||
3 | +/** | ||
4 | + * 案例json | ||
5 | + */ | ||
6 | +public class JsonString { | ||
7 | + | ||
8 | + // 方便mongo做批量新增得示例json数据 | ||
9 | + public static final String jsonString ="[{\n" + | ||
10 | + " \"id\": \"1\",\n" + | ||
11 | + " \"name\": \"盗墓笔记\",\n" + | ||
12 | + " \"price\": \"39.6\",\n" + | ||
13 | + " \"type\": \"盗墓探险\",\n" + | ||
14 | + " \"readedNum\": 16.1\n" + | ||
15 | + " }, {\n" + | ||
16 | + " \"id\": \"2\",\n" + | ||
17 | + " \"name\": \"武神主宰\",\n" + | ||
18 | + " \"price\": \"19.9\",\n" + | ||
19 | + " \"type\": \"仙侠\",\n" + | ||
20 | + " \"readedNum\": 13.2\n" + | ||
21 | + " }, {\n" + | ||
22 | + " \"id\": \"3\",\n" + | ||
23 | + " \"name\": \"笔仙外藩\",\n" + | ||
24 | + " \"price\": \"19.9\",\n" + | ||
25 | + " \"type\": \"惊悚\",\n" + | ||
26 | + " \"readedNum\": 7.6\n" + | ||
27 | + " }, {\n" + | ||
28 | + " \"id\": \"4\",\n" + | ||
29 | + " \"name\": \"千与千寻\",\n" + | ||
30 | + " \"price\": \"26.3\",\n" + | ||
31 | + " \"type\": \"日漫爱情\",\n" + | ||
32 | + " \"readedNum\": 31.5\n" + | ||
33 | + " }, {\n" + | ||
34 | + " \"id\": \"5\",\n" + | ||
35 | + " \"name\": \"万界圣主\",\n" + | ||
36 | + " \"price\": \"17.8\",\n" + | ||
37 | + " \"type\": \"仙侠\",\n" + | ||
38 | + " \"readedNum\": 10.7\n" + | ||
39 | + " }\n" + | ||
40 | + "]\n"; | ||
41 | +} |
src/main/java/com/songshu/mongo/service/BookMongoService.java
0 → 100644
1 | +++ a/src/main/java/com/songshu/mongo/service/BookMongoService.java | ||
@@ -0,0 +1,77 @@ | @@ -0,0 +1,77 @@ | ||
1 | +package com.songshu.mongo.service; | ||
2 | + | ||
3 | +import com.songshu.mongo.model.dto.BookDTO; | ||
4 | +import com.songshu.mongo.model.dto.Room; | ||
5 | +import org.springframework.data.mongodb.core.query.Query; | ||
6 | +import org.springframework.data.mongodb.core.query.Update; | ||
7 | +import java.util.List; | ||
8 | + | ||
9 | +/** | ||
10 | + * cw | ||
11 | + * 案例 | ||
12 | + */ | ||
13 | +public interface BookMongoService { | ||
14 | + | ||
15 | + /** | ||
16 | + * 新增 | ||
17 | + * @param bookDTO | ||
18 | + * @return | ||
19 | + */ | ||
20 | + Boolean inserBookInfo(BookDTO bookDTO); | ||
21 | + | ||
22 | + /** | ||
23 | + * 批量新增 | ||
24 | + * @param bookDTOList | ||
25 | + */ | ||
26 | + Boolean inserBatchBookInfo(List<BookDTO> bookDTOList); | ||
27 | + | ||
28 | + /** | ||
29 | + * 修改 | ||
30 | + * @param query | ||
31 | + * @param update | ||
32 | + * @return | ||
33 | + */ | ||
34 | + Boolean updateBookInfo(Query query, Update update); | ||
35 | + | ||
36 | + /** | ||
37 | + * 查所有 | ||
38 | + * @return | ||
39 | + */ | ||
40 | + List<BookDTO> findAllBookInfo(); | ||
41 | + | ||
42 | + /** | ||
43 | + * 根据书名查询:精准 | ||
44 | + * @param name | ||
45 | + * @return | ||
46 | + */ | ||
47 | + List<BookDTO> findBookInfoByName(String name); | ||
48 | + | ||
49 | + /** | ||
50 | + * 根据书名查询:模糊 | ||
51 | + * @param name | ||
52 | + * @return | ||
53 | + */ | ||
54 | + List<BookDTO> findBookInfoReName(String name); | ||
55 | + | ||
56 | + | ||
57 | + /** | ||
58 | + * 根据阅读量:范围查 | ||
59 | + * @return | ||
60 | + */ | ||
61 | + List<BookDTO> findBookInfoReRange(Double minReadedNum, Double maxReadedNum); | ||
62 | + | ||
63 | + /** | ||
64 | + * 分页-排序查询 | ||
65 | + * @param minReadedNum | ||
66 | + * @param maxReadedNum | ||
67 | + * @param pageNum | ||
68 | + * @param pageSize | ||
69 | + * @return | ||
70 | + */ | ||
71 | + List<BookDTO> findBookInfoPage(Double minReadedNum, Double maxReadedNum, Integer pageNum, Integer pageSize); | ||
72 | + | ||
73 | + List<Room> findAllBookInfo3(); | ||
74 | + | ||
75 | + | ||
76 | + | ||
77 | +} |
src/main/java/com/songshu/mongo/service/StaticScheduleTaskService.java
0 → 100644
1 | +++ a/src/main/java/com/songshu/mongo/service/StaticScheduleTaskService.java | ||
@@ -0,0 +1,44 @@ | @@ -0,0 +1,44 @@ | ||
1 | +package com.songshu.mongo.service; | ||
2 | + | ||
3 | +public interface StaticScheduleTaskService { | ||
4 | + | ||
5 | + /** | ||
6 | + * 房间 | ||
7 | + */ | ||
8 | + void SynchronousDataRoom(); | ||
9 | + | ||
10 | + /** | ||
11 | + * 楼宇 | ||
12 | + */ | ||
13 | + void SynchronousDataRuildings(); | ||
14 | + | ||
15 | + /** | ||
16 | + * 客户合同 | ||
17 | + */ | ||
18 | + void SynchronousDataContracts(); | ||
19 | + | ||
20 | + /** | ||
21 | + * 合同房间 | ||
22 | + */ | ||
23 | + void SynchronousDataContractsRoom(); | ||
24 | + | ||
25 | + | ||
26 | + /** | ||
27 | + * 客户 | ||
28 | + */ | ||
29 | + void SynchronousDataAccounts(); | ||
30 | + | ||
31 | + | ||
32 | + /** | ||
33 | + * 合同收款表 | ||
34 | + */ | ||
35 | + void SynchronousDataContractReceipts(); | ||
36 | + | ||
37 | + | ||
38 | + /** | ||
39 | + * 测试 | ||
40 | + */ | ||
41 | + void SynchronousDataContractAuditRecords(); | ||
42 | + | ||
43 | + | ||
44 | +} |
src/main/java/com/songshu/mongo/service/UpdateTingcheService.java
0 → 100644
1 | +++ a/src/main/java/com/songshu/mongo/service/UpdateTingcheService.java | ||
@@ -0,0 +1,27 @@ | @@ -0,0 +1,27 @@ | ||
1 | +package com.songshu.mongo.service; | ||
2 | + | ||
3 | +public interface UpdateTingcheService { | ||
4 | + | ||
5 | + | ||
6 | + void updateTjTcsjtjn(); | ||
7 | + | ||
8 | + | ||
9 | + void updateTjCljrsctjn(); | ||
10 | + | ||
11 | + | ||
12 | + void updateTjCljrsctjy(); | ||
13 | + | ||
14 | + | ||
15 | + void updateTjCljrsctjr(); | ||
16 | + | ||
17 | + | ||
18 | + void updateTjJrcrktcsj(); | ||
19 | + | ||
20 | + | ||
21 | + void updateTjParkingPayment(); | ||
22 | + | ||
23 | + | ||
24 | + void updateTjVehicleRecords(); | ||
25 | + | ||
26 | + | ||
27 | +} |
src/main/java/com/songshu/mongo/service/impl/BookMongoServiceImpl.java
0 → 100644
1 | +++ a/src/main/java/com/songshu/mongo/service/impl/BookMongoServiceImpl.java | ||
@@ -0,0 +1,179 @@ | @@ -0,0 +1,179 @@ | ||
1 | +package com.songshu.mongo.service.impl; | ||
2 | + | ||
3 | +import com.songshu.mongo.model.dto.BookDTO; | ||
4 | +import com.songshu.mongo.model.dto.Room; | ||
5 | +import com.songshu.mongo.service.BookMongoService; | ||
6 | +import com.songshu.mongo.tools.JDBCUtil; | ||
7 | +import org.springframework.beans.factory.annotation.Autowired; | ||
8 | +import org.springframework.data.domain.PageRequest; | ||
9 | +import org.springframework.data.domain.Sort; | ||
10 | +import org.springframework.data.mongodb.core.MongoTemplate; | ||
11 | +import org.springframework.data.mongodb.core.query.Criteria; | ||
12 | +import org.springframework.data.mongodb.core.query.Query; | ||
13 | +import org.springframework.data.mongodb.core.query.Update; | ||
14 | +import org.springframework.stereotype.Service; | ||
15 | + | ||
16 | +import java.sql.Connection; | ||
17 | +import java.sql.PreparedStatement; | ||
18 | +import java.sql.Statement; | ||
19 | +import java.sql.Timestamp; | ||
20 | +import java.util.List; | ||
21 | +import java.util.regex.Pattern; | ||
22 | + | ||
23 | +/** | ||
24 | + * cw | ||
25 | + * 案例 | ||
26 | + */ | ||
27 | +@Service | ||
28 | +public class BookMongoServiceImpl implements BookMongoService { | ||
29 | + | ||
30 | + @Autowired | ||
31 | + private MongoTemplate mongoTemplate; | ||
32 | + | ||
33 | + /** | ||
34 | + * 新增 | ||
35 | + * @param bookDTO | ||
36 | + * @return | ||
37 | + */ | ||
38 | + @Override | ||
39 | + public Boolean inserBookInfo(BookDTO bookDTO) { | ||
40 | + mongoTemplate.insert(bookDTO); | ||
41 | + return true; | ||
42 | + } | ||
43 | + | ||
44 | + /** | ||
45 | + * 批量新增 | ||
46 | + * @param bookDTOList | ||
47 | + * @return | ||
48 | + */ | ||
49 | + @Override | ||
50 | + public Boolean inserBatchBookInfo(List<BookDTO> bookDTOList) { | ||
51 | + mongoTemplate.insert(bookDTOList,BookDTO.class); | ||
52 | + return true; | ||
53 | + } | ||
54 | + | ||
55 | + /** | ||
56 | + * 修改 | ||
57 | + * @param query | ||
58 | + * @param update | ||
59 | + * @return | ||
60 | + */ | ||
61 | + @Override | ||
62 | + public Boolean updateBookInfo(Query query, Update update) { | ||
63 | + mongoTemplate.updateMulti(query,update,BookDTO.class); | ||
64 | + return true; | ||
65 | + } | ||
66 | + | ||
67 | + /** | ||
68 | + * 查所有 | ||
69 | + * @return | ||
70 | + */ | ||
71 | + @Override | ||
72 | + public List<BookDTO> findAllBookInfo() { | ||
73 | + List<BookDTO> bookDTOList = mongoTemplate.findAll(BookDTO.class); | ||
74 | + return bookDTOList; | ||
75 | + } | ||
76 | + | ||
77 | + /** | ||
78 | + * 根据书名查询: 精准 | ||
79 | + * @param name | ||
80 | + * @return | ||
81 | + */ | ||
82 | + @Override | ||
83 | + public List<BookDTO> findBookInfoByName(String name) { | ||
84 | + Query query = Query.query(Criteria.where("name").is(name)); | ||
85 | + return mongoTemplate.find(query,BookDTO.class); | ||
86 | + } | ||
87 | + | ||
88 | + /** | ||
89 | + * 根据书名查询: 模糊 | ||
90 | + * @param name | ||
91 | + * @return | ||
92 | + */ | ||
93 | + @Override | ||
94 | + public List<BookDTO> findBookInfoReName(String name) { | ||
95 | + // ^.*表示字符前面、*$表示字符后面 | ||
96 | + Pattern compile = Pattern.compile("^.*" + name + ".*$", Pattern.CASE_INSENSITIVE); | ||
97 | + Query query= Query.query(Criteria.where("name").regex(compile)); | ||
98 | + return mongoTemplate.find(query,BookDTO.class); | ||
99 | + } | ||
100 | + | ||
101 | + /** | ||
102 | + * 根据阅读量:范围查询并排序 | ||
103 | + * @param minReadedNum | ||
104 | + * @param maxReadedNum | ||
105 | + * @return | ||
106 | + */ | ||
107 | + @Override | ||
108 | + public List<BookDTO> findBookInfoReRange(Double minReadedNum, Double maxReadedNum) { | ||
109 | + // query两种方式 | ||
110 | + Query query = Query.query(Criteria.where("readedNum").gte(minReadedNum).lte(maxReadedNum)) | ||
111 | + .with(new Sort(new Sort.Order(Sort.Direction.ASC,"readedNum"))); | ||
112 | + return mongoTemplate.find(query,BookDTO.class); | ||
113 | + } | ||
114 | + | ||
115 | + /** | ||
116 | + * 排序-分页查询 | ||
117 | + * @param minReadedNum | ||
118 | + * @param maxReadedNum | ||
119 | + * @param pageNum | ||
120 | + * @param pageSize | ||
121 | + * @return | ||
122 | + */ | ||
123 | + @Override | ||
124 | + public List<BookDTO> findBookInfoPage(Double minReadedNum, Double maxReadedNum, Integer pageNum, Integer pageSize) { | ||
125 | + Query query = Query.query(Criteria.where("readedNum").gte(minReadedNum).lte(maxReadedNum)) | ||
126 | + .with(new Sort(new Sort.Order(Sort.Direction.ASC,"readedNum"))) | ||
127 | + .with(new PageRequest(pageNum-1,pageSize)); | ||
128 | + return mongoTemplate.find(query, BookDTO.class); | ||
129 | + } | ||
130 | + | ||
131 | + @Override | ||
132 | + public List<Room> findAllBookInfo3() { | ||
133 | + List<Room> all = mongoTemplate.findAll(Room.class); | ||
134 | + long start = System.currentTimeMillis(); | ||
135 | + try { | ||
136 | + Connection conn = JDBCUtil.getConnection(); | ||
137 | + Statement stat = JDBCUtil.getStatement(); | ||
138 | + JDBCUtil.executeUpdate("DELETE FROM room_company_ids"); | ||
139 | + JDBCUtil.executeUpdate("DELETE FROM room"); | ||
140 | + String sql = "insert into room(id, _id, building, name, area, rentalstatus, space, owner, created, modified, created_by, modified_by, company_id) " + | ||
141 | + "VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)"; | ||
142 | + PreparedStatement ps = null; | ||
143 | + ps = conn.prepareStatement(sql); | ||
144 | + conn.setAutoCommit(false);//取消自动提交 | ||
145 | + int size = all.size(); | ||
146 | + int group = 500; | ||
147 | + for (int i = 1; i < size; i++) { | ||
148 | + Room room = all.get(i); | ||
149 | + ps.setObject(1, i); | ||
150 | + ps.setObject(2,room.get_id() ); | ||
151 | + ps.setObject(3, room.getBuilding()); | ||
152 | + ps.setObject(4, room.getName()); | ||
153 | + ps.setObject(5, room.getArea()); | ||
154 | + ps.setObject(6, room.getRentalstatus()); | ||
155 | + ps.setObject(7, room.getSpace()); | ||
156 | + ps.setObject(8, room.getOwner()); | ||
157 | + ps.setTimestamp(9, new Timestamp(room.getCreated().getTime())); | ||
158 | + ps.setTimestamp(10, new Timestamp(room.getModified().getTime())); | ||
159 | + ps.setObject(11, null); | ||
160 | + ps.setObject(12, null); | ||
161 | + ps.setObject(13, null); | ||
162 | + ps.addBatch(); // 将sql语句打包到一个容器中 | ||
163 | + if (i % group == 0 || i == size-1) { | ||
164 | + ps.executeBatch(); // 将容器中的sql语句提交 | ||
165 | + ps.clearBatch(); // 清空容器,为下一次打包做准备 | ||
166 | + } | ||
167 | + } | ||
168 | + ps.executeBatch(); | ||
169 | + ps.clearBatch(); | ||
170 | + conn.commit();//所有语句都执行完毕后才手动提交sql语句 | ||
171 | + } catch (Exception e) { | ||
172 | + e.printStackTrace(); | ||
173 | + } finally { | ||
174 | + JDBCUtil.getClose(); | ||
175 | + } | ||
176 | + return all; | ||
177 | + } | ||
178 | + | ||
179 | +} |
src/main/java/com/songshu/mongo/service/impl/StaticScheduleTaskServiceImpl.java
0 → 100644
1 | +++ a/src/main/java/com/songshu/mongo/service/impl/StaticScheduleTaskServiceImpl.java | ||
@@ -0,0 +1,548 @@ | @@ -0,0 +1,548 @@ | ||
1 | +package com.songshu.mongo.service.impl; | ||
2 | + | ||
3 | +import com.songshu.mongo.model.dto.*; | ||
4 | +import com.songshu.mongo.service.StaticScheduleTaskService; | ||
5 | +import com.songshu.mongo.tools.JDBCUtil; | ||
6 | +import lombok.extern.slf4j.Slf4j; | ||
7 | +import org.springframework.beans.factory.annotation.Autowired; | ||
8 | +import org.springframework.data.domain.PageRequest; | ||
9 | +import org.springframework.data.mongodb.core.MongoTemplate; | ||
10 | +import org.springframework.data.mongodb.core.query.Criteria; | ||
11 | +import org.springframework.data.mongodb.core.query.Query; | ||
12 | +import org.springframework.stereotype.Service; | ||
13 | + | ||
14 | +import java.sql.Connection; | ||
15 | +import java.sql.PreparedStatement; | ||
16 | +import java.sql.Statement; | ||
17 | +import java.sql.Timestamp; | ||
18 | +import java.util.ArrayList; | ||
19 | +import java.util.List; | ||
20 | +import java.util.UUID; | ||
21 | + | ||
22 | +@Slf4j | ||
23 | +@Service | ||
24 | +public class StaticScheduleTaskServiceImpl implements StaticScheduleTaskService { | ||
25 | + @Autowired | ||
26 | + private MongoTemplate mongoTemplate; | ||
27 | + //每次读取mongo条数 | ||
28 | + final int pageSize = 10000; | ||
29 | + //批量处理条数 | ||
30 | + final int group = 500; | ||
31 | + | ||
32 | + /** | ||
33 | + * 房间 | ||
34 | + */ | ||
35 | + @Override | ||
36 | + public void SynchronousDataRoom() { | ||
37 | + log.info("房间表同步开始"); | ||
38 | + long start = System.currentTimeMillis(); | ||
39 | + try { | ||
40 | + Connection conn = JDBCUtil.getConnection(); | ||
41 | + Statement stat = JDBCUtil.getStatement(); | ||
42 | + JDBCUtil.executeUpdate("DELETE FROM room"); | ||
43 | + String sql = "insert into room(_id, building, name, area, rentalstatus, space, owner, created, modified, created_by, modified_by, company_id,roomlevel) VALUES ( ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)"; | ||
44 | + PreparedStatement ps = null; | ||
45 | + ps = conn.prepareStatement(sql); | ||
46 | + conn.setAutoCommit(false);//取消自动提交 | ||
47 | + Query query = new Query(); | ||
48 | + long count = mongoTemplate.count(query, Room.class); | ||
49 | + if (count == 0) { | ||
50 | + return; | ||
51 | + } | ||
52 | + //每页条数 | ||
53 | + int ceil = (int) Math.ceil((double) count / (double) pageSize); | ||
54 | + for (int currPage = 0; currPage < ceil; currPage++) { | ||
55 | + List<Room> all = mongoTemplate.find(query.with(new PageRequest(currPage, pageSize)), Room.class); | ||
56 | + int size = all.size(); | ||
57 | + for (int i = 1; i < size + 1; i++) { | ||
58 | + Room room = all.get(i - 1); | ||
59 | + ps.setObject(1, room.get_id()); | ||
60 | + ps.setObject(2, room.getBuilding()); | ||
61 | + ps.setObject(3, room.getName()); | ||
62 | + ps.setObject(4, room.getArea()); | ||
63 | + ps.setObject(5, room.getRentalstatus()); | ||
64 | + ps.setObject(6, room.getSpace()); | ||
65 | + ps.setObject(7, room.getOwner()); | ||
66 | + ps.setTimestamp(8, new Timestamp(room.getCreated().getTime())); | ||
67 | + ps.setTimestamp(9, new Timestamp(room.getModified().getTime())); | ||
68 | + ps.setObject(10, null); | ||
69 | + ps.setObject(11, null); | ||
70 | + ps.setObject(12, null); | ||
71 | + ps.setObject(13, room.getRoomlevel()); | ||
72 | + ps.addBatch(); | ||
73 | + if (i % group == 0) { | ||
74 | + ps.executeBatch(); // 将容器中的sql语句提交 | ||
75 | + ps.clearBatch(); // 清空容器,为下一次打包做准备 | ||
76 | + } | ||
77 | + } | ||
78 | + } | ||
79 | + ps.executeBatch(); | ||
80 | + ps.clearBatch(); | ||
81 | + conn.commit();//所有语句都执行完毕后才手动提交sql语句 | ||
82 | + } catch (Exception e) { | ||
83 | + log.info("房间表同步失败: {}", System.currentTimeMillis() - start); | ||
84 | + e.printStackTrace(); | ||
85 | + } finally { | ||
86 | + log.info("房间表同步结束: {}", System.currentTimeMillis() - start); | ||
87 | + JDBCUtil.getClose(); | ||
88 | + } | ||
89 | + } | ||
90 | + | ||
91 | + /** | ||
92 | + * 楼宇 | ||
93 | + */ | ||
94 | + @Override | ||
95 | + public void SynchronousDataRuildings() { | ||
96 | + long start = System.currentTimeMillis(); | ||
97 | + log.info("楼宇表同步开始"); | ||
98 | + try { | ||
99 | + Connection conn = JDBCUtil.getConnection(); | ||
100 | + Statement stat = JDBCUtil.getStatement(); | ||
101 | + JDBCUtil.executeUpdate("DELETE FROM buildings"); | ||
102 | + String sql = "insert into buildings(_id, name, place, register_name1, " + | ||
103 | + "area1, area2, area3, area4, area6, " + | ||
104 | + "rentalarea, selfusearea, struture, elevatorNO, actime, " + | ||
105 | + "space, owner, created, modified, created_by, " + | ||
106 | + "modified_by, company_id, area5, area7, electedload, " + | ||
107 | + "loadbearing, moreinfo, hight, register_name2,park_location) " + | ||
108 | + "VALUES (?, ?, ?, ?," + | ||
109 | + " ?, ?, ?, ?, ?, " + | ||
110 | + "?, ?, ?, ?, ?, " + | ||
111 | + "?, ?, ?, ?, ?, " + | ||
112 | + "?, ?, ?, ?, ?, " + | ||
113 | + "?, ?, ?, ?, ?)"; | ||
114 | + PreparedStatement ps = null; | ||
115 | + ps = conn.prepareStatement(sql); | ||
116 | + conn.setAutoCommit(false);//取消自动提交 | ||
117 | + List<String> ids=new ArrayList<String>(); | ||
118 | + ids.add("2qBN4NFQvCj6zZ35F"); | ||
119 | + ids.add("AcmtYXCgPaDqp8KpW"); | ||
120 | + ids.add("avKzpXyChidbiJrjo"); | ||
121 | + ids.add("FxpPfADw96WfTJwNS"); | ||
122 | + ids.add("LciHX7z2fRP4BdyKE"); | ||
123 | + ids.add("mg3MHrd9TZozvjmck"); | ||
124 | + ids.add("XupuevAF2CTwnd4mf"); | ||
125 | + ids.add("yBTHZ9jcNcr3E68NJ"); | ||
126 | + ids.add("zz4CCvCErxMaW9kga"); | ||
127 | + Query query = new Query(Criteria.where("_id").in(ids)); | ||
128 | + long count = mongoTemplate.count(query, Buildings.class); | ||
129 | + if (count == 0) { | ||
130 | + return; | ||
131 | + } | ||
132 | + //每页条数 | ||
133 | + int ceil = (int) Math.ceil((double) count / (double) pageSize); | ||
134 | + for (int currPage = 0; currPage < ceil; currPage++) { | ||
135 | + List<Buildings> all = mongoTemplate.find(query.with(new PageRequest(currPage, pageSize)), Buildings.class); | ||
136 | + int size = all.size(); | ||
137 | + for (int i = 1; i < size + 1; i++) { | ||
138 | + Buildings data = all.get(i - 1); | ||
139 | + ps.setObject(1, data.get_id()); | ||
140 | + ps.setObject(2, data.getName()); | ||
141 | + ps.setObject(3, data.getPlace()); | ||
142 | + ps.setObject(4, data.getRegister_name1()); | ||
143 | + | ||
144 | + ps.setObject(5, data.getArea1()); | ||
145 | + ps.setObject(6, data.getArea2()); | ||
146 | + ps.setObject(7, data.getArea3()); | ||
147 | + ps.setObject(8, data.getArea4()); | ||
148 | + ps.setObject(9, data.getArea6()); | ||
149 | + | ||
150 | + ps.setObject(10, data.getRentalarea()); | ||
151 | + ps.setObject(11, data.getSelfusearea()); | ||
152 | + ps.setObject(12, data.getStruture()); | ||
153 | + ps.setObject(13, data.getElevatorNO()); | ||
154 | + ps.setObject(14, data.getActime()); | ||
155 | + | ||
156 | + ps.setObject(15, data.getSpace()); | ||
157 | + ps.setObject(16, data.getOwner()); | ||
158 | + ps.setTimestamp(17, new Timestamp(data.getCreated().getTime())); | ||
159 | + ps.setTimestamp(18, new Timestamp(data.getModified().getTime())); | ||
160 | + ps.setObject(19, data.getCreated_by()); | ||
161 | + ps.setObject(20, data.getModified_by()); | ||
162 | + ps.setObject(21, data.getCompany_id()); | ||
163 | + ps.setObject(22, data.getArea5()); | ||
164 | + ps.setObject(23, data.getArea7()); | ||
165 | + ps.setObject(24, data.getElectedload()); | ||
166 | + ps.setObject(25, data.getLoadbearing()); | ||
167 | + ps.setObject(26, data.getMoreinfo()); | ||
168 | + ps.setObject(27, data.getHight()); | ||
169 | + ps.setObject(28, data.getRegister_name2()); | ||
170 | + ps.setObject(29, data.getPark_Location()); | ||
171 | + ps.addBatch(); // 将sql语句打包到一个容器中 | ||
172 | + if (i % group == 0) { | ||
173 | + ps.executeBatch(); // 将容器中的sql语句提交 | ||
174 | + ps.clearBatch(); // 清空容器,为下一次打包做准备 | ||
175 | + } | ||
176 | + } | ||
177 | + } | ||
178 | + ps.executeBatch(); | ||
179 | + ps.clearBatch(); | ||
180 | + conn.commit();//所有语句都执行完毕后才手动提交sql语句 | ||
181 | + } catch (Exception e) { | ||
182 | + log.info("楼宇表同步失败: {}", System.currentTimeMillis() - start); | ||
183 | + e.printStackTrace(); | ||
184 | + } finally { | ||
185 | + log.info("楼宇表同步结束: {}", System.currentTimeMillis() - start); | ||
186 | + JDBCUtil.getClose(); | ||
187 | + } | ||
188 | + } | ||
189 | + | ||
190 | + /** | ||
191 | + * 客户合同 | ||
192 | + */ | ||
193 | + @Override | ||
194 | + public void SynchronousDataContracts() { | ||
195 | + long start = System.currentTimeMillis(); | ||
196 | + log.info("客户合同表同步开始"); | ||
197 | + try { | ||
198 | + Connection conn = JDBCUtil.getConnection(); | ||
199 | + Statement stat = JDBCUtil.getStatement(); | ||
200 | + JDBCUtil.executeUpdate("DELETE FROM contracts"); | ||
201 | + String sql = "insert into contracts( _id, contractNO, clientname, contractor, " + | ||
202 | + "building_select, start_date, end_date, bop4, free_period_fees," + | ||
203 | + " free_period_fees_amount, contract_type1, rentalamount, serviceamount, depositcycle, " + | ||
204 | + "paymentcycle, bop3, remark, signed_date, meetingstate, " + | ||
205 | + "contract_fulfillment_state, space, owner, created, modified, " + | ||
206 | + "created_by, modified_by, company_id, rentalsquare, name, " + | ||
207 | + "contract_type2, free_period_start, free_period_end, contract_end_time, remark2," + | ||
208 | + " remark3, subject) " + | ||
209 | + "VALUES (" + | ||
210 | + "?, ?, ?, ?, ?," + | ||
211 | + " ?, ?, ?, ?, ?," + | ||
212 | + " ?, ?, ?, ?, ?," + | ||
213 | + " ?, ?, ?, ?, ?," + | ||
214 | + " ?, ?, ?, ?, ?," + | ||
215 | + " ?, ?, ?, ?, ?," + | ||
216 | + " ?, ?, ?, ?, ?," + | ||
217 | + " ?)"; | ||
218 | + PreparedStatement ps = null; | ||
219 | + ps = conn.prepareStatement(sql); | ||
220 | + conn.setAutoCommit(false);//取消自动提交 | ||
221 | + Query query = new Query(); | ||
222 | + long count = mongoTemplate.count(query, Contracts.class); | ||
223 | + if (count == 0) { | ||
224 | + return; | ||
225 | + } | ||
226 | + //每页条数 | ||
227 | + int ceil = (int) Math.ceil((double) count / (double) pageSize); | ||
228 | + for (int currPage = 0; currPage < ceil; currPage++) { | ||
229 | + List<Contracts> all = mongoTemplate.find(query.with(new PageRequest(currPage, pageSize)), Contracts.class); | ||
230 | + int size = all.size(); | ||
231 | + for (int i = 1; i < size + 1; i++) { | ||
232 | + Contracts data = all.get(i - 1); | ||
233 | + ps.setObject(1, data.get_id()); | ||
234 | + ps.setObject(2, data.getContractNO()); | ||
235 | + ps.setObject(3, data.getClientname()); | ||
236 | + ps.setObject(4, data.getContractor()); | ||
237 | + ps.setObject(5, data.getBuilding_select()); | ||
238 | + ps.setTimestamp(6, data.getStart_date() == null ? null : new Timestamp(data.getStart_date().getTime())); | ||
239 | + ps.setTimestamp(7, data.getEnd_date() == null ? null : new Timestamp(data.getEnd_date().getTime())); | ||
240 | + ps.setObject(8, data.getBop4()); | ||
241 | + ps.setObject(9, data.getFree_period_fees()); | ||
242 | + ps.setObject(10, data.getFree_period_fees_amount()); | ||
243 | + ps.setObject(11, data.getContract_type1()); | ||
244 | + ps.setObject(12, "*"); | ||
245 | + ps.setObject(13, data.getServiceamount()); | ||
246 | + ps.setObject(14, data.getDepositcycle()); | ||
247 | + ps.setObject(15, data.getPaymentcycle()); | ||
248 | + ps.setObject(16, data.getBop3()); | ||
249 | + ps.setObject(17, data.getRemark()); | ||
250 | + ps.setTimestamp(18, data.getSigned_date() == null ? null : new Timestamp(data.getSigned_date().getTime())); | ||
251 | + ps.setObject(19, data.getMeetingstate()); | ||
252 | + ps.setObject(20, data.getContract_fulfillment_state()); | ||
253 | + ps.setObject(21, data.getSpace()); | ||
254 | + ps.setObject(22, data.getOwner()); | ||
255 | + ps.setTimestamp(23, data.getCreated() == null ? null : new Timestamp(data.getCreated().getTime())); | ||
256 | + ps.setTimestamp(24, data.getModified() == null ? null : new Timestamp(data.getModified().getTime())); | ||
257 | + ps.setObject(25, data.getCreated_by()); | ||
258 | + ps.setObject(26, data.getModified_by()); | ||
259 | + ps.setObject(27, data.getCompany_id()); | ||
260 | + ps.setObject(28, data.getRentalsquare()); | ||
261 | + ps.setObject(29, data.getName()); | ||
262 | + ps.setObject(30, data.getContract_type2()); | ||
263 | + ps.setTimestamp(31, data.getFree_period_start() == null ? null : new Timestamp(data.getFree_period_start().getTime())); | ||
264 | + ps.setTimestamp(32, data.getFree_period_end() == null ? null : new Timestamp(data.getFree_period_end().getTime())); | ||
265 | + ps.setTimestamp(33, data.getContract_end_time() == null ? null : new Timestamp(data.getContract_end_time().getTime())); | ||
266 | + ps.setObject(34, data.getRemark2()); | ||
267 | + ps.setObject(35, data.getRemark3()); | ||
268 | + ps.setObject(36, data.getSubject()); | ||
269 | + ps.addBatch(); // 将sql语句打包到一个容器中 | ||
270 | + if (i % group == 0) { | ||
271 | + ps.executeBatch(); // 将容器中的sql语句提交 | ||
272 | + ps.clearBatch(); // 清空容器,为下一次打包做准备 | ||
273 | + } | ||
274 | + } | ||
275 | + } | ||
276 | + ps.executeBatch(); | ||
277 | + ps.clearBatch(); | ||
278 | + conn.commit();//所有语句都执行完毕后才手动提交sql语句 | ||
279 | + } catch (Exception e) { | ||
280 | + e.printStackTrace(); | ||
281 | + log.info("客户合同表同步失败: {}", System.currentTimeMillis() - start); | ||
282 | + } finally { | ||
283 | + log.info("客户合同表同步结束: {}", System.currentTimeMillis() - start); | ||
284 | + JDBCUtil.getClose(); | ||
285 | + } | ||
286 | + | ||
287 | + } | ||
288 | + | ||
289 | + /** | ||
290 | + * 客户合同房间 | ||
291 | + */ | ||
292 | + @Override | ||
293 | + public void SynchronousDataContractsRoom() { | ||
294 | + long start = System.currentTimeMillis(); | ||
295 | + log.info("客户合同房间表同步开始"); | ||
296 | + try { | ||
297 | + Connection conn = JDBCUtil.getConnection(); | ||
298 | + Statement stat = JDBCUtil.getStatement(); | ||
299 | + JDBCUtil.executeUpdate("DELETE FROM contracts_room"); | ||
300 | + String sql = "insert into contracts_room(id, _id, roomId) VALUES (?, ?, ?)"; | ||
301 | + PreparedStatement ps = null; | ||
302 | + ps = conn.prepareStatement(sql); | ||
303 | + conn.setAutoCommit(false);//取消自动提交 | ||
304 | + Query query = new Query(); | ||
305 | + long count = mongoTemplate.count(query, Contracts.class); | ||
306 | + if (count == 0) { | ||
307 | + return; | ||
308 | + } | ||
309 | + //每页条数 | ||
310 | + int ceil = (int) Math.ceil((double) count / (double) pageSize); | ||
311 | + for (int currPage = 0; currPage < ceil; currPage++) { | ||
312 | + List<Contracts> all = mongoTemplate.find(query.with(new PageRequest(currPage, pageSize)), Contracts.class); | ||
313 | + int size = all.size(); | ||
314 | + for (int i = 1; i < size + 1; i++) { | ||
315 | + Contracts data = all.get(i - 1); | ||
316 | + if (data.getRoom_number() !=null && data.getRoom_number().size()>0){ | ||
317 | + for (String roomId : data.getRoom_number()) { | ||
318 | + String uuid = UUID.randomUUID().toString().trim().replaceAll("-", ""); | ||
319 | + ps.setObject(1, uuid); | ||
320 | + ps.setObject(2, data.get_id()); | ||
321 | + ps.setObject(3, roomId); | ||
322 | + ps.addBatch(); // 将sql语句打包到一个容器中 | ||
323 | + if (i % group == 0) { | ||
324 | + ps.executeBatch(); // 将容器中的sql语句提交 | ||
325 | + ps.clearBatch(); // 清空容器,为下一次打包做准备 | ||
326 | + } | ||
327 | + } | ||
328 | + } | ||
329 | + } | ||
330 | + } | ||
331 | + ps.executeBatch(); | ||
332 | + ps.clearBatch(); | ||
333 | + conn.commit();//所有语句都执行完毕后才手动提交sql语句 | ||
334 | + } catch (Exception e) { | ||
335 | + e.printStackTrace(); | ||
336 | + log.info("客户合同房间表同步失败: {}", System.currentTimeMillis() - start); | ||
337 | + } finally { | ||
338 | + log.info("客户合同房间表同步结束: {}", System.currentTimeMillis() - start); | ||
339 | + JDBCUtil.getClose(); | ||
340 | + } | ||
341 | + } | ||
342 | + | ||
343 | + /** | ||
344 | + * 客户 | ||
345 | + */ | ||
346 | + @Override | ||
347 | + public void SynchronousDataAccounts() { | ||
348 | + long start = System.currentTimeMillis(); | ||
349 | + log.info("客户表同步开始"); | ||
350 | + try { | ||
351 | + Connection conn = JDBCUtil.getConnection(); | ||
352 | + Statement stat = JDBCUtil.getStatement(); | ||
353 | + JDBCUtil.executeUpdate("DELETE FROM accounts"); | ||
354 | + String sql = "insert into accounts(" + | ||
355 | + " _id, name, tax_number, in_time, " + | ||
356 | + "in_or_out, invoice_type, regis_amount, financing_amount, space, " + | ||
357 | + "owner, created, modified, created_by, modified_by, " + | ||
358 | + "company_id, regis_time, regis_location, Legal_person, out_time) " + | ||
359 | + "VALUES (" + | ||
360 | + "?, ?, ?, ?, ?, " + | ||
361 | + "?, ?, ?, ?, ?, " + | ||
362 | + "?, ?, ?, ?, ?, " + | ||
363 | + "?, ?, ?, ?)"; | ||
364 | + PreparedStatement ps = null; | ||
365 | + ps = conn.prepareStatement(sql); | ||
366 | + conn.setAutoCommit(false);//取消自动提交 | ||
367 | + Query query = new Query(); | ||
368 | + long count = mongoTemplate.count(query, Accounts.class); | ||
369 | + if (count == 0) { | ||
370 | + return; | ||
371 | + } | ||
372 | + //每页条数 | ||
373 | + int ceil = (int) Math.ceil((double) count / (double) pageSize); | ||
374 | + for (int currPage = 0; currPage < ceil; currPage++) { | ||
375 | + List<Accounts> all = mongoTemplate.find(query.with(new PageRequest(currPage, pageSize)), Accounts.class); | ||
376 | + int size = all.size(); | ||
377 | + for (int i = 1; i < size + 1; i++) { | ||
378 | + Accounts data = all.get(i - 1); | ||
379 | + ps.setObject(1, data.get_id()); | ||
380 | + ps.setObject(2, data.getName()); | ||
381 | + ps.setObject(3, data.getTax_number()); | ||
382 | + ps.setTimestamp(4, data.getIn_time() == null ? null : new Timestamp(data.getIn_time().getTime())); | ||
383 | + | ||
384 | + | ||
385 | + ps.setObject(5, data.getIn_or_out()); | ||
386 | + ps.setObject(6, data.getInvoice_type()); | ||
387 | + ps.setObject(7, data.getRegis_amount()); | ||
388 | + ps.setObject(8, data.getFinancing_amount()); | ||
389 | + ps.setObject(9, data.getSpace()); | ||
390 | + | ||
391 | + ps.setObject(10, data.getOwner()); | ||
392 | + ps.setTimestamp(11, data.getCreated() == null ? null : new Timestamp(data.getCreated().getTime())); | ||
393 | + ps.setTimestamp(12, data.getModified() == null ? null : new Timestamp(data.getModified().getTime())); | ||
394 | + ps.setObject(13, data.getCreated_by()); | ||
395 | + ps.setObject(14, data.getModified_by()); | ||
396 | + | ||
397 | + ps.setObject(15, data.getCompany_id()); | ||
398 | + ps.setTimestamp(16, data.getRegis_time() == null ? null : new Timestamp(data.getRegis_time().getTime())); | ||
399 | + ps.setObject(17, data.getRegis_location()); | ||
400 | + ps.setObject(18, data.getLegal_person()); | ||
401 | + ps.setTimestamp(19, data.getOut_time() == null ? null : new Timestamp(data.getOut_time().getTime())); | ||
402 | + ps.addBatch(); // 将sql语句打包到一个容器中 | ||
403 | + if (i % group == 0) { | ||
404 | + ps.executeBatch(); // 将容器中的sql语句提交 | ||
405 | + ps.clearBatch(); // 清空容器,为下一次打包做准备 | ||
406 | + } | ||
407 | + } | ||
408 | + } | ||
409 | + ps.executeBatch(); | ||
410 | + ps.clearBatch(); | ||
411 | + conn.commit();//所有语句都执行完毕后才手动提交sql语句 | ||
412 | + } catch (Exception e) { | ||
413 | + log.info("客户表同步失败: {}", System.currentTimeMillis() - start); | ||
414 | + e.printStackTrace(); | ||
415 | + } finally { | ||
416 | + log.info("客户表同步结束: {}", System.currentTimeMillis() - start); | ||
417 | + JDBCUtil.getClose(); | ||
418 | + } | ||
419 | + } | ||
420 | + | ||
421 | + /** | ||
422 | + * 合同收款 | ||
423 | + */ | ||
424 | + @Override | ||
425 | + public void SynchronousDataContractReceipts() { | ||
426 | + long start = System.currentTimeMillis(); | ||
427 | + log.info("合同收款表同步开始"); | ||
428 | + try { | ||
429 | + Connection conn = JDBCUtil.getConnection(); | ||
430 | + Statement stat = JDBCUtil.getStatement(); | ||
431 | + JDBCUtil.executeUpdate("DELETE FROM contract_receipts"); | ||
432 | + String sql = "insert into contract_receipts(" + | ||
433 | + "_id, fees_type, account, contract, " + | ||
434 | + "contract_start_date, contract_end_date, fee_period_start, fee_period_end, receipts_contractor, " + | ||
435 | + "building, amount, paid_amount, space, owner, " + | ||
436 | + "created, modified, name, unpaid_amount, modified_by, " + | ||
437 | + "paid_date, paid_real_date, fees_finished, searchFunc) " + | ||
438 | + "VALUES (" + | ||
439 | + "?, ?, ?, ?, ?, " + | ||
440 | + "?, ?, ?, ?, ?, " + | ||
441 | + "?, ?, ?, ?, ?, " + | ||
442 | + "?, ?, ?, ?, ?, " + | ||
443 | + "?, ?, ?)"; | ||
444 | + PreparedStatement ps = null; | ||
445 | + ps = conn.prepareStatement(sql); | ||
446 | + conn.setAutoCommit(false);//取消自动提交 | ||
447 | + Query query = new Query(); | ||
448 | + long count = mongoTemplate.count(query, ContractReceipts.class); | ||
449 | + if (count == 0) { | ||
450 | + return; | ||
451 | + } | ||
452 | + //每页条数 | ||
453 | + int ceil = (int) Math.ceil((double) count / (double) pageSize); | ||
454 | + for (int currPage = 0; currPage < ceil; currPage++) { | ||
455 | + List<ContractReceipts> all = mongoTemplate.find(query.with(new PageRequest(currPage, pageSize)), ContractReceipts.class); | ||
456 | + int size = all.size(); | ||
457 | + for (int i = 1; i < size + 1; i++) { | ||
458 | + ContractReceipts data = all.get(i - 1); | ||
459 | + ps.setObject(1, data.get_id()); | ||
460 | + ps.setObject(2, data.getFees_type()); | ||
461 | + ps.setObject(3, data.getAccount()); | ||
462 | + ps.setObject(4, data.getContract()); | ||
463 | + ps.setTimestamp(5, data.getContract_start_date() == null ? null : new Timestamp(data.getContract_start_date().getTime())); | ||
464 | + ps.setTimestamp(6, data.getContract_end_date() == null ? null : new Timestamp(data.getContract_end_date().getTime())); | ||
465 | + ps.setTimestamp(7, data.getFee_period_start() == null ? null : new Timestamp(data.getFee_period_start().getTime())); | ||
466 | + ps.setTimestamp(8, data.getFee_period_end() == null ? null : new Timestamp(data.getFee_period_end().getTime())); | ||
467 | + ps.setObject(9, data.getReceipts_contractor()); | ||
468 | + ps.setObject(10, data.getBuilding()); | ||
469 | + ps.setObject(11, data.getAmount()); | ||
470 | + ps.setObject(12, data.getPaid_amount()); | ||
471 | + ps.setObject(13, data.getSpace()); | ||
472 | + ps.setObject(14, data.getOwner()); | ||
473 | + ps.setTimestamp(15, data.getCreated() == null ? null : new Timestamp(data.getCreated().getTime())); | ||
474 | + ps.setTimestamp(16, data.getModified() == null ? null : new Timestamp(data.getModified().getTime())); | ||
475 | + ps.setObject(17, data.getName()); | ||
476 | + ps.setObject(18, data.getUnpaid_amount()); | ||
477 | + ps.setObject(19, data.getModified_by()); | ||
478 | + ps.setTimestamp(20, data.getPaid_date() == null ? null : new Timestamp(data.getPaid_date().getTime())); | ||
479 | + ps.setTimestamp(21, data.getPaid_real_date() == null ? null : new Timestamp(data.getPaid_real_date().getTime())); | ||
480 | + ps.setObject(22, data.getFees_finished()); | ||
481 | + ps.setObject(23, data.getSearchFunc()); | ||
482 | + ps.addBatch(); // 将sql语句打包到一个容器中 | ||
483 | + if (i % group == 0) { | ||
484 | + ps.executeBatch(); // 将容器中的sql语句提交 | ||
485 | + ps.clearBatch(); // 清空容器,为下一次打包做准备 | ||
486 | + } | ||
487 | + } | ||
488 | + } | ||
489 | + ps.executeBatch(); | ||
490 | + ps.clearBatch(); | ||
491 | + conn.commit();//所有语句都执行完毕后才手动提交sql语句 | ||
492 | + } catch (Exception e) { | ||
493 | + log.info("合同收款表同步失败: {}", System.currentTimeMillis() - start); | ||
494 | + e.printStackTrace(); | ||
495 | + } finally { | ||
496 | + log.info("合同收款表同步结束: {}", System.currentTimeMillis() - start); | ||
497 | + JDBCUtil.getClose(); | ||
498 | + } | ||
499 | + } | ||
500 | + | ||
501 | + /** | ||
502 | + * 测试使用 | ||
503 | + */ | ||
504 | + @Override | ||
505 | + public void SynchronousDataContractAuditRecords() { | ||
506 | + long start = System.currentTimeMillis(); | ||
507 | + try { | ||
508 | + Connection conn = JDBCUtil.getConnection(); | ||
509 | + Statement stat = JDBCUtil.getStatement(); | ||
510 | + JDBCUtil.executeUpdate("DELETE FROM audit_records"); | ||
511 | + String sql = "insert into audit_records(id, _id) VALUES (?, ?)"; | ||
512 | + PreparedStatement ps = null; | ||
513 | + ps = conn.prepareStatement(sql); | ||
514 | + conn.setAutoCommit(false);//取消自动提交 | ||
515 | + Query query = new Query(); | ||
516 | + long count = mongoTemplate.count(query, AuditRecords.class); | ||
517 | + if (count == 0) { | ||
518 | + return; | ||
519 | + } | ||
520 | + //每页条数 | ||
521 | + int ceil = (int) Math.ceil((double) count / (double) pageSize); | ||
522 | + for (int currPage = 0; currPage < ceil; currPage++) { | ||
523 | + List<AuditRecords> all = mongoTemplate.find(query.with(new PageRequest(currPage, pageSize)), AuditRecords.class); | ||
524 | + int size = all.size(); | ||
525 | + for (int i = 1; i < size + 1; i++) { | ||
526 | + AuditRecords data = all.get(i - 1); | ||
527 | + ps.setObject(1, ((currPage * pageSize) + i)); | ||
528 | + ps.setObject(2, data.get_id()); | ||
529 | + ps.addBatch(); | ||
530 | + if (i % group == 0) { | ||
531 | + ps.executeBatch(); | ||
532 | + ps.clearBatch(); | ||
533 | + } | ||
534 | + } | ||
535 | + ps.executeBatch(); | ||
536 | + ps.clearBatch(); | ||
537 | + conn.commit(); | ||
538 | + } | ||
539 | + } catch (Exception e) { | ||
540 | + log.info("测试表同步失败: {}", System.currentTimeMillis() - start); | ||
541 | + e.printStackTrace(); | ||
542 | + } finally { | ||
543 | + log.info("测试表同步结束: {}", System.currentTimeMillis() - start); | ||
544 | + JDBCUtil.getClose(); | ||
545 | + } | ||
546 | + } | ||
547 | + | ||
548 | +} |
src/main/java/com/songshu/mongo/service/impl/UpdateTingcheServiceImpl.java
0 → 100644
1 | +++ a/src/main/java/com/songshu/mongo/service/impl/UpdateTingcheServiceImpl.java | ||
@@ -0,0 +1,425 @@ | @@ -0,0 +1,425 @@ | ||
1 | +package com.songshu.mongo.service.impl; | ||
2 | + | ||
3 | +import com.songshu.mongo.model.dto.Room; | ||
4 | +import com.songshu.mongo.service.UpdateTingcheService; | ||
5 | +import com.songshu.mongo.tools.JDBCUtil; | ||
6 | +import com.songshu.mongo.tools.JDBCUtilMysql; | ||
7 | +import lombok.extern.slf4j.Slf4j; | ||
8 | +import org.apache.commons.lang.ObjectUtils; | ||
9 | +import org.springframework.data.domain.PageRequest; | ||
10 | +import org.springframework.data.mongodb.core.query.Query; | ||
11 | +import org.springframework.stereotype.Service; | ||
12 | + | ||
13 | +import java.sql.*; | ||
14 | +import java.util.ArrayList; | ||
15 | +import java.util.HashMap; | ||
16 | +import java.util.List; | ||
17 | +import java.util.Map; | ||
18 | + | ||
19 | +@Slf4j | ||
20 | +@Service | ||
21 | +public class UpdateTingcheServiceImpl implements UpdateTingcheService { | ||
22 | + | ||
23 | + | ||
24 | + /** | ||
25 | + * tj_tcsjtjn | ||
26 | + */ | ||
27 | + @Override | ||
28 | + public void updateTjTcsjtjn() { | ||
29 | + log.info("tj_tcsjtjn"); | ||
30 | + long start = System.currentTimeMillis(); | ||
31 | + try { | ||
32 | + Connection conn = JDBCUtilMysql.getConnection(); | ||
33 | + Statement stat = JDBCUtilMysql.getStatement(); | ||
34 | + JDBCUtilMysql.executeUpdate("DELETE FROM tj_tcsjtjn"); | ||
35 | + String sql = "insert into tj_tcsjtjn(threelow,threeToFive,fiveToEight,eightup) VALUES (?, ?, ?, ?)"; | ||
36 | + String selectSql = "select " + | ||
37 | + "ifnull(sum(case when TIMESTAMPDIFF(hour,rcsj,ccsj) <= 3 then 1 else 0 end),0) threelow, " + | ||
38 | + "ifnull(sum(case when TIMESTAMPDIFF(hour,rcsj,ccsj) > 3 and TIMESTAMPDIFF(hour,rcsj,ccsj) <= 5 then 1 else 0 end),0) threeToFive, " + | ||
39 | + "ifnull(sum(case when TIMESTAMPDIFF(hour,rcsj,ccsj) > 5 and TIMESTAMPDIFF(hour,rcsj,ccsj) <= 8 then 1 else 0 end),0) fiveToEight, " + | ||
40 | + "ifnull(sum(case when TIMESTAMPDIFF(hour,rcsj,ccsj) > 8 then 1 else 0 end),0) eightup " + | ||
41 | + "from vehicle_records where year(ccsj) = year(SYSDATE())"; | ||
42 | + ArrayList<Map> all = getQueryList(conn, selectSql); | ||
43 | + PreparedStatement ps = null; | ||
44 | + ps = conn.prepareStatement(sql); | ||
45 | + conn.setAutoCommit(false);//取消自动提交 | ||
46 | + if (all == null || all.size() == 0) { | ||
47 | + return; | ||
48 | + } | ||
49 | + int size = all.size(); | ||
50 | + for (int i = 1; i < size + 1; i++) { | ||
51 | + Map data = all.get(i - 1); | ||
52 | + ps.setObject(1, data.get("threelow")); | ||
53 | + ps.setObject(2, data.get("threeToFive")); | ||
54 | + ps.setObject(3, data.get("fiveToEight")); | ||
55 | + ps.setObject(4, data.get("eightup")); | ||
56 | + ps.addBatch(); | ||
57 | + if (i % 500 == 0) { | ||
58 | + ps.executeBatch(); // 将容器中的sql语句提交 | ||
59 | + ps.clearBatch(); // 清空容器,为下一次打包做准备 | ||
60 | + } | ||
61 | + } | ||
62 | + ps.executeBatch(); | ||
63 | + ps.clearBatch(); | ||
64 | + conn.commit();//所有语句都执行完毕后才手动提交sql语句 | ||
65 | + } catch (Exception e) { | ||
66 | + log.info("tj_tcsjtjn表同步失败: {}", System.currentTimeMillis() - start); | ||
67 | + e.printStackTrace(); | ||
68 | + } finally { | ||
69 | + log.info("tj_tcsjtjn表同步结束: {}", System.currentTimeMillis() - start); | ||
70 | + JDBCUtilMysql.getClose(); | ||
71 | + } | ||
72 | + } | ||
73 | + | ||
74 | + /** | ||
75 | + * tj_cljrsctjn | ||
76 | + */ | ||
77 | + @Override | ||
78 | + public void updateTjCljrsctjn() { | ||
79 | + log.info("tj_cljrsctjn"); | ||
80 | + long start = System.currentTimeMillis(); | ||
81 | + try { | ||
82 | + Connection conn = JDBCUtilMysql.getConnection(); | ||
83 | + Statement stat = JDBCUtilMysql.getStatement(); | ||
84 | + JDBCUtilMysql.executeUpdate("DELETE FROM tj_cljrsctjn"); | ||
85 | + String sql = "insert into tj_cljrsctjn(y,rcsl,ccsl) VALUES (?, ?, ?)"; | ||
86 | + String selectSql = " SELECT a.y,ifnull(b.sl,0) AS rcsl,ifnull(c.sl,0) AS ccsl FROM ( " + | ||
87 | + "SELECT help_keyword_id y FROM mysql.help_keyword HAVING y BETWEEN 1 AND 12 ORDER BY 1) a LEFT JOIN ( " + | ||
88 | + "SELECT temp.y,sum(temp.sl) AS sl FROM ( " + | ||
89 | + "SELECT MONTH (rcsj) AS y,count(MONTH (rcsj)) sl FROM vehicle_records WHERE YEAR (rcsj)=YEAR (sysdate()) GROUP BY MONTH (rcsj) UNION ALL " + | ||
90 | + "SELECT MONTH (rcsj) AS y,count(MONTH (rcsj)) sl FROM parking_vehicles WHERE YEAR (sysdate())=YEAR (rcsj) GROUP BY MONTH (rcsj)) temp GROUP BY temp.y) b ON a.y=b.y LEFT JOIN ( " + | ||
91 | + "SELECT MONTH (ccsj) AS y,count(*) AS sl FROM vehicle_records WHERE ccsj IS NOT NULL AND YEAR (ccsj)=YEAR (sysdate()) GROUP BY MONTH (ccsj)) c ON a.y=c.y "; | ||
92 | + ArrayList<Map> all = getQueryList(conn, selectSql); | ||
93 | + PreparedStatement ps = null; | ||
94 | + ps = conn.prepareStatement(sql); | ||
95 | + conn.setAutoCommit(false);//取消自动提交 | ||
96 | + if (all == null || all.size() == 0) { | ||
97 | + return; | ||
98 | + } | ||
99 | + int size = all.size(); | ||
100 | + for (int i = 1; i < size + 1; i++) { | ||
101 | + Map data = all.get(i - 1); | ||
102 | + ps.setObject(1, data.get("y")); | ||
103 | + ps.setObject(2, data.get("rcsl")); | ||
104 | + ps.setObject(3, data.get("ccsl")); | ||
105 | + ps.addBatch(); | ||
106 | + if (i % 500 == 0) { | ||
107 | + ps.executeBatch(); // 将容器中的sql语句提交 | ||
108 | + ps.clearBatch(); // 清空容器,为下一次打包做准备 | ||
109 | + } | ||
110 | + } | ||
111 | + ps.executeBatch(); | ||
112 | + ps.clearBatch(); | ||
113 | + conn.commit();//所有语句都执行完毕后才手动提交sql语句 | ||
114 | + } catch (Exception e) { | ||
115 | + log.info("tj_cljrsctjn表同步失败: {}", System.currentTimeMillis() - start); | ||
116 | + e.printStackTrace(); | ||
117 | + } finally { | ||
118 | + log.info("tj_cljrsctjn表同步结束: {}", System.currentTimeMillis() - start); | ||
119 | + JDBCUtilMysql.getClose(); | ||
120 | + } | ||
121 | + } | ||
122 | + | ||
123 | + /** | ||
124 | + * tj_cljrsctjy | ||
125 | + */ | ||
126 | + @Override | ||
127 | + public void updateTjCljrsctjy() { | ||
128 | + log.info("tj_cljrsctjy"); | ||
129 | + long start = System.currentTimeMillis(); | ||
130 | + try { | ||
131 | + Connection conn = JDBCUtilMysql.getConnection(); | ||
132 | + Statement stat = JDBCUtilMysql.getStatement(); | ||
133 | + JDBCUtilMysql.executeUpdate("DELETE FROM tj_cljrsctjy"); | ||
134 | + String sql = "insert into tj_cljrsctjy(r,rcsl,ccsl) VALUES (?, ?, ?)"; | ||
135 | + String selectSql = " SELECT a.r,ifnull(b.sl,0) AS rcsl,ifnull(c.sl,0) AS ccsl FROM (SELECT help_keyword_id r FROM mysql.help_keyword HAVING r BETWEEN 1 AND DAY (last_day(sysdate())) ORDER BY 1) a LEFT JOIN (SELECT temp.r,sum(temp.sl) sl FROM (SELECT DAY (rcsj) AS r,count(DAY (rcsj)) sl FROM vehicle_records WHERE date_format(rcsj,'%y%m')=date_format(sysdate(),'%y%m') GROUP BY DAY (rcsj) UNION ALL SELECT DAY (rcsj) AS r,count(DAY (rcsj)) sl FROM parking_vehicles WHERE date_format(rcsj,'%y%m')=date_format(sysdate(),'%y%m') GROUP BY DAY (rcsj)) temp GROUP BY temp.r) b ON a.r=b.r LEFT JOIN (SELECT date_format(ccsj,'%y%m') AS ny,DAY (ccsj) AS r,count(*) AS sl FROM vehicle_records WHERE rcsj IS NOT NULL AND date_format(ccsj,'%y%m')=date_format(sysdate(),'%y%m') GROUP BY date_format(ccsj,'%y%m'),DAY (ccsj)) c ON a.r=c.r"; | ||
136 | + ArrayList<Map> all = getQueryList(conn, selectSql); | ||
137 | + PreparedStatement ps = null; | ||
138 | + ps = conn.prepareStatement(sql); | ||
139 | + conn.setAutoCommit(false);//取消自动提交 | ||
140 | + if (all == null || all.size() == 0) { | ||
141 | + return; | ||
142 | + } | ||
143 | + int size = all.size(); | ||
144 | + for (int i = 1; i < size + 1; i++) { | ||
145 | + Map data = all.get(i - 1); | ||
146 | + ps.setObject(1, data.get("r")); | ||
147 | + ps.setObject(2, data.get("rcsl")); | ||
148 | + ps.setObject(3, data.get("ccsl")); | ||
149 | + ps.addBatch(); | ||
150 | + if (i % 500 == 0) { | ||
151 | + ps.executeBatch(); // 将容器中的sql语句提交 | ||
152 | + ps.clearBatch(); // 清空容器,为下一次打包做准备 | ||
153 | + } | ||
154 | + } | ||
155 | + ps.executeBatch(); | ||
156 | + ps.clearBatch(); | ||
157 | + conn.commit();//所有语句都执行完毕后才手动提交sql语句 | ||
158 | + } catch (Exception e) { | ||
159 | + log.info("tj_cljrsctjy表同步失败: {}", System.currentTimeMillis() - start); | ||
160 | + e.printStackTrace(); | ||
161 | + } finally { | ||
162 | + log.info("tj_cljrsctjy表同步结束: {}", System.currentTimeMillis() - start); | ||
163 | + JDBCUtilMysql.getClose(); | ||
164 | + } | ||
165 | + } | ||
166 | + | ||
167 | + /** | ||
168 | + * tj_cljrsctjr | ||
169 | + */ | ||
170 | + @Override | ||
171 | + public void updateTjCljrsctjr() { | ||
172 | + log.info("tj_cljrsctjr"); | ||
173 | + long start = System.currentTimeMillis(); | ||
174 | + try { | ||
175 | + Connection conn = JDBCUtilMysql.getConnection(); | ||
176 | + Statement stat = JDBCUtilMysql.getStatement(); | ||
177 | + JDBCUtilMysql.executeUpdate("DELETE FROM tj_cljrsctjr"); | ||
178 | + String sql = "insert into tj_cljrsctjr(x,rcsl,ccsl) VALUES (?, ?, ?)"; | ||
179 | + String selectSql = " SELECT a.x,ifnull(sum(b.sl),0) AS rcsl,IFNULL(sum(c.sl),0) AS ccsl FROM ( \n" + | ||
180 | + " SELECT help_keyword_id x FROM mysql.help_keyword HAVING x BETWEEN 0 AND 23 ORDER BY 1) a \n" + | ||
181 | + " LEFT JOIN " + | ||
182 | + " ( " + | ||
183 | + " SELECT temp.x,count(*) AS sl FROM " + | ||
184 | + " (" + | ||
185 | + " SELECT date_format(rcsj,'%H') AS x FROM vehicle_records WHERE rcsj IS NOT NULL AND date_format(rcsj,'%y%m%d')=date_format(SYSDATE(),'%y%m%d') " + | ||
186 | + " UNION ALL " + | ||
187 | + " SELECT date_format(rcsj,'%H') AS x FROM parking_vehicles WHERE rcsj IS NOT NULL AND date_format(rcsj,'%y%m%d')=date_format(SYSDATE(),'%y%m%d')" + | ||
188 | + " ) temp GROUP BY temp.x" + | ||
189 | + " ) b ON a.x=b.x " + | ||
190 | + " LEFT JOIN " + | ||
191 | + " ( " + | ||
192 | + " SELECT date_format(ccsj,'%H') AS x,count(*) AS sl FROM vehicle_records WHERE date_format(ccsj,'%y%m%d')=date_format(SYSDATE(),'%y%m%d') GROUP BY date_format(ccsj,'%H')) c " + | ||
193 | + " ON a.x=c.x GROUP BY a.x ORDER BY a.x "; | ||
194 | + ArrayList<Map> all = getQueryList(conn, selectSql); | ||
195 | + PreparedStatement ps = null; | ||
196 | + ps = conn.prepareStatement(sql); | ||
197 | + conn.setAutoCommit(false);//取消自动提交 | ||
198 | + if (all == null || all.size() == 0) { | ||
199 | + return; | ||
200 | + } | ||
201 | + int size = all.size(); | ||
202 | + for (int i = 1; i < size + 1; i++) { | ||
203 | + Map data = all.get(i - 1); | ||
204 | + ps.setObject(1, data.get("x")); | ||
205 | + ps.setObject(2, data.get("rcsl")); | ||
206 | + ps.setObject(3, data.get("ccsl")); | ||
207 | + ps.addBatch(); | ||
208 | + if (i % 500 == 0) { | ||
209 | + ps.executeBatch(); // 将容器中的sql语句提交 | ||
210 | + ps.clearBatch(); // 清空容器,为下一次打包做准备 | ||
211 | + } | ||
212 | + } | ||
213 | + ps.executeBatch(); | ||
214 | + ps.clearBatch(); | ||
215 | + conn.commit();//所有语句都执行完毕后才手动提交sql语句 | ||
216 | + } catch (Exception e) { | ||
217 | + log.info("tj_cljrsctjr表同步失败: {}", System.currentTimeMillis() - start); | ||
218 | + e.printStackTrace(); | ||
219 | + } finally { | ||
220 | + log.info("tj_cljrsctjr表同步结束: {}", System.currentTimeMillis() - start); | ||
221 | + JDBCUtilMysql.getClose(); | ||
222 | + } | ||
223 | + } | ||
224 | + | ||
225 | + /** | ||
226 | + * tj_jrcrktcsj | ||
227 | + */ | ||
228 | + @Override | ||
229 | + public void updateTjJrcrktcsj() { | ||
230 | + log.info("tj_jrcrktcsj"); | ||
231 | + long start = System.currentTimeMillis(); | ||
232 | + try { | ||
233 | + Connection conn = JDBCUtilMysql.getConnection(); | ||
234 | + Statement stat = JDBCUtilMysql.getStatement(); | ||
235 | + JDBCUtilMysql.executeUpdate("DELETE FROM tj_jrcrktcsj"); | ||
236 | + String sql = "insert into tj_jrcrktcsj(cphm,zhlx,rcsj,ccsj,tcsj,ssje,rctd,cctd) VALUES (?, ?, ?,?, ?, ?,?, ?)"; | ||
237 | + String selectSql = "select \n" + | ||
238 | + "vehicle_records.cphm,\n" + | ||
239 | + "vehicle_records.zhlx,\n" + | ||
240 | + "vehicle_records.rcsj,\n" + | ||
241 | + "vehicle_records.ccsj,\n" + | ||
242 | + "round(timestampdiff(minute,vehicle_records.rcsj,vehicle_records.ccsj)/60,2) as tcsj,\n" + | ||
243 | + "ifnull(parking_payment.ssje,0) ssje,\n" + | ||
244 | + "vehicle_records.rctd as rctd,\n" + | ||
245 | + "vehicle_records.cctd as cctd\n" + | ||
246 | + "from\n" + | ||
247 | + "vehicle_records\n" + | ||
248 | + "left join parking_payment on parking_payment.cphm = vehicle_records.cphm and parking_payment.rcsj = vehicle_records.rcsj\n" + | ||
249 | + "where date_format(vehicle_records.rcsj,'%y%m%d') = date_format(NOW(),'%y%m%d')"; | ||
250 | + ArrayList<Map> all = getQueryList(conn, selectSql); | ||
251 | + PreparedStatement ps = null; | ||
252 | + ps = conn.prepareStatement(sql); | ||
253 | + conn.setAutoCommit(false);//取消自动提交 | ||
254 | + if (all == null || all.size() == 0) { | ||
255 | + return; | ||
256 | + } | ||
257 | + int size = all.size(); | ||
258 | + for (int i = 1; i < size + 1; i++) { | ||
259 | + Map data = all.get(i - 1); | ||
260 | + ps.setObject(1, data.get("cphm")); | ||
261 | + ps.setObject(2, data.get("zhlx")); | ||
262 | + ps.setObject(3, data.get("rcsj")); | ||
263 | + ps.setObject(4, data.get("ccsj")); | ||
264 | + ps.setObject(5, data.get("tcsj")); | ||
265 | + ps.setObject(6, data.get("ssje")); | ||
266 | + ps.setObject(7, data.get("rctd")); | ||
267 | + ps.setObject(8, data.get("cctd")); | ||
268 | + ps.addBatch(); | ||
269 | + if (i % 500 == 0) { | ||
270 | + ps.executeBatch(); // 将容器中的sql语句提交 | ||
271 | + ps.clearBatch(); // 清空容器,为下一次打包做准备 | ||
272 | + } | ||
273 | + } | ||
274 | + ps.executeBatch(); | ||
275 | + ps.clearBatch(); | ||
276 | + conn.commit();//所有语句都执行完毕后才手动提交sql语句 | ||
277 | + } catch (Exception e) { | ||
278 | + log.info("tj_jrcrktcsj表同步失败: {}", System.currentTimeMillis() - start); | ||
279 | + e.printStackTrace(); | ||
280 | + } finally { | ||
281 | + log.info("tj_jrcrktcsj表同步结束: {}", System.currentTimeMillis() - start); | ||
282 | + JDBCUtilMysql.getClose(); | ||
283 | + } | ||
284 | + } | ||
285 | + | ||
286 | + | ||
287 | + /** | ||
288 | + * tj_parking_payment | ||
289 | + */ | ||
290 | + @Override | ||
291 | + public void updateTjParkingPayment() { | ||
292 | + log.info("tj_parking_payment"); | ||
293 | + long start = System.currentTimeMillis(); | ||
294 | + try { | ||
295 | + Connection conn = JDBCUtilMysql.getConnection(); | ||
296 | + Statement stat = JDBCUtilMysql.getStatement(); | ||
297 | + JDBCUtilMysql.executeUpdate("DELETE FROM tj_parking_payment"); | ||
298 | + String sql = "insert into tj_parking_payment(xh,cphm,zhlx,rcsj,sfsj,sfy,gtmc,ysje,ssje,cxye,dzje,mfje,sflx,zflx,ddh) VALUES " + | ||
299 | + "(?, ?, ?,?, ?, " + | ||
300 | + "?,?, ?, ?, ?," + | ||
301 | + "?,?, ?, ?, ?)"; | ||
302 | + String selectSql = "SELECT xh,cphm,zhlx,rcsj,sfsj,sfy,gtmc,ysje,ssje,cxye,dzje,mfje,sflx,zflx,ddh FROM parking_payment where date_format(rcsj,'%y%m%d') = date_format(NOW(),'%y%m%d') or date_format(sfsj,'%y%m%d') = date_format(NOW(),'%y%m%d')"; | ||
303 | + ArrayList<Map> all = getQueryList(conn, selectSql); | ||
304 | + PreparedStatement ps = null; | ||
305 | + ps = conn.prepareStatement(sql); | ||
306 | + conn.setAutoCommit(false);//取消自动提交 | ||
307 | + if (all == null || all.size() == 0) { | ||
308 | + return; | ||
309 | + } | ||
310 | + int size = all.size(); | ||
311 | + for (int i = 1; i < size + 1; i++) { | ||
312 | + Map data = all.get(i - 1); | ||
313 | + ps.setObject(1, data.get("xh")); | ||
314 | + ps.setObject(2, data.get("cphm")); | ||
315 | + ps.setObject(3, data.get("zhlx")); | ||
316 | + ps.setObject(4, data.get("rcsj")); | ||
317 | + ps.setObject(5, data.get("sfsj")); | ||
318 | + | ||
319 | + ps.setObject(6, data.get("sfy")); | ||
320 | + ps.setObject(7, data.get("gtmc")); | ||
321 | + ps.setObject(8, data.get("ysje")); | ||
322 | + ps.setObject(9, data.get("ssje")); | ||
323 | + ps.setObject(10, data.get("cxye")); | ||
324 | + | ||
325 | + ps.setObject(11, data.get("dzje")); | ||
326 | + ps.setObject(12, data.get("mfje")); | ||
327 | + ps.setObject(13, data.get("sflx")); | ||
328 | + ps.setObject(14, data.get("zflx")); | ||
329 | + ps.setObject(15, data.get("ddh")); | ||
330 | + | ||
331 | + ps.addBatch(); | ||
332 | + if (i % 500 == 0) { | ||
333 | + ps.executeBatch(); // 将容器中的sql语句提交 | ||
334 | + ps.clearBatch(); // 清空容器,为下一次打包做准备 | ||
335 | + } | ||
336 | + } | ||
337 | + ps.executeBatch(); | ||
338 | + ps.clearBatch(); | ||
339 | + conn.commit();//所有语句都执行完毕后才手动提交sql语句 | ||
340 | + } catch (Exception e) { | ||
341 | + log.info("tj_jrcrktcsj表同步失败: {}", System.currentTimeMillis() - start); | ||
342 | + e.printStackTrace(); | ||
343 | + } finally { | ||
344 | + log.info("tj_jrcrktcsj表同步结束: {}", System.currentTimeMillis() - start); | ||
345 | + JDBCUtilMysql.getClose(); | ||
346 | + } | ||
347 | + } | ||
348 | + | ||
349 | + | ||
350 | + /** | ||
351 | + * tj_vehicle_records | ||
352 | + */ | ||
353 | + @Override | ||
354 | + public void updateTjVehicleRecords() { | ||
355 | + log.info("tj_vehicle_records"); | ||
356 | + long start = System.currentTimeMillis(); | ||
357 | + try { | ||
358 | + Connection conn = JDBCUtilMysql.getConnection(); | ||
359 | + Statement stat = JDBCUtilMysql.getStatement(); | ||
360 | + JDBCUtilMysql.executeUpdate("DELETE FROM tj_vehicle_records"); | ||
361 | + String sql = "insert into tj_vehicle_records(xh,cphm,zhlx,czxm,rcsj,rctd,ccsj,cctd,ccfs) VALUES " + | ||
362 | + "(?, ?, ?,?, ?, " + | ||
363 | + "?,?, ?, ?)"; | ||
364 | + String selectSql = "SELECT * FROM vehicle_records where date_format(vehicle_records.rcsj,'%y%m%d') = date_format(NOW(),'%y%m%d')\n" + | ||
365 | + "or date_format(vehicle_records.ccsj,'%y%m%d') = date_format(NOW(),'%y%m%d')"; | ||
366 | + ArrayList<Map> all = getQueryList(conn, selectSql); | ||
367 | + PreparedStatement ps = null; | ||
368 | + ps = conn.prepareStatement(sql); | ||
369 | + conn.setAutoCommit(false);//取消自动提交 | ||
370 | + if (all == null || all.size() == 0) { | ||
371 | + return; | ||
372 | + } | ||
373 | + int size = all.size(); | ||
374 | + for (int i = 1; i < size + 1; i++) { | ||
375 | + Map data = all.get(i - 1); | ||
376 | + ps.setObject(1, data.get("xh")); | ||
377 | + ps.setObject(2, data.get("cphm")); | ||
378 | + ps.setObject(3, data.get("zhlx")); | ||
379 | + ps.setObject(4, data.get("czxm")); | ||
380 | + ps.setObject(5, data.get("rcsj")); | ||
381 | + | ||
382 | + ps.setObject(6, data.get("rctd")); | ||
383 | + ps.setObject(7, data.get("ccsj")); | ||
384 | + ps.setObject(8, data.get("cctd")); | ||
385 | + ps.setObject(9, data.get("ccfs")); | ||
386 | + ps.addBatch(); | ||
387 | + if (i % 500 == 0) { | ||
388 | + ps.executeBatch(); // 将容器中的sql语句提交 | ||
389 | + ps.clearBatch(); // 清空容器,为下一次打包做准备 | ||
390 | + } | ||
391 | + } | ||
392 | + ps.executeBatch(); | ||
393 | + ps.clearBatch(); | ||
394 | + conn.commit();//所有语句都执行完毕后才手动提交sql语句 | ||
395 | + } catch (Exception e) { | ||
396 | + log.info("tj_vehicle_records表同步失败: {}", System.currentTimeMillis() - start); | ||
397 | + e.printStackTrace(); | ||
398 | + } finally { | ||
399 | + log.info("tj_vehicle_records表同步结束: {}", System.currentTimeMillis() - start); | ||
400 | + JDBCUtilMysql.getClose(); | ||
401 | + } | ||
402 | + } | ||
403 | + | ||
404 | + | ||
405 | + private ArrayList<Map> getQueryList(Connection conn, String selectSql) throws SQLException { | ||
406 | + ArrayList<Map> all = new ArrayList<Map>(); | ||
407 | + ArrayList<String> titleNameList = new ArrayList<>(); | ||
408 | + Statement st = conn.createStatement(); | ||
409 | + ResultSet rs = st.executeQuery(selectSql); | ||
410 | + int columnCount = rs.getMetaData().getColumnCount(); | ||
411 | + for (int i = 0; i < columnCount; i++) { | ||
412 | + titleNameList.add(rs.getMetaData().getColumnLabel((i + 1))); | ||
413 | + } | ||
414 | + while (rs.next()) { | ||
415 | + HashMap<String, Object> map = new HashMap<>(); | ||
416 | + for (String name : titleNameList) { | ||
417 | + map.put(name, rs.getString(name)); | ||
418 | + } | ||
419 | + all.add(map); | ||
420 | + } | ||
421 | + return all; | ||
422 | + } | ||
423 | + | ||
424 | + | ||
425 | +} |
src/main/java/com/songshu/mongo/test/BookMongoControllerTest.java
0 → 100644
1 | +++ a/src/main/java/com/songshu/mongo/test/BookMongoControllerTest.java | ||
@@ -0,0 +1,175 @@ | @@ -0,0 +1,175 @@ | ||
1 | +package com.songshu.mongo.test; | ||
2 | + | ||
3 | +import com.alibaba.fastjson.JSON; | ||
4 | +import com.fasterxml.jackson.core.JsonProcessingException; | ||
5 | +import com.songshu.mongo.model.json.JsonString; | ||
6 | +import com.songshu.mongo.model.dto.BookDTO; | ||
7 | +import com.songshu.mongo.service.BookMongoService; | ||
8 | +import com.songshu.mongo.service.StaticScheduleTaskService; | ||
9 | +import com.songshu.mongo.service.UpdateTingcheService; | ||
10 | +import org.junit.Test; | ||
11 | +import org.junit.runner.RunWith; | ||
12 | +import org.springframework.beans.factory.annotation.Autowired; | ||
13 | +import org.springframework.boot.test.context.SpringBootTest; | ||
14 | +import org.springframework.data.mongodb.core.query.Criteria; | ||
15 | +import org.springframework.data.mongodb.core.query.Query; | ||
16 | +import org.springframework.data.mongodb.core.query.Update; | ||
17 | +import org.springframework.test.context.junit4.SpringRunner; | ||
18 | + | ||
19 | +import java.util.List; | ||
20 | + | ||
21 | + | ||
22 | +@SpringBootTest | ||
23 | +@RunWith(SpringRunner.class) | ||
24 | +public class BookMongoControllerTest { | ||
25 | + | ||
26 | + @Autowired | ||
27 | + private BookMongoService bookMongoService; | ||
28 | + @Autowired | ||
29 | + private StaticScheduleTaskService staticScheduleTaskService; | ||
30 | + @Autowired | ||
31 | + private UpdateTingcheService updateTingcheService; | ||
32 | + | ||
33 | + /** | ||
34 | + * 测试json转对象(for:拿示例json数据做批量新增) | ||
35 | + * | ||
36 | + * @throws JsonProcessingException | ||
37 | + */ | ||
38 | + @Test | ||
39 | + public void jsonToObj() throws JsonProcessingException { | ||
40 | + String jsonString = JsonString.jsonString; | ||
41 | + // json转对象集合 | ||
42 | + List<BookDTO> bookDTOList = JSON.parseArray(jsonString, BookDTO.class); | ||
43 | + System.out.println(bookDTOList); | ||
44 | + //集合转对象 | ||
45 | + // String json = new ObjectMapper().writeValueAsString(bookDTOList); | ||
46 | + } | ||
47 | + | ||
48 | + /** | ||
49 | + * 新增)(单个新增) | ||
50 | + */ | ||
51 | + @Test | ||
52 | + public void insert() { | ||
53 | + BookDTO bookDTO = new BookDTO(); | ||
54 | + bookDTO.setId("5"); | ||
55 | + bookDTO.setName("万界圣主"); | ||
56 | + bookDTO.setPrice("17.8"); | ||
57 | + bookDTO.setType("仙侠"); | ||
58 | + bookDTO.setReadedNum(Double.parseDouble("10.7")); | ||
59 | + bookMongoService.inserBookInfo(bookDTO); | ||
60 | + } | ||
61 | + | ||
62 | + /** | ||
63 | + * 新增(批量新增) | ||
64 | + */ | ||
65 | + @Test | ||
66 | + public void insertBatch() { | ||
67 | + // 拿到示例json数据 | ||
68 | + String jsonString = JsonString.jsonString; | ||
69 | + // json转对象集合 | ||
70 | + List<BookDTO> bookDTOList = JSON.parseArray(jsonString, BookDTO.class); | ||
71 | + bookMongoService.inserBatchBookInfo(bookDTOList); | ||
72 | + } | ||
73 | + | ||
74 | + /** | ||
75 | + * 修改 | ||
76 | + */ | ||
77 | + @Test | ||
78 | + public void update() { | ||
79 | + // 条件 | ||
80 | + Query query = Query.query(Criteria.where("_id").is("2")); | ||
81 | + // 修改内容 | ||
82 | + Update update = Update.update("price", "19.9"); | ||
83 | + bookMongoService.updateBookInfo(query, update); | ||
84 | + | ||
85 | + } | ||
86 | + | ||
87 | + /** | ||
88 | + * 查询所有 | ||
89 | + */ | ||
90 | + @Test | ||
91 | + public void findAll() { | ||
92 | + List<BookDTO> allBookInfo = bookMongoService.findAllBookInfo(); | ||
93 | + System.out.println(allBookInfo); | ||
94 | + } | ||
95 | + | ||
96 | + /** | ||
97 | + * 根据书名查询:精准 | ||
98 | + */ | ||
99 | + @Test | ||
100 | + public void findByName() { | ||
101 | + String name = "盗墓笔记"; | ||
102 | + List<BookDTO> allBookInfo = bookMongoService.findBookInfoByName(name); | ||
103 | + System.out.println(allBookInfo); | ||
104 | + } | ||
105 | + | ||
106 | + /** | ||
107 | + * 根据书名查询: 模糊查 | ||
108 | + */ | ||
109 | + @Test | ||
110 | + public void findReName() { | ||
111 | + String name = "主"; | ||
112 | + List<BookDTO> allBookInfo = bookMongoService.findBookInfoReName(name); | ||
113 | + System.out.println(allBookInfo); | ||
114 | + } | ||
115 | + | ||
116 | + /** | ||
117 | + * 根据阅读量:范围查询,排序 | ||
118 | + */ | ||
119 | + @Test | ||
120 | + public void findReRange() { | ||
121 | + // 注意,这里范围查询得时候,直接用作字符串去查,并不会把字符串里面得数字提取出来然后做范围查询,所以这里改成Double,改成Long坑太多. | ||
122 | + Double minReadedNum = Double.parseDouble("8.3"); | ||
123 | + Double maxReadedNum = Double.parseDouble("18.0"); | ||
124 | + List<BookDTO> allBookInfo = bookMongoService.findBookInfoReRange(minReadedNum, maxReadedNum); | ||
125 | + System.out.println(allBookInfo); | ||
126 | + } | ||
127 | + | ||
128 | + /** | ||
129 | + * 根据阅读量:范围查询,排序,分页(页码是物理下标,入数是逻辑下标) | ||
130 | + */ | ||
131 | + @Test | ||
132 | + public void findPage() { | ||
133 | + // 注意,这里范围查询得时候,直接用作字符串去查,并不会把字符串里面得数字提取出来然后做范围查询,所以这里改成Double,改成Long坑太多. | ||
134 | + Double minReadedNum = Double.parseDouble("7.0"); | ||
135 | + Double maxReadedNum = Double.parseDouble("35.9"); | ||
136 | + Integer pageNum = 2; | ||
137 | + Integer pageSize = 2; | ||
138 | + List<BookDTO> allBookInfo = bookMongoService.findBookInfoPage(minReadedNum, maxReadedNum, pageNum, pageSize); | ||
139 | + System.out.println(allBookInfo); | ||
140 | + } | ||
141 | + | ||
142 | + // 高级查询待写........ | ||
143 | + | ||
144 | + /** | ||
145 | + * 测试用 | ||
146 | + */ | ||
147 | + @Test | ||
148 | + public void findAll3() { | ||
149 | + | ||
150 | +// staticScheduleTaskService.SynchronousDataRuildings(); | ||
151 | + | ||
152 | +// staticScheduleTaskService.SynchronousDataContractsRoom(); | ||
153 | +// staticScheduleTaskService.SynchronousDataRuildings(); | ||
154 | +// staticScheduleTaskService.SynchronousDataRoom(); | ||
155 | +// staticScheduleTaskService.SynchronousDataContracts(); | ||
156 | +// staticScheduleTaskService.SynchronousDataAccounts(); | ||
157 | +// staticScheduleTaskService.SynchronousDataContractReceipts(); | ||
158 | + | ||
159 | + | ||
160 | +// staticScheduleTaskService.SynchronousDataContractAuditRecords(); | ||
161 | +// List<Room> allBookInfo = bookMongoService.findAllBookInfo3(); | ||
162 | + | ||
163 | +// | ||
164 | +// updateTingcheService.updateTjTcsjtjn(); | ||
165 | +// updateTingcheService.updateTjCljrsctjn(); | ||
166 | +// updateTingcheService.updateTjCljrsctjy(); | ||
167 | +// updateTingcheService.updateTjCljrsctjr(); | ||
168 | + | ||
169 | +// updateTingcheService.updateTjJrcrktcsj(); 不用了 | ||
170 | + | ||
171 | + | ||
172 | +// updateTingcheService.updateTjParkingPayment(); | ||
173 | +// updateTingcheService.updateTjVehicleRecords(); | ||
174 | + } | ||
175 | +} |
1 | +++ a/src/main/java/com/songshu/mongo/tools/JDBCUtil.java | ||
@@ -0,0 +1,164 @@ | @@ -0,0 +1,164 @@ | ||
1 | +package com.songshu.mongo.tools; | ||
2 | + | ||
3 | +import lombok.extern.slf4j.Slf4j; | ||
4 | + | ||
5 | +import java.sql.*; | ||
6 | +import java.util.ArrayList; | ||
7 | +import java.util.Map; | ||
8 | + | ||
9 | +@Slf4j | ||
10 | +public class JDBCUtil { | ||
11 | + private static Connection connection = null; | ||
12 | + private static Statement statement = null; | ||
13 | + private static ResultSet result = null; | ||
14 | + | ||
15 | +// //测试 | ||
16 | +// private static String url = "jdbc:mysql://192.168.145.30:3306/steedos2?useUnicode=true&characterEncoding=utf-8&rewriteBatchedStatements=true"; | ||
17 | +// private static String username = "root"; | ||
18 | +// private static String password = "Peony@2022"; | ||
19 | +// private static String driver="com.mysql.jdbc.Driver"; | ||
20 | + | ||
21 | +// //测试 | ||
22 | +// private static String url = "jdbc:mysql://192.168.3.5:3306/zulin?useUnicode=true&characterEncoding=utf-8&rewriteBatchedStatements=true"; | ||
23 | +// private static String username = "root"; | ||
24 | +// private static String password = "Peony@2021"; | ||
25 | +// private static String driver="com.mysql.jdbc.Driver"; | ||
26 | + //生产 | ||
27 | + private static String url = "jdbc:mysql://192.168.145.30:3306/steedos?useUnicode=true&characterEncoding=utf-8&rewriteBatchedStatements=true"; | ||
28 | + private static String username = "root"; | ||
29 | + private static String password = "Peony@2022"; | ||
30 | + private static String driver="com.mysql.jdbc.Driver"; | ||
31 | + static { | ||
32 | + try { | ||
33 | + //4.注册驱动 | ||
34 | + Class.forName(driver); | ||
35 | + } catch (ClassNotFoundException e) { | ||
36 | + // TODO Auto-generated catch block | ||
37 | + e.printStackTrace(); | ||
38 | + } catch (Exception e) { | ||
39 | + e.printStackTrace(); | ||
40 | + } | ||
41 | + } | ||
42 | + | ||
43 | + public static Connection getConnection() { | ||
44 | + try { | ||
45 | +// log.info("开始连接mysql"); | ||
46 | +// log.info("url----------------》"+url); | ||
47 | +// log.info("username----------------》"+username); | ||
48 | +// log.info("password----------------》"+password); | ||
49 | + connection = DriverManager.getConnection(url, username, password); | ||
50 | + } catch (SQLException e) { | ||
51 | + // TODO: handle exception | ||
52 | + } | ||
53 | +// log.info("连接mysql connection---------》"+connection); | ||
54 | + return connection; | ||
55 | + | ||
56 | + } | ||
57 | + | ||
58 | + public static Statement getStatement() { | ||
59 | + try { | ||
60 | +// log.info("创建Statement 对象"); | ||
61 | +// log.info("connection----------------》"+connection); | ||
62 | + statement = connection.createStatement(); | ||
63 | + } catch (SQLException e) { | ||
64 | + // TODO Auto-generated catch block | ||
65 | + e.printStackTrace(); | ||
66 | + } | ||
67 | +// log.info("创建Statement 对象statement--------》"+statement); | ||
68 | + return statement; | ||
69 | + | ||
70 | + } | ||
71 | + | ||
72 | + /** | ||
73 | + * 查询 | ||
74 | + * | ||
75 | + * @param sql | ||
76 | + * @return | ||
77 | + */ | ||
78 | + public static ResultSet executeQuery(String sql) { | ||
79 | + try { | ||
80 | + result = statement.executeQuery(sql); | ||
81 | + } catch (SQLException e) { | ||
82 | + // TODO Auto-generated catch block | ||
83 | + e.printStackTrace(); | ||
84 | + } | ||
85 | + return result; | ||
86 | + } | ||
87 | + | ||
88 | + /** | ||
89 | + * 修改 | ||
90 | + * | ||
91 | + * @param sql | ||
92 | + * @return | ||
93 | + */ | ||
94 | + public static int executeUpdate(String sql) { | ||
95 | + try { | ||
96 | + int i = statement.executeUpdate(sql); | ||
97 | + return i; | ||
98 | + } catch (SQLException e) { | ||
99 | + // TODO Auto-generated catch block | ||
100 | + e.printStackTrace(); | ||
101 | + } | ||
102 | + return 0; | ||
103 | + } | ||
104 | + | ||
105 | + public static void getClose() { | ||
106 | + if (connection != null) { | ||
107 | + try { | ||
108 | + connection.close(); | ||
109 | + } catch (SQLException e) { | ||
110 | + // TODO Auto-generated catch block | ||
111 | + e.printStackTrace(); | ||
112 | + } | ||
113 | + connection = null; | ||
114 | + } | ||
115 | + if (statement != null) { | ||
116 | + try { | ||
117 | + statement.close(); | ||
118 | + } catch (SQLException e) { | ||
119 | + // TODO Auto-generated catch block | ||
120 | + e.printStackTrace(); | ||
121 | + } | ||
122 | + statement = null; | ||
123 | + } | ||
124 | + if (result != null) { | ||
125 | + try { | ||
126 | + result.close(); | ||
127 | + } catch (SQLException e) { | ||
128 | + // TODO Auto-generated catch block | ||
129 | + e.printStackTrace(); | ||
130 | + result = null; | ||
131 | + } | ||
132 | + } | ||
133 | + } | ||
134 | + | ||
135 | + /** | ||
136 | + * 查询sql | ||
137 | + * | ||
138 | + * @param sql | ||
139 | + * @return | ||
140 | + */ | ||
141 | + public static ArrayList<Map> executeQueryList(String sql) { | ||
142 | + ArrayList<String> titleNameList = new ArrayList<>(); | ||
143 | + ArrayList<Map> datalist = new ArrayList<Map>(); | ||
144 | + try { | ||
145 | + result = statement.executeQuery(sql); | ||
146 | + int columnCount = result.getMetaData().getColumnCount(); | ||
147 | + for (int i = 0; i < columnCount; i++) { | ||
148 | + titleNameList.add(result.getMetaData().getColumnLabel((i + 1))); | ||
149 | + } | ||
150 | + while (result.next()) { | ||
151 | + for (String name : titleNameList) { | ||
152 | + datalist.add(MapFactory.create().put(name, result.getString(name)).getData()); | ||
153 | + } | ||
154 | + } | ||
155 | + } catch (SQLException e) { | ||
156 | + // TODO Auto-generated catch block | ||
157 | + e.printStackTrace(); | ||
158 | + } | ||
159 | + return datalist; | ||
160 | + } | ||
161 | + | ||
162 | + | ||
163 | +} | ||
164 | + |
src/main/java/com/songshu/mongo/tools/JDBCUtilMysql.java
0 → 100644
1 | +++ a/src/main/java/com/songshu/mongo/tools/JDBCUtilMysql.java | ||
@@ -0,0 +1,167 @@ | @@ -0,0 +1,167 @@ | ||
1 | +package com.songshu.mongo.tools; | ||
2 | + | ||
3 | +import lombok.extern.slf4j.Slf4j; | ||
4 | + | ||
5 | +import java.sql.*; | ||
6 | +import java.util.ArrayList; | ||
7 | +import java.util.Map; | ||
8 | + | ||
9 | +@Slf4j | ||
10 | +public class JDBCUtilMysql { | ||
11 | + private static Connection connection = null; | ||
12 | + private static Statement statement = null; | ||
13 | + private static ResultSet result = null; | ||
14 | + | ||
15 | +// //测试 | ||
16 | +// private static String url = "jdbc:mysql://192.168.145.30:3306/steedos2?useUnicode=true&characterEncoding=utf-8&rewriteBatchedStatements=true"; | ||
17 | +// private static String username = "root"; | ||
18 | +// private static String password = "Peony@2022"; | ||
19 | +// private static String driver="com.mysql.jdbc.Driver"; | ||
20 | + | ||
21 | +// //测试 | ||
22 | +// private static String url = "jdbc:mysql://192.168.3.5:3306/zulin?useUnicode=true&characterEncoding=utf-8&rewriteBatchedStatements=true"; | ||
23 | +// private static String username = "root"; | ||
24 | +// private static String password = "Peony@2021"; | ||
25 | +// private static String driver="com.mysql.jdbc.Driver"; | ||
26 | + //生产 | ||
27 | + private static String url = "jdbc:mysql://192.168.145.30:3306/tingche?useUnicode=true&characterEncoding=utf-8" + | ||
28 | + "&rewriteBatchedStatements=true" + | ||
29 | + "&loginTimeout=6000000"; | ||
30 | + private static String username = "tingchegl"; | ||
31 | + private static String password = "tingchegl@123"; | ||
32 | + private static String driver="com.mysql.jdbc.Driver"; | ||
33 | + static { | ||
34 | + try { | ||
35 | + //4.注册驱动 | ||
36 | + Class.forName(driver); | ||
37 | + } catch (ClassNotFoundException e) { | ||
38 | + // TODO Auto-generated catch block | ||
39 | + e.printStackTrace(); | ||
40 | + } catch (Exception e) { | ||
41 | + e.printStackTrace(); | ||
42 | + } | ||
43 | + } | ||
44 | + | ||
45 | + public static Connection getConnection() { | ||
46 | + try { | ||
47 | +// log.info("开始连接mysql"); | ||
48 | +// log.info("url----------------》"+url); | ||
49 | +// log.info("username----------------》"+username); | ||
50 | +// log.info("password----------------》"+password); | ||
51 | + DriverManager.setLoginTimeout(6000000); | ||
52 | + connection = DriverManager.getConnection(url, username, password); | ||
53 | + } catch (SQLException e) { | ||
54 | + // TODO: handle exception | ||
55 | + } | ||
56 | +// log.info("连接mysql connection---------》"+connection); | ||
57 | + return connection; | ||
58 | + | ||
59 | + } | ||
60 | + | ||
61 | + public static Statement getStatement() { | ||
62 | + try { | ||
63 | +// log.info("创建Statement 对象"); | ||
64 | +// log.info("connection----------------》"+connection); | ||
65 | + statement = connection.createStatement(); | ||
66 | + } catch (SQLException e) { | ||
67 | + // TODO Auto-generated catch block | ||
68 | + e.printStackTrace(); | ||
69 | + } | ||
70 | +// log.info("创建Statement 对象statement--------》"+statement); | ||
71 | + return statement; | ||
72 | + | ||
73 | + } | ||
74 | + | ||
75 | + /** | ||
76 | + * 查询 | ||
77 | + * | ||
78 | + * @param sql | ||
79 | + * @return | ||
80 | + */ | ||
81 | + public static ResultSet executeQuery(String sql) { | ||
82 | + try { | ||
83 | + result = statement.executeQuery(sql); | ||
84 | + } catch (SQLException e) { | ||
85 | + // TODO Auto-generated catch block | ||
86 | + e.printStackTrace(); | ||
87 | + } | ||
88 | + return result; | ||
89 | + } | ||
90 | + | ||
91 | + /** | ||
92 | + * 修改 | ||
93 | + * | ||
94 | + * @param sql | ||
95 | + * @return | ||
96 | + */ | ||
97 | + public static int executeUpdate(String sql) { | ||
98 | + try { | ||
99 | + int i = statement.executeUpdate(sql); | ||
100 | + return i; | ||
101 | + } catch (SQLException e) { | ||
102 | + // TODO Auto-generated catch block | ||
103 | + e.printStackTrace(); | ||
104 | + } | ||
105 | + return 0; | ||
106 | + } | ||
107 | + | ||
108 | + public static void getClose() { | ||
109 | + if (connection != null) { | ||
110 | + try { | ||
111 | + connection.close(); | ||
112 | + } catch (SQLException e) { | ||
113 | + // TODO Auto-generated catch block | ||
114 | + e.printStackTrace(); | ||
115 | + } | ||
116 | + connection = null; | ||
117 | + } | ||
118 | + if (statement != null) { | ||
119 | + try { | ||
120 | + statement.close(); | ||
121 | + } catch (SQLException e) { | ||
122 | + // TODO Auto-generated catch block | ||
123 | + e.printStackTrace(); | ||
124 | + } | ||
125 | + statement = null; | ||
126 | + } | ||
127 | + if (result != null) { | ||
128 | + try { | ||
129 | + result.close(); | ||
130 | + } catch (SQLException e) { | ||
131 | + // TODO Auto-generated catch block | ||
132 | + e.printStackTrace(); | ||
133 | + result = null; | ||
134 | + } | ||
135 | + } | ||
136 | + } | ||
137 | + | ||
138 | + /** | ||
139 | + * 查询sql | ||
140 | + * | ||
141 | + * @param sql | ||
142 | + * @return | ||
143 | + */ | ||
144 | + public static ArrayList<Map> executeQueryList(String sql) { | ||
145 | + ArrayList<String> titleNameList = new ArrayList<>(); | ||
146 | + ArrayList<Map> datalist = new ArrayList<Map>(); | ||
147 | + try { | ||
148 | + result = statement.executeQuery(sql); | ||
149 | + int columnCount = result.getMetaData().getColumnCount(); | ||
150 | + for (int i = 0; i < columnCount; i++) { | ||
151 | + titleNameList.add(result.getMetaData().getColumnLabel((i + 1))); | ||
152 | + } | ||
153 | + while (result.next()) { | ||
154 | + for (String name : titleNameList) { | ||
155 | + datalist.add(MapFactory.create().put(name, result.getString(name)).getData()); | ||
156 | + } | ||
157 | + } | ||
158 | + } catch (SQLException e) { | ||
159 | + // TODO Auto-generated catch block | ||
160 | + e.printStackTrace(); | ||
161 | + } | ||
162 | + return datalist; | ||
163 | + } | ||
164 | + | ||
165 | + | ||
166 | +} | ||
167 | + |
1 | +++ a/src/main/java/com/songshu/mongo/tools/MapFactory.java | ||
@@ -0,0 +1,28 @@ | @@ -0,0 +1,28 @@ | ||
1 | +package com.songshu.mongo.tools; | ||
2 | + | ||
3 | +import java.util.HashMap; | ||
4 | +import java.util.Map; | ||
5 | + | ||
6 | + | ||
7 | +public class MapFactory { | ||
8 | + | ||
9 | + private Map data = new HashMap(); | ||
10 | + private MapFactory() {} | ||
11 | + | ||
12 | + public static MapFactory create() { | ||
13 | + return new MapFactory(); | ||
14 | + } | ||
15 | + | ||
16 | + public static MapFactory create(Object key, Object value) { | ||
17 | + return create().put(key, value); | ||
18 | + } | ||
19 | + | ||
20 | + public MapFactory put(Object key, Object value) { | ||
21 | + data.put(key, value); | ||
22 | + return this; | ||
23 | + } | ||
24 | + | ||
25 | + public Map getData() { | ||
26 | + return data; | ||
27 | + } | ||
28 | +} |
1 | +++ a/src/main/resources/application.properties | ||
@@ -0,0 +1,12 @@ | @@ -0,0 +1,12 @@ | ||
1 | +server.port=8018 | ||
2 | +# ²âÊÔ | ||
3 | +#spring.data.mongodb.uri=mongodb://Peony:Peony8228@contract.lichenxuan.top:33300/steedos | ||
4 | +# Éú²ú | ||
5 | +spring.data.mongodb.uri=mongodb://Peony:Peony8228@192.168.145.52:27017/steedos | ||
6 | +#spring.data.mongodb.database=steedos | ||
7 | +#spring.data.mongodb.port=33300 | ||
8 | +#spring.data.mongodb.username=Peony | ||
9 | +#spring.data.mongodb.password=Peony8228 | ||
10 | +spring.data.mongodb.repositories.enabled=true | ||
11 | +logging.level.org.springframework.data=WARN | ||
12 | +logging.level.org.springframework.web = INFO |