From 27d341342925f11c19fb7a31da7050f5e9041319 Mon Sep 17 00:00:00 2001
From: feiyu02 <risaku@163.com>
Date: 星期四, 19 十月 2023 17:52:29 +0800
Subject: [PATCH] 新增数据分析模块

---
 src/main/resources/mapper/ds1/DustSiteMapMapper.xml                                     |   24 
 src/main/java/com/flightfeather/monitor/domain/ds1/mapper/DustGlobalSettingMapper.kt    |    8 
 src/main/resources/mapper/ds1/DustSiteLatestTimeMapper.xml                              |   18 
 src/main/java/com/flightfeather/monitor/analysis/AnalysisController.kt                  |    7 
 src/main/java/com/flightfeather/monitor/domain/ds1/mapper/RequestTaskSettingMapper.kt   |    8 
 src/main/java/com/flightfeather/monitor/domain/ds1/entity/DustGlobalSetting.java        |  208 +++
 src/main/java/com/flightfeather/monitor/domain/ds1/entity/DustSiteInfo.java             | 1100 +++++++++++++++++
 src/main/java/com/flightfeather/monitor/domain/ds1/mapper/DustSiteLatestTimeMapper.kt   |    8 
 src/main/resources/mapper/ds1/DustSiteDataMapper.xml                                    |   23 
 pom.xml                                                                                 |  136 +
 src/main/java/com/flightfeather/monitor/config/TaskPoolConfig.kt                        |   30 
 src/main/java/com/flightfeather/monitor/domain/ds1/mapper/DustExceptionDataMapper.kt    |    8 
 src/main/java/com/flightfeather/monitor/domain/ds1/entity/RequestTaskSetting.java       |  411 ++++++
 src/main/java/com/flightfeather/monitor/domain/ds1/mapper/DustStatisticsValueMapper.kt  |    8 
 src/main/resources/mapper/ds1/RequestTaskSettingMapper.xml                              |   37 
 src/main/java/com/flightfeather/monitor/domain/ds1/entity/DustExceptionSetting.java     |  311 +++++
 src/main/java/com/flightfeather/monitor/analysis/DataAnalysisInterface.kt               |   30 
 src/main/resources/mapper/ds1/DustGlobalSettingMapper.xml                               |   26 
 src/main/java/com/flightfeather/monitor/domain/ds1/mapper/LoginInfoMapper.kt            |    8 
 src/main/java/com/flightfeather/monitor/domain/ds1/mapper/DustSiteInfoMapper.kt         |    8 
 src/main/java/com/flightfeather/monitor/domain/ds1/entity/DustSiteData.java             |  139 ++
 src/main/java/com/flightfeather/monitor/domain/ds1/entity/DustSiteMap.java              |  144 ++
 src/main/java/com/flightfeather/monitor/domain/ds1/entity/DustSiteLatestTime.java       |   59 
 src/main/resources/mapper/ds1/LoginInfoMapper.xml                                       |   21 
 src/main/resources/mapper/AnalysisDataMapper.xml                                        |    0 
 src/main/java/com/flightfeather/monitor/analysis/dust/ExceptionValueMutation.kt         |   39 
 src/main/java/com/flightfeather/monitor/domain/ds1/mapper/DustExceptionSettingMapper.kt |    8 
 src/test/java/com/flightfeather/monitor/QianduanApplicationTests.java                   |    2 
 src/main/java/com/flightfeather/monitor/config/DataSourceConfig.kt                      |   45 
 src/main/java/com/flightfeather/monitor/domain/ds1/entity/DustStatisticsValue.java      |  173 ++
 src/main/java/com/flightfeather/monitor/config/MybatisConfig4ds1.kt                     |   48 
 src/main/resources/mapper/SqlMapper.xml                                                 |    0 
 src/main/java/com/flightfeather/monitor/domain/ds1/mapper/DustSiteDataMapper.kt         |    8 
 src/main/resources/mapper/Vue3FumeMapper.xml                                            |    0 
 /dev/null                                                                               |   10 
 src/main/resources/mapper/ds1/DustSiteInfoMapper.xml                                    |   68 +
 src/main/java/com/flightfeather/monitor/domain/ds1/entity/DustExceptionData.java        |  141 ++
 src/main/resources/mapper/ds1/DustStatisticsValueMapper.xml                             |   25 
 src/main/java/com/flightfeather/monitor/domain/ds1/mapper/DustSiteMapMapper.kt          |    8 
 src/main/resources/mapper/ds1/DustExceptionSettingMapper.xml                            |   36 
 src/main/java/com/flightfeather/monitor/domain/ds1/entity/LoginInfo.java                |  106 +
 src/main/resources/mapper/FugitiveDustMapper.xml                                        |    0 
 src/main/java/com/flightfeather/monitor/domain/util/MyMapper.java                       |   36 
 src/main/resources/generator/generatorConfig4ds1.xml                                    |   86 +
 src/main/resources/application.yml                                                      |   19 
 src/main/resources/mapper/ds1/DustExceptionDataMapper.xml                               |   23 
 46 files changed, 3,614 insertions(+), 47 deletions(-)

diff --git a/hs_err_pid13764.log b/hs_err_pid13764.log
deleted file mode 100644
index c9d03aa..0000000
--- a/hs_err_pid13764.log
+++ /dev/null
@@ -1,397 +0,0 @@
-#
-# A fatal error has been detected by the Java Runtime Environment:
-#
-#  EXCEPTION_STACK_OVERFLOW (0xc00000fd) at pc=0x0000000062c45127, pid=13764, tid=0x00000000000069f4
-#
-# JRE version: Java(TM) SE Runtime Environment (8.0_251-b08) (build 1.8.0_251-b08)
-# Java VM: Java HotSpot(TM) 64-Bit Server VM (25.251-b08 mixed mode windows-amd64 compressed oops)
-# Problematic frame:
-# V  [jvm.dll+0x215127]
-#
-# Failed to write core dump. Minidumps are not enabled by default on client versions of Windows
-#
-# If you would like to submit a bug report, please visit:
-#   http://bugreport.java.com/bugreport/crash.jsp
-#
-
----------------  T H R E A D  ---------------
-
-Current thread (0x0000000019c17800):  JavaThread "HikariPool-1 connection adder" daemon [_thread_in_vm, id=27124, stack(0x000000001b5f0000,0x000000001b6f0000)]
-
-siginfo: ExceptionCode=0xc00000fd, ExceptionInformation=0x0000000000000001 0x000000001b6ec4c0 
-
-Registers:
-RAX=0x000000001b6ec4c0, RBX=0x0000000000000004, RCX=0x0000000000003000, RDX=0x0000000000000006
-RSP=0x000000001b6ef4c0, RBP=0x0000000000000000, RSI=0x000000001b6ef4c0, RDI=0x0000000000000004
-R8 =0x0000000000000006, R9 =0x000000001ca183b0, R10=0x00000000176ce2f0, R11=0x000000001b5fa148
-R12=0x000000001ca183b0, R13=0x0000000019c17800, R14=0x000000001b6ef588, R15=0x00000000176ce2f0
-RIP=0x0000000062c45127, EFLAGS=0x0000000000010206
-
-Top of Stack: (sp=0x000000001b6ef4c0)
-0x000000001b6ef4c0:   0000b3edd6466fc0 0000000100006c48
-0x000000001b6ef4d0:   0000000019c17800 000000001ca183b0
-0x000000001b6ef4e0:   00000000ffffffff 0000000062c46057
-0x000000001b6ef4f0:   000000001b6ef5f0 00000000176ce2f0
-0x000000001b6ef500:   0000000019c17800 0000000062af1193
-0x000000001b6ef510:   000000001b6ef550 0000000019c17800
-0x000000001b6ef520:   000000001b6ef5e0 0000000019c17800
-0x000000001b6ef530:   00000000176ce2f0 0000000019c17800
-0x000000001b6ef540:   00000000033b3be0 0000000019c17800
-0x000000001b6ef550:   00000000176ce2f0 0000000019c17800
-0x000000001b6ef560:   00000000176ce2f0 0000000019c17800
-0x000000001b6ef570:   0000000000000001 00000000176ce2f0
-0x000000001b6ef580:   0000000019c17800 000000001c734b90
-0x000000001b6ef590:   0000000019c17800 0000000062af28fd
-0x000000001b6ef5a0:   000000001b6ef8a8 0000000100006c48
-0x000000001b6ef5b0:   0000000100006c48 0000000000bbb000 
-
-Instructions: (pc=0x0000000062c45127)
-0x0000000062c45107:   48 89 6c 24 30 33 ed 66 90 e8 6b 5e 08 00 ff c3
-0x0000000062c45117:   48 63 c8 48 8b c6 48 0f af cf 48 ff c7 48 2b c1
-0x0000000062c45127:   89 28 48 63 c3 48 3b 05 f5 f8 59 00 7e db 48 8b
-0x0000000062c45137:   6c 24 30 48 8b 5c 24 38 48 8b 74 24 40 48 83 c4 
-
-
-Register to memory mapping:
-
-RAX=0x000000001b6ec4c0 is pointing into the stack for thread: 0x0000000019c17800
-RBX=0x0000000000000004 is an unknown value
-RCX=0x0000000000003000 is an unknown value
-RDX=0x0000000000000006 is an unknown value
-RSP=0x000000001b6ef4c0 is pointing into the stack for thread: 0x0000000019c17800
-RBP=0x0000000000000000 is an unknown value
-RSI=0x000000001b6ef4c0 is pointing into the stack for thread: 0x0000000019c17800
-RDI=0x0000000000000004 is an unknown value
-R8 =0x0000000000000006 is an unknown value
-R9 =0x000000001ca183b0 is an unknown value
-R10={method} {0x00000000176ce2f8} 'run' '()V' in 'java/lang/Thread'
-R11=0x000000001b5fa148 is pointing into the stack for thread: 0x0000000019c17800
-R12=0x000000001ca183b0 is an unknown value
-R13=0x0000000019c17800 is a thread
-R14=0x000000001b6ef588 is pointing into the stack for thread: 0x0000000019c17800
-R15={method} {0x00000000176ce2f8} 'run' '()V' in 'java/lang/Thread'
-
-
-Stack: [0x000000001b5f0000,0x000000001b6f0000],  sp=0x000000001b6ef4c0,  free space=1021k
-Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
-
-
----------------  P R O C E S S  ---------------
-
-Java Threads: ( => current thread )
-=>0x0000000019c17800 JavaThread "HikariPool-1 connection adder" daemon [_thread_in_vm, id=27124, stack(0x000000001b5f0000,0x000000001b6f0000)]
-  0x0000000019c1e800 JavaThread "HikariPool-1 connection closer" daemon [_thread_blocked, id=11500, stack(0x0000000001160000,0x0000000001260000)]
-  0x0000000019c1d800 JavaThread "HikariPool-1 housekeeper" daemon [_thread_blocked, id=30208, stack(0x000000001f5c0000,0x000000001f6c0000)]
-  0x0000000019c1b800 JavaThread "DestroyJavaVM" [_thread_blocked, id=19656, stack(0x0000000002fe0000,0x00000000030e0000)]
-  0x0000000019c17000 JavaThread "http-nio-8081-Acceptor" daemon [_thread_in_native, id=32528, stack(0x000000001ebc0000,0x000000001ecc0000)]
-  0x0000000019c1c000 JavaThread "http-nio-8081-Poller" daemon [_thread_blocked, id=21280, stack(0x000000001eac0000,0x000000001ebc0000)]
-  0x0000000019c1a800 JavaThread "http-nio-8081-exec-10" daemon [_thread_blocked, id=23936, stack(0x000000001e8c0000,0x000000001e9c0000)]
-  0x0000000019c16000 JavaThread "http-nio-8081-exec-9" daemon [_thread_blocked, id=31076, stack(0x000000001e7c0000,0x000000001e8c0000)]
-  0x0000000019c13000 JavaThread "http-nio-8081-exec-8" daemon [_thread_blocked, id=23800, stack(0x000000001e6c0000,0x000000001e7c0000)]
-  0x0000000019c14000 JavaThread "http-nio-8081-exec-7" daemon [_thread_blocked, id=25752, stack(0x000000001e5c0000,0x000000001e6c0000)]
-  0x0000000019c19000 JavaThread "http-nio-8081-exec-6" daemon [_thread_blocked, id=21020, stack(0x000000001e4c0000,0x000000001e5c0000)]
-  0x0000000019c18800 JavaThread "http-nio-8081-exec-5" daemon [_thread_blocked, id=23392, stack(0x000000001e3c0000,0x000000001e4c0000)]
-  0x0000000019c15800 JavaThread "http-nio-8081-exec-4" daemon [_thread_blocked, id=34640, stack(0x000000001e2c0000,0x000000001e3c0000)]
-  0x0000000019c1a000 JavaThread "http-nio-8081-exec-3" daemon [_thread_blocked, id=20620, stack(0x000000001e1c0000,0x000000001e2c0000)]
-  0x0000000019c14800 JavaThread "http-nio-8081-exec-2" daemon [_thread_blocked, id=20144, stack(0x000000001e0c0000,0x000000001e1c0000)]
-  0x000000001c57b000 JavaThread "http-nio-8081-exec-1" daemon [_thread_blocked, id=31808, stack(0x000000001dfc0000,0x000000001e0c0000)]
-  0x000000001c57a000 JavaThread "mysql-cj-abandoned-connection-cleanup" daemon [_thread_blocked, id=33288, stack(0x000000001d8c0000,0x000000001d9c0000)]
-  0x000000001c57c800 JavaThread "container-0" [_thread_blocked, id=19248, stack(0x000000001d7c0000,0x000000001d8c0000)]
-  0x000000001c57b800 JavaThread "Catalina-utility-2" [_thread_blocked, id=26212, stack(0x000000001d6c0000,0x000000001d7c0000)]
-  0x000000001c57d000 JavaThread "Catalina-utility-1" [_thread_blocked, id=26960, stack(0x000000001b7f0000,0x000000001b8f0000)]
-  0x000000001add7000 JavaThread "RMI Scheduler(0)" daemon [_thread_blocked, id=29792, stack(0x000000001b6f0000,0x000000001b7f0000)]
-  0x000000001a9c6800 JavaThread "RMI TCP Accept-0" daemon [_thread_in_native, id=23572, stack(0x000000001aff0000,0x000000001b0f0000)]
-  0x0000000019dad800 JavaThread "Service Thread" daemon [_thread_blocked, id=6428, stack(0x000000001a400000,0x000000001a500000)]
-  0x0000000019d0f800 JavaThread "C1 CompilerThread2" daemon [_thread_blocked, id=20288, stack(0x000000001a300000,0x000000001a400000)]
-  0x0000000019d0c800 JavaThread "C2 CompilerThread1" daemon [_thread_blocked, id=3956, stack(0x000000001a200000,0x000000001a300000)]
-  0x0000000019d0b000 JavaThread "C2 CompilerThread0" daemon [_thread_blocked, id=20944, stack(0x000000001a100000,0x000000001a200000)]
-  0x0000000019ce6800 JavaThread "Monitor Ctrl-Break" daemon [_thread_in_native, id=25896, stack(0x000000001a000000,0x000000001a100000)]
-  0x0000000019a0a800 JavaThread "Attach Listener" daemon [_thread_blocked, id=19256, stack(0x0000000019f00000,0x000000001a000000)]
-  0x0000000019a56800 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=23928, stack(0x0000000019e00000,0x0000000019f00000)]
-  0x000000000339a000 JavaThread "Finalizer" daemon [_thread_blocked, id=788, stack(0x0000000019900000,0x0000000019a00000)]
-  0x000000001806b800 JavaThread "Reference Handler" daemon [_thread_blocked, id=22044, stack(0x0000000019800000,0x0000000019900000)]
-
-Other Threads:
-  0x0000000018047800 VMThread [stack: 0x0000000019700000,0x0000000019800000] [id=8292]
-  0x000000001a9d1000 WatcherThread [stack: 0x000000001b0f0000,0x000000001b1f0000] [id=24424]
-
-VM state:synchronizing (normal execution)
-
-VM Mutex/Monitor currently owned by a thread:  ([mutex/lock_event])
-[0x00000000032a3dc0] Threads_lock - owner thread: 0x0000000018047800
-
-heap address: 0x0000000082800000, size: 2008 MB, Compressed Oops mode: 32-bit
-Narrow klass base: 0x0000000000000000, Narrow klass shift: 3
-Compressed class space size: 1073741824 Address: 0x0000000100000000
-
-Heap:
- PSYoungGen      total 245760K, used 74402K [0x00000000d6300000, 0x00000000ea600000, 0x0000000100000000)
-  eden space 232448K, 31% used [0x00000000d6300000,0x00000000daa9ed68,0x00000000e4600000)
-  from space 13312K, 7% used [0x00000000e4600000,0x00000000e4709ae0,0x00000000e5300000)
-  to   space 12800K, 0% used [0x00000000e9980000,0x00000000e9980000,0x00000000ea600000)
- ParOldGen       total 71680K, used 20755K [0x0000000082800000, 0x0000000086e00000, 0x00000000d6300000)
-  object space 71680K, 28% used [0x0000000082800000,0x0000000083c44d68,0x0000000086e00000)
- Metaspace       used 45182K, capacity 48103K, committed 48256K, reserved 1091584K
-  class space    used 5721K, capacity 6266K, committed 6272K, reserved 1048576K
-
-Card table byte_map: [0x0000000012760000,0x0000000012b50000] byte_map_base: 0x000000001234c000
-
-Marking Bits: (ParMarkBitMap*) 0x000000006325af90
- Begin Bits: [0x00000000133f0000, 0x0000000015350000)
- End Bits:   [0x0000000015350000, 0x00000000172b0000)
-
-Polling page: 0x0000000000d60000
-
-CodeCache: size=245760Kb used=14669Kb max_used=14669Kb free=231090Kb
- bounds [0x00000000033a0000, 0x0000000004200000, 0x00000000123a0000]
- total_blobs=8101 nmethods=7555 adapters=458
- compilation: enabled
-
-Compilation events (10 events):
-Event: 5363.600 Thread 0x0000000019d0f800 7661       1       java.security.AlgorithmParametersSpi::<init> (5 bytes)
-Event: 5363.600 Thread 0x0000000019d0f800 nmethod 7661 0x00000000041f4590 code [0x00000000041f46e0, 0x00000000041f47f0]
-Event: 5363.600 Thread 0x0000000019d0f800 7660       1       sun.security.ssl.SSLSocketImpl::initHandshaker (260 bytes)
-Event: 5363.606 Thread 0x0000000019d0f800 nmethod 7660 0x00000000041f4850 code [0x00000000041f49e0, 0x00000000041f4ec8]
-Event: 5363.606 Thread 0x0000000019d0f800 7663       1       javax.crypto.spec.SecretKeySpec::<init> (54 bytes)
-Event: 5363.607 Thread 0x0000000019d0f800 nmethod 7663 0x00000000041f5090 code [0x00000000041f5220, 0x00000000041f5528]
-Event: 5363.607 Thread 0x0000000019d0f800 7662       1       sun.security.ssl.HandshakeInStream::digestNow (8 bytes)
-Event: 5363.608 Thread 0x0000000019d0f800 nmethod 7662 0x00000000041f56d0 code [0x00000000041f5820, 0x00000000041f5968]
-Event: 5363.608 Thread 0x0000000019d0f800 7664       1       com.mysql.cj.protocol.a.NativeProtocol::versionMeetsMinimum (21 bytes)
-Event: 5363.612 Thread 0x0000000019d0f800 nmethod 7664 0x00000000041f5a10 code [0x00000000041f5b80, 0x00000000041f5d78]
-
-GC Heap History (10 events):
-Event: 231.996 GC heap before
-{Heap before GC invocations=13 (full 2):
- PSYoungGen      total 128000K, used 127645K [0x00000000d6300000, 0x00000000df000000, 0x0000000100000000)
-  eden space 117248K, 100% used [0x00000000d6300000,0x00000000dd580000,0x00000000dd580000)
-  from space 10752K, 96% used [0x00000000de580000,0x00000000defa7730,0x00000000df000000)
-  to   space 12288K, 0% used [0x00000000dd800000,0x00000000dd800000,0x00000000de400000)
- ParOldGen       total 71680K, used 13180K [0x0000000082800000, 0x0000000086e00000, 0x00000000d6300000)
-  object space 71680K, 18% used [0x0000000082800000,0x00000000834df138,0x0000000086e00000)
- Metaspace       used 44934K, capacity 47715K, committed 48000K, reserved 1091584K
-  class space    used 5701K, capacity 6232K, committed 6272K, reserved 1048576K
-Event: 232.049 GC heap after
-Heap after GC invocations=13 (full 2):
- PSYoungGen      total 132096K, used 4096K [0x00000000d6300000, 0x00000000e2300000, 0x0000000100000000)
-  eden space 119808K, 0% used [0x00000000d6300000,0x00000000d6300000,0x00000000dd800000)
-  from space 12288K, 33% used [0x00000000dd800000,0x00000000ddc00030,0x00000000de400000)
-  to   space 12288K, 0% used [0x00000000e1700000,0x00000000e1700000,0x00000000e2300000)
- ParOldGen       total 71680K, used 18187K [0x0000000082800000, 0x0000000086e00000, 0x00000000d6300000)
-  object space 71680K, 25% used [0x0000000082800000,0x00000000839c2dd8,0x0000000086e00000)
- Metaspace       used 44934K, capacity 47715K, committed 48000K, reserved 1091584K
-  class space    used 5701K, capacity 6232K, committed 6272K, reserved 1048576K
-}
-Event: 596.955 GC heap before
-{Heap before GC invocations=14 (full 2):
- PSYoungGen      total 132096K, used 123904K [0x00000000d6300000, 0x00000000e2300000, 0x0000000100000000)
-  eden space 119808K, 100% used [0x00000000d6300000,0x00000000dd800000,0x00000000dd800000)
-  from space 12288K, 33% used [0x00000000dd800000,0x00000000ddc00030,0x00000000de400000)
-  to   space 12288K, 0% used [0x00000000e1700000,0x00000000e1700000,0x00000000e2300000)
- ParOldGen       total 71680K, used 18187K [0x0000000082800000, 0x0000000086e00000, 0x00000000d6300000)
-  object space 71680K, 25% used [0x0000000082800000,0x00000000839c2dd8,0x0000000086e00000)
- Metaspace       used 44959K, capacity 47779K, committed 48000K, reserved 1091584K
-  class space    used 5701K, capacity 6232K, committed 6272K, reserved 1048576K
-Event: 597.062 GC heap after
-Heap after GC invocations=14 (full 2):
- PSYoungGen      total 183808K, used 256K [0x00000000d6300000, 0x00000000e2400000, 0x0000000100000000)
-  eden space 171520K, 0% used [0x00000000d6300000,0x00000000d6300000,0x00000000e0a80000)
-  from space 12288K, 2% used [0x00000000e1700000,0x00000000e1740000,0x00000000e2300000)
-  to   space 12800K, 0% used [0x00000000e0a80000,0x00000000e0a80000,0x00000000e1700000)
- ParOldGen       total 71680K, used 20667K [0x0000000082800000, 0x0000000086e00000, 0x00000000d6300000)
-  object space 71680K, 28% used [0x0000000082800000,0x0000000083c2ed68,0x0000000086e00000)
- Metaspace       used 44959K, capacity 47779K, committed 48000K, reserved 1091584K
-  class space    used 5701K, capacity 6232K, committed 6272K, reserved 1048576K
-}
-Event: 797.267 GC heap before
-{Heap before GC invocations=15 (full 2):
- PSYoungGen      total 183808K, used 171776K [0x00000000d6300000, 0x00000000e2400000, 0x0000000100000000)
-  eden space 171520K, 100% used [0x00000000d6300000,0x00000000e0a80000,0x00000000e0a80000)
-  from space 12288K, 2% used [0x00000000e1700000,0x00000000e1740000,0x00000000e2300000)
-  to   space 12800K, 0% used [0x00000000e0a80000,0x00000000e0a80000,0x00000000e1700000)
- ParOldGen       total 71680K, used 20667K [0x0000000082800000, 0x0000000086e00000, 0x00000000d6300000)
-  object space 71680K, 28% used [0x0000000082800000,0x0000000083c2ed68,0x0000000086e00000)
- Metaspace       used 44969K, capacity 47779K, committed 48000K, reserved 1091584K
-  class space    used 5701K, capacity 6232K, committed 6272K, reserved 1048576K
-Event: 797.288 GC heap after
-Heap after GC invocations=15 (full 2):
- PSYoungGen      total 184320K, used 224K [0x00000000d6300000, 0x00000000e6580000, 0x0000000100000000)
-  eden space 171520K, 0% used [0x00000000d6300000,0x00000000d6300000,0x00000000e0a80000)
-  from space 12800K, 1% used [0x00000000e0a80000,0x00000000e0ab8000,0x00000000e1700000)
-  to   space 12800K, 0% used [0x00000000e5900000,0x00000000e5900000,0x00000000e6580000)
- ParOldGen       total 71680K, used 20707K [0x0000000082800000, 0x0000000086e00000, 0x00000000d6300000)
-  object space 71680K, 28% used [0x0000000082800000,0x0000000083c38d68,0x0000000086e00000)
- Metaspace       used 44969K, capacity 47779K, committed 48000K, reserved 1091584K
-  class space    used 5701K, capacity 6232K, committed 6272K, reserved 1048576K
-}
-Event: 1159.330 GC heap before
-{Heap before GC invocations=16 (full 2):
- PSYoungGen      total 184320K, used 171744K [0x00000000d6300000, 0x00000000e6580000, 0x0000000100000000)
-  eden space 171520K, 100% used [0x00000000d6300000,0x00000000e0a80000,0x00000000e0a80000)
-  from space 12800K, 1% used [0x00000000e0a80000,0x00000000e0ab8000,0x00000000e1700000)
-  to   space 12800K, 0% used [0x00000000e5900000,0x00000000e5900000,0x00000000e6580000)
- ParOldGen       total 71680K, used 20707K [0x0000000082800000, 0x0000000086e00000, 0x00000000d6300000)
-  object space 71680K, 28% used [0x0000000082800000,0x0000000083c38d68,0x0000000086e00000)
- Metaspace       used 44972K, capacity 47779K, committed 48000K, reserved 1091584K
-  class space    used 5701K, capacity 6232K, committed 6272K, reserved 1048576K
-Event: 1159.359 GC heap after
-Heap after GC invocations=16 (full 2):
- PSYoungGen      total 239616K, used 288K [0x00000000d6300000, 0x00000000e6000000, 0x0000000100000000)
-  eden space 232448K, 0% used [0x00000000d6300000,0x00000000d6300000,0x00000000e4600000)
-  from space 7168K, 4% used [0x00000000e5900000,0x00000000e5948000,0x00000000e6000000)
-  to   space 13312K, 0% used [0x00000000e4600000,0x00000000e4600000,0x00000000e5300000)
- ParOldGen       total 71680K, used 20739K [0x0000000082800000, 0x0000000086e00000, 0x00000000d6300000)
-  object space 71680K, 28% used [0x0000000082800000,0x0000000083c40d68,0x0000000086e00000)
- Metaspace       used 44972K, capacity 47779K, committed 48000K, reserved 1091584K
-  class space    used 5701K, capacity 6232K, committed 6272K, reserved 1048576K
-}
-Event: 2661.073 GC heap before
-{Heap before GC invocations=17 (full 2):
- PSYoungGen      total 239616K, used 232736K [0x00000000d6300000, 0x00000000e6000000, 0x0000000100000000)
-  eden space 232448K, 100% used [0x00000000d6300000,0x00000000e4600000,0x00000000e4600000)
-  from space 7168K, 4% used [0x00000000e5900000,0x00000000e5948000,0x00000000e6000000)
-  to   space 13312K, 0% used [0x00000000e4600000,0x00000000e4600000,0x00000000e5300000)
- ParOldGen       total 71680K, used 20739K [0x0000000082800000, 0x0000000086e00000, 0x00000000d6300000)
-  object space 71680K, 28% used [0x0000000082800000,0x0000000083c40d68,0x0000000086e00000)
- Metaspace       used 45084K, capacity 47919K, committed 48000K, reserved 1091584K
-  class space    used 5708K, capacity 6246K, committed 6272K, reserved 1048576K
-Event: 2661.196 GC heap after
-Heap after GC invocations=17 (full 2):
- PSYoungGen      total 245760K, used 1062K [0x00000000d6300000, 0x00000000ea600000, 0x0000000100000000)
-  eden space 232448K, 0% used [0x00000000d6300000,0x00000000d6300000,0x00000000e4600000)
-  from space 13312K, 7% used [0x00000000e4600000,0x00000000e4709ae0,0x00000000e5300000)
-  to   space 12800K, 0% used [0x00000000e9980000,0x00000000e9980000,0x00000000ea600000)
- ParOldGen       total 71680K, used 20755K [0x0000000082800000, 0x0000000086e00000, 0x00000000d6300000)
-  object space 71680K, 28% used [0x0000000082800000,0x0000000083c44d68,0x0000000086e00000)
- Metaspace       used 45084K, capacity 47919K, committed 48000K, reserved 1091584K
-  class space    used 5708K, capacity 6246K, committed 6272K, reserved 1048576K
-}
-
-Deoptimization events (0 events):
-No events
-
-Classes redefined (0 events):
-No events
-
-Internal exceptions (10 events):
-Event: 17.107 Thread 0x000000001c57b000 Exception <a 'java/lang/ArrayIndexOutOfBoundsException'> (0x00000000d7845720) thrown at [C:\jenkins\workspace\8-2-build-windows-amd64-cygwin\jdk8u251\737\hotspot\src\share\vm\runtime\sharedRuntime.cpp, line 605]
-Event: 17.110 Thread 0x000000001c57b000 Exception <a 'java/lang/ArrayIndexOutOfBoundsException'> (0x00000000d789cf10) thrown at [C:\jenkins\workspace\8-2-build-windows-amd64-cygwin\jdk8u251\737\hotspot\src\share\vm\runtime\sharedRuntime.cpp, line 605]
-Event: 17.114 Thread 0x000000001c57b000 Exception <a 'java/lang/ArrayIndexOutOfBoundsException'> (0x00000000d7903eb0) thrown at [C:\jenkins\workspace\8-2-build-windows-amd64-cygwin\jdk8u251\737\hotspot\src\share\vm\runtime\sharedRuntime.cpp, line 605]
-Event: 17.114 Thread 0x000000001c57b000 Exception <a 'java/lang/ArrayIndexOutOfBoundsException'> (0x00000000d7906488) thrown at [C:\jenkins\workspace\8-2-build-windows-amd64-cygwin\jdk8u251\737\hotspot\src\share\vm\runtime\sharedRuntime.cpp, line 605]
-Event: 17.114 Thread 0x000000001c57b000 Exception <a 'java/lang/ArrayIndexOutOfBoundsException'> (0x00000000d7908788) thrown at [C:\jenkins\workspace\8-2-build-windows-amd64-cygwin\jdk8u251\737\hotspot\src\share\vm\runtime\sharedRuntime.cpp, line 605]
-Event: 50.763 Thread 0x0000000019c14800 Exception <a 'java/lang/ArrayIndexOutOfBoundsException'> (0x00000000d7b390c8) thrown at [C:\jenkins\workspace\8-2-build-windows-amd64-cygwin\jdk8u251\737\hotspot\src\share\vm\runtime\sharedRuntime.cpp, line 605]
-Event: 50.809 Thread 0x0000000019c1a000 Exception <a 'java/lang/ArrayIndexOutOfBoundsException'> (0x00000000d7d21a60) thrown at [C:\jenkins\workspace\8-2-build-windows-amd64-cygwin\jdk8u251\737\hotspot\src\share\vm\runtime\sharedRuntime.cpp, line 605]
-Event: 50.899 Thread 0x0000000019c18800 Exception <a 'java/lang/ArrayIndexOutOfBoundsException'> (0x00000000d7f0c118) thrown at [C:\jenkins\workspace\8-2-build-windows-amd64-cygwin\jdk8u251\737\hotspot\src\share\vm\runtime\sharedRuntime.cpp, line 605]
-Event: 3502.619 Thread 0x0000000019c19000 Exception <a 'java/lang/ArrayIndexOutOfBoundsException'> (0x00000000d9277ce0) thrown at [C:\jenkins\workspace\8-2-build-windows-amd64-cygwin\jdk8u251\737\hotspot\src\share\vm\runtime\sharedRuntime.cpp, line 605]
-Event: 3550.783 Thread 0x0000000019c14000 Exception <a 'java/lang/ArrayIndexOutOfBoundsException'> (0x00000000d98dafb0) thrown at [C:\jenkins\workspace\8-2-build-windows-amd64-cygwin\jdk8u251\737\hotspot\src\share\vm\runtime\sharedRuntime.cpp, line 605]
-
-Events (10 events):
-Event: 5363.575 Thread 0x0000000019c17800 Thread added: 0x0000000019c17800
-Event: 5368.608 Executing VM operation: RevokeBias
-Event: 5368.639 Executing VM operation: RevokeBias done
-Event: 5368.639 Executing VM operation: RevokeBias
-Event: 5368.640 Executing VM operation: RevokeBias done
-Event: 5368.640 Thread 0x0000000019c1e800 Thread exited: 0x0000000019c1e800
-Event: 5368.640 Thread 0x0000000019c17800 Thread exited: 0x0000000019c17800
-Event: 5368.952 Thread 0x0000000019c1e800 Thread added: 0x0000000019c1e800
-Event: 5368.964 Thread 0x0000000019c17800 Thread added: 0x0000000019c17800
-Event: 5369.135 Executing VM operation: RevokeBias
-
-
-Dynamic libraries:
-0x00007ff761ca0000 - 0x00007ff761cd7000 	E:\ruanjian\JDK-1.8\bin\java.exe
-0x00007ff981410000 - 0x00007ff981608000 	C:\Windows\SYSTEM32\ntdll.dll
-0x00007ff97f4d0000 - 0x00007ff97f58f000 	C:\Windows\System32\KERNEL32.DLL
-0x00007ff97eeb0000 - 0x00007ff97f1a6000 	C:\Windows\System32\KERNELBASE.dll
-0x00007ff980e30000 - 0x00007ff980edf000 	C:\Windows\System32\ADVAPI32.dll
-0x00007ff981280000 - 0x00007ff98131e000 	C:\Windows\System32\msvcrt.dll
-0x00007ff9802e0000 - 0x00007ff98037c000 	C:\Windows\System32\sechost.dll
-0x00007ff97f770000 - 0x00007ff97f896000 	C:\Windows\System32\RPCRT4.dll
-0x00007ff981080000 - 0x00007ff98121d000 	C:\Windows\System32\USER32.dll
-0x00007ff97e9f0000 - 0x00007ff97ea12000 	C:\Windows\System32\win32u.dll
-0x00007ff980380000 - 0x00007ff9803ac000 	C:\Windows\System32\GDI32.dll
-0x00007ff97eaf0000 - 0x00007ff97ec05000 	C:\Windows\System32\gdi32full.dll
-0x00007ff97e8e0000 - 0x00007ff97e97d000 	C:\Windows\System32\msvcp_win.dll
-0x00007ff97ec10000 - 0x00007ff97ed10000 	C:\Windows\System32\ucrtbase.dll
-0x00007ff95bde0000 - 0x00007ff95c07a000 	C:\Windows\WinSxS\amd64_microsoft.windows.common-controls_6595b64144ccf1df_6.0.19041.1110_none_60b5254171f9507e\COMCTL32.dll
-0x00007ff981330000 - 0x00007ff981360000 	C:\Windows\System32\IMM32.DLL
-0x00000000632e0000 - 0x00000000633b2000 	E:\ruanjian\JDK-1.8\jre\bin\msvcr100.dll
-0x0000000062a30000 - 0x00000000632db000 	E:\ruanjian\JDK-1.8\jre\bin\server\jvm.dll
-0x00007ff9813c0000 - 0x00007ff9813c8000 	C:\Windows\System32\PSAPI.DLL
-0x00007ff967ae0000 - 0x00007ff967ae9000 	C:\Windows\SYSTEM32\WSOCK32.dll
-0x00007ff967a80000 - 0x00007ff967aa7000 	C:\Windows\SYSTEM32\WINMM.dll
-0x00007ff9781e0000 - 0x00007ff9781ea000 	C:\Windows\SYSTEM32\VERSION.dll
-0x00007ff981010000 - 0x00007ff98107b000 	C:\Windows\System32\WS2_32.dll
-0x00007ff96b050000 - 0x00007ff96b05f000 	E:\ruanjian\JDK-1.8\jre\bin\verify.dll
-0x00007ff959f20000 - 0x00007ff959f49000 	E:\ruanjian\JDK-1.8\jre\bin\java.dll
-0x00007ff96d590000 - 0x00007ff96d5b3000 	E:\ruanjian\JDK-1.8\jre\bin\instrument.dll
-0x00007ff95dd00000 - 0x00007ff95dd16000 	E:\ruanjian\JDK-1.8\jre\bin\zip.dll
-0x00007ff97fa50000 - 0x00007ff980194000 	C:\Windows\System32\SHELL32.dll
-0x00007ff97c9a0000 - 0x00007ff97d133000 	C:\Windows\SYSTEM32\windows.storage.dll
-0x00007ff9803b0000 - 0x00007ff980704000 	C:\Windows\System32\combase.dll
-0x00007ff97e1b0000 - 0x00007ff97e1de000 	C:\Windows\SYSTEM32\Wldp.dll
-0x00007ff97f8a0000 - 0x00007ff97f94d000 	C:\Windows\System32\SHCORE.dll
-0x00007ff9801a0000 - 0x00007ff9801f5000 	C:\Windows\System32\shlwapi.dll
-0x00007ff97e6c0000 - 0x00007ff97e6df000 	C:\Windows\SYSTEM32\profapi.dll
-0x00007ff977390000 - 0x00007ff9773aa000 	E:\ruanjian\IntelliJ IDEA 2022.2.2\bin\breakgen64.dll
-0x00007ff959c40000 - 0x00007ff959c5a000 	E:\ruanjian\JDK-1.8\jre\bin\net.dll
-0x00007ff97dea0000 - 0x00007ff97df0a000 	C:\Windows\system32\mswsock.dll
-0x00007ff97dbd0000 - 0x00007ff97dc9a000 	C:\Windows\SYSTEM32\DNSAPI.dll
-0x00007ff97db90000 - 0x00007ff97dbcc000 	C:\Windows\SYSTEM32\IPHLPAPI.DLL
-0x00007ff981320000 - 0x00007ff981328000 	C:\Windows\System32\NSI.dll
-0x00007ff976ab0000 - 0x00007ff976aba000 	C:\Windows\System32\rasadhlp.dll
-0x00007ff96e200000 - 0x00007ff96e30e000 	C:\Windows\SSLVPNRedirector64.dll
-0x00007ff980bb0000 - 0x00007ff980c7d000 	C:\Windows\System32\OLEAUT32.dll
-0x00007ff974dc0000 - 0x00007ff974e26000 	C:\Windows\SYSTEM32\OLEACC.dll
-0x00007ff96e160000 - 0x00007ff96e1fd000 	C:\Windows\SYSTEM32\WINSPOOL.DRV
-0x00007ff974b00000 - 0x00007ff974b17000 	C:\Windows\SYSTEM32\dhcpcsvc6.DLL
-0x00007ff976830000 - 0x00007ff97684d000 	C:\Windows\SYSTEM32\dhcpcsvc.DLL
-0x00007ff975790000 - 0x00007ff975812000 	C:\Windows\System32\fwpuclnt.dll
-0x00007ff97f1b0000 - 0x00007ff97f1d7000 	C:\Windows\System32\bcrypt.dll
-0x00007ff963ed0000 - 0x00007ff963edd000 	E:\ruanjian\JDK-1.8\jre\bin\management.dll
-0x00007ff9564f0000 - 0x00007ff956502000 	E:\ruanjian\JDK-1.8\jre\bin\nio.dll
-0x00007ff97e090000 - 0x00007ff97e0a8000 	C:\Windows\SYSTEM32\CRYPTSP.dll
-0x00007ff97d7c0000 - 0x00007ff97d7f4000 	C:\Windows\system32\rsaenh.dll
-0x00007ff97e680000 - 0x00007ff97e6ae000 	C:\Windows\SYSTEM32\USERENV.dll
-0x00007ff97ed10000 - 0x00007ff97ed92000 	C:\Windows\System32\bcryptprimitives.dll
-0x00007ff97e0b0000 - 0x00007ff97e0bc000 	C:\Windows\SYSTEM32\CRYPTBASE.dll
-0x00007ff964100000 - 0x00007ff964117000 	C:\Windows\system32\napinsp.dll
-0x00007ff963db0000 - 0x00007ff963dcb000 	C:\Windows\system32\pnrpnsp.dll
-0x00007ff979b00000 - 0x00007ff979b15000 	C:\Windows\system32\wshbth.dll
-0x00007ff97a2b0000 - 0x00007ff97a2cd000 	C:\Windows\system32\NLAapi.dll
-0x00007ff963d90000 - 0x00007ff963da2000 	C:\Windows\System32\winrnr.dll
-0x00007ff96c170000 - 0x00007ff96c194000 	E:\ruanjian\JDK-1.8\jre\bin\sunec.dll
-0x00007ff97a300000 - 0x00007ff97a30c000 	E:\ruanjian\JDK-1.8\jre\bin\sunmscapi.dll
-0x00007ff97e780000 - 0x00007ff97e8de000 	C:\Windows\System32\CRYPT32.dll
-0x00007ff97e220000 - 0x00007ff97e248000 	C:\Windows\SYSTEM32\ncrypt.dll
-0x00007ff97e1e0000 - 0x00007ff97e21b000 	C:\Windows\SYSTEM32\NTASN1.dll
-0x00007ff96cca0000 - 0x00007ff96ce84000 	C:\Windows\SYSTEM32\dbghelp.dll
-
-VM Arguments:
-jvm_args: -XX:TieredStopAtLevel=1 -Xverify:none -Dspring.output.ansi.enabled=always -Dcom.sun.management.jmxremote -Dspring.jmx.enabled=true -Dspring.liveBeansView.mbeanDomain -Dspring.application.admin.enabled=true -javaagent:E:\ruanjian\IntelliJ IDEA 2022.2.2\lib\idea_rt.jar=60341:E:\ruanjian\IntelliJ IDEA 2022.2.2\bin -Dfile.encoding=UTF-8 
-java_command: QianduanApplication
-java_class_path (initial): E:\ruanjian\JDK-1.8\jre\lib\charsets.jar;E:\ruanjian\JDK-1.8\jre\lib\deploy.jar;E:\ruanjian\JDK-1.8\jre\lib\ext\access-bridge-64.jar;E:\ruanjian\JDK-1.8\jre\lib\ext\cldrdata.jar;E:\ruanjian\JDK-1.8\jre\lib\ext\dnsns.jar;E:\ruanjian\JDK-1.8\jre\lib\ext\jaccess.jar;E:\ruanjian\JDK-1.8\jre\lib\ext\jfxrt.jar;E:\ruanjian\JDK-1.8\jre\lib\ext\localedata.jar;E:\ruanjian\JDK-1.8\jre\lib\ext\nashorn.jar;E:\ruanjian\JDK-1.8\jre\lib\ext\sunec.jar;E:\ruanjian\JDK-1.8\jre\lib\ext\sunjce_provider.jar;E:\ruanjian\JDK-1.8\jre\lib\ext\sunmscapi.jar;E:\ruanjian\JDK-1.8\jre\lib\ext\sunpkcs11.jar;E:\ruanjian\JDK-1.8\jre\lib\ext\zipfs.jar;E:\ruanjian\JDK-1.8\jre\lib\javaws.jar;E:\ruanjian\JDK-1.8\jre\lib\jce.jar;E:\ruanjian\JDK-1.8\jre\lib\jfr.jar;E:\ruanjian\JDK-1.8\jre\lib\jfxswt.jar;E:\ruanjian\JDK-1.8\jre\lib\jsse.jar;E:\ruanjian\JDK-1.8\jre\lib\management-agent.jar;E:\ruanjian\JDK-1.8\jre\lib\plugin.jar;E:\ruanjian\JDK-1.8\jre\lib\resources.jar;E:\ruanjian\JDK-1.8\jre\lib\rt.jar;D:\z\workplace\qianduan\target\classes;E:\ruanjian\maven-3.9.2\apache-maven-3.9.2\mvn_repo\org\springframework\boot\spring-boot-starter-web\2.5.15\spring-boot-starter-web-2.5.15.jar;E:\ruanjian\maven-3.9.2\apache-maven-3.9.2\mvn_repo\org\springframework\boot\spring-boot-starter\2.5.15\spring-boot-starter-2.5.15.jar;E:\ruanjian\maven-3.9.2\apache-maven-3.9.2\mvn_repo\org\springframework\boot\spring-boot\2.5.15\spring-boot-2.5.15.jar;E:\ruanjian\maven-3.9.2\apache-maven-3.9.2\mvn_repo\org\springframework\boot\spring-boot-autoconfigure\2.5.15\spring-boot-autoconfigure-2.5.15.jar;E:\ruanjian\maven-3.9.2\apache-maven-3.9.2\mvn_repo\org\springframework\boot\spring-boot-starter-logging\2.5.15\spring-boot-starter-logging-2.5.15.jar;E:\ruanjian\maven-3.9.2\apache-maven-3.9.2\mvn_repo\ch\qos\logback\logback-classic\1.2.12\logback-classic-1.2.12.jar;E:\ruanjian\maven-3.9.2\apache-maven-3.9.2\mvn_repo\ch\qos\logback\logback-core\1.2.12\logback-core-1.2.12.jar;E:\ruanjian\maven-3.9.2\apache-m
-Launcher Type: SUN_STANDARD
-
-Environment Variables:
-JAVA_HOME=E:\ruanjian\JDK-1.8
-PATH=C:\Program Files (x86)\Common Files\Oracle\Java\javapath;E:\ruanjian\Python\Scripts\;E:\ruanjian\Python\;E:\ruanjian\JDK-1.8\bin;E:\ruanjian\maven-3.9.2\apache-maven-3.9.2\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;E:\ruanjian\NodeJs\;E:\ruanjian\MySql\mysql-8.0.33-winx64\bin\;E:\ruanjian\Git\cmd;E:\ruanjian\Python\Scripts;C:\Users\Administrator\AppData\Local\Microsoft\WindowsApps;;E:\ruanjian\IntelliJ IDEA 2022.2.2\bin;;C:\Users\Administrator\AppData\Roaming\npm;E:\ruanjian\VsCode\Microsoft VS Code\bin;E:\ruanjian\qudongjinning\DriverGenius;E:\ruanjian\qudongjinning\DriverGenius\ksoft
-USERNAME=Administrator
-OS=Windows_NT
-PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 158 Stepping 10, GenuineIntel
-
-
-
----------------  S Y S T E M  ---------------
-
-OS: Windows 10.0 , 64 bit Build 19041 (10.0.19041.3031)
-
-CPU:total 6 (initial active 6) (6 cores per cpu, 1 threads per core) family 6 model 158 stepping 10, cmov, cx8, fxsr, mmx, sse, sse2, sse3, ssse3, sse4.1, sse4.2, popcnt, avx, avx2, aes, clmul, erms, 3dnowpref, lzcnt, tsc, tscinvbit, bmi1, bmi2, adx
-
-Memory: 4k page, physical 8219024k(1225892k free), swap 23748536k(1066908k free)
-
-vm_info: Java HotSpot(TM) 64-Bit Server VM (25.251-b08) for windows-amd64 JRE (1.8.0_251-b08), built on Mar 12 2020 06:31:49 by "" with MS VC++ 10.0 (VS2010)
-
-time: Fri Sep 01 16:09:54 2023
-timezone: 锟叫癸拷锟斤拷准时锟斤拷
-elapsed time: 5369 seconds (0d 1h 29m 29s)
-
diff --git a/pom.xml b/pom.xml
index 34d40ca..52e0cd2 100644
--- a/pom.xml
+++ b/pom.xml
@@ -9,15 +9,19 @@
         <relativePath/> <!-- lookup parent from repository -->
     </parent>
 
-    <groupId>com.zmc</groupId>
-    <artifactId>web_01</artifactId>
+    <groupId>com.flightfeather</groupId>
+    <artifactId>monitor</artifactId>
     <version>0.0.1-SNAPSHOT</version>
-    <name>web_01</name>
+    <name>monitor</name>
     <packaging>war</packaging>
-    <description>web_01</description>
+    <description>monitor managet</description>
 
     <properties>
         <java.version>1.8</java.version>
+        <kotlin.version>1.8.22</kotlin.version>
+        <!-- tk.mybatis -->
+        <mapper.plugin>tk.mybatis.mapper.generator.MapperPlugin</mapper.plugin>
+        <mapper.Mapper>tk.mybatis.mapper.common.Mapper</mapper.Mapper>
     </properties>
     <dependencies>
         <dependency>
@@ -28,14 +32,19 @@
             <groupId>org.mybatis.spring.boot</groupId>
             <artifactId>mybatis-spring-boot-starter</artifactId>
             <version>2.3.1</version>
-
+        </dependency>
+        <dependency>
+            <groupId>org.mybatis.generator</groupId>
+            <artifactId>mybatis-generator-core</artifactId>
+            <version>1.4.2</version>
         </dependency>
 
-<!--        <dependency>-->
-<!--            <groupId>com.mysql</groupId>-->
-<!--            <artifactId>mysql-connector-j</artifactId>-->
-<!--            <scope>runtime</scope>-->
-<!--        </dependency>-->
+        <!--tk.mybatis-->
+        <dependency>
+            <groupId>tk.mybatis</groupId>
+            <artifactId>mapper-spring-boot-starter</artifactId>
+            <version>4.2.2</version>
+        </dependency>
         <dependency>
             <groupId>mysql</groupId>
             <artifactId>mysql-connector-java</artifactId>
@@ -57,16 +66,10 @@
             <artifactId>pagehelper-spring-boot-starter</artifactId>
             <version>1.4.6</version>
         </dependency>
-
-
-
         <dependency>
             <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-configuration-processor</artifactId>
         </dependency>
-
-
-
         <dependency>
             <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-starter-aop</artifactId>
@@ -92,20 +95,95 @@
 
     <build>
         <plugins>
-<!--            <plugin>-->
-<!--                <groupId>org.springframework.boot</groupId>-->
-<!--                <artifactId>spring-boot-maven-plugin</artifactId>-->
-<!--                <version>3.0.5</version>-->
-<!--                <configuration>-->
-<!--                    <excludes>-->
-<!--                        <exclude>-->
-<!--                            <groupId>org.projectlombok</groupId>-->
-<!--                            <artifactId>lombok</artifactId>-->
-<!--                        </exclude>-->
-<!--                    </excludes>-->
-<!--                </configuration>-->
-<!--            </plugin>-->
+            <plugin>
+                <groupId>org.springframework.boot</groupId>
+                <artifactId>spring-boot-maven-plugin</artifactId>
+            </plugin>
+            <plugin>
+                <groupId>org.jetbrains.kotlin</groupId>
+                <artifactId>kotlin-maven-plugin</artifactId>
+                <configuration>
+                    <args>
+                        <arg>-Xjsr305=strict</arg>
+                    </args>
+                    <compilerPlugins>
+                        <plugin>spring</plugin>
+                    </compilerPlugins>
+                </configuration>
+                <dependencies>
+                    <dependency>
+                        <groupId>org.jetbrains.kotlin</groupId>
+                        <artifactId>kotlin-maven-allopen</artifactId>
+                        <version>${kotlin.version}</version>
+                    </dependency>
+                </dependencies>
+            </plugin>
+            <!-- mybatis generator 鑷姩鐢熸垚浠g爜鎻掍欢 -->
+            <plugin>
+                <groupId>org.mybatis.generator</groupId>
+                <artifactId>mybatis-generator-maven-plugin</artifactId>
+                <version>1.3.7</version>
+                <configuration>
+                    <!-- 璁剧疆鎻掍欢杩愯鐨勬枃浠惰矾寰�-->
+                    <configurationFile>src/main/resources/generator/generatorConfig4ds1.xml</configurationFile>
+                    <overwrite>true</overwrite>
+                    <verbose>true</verbose>
+                </configuration>
+
+                <dependencies>
+                    <!-- https://mvnrepository.com/artifact/tk.mybatis/mapper -->
+                    <dependency>
+                        <groupId>tk.mybatis</groupId>
+                        <artifactId>mapper</artifactId>
+                        <version>4.1.5</version>
+                    </dependency>
+                </dependencies>
+            </plugin>
         </plugins>
     </build>
 
+    <!--渚濊禆涓嬭浇鍦板潃-->
+    <repositories>
+        <repository>
+            <id>alimaven</id>
+            <name>aliyun maven</name>
+            <url>https://maven.aliyun.com/repository/public</url>
+        </repository>
+        <repository>
+            <id>spring-snapshots</id>
+            <name>Spring Snapshots</name>
+            <url>https://repo.spring.io/snapshot</url>
+            <snapshots>
+                <enabled>true</enabled>
+            </snapshots>
+        </repository>
+        <repository>
+            <id>spring-milestones</id>
+            <name>Spring Milestones</name>
+            <url>https://repo.spring.io/milestone</url>
+            <snapshots>
+                <enabled>false</enabled>
+            </snapshots>
+        </repository>
+    </repositories>
+
+    <pluginRepositories>
+        <pluginRepository>
+            <id>spring-snapshots</id>
+            <name>Spring Snapshots</name>
+            <url>https://repo.spring.io/snapshot</url>
+            <snapshots>
+                <enabled>true</enabled>
+            </snapshots>
+        </pluginRepository>
+        <pluginRepository>
+            <id>spring-milestones</id>
+            <name>Spring Milestones</name>
+            <url>https://repo.spring.io/milestone</url>
+            <snapshots>
+                <enabled>false</enabled>
+            </snapshots>
+        </pluginRepository>
+    </pluginRepositories>
+
 </project>
diff --git a/src/main/java/com/flightfeather/monitor/analysis/AnalysisController.kt b/src/main/java/com/flightfeather/monitor/analysis/AnalysisController.kt
new file mode 100644
index 0000000..d17c522
--- /dev/null
+++ b/src/main/java/com/flightfeather/monitor/analysis/AnalysisController.kt
@@ -0,0 +1,7 @@
+package com.flightfeather.monitor.analysis
+
+/**
+ * 鏁版嵁鍒嗘瀽鎺у埗鍣�
+ */
+class AnalysisController {
+}
\ No newline at end of file
diff --git a/src/main/java/com/flightfeather/monitor/analysis/DataAnalysisInterface.kt b/src/main/java/com/flightfeather/monitor/analysis/DataAnalysisInterface.kt
new file mode 100644
index 0000000..ae94c20
--- /dev/null
+++ b/src/main/java/com/flightfeather/monitor/analysis/DataAnalysisInterface.kt
@@ -0,0 +1,30 @@
+package com.flightfeather.monitor.analysis
+
+/**
+ * 鏁版嵁鍒嗘瀽鎺ュ彛
+ */
+abstract class DataAnalysisInterface<T, V>(config: V) {
+
+    init {
+        initConfig(config)
+    }
+
+    abstract fun initConfig(config: V)
+
+    /**
+     * 鎺ユ敹涓嬩竴涓椂闂寸偣鐨勬暟鎹�
+     */
+    abstract fun onNextData(data: T)
+
+    /**
+     * 灏嗗垎鏋愮粨鏋滃叆搴�
+     */
+    abstract fun toDb()
+
+    /**
+     * 鍒ゆ柇鐩搁偦鏁版嵁鏄惁杩炵画
+     */
+    fun isContinuous(d1:T, d2:T) {
+
+    }
+}
\ No newline at end of file
diff --git a/src/main/java/com/flightfeather/monitor/analysis/dust/ExceptionValueMutation.kt b/src/main/java/com/flightfeather/monitor/analysis/dust/ExceptionValueMutation.kt
new file mode 100644
index 0000000..2a0387e
--- /dev/null
+++ b/src/main/java/com/flightfeather/monitor/analysis/dust/ExceptionValueMutation.kt
@@ -0,0 +1,39 @@
+package com.flightfeather.monitor.analysis.dust
+
+import com.flightfeather.monitor.analysis.DataAnalysisInterface
+import com.flightfeather.monitor.domain.ds1.entity.DustExceptionSetting
+import com.flightfeather.monitor.domain.ds1.entity.DustSiteData
+import java.util.*
+import kotlin.properties.Delegates
+
+/**
+ * 閲忕骇绐佸彉寮傚父鍒嗘瀽
+ */
+class ExceptionValueMutation(config: DustExceptionSetting) : DataAnalysisInterface<DustSiteData,
+        DustExceptionSetting>(config) {
+
+    private var mutationNum by Delegates.notNull<Int>()
+
+    private var mutationRate by Delegates.notNull<Double>()
+
+    private var lastDataTime: Date? = null
+
+    override fun initConfig(config: DustExceptionSetting) {
+        mutationNum = config.mutationNum
+        mutationRate = config.mutationRate
+    }
+
+    override fun onNextData(data: DustSiteData) {
+        if (lastDataTime != null) {
+            // 鐩搁偦鏁版嵁鏃堕棿灏忎簬鎴栫瓑浜�30鍒嗛挓鍒嗕负涓�缁�
+        }
+
+        lastDataTime = data.lst
+    }
+
+    override fun toDb() {
+        TODO("Not yet implemented")
+    }
+
+
+}
\ No newline at end of file
diff --git a/src/main/java/com/flightfeather/monitor/config/DataSourceConfig.kt b/src/main/java/com/flightfeather/monitor/config/DataSourceConfig.kt
new file mode 100644
index 0000000..534b94d
--- /dev/null
+++ b/src/main/java/com/flightfeather/monitor/config/DataSourceConfig.kt
@@ -0,0 +1,45 @@
+package com.flightfeather.monitor.config
+
+import org.springframework.beans.factory.annotation.Qualifier
+import org.springframework.boot.autoconfigure.jdbc.DataSourceProperties
+import org.springframework.boot.context.properties.ConfigurationProperties
+import org.springframework.context.annotation.Bean
+import org.springframework.context.annotation.Configuration
+import org.springframework.context.annotation.Primary
+import javax.sql.DataSource
+
+
+/**
+ * 澶氭暟鎹簮閰嶇疆
+ */
+@Configuration
+class DataSourceConfig {
+
+    //涓绘暟鎹簮閰嶇疆 ds1鏁版嵁婧�
+    @Primary
+    @Bean(name = ["ds1DataSourceProperties"])
+    @ConfigurationProperties(prefix = "spring.datasource.ds1")
+    fun ds1DataSourceProperties(): DataSourceProperties? {
+        return DataSourceProperties()
+    }
+
+    //涓绘暟鎹簮 ds1鏁版嵁婧�
+    @Primary
+    @Bean(name = ["ds1DataSource"])
+    fun ds1DataSource(@Qualifier("ds1DataSourceProperties") dataSourceProperties: DataSourceProperties): DataSource? {
+        return dataSourceProperties.initializeDataSourceBuilder().build()
+    }
+
+    //绗簩涓猟s2鏁版嵁婧愰厤缃�
+//    @Bean(name = ["ds2DataSourceProperties"])
+//    @ConfigurationProperties(prefix = "spring.datasource.ds2")
+//    fun ds2DataSourceProperties(): DataSourceProperties? {
+//        return DataSourceProperties()
+//    }
+
+    //绗簩涓猟s2鏁版嵁婧�
+//    @Bean("ds2DataSource")
+//    fun ds2DataSource(@Qualifier("ds2DataSourceProperties") dataSourceProperties: DataSourceProperties): DataSource? {
+//        return dataSourceProperties.initializeDataSourceBuilder().build()
+//    }
+}
\ No newline at end of file
diff --git a/src/main/java/com/flightfeather/monitor/config/MybatisConfig4ds1.kt b/src/main/java/com/flightfeather/monitor/config/MybatisConfig4ds1.kt
new file mode 100644
index 0000000..1b82eaf
--- /dev/null
+++ b/src/main/java/com/flightfeather/monitor/config/MybatisConfig4ds1.kt
@@ -0,0 +1,48 @@
+package com.flightfeather.monitor.config
+
+import org.apache.ibatis.session.SqlSessionFactory
+import org.mybatis.spring.SqlSessionFactoryBean
+import org.mybatis.spring.SqlSessionTemplate
+import org.mybatis.spring.annotation.MapperScan
+import org.springframework.beans.factory.annotation.Qualifier
+import org.springframework.context.annotation.Bean
+import org.springframework.context.annotation.Configuration
+import org.springframework.context.annotation.Primary
+import org.springframework.core.io.support.PathMatchingResourcePatternResolver
+import org.springframework.jdbc.datasource.DataSourceTransactionManager
+import javax.sql.DataSource
+
+
+/**
+ * Mybatis涓绘暟鎹簮ds1閰嶇疆
+ * 澶氭暟鎹簮閰嶇疆渚濊禆鏁版嵁婧愰厤缃�
+ * @see  DataSourceConfig
+ */
+@Configuration
+@MapperScan(basePackages = ["com.flightfeather.monitor.domain.ds1.mapper"],
+    sqlSessionTemplateRef = "ds1SqlSessionTemplate")
+class MybatisConfig4ds1 {
+
+    //涓绘暟鎹簮 ds1鏁版嵁婧�
+    @Primary
+    @Bean("ds1SqlSessionFactory")
+    @Throws(Exception::class)
+    fun ds1SqlSessionFactory(@Qualifier("ds1DataSource") dataSource: DataSource?): SqlSessionFactory? {
+        val sqlSessionFactory = SqlSessionFactoryBean()
+        sqlSessionFactory.setDataSource(dataSource)
+        sqlSessionFactory.setMapperLocations(*PathMatchingResourcePatternResolver().getResources("classpath*:mapper/ds1/*.xml"))
+        return sqlSessionFactory.getObject()
+    }
+
+    @Primary
+    @Bean(name = ["ds1TransactionManager"])
+    fun ds1TransactionManager(@Qualifier("ds1DataSource") dataSource: DataSource): DataSourceTransactionManager? {
+        return DataSourceTransactionManager(dataSource)
+    }
+
+    @Primary
+    @Bean(name = ["ds1SqlSessionTemplate"])
+    fun ds1SqlSessionTemplate(@Qualifier("ds1SqlSessionFactory") sqlSessionFactory: SqlSessionFactory?): SqlSessionTemplate? {
+        return SqlSessionTemplate(sqlSessionFactory)
+    }
+}
\ No newline at end of file
diff --git a/src/main/java/com/flightfeather/monitor/config/TaskPoolConfig.kt b/src/main/java/com/flightfeather/monitor/config/TaskPoolConfig.kt
new file mode 100644
index 0000000..dc17489
--- /dev/null
+++ b/src/main/java/com/flightfeather/monitor/config/TaskPoolConfig.kt
@@ -0,0 +1,30 @@
+package com.flightfeather.monitor.config
+
+import org.springframework.scheduling.annotation.EnableAsync
+import org.springframework.aop.interceptor.AsyncExecutionAspectSupport
+import org.springframework.context.annotation.Bean
+import org.springframework.context.annotation.Configuration
+import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor
+import java.util.concurrent.Executor
+import java.util.concurrent.ThreadPoolExecutor
+
+@EnableAsync
+@Configuration
+class TaskPoolConfig {
+    @Bean(name = [AsyncExecutionAspectSupport.DEFAULT_TASK_EXECUTOR_BEAN_NAME])
+    fun taskExecutor(): Executor {
+        val executor = ThreadPoolTaskExecutor()
+        //鏍稿績绾跨▼姹犲ぇ灏�
+        executor.corePoolSize = 10
+        //鏈�澶х嚎绋嬫暟
+        executor.maxPoolSize = 20
+        //闃熷垪瀹归噺
+        executor.queueCapacity = 200
+        //娲昏穬鏃堕棿
+        executor.keepAliveSeconds = 60
+        //绾跨▼鍚嶅瓧鍓嶇紑
+        executor.setThreadNamePrefix("taskExecutor-")
+        executor.setRejectedExecutionHandler(ThreadPoolExecutor.CallerRunsPolicy())
+        return executor
+    }
+}
\ No newline at end of file
diff --git a/src/main/java/com/flightfeather/monitor/controller/dustexception/onlineAnalysisController.java b/src/main/java/com/flightfeather/monitor/controller/dustexception/onlineAnalysisController.java
deleted file mode 100644
index a12bed5..0000000
--- a/src/main/java/com/flightfeather/monitor/controller/dustexception/onlineAnalysisController.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package com.flightfeather.monitor.controller.dustexception;
-
-
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.CrossOrigin;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
-@Slf4j
-@RequestMapping("/dustAnalisys")
-@CrossOrigin
-@RestController
-public class onlineAnalysisController {
-
-    @Autowired
-    private com.flightfeather.monitor.service.dustexception.onlineAnalysisService onlineAnalysisService;
-
-    @GetMapping("/analysisData")
-    public void get(){
-
-    }
-}
diff --git a/src/main/java/com/flightfeather/monitor/domain/ds1/entity/DustExceptionData.java b/src/main/java/com/flightfeather/monitor/domain/ds1/entity/DustExceptionData.java
new file mode 100644
index 0000000..b856d84
--- /dev/null
+++ b/src/main/java/com/flightfeather/monitor/domain/ds1/entity/DustExceptionData.java
@@ -0,0 +1,141 @@
+package com.flightfeather.monitor.domain.ds1.entity;
+
+import java.util.Date;
+import javax.persistence.*;
+
+@Table(name = "dust_exception_data")
+public class DustExceptionData {
+    @Id
+    private Integer id;
+
+    @Column(name = "mn_code")
+    private String mnCode;
+
+    private String exception;
+
+    @Column(name = "exception_type")
+    private Integer exceptionType;
+
+    private String region;
+
+    @Column(name = "begin_time")
+    private Date beginTime;
+
+    @Column(name = "end_time")
+    private Date endTime;
+
+    @Column(name = "avg_value")
+    private Double avgValue;
+
+    /**
+     * @return id
+     */
+    public Integer getId() {
+        return id;
+    }
+
+    /**
+     * @param id
+     */
+    public void setId(Integer id) {
+        this.id = id;
+    }
+
+    /**
+     * @return mn_code
+     */
+    public String getMnCode() {
+        return mnCode;
+    }
+
+    /**
+     * @param mnCode
+     */
+    public void setMnCode(String mnCode) {
+        this.mnCode = mnCode == null ? null : mnCode.trim();
+    }
+
+    /**
+     * @return exception
+     */
+    public String getException() {
+        return exception;
+    }
+
+    /**
+     * @param exception
+     */
+    public void setException(String exception) {
+        this.exception = exception == null ? null : exception.trim();
+    }
+
+    /**
+     * @return exception_type
+     */
+    public Integer getExceptionType() {
+        return exceptionType;
+    }
+
+    /**
+     * @param exceptionType
+     */
+    public void setExceptionType(Integer exceptionType) {
+        this.exceptionType = exceptionType;
+    }
+
+    /**
+     * @return region
+     */
+    public String getRegion() {
+        return region;
+    }
+
+    /**
+     * @param region
+     */
+    public void setRegion(String region) {
+        this.region = region == null ? null : region.trim();
+    }
+
+    /**
+     * @return begin_time
+     */
+    public Date getBeginTime() {
+        return beginTime;
+    }
+
+    /**
+     * @param beginTime
+     */
+    public void setBeginTime(Date beginTime) {
+        this.beginTime = beginTime;
+    }
+
+    /**
+     * @return end_time
+     */
+    public Date getEndTime() {
+        return endTime;
+    }
+
+    /**
+     * @param endTime
+     */
+    public void setEndTime(Date endTime) {
+        this.endTime = endTime;
+    }
+
+    /**
+     * @return avg_value
+     */
+    public Double getAvgValue() {
+        return avgValue;
+    }
+
+    /**
+     * @param avgValue
+     */
+    public void setAvgValue(Double avgValue) {
+        this.avgValue = avgValue;
+    }
+}
\ No newline at end of file
diff --git a/src/main/java/com/flightfeather/monitor/domain/ds1/entity/DustExceptionSetting.java b/src/main/java/com/flightfeather/monitor/domain/ds1/entity/DustExceptionSetting.java
new file mode 100644
index 0000000..68aac02
--- /dev/null
+++ b/src/main/java/com/flightfeather/monitor/domain/ds1/entity/DustExceptionSetting.java
@@ -0,0 +1,311 @@
+package com.flightfeather.monitor.domain.ds1.entity;
+
+import java.util.Date;
+import javax.persistence.*;
+
+@Table(name = "dust_exception_setting")
+public class DustExceptionSetting {
+    @Id
+    private Integer id;
+
+    private String user;
+
+    @Column(name = "update_time")
+    private Date updateTime;
+
+    private String version;
+
+    @Column(name = "miss_data_minutes")
+    private Integer missDataMinutes;
+
+    @Column(name = "data_low")
+    private Double dataLow;
+
+    @Column(name = "long_time_no_change")
+    private Integer longTimeNoChange;
+
+    @Column(name = "mutation_num")
+    private Integer mutationNum;
+
+    @Column(name = "mutation_rate")
+    private Double mutationRate;
+
+    @Column(name = "near_exceed_low_value")
+    private Double nearExceedLowValue;
+
+    @Column(name = "near_exceed_high_value")
+    private Double nearExceedHighValue;
+
+    @Column(name = "near_exceed_num")
+    private Integer nearExceedNum;
+
+    @Column(name = "day_exceed_borderline_low_num")
+    private Integer dayExceedBorderlineLowNum;
+
+    @Column(name = "day_exceed_borderline_high_num")
+    private Integer dayExceedBorderlineHighNum;
+
+    @Column(name = "change_trend_group")
+    private Integer changeTrendGroup;
+
+    @Column(name = "change_trend_interval")
+    private Integer changeTrendInterval;
+
+    @Column(name = "change_trend_rate")
+    private Double changeTrendRate;
+
+    @Column(name = "exceeding_standard")
+    private Double exceedingStandard;
+
+    /**
+     * @return id
+     */
+    public Integer getId() {
+        return id;
+    }
+
+    /**
+     * @param id
+     */
+    public void setId(Integer id) {
+        this.id = id;
+    }
+
+    /**
+     * @return user
+     */
+    public String getUser() {
+        return user;
+    }
+
+    /**
+     * @param user
+     */
+    public void setUser(String user) {
+        this.user = user == null ? null : user.trim();
+    }
+
+    /**
+     * @return update_time
+     */
+    public Date getUpdateTime() {
+        return updateTime;
+    }
+
+    /**
+     * @param updateTime
+     */
+    public void setUpdateTime(Date updateTime) {
+        this.updateTime = updateTime;
+    }
+
+    /**
+     * @return version
+     */
+    public String getVersion() {
+        return version;
+    }
+
+    /**
+     * @param version
+     */
+    public void setVersion(String version) {
+        this.version = version == null ? null : version.trim();
+    }
+
+    /**
+     * @return miss_data_minutes
+     */
+    public Integer getMissDataMinutes() {
+        return missDataMinutes;
+    }
+
+    /**
+     * @param missDataMinutes
+     */
+    public void setMissDataMinutes(Integer missDataMinutes) {
+        this.missDataMinutes = missDataMinutes;
+    }
+
+    /**
+     * @return data_low
+     */
+    public Double getDataLow() {
+        return dataLow;
+    }
+
+    /**
+     * @param dataLow
+     */
+    public void setDataLow(Double dataLow) {
+        this.dataLow = dataLow;
+    }
+
+    /**
+     * @return long_time_no_change
+     */
+    public Integer getLongTimeNoChange() {
+        return longTimeNoChange;
+    }
+
+    /**
+     * @param longTimeNoChange
+     */
+    public void setLongTimeNoChange(Integer longTimeNoChange) {
+        this.longTimeNoChange = longTimeNoChange;
+    }
+
+    /**
+     * @return mutation_num
+     */
+    public Integer getMutationNum() {
+        return mutationNum;
+    }
+
+    /**
+     * @param mutationNum
+     */
+    public void setMutationNum(Integer mutationNum) {
+        this.mutationNum = mutationNum;
+    }
+
+    /**
+     * @return mutation_rate
+     */
+    public Double getMutationRate() {
+        return mutationRate;
+    }
+
+    /**
+     * @param mutationRate
+     */
+    public void setMutationRate(Double mutationRate) {
+        this.mutationRate = mutationRate;
+    }
+
+    /**
+     * @return near_exceed_low_value
+     */
+    public Double getNearExceedLowValue() {
+        return nearExceedLowValue;
+    }
+
+    /**
+     * @param nearExceedLowValue
+     */
+    public void setNearExceedLowValue(Double nearExceedLowValue) {
+        this.nearExceedLowValue = nearExceedLowValue;
+    }
+
+    /**
+     * @return near_exceed_high_value
+     */
+    public Double getNearExceedHighValue() {
+        return nearExceedHighValue;
+    }
+
+    /**
+     * @param nearExceedHighValue
+     */
+    public void setNearExceedHighValue(Double nearExceedHighValue) {
+        this.nearExceedHighValue = nearExceedHighValue;
+    }
+
+    /**
+     * @return near_exceed_num
+     */
+    public Integer getNearExceedNum() {
+        return nearExceedNum;
+    }
+
+    /**
+     * @param nearExceedNum
+     */
+    public void setNearExceedNum(Integer nearExceedNum) {
+        this.nearExceedNum = nearExceedNum;
+    }
+
+    /**
+     * @return day_exceed_borderline_low_num
+     */
+    public Integer getDayExceedBorderlineLowNum() {
+        return dayExceedBorderlineLowNum;
+    }
+
+    /**
+     * @param dayExceedBorderlineLowNum
+     */
+    public void setDayExceedBorderlineLowNum(Integer dayExceedBorderlineLowNum) {
+        this.dayExceedBorderlineLowNum = dayExceedBorderlineLowNum;
+    }
+
+    /**
+     * @return day_exceed_borderline_high_num
+     */
+    public Integer getDayExceedBorderlineHighNum() {
+        return dayExceedBorderlineHighNum;
+    }
+
+    /**
+     * @param dayExceedBorderlineHighNum
+     */
+    public void setDayExceedBorderlineHighNum(Integer dayExceedBorderlineHighNum) {
+        this.dayExceedBorderlineHighNum = dayExceedBorderlineHighNum;
+    }
+
+    /**
+     * @return change_trend_group
+     */
+    public Integer getChangeTrendGroup() {
+        return changeTrendGroup;
+    }
+
+    /**
+     * @param changeTrendGroup
+     */
+    public void setChangeTrendGroup(Integer changeTrendGroup) {
+        this.changeTrendGroup = changeTrendGroup;
+    }
+
+    /**
+     * @return change_trend_interval
+     */
+    public Integer getChangeTrendInterval() {
+        return changeTrendInterval;
+    }
+
+    /**
+     * @param changeTrendInterval
+     */
+    public void setChangeTrendInterval(Integer changeTrendInterval) {
+        this.changeTrendInterval = changeTrendInterval;
+    }
+
+    /**
+     * @return change_trend_rate
+     */
+    public Double getChangeTrendRate() {
+        return changeTrendRate;
+    }
+
+    /**
+     * @param changeTrendRate
+     */
+    public void setChangeTrendRate(Double changeTrendRate) {
+        this.changeTrendRate = changeTrendRate;
+    }
+
+    /**
+     * @return exceeding_standard
+     */
+    public Double getExceedingStandard() {
+        return exceedingStandard;
+    }
+
+    /**
+     * @param exceedingStandard
+     */
+    public void setExceedingStandard(Double exceedingStandard) {
+        this.exceedingStandard = exceedingStandard;
+    }
+}
\ No newline at end of file
diff --git a/src/main/java/com/flightfeather/monitor/domain/ds1/entity/DustGlobalSetting.java b/src/main/java/com/flightfeather/monitor/domain/ds1/entity/DustGlobalSetting.java
new file mode 100644
index 0000000..3eabcdd
--- /dev/null
+++ b/src/main/java/com/flightfeather/monitor/domain/ds1/entity/DustGlobalSetting.java
@@ -0,0 +1,208 @@
+package com.flightfeather.monitor.domain.ds1.entity;
+
+import java.util.Date;
+import javax.persistence.*;
+
+@Table(name = "dust_global_setting")
+public class DustGlobalSetting {
+    @Id
+    private Integer id;
+
+    /**
+     * 鐢ㄦ埛
+     */
+    private String user;
+
+    /**
+     * 鍒涘缓鏃堕棿
+     */
+    @Column(name = "create_time")
+    private Date createTime;
+
+    /**
+     * 鏇存柊鏃堕棿
+     */
+    @Column(name = "update_time")
+    private Date updateTime;
+
+    /**
+     * 绫诲瀷锛堟壃灏橈紝娌圭儫锛�
+     */
+    private String type;
+
+    /**
+     * 瓒呮爣棰勮鍊�
+     */
+    private Double exceeding;
+
+    @Column(name = "begin_time")
+    private Date beginTime;
+
+    @Column(name = "end_time")
+    private Date endTime;
+
+    private String region;
+
+    @Column(name = "is_regular_time")
+    private String isRegularTime;
+
+    /**
+     * @return id
+     */
+    public Integer getId() {
+        return id;
+    }
+
+    /**
+     * @param id
+     */
+    public void setId(Integer id) {
+        this.id = id;
+    }
+
+    /**
+     * 鑾峰彇鐢ㄦ埛
+     *
+     * @return user - 鐢ㄦ埛
+     */
+    public String getUser() {
+        return user;
+    }
+
+    /**
+     * 璁剧疆鐢ㄦ埛
+     *
+     * @param user 鐢ㄦ埛
+     */
+    public void setUser(String user) {
+        this.user = user == null ? null : user.trim();
+    }
+
+    /**
+     * 鑾峰彇鍒涘缓鏃堕棿
+     *
+     * @return create_time - 鍒涘缓鏃堕棿
+     */
+    public Date getCreateTime() {
+        return createTime;
+    }
+
+    /**
+     * 璁剧疆鍒涘缓鏃堕棿
+     *
+     * @param createTime 鍒涘缓鏃堕棿
+     */
+    public void setCreateTime(Date createTime) {
+        this.createTime = createTime;
+    }
+
+    /**
+     * 鑾峰彇鏇存柊鏃堕棿
+     *
+     * @return update_time - 鏇存柊鏃堕棿
+     */
+    public Date getUpdateTime() {
+        return updateTime;
+    }
+
+    /**
+     * 璁剧疆鏇存柊鏃堕棿
+     *
+     * @param updateTime 鏇存柊鏃堕棿
+     */
+    public void setUpdateTime(Date updateTime) {
+        this.updateTime = updateTime;
+    }
+
+    /**
+     * 鑾峰彇绫诲瀷锛堟壃灏橈紝娌圭儫锛�
+     *
+     * @return type - 绫诲瀷锛堟壃灏橈紝娌圭儫锛�
+     */
+    public String getType() {
+        return type;
+    }
+
+    /**
+     * 璁剧疆绫诲瀷锛堟壃灏橈紝娌圭儫锛�
+     *
+     * @param type 绫诲瀷锛堟壃灏橈紝娌圭儫锛�
+     */
+    public void setType(String type) {
+        this.type = type == null ? null : type.trim();
+    }
+
+    /**
+     * 鑾峰彇瓒呮爣棰勮鍊�
+     *
+     * @return exceeding - 瓒呮爣棰勮鍊�
+     */
+    public Double getExceeding() {
+        return exceeding;
+    }
+
+    /**
+     * 璁剧疆瓒呮爣棰勮鍊�
+     *
+     * @param exceeding 瓒呮爣棰勮鍊�
+     */
+    public void setExceeding(Double exceeding) {
+        this.exceeding = exceeding;
+    }
+
+    /**
+     * @return begin_time
+     */
+    public Date getBeginTime() {
+        return beginTime;
+    }
+
+    /**
+     * @param beginTime
+     */
+    public void setBeginTime(Date beginTime) {
+        this.beginTime = beginTime;
+    }
+
+    /**
+     * @return end_time
+     */
+    public Date getEndTime() {
+        return endTime;
+    }
+
+    /**
+     * @param endTime
+     */
+    public void setEndTime(Date endTime) {
+        this.endTime = endTime;
+    }
+
+    /**
+     * @return region
+     */
+    public String getRegion() {
+        return region;
+    }
+
+    /**
+     * @param region
+     */
+    public void setRegion(String region) {
+        this.region = region == null ? null : region.trim();
+    }
+
+    /**
+     * @return is_regular_time
+     */
+    public String getIsRegularTime() {
+        return isRegularTime;
+    }
+
+    /**
+     * @param isRegularTime
+     */
+    public void setIsRegularTime(String isRegularTime) {
+        this.isRegularTime = isRegularTime == null ? null : isRegularTime.trim();
+    }
+}
\ No newline at end of file
diff --git a/src/main/java/com/flightfeather/monitor/domain/ds1/entity/DustSiteData.java b/src/main/java/com/flightfeather/monitor/domain/ds1/entity/DustSiteData.java
new file mode 100644
index 0000000..5d07e6e
--- /dev/null
+++ b/src/main/java/com/flightfeather/monitor/domain/ds1/entity/DustSiteData.java
@@ -0,0 +1,139 @@
+package com.flightfeather.monitor.domain.ds1.entity;
+
+import java.util.Date;
+import javax.persistence.*;
+
+@Table(name = "ja_t_dust_site_data_info")
+public class DustSiteData {
+    @Id
+    private Integer id;
+
+    @Column(name = "mn_code")
+    private String mnCode;
+
+    @Column(name = "dust_value")
+    private Double dustValue;
+
+    @Column(name = "noise_value")
+    private Double noiseValue;
+
+    private Date lst;
+
+    private String quality;
+
+    private Integer grade;
+
+    private String flag;
+
+    /**
+     * @return id
+     */
+    public Integer getId() {
+        return id;
+    }
+
+    /**
+     * @param id
+     */
+    public void setId(Integer id) {
+        this.id = id;
+    }
+
+    /**
+     * @return mn_code
+     */
+    public String getMnCode() {
+        return mnCode;
+    }
+
+    /**
+     * @param mnCode
+     */
+    public void setMnCode(String mnCode) {
+        this.mnCode = mnCode == null ? null : mnCode.trim();
+    }
+
+    /**
+     * @return dust_value
+     */
+    public Double getDustValue() {
+        return dustValue;
+    }
+
+    /**
+     * @param dustValue
+     */
+    public void setDustValue(Double dustValue) {
+        this.dustValue = dustValue;
+    }
+
+    /**
+     * @return noise_value
+     */
+    public Double getNoiseValue() {
+        return noiseValue;
+    }
+
+    /**
+     * @param noiseValue
+     */
+    public void setNoiseValue(Double noiseValue) {
+        this.noiseValue = noiseValue;
+    }
+
+    /**
+     * @return lst
+     */
+    public Date getLst() {
+        return lst;
+    }
+
+    /**
+     * @param lst
+     */
+    public void setLst(Date lst) {
+        this.lst = lst;
+    }
+
+    /**
+     * @return quality
+     */
+    public String getQuality() {
+        return quality;
+    }
+
+    /**
+     * @param quality
+     */
+    public void setQuality(String quality) {
+        this.quality = quality == null ? null : quality.trim();
+    }
+
+    /**
+     * @return grade
+     */
+    public Integer getGrade() {
+        return grade;
+    }
+
+    /**
+     * @param grade
+     */
+    public void setGrade(Integer grade) {
+        this.grade = grade;
+    }
+
+    /**
+     * @return flag
+     */
+    public String getFlag() {
+        return flag;
+    }
+
+    /**
+     * @param flag
+     */
+    public void setFlag(String flag) {
+        this.flag = flag == null ? null : flag.trim();
+    }
+}
\ No newline at end of file
diff --git a/src/main/java/com/flightfeather/monitor/domain/ds1/entity/DustSiteInfo.java b/src/main/java/com/flightfeather/monitor/domain/ds1/entity/DustSiteInfo.java
new file mode 100644
index 0000000..c9a27b8
--- /dev/null
+++ b/src/main/java/com/flightfeather/monitor/domain/ds1/entity/DustSiteInfo.java
@@ -0,0 +1,1100 @@
+package com.flightfeather.monitor.domain.ds1.entity;
+
+import java.util.Date;
+import javax.persistence.*;
+
+@Table(name = "ja_t_dust_site_info")
+public class DustSiteInfo {
+    @Id
+    private Integer id;
+
+    /**
+     * 璁惧缂栫爜
+     */
+    @Column(name = "mn_code")
+    private String mnCode;
+
+    /**
+     * 瀹夎鍦板潃
+     */
+    private String address;
+
+    /**
+     * 绔欑偣鍚嶇О
+     */
+    private String name;
+
+    /**
+     * 绔欑偣缂栫爜
+     */
+    private String code;
+
+    /**
+     * 寮�宸ユ椂闂�
+     */
+    @Column(name = "begin_date")
+    private Date beginDate;
+
+    /**
+     * 杩愮淮鍟�
+     */
+    @Column(name = "duty_company")
+    private String dutyCompany;
+
+    /**
+     * 杩愮淮鍟唅d
+     */
+    @Column(name = "duty_company_id")
+    private String dutyCompanyId;
+
+    /**
+     * 缁撴潫鏃堕棿
+     */
+    @Column(name = "end_date")
+    private Date endDate;
+
+    /**
+     * 褰撳墠鏂藉伐闃舵
+     */
+    @Column(name = "engineering_stage")
+    private String engineeringStage;
+
+    /**
+     * 鎵�灞炲尯鍘夸唬鐮�
+     */
+    @Column(name = "group_id")
+    private String groupId;
+
+    /**
+     * 鎵�灞炲尯鍘�
+     */
+    @Column(name = "group_name")
+    private String groupName;
+
+    /**
+     * 鏄惁鍦ㄧ嚎
+     */
+    @Column(name = "is_online")
+    private String isOnline;
+
+    /**
+     * 璁惧鏄惁寮傚父
+     */
+    @Column(name = "is_trouble")
+    private String isTrouble;
+
+    /**
+     * 鏇存柊鏃堕棿
+     */
+    @Column(name = "jhpt_update_time")
+    private String jhptUpdateTime;
+
+    private String kindex;
+
+    /**
+     * 绾害
+     */
+    private String latitude;
+
+    /**
+     * 鑱旂郴浜�
+     */
+    private String linkman;
+
+    /**
+     * 缁忓害
+     */
+    private String longitude;
+
+    /**
+     * 鑱旂郴浜虹數璇�
+     */
+    private String phone;
+
+    /**
+     * 鎵�灞炵渷浠�
+     */
+    private String province;
+
+    /**
+     * 鍐呬腑澶栫幆缂栫爜
+     */
+    @Column(name = "ring_id")
+    private String ringId;
+
+    /**
+     * 鍐呬腑澶栫幆
+     */
+    @Column(name = "ring_name")
+    private String ringName;
+
+    /**
+     * 绫诲瀷缂栫爜
+     */
+    @Column(name = "type_id")
+    private String typeId;
+
+    /**
+     * 绫诲瀷鍚嶇О
+     */
+    private String typename;
+
+    /**
+     * 鍋滄鏃堕棿
+     */
+    @Column(name = "stop_time")
+    private Date stopTime;
+
+    private String active;
+
+    /**
+     * 鏁呴殰娆℃暟
+     */
+    @Column(name = "trouble_num")
+    private Integer troubleNum;
+
+    /**
+     * 鏂板鏃堕棿
+     */
+    @Column(name = "insert_time")
+    private Date insertTime;
+
+    /**
+     * 闃舵寮�濮嬫棩鏈�
+     */
+    @Column(name = "stage_begin_date")
+    private Date stageBeginDate;
+
+    /**
+     * tsp娴撳害
+     */
+    private Double tsp;
+
+    /**
+     * 缁熻绫诲瀷缂栫爜
+     */
+    @Column(name = "union_type_id")
+    private String unionTypeId;
+
+    /**
+     * 鍥村楂樺害
+     */
+    @Column(name = "wall_height")
+    private String wallHeight;
+
+    /**
+     * 涓氬姟鏃堕棿
+     */
+    @Column(name = "ywsj_date")
+    private Date ywsjDate;
+
+    /**
+     * 寤虹瓚闈㈢Н
+     */
+    @Column(name = "build_area")
+    private String buildArea;
+
+    /**
+     * 鏂藉伐鍗曚綅
+     */
+    @Column(name = "construction_unit")
+    private String constructionUnit;
+
+    /**
+     * 鐐逛綅鎺у埗绾�
+     */
+    @Column(name = "control_level")
+    private String controlLevel;
+
+    /**
+     * 寮�鍙戝晢
+     */
+    private String developers;
+
+    /**
+     * 鎵ц鏃堕棿
+     */
+    @Column(name = "do_time")
+    private Date doTime;
+
+    /**
+     * 鏄惁鏈夌洃娴�
+     */
+    @Column(name = "has_monitor")
+    private String hasMonitor;
+
+    /**
+     * 閲囬泦鏃堕棿
+     */
+    @Column(name = "data_time")
+    private Date dataTime;
+
+    /**
+     * 褰撳墠鏂藉伐闃舵缂栫爜
+     */
+    @Column(name = "engineering_stage_code")
+    private String engineeringStageCode;
+
+    /**
+     * 璁惧缂栫爜
+     */
+    @Column(name = "equipment_code")
+    private String equipmentCode;
+
+    /**
+     * 鍗犲湴闈㈢Н
+     */
+    @Column(name = "floor_area")
+    private String floorArea;
+
+    /**
+     * 鍒犻櫎鏍囧織浣�
+     */
+    @Column(name = "jhpt_delete")
+    private String jhptDelete;
+
+    /**
+     * 鍣0鍔熻兘鍖�
+     */
+    @Column(name = "noise_region")
+    private String noiseRegion;
+
+    /**
+     * 璐熻矗浜�
+     */
+    private String responsible;
+
+    /**
+     * @return id
+     */
+    public Integer getId() {
+        return id;
+    }
+
+    /**
+     * @param id
+     */
+    public void setId(Integer id) {
+        this.id = id;
+    }
+
+    /**
+     * 鑾峰彇璁惧缂栫爜
+     *
+     * @return mn_code - 璁惧缂栫爜
+     */
+    public String getMnCode() {
+        return mnCode;
+    }
+
+    /**
+     * 璁剧疆璁惧缂栫爜
+     *
+     * @param mnCode 璁惧缂栫爜
+     */
+    public void setMnCode(String mnCode) {
+        this.mnCode = mnCode == null ? null : mnCode.trim();
+    }
+
+    /**
+     * 鑾峰彇瀹夎鍦板潃
+     *
+     * @return address - 瀹夎鍦板潃
+     */
+    public String getAddress() {
+        return address;
+    }
+
+    /**
+     * 璁剧疆瀹夎鍦板潃
+     *
+     * @param address 瀹夎鍦板潃
+     */
+    public void setAddress(String address) {
+        this.address = address == null ? null : address.trim();
+    }
+
+    /**
+     * 鑾峰彇绔欑偣鍚嶇О
+     *
+     * @return name - 绔欑偣鍚嶇О
+     */
+    public String getName() {
+        return name;
+    }
+
+    /**
+     * 璁剧疆绔欑偣鍚嶇О
+     *
+     * @param name 绔欑偣鍚嶇О
+     */
+    public void setName(String name) {
+        this.name = name == null ? null : name.trim();
+    }
+
+    /**
+     * 鑾峰彇绔欑偣缂栫爜
+     *
+     * @return code - 绔欑偣缂栫爜
+     */
+    public String getCode() {
+        return code;
+    }
+
+    /**
+     * 璁剧疆绔欑偣缂栫爜
+     *
+     * @param code 绔欑偣缂栫爜
+     */
+    public void setCode(String code) {
+        this.code = code == null ? null : code.trim();
+    }
+
+    /**
+     * 鑾峰彇寮�宸ユ椂闂�
+     *
+     * @return begin_date - 寮�宸ユ椂闂�
+     */
+    public Date getBeginDate() {
+        return beginDate;
+    }
+
+    /**
+     * 璁剧疆寮�宸ユ椂闂�
+     *
+     * @param beginDate 寮�宸ユ椂闂�
+     */
+    public void setBeginDate(Date beginDate) {
+        this.beginDate = beginDate;
+    }
+
+    /**
+     * 鑾峰彇杩愮淮鍟�
+     *
+     * @return duty_company - 杩愮淮鍟�
+     */
+    public String getDutyCompany() {
+        return dutyCompany;
+    }
+
+    /**
+     * 璁剧疆杩愮淮鍟�
+     *
+     * @param dutyCompany 杩愮淮鍟�
+     */
+    public void setDutyCompany(String dutyCompany) {
+        this.dutyCompany = dutyCompany == null ? null : dutyCompany.trim();
+    }
+
+    /**
+     * 鑾峰彇杩愮淮鍟唅d
+     *
+     * @return duty_company_id - 杩愮淮鍟唅d
+     */
+    public String getDutyCompanyId() {
+        return dutyCompanyId;
+    }
+
+    /**
+     * 璁剧疆杩愮淮鍟唅d
+     *
+     * @param dutyCompanyId 杩愮淮鍟唅d
+     */
+    public void setDutyCompanyId(String dutyCompanyId) {
+        this.dutyCompanyId = dutyCompanyId == null ? null : dutyCompanyId.trim();
+    }
+
+    /**
+     * 鑾峰彇缁撴潫鏃堕棿
+     *
+     * @return end_date - 缁撴潫鏃堕棿
+     */
+    public Date getEndDate() {
+        return endDate;
+    }
+
+    /**
+     * 璁剧疆缁撴潫鏃堕棿
+     *
+     * @param endDate 缁撴潫鏃堕棿
+     */
+    public void setEndDate(Date endDate) {
+        this.endDate = endDate;
+    }
+
+    /**
+     * 鑾峰彇褰撳墠鏂藉伐闃舵
+     *
+     * @return engineering_stage - 褰撳墠鏂藉伐闃舵
+     */
+    public String getEngineeringStage() {
+        return engineeringStage;
+    }
+
+    /**
+     * 璁剧疆褰撳墠鏂藉伐闃舵
+     *
+     * @param engineeringStage 褰撳墠鏂藉伐闃舵
+     */
+    public void setEngineeringStage(String engineeringStage) {
+        this.engineeringStage = engineeringStage == null ? null : engineeringStage.trim();
+    }
+
+    /**
+     * 鑾峰彇鎵�灞炲尯鍘夸唬鐮�
+     *
+     * @return group_id - 鎵�灞炲尯鍘夸唬鐮�
+     */
+    public String getGroupId() {
+        return groupId;
+    }
+
+    /**
+     * 璁剧疆鎵�灞炲尯鍘夸唬鐮�
+     *
+     * @param groupId 鎵�灞炲尯鍘夸唬鐮�
+     */
+    public void setGroupId(String groupId) {
+        this.groupId = groupId == null ? null : groupId.trim();
+    }
+
+    /**
+     * 鑾峰彇鎵�灞炲尯鍘�
+     *
+     * @return group_name - 鎵�灞炲尯鍘�
+     */
+    public String getGroupName() {
+        return groupName;
+    }
+
+    /**
+     * 璁剧疆鎵�灞炲尯鍘�
+     *
+     * @param groupName 鎵�灞炲尯鍘�
+     */
+    public void setGroupName(String groupName) {
+        this.groupName = groupName == null ? null : groupName.trim();
+    }
+
+    /**
+     * 鑾峰彇鏄惁鍦ㄧ嚎
+     *
+     * @return is_online - 鏄惁鍦ㄧ嚎
+     */
+    public String getIsOnline() {
+        return isOnline;
+    }
+
+    /**
+     * 璁剧疆鏄惁鍦ㄧ嚎
+     *
+     * @param isOnline 鏄惁鍦ㄧ嚎
+     */
+    public void setIsOnline(String isOnline) {
+        this.isOnline = isOnline == null ? null : isOnline.trim();
+    }
+
+    /**
+     * 鑾峰彇璁惧鏄惁寮傚父
+     *
+     * @return is_trouble - 璁惧鏄惁寮傚父
+     */
+    public String getIsTrouble() {
+        return isTrouble;
+    }
+
+    /**
+     * 璁剧疆璁惧鏄惁寮傚父
+     *
+     * @param isTrouble 璁惧鏄惁寮傚父
+     */
+    public void setIsTrouble(String isTrouble) {
+        this.isTrouble = isTrouble == null ? null : isTrouble.trim();
+    }
+
+    /**
+     * 鑾峰彇鏇存柊鏃堕棿
+     *
+     * @return jhpt_update_time - 鏇存柊鏃堕棿
+     */
+    public String getJhptUpdateTime() {
+        return jhptUpdateTime;
+    }
+
+    /**
+     * 璁剧疆鏇存柊鏃堕棿
+     *
+     * @param jhptUpdateTime 鏇存柊鏃堕棿
+     */
+    public void setJhptUpdateTime(String jhptUpdateTime) {
+        this.jhptUpdateTime = jhptUpdateTime == null ? null : jhptUpdateTime.trim();
+    }
+
+    /**
+     * @return kindex
+     */
+    public String getKindex() {
+        return kindex;
+    }
+
+    /**
+     * @param kindex
+     */
+    public void setKindex(String kindex) {
+        this.kindex = kindex == null ? null : kindex.trim();
+    }
+
+    /**
+     * 鑾峰彇绾害
+     *
+     * @return latitude - 绾害
+     */
+    public String getLatitude() {
+        return latitude;
+    }
+
+    /**
+     * 璁剧疆绾害
+     *
+     * @param latitude 绾害
+     */
+    public void setLatitude(String latitude) {
+        this.latitude = latitude == null ? null : latitude.trim();
+    }
+
+    /**
+     * 鑾峰彇鑱旂郴浜�
+     *
+     * @return linkman - 鑱旂郴浜�
+     */
+    public String getLinkman() {
+        return linkman;
+    }
+
+    /**
+     * 璁剧疆鑱旂郴浜�
+     *
+     * @param linkman 鑱旂郴浜�
+     */
+    public void setLinkman(String linkman) {
+        this.linkman = linkman == null ? null : linkman.trim();
+    }
+
+    /**
+     * 鑾峰彇缁忓害
+     *
+     * @return longitude - 缁忓害
+     */
+    public String getLongitude() {
+        return longitude;
+    }
+
+    /**
+     * 璁剧疆缁忓害
+     *
+     * @param longitude 缁忓害
+     */
+    public void setLongitude(String longitude) {
+        this.longitude = longitude == null ? null : longitude.trim();
+    }
+
+    /**
+     * 鑾峰彇鑱旂郴浜虹數璇�
+     *
+     * @return phone - 鑱旂郴浜虹數璇�
+     */
+    public String getPhone() {
+        return phone;
+    }
+
+    /**
+     * 璁剧疆鑱旂郴浜虹數璇�
+     *
+     * @param phone 鑱旂郴浜虹數璇�
+     */
+    public void setPhone(String phone) {
+        this.phone = phone == null ? null : phone.trim();
+    }
+
+    /**
+     * 鑾峰彇鎵�灞炵渷浠�
+     *
+     * @return province - 鎵�灞炵渷浠�
+     */
+    public String getProvince() {
+        return province;
+    }
+
+    /**
+     * 璁剧疆鎵�灞炵渷浠�
+     *
+     * @param province 鎵�灞炵渷浠�
+     */
+    public void setProvince(String province) {
+        this.province = province == null ? null : province.trim();
+    }
+
+    /**
+     * 鑾峰彇鍐呬腑澶栫幆缂栫爜
+     *
+     * @return ring_id - 鍐呬腑澶栫幆缂栫爜
+     */
+    public String getRingId() {
+        return ringId;
+    }
+
+    /**
+     * 璁剧疆鍐呬腑澶栫幆缂栫爜
+     *
+     * @param ringId 鍐呬腑澶栫幆缂栫爜
+     */
+    public void setRingId(String ringId) {
+        this.ringId = ringId == null ? null : ringId.trim();
+    }
+
+    /**
+     * 鑾峰彇鍐呬腑澶栫幆
+     *
+     * @return ring_name - 鍐呬腑澶栫幆
+     */
+    public String getRingName() {
+        return ringName;
+    }
+
+    /**
+     * 璁剧疆鍐呬腑澶栫幆
+     *
+     * @param ringName 鍐呬腑澶栫幆
+     */
+    public void setRingName(String ringName) {
+        this.ringName = ringName == null ? null : ringName.trim();
+    }
+
+    /**
+     * 鑾峰彇绫诲瀷缂栫爜
+     *
+     * @return type_id - 绫诲瀷缂栫爜
+     */
+    public String getTypeId() {
+        return typeId;
+    }
+
+    /**
+     * 璁剧疆绫诲瀷缂栫爜
+     *
+     * @param typeId 绫诲瀷缂栫爜
+     */
+    public void setTypeId(String typeId) {
+        this.typeId = typeId == null ? null : typeId.trim();
+    }
+
+    /**
+     * 鑾峰彇绫诲瀷鍚嶇О
+     *
+     * @return typename - 绫诲瀷鍚嶇О
+     */
+    public String getTypename() {
+        return typename;
+    }
+
+    /**
+     * 璁剧疆绫诲瀷鍚嶇О
+     *
+     * @param typename 绫诲瀷鍚嶇О
+     */
+    public void setTypename(String typename) {
+        this.typename = typename == null ? null : typename.trim();
+    }
+
+    /**
+     * 鑾峰彇鍋滄鏃堕棿
+     *
+     * @return stop_time - 鍋滄鏃堕棿
+     */
+    public Date getStopTime() {
+        return stopTime;
+    }
+
+    /**
+     * 璁剧疆鍋滄鏃堕棿
+     *
+     * @param stopTime 鍋滄鏃堕棿
+     */
+    public void setStopTime(Date stopTime) {
+        this.stopTime = stopTime;
+    }
+
+    /**
+     * @return active
+     */
+    public String getActive() {
+        return active;
+    }
+
+    /**
+     * @param active
+     */
+    public void setActive(String active) {
+        this.active = active == null ? null : active.trim();
+    }
+
+    /**
+     * 鑾峰彇鏁呴殰娆℃暟
+     *
+     * @return trouble_num - 鏁呴殰娆℃暟
+     */
+    public Integer getTroubleNum() {
+        return troubleNum;
+    }
+
+    /**
+     * 璁剧疆鏁呴殰娆℃暟
+     *
+     * @param troubleNum 鏁呴殰娆℃暟
+     */
+    public void setTroubleNum(Integer troubleNum) {
+        this.troubleNum = troubleNum;
+    }
+
+    /**
+     * 鑾峰彇鏂板鏃堕棿
+     *
+     * @return insert_time - 鏂板鏃堕棿
+     */
+    public Date getInsertTime() {
+        return insertTime;
+    }
+
+    /**
+     * 璁剧疆鏂板鏃堕棿
+     *
+     * @param insertTime 鏂板鏃堕棿
+     */
+    public void setInsertTime(Date insertTime) {
+        this.insertTime = insertTime;
+    }
+
+    /**
+     * 鑾峰彇闃舵寮�濮嬫棩鏈�
+     *
+     * @return stage_begin_date - 闃舵寮�濮嬫棩鏈�
+     */
+    public Date getStageBeginDate() {
+        return stageBeginDate;
+    }
+
+    /**
+     * 璁剧疆闃舵寮�濮嬫棩鏈�
+     *
+     * @param stageBeginDate 闃舵寮�濮嬫棩鏈�
+     */
+    public void setStageBeginDate(Date stageBeginDate) {
+        this.stageBeginDate = stageBeginDate;
+    }
+
+    /**
+     * 鑾峰彇tsp娴撳害
+     *
+     * @return tsp - tsp娴撳害
+     */
+    public Double getTsp() {
+        return tsp;
+    }
+
+    /**
+     * 璁剧疆tsp娴撳害
+     *
+     * @param tsp tsp娴撳害
+     */
+    public void setTsp(Double tsp) {
+        this.tsp = tsp;
+    }
+
+    /**
+     * 鑾峰彇缁熻绫诲瀷缂栫爜
+     *
+     * @return union_type_id - 缁熻绫诲瀷缂栫爜
+     */
+    public String getUnionTypeId() {
+        return unionTypeId;
+    }
+
+    /**
+     * 璁剧疆缁熻绫诲瀷缂栫爜
+     *
+     * @param unionTypeId 缁熻绫诲瀷缂栫爜
+     */
+    public void setUnionTypeId(String unionTypeId) {
+        this.unionTypeId = unionTypeId == null ? null : unionTypeId.trim();
+    }
+
+    /**
+     * 鑾峰彇鍥村楂樺害
+     *
+     * @return wall_height - 鍥村楂樺害
+     */
+    public String getWallHeight() {
+        return wallHeight;
+    }
+
+    /**
+     * 璁剧疆鍥村楂樺害
+     *
+     * @param wallHeight 鍥村楂樺害
+     */
+    public void setWallHeight(String wallHeight) {
+        this.wallHeight = wallHeight == null ? null : wallHeight.trim();
+    }
+
+    /**
+     * 鑾峰彇涓氬姟鏃堕棿
+     *
+     * @return ywsj_date - 涓氬姟鏃堕棿
+     */
+    public Date getYwsjDate() {
+        return ywsjDate;
+    }
+
+    /**
+     * 璁剧疆涓氬姟鏃堕棿
+     *
+     * @param ywsjDate 涓氬姟鏃堕棿
+     */
+    public void setYwsjDate(Date ywsjDate) {
+        this.ywsjDate = ywsjDate;
+    }
+
+    /**
+     * 鑾峰彇寤虹瓚闈㈢Н
+     *
+     * @return build_area - 寤虹瓚闈㈢Н
+     */
+    public String getBuildArea() {
+        return buildArea;
+    }
+
+    /**
+     * 璁剧疆寤虹瓚闈㈢Н
+     *
+     * @param buildArea 寤虹瓚闈㈢Н
+     */
+    public void setBuildArea(String buildArea) {
+        this.buildArea = buildArea == null ? null : buildArea.trim();
+    }
+
+    /**
+     * 鑾峰彇鏂藉伐鍗曚綅
+     *
+     * @return construction_unit - 鏂藉伐鍗曚綅
+     */
+    public String getConstructionUnit() {
+        return constructionUnit;
+    }
+
+    /**
+     * 璁剧疆鏂藉伐鍗曚綅
+     *
+     * @param constructionUnit 鏂藉伐鍗曚綅
+     */
+    public void setConstructionUnit(String constructionUnit) {
+        this.constructionUnit = constructionUnit == null ? null : constructionUnit.trim();
+    }
+
+    /**
+     * 鑾峰彇鐐逛綅鎺у埗绾�
+     *
+     * @return control_level - 鐐逛綅鎺у埗绾�
+     */
+    public String getControlLevel() {
+        return controlLevel;
+    }
+
+    /**
+     * 璁剧疆鐐逛綅鎺у埗绾�
+     *
+     * @param controlLevel 鐐逛綅鎺у埗绾�
+     */
+    public void setControlLevel(String controlLevel) {
+        this.controlLevel = controlLevel == null ? null : controlLevel.trim();
+    }
+
+    /**
+     * 鑾峰彇寮�鍙戝晢
+     *
+     * @return developers - 寮�鍙戝晢
+     */
+    public String getDevelopers() {
+        return developers;
+    }
+
+    /**
+     * 璁剧疆寮�鍙戝晢
+     *
+     * @param developers 寮�鍙戝晢
+     */
+    public void setDevelopers(String developers) {
+        this.developers = developers == null ? null : developers.trim();
+    }
+
+    /**
+     * 鑾峰彇鎵ц鏃堕棿
+     *
+     * @return do_time - 鎵ц鏃堕棿
+     */
+    public Date getDoTime() {
+        return doTime;
+    }
+
+    /**
+     * 璁剧疆鎵ц鏃堕棿
+     *
+     * @param doTime 鎵ц鏃堕棿
+     */
+    public void setDoTime(Date doTime) {
+        this.doTime = doTime;
+    }
+
+    /**
+     * 鑾峰彇鏄惁鏈夌洃娴�
+     *
+     * @return has_monitor - 鏄惁鏈夌洃娴�
+     */
+    public String getHasMonitor() {
+        return hasMonitor;
+    }
+
+    /**
+     * 璁剧疆鏄惁鏈夌洃娴�
+     *
+     * @param hasMonitor 鏄惁鏈夌洃娴�
+     */
+    public void setHasMonitor(String hasMonitor) {
+        this.hasMonitor = hasMonitor == null ? null : hasMonitor.trim();
+    }
+
+    /**
+     * 鑾峰彇閲囬泦鏃堕棿
+     *
+     * @return data_time - 閲囬泦鏃堕棿
+     */
+    public Date getDataTime() {
+        return dataTime;
+    }
+
+    /**
+     * 璁剧疆閲囬泦鏃堕棿
+     *
+     * @param dataTime 閲囬泦鏃堕棿
+     */
+    public void setDataTime(Date dataTime) {
+        this.dataTime = dataTime;
+    }
+
+    /**
+     * 鑾峰彇褰撳墠鏂藉伐闃舵缂栫爜
+     *
+     * @return engineering_stage_code - 褰撳墠鏂藉伐闃舵缂栫爜
+     */
+    public String getEngineeringStageCode() {
+        return engineeringStageCode;
+    }
+
+    /**
+     * 璁剧疆褰撳墠鏂藉伐闃舵缂栫爜
+     *
+     * @param engineeringStageCode 褰撳墠鏂藉伐闃舵缂栫爜
+     */
+    public void setEngineeringStageCode(String engineeringStageCode) {
+        this.engineeringStageCode = engineeringStageCode == null ? null : engineeringStageCode.trim();
+    }
+
+    /**
+     * 鑾峰彇璁惧缂栫爜
+     *
+     * @return equipment_code - 璁惧缂栫爜
+     */
+    public String getEquipmentCode() {
+        return equipmentCode;
+    }
+
+    /**
+     * 璁剧疆璁惧缂栫爜
+     *
+     * @param equipmentCode 璁惧缂栫爜
+     */
+    public void setEquipmentCode(String equipmentCode) {
+        this.equipmentCode = equipmentCode == null ? null : equipmentCode.trim();
+    }
+
+    /**
+     * 鑾峰彇鍗犲湴闈㈢Н
+     *
+     * @return floor_area - 鍗犲湴闈㈢Н
+     */
+    public String getFloorArea() {
+        return floorArea;
+    }
+
+    /**
+     * 璁剧疆鍗犲湴闈㈢Н
+     *
+     * @param floorArea 鍗犲湴闈㈢Н
+     */
+    public void setFloorArea(String floorArea) {
+        this.floorArea = floorArea == null ? null : floorArea.trim();
+    }
+
+    /**
+     * 鑾峰彇鍒犻櫎鏍囧織浣�
+     *
+     * @return jhpt_delete - 鍒犻櫎鏍囧織浣�
+     */
+    public String getJhptDelete() {
+        return jhptDelete;
+    }
+
+    /**
+     * 璁剧疆鍒犻櫎鏍囧織浣�
+     *
+     * @param jhptDelete 鍒犻櫎鏍囧織浣�
+     */
+    public void setJhptDelete(String jhptDelete) {
+        this.jhptDelete = jhptDelete == null ? null : jhptDelete.trim();
+    }
+
+    /**
+     * 鑾峰彇鍣0鍔熻兘鍖�
+     *
+     * @return noise_region - 鍣0鍔熻兘鍖�
+     */
+    public String getNoiseRegion() {
+        return noiseRegion;
+    }
+
+    /**
+     * 璁剧疆鍣0鍔熻兘鍖�
+     *
+     * @param noiseRegion 鍣0鍔熻兘鍖�
+     */
+    public void setNoiseRegion(String noiseRegion) {
+        this.noiseRegion = noiseRegion == null ? null : noiseRegion.trim();
+    }
+
+    /**
+     * 鑾峰彇璐熻矗浜�
+     *
+     * @return responsible - 璐熻矗浜�
+     */
+    public String getResponsible() {
+        return responsible;
+    }
+
+    /**
+     * 璁剧疆璐熻矗浜�
+     *
+     * @param responsible 璐熻矗浜�
+     */
+    public void setResponsible(String responsible) {
+        this.responsible = responsible == null ? null : responsible.trim();
+    }
+}
\ No newline at end of file
diff --git a/src/main/java/com/flightfeather/monitor/domain/ds1/entity/DustSiteLatestTime.java b/src/main/java/com/flightfeather/monitor/domain/ds1/entity/DustSiteLatestTime.java
new file mode 100644
index 0000000..7ed6d0e
--- /dev/null
+++ b/src/main/java/com/flightfeather/monitor/domain/ds1/entity/DustSiteLatestTime.java
@@ -0,0 +1,59 @@
+package com.flightfeather.monitor.domain.ds1.entity;
+
+import java.util.Date;
+import javax.persistence.*;
+
+@Table(name = "du_js_t_site_latest_time")
+public class DustSiteLatestTime {
+    @Id
+    @Column(name = "mn_code")
+    private String mnCode;
+
+    @Column(name = "latest_time")
+    private Date latestTime;
+
+    @Column(name = "device_status")
+    private Integer deviceStatus;
+
+    /**
+     * @return mn_code
+     */
+    public String getMnCode() {
+        return mnCode;
+    }
+
+    /**
+     * @param mnCode
+     */
+    public void setMnCode(String mnCode) {
+        this.mnCode = mnCode == null ? null : mnCode.trim();
+    }
+
+    /**
+     * @return latest_time
+     */
+    public Date getLatestTime() {
+        return latestTime;
+    }
+
+    /**
+     * @param latestTime
+     */
+    public void setLatestTime(Date latestTime) {
+        this.latestTime = latestTime;
+    }
+
+    /**
+     * @return device_status
+     */
+    public Integer getDeviceStatus() {
+        return deviceStatus;
+    }
+
+    /**
+     * @param deviceStatus
+     */
+    public void setDeviceStatus(Integer deviceStatus) {
+        this.deviceStatus = deviceStatus;
+    }
+}
\ No newline at end of file
diff --git a/src/main/java/com/flightfeather/monitor/domain/ds1/entity/DustSiteMap.java b/src/main/java/com/flightfeather/monitor/domain/ds1/entity/DustSiteMap.java
new file mode 100644
index 0000000..f7ee135
--- /dev/null
+++ b/src/main/java/com/flightfeather/monitor/domain/ds1/entity/DustSiteMap.java
@@ -0,0 +1,144 @@
+package com.flightfeather.monitor.domain.ds1.entity;
+
+import java.util.Date;
+import javax.persistence.*;
+
+@Table(name = "du_js_t_site_map")
+public class DustSiteMap {
+    @Id
+    @Column(name = "Id")
+    private Integer id;
+
+    @Column(name = "TZ_User_Id")
+    private String tzUserId;
+
+    @Column(name = "TZ_User_Name")
+    private String tzUserName;
+
+    @Column(name = "JS_Device_Code")
+    private String jsDeviceCode;
+
+    @Column(name = "JS_Device_Name")
+    private String jsDeviceName;
+
+    @Column(name = "SV_User_Id")
+    private String svUserId;
+
+    @Column(name = "SV_User_Name")
+    private String svUserName;
+
+    @Column(name = "Create_Time")
+    private Date createTime;
+
+    /**
+     * @return Id
+     */
+    public Integer getId() {
+        return id;
+    }
+
+    /**
+     * @param id
+     */
+    public void setId(Integer id) {
+        this.id = id;
+    }
+
+    /**
+     * @return TZ_User_Id
+     */
+    public String getTzUserId() {
+        return tzUserId;
+    }
+
+    /**
+     * @param tzUserId
+     */
+    public void setTzUserId(String tzUserId) {
+        this.tzUserId = tzUserId == null ? null : tzUserId.trim();
+    }
+
+    /**
+     * @return TZ_User_Name
+     */
+    public String getTzUserName() {
+        return tzUserName;
+    }
+
+    /**
+     * @param tzUserName
+     */
+    public void setTzUserName(String tzUserName) {
+        this.tzUserName = tzUserName == null ? null : tzUserName.trim();
+    }
+
+    /**
+     * @return JS_Device_Code
+     */
+    public String getJsDeviceCode() {
+        return jsDeviceCode;
+    }
+
+    /**
+     * @param jsDeviceCode
+     */
+    public void setJsDeviceCode(String jsDeviceCode) {
+        this.jsDeviceCode = jsDeviceCode == null ? null : jsDeviceCode.trim();
+    }
+
+    /**
+     * @return JS_Device_Name
+     */
+    public String getJsDeviceName() {
+        return jsDeviceName;
+    }
+
+    /**
+     * @param jsDeviceName
+     */
+    public void setJsDeviceName(String jsDeviceName) {
+        this.jsDeviceName = jsDeviceName == null ? null : jsDeviceName.trim();
+    }
+
+    /**
+     * @return SV_User_Id
+     */
+    public String getSvUserId() {
+        return svUserId;
+    }
+
+    /**
+     * @param svUserId
+     */
+    public void setSvUserId(String svUserId) {
+        this.svUserId = svUserId == null ? null : svUserId.trim();
+    }
+
+    /**
+     * @return SV_User_Name
+     */
+    public String getSvUserName() {
+        return svUserName;
+    }
+
+    /**
+     * @param svUserName
+     */
+    public void setSvUserName(String svUserName) {
+        this.svUserName = svUserName == null ? null : svUserName.trim();
+    }
+
+    /**
+     * @return Create_Time
+     */
+    public Date getCreateTime() {
+        return createTime;
+    }
+
+    /**
+     * @param createTime
+     */
+    public void setCreateTime(Date createTime) {
+        this.createTime = createTime;
+    }
+}
\ No newline at end of file
diff --git a/src/main/java/com/flightfeather/monitor/domain/ds1/entity/DustStatisticsValue.java b/src/main/java/com/flightfeather/monitor/domain/ds1/entity/DustStatisticsValue.java
new file mode 100644
index 0000000..0a18280
--- /dev/null
+++ b/src/main/java/com/flightfeather/monitor/domain/ds1/entity/DustStatisticsValue.java
@@ -0,0 +1,173 @@
+package com.flightfeather.monitor.domain.ds1.entity;
+
+import java.util.Date;
+import javax.persistence.*;
+
+@Table(name = "dust_statistics_value")
+public class DustStatisticsValue {
+    @Id
+    private Integer id;
+
+    @Column(name = "mn_code")
+    private String mnCode;
+
+    private Date lst;
+
+    @Column(name = "day_avg")
+    private String dayAvg;
+
+    private String min;
+
+    private String max;
+
+    @Column(name = "day_online")
+    private String dayOnline;
+
+    @Column(name = "day_valid")
+    private String dayValid;
+
+    @Column(name = "day_exceeding")
+    private String dayExceeding;
+
+    private String type;
+
+    /**
+     * @return id
+     */
+    public Integer getId() {
+        return id;
+    }
+
+    /**
+     * @param id
+     */
+    public void setId(Integer id) {
+        this.id = id;
+    }
+
+    /**
+     * @return mn_code
+     */
+    public String getMnCode() {
+        return mnCode;
+    }
+
+    /**
+     * @param mnCode
+     */
+    public void setMnCode(String mnCode) {
+        this.mnCode = mnCode == null ? null : mnCode.trim();
+    }
+
+    /**
+     * @return lst
+     */
+    public Date getLst() {
+        return lst;
+    }
+
+    /**
+     * @param lst
+     */
+    public void setLst(Date lst) {
+        this.lst = lst;
+    }
+
+    /**
+     * @return day_avg
+     */
+    public String getDayAvg() {
+        return dayAvg;
+    }
+
+    /**
+     * @param dayAvg
+     */
+    public void setDayAvg(String dayAvg) {
+        this.dayAvg = dayAvg == null ? null : dayAvg.trim();
+    }
+
+    /**
+     * @return min
+     */
+    public String getMin() {
+        return min;
+    }
+
+    /**
+     * @param min
+     */
+    public void setMin(String min) {
+        this.min = min == null ? null : min.trim();
+    }
+
+    /**
+     * @return max
+     */
+    public String getMax() {
+        return max;
+    }
+
+    /**
+     * @param max
+     */
+    public void setMax(String max) {
+        this.max = max == null ? null : max.trim();
+    }
+
+    /**
+     * @return day_online
+     */
+    public String getDayOnline() {
+        return dayOnline;
+    }
+
+    /**
+     * @param dayOnline
+     */
+    public void setDayOnline(String dayOnline) {
+        this.dayOnline = dayOnline == null ? null : dayOnline.trim();
+    }
+
+    /**
+     * @return day_valid
+     */
+    public String getDayValid() {
+        return dayValid;
+    }
+
+    /**
+     * @param dayValid
+     */
+    public void setDayValid(String dayValid) {
+        this.dayValid = dayValid == null ? null : dayValid.trim();
+    }
+
+    /**
+     * @return day_exceeding
+     */
+    public String getDayExceeding() {
+        return dayExceeding;
+    }
+
+    /**
+     * @param dayExceeding
+     */
+    public void setDayExceeding(String dayExceeding) {
+        this.dayExceeding = dayExceeding == null ? null : dayExceeding.trim();
+    }
+
+    /**
+     * @return type
+     */
+    public String getType() {
+        return type;
+    }
+
+    /**
+     * @param type
+     */
+    public void setType(String type) {
+        this.type = type == null ? null : type.trim();
+    }
+}
\ No newline at end of file
diff --git a/src/main/java/com/flightfeather/monitor/domain/ds1/entity/LoginInfo.java b/src/main/java/com/flightfeather/monitor/domain/ds1/entity/LoginInfo.java
new file mode 100644
index 0000000..503b60a
--- /dev/null
+++ b/src/main/java/com/flightfeather/monitor/domain/ds1/entity/LoginInfo.java
@@ -0,0 +1,106 @@
+package com.flightfeather.monitor.domain.ds1.entity;
+
+import java.util.Date;
+import javax.persistence.*;
+
+@Table(name = "du_js_t_login_info")
+public class LoginInfo {
+    @Id
+    private Integer id;
+
+    @Column(name = "user_name")
+    private String userName;
+
+    private String password;
+
+    private String cookie;
+
+    @Column(name = "cookie_timestamp")
+    private Date cookieTimestamp;
+
+    private String region;
+
+    /**
+     * @return id
+     */
+    public Integer getId() {
+        return id;
+    }
+
+    /**
+     * @param id
+     */
+    public void setId(Integer id) {
+        this.id = id;
+    }
+
+    /**
+     * @return user_name
+     */
+    public String getUserName() {
+        return userName;
+    }
+
+    /**
+     * @param userName
+     */
+    public void setUserName(String userName) {
+        this.userName = userName == null ? null : userName.trim();
+    }
+
+    /**
+     * @return password
+     */
+    public String getPassword() {
+        return password;
+    }
+
+    /**
+     * @param password
+     */
+    public void setPassword(String password) {
+        this.password = password == null ? null : password.trim();
+    }
+
+    /**
+     * @return cookie
+     */
+    public String getCookie() {
+        return cookie;
+    }
+
+    /**
+     * @param cookie
+     */
+    public void setCookie(String cookie) {
+        this.cookie = cookie == null ? null : cookie.trim();
+    }
+
+    /**
+     * @return cookie_timestamp
+     */
+    public Date getCookieTimestamp() {
+        return cookieTimestamp;
+    }
+
+    /**
+     * @param cookieTimestamp
+     */
+    public void setCookieTimestamp(Date cookieTimestamp) {
+        this.cookieTimestamp = cookieTimestamp;
+    }
+
+    /**
+     * @return region
+     */
+    public String getRegion() {
+        return region;
+    }
+
+    /**
+     * @param region
+     */
+    public void setRegion(String region) {
+        this.region = region == null ? null : region.trim();
+    }
+}
\ No newline at end of file
diff --git a/src/main/java/com/flightfeather/monitor/domain/ds1/entity/RequestTaskSetting.java b/src/main/java/com/flightfeather/monitor/domain/ds1/entity/RequestTaskSetting.java
new file mode 100644
index 0000000..d50e42b
--- /dev/null
+++ b/src/main/java/com/flightfeather/monitor/domain/ds1/entity/RequestTaskSetting.java
@@ -0,0 +1,411 @@
+package com.flightfeather.monitor.domain.ds1.entity;
+
+import java.util.Date;
+import javax.persistence.*;
+
+@Table(name = "du_js_t_request_task_setting")
+public class RequestTaskSetting {
+    @Id
+    private Integer id;
+
+    private String user;
+
+    @Column(name = "update_time")
+    private Date updateTime;
+
+    private String region;
+
+    private String version;
+
+    /**
+     * 鏁版嵁鐖彇寮�濮嬫椂闂�
+     */
+    @Column(name = "request_start_time")
+    private Date requestStartTime;
+
+    /**
+     * 鏁版嵁鐖彇缁撴潫鏃堕棿
+     */
+    @Column(name = "request_end_time")
+    private Date requestEndTime;
+
+    /**
+     * 鍦ㄧ埇鍙栦换鍔″紑濮嬬粨鏉熸椂闂村唴锛岀埇鍙栫殑棰戠巼
+     */
+    @Column(name = "request_interval_seconds")
+    private Integer requestIntervalSeconds;
+
+    /**
+     * 涓�娆℃暟鎹埇鍙栦换鍔′腑锛屾寜鎬绘椂闀垮垎娈垫墽琛岀殑姣忔鏃堕棿闀垮害
+     */
+    @Column(name = "request_range_hour")
+    private Integer requestRangeHour;
+
+    /**
+     * 涓�娆℃暟鎹埇鍙栦换鍔′腑锛屽垎娈垫墽琛屾椂鐨勬瘡娈电殑闂撮殧鏃堕棿
+     */
+    @Column(name = "request_range_interval_seconds")
+    private Integer requestRangeIntervalSeconds;
+
+    /**
+     * 鐖彇浠诲姟寮傚父鏃跺啀娆″皾璇曢棿闅�
+     */
+    @Column(name = "request_fail_wait_seconds")
+    private Integer requestFailWaitSeconds;
+
+    /**
+     * 鐖彇澶辫触鏃跺啀娆″皾璇曠殑鎬绘鏁�
+     */
+    @Column(name = "request_retry_times")
+    private Integer requestRetryTimes;
+
+    @Column(name = "statics_daily_time")
+    private Date staticsDailyTime;
+
+    @Column(name = "statics_monthly_time")
+    private Date staticsMonthlyTime;
+
+    /**
+     * 鍗曟鐧婚檰澶辫触閲嶆柊灏濊瘯绛夊緟鏃堕棿
+     */
+    @Column(name = "login_fail_wait_seconds")
+    private Integer loginFailWaitSeconds;
+
+    /**
+     * 鐧婚檰澶辫触杩炵画灏濊瘯娆℃暟
+     */
+    @Column(name = "login_retry_times")
+    private Integer loginRetryTimes;
+
+    /**
+     * 鏁翠釜鐖彇浠诲姟閲嶆柊寮�濮嬪皾璇曠瓑寰呮椂闂�
+     */
+    @Column(name = "task_retry_wait_seconds")
+    private Integer taskRetryWaitSeconds;
+
+    /**
+     * 绋嬪簭棣栨鎵ц, 绔欑偣鏁版嵁鏈�鏂版椂鍒昏〃涓虹┖鏃�, 鏁版嵁鑾峰彇寮�濮嬫椂闂寸浉瀵瑰綋鏃ュ線鍓嶅亸绉荤殑澶╂暟
+     */
+    @Column(name = "first_request_offset_days")
+    private Integer firstRequestOffsetDays;
+
+    /**
+     * cookie鏈夋晥鏃堕暱锛屽崟浣嶅皬鏃�
+     */
+    @Column(name = "request_cookie_valid_duration")
+    private Integer requestCookieValidDuration;
+
+    /**
+     * @return id
+     */
+    public Integer getId() {
+        return id;
+    }
+
+    /**
+     * @param id
+     */
+    public void setId(Integer id) {
+        this.id = id;
+    }
+
+    /**
+     * @return user
+     */
+    public String getUser() {
+        return user;
+    }
+
+    /**
+     * @param user
+     */
+    public void setUser(String user) {
+        this.user = user == null ? null : user.trim();
+    }
+
+    /**
+     * @return update_time
+     */
+    public Date getUpdateTime() {
+        return updateTime;
+    }
+
+    /**
+     * @param updateTime
+     */
+    public void setUpdateTime(Date updateTime) {
+        this.updateTime = updateTime;
+    }
+
+    /**
+     * @return region
+     */
+    public String getRegion() {
+        return region;
+    }
+
+    /**
+     * @param region
+     */
+    public void setRegion(String region) {
+        this.region = region == null ? null : region.trim();
+    }
+
+    /**
+     * @return version
+     */
+    public String getVersion() {
+        return version;
+    }
+
+    /**
+     * @param version
+     */
+    public void setVersion(String version) {
+        this.version = version == null ? null : version.trim();
+    }
+
+    /**
+     * 鑾峰彇鏁版嵁鐖彇寮�濮嬫椂闂�
+     *
+     * @return request_start_time - 鏁版嵁鐖彇寮�濮嬫椂闂�
+     */
+    public Date getRequestStartTime() {
+        return requestStartTime;
+    }
+
+    /**
+     * 璁剧疆鏁版嵁鐖彇寮�濮嬫椂闂�
+     *
+     * @param requestStartTime 鏁版嵁鐖彇寮�濮嬫椂闂�
+     */
+    public void setRequestStartTime(Date requestStartTime) {
+        this.requestStartTime = requestStartTime;
+    }
+
+    /**
+     * 鑾峰彇鏁版嵁鐖彇缁撴潫鏃堕棿
+     *
+     * @return request_end_time - 鏁版嵁鐖彇缁撴潫鏃堕棿
+     */
+    public Date getRequestEndTime() {
+        return requestEndTime;
+    }
+
+    /**
+     * 璁剧疆鏁版嵁鐖彇缁撴潫鏃堕棿
+     *
+     * @param requestEndTime 鏁版嵁鐖彇缁撴潫鏃堕棿
+     */
+    public void setRequestEndTime(Date requestEndTime) {
+        this.requestEndTime = requestEndTime;
+    }
+
+    /**
+     * 鑾峰彇鍦ㄧ埇鍙栦换鍔″紑濮嬬粨鏉熸椂闂村唴锛岀埇鍙栫殑棰戠巼
+     *
+     * @return request_interval_seconds - 鍦ㄧ埇鍙栦换鍔″紑濮嬬粨鏉熸椂闂村唴锛岀埇鍙栫殑棰戠巼
+     */
+    public Integer getRequestIntervalSeconds() {
+        return requestIntervalSeconds;
+    }
+
+    /**
+     * 璁剧疆鍦ㄧ埇鍙栦换鍔″紑濮嬬粨鏉熸椂闂村唴锛岀埇鍙栫殑棰戠巼
+     *
+     * @param requestIntervalSeconds 鍦ㄧ埇鍙栦换鍔″紑濮嬬粨鏉熸椂闂村唴锛岀埇鍙栫殑棰戠巼
+     */
+    public void setRequestIntervalSeconds(Integer requestIntervalSeconds) {
+        this.requestIntervalSeconds = requestIntervalSeconds;
+    }
+
+    /**
+     * 鑾峰彇涓�娆℃暟鎹埇鍙栦换鍔′腑锛屾寜鎬绘椂闀垮垎娈垫墽琛岀殑姣忔鏃堕棿闀垮害
+     *
+     * @return request_range_hour - 涓�娆℃暟鎹埇鍙栦换鍔′腑锛屾寜鎬绘椂闀垮垎娈垫墽琛岀殑姣忔鏃堕棿闀垮害
+     */
+    public Integer getRequestRangeHour() {
+        return requestRangeHour;
+    }
+
+    /**
+     * 璁剧疆涓�娆℃暟鎹埇鍙栦换鍔′腑锛屾寜鎬绘椂闀垮垎娈垫墽琛岀殑姣忔鏃堕棿闀垮害
+     *
+     * @param requestRangeHour 涓�娆℃暟鎹埇鍙栦换鍔′腑锛屾寜鎬绘椂闀垮垎娈垫墽琛岀殑姣忔鏃堕棿闀垮害
+     */
+    public void setRequestRangeHour(Integer requestRangeHour) {
+        this.requestRangeHour = requestRangeHour;
+    }
+
+    /**
+     * 鑾峰彇涓�娆℃暟鎹埇鍙栦换鍔′腑锛屽垎娈垫墽琛屾椂鐨勬瘡娈电殑闂撮殧鏃堕棿
+     *
+     * @return request_range_interval_seconds - 涓�娆℃暟鎹埇鍙栦换鍔′腑锛屽垎娈垫墽琛屾椂鐨勬瘡娈电殑闂撮殧鏃堕棿
+     */
+    public Integer getRequestRangeIntervalSeconds() {
+        return requestRangeIntervalSeconds;
+    }
+
+    /**
+     * 璁剧疆涓�娆℃暟鎹埇鍙栦换鍔′腑锛屽垎娈垫墽琛屾椂鐨勬瘡娈电殑闂撮殧鏃堕棿
+     *
+     * @param requestRangeIntervalSeconds 涓�娆℃暟鎹埇鍙栦换鍔′腑锛屽垎娈垫墽琛屾椂鐨勬瘡娈电殑闂撮殧鏃堕棿
+     */
+    public void setRequestRangeIntervalSeconds(Integer requestRangeIntervalSeconds) {
+        this.requestRangeIntervalSeconds = requestRangeIntervalSeconds;
+    }
+
+    /**
+     * 鑾峰彇鐖彇浠诲姟寮傚父鏃跺啀娆″皾璇曢棿闅�
+     *
+     * @return request_fail_wait_seconds - 鐖彇浠诲姟寮傚父鏃跺啀娆″皾璇曢棿闅�
+     */
+    public Integer getRequestFailWaitSeconds() {
+        return requestFailWaitSeconds;
+    }
+
+    /**
+     * 璁剧疆鐖彇浠诲姟寮傚父鏃跺啀娆″皾璇曢棿闅�
+     *
+     * @param requestFailWaitSeconds 鐖彇浠诲姟寮傚父鏃跺啀娆″皾璇曢棿闅�
+     */
+    public void setRequestFailWaitSeconds(Integer requestFailWaitSeconds) {
+        this.requestFailWaitSeconds = requestFailWaitSeconds;
+    }
+
+    /**
+     * 鑾峰彇鐖彇澶辫触鏃跺啀娆″皾璇曠殑鎬绘鏁�
+     *
+     * @return request_retry_times - 鐖彇澶辫触鏃跺啀娆″皾璇曠殑鎬绘鏁�
+     */
+    public Integer getRequestRetryTimes() {
+        return requestRetryTimes;
+    }
+
+    /**
+     * 璁剧疆鐖彇澶辫触鏃跺啀娆″皾璇曠殑鎬绘鏁�
+     *
+     * @param requestRetryTimes 鐖彇澶辫触鏃跺啀娆″皾璇曠殑鎬绘鏁�
+     */
+    public void setRequestRetryTimes(Integer requestRetryTimes) {
+        this.requestRetryTimes = requestRetryTimes;
+    }
+
+    /**
+     * @return statics_daily_time
+     */
+    public Date getStaticsDailyTime() {
+        return staticsDailyTime;
+    }
+
+    /**
+     * @param staticsDailyTime
+     */
+    public void setStaticsDailyTime(Date staticsDailyTime) {
+        this.staticsDailyTime = staticsDailyTime;
+    }
+
+    /**
+     * @return statics_monthly_time
+     */
+    public Date getStaticsMonthlyTime() {
+        return staticsMonthlyTime;
+    }
+
+    /**
+     * @param staticsMonthlyTime
+     */
+    public void setStaticsMonthlyTime(Date staticsMonthlyTime) {
+        this.staticsMonthlyTime = staticsMonthlyTime;
+    }
+
+    /**
+     * 鑾峰彇鍗曟鐧婚檰澶辫触閲嶆柊灏濊瘯绛夊緟鏃堕棿
+     *
+     * @return login_fail_wait_seconds - 鍗曟鐧婚檰澶辫触閲嶆柊灏濊瘯绛夊緟鏃堕棿
+     */
+    public Integer getLoginFailWaitSeconds() {
+        return loginFailWaitSeconds;
+    }
+
+    /**
+     * 璁剧疆鍗曟鐧婚檰澶辫触閲嶆柊灏濊瘯绛夊緟鏃堕棿
+     *
+     * @param loginFailWaitSeconds 鍗曟鐧婚檰澶辫触閲嶆柊灏濊瘯绛夊緟鏃堕棿
+     */
+    public void setLoginFailWaitSeconds(Integer loginFailWaitSeconds) {
+        this.loginFailWaitSeconds = loginFailWaitSeconds;
+    }
+
+    /**
+     * 鑾峰彇鐧婚檰澶辫触杩炵画灏濊瘯娆℃暟
+     *
+     * @return login_retry_times - 鐧婚檰澶辫触杩炵画灏濊瘯娆℃暟
+     */
+    public Integer getLoginRetryTimes() {
+        return loginRetryTimes;
+    }
+
+    /**
+     * 璁剧疆鐧婚檰澶辫触杩炵画灏濊瘯娆℃暟
+     *
+     * @param loginRetryTimes 鐧婚檰澶辫触杩炵画灏濊瘯娆℃暟
+     */
+    public void setLoginRetryTimes(Integer loginRetryTimes) {
+        this.loginRetryTimes = loginRetryTimes;
+    }
+
+    /**
+     * 鑾峰彇鏁翠釜鐖彇浠诲姟閲嶆柊寮�濮嬪皾璇曠瓑寰呮椂闂�
+     *
+     * @return task_retry_wait_seconds - 鏁翠釜鐖彇浠诲姟閲嶆柊寮�濮嬪皾璇曠瓑寰呮椂闂�
+     */
+    public Integer getTaskRetryWaitSeconds() {
+        return taskRetryWaitSeconds;
+    }
+
+    /**
+     * 璁剧疆鏁翠釜鐖彇浠诲姟閲嶆柊寮�濮嬪皾璇曠瓑寰呮椂闂�
+     *
+     * @param taskRetryWaitSeconds 鏁翠釜鐖彇浠诲姟閲嶆柊寮�濮嬪皾璇曠瓑寰呮椂闂�
+     */
+    public void setTaskRetryWaitSeconds(Integer taskRetryWaitSeconds) {
+        this.taskRetryWaitSeconds = taskRetryWaitSeconds;
+    }
+
+    /**
+     * 鑾峰彇绋嬪簭棣栨鎵ц, 绔欑偣鏁版嵁鏈�鏂版椂鍒昏〃涓虹┖鏃�, 鏁版嵁鑾峰彇寮�濮嬫椂闂寸浉瀵瑰綋鏃ュ線鍓嶅亸绉荤殑澶╂暟
+     *
+     * @return first_request_offset_days - 绋嬪簭棣栨鎵ц, 绔欑偣鏁版嵁鏈�鏂版椂鍒昏〃涓虹┖鏃�, 鏁版嵁鑾峰彇寮�濮嬫椂闂寸浉瀵瑰綋鏃ュ線鍓嶅亸绉荤殑澶╂暟
+     */
+    public Integer getFirstRequestOffsetDays() {
+        return firstRequestOffsetDays;
+    }
+
+    /**
+     * 璁剧疆绋嬪簭棣栨鎵ц, 绔欑偣鏁版嵁鏈�鏂版椂鍒昏〃涓虹┖鏃�, 鏁版嵁鑾峰彇寮�濮嬫椂闂寸浉瀵瑰綋鏃ュ線鍓嶅亸绉荤殑澶╂暟
+     *
+     * @param firstRequestOffsetDays 绋嬪簭棣栨鎵ц, 绔欑偣鏁版嵁鏈�鏂版椂鍒昏〃涓虹┖鏃�, 鏁版嵁鑾峰彇寮�濮嬫椂闂寸浉瀵瑰綋鏃ュ線鍓嶅亸绉荤殑澶╂暟
+     */
+    public void setFirstRequestOffsetDays(Integer firstRequestOffsetDays) {
+        this.firstRequestOffsetDays = firstRequestOffsetDays;
+    }
+
+    /**
+     * 鑾峰彇cookie鏈夋晥鏃堕暱锛屽崟浣嶅皬鏃�
+     *
+     * @return request_cookie_valid_duration - cookie鏈夋晥鏃堕暱锛屽崟浣嶅皬鏃�
+     */
+    public Integer getRequestCookieValidDuration() {
+        return requestCookieValidDuration;
+    }
+
+    /**
+     * 璁剧疆cookie鏈夋晥鏃堕暱锛屽崟浣嶅皬鏃�
+     *
+     * @param requestCookieValidDuration cookie鏈夋晥鏃堕暱锛屽崟浣嶅皬鏃�
+     */
+    public void setRequestCookieValidDuration(Integer requestCookieValidDuration) {
+        this.requestCookieValidDuration = requestCookieValidDuration;
+    }
+}
\ No newline at end of file
diff --git a/src/main/java/com/flightfeather/monitor/domain/ds1/mapper/DustExceptionDataMapper.kt b/src/main/java/com/flightfeather/monitor/domain/ds1/mapper/DustExceptionDataMapper.kt
new file mode 100644
index 0000000..6bdd53c
--- /dev/null
+++ b/src/main/java/com/flightfeather/monitor/domain/ds1/mapper/DustExceptionDataMapper.kt
@@ -0,0 +1,8 @@
+package com.flightfeather.monitor.domain.ds1.mapper
+
+import com.flightfeather.monitor.domain.ds1.entity.DustExceptionData
+import com.flightfeather.monitor.domain.util.MyMapper
+import org.apache.ibatis.annotations.Mapper
+
+@Mapper
+interface DustExceptionDataMapper : MyMapper<DustExceptionData?>
\ No newline at end of file
diff --git a/src/main/java/com/flightfeather/monitor/domain/ds1/mapper/DustExceptionSettingMapper.kt b/src/main/java/com/flightfeather/monitor/domain/ds1/mapper/DustExceptionSettingMapper.kt
new file mode 100644
index 0000000..db99fa9
--- /dev/null
+++ b/src/main/java/com/flightfeather/monitor/domain/ds1/mapper/DustExceptionSettingMapper.kt
@@ -0,0 +1,8 @@
+package com.flightfeather.monitor.domain.ds1.mapper
+
+import com.flightfeather.monitor.domain.ds1.entity.DustExceptionSetting
+import com.flightfeather.monitor.domain.util.MyMapper
+import org.apache.ibatis.annotations.Mapper
+
+@Mapper
+interface DustExceptionSettingMapper : MyMapper<DustExceptionSetting?>
\ No newline at end of file
diff --git a/src/main/java/com/flightfeather/monitor/domain/ds1/mapper/DustGlobalSettingMapper.kt b/src/main/java/com/flightfeather/monitor/domain/ds1/mapper/DustGlobalSettingMapper.kt
new file mode 100644
index 0000000..8200449
--- /dev/null
+++ b/src/main/java/com/flightfeather/monitor/domain/ds1/mapper/DustGlobalSettingMapper.kt
@@ -0,0 +1,8 @@
+package com.flightfeather.monitor.domain.ds1.mapper
+
+import com.flightfeather.monitor.domain.ds1.entity.DustGlobalSetting
+import com.flightfeather.monitor.domain.util.MyMapper
+import org.apache.ibatis.annotations.Mapper
+
+@Mapper
+interface DustGlobalSettingMapper : MyMapper<DustGlobalSetting?>
\ No newline at end of file
diff --git a/src/main/java/com/flightfeather/monitor/domain/ds1/mapper/DustSiteDataMapper.kt b/src/main/java/com/flightfeather/monitor/domain/ds1/mapper/DustSiteDataMapper.kt
new file mode 100644
index 0000000..a7e0c97
--- /dev/null
+++ b/src/main/java/com/flightfeather/monitor/domain/ds1/mapper/DustSiteDataMapper.kt
@@ -0,0 +1,8 @@
+package com.flightfeather.monitor.domain.ds1.mapper
+
+import com.flightfeather.monitor.domain.ds1.entity.DustSiteData
+import com.flightfeather.monitor.domain.util.MyMapper
+import org.apache.ibatis.annotations.Mapper
+
+@Mapper
+interface DustSiteDataMapper : MyMapper<DustSiteData?>
\ No newline at end of file
diff --git a/src/main/java/com/flightfeather/monitor/domain/ds1/mapper/DustSiteInfoMapper.kt b/src/main/java/com/flightfeather/monitor/domain/ds1/mapper/DustSiteInfoMapper.kt
new file mode 100644
index 0000000..9834692
--- /dev/null
+++ b/src/main/java/com/flightfeather/monitor/domain/ds1/mapper/DustSiteInfoMapper.kt
@@ -0,0 +1,8 @@
+package com.flightfeather.monitor.domain.ds1.mapper
+
+import com.flightfeather.monitor.domain.ds1.entity.DustSiteInfo
+import com.flightfeather.monitor.domain.util.MyMapper
+import org.apache.ibatis.annotations.Mapper
+
+@Mapper
+interface DustSiteInfoMapper : MyMapper<DustSiteInfo?>
\ No newline at end of file
diff --git a/src/main/java/com/flightfeather/monitor/domain/ds1/mapper/DustSiteLatestTimeMapper.kt b/src/main/java/com/flightfeather/monitor/domain/ds1/mapper/DustSiteLatestTimeMapper.kt
new file mode 100644
index 0000000..be86347
--- /dev/null
+++ b/src/main/java/com/flightfeather/monitor/domain/ds1/mapper/DustSiteLatestTimeMapper.kt
@@ -0,0 +1,8 @@
+package com.flightfeather.monitor.domain.ds1.mapper
+
+import com.flightfeather.monitor.domain.ds1.entity.DustSiteLatestTime
+import com.flightfeather.monitor.domain.util.MyMapper
+import org.apache.ibatis.annotations.Mapper
+
+@Mapper
+interface DustSiteLatestTimeMapper : MyMapper<DustSiteLatestTime?>
\ No newline at end of file
diff --git a/src/main/java/com/flightfeather/monitor/domain/ds1/mapper/DustSiteMapMapper.kt b/src/main/java/com/flightfeather/monitor/domain/ds1/mapper/DustSiteMapMapper.kt
new file mode 100644
index 0000000..580f295
--- /dev/null
+++ b/src/main/java/com/flightfeather/monitor/domain/ds1/mapper/DustSiteMapMapper.kt
@@ -0,0 +1,8 @@
+package com.flightfeather.monitor.domain.ds1.mapper
+
+import com.flightfeather.monitor.domain.ds1.entity.DustSiteMap
+import com.flightfeather.monitor.domain.util.MyMapper
+import org.apache.ibatis.annotations.Mapper
+
+@Mapper
+interface DustSiteMapMapper : MyMapper<DustSiteMap?>
\ No newline at end of file
diff --git a/src/main/java/com/flightfeather/monitor/domain/ds1/mapper/DustStatisticsValueMapper.kt b/src/main/java/com/flightfeather/monitor/domain/ds1/mapper/DustStatisticsValueMapper.kt
new file mode 100644
index 0000000..9bfc3a5
--- /dev/null
+++ b/src/main/java/com/flightfeather/monitor/domain/ds1/mapper/DustStatisticsValueMapper.kt
@@ -0,0 +1,8 @@
+package com.flightfeather.monitor.domain.ds1.mapper
+
+import com.flightfeather.monitor.domain.ds1.entity.DustStatisticsValue
+import com.flightfeather.monitor.domain.util.MyMapper
+import org.apache.ibatis.annotations.Mapper
+
+@Mapper
+interface DustStatisticsValueMapper : MyMapper<DustStatisticsValue?>
\ No newline at end of file
diff --git a/src/main/java/com/flightfeather/monitor/domain/ds1/mapper/LoginInfoMapper.kt b/src/main/java/com/flightfeather/monitor/domain/ds1/mapper/LoginInfoMapper.kt
new file mode 100644
index 0000000..0fd223a
--- /dev/null
+++ b/src/main/java/com/flightfeather/monitor/domain/ds1/mapper/LoginInfoMapper.kt
@@ -0,0 +1,8 @@
+package com.flightfeather.monitor.domain.ds1.mapper
+
+import com.flightfeather.monitor.domain.ds1.entity.LoginInfo
+import com.flightfeather.monitor.domain.util.MyMapper
+import org.apache.ibatis.annotations.Mapper
+
+@Mapper
+interface LoginInfoMapper : MyMapper<LoginInfo?>
\ No newline at end of file
diff --git a/src/main/java/com/flightfeather/monitor/domain/ds1/mapper/RequestTaskSettingMapper.kt b/src/main/java/com/flightfeather/monitor/domain/ds1/mapper/RequestTaskSettingMapper.kt
new file mode 100644
index 0000000..3151258
--- /dev/null
+++ b/src/main/java/com/flightfeather/monitor/domain/ds1/mapper/RequestTaskSettingMapper.kt
@@ -0,0 +1,8 @@
+package com.flightfeather.monitor.domain.ds1.mapper
+
+import com.flightfeather.monitor.domain.ds1.entity.RequestTaskSetting
+import com.flightfeather.monitor.domain.util.MyMapper
+import org.apache.ibatis.annotations.Mapper
+
+@Mapper
+interface RequestTaskSettingMapper : MyMapper<RequestTaskSetting?>
\ No newline at end of file
diff --git a/src/main/java/com/flightfeather/monitor/domain/util/MyMapper.java b/src/main/java/com/flightfeather/monitor/domain/util/MyMapper.java
new file mode 100644
index 0000000..7040342
--- /dev/null
+++ b/src/main/java/com/flightfeather/monitor/domain/util/MyMapper.java
@@ -0,0 +1,36 @@
+/*
+ * The MIT License (MIT)
+ *
+ * Copyright (c) 2014-2016 abel533@gmail.com
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ */
+
+package com.flightfeather.monitor.domain.util;
+
+import tk.mybatis.mapper.common.Mapper;
+import tk.mybatis.mapper.common.MySqlMapper;
+
+/**
+ * 缁ф壙鑷繁鐨凪yMapper
+ */
+public interface MyMapper<T> extends Mapper<T>, MySqlMapper<T> {
+    //TODO
+    //FIXME 鐗瑰埆娉ㄦ剰锛岃鎺ュ彛涓嶈兘琚壂鎻忓埌锛屽惁鍒欎細鍑洪敊
+}
diff --git a/src/main/java/com/flightfeather/monitor/dustexceptionanalysis/ExceptionAnalysis.java b/src/main/java/com/flightfeather/monitor/dustexceptionanalysis/ExceptionAnalysis.java
deleted file mode 100644
index bc03e42..0000000
--- a/src/main/java/com/flightfeather/monitor/dustexceptionanalysis/ExceptionAnalysis.java
+++ /dev/null
@@ -1,35 +0,0 @@
-package com.flightfeather.monitor.dustexceptionanalysis;
-
-import com.flightfeather.monitor.pojo.DustExceptionSetting;
-import com.flightfeather.monitor.pojo.DustSiteData;
-import org.springframework.stereotype.Controller;
-
-import java.util.ArrayList;
-import java.util.List;
-
-@Controller
-public class ExceptionAnalysis {
-
-
-    public static List<DustSiteData> isDustValueExceeding(List<DustSiteData> siteDataList) {
-        List<DustSiteData> result = new ArrayList<>();
-        DustExceptionSetting dustExceptionSetting = new DustExceptionSetting();
-        /*鎵皹瓒呮爣鍒ゆ柇*/
-//        for (DustSiteData item : siteDataList) {
-//            if (item.getDustValue() >= dustExceptionSetting.getExceedingStandard()  ) {
-//                result.add(item);
-//            }
-//        }
-        return result;
-    }
-
-    public static int main(List<DustSiteData> siteDataList) {
-        List<DustSiteData> r1 = isDustValueExceeding(siteDataList);
-
-//        if (!r1.isEmpty()) {
-//            Repository repository = new Repository();
-//            repository.valueExceedingWriteExceptionTable(r1);
-//        }
-        return r1.size();
-    }
-}
diff --git a/src/main/java/com/flightfeather/monitor/dustexceptionanalysis/analysis/Exceeding.java b/src/main/java/com/flightfeather/monitor/dustexceptionanalysis/analysis/Exceeding.java
deleted file mode 100644
index b1e5564..0000000
--- a/src/main/java/com/flightfeather/monitor/dustexceptionanalysis/analysis/Exceeding.java
+++ /dev/null
@@ -1,38 +0,0 @@
-package com.flightfeather.monitor.dustexceptionanalysis.analysis;
-
-import com.flightfeather.monitor.pojo.DustExceptionSetting;
-import com.flightfeather.monitor.pojo.DustSiteData;
-
-import java.util.ArrayList;
-import java.util.List;
-
-public class Exceeding {
-    public static List<DustSiteData> isDustValueExceeding(List<DustSiteData> siteDataList) {
-        List<DustSiteData> result = new ArrayList<>();
-
-        DustExceptionSetting dustExceptionSetting = new DustExceptionSetting();
-
-
-        /*鎵皹瓒呮爣鍒ゆ柇*/
-//        for (DustSiteData item : siteDataList) {
-//            if (item.getDustValue() >= dustExceptionSetting.getExceedingStandard()  ) {
-//                result.add(item);
-//            }
-//        }
-        return result;
-    }
-
-
-    public static int main(List<DustSiteData> siteDataList) {
-        List<DustSiteData> exceedingData = isDustValueExceeding(siteDataList);
-
-//        if (!r1.isEmpty()) {
-//            Repository repository = new Repository();
-//            repository.valueExceedingWriteExceptionTable(r1);
-//        }
-
-        return exceedingData.size();
-    }
-
-
-}
diff --git a/src/main/java/com/flightfeather/monitor/dustexceptionanalysis/database/DustRepository.java b/src/main/java/com/flightfeather/monitor/dustexceptionanalysis/database/DustRepository.java
deleted file mode 100644
index 37dbec2..0000000
--- a/src/main/java/com/flightfeather/monitor/dustexceptionanalysis/database/DustRepository.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package com.flightfeather.monitor.dustexceptionanalysis.database;
-
-import com.flightfeather.monitor.pojo.DustExceptionSetting;
-import com.flightfeather.monitor.pojo.DustSiteData;
-import org.apache.ibatis.annotations.Mapper;
-import org.apache.ibatis.annotations.Select;
-
-import java.util.List;
-
-@Mapper
-public interface DustRepository {
-
-
-
-    /*璇诲彇鎸囧畾鏃堕棿娈电殑鎵皹鏁版嵁*/
-    @Select("select * from ja_t_dust_site_data_info where lst between #{beginTime} and #{endTime}")
-    public List<DustSiteData> getDustData(String beginTime, String endTime);
-
-    @Select("select * from dust_exception_setting order by update_time desc limit 1")
-    public List<DustExceptionSetting> readExceptionSetting();
-}
diff --git a/src/main/java/com/flightfeather/monitor/dustexceptionanalysis/dataprocess/DataProcess.java b/src/main/java/com/flightfeather/monitor/dustexceptionanalysis/dataprocess/DataProcess.java
deleted file mode 100644
index cfbf602..0000000
--- a/src/main/java/com/flightfeather/monitor/dustexceptionanalysis/dataprocess/DataProcess.java
+++ /dev/null
@@ -1,14 +0,0 @@
-package com.flightfeather.monitor.dustexceptionanalysis.dataprocess;
-
-import com.flightfeather.monitor.pojo.DustExceptionSetting;
-
-import java.util.List;
-
-public class DataProcess {
-    public void giveValues(List<DustExceptionSetting> data){
-        DustExceptionSetting dustExceptionSetting = new DustExceptionSetting();
-
-
-
-    }
-}
diff --git a/src/main/java/com/flightfeather/monitor/mapper/dustexception/OnlineAnalysisMapper.java b/src/main/java/com/flightfeather/monitor/mapper/dustexception/OnlineAnalysisMapper.java
deleted file mode 100644
index dbf8a2e..0000000
--- a/src/main/java/com/flightfeather/monitor/mapper/dustexception/OnlineAnalysisMapper.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package com.flightfeather.monitor.mapper.dustexception;
-
-
-import com.flightfeather.monitor.pojo.DustSiteData;
-import org.apache.ibatis.annotations.Mapper;
-import org.apache.ibatis.annotations.Select;
-
-import java.util.List;
-
-@Mapper
-public interface OnlineAnalysisMapper {
-    /*璇诲彇鎸囧畾鏃堕棿娈电殑鏁版嵁*/
-    @Select("select * from ja_t_dust_site_data_info where lst between #{beginTime} and #{endTime}")
-    public List<DustSiteData> getDustData(String beginTime,String endTime);
-}
diff --git a/src/main/java/com/flightfeather/monitor/service/dustexception/impl/onlineAnalysisServiceImpl.java b/src/main/java/com/flightfeather/monitor/service/dustexception/impl/onlineAnalysisServiceImpl.java
deleted file mode 100644
index e247383..0000000
--- a/src/main/java/com/flightfeather/monitor/service/dustexception/impl/onlineAnalysisServiceImpl.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package com.flightfeather.monitor.service.dustexception.impl;
-
-import com.flightfeather.monitor.service.dustexception.onlineAnalysisService;
-
-public class onlineAnalysisServiceImpl implements onlineAnalysisService {
-        /*閫昏緫澶勭悊*/
-}
diff --git a/src/main/java/com/flightfeather/monitor/service/dustexception/onlineAnalysisService.java b/src/main/java/com/flightfeather/monitor/service/dustexception/onlineAnalysisService.java
deleted file mode 100644
index 70f3a4d..0000000
--- a/src/main/java/com/flightfeather/monitor/service/dustexception/onlineAnalysisService.java
+++ /dev/null
@@ -1,4 +0,0 @@
-package com.flightfeather.monitor.service.dustexception;
-
-public interface onlineAnalysisService {
-}
diff --git a/src/main/java/com/flightfeather/monitor/service/impl/dustexception/onlineAnalysisImpl.java b/src/main/java/com/flightfeather/monitor/service/impl/dustexception/onlineAnalysisImpl.java
deleted file mode 100644
index 06e5ec4..0000000
--- a/src/main/java/com/flightfeather/monitor/service/impl/dustexception/onlineAnalysisImpl.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package com.flightfeather.monitor.service.impl.dustexception;
-
-import com.flightfeather.monitor.service.dustexception.onlineAnalysisService;
-import org.springframework.stereotype.Service;
-
-@Service
-public class onlineAnalysisImpl implements onlineAnalysisService {
-
-
-}
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index 4146901..7469d32 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -1,13 +1,18 @@
 spring:
   datasource:
-    driver-class-name: com.mysql.cj.jdbc.Driver
-   url: jdbc:mysql://localhost:3306/fume
-   username: fume
-   password: fume_feiyu2023
+    ds1:
+      driver-class-name: com.mysql.cj.jdbc.Driver
+#      url: jdbc:mysql://localhost:3306/fume
+#      username: fume
+#      password: fume_feiyu2023
 
-    # url: jdbc:mysql://localhost:3306/qianduan_sql
-    # username: root
-    # password: 1234
+#      url: jdbc:mysql://localhost:3306/qianduan_sql
+#      username: root
+#      password: 1234
+
+      url: jdbc:mysql://localhost:3306/fume
+      username: root
+      password: 123456
 
 mybatis:
   configuration:
diff --git a/src/main/resources/generator/generatorConfig4ds1.xml b/src/main/resources/generator/generatorConfig4ds1.xml
new file mode 100644
index 0000000..883d6d5
--- /dev/null
+++ b/src/main/resources/generator/generatorConfig4ds1.xml
@@ -0,0 +1,86 @@
+<!--<?xml version="1.0" encoding="UTF-8"?>-->
+<!DOCTYPE generatorConfiguration
+        PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
+        "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
+<generatorConfiguration>
+    <!-- 鏁版嵁搴撻┍鍔�:閫夋嫨浣犵殑鏈湴纭洏涓婇潰鐨勬暟鎹簱椹卞姩鍖�-->
+    <classPathEntry
+            location="C:\Users\feiyu02\.m2\repository\mysql\mysql-connector-java\8.0.21\mysql-connector-java-8.0.21.jar"/>
+    <context id="DB2Tables"  targetRuntime="MyBatis3" defaultModelType="flat">
+		<!-- TKmybatis閰嶇疆 -->
+        <property name="javaFileEncoding" value="UTF-8"/>
+        <property name="beginningDelimiter" value="`"/>
+        <property name="endingDelimiter" value="`"/>
+        <plugin type="${mapper.plugin}">
+          <property name="mappers" value="${mapper.Mapper}"/>
+        </plugin>
+        <commentGenerator>
+            <property name="suppressDate" value="true"/>
+            <!-- 鏄惁鍘婚櫎鑷姩鐢熸垚鐨勬敞閲� true锛氭槸 锛� false:鍚� -->
+            <property name="suppressAllComments" value="true"/>
+        </commentGenerator>
+        <!--鏁版嵁搴撻摼鎺RL锛岀敤鎴峰悕銆佸瘑鐮� -->
+        <jdbcConnection driverClass="com.mysql.jdbc.Driver"
+                        connectionURL="jdbc:mysql://114.215.109.124/fume?serverTimezone=Asia/Shanghai"
+						userId="fumeRemote"
+						password="feiyu2023">
+        </jdbcConnection>
+        <javaTypeResolver>
+            <property name="forceBigDecimals" value="false"/>
+        </javaTypeResolver>
+        <!-- 鐢熸垚妯″瀷鐨勫寘鍚嶅拰浣嶇疆-->
+        <javaModelGenerator targetPackage="com.flightfeather.monitor.domain.ds1.entity" targetProject="src/main/java">
+            <property name="enableSubPackages" value="true"/>
+            <property name="trimStrings" value="true"/>
+        </javaModelGenerator>
+        <!-- 鐢熸垚鏄犲皠鏂囦欢鐨勫寘鍚嶅拰浣嶇疆-->
+        <sqlMapGenerator targetPackage="ds1" targetProject="src/main/resources/mapper">
+            <property name="enableSubPackages" value="true"/>
+        </sqlMapGenerator>
+        <!-- 鐢熸垚DAO鐨勫寘鍚嶅拰浣嶇疆-->
+        <javaClientGenerator type="XMLMAPPER" targetPackage="com.flightfeather.monitor.domain.ds1.mapper"
+                             targetProject="src/main/java">
+            <property name="enableSubPackages" value="true"/>
+        </javaClientGenerator>
+        <!-- 瑕佺敓鎴愮殑琛� tableName鏄暟鎹簱涓殑琛ㄥ悕鎴栬鍥惧悕 domainObjectName鏄疄浣撶被鍚�-->
+        <table tableName="du_js_t_login_info" domainObjectName="LoginInfo" enableCountByExample="false"
+               enableUpdateByExample="false" enableDeleteByExample="false"
+               enableSelectByExample="false" selectByExampleQueryId="false"/>
+        <table tableName="du_js_t_request_task_setting" domainObjectName="RequestTaskSetting"
+               enableCountByExample="false"
+               enableUpdateByExample="false" enableDeleteByExample="false"
+               enableSelectByExample="false" selectByExampleQueryId="false"/>
+        <table tableName="du_js_t_site_latest_time" domainObjectName="DustSiteLatestTime"
+               enableCountByExample="false"
+               enableUpdateByExample="false" enableDeleteByExample="false"
+               enableSelectByExample="false" selectByExampleQueryId="false"/>
+        <table tableName="du_js_t_site_map" domainObjectName="DustSiteMap"
+               enableCountByExample="false"
+               enableUpdateByExample="false" enableDeleteByExample="false"
+               enableSelectByExample="false" selectByExampleQueryId="false"/>
+        <table tableName="dust_exception_data" domainObjectName="DustExceptionData"
+               enableCountByExample="false"
+               enableUpdateByExample="false" enableDeleteByExample="false"
+               enableSelectByExample="false" selectByExampleQueryId="false"/>
+        <table tableName="dust_exception_setting" domainObjectName="DustExceptionSetting"
+               enableCountByExample="false"
+               enableUpdateByExample="false" enableDeleteByExample="false"
+               enableSelectByExample="false" selectByExampleQueryId="false"/>
+        <table tableName="dust_global_setting" domainObjectName="DustGlobalSetting"
+               enableCountByExample="false"
+               enableUpdateByExample="false" enableDeleteByExample="false"
+               enableSelectByExample="false" selectByExampleQueryId="false"/>
+        <table tableName="dust_statistics_value" domainObjectName="DustStatisticsValue"
+               enableCountByExample="false"
+               enableUpdateByExample="false" enableDeleteByExample="false"
+               enableSelectByExample="false" selectByExampleQueryId="false"/>
+        <table tableName="ja_t_dust_site_data_info" domainObjectName="DustSiteData"
+               enableCountByExample="false"
+               enableUpdateByExample="false" enableDeleteByExample="false"
+               enableSelectByExample="false" selectByExampleQueryId="false"/>
+        <table tableName="ja_t_dust_site_info" domainObjectName="DustSiteInfo"
+               enableCountByExample="false"
+               enableUpdateByExample="false" enableDeleteByExample="false"
+               enableSelectByExample="false" selectByExampleQueryId="false"/>
+    </context>
+</generatorConfiguration>
\ No newline at end of file
diff --git a/src/main/resources/com/flightfeather/monitor/mapper/AnalysisDataMapper.xml b/src/main/resources/mapper/AnalysisDataMapper.xml
similarity index 100%
rename from src/main/resources/com/flightfeather/monitor/mapper/AnalysisDataMapper.xml
rename to src/main/resources/mapper/AnalysisDataMapper.xml
diff --git a/src/main/resources/com/flightfeather/monitor/mapper/FugitiveDustMapper.xml b/src/main/resources/mapper/FugitiveDustMapper.xml
similarity index 100%
rename from src/main/resources/com/flightfeather/monitor/mapper/FugitiveDustMapper.xml
rename to src/main/resources/mapper/FugitiveDustMapper.xml
diff --git a/src/main/resources/com/flightfeather/monitor/mapper/SqlMapper.xml b/src/main/resources/mapper/SqlMapper.xml
similarity index 100%
rename from src/main/resources/com/flightfeather/monitor/mapper/SqlMapper.xml
rename to src/main/resources/mapper/SqlMapper.xml
diff --git a/src/main/resources/com/flightfeather/monitor/mapper/Vue3FumeMapper.xml b/src/main/resources/mapper/Vue3FumeMapper.xml
similarity index 100%
rename from src/main/resources/com/flightfeather/monitor/mapper/Vue3FumeMapper.xml
rename to src/main/resources/mapper/Vue3FumeMapper.xml
diff --git a/src/main/resources/mapper/ds1/DustExceptionDataMapper.xml b/src/main/resources/mapper/ds1/DustExceptionDataMapper.xml
new file mode 100644
index 0000000..9de548f
--- /dev/null
+++ b/src/main/resources/mapper/ds1/DustExceptionDataMapper.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.flightfeather.monitor.domain.ds1.mapper.DustExceptionDataMapper">
+  <resultMap id="BaseResultMap" type="com.flightfeather.monitor.domain.ds1.entity.DustExceptionData">
+    <!--
+      WARNING - @mbg.generated
+    -->
+    <id column="id" jdbcType="INTEGER" property="id" />
+    <result column="mn_code" jdbcType="VARCHAR" property="mnCode" />
+    <result column="exception" jdbcType="VARCHAR" property="exception" />
+    <result column="exception_type" jdbcType="INTEGER" property="exceptionType" />
+    <result column="region" jdbcType="VARCHAR" property="region" />
+    <result column="begin_time" jdbcType="TIMESTAMP" property="beginTime" />
+    <result column="end_time" jdbcType="TIMESTAMP" property="endTime" />
+    <result column="avg_value" jdbcType="DOUBLE" property="avgValue" />
+  </resultMap>
+  <sql id="Base_Column_List">
+    <!--
+      WARNING - @mbg.generated
+    -->
+    id, mn_code, exception, exception_type, region, begin_time, end_time, avg_value
+  </sql>
+</mapper>
\ No newline at end of file
diff --git a/src/main/resources/mapper/ds1/DustExceptionSettingMapper.xml b/src/main/resources/mapper/ds1/DustExceptionSettingMapper.xml
new file mode 100644
index 0000000..2729ad1
--- /dev/null
+++ b/src/main/resources/mapper/ds1/DustExceptionSettingMapper.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.flightfeather.monitor.domain.ds1.mapper.DustExceptionSettingMapper">
+  <resultMap id="BaseResultMap" type="com.flightfeather.monitor.domain.ds1.entity.DustExceptionSetting">
+    <!--
+      WARNING - @mbg.generated
+    -->
+    <id column="id" jdbcType="INTEGER" property="id" />
+    <result column="user" jdbcType="VARCHAR" property="user" />
+    <result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
+    <result column="version" jdbcType="VARCHAR" property="version" />
+    <result column="miss_data_minutes" jdbcType="INTEGER" property="missDataMinutes" />
+    <result column="data_low" jdbcType="DOUBLE" property="dataLow" />
+    <result column="long_time_no_change" jdbcType="INTEGER" property="longTimeNoChange" />
+    <result column="mutation_num" jdbcType="INTEGER" property="mutationNum" />
+    <result column="mutation_rate" jdbcType="DOUBLE" property="mutationRate" />
+    <result column="near_exceed_low_value" jdbcType="DOUBLE" property="nearExceedLowValue" />
+    <result column="near_exceed_high_value" jdbcType="DOUBLE" property="nearExceedHighValue" />
+    <result column="near_exceed_num" jdbcType="INTEGER" property="nearExceedNum" />
+    <result column="day_exceed_borderline_low_num" jdbcType="INTEGER" property="dayExceedBorderlineLowNum" />
+    <result column="day_exceed_borderline_high_num" jdbcType="INTEGER" property="dayExceedBorderlineHighNum" />
+    <result column="change_trend_group" jdbcType="INTEGER" property="changeTrendGroup" />
+    <result column="change_trend_interval" jdbcType="INTEGER" property="changeTrendInterval" />
+    <result column="change_trend_rate" jdbcType="DOUBLE" property="changeTrendRate" />
+    <result column="exceeding_standard" jdbcType="DOUBLE" property="exceedingStandard" />
+  </resultMap>
+  <sql id="Base_Column_List">
+    <!--
+      WARNING - @mbg.generated
+    -->
+    id, user, update_time, version, miss_data_minutes, data_low, long_time_no_change, 
+    mutation_num, mutation_rate, near_exceed_low_value, near_exceed_high_value, near_exceed_num, 
+    day_exceed_borderline_low_num, day_exceed_borderline_high_num, change_trend_group, 
+    change_trend_interval, change_trend_rate, exceeding_standard
+  </sql>
+</mapper>
\ No newline at end of file
diff --git a/src/main/resources/mapper/ds1/DustGlobalSettingMapper.xml b/src/main/resources/mapper/ds1/DustGlobalSettingMapper.xml
new file mode 100644
index 0000000..cfddf30
--- /dev/null
+++ b/src/main/resources/mapper/ds1/DustGlobalSettingMapper.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.flightfeather.monitor.domain.ds1.mapper.DustGlobalSettingMapper">
+  <resultMap id="BaseResultMap" type="com.flightfeather.monitor.domain.ds1.entity.DustGlobalSetting">
+    <!--
+      WARNING - @mbg.generated
+    -->
+    <id column="id" jdbcType="INTEGER" property="id" />
+    <result column="user" jdbcType="VARCHAR" property="user" />
+    <result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
+    <result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
+    <result column="type" jdbcType="VARCHAR" property="type" />
+    <result column="exceeding" jdbcType="DOUBLE" property="exceeding" />
+    <result column="begin_time" jdbcType="TIMESTAMP" property="beginTime" />
+    <result column="end_time" jdbcType="TIMESTAMP" property="endTime" />
+    <result column="region" jdbcType="VARCHAR" property="region" />
+    <result column="is_regular_time" jdbcType="VARCHAR" property="isRegularTime" />
+  </resultMap>
+  <sql id="Base_Column_List">
+    <!--
+      WARNING - @mbg.generated
+    -->
+    id, user, create_time, update_time, type, exceeding, begin_time, end_time, region, 
+    is_regular_time
+  </sql>
+</mapper>
\ No newline at end of file
diff --git a/src/main/resources/mapper/ds1/DustSiteDataMapper.xml b/src/main/resources/mapper/ds1/DustSiteDataMapper.xml
new file mode 100644
index 0000000..7ef51bc
--- /dev/null
+++ b/src/main/resources/mapper/ds1/DustSiteDataMapper.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.flightfeather.monitor.domain.ds1.mapper.DustSiteDataMapper">
+  <resultMap id="BaseResultMap" type="com.flightfeather.monitor.domain.ds1.entity.DustSiteData">
+    <!--
+      WARNING - @mbg.generated
+    -->
+    <id column="id" jdbcType="INTEGER" property="id" />
+    <result column="mn_code" jdbcType="VARCHAR" property="mnCode" />
+    <result column="dust_value" jdbcType="DOUBLE" property="dustValue" />
+    <result column="noise_value" jdbcType="DOUBLE" property="noiseValue" />
+    <result column="lst" jdbcType="TIMESTAMP" property="lst" />
+    <result column="quality" jdbcType="VARCHAR" property="quality" />
+    <result column="grade" jdbcType="INTEGER" property="grade" />
+    <result column="flag" jdbcType="VARCHAR" property="flag" />
+  </resultMap>
+  <sql id="Base_Column_List">
+    <!--
+      WARNING - @mbg.generated
+    -->
+    id, mn_code, dust_value, noise_value, lst, quality, grade, flag
+  </sql>
+</mapper>
\ No newline at end of file
diff --git a/src/main/resources/mapper/ds1/DustSiteInfoMapper.xml b/src/main/resources/mapper/ds1/DustSiteInfoMapper.xml
new file mode 100644
index 0000000..de3587c
--- /dev/null
+++ b/src/main/resources/mapper/ds1/DustSiteInfoMapper.xml
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.flightfeather.monitor.domain.ds1.mapper.DustSiteInfoMapper">
+  <resultMap id="BaseResultMap" type="com.flightfeather.monitor.domain.ds1.entity.DustSiteInfo">
+    <!--
+      WARNING - @mbg.generated
+    -->
+    <id column="id" jdbcType="INTEGER" property="id" />
+    <result column="mn_code" jdbcType="VARCHAR" property="mnCode" />
+    <result column="address" jdbcType="VARCHAR" property="address" />
+    <result column="name" jdbcType="VARCHAR" property="name" />
+    <result column="code" jdbcType="VARCHAR" property="code" />
+    <result column="begin_date" jdbcType="TIMESTAMP" property="beginDate" />
+    <result column="duty_company" jdbcType="VARCHAR" property="dutyCompany" />
+    <result column="duty_company_id" jdbcType="VARCHAR" property="dutyCompanyId" />
+    <result column="end_date" jdbcType="TIMESTAMP" property="endDate" />
+    <result column="engineering_stage" jdbcType="VARCHAR" property="engineeringStage" />
+    <result column="group_id" jdbcType="VARCHAR" property="groupId" />
+    <result column="group_name" jdbcType="VARCHAR" property="groupName" />
+    <result column="is_online" jdbcType="VARCHAR" property="isOnline" />
+    <result column="is_trouble" jdbcType="VARCHAR" property="isTrouble" />
+    <result column="jhpt_update_time" jdbcType="VARCHAR" property="jhptUpdateTime" />
+    <result column="kindex" jdbcType="VARCHAR" property="kindex" />
+    <result column="latitude" jdbcType="VARCHAR" property="latitude" />
+    <result column="linkman" jdbcType="VARCHAR" property="linkman" />
+    <result column="longitude" jdbcType="VARCHAR" property="longitude" />
+    <result column="phone" jdbcType="VARCHAR" property="phone" />
+    <result column="province" jdbcType="VARCHAR" property="province" />
+    <result column="ring_id" jdbcType="VARCHAR" property="ringId" />
+    <result column="ring_name" jdbcType="VARCHAR" property="ringName" />
+    <result column="type_id" jdbcType="VARCHAR" property="typeId" />
+    <result column="typename" jdbcType="VARCHAR" property="typename" />
+    <result column="stop_time" jdbcType="TIMESTAMP" property="stopTime" />
+    <result column="active" jdbcType="VARCHAR" property="active" />
+    <result column="trouble_num" jdbcType="INTEGER" property="troubleNum" />
+    <result column="insert_time" jdbcType="TIMESTAMP" property="insertTime" />
+    <result column="stage_begin_date" jdbcType="TIMESTAMP" property="stageBeginDate" />
+    <result column="tsp" jdbcType="DOUBLE" property="tsp" />
+    <result column="union_type_id" jdbcType="VARCHAR" property="unionTypeId" />
+    <result column="wall_height" jdbcType="VARCHAR" property="wallHeight" />
+    <result column="ywsj_date" jdbcType="TIMESTAMP" property="ywsjDate" />
+    <result column="build_area" jdbcType="VARCHAR" property="buildArea" />
+    <result column="construction_unit" jdbcType="VARCHAR" property="constructionUnit" />
+    <result column="control_level" jdbcType="VARCHAR" property="controlLevel" />
+    <result column="developers" jdbcType="VARCHAR" property="developers" />
+    <result column="do_time" jdbcType="TIMESTAMP" property="doTime" />
+    <result column="has_monitor" jdbcType="VARCHAR" property="hasMonitor" />
+    <result column="data_time" jdbcType="TIMESTAMP" property="dataTime" />
+    <result column="engineering_stage_code" jdbcType="VARCHAR" property="engineeringStageCode" />
+    <result column="equipment_code" jdbcType="VARCHAR" property="equipmentCode" />
+    <result column="floor_area" jdbcType="VARCHAR" property="floorArea" />
+    <result column="jhpt_delete" jdbcType="VARCHAR" property="jhptDelete" />
+    <result column="noise_region" jdbcType="VARCHAR" property="noiseRegion" />
+    <result column="responsible" jdbcType="VARCHAR" property="responsible" />
+  </resultMap>
+  <sql id="Base_Column_List">
+    <!--
+      WARNING - @mbg.generated
+    -->
+    id, mn_code, address, name, code, begin_date, duty_company, duty_company_id, end_date, 
+    engineering_stage, group_id, group_name, is_online, is_trouble, jhpt_update_time, 
+    kindex, latitude, linkman, longitude, phone, province, ring_id, ring_name, type_id, 
+    typename, stop_time, active, trouble_num, insert_time, stage_begin_date, tsp, union_type_id, 
+    wall_height, ywsj_date, build_area, construction_unit, control_level, developers, 
+    do_time, has_monitor, data_time, engineering_stage_code, equipment_code, floor_area, 
+    jhpt_delete, noise_region, responsible
+  </sql>
+</mapper>
\ No newline at end of file
diff --git a/src/main/resources/mapper/ds1/DustSiteLatestTimeMapper.xml b/src/main/resources/mapper/ds1/DustSiteLatestTimeMapper.xml
new file mode 100644
index 0000000..10d9f61
--- /dev/null
+++ b/src/main/resources/mapper/ds1/DustSiteLatestTimeMapper.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.flightfeather.monitor.domain.ds1.mapper.DustSiteLatestTimeMapper">
+  <resultMap id="BaseResultMap" type="com.flightfeather.monitor.domain.ds1.entity.DustSiteLatestTime">
+    <!--
+      WARNING - @mbg.generated
+    -->
+    <id column="mn_code" jdbcType="VARCHAR" property="mnCode" />
+    <result column="latest_time" jdbcType="TIMESTAMP" property="latestTime" />
+    <result column="device_status" jdbcType="INTEGER" property="deviceStatus" />
+  </resultMap>
+  <sql id="Base_Column_List">
+    <!--
+      WARNING - @mbg.generated
+    -->
+    mn_code, latest_time, device_status
+  </sql>
+</mapper>
\ No newline at end of file
diff --git a/src/main/resources/mapper/ds1/DustSiteMapMapper.xml b/src/main/resources/mapper/ds1/DustSiteMapMapper.xml
new file mode 100644
index 0000000..b470e57
--- /dev/null
+++ b/src/main/resources/mapper/ds1/DustSiteMapMapper.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.flightfeather.monitor.domain.ds1.mapper.DustSiteMapMapper">
+  <resultMap id="BaseResultMap" type="com.flightfeather.monitor.domain.ds1.entity.DustSiteMap">
+    <!--
+      WARNING - @mbg.generated
+    -->
+    <id column="Id" jdbcType="INTEGER" property="id" />
+    <result column="TZ_User_Id" jdbcType="VARCHAR" property="tzUserId" />
+    <result column="TZ_User_Name" jdbcType="VARCHAR" property="tzUserName" />
+    <result column="JS_Device_Code" jdbcType="VARCHAR" property="jsDeviceCode" />
+    <result column="JS_Device_Name" jdbcType="VARCHAR" property="jsDeviceName" />
+    <result column="SV_User_Id" jdbcType="VARCHAR" property="svUserId" />
+    <result column="SV_User_Name" jdbcType="VARCHAR" property="svUserName" />
+    <result column="Create_Time" jdbcType="TIMESTAMP" property="createTime" />
+  </resultMap>
+  <sql id="Base_Column_List">
+    <!--
+      WARNING - @mbg.generated
+    -->
+    Id, TZ_User_Id, TZ_User_Name, JS_Device_Code, JS_Device_Name, SV_User_Id, SV_User_Name, 
+    Create_Time
+  </sql>
+</mapper>
\ No newline at end of file
diff --git a/src/main/resources/mapper/ds1/DustStatisticsValueMapper.xml b/src/main/resources/mapper/ds1/DustStatisticsValueMapper.xml
new file mode 100644
index 0000000..40edb30
--- /dev/null
+++ b/src/main/resources/mapper/ds1/DustStatisticsValueMapper.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.flightfeather.monitor.domain.ds1.mapper.DustStatisticsValueMapper">
+  <resultMap id="BaseResultMap" type="com.flightfeather.monitor.domain.ds1.entity.DustStatisticsValue">
+    <!--
+      WARNING - @mbg.generated
+    -->
+    <id column="id" jdbcType="INTEGER" property="id" />
+    <result column="mn_code" jdbcType="VARCHAR" property="mnCode" />
+    <result column="lst" jdbcType="DATE" property="lst" />
+    <result column="day_avg" jdbcType="VARCHAR" property="dayAvg" />
+    <result column="min" jdbcType="VARCHAR" property="min" />
+    <result column="max" jdbcType="VARCHAR" property="max" />
+    <result column="day_online" jdbcType="VARCHAR" property="dayOnline" />
+    <result column="day_valid" jdbcType="VARCHAR" property="dayValid" />
+    <result column="day_exceeding" jdbcType="VARCHAR" property="dayExceeding" />
+    <result column="type" jdbcType="VARCHAR" property="type" />
+  </resultMap>
+  <sql id="Base_Column_List">
+    <!--
+      WARNING - @mbg.generated
+    -->
+    id, mn_code, lst, day_avg, min, max, day_online, day_valid, day_exceeding, type
+  </sql>
+</mapper>
\ No newline at end of file
diff --git a/src/main/resources/mapper/ds1/LoginInfoMapper.xml b/src/main/resources/mapper/ds1/LoginInfoMapper.xml
new file mode 100644
index 0000000..60931db
--- /dev/null
+++ b/src/main/resources/mapper/ds1/LoginInfoMapper.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.flightfeather.monitor.domain.ds1.mapper.LoginInfoMapper">
+  <resultMap id="BaseResultMap" type="com.flightfeather.monitor.domain.ds1.entity.LoginInfo">
+    <!--
+      WARNING - @mbg.generated
+    -->
+    <id column="id" jdbcType="INTEGER" property="id" />
+    <result column="user_name" jdbcType="VARCHAR" property="userName" />
+    <result column="password" jdbcType="VARCHAR" property="password" />
+    <result column="cookie" jdbcType="VARCHAR" property="cookie" />
+    <result column="cookie_timestamp" jdbcType="TIMESTAMP" property="cookieTimestamp" />
+    <result column="region" jdbcType="VARCHAR" property="region" />
+  </resultMap>
+  <sql id="Base_Column_List">
+    <!--
+      WARNING - @mbg.generated
+    -->
+    id, user_name, password, cookie, cookie_timestamp, region
+  </sql>
+</mapper>
\ No newline at end of file
diff --git a/src/main/resources/mapper/ds1/RequestTaskSettingMapper.xml b/src/main/resources/mapper/ds1/RequestTaskSettingMapper.xml
new file mode 100644
index 0000000..8aadf5d
--- /dev/null
+++ b/src/main/resources/mapper/ds1/RequestTaskSettingMapper.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.flightfeather.monitor.domain.ds1.mapper.RequestTaskSettingMapper">
+  <resultMap id="BaseResultMap" type="com.flightfeather.monitor.domain.ds1.entity.RequestTaskSetting">
+    <!--
+      WARNING - @mbg.generated
+    -->
+    <id column="id" jdbcType="INTEGER" property="id" />
+    <result column="user" jdbcType="VARCHAR" property="user" />
+    <result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
+    <result column="region" jdbcType="VARCHAR" property="region" />
+    <result column="version" jdbcType="VARCHAR" property="version" />
+    <result column="request_start_time" jdbcType="TIMESTAMP" property="requestStartTime" />
+    <result column="request_end_time" jdbcType="TIMESTAMP" property="requestEndTime" />
+    <result column="request_interval_seconds" jdbcType="INTEGER" property="requestIntervalSeconds" />
+    <result column="request_range_hour" jdbcType="INTEGER" property="requestRangeHour" />
+    <result column="request_range_interval_seconds" jdbcType="INTEGER" property="requestRangeIntervalSeconds" />
+    <result column="request_fail_wait_seconds" jdbcType="INTEGER" property="requestFailWaitSeconds" />
+    <result column="request_retry_times" jdbcType="INTEGER" property="requestRetryTimes" />
+    <result column="statics_daily_time" jdbcType="TIMESTAMP" property="staticsDailyTime" />
+    <result column="statics_monthly_time" jdbcType="TIMESTAMP" property="staticsMonthlyTime" />
+    <result column="login_fail_wait_seconds" jdbcType="INTEGER" property="loginFailWaitSeconds" />
+    <result column="login_retry_times" jdbcType="INTEGER" property="loginRetryTimes" />
+    <result column="task_retry_wait_seconds" jdbcType="INTEGER" property="taskRetryWaitSeconds" />
+    <result column="first_request_offset_days" jdbcType="INTEGER" property="firstRequestOffsetDays" />
+    <result column="request_cookie_valid_duration" jdbcType="INTEGER" property="requestCookieValidDuration" />
+  </resultMap>
+  <sql id="Base_Column_List">
+    <!--
+      WARNING - @mbg.generated
+    -->
+    id, user, update_time, region, version, request_start_time, request_end_time, request_interval_seconds, 
+    request_range_hour, request_range_interval_seconds, request_fail_wait_seconds, request_retry_times, 
+    statics_daily_time, statics_monthly_time, login_fail_wait_seconds, login_retry_times, 
+    task_retry_wait_seconds, first_request_offset_days, request_cookie_valid_duration
+  </sql>
+</mapper>
\ No newline at end of file
diff --git a/src/test/java/com/flightfeather/monitor/QianduanApplicationTests.java b/src/test/java/com/flightfeather/monitor/QianduanApplicationTests.java
index a5f6be2..f4b3a8e 100644
--- a/src/test/java/com/flightfeather/monitor/QianduanApplicationTests.java
+++ b/src/test/java/com/flightfeather/monitor/QianduanApplicationTests.java
@@ -1,6 +1,6 @@
 package com.flightfeather.monitor;
 
-import com.flightfeather.monitor.dustexceptionanalysis.database.DustRepository;
+import com.flightfeather.monitor.analysis.database.DustRepository;
 import com.flightfeather.monitor.pojo.DustExceptionSetting;
 import org.junit.jupiter.api.Test;
 import org.springframework.beans.factory.annotation.Autowired;

--
Gitblit v1.9.3