commit 55a57418c3dc3ec3347f46c0be95ab9504442cbc
Author: kchh <365619549@qq.com>
Date: Thu Jun 13 15:27:54 2024 +0800
xindaima
diff --git a/.idea/.gitignore b/.idea/.gitignore
new file mode 100644
index 0000000..359bb53
--- /dev/null
+++ b/.idea/.gitignore
@@ -0,0 +1,3 @@
+# 默认忽略的文件
+/shelf/
+/workspace.xml
diff --git a/.idea/compiler.xml b/.idea/compiler.xml
new file mode 100644
index 0000000..cfc9d8f
--- /dev/null
+++ b/.idea/compiler.xml
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/encodings.xml b/.idea/encodings.xml
new file mode 100644
index 0000000..e97eb0e
--- /dev/null
+++ b/.idea/encodings.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml
new file mode 100644
index 0000000..9394f4d
--- /dev/null
+++ b/.idea/inspectionProfiles/Project_Default.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/jarRepositories.xml b/.idea/jarRepositories.xml
new file mode 100644
index 0000000..40a2eee
--- /dev/null
+++ b/.idea/jarRepositories.xml
@@ -0,0 +1,25 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/mini-service-v4.iml b/.idea/mini-service-v4.iml
new file mode 100644
index 0000000..1769fc4
--- /dev/null
+++ b/.idea/mini-service-v4.iml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
new file mode 100644
index 0000000..911d29d
--- /dev/null
+++ b/.idea/misc.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/sonarlint/issuestore/0/1/01bef5372279668ac8ad0c35b87e3a653ce8f2c6 b/.idea/sonarlint/issuestore/0/1/01bef5372279668ac8ad0c35b87e3a653ce8f2c6
new file mode 100644
index 0000000..29eb91c
--- /dev/null
+++ b/.idea/sonarlint/issuestore/0/1/01bef5372279668ac8ad0c35b87e3a653ce8f2c6
@@ -0,0 +1,15 @@
+
+Y
+java:S2589s"7Remove this expression which always evaluates to "true"(䷂81
+Z
+java:S2589"7Remove this expression which always evaluates to "true"(䷂81
+Z
+java:S2589"7Remove this expression which always evaluates to "true"(䷂81
+^ java:S125"=") instead.(81
+o
+java:S1128
+"RRemove this unused import 'org.springframework.web.bind.annotation.RequestHeader'.(82
+W
+java:S1128":Remove this unused import 'java.util.concurrent.TimeUnit'.(ƙ82
\ No newline at end of file
diff --git a/.idea/sonarlint/issuestore/0/f/0f918f0335747bb03c936803d0383e01ea26af4d b/.idea/sonarlint/issuestore/0/f/0f918f0335747bb03c936803d0383e01ea26af4d
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/issuestore/1/0/1031dfb90767be9b19f80572dbc868398993532b b/.idea/sonarlint/issuestore/1/0/1031dfb90767be9b19f80572dbc868398993532b
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/issuestore/1/0/10e131269c0d4ab1e8920ac7a94e4e386444f346 b/.idea/sonarlint/issuestore/1/0/10e131269c0d4ab1e8920ac7a94e4e386444f346
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/issuestore/1/2/126aa63e0002cfc2698255f08bd1046475f26c7a b/.idea/sonarlint/issuestore/1/2/126aa63e0002cfc2698255f08bd1046475f26c7a
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/issuestore/1/4/14aeff4fce48685d3598dfbcf1eae75b82fb5477 b/.idea/sonarlint/issuestore/1/4/14aeff4fce48685d3598dfbcf1eae75b82fb5477
new file mode 100644
index 0000000..5e3e821
--- /dev/null
+++ b/.idea/sonarlint/issuestore/1/4/14aeff4fce48685d3598dfbcf1eae75b82fb5477
@@ -0,0 +1,4 @@
+
+Q java:S1257"").(8ޞ1
+{ java:S120"ZRename this package name to match the regular expression '^[a-z_]+(\.[a-z_][a-z0-9_]*)*$'.(ڎ8ޞ1
+] java:S125k"Remove this unused import 'com.haitongauto.models.dto.DicDto'.(8ޞ1
\ No newline at end of file
diff --git a/.idea/sonarlint/issuestore/1/c/1c0383ad33f4617d618e9c59d8593b1f2694df4a b/.idea/sonarlint/issuestore/1/c/1c0383ad33f4617d618e9c59d8593b1f2694df4a
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/issuestore/1/c/1c54f0e2fd4b13924b84792410719af9f35dc231 b/.idea/sonarlint/issuestore/1/c/1c54f0e2fd4b13924b84792410719af9f35dc231
new file mode 100644
index 0000000..55454f0
--- /dev/null
+++ b/.idea/sonarlint/issuestore/1/c/1c54f0e2fd4b13924b84792410719af9f35dc231
@@ -0,0 +1,3 @@
+
+p
+java:S1128"URemove this unused import 'com.haitongauto.models.ido.receiving.ReceivingVehicleIdo'.(ؐ
\ No newline at end of file
diff --git a/.idea/sonarlint/issuestore/1/c/1cd81cc55241f643276c5c5b61880b794c97c7ea b/.idea/sonarlint/issuestore/1/c/1cd81cc55241f643276c5c5b61880b794c97c7ea
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/issuestore/1/d/1dfd7bb56827f7cac04a40b35b84ebbeac3d2508 b/.idea/sonarlint/issuestore/1/d/1dfd7bb56827f7cac04a40b35b84ebbeac3d2508
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/issuestore/1/e/1e38dcce5296f41f50bbc9251245f1fe0b7e91d6 b/.idea/sonarlint/issuestore/1/e/1e38dcce5296f41f50bbc9251245f1fe0b7e91d6
new file mode 100644
index 0000000..ffdae70
--- /dev/null
+++ b/.idea/sonarlint/issuestore/1/e/1e38dcce5296f41f50bbc9251245f1fe0b7e91d6
@@ -0,0 +1,2 @@
+
+n java:S101 "MRename this class name to match the regular expression '^[A-Z][a-zA-Z0-9]*$'.(81
\ No newline at end of file
diff --git a/.idea/sonarlint/issuestore/1/f/1f0a616a99b0f5ac286f90a69671caa063caa581 b/.idea/sonarlint/issuestore/1/f/1f0a616a99b0f5ac286f90a69671caa063caa581
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/issuestore/1/f/1fb5c1491389594e87f8ee9a5b75f1ea27c74de1 b/.idea/sonarlint/issuestore/1/f/1fb5c1491389594e87f8ee9a5b75f1ea27c74de1
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/issuestore/2/2/22661b853b5d07909dc6bb6a60fccc02ae31a42e b/.idea/sonarlint/issuestore/2/2/22661b853b5d07909dc6bb6a60fccc02ae31a42e
new file mode 100644
index 0000000..6099089
--- /dev/null
+++ b/.idea/sonarlint/issuestore/2/2/22661b853b5d07909dc6bb6a60fccc02ae31a42e
@@ -0,0 +1,16 @@
+
+Z
+java:S2629"7Use the built-in formatting to construct this argument.(81
+Z
+java:S2629"7Use the built-in formatting to construct this argument.(81
+U
+java:S2629"7Use the built-in formatting to construct this argument.(紽81
+Q
+java:S3416"4Update this logger to use "MessageController.class".(81
+] java:S125l""(Use a primitive boolean expression here.(ɂ
+R
+java:S2589""7Remove this expression which always evaluates to "true"(ڜ
+Q java:S125"").(Ě
+t java:S120"ZRename this package name to match the regular expression '^[a-z_]+(\.[a-z_][a-z0-9_]*)*$'.(ڎ
\ No newline at end of file
diff --git a/.idea/sonarlint/issuestore/8/1/81cf0f96f68931e2722723f2ac99d86b8d7b01b3 b/.idea/sonarlint/issuestore/8/1/81cf0f96f68931e2722723f2ac99d86b8d7b01b3
new file mode 100644
index 0000000..094713c
--- /dev/null
+++ b/.idea/sonarlint/issuestore/8/1/81cf0f96f68931e2722723f2ac99d86b8d7b01b3
@@ -0,0 +1,5 @@
+
+g java:S101"MRename this class name to match the regular expression '^[A-Z][a-zA-Z0-9]*$'.(ڽ
+Q java:S125""").(8ż1
+{ java:S120"ZRename this package name to match the regular expression '^[a-z_]+(\.[a-z_][a-z0-9_]*)*$'.(ڎ8ż1
+] java:S1254"").(8Ď1
+|
+java:S2293"YReplace the type specification in this constructor call with the diamond operator ("<>").(8Ď1
+|
+java:S2293"YReplace the type specification in this constructor call with the diamond operator ("<>").(8Ď1
+X java:S125f"8Ď1
+^ java:S125"=") instead.(81
+Y java:S125"").(כ81
+F
+java:S1604"(Make this anonymous inner class a lambda(î81
+U
+java:S3655"7Call "Optional#isPresent()" before accessing the value.(꒑8ø1
+U
+java:S3655"7Call "Optional#isPresent()" before accessing the value.(8ø1
+F
+java:S1905"(Remove this unnecessary cast to "Users".(Ң8ĸ1
+Z
+java:S1117"";Do something with the "boolean" value returned by "delete".(
+d
+java:S4042>"NUse "java.nio.file.Files#delete" here for better messages on error conditions.(
+<
+java:S1075C"&Remove this hard-coded path-delimiter.(
\ No newline at end of file
diff --git a/.idea/sonarlint/issuestore/b/7/b7d6d14d9ab2a0ae82109887abce5e44c933f7d1 b/.idea/sonarlint/issuestore/b/7/b7d6d14d9ab2a0ae82109887abce5e44c933f7d1
new file mode 100644
index 0000000..ec12161
--- /dev/null
+++ b/.idea/sonarlint/issuestore/b/7/b7d6d14d9ab2a0ae82109887abce5e44c933f7d1
@@ -0,0 +1,34 @@
+
+c java:S112"FDefine and throw a dedicated exception instead of using a generic one.(81
+
+java:S2629"\Invoke method(s) only conditionally. Use the built-in formatting to construct this argument.(ӫ81
+z
+java:S2629"\Invoke method(s) only conditionally. Use the built-in formatting to construct this argument.(81
+y
+java:S2629"\Invoke method(s) only conditionally. Use the built-in formatting to construct this argument.(~81
+^ java:S125"").(
+t java:S120"ZRename this package name to match the regular expression '^[a-z_]+(\.[a-z_][a-z0-9_]*)*$'.(ڎ
+] java:S125"").(ìИ
+f
+java:S1301j"KReplace this "switch" statement by "if" statements to increase readability.(
+t java:S120"ZRename this package name to match the regular expression '^[a-z_]+(\.[a-z_][a-z0-9_]*)*$'.(ڎ
+H
+java:S1128"+Remove this unused import 'java.util.Date'.(8֟1
\ No newline at end of file
diff --git a/.idea/sonarlint/issuestore/d/c/dc1f1f9911af62b7698a7cd29b083756ad4812d1 b/.idea/sonarlint/issuestore/d/c/dc1f1f9911af62b7698a7cd29b083756ad4812d1
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/issuestore/d/c/dcc0570c4fa2f2501e79dead2f751b468c3983fa b/.idea/sonarlint/issuestore/d/c/dcc0570c4fa2f2501e79dead2f751b468c3983fa
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/issuestore/d/d/dd8dbe607a1a830ee0d8b4dcba8a15d72431203c b/.idea/sonarlint/issuestore/d/d/dd8dbe607a1a830ee0d8b4dcba8a15d72431203c
new file mode 100644
index 0000000..83c3463
--- /dev/null
+++ b/.idea/sonarlint/issuestore/d/d/dd8dbe607a1a830ee0d8b4dcba8a15d72431203c
@@ -0,0 +1,10 @@
+
+|
+java:S2293"YReplace the type specification in this constructor call with the diamond operator ("<>").(ǟ8ռ1
+{ java:S120"ZRename this package name to match the regular expression '^[a-z_]+(\.[a-z_][a-z0-9_]*)*$'.(ڎ8ݼ1
+K
+java:S4274"(Replace this assert with a proper check.(8Ĉ1
+W
+java:S1128"5Remove this unused import 'com.bestvike.IComparison'.(8̬1
+R
+java:S1128"0Remove this unused import 'java.time.LocalDate'.(8̬1
\ No newline at end of file
diff --git a/.idea/sonarlint/issuestore/e/4/e4c8547fea590d62d311ca1801c0af15ea4e55d1 b/.idea/sonarlint/issuestore/e/4/e4c8547fea590d62d311ca1801c0af15ea4e55d1
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/issuestore/e/4/e4e61236436ca99ec29d7543729e1f083c2ef963 b/.idea/sonarlint/issuestore/e/4/e4e61236436ca99ec29d7543729e1f083c2ef963
new file mode 100644
index 0000000..6c5346d
--- /dev/null
+++ b/.idea/sonarlint/issuestore/e/4/e4e61236436ca99ec29d7543729e1f083c2ef963
@@ -0,0 +1,3 @@
+
+6
+java:S1700"Rename field "announcement"(ᴲ
\ No newline at end of file
diff --git a/.idea/sonarlint/issuestore/e/5/e5781b8bbc743fa991b8bd0046ce0c7f15f63420 b/.idea/sonarlint/issuestore/e/5/e5781b8bbc743fa991b8bd0046ce0c7f15f63420
new file mode 100644
index 0000000..70cb909
--- /dev/null
+++ b/.idea/sonarlint/issuestore/e/5/e5781b8bbc743fa991b8bd0046ce0c7f15f63420
@@ -0,0 +1,6 @@
+
+Q java:S1254"models/src/main/java/com/haitongauto/models/dto/Responser.java,5\2\522622afc08710b7f989181f0f25379fd1c4bd1b
+v
+Fmodels/src/main/java/com/haitongauto/models/dto/RecAndDepExcelDto.java,c\9\c9d6cd3d50b7922513c00811b7df002635f44f44
+t
+Dmodels/src/main/java/com/haitongauto/models/dto/PunchClockQuery.java,c\2\c28bff92a75269941d02944e12083b6af8cd1cd1
+x
+Hmodels/src/main/java/com/haitongauto/models/dto/PalletTruckAndUsers.java,c\e\ce12f66d20f13fecf2397da6f42a56ab3d4bc88b
+j
+:models/src/main/java/com/haitongauto/models/dto/Pages.java,1\0\10e131269c0d4ab1e8920ac7a94e4e386444f346
+k
+;models/src/main/java/com/haitongauto/models/pojo/Users.java,7\2\7231050a42f37e4f398951711fef4b3765dbe4d8
+v
+Fmodels/src/main/java/com/haitongauto/models/dto/EnterPortTypeDtol.java,6\a\6af9bb595212996f1b813c556e2ac7dfd1211982
+u
+Emodels/src/main/java/com/haitongauto/models/dto/EnterPortTypeDto.java,5\2\5259da10055c04b91c33a6b6ae5e24c09271bbcd
+l
+models/src/main/java/com/haitongauto/models/ido/CommonRes.java,c\b\cb1e1cd5577ffb90e63facf614cd42bf51f7b26e
+p
+@models/src/main/java/com/haitongauto/models/ido/CustomerRes.java,7\a\7abd16babf14d9fa1ae25d2fa22eddd0caddfc55
+r
+Bmodels/src/main/java/com/haitongauto/models/ido/DictionaryIdo.java,1\5\156c6f058aee27104d0907d89253797415739dae
+s
+Cmodels/src/main/java/com/haitongauto/models/ido/PicturePathIdo.java,5\2\521663a42c054bc9903df08ee67bdd2a105b4bf1
+q
+Amodels/src/main/java/com/haitongauto/models/ido/PortAreasIdo.java,2\a\2a5e9fa9ef1dcbcf7eec37eb6362a79dd0e00f85
+u
+Emodels/src/main/java/com/haitongauto/models/ido/RecAndDepInfoIdo.java,7\a\7a1d78e2a987dc3278f199862286a8b68eec46d6
+o
+?models/src/main/java/com/haitongauto/models/ido/ShipVoyIdo.java,0\9\09ac29b4fea6e1f24aa4be22ae787e0efb579d90
+{
+Kmodels/src/main/java/com/haitongauto/models/ido/receiving/RecDetailIdo.java,a\a\aa2e1cb978aab2251463d0674d2baae6ec556c19
+
+Xmodels/src/main/java/com/haitongauto/models/ido/receiving/pc/ReceivingVehicleIdo_pc.java,8\a\8ad0ea90c05be3054f0a5b889fe105fc0a4a90c0
+
+[models/src/main/java/com/haitongauto/models/ido/receiving/pc/ReceivingVehicleIdoPar_pc.java,4\4\44dec5157542711ea25530708c1d38d5cbe97fad
+v
+Fwx-applet/src/main/java/com/haitongauto/rtosac/api/HomeController.java,a\6\a66542386621b0651ee5ab09619c82dd483ec0d2
+y
+Iwx-applet/src/main/java/com/haitongauto/rtosac/api/VehicleController.java,3\7\3700e013a24e08955175b7280c8fa4233cee312e
+t
+Dmapper/src/main/java/com/haitongauto/mapper/base/DataBaseMapper.java,f\3\f3b6b5654904d33be31b224ec2bf7b395f79331f
+x
+Hmapper/src/main/java/com/haitongauto/mapper/base/AnnouncementMapper.java,1\f\1fb5c1491389594e87f8ee9a5b75f1ea27c74de1
+
+Omapper/src/main/java/com/haitongauto/mapper/client/AppointmentExtendMapper.java,b\5\b578c41883acffa425a67c02bbd31e4c8398a853
+p
+@utils/src/main/java/com/haitongauto/utils/check/CheckHelper.java,0\d\0d107ccf0ed795b2fb26f8a847b7c13e9360cff2
+j
+:utils/src/main/java/com/haitongauto/utils/GetDateTime.java,8\a\8a7dfdebb2716a276873f69d883ce547dab1f6bd
+m
+=utils/src/main/java/com/haitongauto/utils/DateTimeHelper.java,5\2\52fcbebdac6ff550f93e24ad2aba3cf6d7efcfe9
+k
+;utils/src/main/java/com/haitongauto/utils/StringHelper.java,b\5\b5525c4ebb3da3542efa256aa4cca962fc679091
+g
+7utils/src/main/java/com/haitongauto/utils/IpHelper.java,e\f\ef098c7c485ac997617bbc457a175928c069c6c0
+w
+Gmodels/src/main/java/com/haitongauto/models/pojo/AppointmentDetail.java,c\5\c55ab5831e4867b0325662dce3b7db33595af7c3
+
+Rwx-applet-admin/src/main/java/com/haitongauto/rtosam/api/admin/HomeController.java,2\c\2c2c02739b69b20b0c2ff13ef4265bca59f39474
+
+^wx-applet-admin/src/main/java/com/haitongauto/rtosam/api/admin/AppointmentAdminController.java,2\6\26ae74fa1fe3842549b5a4291dec450e1acea0c9
+}
+Mmapper/src/main/java/com/haitongauto/mapper/admin/AppointmentAdminMapper.java,4\2\42bb73a68079b455c363aad1d82bea756cc57d0c
+{
+Kmapper/src/main/java/com/haitongauto/mapper/base/ReceivingDetailMapper.java,6\2\626f20137714061be9e6392fd8e3c22eee147128
+
+Uutils/src/main/java/com/haitongauto/utils/excel/ExcelCustomCellWriteHeightConfig.java,0\7\07051bcaea53143a061ed9c2edac258768902de0
+
+_wx-applet-admin/src/main/java/com/haitongauto/rtosam/service/admin/AppointmentAdminService.java,1\7\1733d5b36f754e2412774a7527c7b18aa2415ce7
+
+hwx-applet-admin/src/main/java/com/haitongauto/rtosam/service/admin/Impl/AppointmentAdminServiceImpl.java,8\4\8422b405f71e577173de091ebfe248cebb67070b
+G
+wx-applet/wx-applet.iml,9\e\9e28d5f36a23a5fa8f661a5a5f22f24aac884f01
+}
+Mwx-applet/src/main/java/com/haitongauto/rtosac/service/impl/ResponseImpl.java,4\b\4b08af7be9060fdf6b93fd39a56ef633727219c0
+
+]wx-applet-admin/src/main/java/com/haitongauto/rtosam/api/admin/PunchClockAdminController.java,d\3\d3dd7a9002b7e1fcc6f240cec23c161c076f227b
+w
+Gwx-applet/src/main/java/com/haitongauto/rtosac/service/MineService.java,3\f\3f1ddcc5ef9553486466d44744f2c4867268752e
+w
+Gwx-applet/src/main/java/com/haitongauto/rtosac/service/HomeService.java,e\a\ea041f3c5969653c3d48daeae45af2629387adfd
+
+Pwx-applet/src/main/java/com/haitongauto/rtosac/service/impl/HomeServiceImpl.java,a\4\a46601740fc27816ec9c0f2118b7d355d923c031
+
+_wx-applet-admin/src/main/java/com/haitongauto/rtosam/api/admin/AnnouncementAdminController.java,e\9\e9da29b40f64fc6632e1d502c09fc6eac01109a6
+
+[wx-applet-admin/src/main/java/com/haitongauto/rtosam/api/admin/FeedbackAdminController.java,6\e\6ed0de150cb3a0a4b0f9a52facab76c62079bb0c
+
+Xwx-applet-admin/src/main/java/com/haitongauto/rtosam/api/admin/UsersAdminController.java,d\7\d7da65aa96a6b038f17f1b89c5bb0054ec1e79a4
+
+Zwx-applet-admin/src/main/java/com/haitongauto/rtosam/api/admin/VehicleAdminController.java,9\a\9a82a007d1b17eec05ac2815a4ea24f654e09fbf
+
+fwx-applet-admin/src/main/java/com/haitongauto/rtosam/api/admin/OperateIntroductionAdminController.java,6\6\66f6b2589f2c5b48652c67fafb95b6afd1d29165
+
+^wx-applet-admin/src/main/java/com/haitongauto/rtosam/service/admin/PunchClockAdminService.java,8\6\866af0b7c502fe8c31bd4ce14780e086e7e50f3f
+z
+Jinterfaces/src/main/java/com/haitongauto/interfaces/PortAreaInterface.java,9\f\9fcd429f991847fbd7bb8e8a1b578c1ef5422231
+
+Rinterfaces/src/main/java/com/haitongauto/interfaces/ReceivingVehicleInterface.java,b\8\b8dd1f762e69c42310e569148062705e4d6528d4
+v
+Finterfaces/src/main/java/com/haitongauto/interfaces/UserInterface.java,b\d\bd6da8f46e949561b6004acabd106865d89be46c
+
+Wwx-applet-admin/src/main/java/com/haitongauto/rtosam/service/admin/ResponseService.java,d\a\dabc03b0b817506ac9491d3a4b95fdb2b0c81219
+
+`wx-applet-admin/src/main/java/com/haitongauto/rtosam/service/admin/Impl/ResponseServiceImpl.java,f\d\fd310366a95bfbda8aa1a8704da7d616ce1f84c3
+
+Qinterfaces/src/main/java/com/haitongauto/interfaces/CustomerServiceInterface.java,5\e\5e8ef080274a75b28de2c0901fa0f3649c647fed
+
+Rinterfaces/src/main/java/com/haitongauto/interfaces/DepartureVehicleInterface.java,a\3\a3ca57f737a8d6800a4dc32c7d4acc802a1182aa
+
+Ointerfaces/src/main/java/com/haitongauto/interfaces/EnterPortTypeInterface.java,f\c\fc82c2d8ecc91cb055baf3f114c2726b6161e154
+D
+wx-applet/Dockerfile,b\3\b353dd728f445fe385d9b33b543dc45b2855cb04
+I
+wx-applet/Dockerfile.back,2\4\24074d8118161a65052812b0d243e618c80a4e39
+J
+wx-applet-admin/Dockerfile,d\0\d0eadf40a25521d94f9b5c528d662df2143a8a38
+O
+wx-applet-admin/Dockerfile.back,0\4\049bb44af43c96db0fc5d5321b3f03f00f778d83
+S
+#wx-applet-admin/wx-applet-admin.iml,e\d\ed67ff062e69655340af09073fad56c12b37d548
+~
+Nmapper/src/main/java/com/haitongauto/mapper/client/PunchClockExtendMapper.java,b\9\b9fe225e887d887154fb0c72e585ab632c0beb05
+m
+=utils/src/main/java/com/haitongauto/utils/FormatDateTime.java,3\4\344be59346cd720be955796cc9a1e822b5c5a84d
+o
+?utils/src/main/java/com/haitongauto/utils/minio/MinioUtils.java,4\c\4cafe1c2d1c49c5eb90f6fbe58b990423fa48259
+m
+=utils/src/main/java/com/haitongauto/utils/HtmlToPdfUtils.java,4\e\4eab802fc712a33e409679d16a34c95b806430be
+k
+;utils/src/main/java/com/haitongauto/utils/HttpTemplate.java,5\b\5b1c7ae3383dee10fd56972aead6f1b9a8b78117
+i
+9utils/src/main/java/com/haitongauto/utils/CorsConfig.java,3\4\34dc4512973769cc4cc0622057d48a763c5eac93
+u
+Ewx-applet/src/main/java/com/haitongauto/rtosac/ApplicationApplet.java,1\7\17a5dd26efa1e5aaaa4017af8d50f121203f7559
+=
+
utils/pom.xml,b\4\b443d893d253b1e877e7d0b892ce39fa6694156e
+
+Sinterfaces/src/main/java/com/haitongauto/interfaces/impl/PortAreaInterfaceImpl.java,5\7\57ef69688cf2cc8a1c307723d263f79c60b6cce9
+
+Omodels/src/main/java/com/haitongauto/models/dto/open/YardGoodsStateRespDTO.java,f\9\f9a5c95dbb13098313489de4e090ec23074ae101
+u
+Einterfaces/src/main/java/com/haitongauto/interfaces/YardOrderApi.java,3\9\39e1124bdddd8493c62c88565e75c30d93a8afbb
+v
+Fmodels/src/main/java/com/haitongauto/models/ido/login/UserInfoRes.java,1\2\126aa63e0002cfc2698255f08bd1046475f26c7a
+m
+=models/src/main/java/com/haitongauto/models/res/Response.java,8\1\812600573f589b49dcca5bed3e4258409ba8e132
+q
+Amapper/src/main/java/com/haitongauto/mapper/base/TruckMapper.java,c\7\c7411391552907e13d44b4536905e9c072f71fd8
+x
+Hwx-applet/src/main/java/com/haitongauto/rtosac/service/UsersService.java,1\c\1cd81cc55241f643276c5c5b61880b794c97c7ea
+
+Qwx-applet/src/main/java/com/haitongauto/rtosac/service/impl/UsersServiceImpl.java,7\0\706d6ac05e56bcbb6cd2669b7799d097d4ef22d7
+y
+Imapper/src/main/java/com/haitongauto/mapper/client/TruckExtendMapper.java,4\a\4a0c5ee06c513346fe6a46bccabc8ac0a35404d6
+r
+Bmodels/src/main/java/com/haitongauto/models/forward/vinDetail.java,1\e\1e38dcce5296f41f50bbc9251245f1fe0b7e91d6
+r
+Bmodels/src/main/java/com/haitongauto/models/forward/VinDetail.java,2\7\275704944fc0df22c0954cc23ed1d1df76010c31
+w
+Gmodels/src/main/java/com/haitongauto/models/forward/AppointForward.java,d\0\d03e76a59136a14fa8066c2c8ef504695396ecbc
+z
+Jwx-applet/src/main/java/com/haitongauto/rtosac/service/ForwardService.java,4\c\4c508532a867c4917781ef2cdbcf6f473513d834
+
+Swx-applet/src/main/java/com/haitongauto/rtosac/service/impl/ForwardServiceImpl.java,3\5\35facb9bc8a8209fae0ce1c89795e1d2c3ad6f47
+s
+Cmodels/src/main/java/com/haitongauto/models/forward/ForwardRes.java,9\e\9e382d895f27c6be6149fb9edd7006a4f8cc7620
+q
+Amapper/src/main/java/com/haitongauto/mapper/base/UsersMapper.java,3\e\3eb8b616fad63949baf9cc19039edc1d7f82fbe7
+o
+?utils/src/main/java/com/haitongauto/utils/FileDownloadUtil.java,a\a\aab4e028f1387b6217509a1f10c4af85d868df89
+x
+Hutils/src/main/java/com/haitongauto/utils/excel/ExcelGenerateHelper.java,0\2\02552c865807b6ec5b5810ff26d464634c64a560
+U
+%utils/src/test/java/QueueNumTest.java,e\8\e8d3dc3aeb5336ee4266b13e6c4e9034582ba9eb
+j
+:utils/src/main/java/com/haitongauto/utils/HttpRequest.java,8\b\8ba93fd608aa62c944f13fe1337cca54c59d43d0
+o
+?utils/src/main/java/com/haitongauto/utils/HttpClientHelper.java,7\5\7511e7d76e8d754bc61a8f2186013fde126f564c
+h
+8utils/src/main/java/com/haitongauto/utils/PostFiles.java,9\2\9243dcee6b275da145701708ff1768f9c298cb84
+p
+@utils/src/main/java/com/haitongauto/utils/QueueNumberHelper.java,8\6\861df28e089bf03fd61a50deaa57aa52b75d70ab
+t
+Dutils/src/main/java/com/haitongauto/utils/WaterMarkEventHandler.java,a\4\a41a0f3de065819c40a00cee182318530cebbf11
+r
+Bmodels/src/main/java/com/haitongauto/models/forward/UserTruck.java,1\0\1031dfb90767be9b19f80572dbc868398993532b
+
+gwx-applet-admin/src/main/java/com/haitongauto/rtosam/service/admin/Impl/PunchClockAdminServiceImpl.java,1\b\1b39f29d91549482d3e99c960fcab1aa3d87a37d
+x
+Hmodels/src/main/java/com/haitongauto/models/dto/AppointmentQueryExl.java,7\6\761978438f0f5b365291ef3872983e6d3bf6ae02
+w
+Gmodels/src/main/java/com/haitongauto/models/dto/PunchClockQueryExl.java,5\3\5344ba1309e1ad61186e77dc5c9be2de961e7f3e
+l
+
+models/pom.xml,a\7\a76b7ecd8dc2819b23a9678a9b3d2e5e7dc36fa5
+s
+Cmapper/src/main/java/com/haitongauto/mapper/base/MessageMapper.java,a\2\a268dac00f64471c56dfb0ef6a08b1c8d1ecc12d
+o
+?utils/src/main/java/com/haitongauto/utils/http/OkHttpUtils.java,e\9\e9eafbe6e2e2836bde50278c48b9c79bcb246fc1
+>
+mapper/pom.xml,e\9\e985cf73db6324fa0722a8c875f2f24ce0391c0a
+
+Swx-applet-admin/src/main/java/com/haitongauto/rtosam/service/base/TruckService.java,6\b\6b3cde8e18f577fca3fed4d413342f265dd13e42
+y
+Imapper/src/main/java/com/haitongauto/mapper/client/OtherExtendMapper.java,3\d\3da307280257f054bd1652efa59aa4f1173041e5
+B
+interfaces/pom.xml,4\8\48324963d3a7713c46a9f15dc2d8a4c86d3a5d6b
+
+Zinterfaces/src/main/java/com/haitongauto/interfaces/impl/CustomerServiceInterfaceImpl.java,1\4\14aeff4fce48685d3598dfbcf1eae75b82fb5477
+~
+Ninterfaces/src/main/java/com/haitongauto/interfaces/impl/DicInterfaceImpl.java,e\5\e5781b8bbc743fa991b8bd0046ce0c7f15f63420
+
+Ointerfaces/src/main/java/com/haitongauto/interfaces/impl/UserInterfaceImpl.java,8\6\8628db2549484dbdd00145562e002d2ee77b42c3
+u
+Einterfaces/src/main/java/com/haitongauto/interfaces/DicInterface.java,e\8\e813c9c7bd99f184ef22975d73e311436a757608
+~
+Nmapper/src/main/java/com/haitongauto/mapper/admin/AnnouncementAdminMapper.java,3\f\3f4475aad362936926bbad1ab4d43cf9e7e0873c
+z
+Jwx-applet/src/main/java/com/haitongauto/rtosac/service/VehicleService.java,a\b\abcf7453e343e44ae1a7959e070e055ee13093bd
+
+Swx-applet/src/main/java/com/haitongauto/rtosac/service/impl/VehicleServiceImpl.java,1\c\1c0383ad33f4617d618e9c59d8593b1f2694df4a
+
+[interfaces/src/main/java/com/haitongauto/interfaces/impl/ReceivingVehicleInterfaceImpl.java,6\3\63add82a11c5f1e898e80ac2c05d620f0345baab
+
+Xinterfaces/src/main/java/com/haitongauto/interfaces/impl/EnterPortTypeInterfaceImpl.java,f\1\f11b11e3f6265dd1f67695f77b3bf80dd2df9632
+|
+Lwx-applet/src/main/java/com/haitongauto/rtosac/api/HeathCheckController.java,3\d\3db16e808cfe24b699714e3351777bd77e426371
+
+Rwx-applet-admin/src/main/java/com/haitongauto/rtosam/api/HeathCheckController.java,0\3\03365aaf47b880ef9296a2b4a0f51418666baecb
+|
+Lmapper/src/main/java/com/haitongauto/mapper/admin/PunchClockAdminMapper.java,9\9\998f76a50dcec8f863d17c203b2e9ee77961304d
+
+Wwx-applet-admin/src/main/java/com/haitongauto/rtosam/api/base/PunchClockController.java,2\2\22ada3eb1ec4228158fd2930a7fa966d0c270387
+m
+=models/src/main/java/com/haitongauto/models/pojo/Message.java,a\8\a80268239bd2b8d87d7a7b28cb38e31c165b01bb
+?
+utils/utils.iml,a\0\a0e6938413f3b712a040abfebb3c34a812681dd1
+n
+>models/src/main/java/com/haitongauto/models/pojo/Feedback.java,e\4\e4c8547fea590d62d311ca1801c0af15ea4e55d1
+s
+Cmodels/src/main/java/com/haitongauto/models/pojo/EntryInstruct.java,6\1\61d60b5ba46d1d99530270d490155d0fa3810a3f
+
+Xmodels/src/main/java/com/haitongauto/models/ido/departure/pc/DepartureVehicleIdo_pc.java,9\9\99a80c8be79b3d5d1098adf8ceb8d3413d724c5d
+
+[models/src/main/java/com/haitongauto/models/ido/departure/pc/DepartureVehicleIdoPar_pc.java,c\1\c1b176e6cbf46c788228f7ffb0eaccf7e5a20545
+~
+Nmodels/src/main/java/com/haitongauto/models/ido/login/UserAuthResponseDto.java,9\0\90be60628252961d421ae0a0c39008012d3526f5
+
+Umodels/src/main/java/com/haitongauto/models/ido/login/UserLoginOrRegisterRequest.java,b\d\bde4a1ea7861074c176a2928deac75511caedb1c
+
+Vmodels/src/main/java/com/haitongauto/models/ido/login/UserLoginOrRegisterResponse.java,5\e\5e43b04831a4b91143e0719786965f41e6694d96
+s
+Cmodels/src/main/java/com/haitongauto/models/ido/login/UsersIdo.java,6\9\692e74812198845f3bd7983d41084ab9e71ca79d
+
+Umodels/src/main/java/com/haitongauto/models/ido/receiving/ReceivingDetailIdo_DTO.java,8\6\861b0d4ad0b78e1cd01fa6419cb42e940476130a
+v
+Fmodels/src/main/java/com/haitongauto/models/pojo/DepartureVehicle.java,a\d\ad83cca623ee8401ce239080ecc0b2ee4d3fa84a
+n
+>models/src/main/java/com/haitongauto/models/pojo/PortArea.java,3\2\32123655e531e992d484916703aba6155a48cee9
+|
+Lmodels/src/main/java/com/haitongauto/models/dto/CurrentDayPunchClockDto.java,f\5\f5589f62afe6013088cf015ae9b52eddfa9e25b4
+o
+?utils/src/main/java/com/haitongauto/utils/PageEventHandler.java,d\3\d3a5711ad314d077d45d0c9c3014fe5fdcac2502
+g
+7utils/src/main/java/com/haitongauto/utils/PdfUtils.java,b\4\b45321aa378c843f0d55ff000a07f8c03420b9d0
+n
+>utils/src/main/java/com/haitongauto/utils/minio/MinioProp.java,4\6\465f2034cc17c32d6a30777d7e04f87b683459aa
+
+Tutils/src/main/java/com/haitongauto/utils/excel/ExcelCustomCellWriteWidthConfig.java,5\7\57a104bad0e2a5230067ed5fe37f732e8511e3d9
+G
+wx-applet-admin/pom.xml,a\a\aadd201f0c409bc7d0e4ef2cd83bfb3b41f0d379
+|
+Lmapper/src/main/java/com/haitongauto/mapper/admin/StatisticsAdminMapper.java,5\1\51f232a03c91ecf408cae7ec02f8e8052e1fff51
+
+Ywx-applet-admin/src/main/java/com/haitongauto/rtosam/service/admin/UsersAdminService.java,a\f\afa7c2f5cb8a8497f3d8aeea95b5b917a383cd8a
+
+bwx-applet-admin/src/main/java/com/haitongauto/rtosam/service/admin/Impl/UsersAdminServiceImpl.java,d\6\d67925b000a9627ea409ca73cb2c5b2f2675ebbd
+
+\wx-applet-admin/src/main/java/com/haitongauto/rtosam/service/admin/FeedbackAdminService.java,7\b\7b7de6a4f762588c2d559fc055c20448b508eb0e
+
+ewx-applet-admin/src/main/java/com/haitongauto/rtosam/service/admin/Impl/FeedbackAdminServiceImpl.java,8\1\8129d52b3fa104f7239e2157f6732c74087a3281
+z
+Jmapper/src/main/java/com/haitongauto/mapper/admin/FeedbackAdminMapper.java,8\e\8ee32f67ee6ac86794f79f76189265af208ceadc
+
+`wx-applet-admin/src/main/java/com/haitongauto/rtosam/service/admin/AnnouncementAdminService.java,d\9\d9f03fb6a0777c141ecfa42fdb8b690a8f45dd59
+
+iwx-applet-admin/src/main/java/com/haitongauto/rtosam/service/admin/Impl/AnnouncementAdminServiceImpl.java,d\b\db80f908a66f4457149cd9422102aaa883d18281
+
+owx-applet-admin/src/main/java/com/haitongauto/rtosam/service/admin/Impl/NoviceIntroductionAdminServiceImpl.java,7\1\7100b8e117eacbb7250edf0e635a6aa2da591e97
+
+awx-applet-admin/src/main/java/com/haitongauto/rtosam/service/admin/Impl/TableHeadServiceImpl.java,8\8\8846299f08e330dca499515700b3b11f842be26e
+
+]wx-applet-admin/src/main/java/com/haitongauto/rtosam/service/admin/Impl/ToPdfServiceImpl.java,b\7\b7b5bc76d283c3e8a4cefbee06f32df3cf51827f
+o
+?mapper/src/main/java/com/haitongauto/mapper/base/DicMapper.java,9\e\9efeefc3a4b815b9276d69b40c9b8e08d9a1eede
+
+Swx-applet-admin/src/main/java/com/haitongauto/rtosam/service/base/UsersService.java,4\a\4a1273075dee9ac0e34f940628297d5e0ecb8780
+w
+Gmodels/src/main/java/com/haitongauto/models/valid/cus/ValidRequest.java,f\5\f52e7de51f7eb3627f38fa42a817aae81eab2422
+t
+Dwx-applet/src/main/java/com/haitongauto/rtosac/fangdou/Debounce.java,8\3\8381977011115c09e09fbf688c8cab7baaaa5f2d
+}
+Mwx-applet/src/main/java/com/haitongauto/rtosac/fangdou/DebounceInterface.java,8\e\8ecb10f6a935309e4e267c9aabd031820f0bdf42
+i
+9models/src/main/java/com/haitongauto/models/pojo/Dic.java,e\b\eb649a8fce1a69f7a9bcdbaa4d273533cce7cec9
+n
+>models/src/main/java/com/haitongauto/models/open/TruckIdo.java,9\e\9e91b136fd2545a7b734d0177dc2f545fe13ac60
+w
+Gwx-applet/src/main/java/com/haitongauto/rtosac/service/NewsService.java,0\c\0c82535029e7f53ef773c6f92d1d9f8141cd8704
+
+Pwx-applet/src/main/java/com/haitongauto/rtosac/service/impl/NewsServiceImpl.java,d\4\d4f0f0cecf6b295a27ccf0618333c718280752dd
+
+Twx-applet-admin/src/main/java/com/haitongauto/rtosam/api/admin/TbHeadController.java,6\9\69e24b5668f9e9efd0e362ba526745c473c91a1e
+
+Zwx-applet-admin/src/main/java/com/haitongauto/rtosam/api/base/AnnouncementsController.java,b\c\bc527329dbf7cc7d4ce848bc8078e6e415a3fed4
+
+Xwx-applet-admin/src/main/java/com/haitongauto/rtosam/api/base/AppointmentController.java,6\8\68ba2261a127973f1ae3b918d3f9e06a4a4762bd
+
+_wx-applet-admin/src/main/java/com/haitongauto/rtosam/api/base/NoviceIntroductionController.java,1\f\1f0a616a99b0f5ac286f90a69671caa063caa581
+
+Rwx-applet-admin/src/main/java/com/haitongauto/rtosam/api/base/TruckController.java,d\a\da4100f3fc4a1131c8a18930a4a3b8f0a4ce2c1c
+
+Rwx-applet-admin/src/main/java/com/haitongauto/rtosam/api/base/UsersController.java,a\8\a8f14b3063fe6f65ce81aaad67342427ba595c78
+
+\wx-applet-admin/src/main/java/com/haitongauto/rtosam/api/base/TruckManagementController.java,7\8\78aa76e42b5ad97c470991c86d33217b8d3b8219
\ No newline at end of file
diff --git a/.idea/sonarlint/securityhotspotstore/0/1/01bef5372279668ac8ad0c35b87e3a653ce8f2c6 b/.idea/sonarlint/securityhotspotstore/0/1/01bef5372279668ac8ad0c35b87e3a653ce8f2c6
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/0/2/02552c865807b6ec5b5810ff26d464634c64a560 b/.idea/sonarlint/securityhotspotstore/0/2/02552c865807b6ec5b5810ff26d464634c64a560
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/0/3/03365aaf47b880ef9296a2b4a0f51418666baecb b/.idea/sonarlint/securityhotspotstore/0/3/03365aaf47b880ef9296a2b4a0f51418666baecb
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/0/4/049bb44af43c96db0fc5d5321b3f03f00f778d83 b/.idea/sonarlint/securityhotspotstore/0/4/049bb44af43c96db0fc5d5321b3f03f00f778d83
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/0/4/04d19f8af3f3c6c524840d25c1d26fdc2b077a1f b/.idea/sonarlint/securityhotspotstore/0/4/04d19f8af3f3c6c524840d25c1d26fdc2b077a1f
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/0/6/069f7c428d56fa42a308d1fe5d94524ab86cb43e b/.idea/sonarlint/securityhotspotstore/0/6/069f7c428d56fa42a308d1fe5d94524ab86cb43e
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/0/6/06e7380bb6b9fbc0029ad605e87b9f0962263513 b/.idea/sonarlint/securityhotspotstore/0/6/06e7380bb6b9fbc0029ad605e87b9f0962263513
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/0/7/07051bcaea53143a061ed9c2edac258768902de0 b/.idea/sonarlint/securityhotspotstore/0/7/07051bcaea53143a061ed9c2edac258768902de0
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/0/9/09ac29b4fea6e1f24aa4be22ae787e0efb579d90 b/.idea/sonarlint/securityhotspotstore/0/9/09ac29b4fea6e1f24aa4be22ae787e0efb579d90
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/0/b/0b7c5d56178fd8495bc11ba706c09af64e3a924f b/.idea/sonarlint/securityhotspotstore/0/b/0b7c5d56178fd8495bc11ba706c09af64e3a924f
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/0/c/0c82535029e7f53ef773c6f92d1d9f8141cd8704 b/.idea/sonarlint/securityhotspotstore/0/c/0c82535029e7f53ef773c6f92d1d9f8141cd8704
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/0/d/0d107ccf0ed795b2fb26f8a847b7c13e9360cff2 b/.idea/sonarlint/securityhotspotstore/0/d/0d107ccf0ed795b2fb26f8a847b7c13e9360cff2
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/0/e/0ecab55c43e84d4d750af1786d7d63ae83930073 b/.idea/sonarlint/securityhotspotstore/0/e/0ecab55c43e84d4d750af1786d7d63ae83930073
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/0/f/0f918f0335747bb03c936803d0383e01ea26af4d b/.idea/sonarlint/securityhotspotstore/0/f/0f918f0335747bb03c936803d0383e01ea26af4d
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/1/0/1031dfb90767be9b19f80572dbc868398993532b b/.idea/sonarlint/securityhotspotstore/1/0/1031dfb90767be9b19f80572dbc868398993532b
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/1/0/10e131269c0d4ab1e8920ac7a94e4e386444f346 b/.idea/sonarlint/securityhotspotstore/1/0/10e131269c0d4ab1e8920ac7a94e4e386444f346
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/1/2/126aa63e0002cfc2698255f08bd1046475f26c7a b/.idea/sonarlint/securityhotspotstore/1/2/126aa63e0002cfc2698255f08bd1046475f26c7a
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/1/4/14aeff4fce48685d3598dfbcf1eae75b82fb5477 b/.idea/sonarlint/securityhotspotstore/1/4/14aeff4fce48685d3598dfbcf1eae75b82fb5477
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/1/5/156c6f058aee27104d0907d89253797415739dae b/.idea/sonarlint/securityhotspotstore/1/5/156c6f058aee27104d0907d89253797415739dae
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/1/7/1733d5b36f754e2412774a7527c7b18aa2415ce7 b/.idea/sonarlint/securityhotspotstore/1/7/1733d5b36f754e2412774a7527c7b18aa2415ce7
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/1/7/17a5dd26efa1e5aaaa4017af8d50f121203f7559 b/.idea/sonarlint/securityhotspotstore/1/7/17a5dd26efa1e5aaaa4017af8d50f121203f7559
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/1/a/1a25fb2226d431d3137611d7dc73b25dc1203279 b/.idea/sonarlint/securityhotspotstore/1/a/1a25fb2226d431d3137611d7dc73b25dc1203279
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/1/a/1ad36e648c327da69d991b22a299b927cb3d5f3d b/.idea/sonarlint/securityhotspotstore/1/a/1ad36e648c327da69d991b22a299b927cb3d5f3d
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/1/b/1b39f29d91549482d3e99c960fcab1aa3d87a37d b/.idea/sonarlint/securityhotspotstore/1/b/1b39f29d91549482d3e99c960fcab1aa3d87a37d
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/1/c/1c0383ad33f4617d618e9c59d8593b1f2694df4a b/.idea/sonarlint/securityhotspotstore/1/c/1c0383ad33f4617d618e9c59d8593b1f2694df4a
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/1/c/1c54f0e2fd4b13924b84792410719af9f35dc231 b/.idea/sonarlint/securityhotspotstore/1/c/1c54f0e2fd4b13924b84792410719af9f35dc231
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/1/c/1cd81cc55241f643276c5c5b61880b794c97c7ea b/.idea/sonarlint/securityhotspotstore/1/c/1cd81cc55241f643276c5c5b61880b794c97c7ea
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/1/d/1dfd7bb56827f7cac04a40b35b84ebbeac3d2508 b/.idea/sonarlint/securityhotspotstore/1/d/1dfd7bb56827f7cac04a40b35b84ebbeac3d2508
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/1/e/1e38dcce5296f41f50bbc9251245f1fe0b7e91d6 b/.idea/sonarlint/securityhotspotstore/1/e/1e38dcce5296f41f50bbc9251245f1fe0b7e91d6
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/1/f/1f0a616a99b0f5ac286f90a69671caa063caa581 b/.idea/sonarlint/securityhotspotstore/1/f/1f0a616a99b0f5ac286f90a69671caa063caa581
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/1/f/1fb5c1491389594e87f8ee9a5b75f1ea27c74de1 b/.idea/sonarlint/securityhotspotstore/1/f/1fb5c1491389594e87f8ee9a5b75f1ea27c74de1
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/2/2/22661b853b5d07909dc6bb6a60fccc02ae31a42e b/.idea/sonarlint/securityhotspotstore/2/2/22661b853b5d07909dc6bb6a60fccc02ae31a42e
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/2/2/22ada3eb1ec4228158fd2930a7fa966d0c270387 b/.idea/sonarlint/securityhotspotstore/2/2/22ada3eb1ec4228158fd2930a7fa966d0c270387
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/2/4/24074d8118161a65052812b0d243e618c80a4e39 b/.idea/sonarlint/securityhotspotstore/2/4/24074d8118161a65052812b0d243e618c80a4e39
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/2/5/2549059d19eda2e0c1abd71dd7d6a709c0f8cecb b/.idea/sonarlint/securityhotspotstore/2/5/2549059d19eda2e0c1abd71dd7d6a709c0f8cecb
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/2/6/26ae74fa1fe3842549b5a4291dec450e1acea0c9 b/.idea/sonarlint/securityhotspotstore/2/6/26ae74fa1fe3842549b5a4291dec450e1acea0c9
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/2/6/26c5a8f1abae607989bd986b2d8363a2364dfce3 b/.idea/sonarlint/securityhotspotstore/2/6/26c5a8f1abae607989bd986b2d8363a2364dfce3
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/2/7/275704944fc0df22c0954cc23ed1d1df76010c31 b/.idea/sonarlint/securityhotspotstore/2/7/275704944fc0df22c0954cc23ed1d1df76010c31
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/2/a/2a5e9fa9ef1dcbcf7eec37eb6362a79dd0e00f85 b/.idea/sonarlint/securityhotspotstore/2/a/2a5e9fa9ef1dcbcf7eec37eb6362a79dd0e00f85
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/2/c/2c2c02739b69b20b0c2ff13ef4265bca59f39474 b/.idea/sonarlint/securityhotspotstore/2/c/2c2c02739b69b20b0c2ff13ef4265bca59f39474
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/2/e/2ebbf045dda339e47654528523812112bc6f60f2 b/.idea/sonarlint/securityhotspotstore/2/e/2ebbf045dda339e47654528523812112bc6f60f2
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/3/2/32123655e531e992d484916703aba6155a48cee9 b/.idea/sonarlint/securityhotspotstore/3/2/32123655e531e992d484916703aba6155a48cee9
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/3/4/340b2e07e168e58e0b552e73134b21d58b625c95 b/.idea/sonarlint/securityhotspotstore/3/4/340b2e07e168e58e0b552e73134b21d58b625c95
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/3/4/344be59346cd720be955796cc9a1e822b5c5a84d b/.idea/sonarlint/securityhotspotstore/3/4/344be59346cd720be955796cc9a1e822b5c5a84d
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/3/4/34bb5122d56307769788316250c408bd2346636c b/.idea/sonarlint/securityhotspotstore/3/4/34bb5122d56307769788316250c408bd2346636c
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/3/4/34dc4512973769cc4cc0622057d48a763c5eac93 b/.idea/sonarlint/securityhotspotstore/3/4/34dc4512973769cc4cc0622057d48a763c5eac93
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/3/5/354e8944e920c135ed78284add3f1ac874a7d543 b/.idea/sonarlint/securityhotspotstore/3/5/354e8944e920c135ed78284add3f1ac874a7d543
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/3/5/35facb9bc8a8209fae0ce1c89795e1d2c3ad6f47 b/.idea/sonarlint/securityhotspotstore/3/5/35facb9bc8a8209fae0ce1c89795e1d2c3ad6f47
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/3/7/3700e013a24e08955175b7280c8fa4233cee312e b/.idea/sonarlint/securityhotspotstore/3/7/3700e013a24e08955175b7280c8fa4233cee312e
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/3/9/39e1124bdddd8493c62c88565e75c30d93a8afbb b/.idea/sonarlint/securityhotspotstore/3/9/39e1124bdddd8493c62c88565e75c30d93a8afbb
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/3/b/3b337a4b9045c8db82e789b3b788112469708ac6 b/.idea/sonarlint/securityhotspotstore/3/b/3b337a4b9045c8db82e789b3b788112469708ac6
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/3/d/3d4784d3d934e4bcaf7627fa5eb42376ac178a23 b/.idea/sonarlint/securityhotspotstore/3/d/3d4784d3d934e4bcaf7627fa5eb42376ac178a23
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/3/d/3da307280257f054bd1652efa59aa4f1173041e5 b/.idea/sonarlint/securityhotspotstore/3/d/3da307280257f054bd1652efa59aa4f1173041e5
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/3/d/3db16e808cfe24b699714e3351777bd77e426371 b/.idea/sonarlint/securityhotspotstore/3/d/3db16e808cfe24b699714e3351777bd77e426371
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/3/e/3eb8b616fad63949baf9cc19039edc1d7f82fbe7 b/.idea/sonarlint/securityhotspotstore/3/e/3eb8b616fad63949baf9cc19039edc1d7f82fbe7
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/3/f/3f1ddcc5ef9553486466d44744f2c4867268752e b/.idea/sonarlint/securityhotspotstore/3/f/3f1ddcc5ef9553486466d44744f2c4867268752e
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/3/f/3f4475aad362936926bbad1ab4d43cf9e7e0873c b/.idea/sonarlint/securityhotspotstore/3/f/3f4475aad362936926bbad1ab4d43cf9e7e0873c
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/4/2/42bb73a68079b455c363aad1d82bea756cc57d0c b/.idea/sonarlint/securityhotspotstore/4/2/42bb73a68079b455c363aad1d82bea756cc57d0c
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/4/3/43bad361c03f1010722863ec3b4bb5088e4f6e3f b/.idea/sonarlint/securityhotspotstore/4/3/43bad361c03f1010722863ec3b4bb5088e4f6e3f
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/4/4/442292b8a7efeabbe4cc176709b833b1792140ec b/.idea/sonarlint/securityhotspotstore/4/4/442292b8a7efeabbe4cc176709b833b1792140ec
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/4/5/45e2d6e3611f919f3f7faf1249a69cf1852e6079 b/.idea/sonarlint/securityhotspotstore/4/5/45e2d6e3611f919f3f7faf1249a69cf1852e6079
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/4/6/465f2034cc17c32d6a30777d7e04f87b683459aa b/.idea/sonarlint/securityhotspotstore/4/6/465f2034cc17c32d6a30777d7e04f87b683459aa
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/4/8/48324963d3a7713c46a9f15dc2d8a4c86d3a5d6b b/.idea/sonarlint/securityhotspotstore/4/8/48324963d3a7713c46a9f15dc2d8a4c86d3a5d6b
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/4/a/4a0c5ee06c513346fe6a46bccabc8ac0a35404d6 b/.idea/sonarlint/securityhotspotstore/4/a/4a0c5ee06c513346fe6a46bccabc8ac0a35404d6
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/4/a/4a1273075dee9ac0e34f940628297d5e0ecb8780 b/.idea/sonarlint/securityhotspotstore/4/a/4a1273075dee9ac0e34f940628297d5e0ecb8780
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/4/a/4aa036e9d687aad91b770f113810a70d5ea5fd24 b/.idea/sonarlint/securityhotspotstore/4/a/4aa036e9d687aad91b770f113810a70d5ea5fd24
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/4/b/4b02c39aa04219b07652f2eac679fd76efaa38b8 b/.idea/sonarlint/securityhotspotstore/4/b/4b02c39aa04219b07652f2eac679fd76efaa38b8
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/4/b/4b08af7be9060fdf6b93fd39a56ef633727219c0 b/.idea/sonarlint/securityhotspotstore/4/b/4b08af7be9060fdf6b93fd39a56ef633727219c0
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/4/b/4be7cfb4eb5983e456eb0e0191c0dc6e0f126f46 b/.idea/sonarlint/securityhotspotstore/4/b/4be7cfb4eb5983e456eb0e0191c0dc6e0f126f46
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/4/c/4c508532a867c4917781ef2cdbcf6f473513d834 b/.idea/sonarlint/securityhotspotstore/4/c/4c508532a867c4917781ef2cdbcf6f473513d834
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/4/c/4cafe1c2d1c49c5eb90f6fbe58b990423fa48259 b/.idea/sonarlint/securityhotspotstore/4/c/4cafe1c2d1c49c5eb90f6fbe58b990423fa48259
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/4/e/4eab802fc712a33e409679d16a34c95b806430be b/.idea/sonarlint/securityhotspotstore/4/e/4eab802fc712a33e409679d16a34c95b806430be
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/5/1/51f232a03c91ecf408cae7ec02f8e8052e1fff51 b/.idea/sonarlint/securityhotspotstore/5/1/51f232a03c91ecf408cae7ec02f8e8052e1fff51
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/5/2/521663a42c054bc9903df08ee67bdd2a105b4bf1 b/.idea/sonarlint/securityhotspotstore/5/2/521663a42c054bc9903df08ee67bdd2a105b4bf1
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/5/2/522622afc08710b7f989181f0f25379fd1c4bd1b b/.idea/sonarlint/securityhotspotstore/5/2/522622afc08710b7f989181f0f25379fd1c4bd1b
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/5/2/5259da10055c04b91c33a6b6ae5e24c09271bbcd b/.idea/sonarlint/securityhotspotstore/5/2/5259da10055c04b91c33a6b6ae5e24c09271bbcd
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/5/2/52c611c03476a1d0929960f7507999d7d6524228 b/.idea/sonarlint/securityhotspotstore/5/2/52c611c03476a1d0929960f7507999d7d6524228
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/5/2/52fcbebdac6ff550f93e24ad2aba3cf6d7efcfe9 b/.idea/sonarlint/securityhotspotstore/5/2/52fcbebdac6ff550f93e24ad2aba3cf6d7efcfe9
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/5/3/5344ba1309e1ad61186e77dc5c9be2de961e7f3e b/.idea/sonarlint/securityhotspotstore/5/3/5344ba1309e1ad61186e77dc5c9be2de961e7f3e
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/5/7/57a104bad0e2a5230067ed5fe37f732e8511e3d9 b/.idea/sonarlint/securityhotspotstore/5/7/57a104bad0e2a5230067ed5fe37f732e8511e3d9
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/5/7/57c53adb5f282787f8807afb5e1353d3733608f0 b/.idea/sonarlint/securityhotspotstore/5/7/57c53adb5f282787f8807afb5e1353d3733608f0
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/5/7/57ef69688cf2cc8a1c307723d263f79c60b6cce9 b/.idea/sonarlint/securityhotspotstore/5/7/57ef69688cf2cc8a1c307723d263f79c60b6cce9
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/5/b/5b1c7ae3383dee10fd56972aead6f1b9a8b78117 b/.idea/sonarlint/securityhotspotstore/5/b/5b1c7ae3383dee10fd56972aead6f1b9a8b78117
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/5/d/5d1946c752e2aaafec789d7f34a28f8e4dea6ca7 b/.idea/sonarlint/securityhotspotstore/5/d/5d1946c752e2aaafec789d7f34a28f8e4dea6ca7
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/5/d/5d5b59939e8507fb0c0bbf9cfa60f170a6bae184 b/.idea/sonarlint/securityhotspotstore/5/d/5d5b59939e8507fb0c0bbf9cfa60f170a6bae184
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/5/e/5e8ef080274a75b28de2c0901fa0f3649c647fed b/.idea/sonarlint/securityhotspotstore/5/e/5e8ef080274a75b28de2c0901fa0f3649c647fed
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/6/1/61d60b5ba46d1d99530270d490155d0fa3810a3f b/.idea/sonarlint/securityhotspotstore/6/1/61d60b5ba46d1d99530270d490155d0fa3810a3f
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/6/2/626f20137714061be9e6392fd8e3c22eee147128 b/.idea/sonarlint/securityhotspotstore/6/2/626f20137714061be9e6392fd8e3c22eee147128
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/6/3/63add82a11c5f1e898e80ac2c05d620f0345baab b/.idea/sonarlint/securityhotspotstore/6/3/63add82a11c5f1e898e80ac2c05d620f0345baab
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/6/3/63cebd026495a36b98e9d8e707cace6bce1e78a5 b/.idea/sonarlint/securityhotspotstore/6/3/63cebd026495a36b98e9d8e707cace6bce1e78a5
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/6/6/666369fee408bd289277e11801a6d000b873de94 b/.idea/sonarlint/securityhotspotstore/6/6/666369fee408bd289277e11801a6d000b873de94
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/6/6/66f6b2589f2c5b48652c67fafb95b6afd1d29165 b/.idea/sonarlint/securityhotspotstore/6/6/66f6b2589f2c5b48652c67fafb95b6afd1d29165
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/6/8/68ba2261a127973f1ae3b918d3f9e06a4a4762bd b/.idea/sonarlint/securityhotspotstore/6/8/68ba2261a127973f1ae3b918d3f9e06a4a4762bd
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/6/9/692e74812198845f3bd7983d41084ab9e71ca79d b/.idea/sonarlint/securityhotspotstore/6/9/692e74812198845f3bd7983d41084ab9e71ca79d
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/6/9/69e24b5668f9e9efd0e362ba526745c473c91a1e b/.idea/sonarlint/securityhotspotstore/6/9/69e24b5668f9e9efd0e362ba526745c473c91a1e
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/6/a/6af9bb595212996f1b813c556e2ac7dfd1211982 b/.idea/sonarlint/securityhotspotstore/6/a/6af9bb595212996f1b813c556e2ac7dfd1211982
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/6/b/6b3cde8e18f577fca3fed4d413342f265dd13e42 b/.idea/sonarlint/securityhotspotstore/6/b/6b3cde8e18f577fca3fed4d413342f265dd13e42
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/6/c/6c1605010ff5dfedc2404ab90852723b27eabd73 b/.idea/sonarlint/securityhotspotstore/6/c/6c1605010ff5dfedc2404ab90852723b27eabd73
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/6/d/6d3c544425079f602cf69888136c6d4252621458 b/.idea/sonarlint/securityhotspotstore/6/d/6d3c544425079f602cf69888136c6d4252621458
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/6/e/6ed0de150cb3a0a4b0f9a52facab76c62079bb0c b/.idea/sonarlint/securityhotspotstore/6/e/6ed0de150cb3a0a4b0f9a52facab76c62079bb0c
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/7/0/706d6ac05e56bcbb6cd2669b7799d097d4ef22d7 b/.idea/sonarlint/securityhotspotstore/7/0/706d6ac05e56bcbb6cd2669b7799d097d4ef22d7
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/7/1/7100b8e117eacbb7250edf0e635a6aa2da591e97 b/.idea/sonarlint/securityhotspotstore/7/1/7100b8e117eacbb7250edf0e635a6aa2da591e97
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/7/2/7231050a42f37e4f398951711fef4b3765dbe4d8 b/.idea/sonarlint/securityhotspotstore/7/2/7231050a42f37e4f398951711fef4b3765dbe4d8
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/7/3/7388177bb311bdfa914536fd9bd13051a4062f7d b/.idea/sonarlint/securityhotspotstore/7/3/7388177bb311bdfa914536fd9bd13051a4062f7d
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/7/3/73dc17c5e73305c1d651bfdc4f4afeccad8c6956 b/.idea/sonarlint/securityhotspotstore/7/3/73dc17c5e73305c1d651bfdc4f4afeccad8c6956
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/7/5/7511e7d76e8d754bc61a8f2186013fde126f564c b/.idea/sonarlint/securityhotspotstore/7/5/7511e7d76e8d754bc61a8f2186013fde126f564c
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/7/5/75809304406b0c5bfc46961fff2d1ec76d1558d9 b/.idea/sonarlint/securityhotspotstore/7/5/75809304406b0c5bfc46961fff2d1ec76d1558d9
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/7/5/75dbedb37d5b5c0f4f8af47339f56ad43e79ebd9 b/.idea/sonarlint/securityhotspotstore/7/5/75dbedb37d5b5c0f4f8af47339f56ad43e79ebd9
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/7/6/761978438f0f5b365291ef3872983e6d3bf6ae02 b/.idea/sonarlint/securityhotspotstore/7/6/761978438f0f5b365291ef3872983e6d3bf6ae02
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/7/7/7714010c1154c9d647b3e43bc7f6186b0a71c20e b/.idea/sonarlint/securityhotspotstore/7/7/7714010c1154c9d647b3e43bc7f6186b0a71c20e
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/7/8/78aa76e42b5ad97c470991c86d33217b8d3b8219 b/.idea/sonarlint/securityhotspotstore/7/8/78aa76e42b5ad97c470991c86d33217b8d3b8219
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/7/a/7a1d78e2a987dc3278f199862286a8b68eec46d6 b/.idea/sonarlint/securityhotspotstore/7/a/7a1d78e2a987dc3278f199862286a8b68eec46d6
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/7/a/7abd16babf14d9fa1ae25d2fa22eddd0caddfc55 b/.idea/sonarlint/securityhotspotstore/7/a/7abd16babf14d9fa1ae25d2fa22eddd0caddfc55
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/7/b/7b7de6a4f762588c2d559fc055c20448b508eb0e b/.idea/sonarlint/securityhotspotstore/7/b/7b7de6a4f762588c2d559fc055c20448b508eb0e
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/7/e/7ecf7f61a6b46dfd231758a9d509b6b8f0f91a18 b/.idea/sonarlint/securityhotspotstore/7/e/7ecf7f61a6b46dfd231758a9d509b6b8f0f91a18
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/7/f/7fa5b9a5b2bfd9717fbc7a18751adeebfacaeb55 b/.idea/sonarlint/securityhotspotstore/7/f/7fa5b9a5b2bfd9717fbc7a18751adeebfacaeb55
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/8/1/812600573f589b49dcca5bed3e4258409ba8e132 b/.idea/sonarlint/securityhotspotstore/8/1/812600573f589b49dcca5bed3e4258409ba8e132
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/8/1/8129d52b3fa104f7239e2157f6732c74087a3281 b/.idea/sonarlint/securityhotspotstore/8/1/8129d52b3fa104f7239e2157f6732c74087a3281
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/8/1/81cf0f96f68931e2722723f2ac99d86b8d7b01b3 b/.idea/sonarlint/securityhotspotstore/8/1/81cf0f96f68931e2722723f2ac99d86b8d7b01b3
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/8/3/833c2e1aa6a4439bd1aaf92b112c818156b7c445 b/.idea/sonarlint/securityhotspotstore/8/3/833c2e1aa6a4439bd1aaf92b112c818156b7c445
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/8/3/8381977011115c09e09fbf688c8cab7baaaa5f2d b/.idea/sonarlint/securityhotspotstore/8/3/8381977011115c09e09fbf688c8cab7baaaa5f2d
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/8/4/8422b405f71e577173de091ebfe248cebb67070b b/.idea/sonarlint/securityhotspotstore/8/4/8422b405f71e577173de091ebfe248cebb67070b
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/8/6/861df28e089bf03fd61a50deaa57aa52b75d70ab b/.idea/sonarlint/securityhotspotstore/8/6/861df28e089bf03fd61a50deaa57aa52b75d70ab
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/8/6/8628db2549484dbdd00145562e002d2ee77b42c3 b/.idea/sonarlint/securityhotspotstore/8/6/8628db2549484dbdd00145562e002d2ee77b42c3
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/8/6/866af0b7c502fe8c31bd4ce14780e086e7e50f3f b/.idea/sonarlint/securityhotspotstore/8/6/866af0b7c502fe8c31bd4ce14780e086e7e50f3f
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/8/7/87311651c76cfc731ff69e2af6aedbc6f219a8d8 b/.idea/sonarlint/securityhotspotstore/8/7/87311651c76cfc731ff69e2af6aedbc6f219a8d8
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/8/8/8846299f08e330dca499515700b3b11f842be26e b/.idea/sonarlint/securityhotspotstore/8/8/8846299f08e330dca499515700b3b11f842be26e
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/8/9/89dfd2d2dc856e359910abf9a555f2b2fae57335 b/.idea/sonarlint/securityhotspotstore/8/9/89dfd2d2dc856e359910abf9a555f2b2fae57335
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/8/a/8a7dfdebb2716a276873f69d883ce547dab1f6bd b/.idea/sonarlint/securityhotspotstore/8/a/8a7dfdebb2716a276873f69d883ce547dab1f6bd
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/8/a/8ad0ea90c05be3054f0a5b889fe105fc0a4a90c0 b/.idea/sonarlint/securityhotspotstore/8/a/8ad0ea90c05be3054f0a5b889fe105fc0a4a90c0
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/8/a/8af784f133d7e6bb746afaaba738d14c777f1787 b/.idea/sonarlint/securityhotspotstore/8/a/8af784f133d7e6bb746afaaba738d14c777f1787
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/8/b/8ba93fd608aa62c944f13fe1337cca54c59d43d0 b/.idea/sonarlint/securityhotspotstore/8/b/8ba93fd608aa62c944f13fe1337cca54c59d43d0
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/8/d/8da499149983a10bf587c3e8bd8d76a623c98b64 b/.idea/sonarlint/securityhotspotstore/8/d/8da499149983a10bf587c3e8bd8d76a623c98b64
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/8/e/8e78280253f7d8b93e07906dd13dd4c901d0fbe6 b/.idea/sonarlint/securityhotspotstore/8/e/8e78280253f7d8b93e07906dd13dd4c901d0fbe6
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/8/e/8ecb10f6a935309e4e267c9aabd031820f0bdf42 b/.idea/sonarlint/securityhotspotstore/8/e/8ecb10f6a935309e4e267c9aabd031820f0bdf42
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/8/e/8ee32f67ee6ac86794f79f76189265af208ceadc b/.idea/sonarlint/securityhotspotstore/8/e/8ee32f67ee6ac86794f79f76189265af208ceadc
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/9/0/90be60628252961d421ae0a0c39008012d3526f5 b/.idea/sonarlint/securityhotspotstore/9/0/90be60628252961d421ae0a0c39008012d3526f5
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/9/2/9243dcee6b275da145701708ff1768f9c298cb84 b/.idea/sonarlint/securityhotspotstore/9/2/9243dcee6b275da145701708ff1768f9c298cb84
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/9/3/935d5607681a7127c05f7a98c7e0565d1218d9a1 b/.idea/sonarlint/securityhotspotstore/9/3/935d5607681a7127c05f7a98c7e0565d1218d9a1
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/9/3/93d160a58f6e15d8e41557d6b6ac2c5cd6198048 b/.idea/sonarlint/securityhotspotstore/9/3/93d160a58f6e15d8e41557d6b6ac2c5cd6198048
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/9/7/97457093fb5e637b918df4ef9eebabd153ba1642 b/.idea/sonarlint/securityhotspotstore/9/7/97457093fb5e637b918df4ef9eebabd153ba1642
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/9/9/998f76a50dcec8f863d17c203b2e9ee77961304d b/.idea/sonarlint/securityhotspotstore/9/9/998f76a50dcec8f863d17c203b2e9ee77961304d
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/9/9/99a80c8be79b3d5d1098adf8ceb8d3413d724c5d b/.idea/sonarlint/securityhotspotstore/9/9/99a80c8be79b3d5d1098adf8ceb8d3413d724c5d
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/9/a/9a82a007d1b17eec05ac2815a4ea24f654e09fbf b/.idea/sonarlint/securityhotspotstore/9/a/9a82a007d1b17eec05ac2815a4ea24f654e09fbf
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/9/a/9aa58592af3de8f6aa78fbc1670a9880561f0fd9 b/.idea/sonarlint/securityhotspotstore/9/a/9aa58592af3de8f6aa78fbc1670a9880561f0fd9
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/9/b/9b9c619d7179c103b9b511d33a6b07e1c02dbadb b/.idea/sonarlint/securityhotspotstore/9/b/9b9c619d7179c103b9b511d33a6b07e1c02dbadb
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/9/e/9e28d5f36a23a5fa8f661a5a5f22f24aac884f01 b/.idea/sonarlint/securityhotspotstore/9/e/9e28d5f36a23a5fa8f661a5a5f22f24aac884f01
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/9/e/9e382d895f27c6be6149fb9edd7006a4f8cc7620 b/.idea/sonarlint/securityhotspotstore/9/e/9e382d895f27c6be6149fb9edd7006a4f8cc7620
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/9/e/9e91b136fd2545a7b734d0177dc2f545fe13ac60 b/.idea/sonarlint/securityhotspotstore/9/e/9e91b136fd2545a7b734d0177dc2f545fe13ac60
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/9/e/9efeefc3a4b815b9276d69b40c9b8e08d9a1eede b/.idea/sonarlint/securityhotspotstore/9/e/9efeefc3a4b815b9276d69b40c9b8e08d9a1eede
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/9/f/9fcd429f991847fbd7bb8e8a1b578c1ef5422231 b/.idea/sonarlint/securityhotspotstore/9/f/9fcd429f991847fbd7bb8e8a1b578c1ef5422231
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/a/0/a0e6938413f3b712a040abfebb3c34a812681dd1 b/.idea/sonarlint/securityhotspotstore/a/0/a0e6938413f3b712a040abfebb3c34a812681dd1
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/a/1/a1adae5b83b6e931ef1365f569eeb9cc911b3f5e b/.idea/sonarlint/securityhotspotstore/a/1/a1adae5b83b6e931ef1365f569eeb9cc911b3f5e
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/a/2/a268dac00f64471c56dfb0ef6a08b1c8d1ecc12d b/.idea/sonarlint/securityhotspotstore/a/2/a268dac00f64471c56dfb0ef6a08b1c8d1ecc12d
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/a/3/a3ca57f737a8d6800a4dc32c7d4acc802a1182aa b/.idea/sonarlint/securityhotspotstore/a/3/a3ca57f737a8d6800a4dc32c7d4acc802a1182aa
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/a/4/a41a0f3de065819c40a00cee182318530cebbf11 b/.idea/sonarlint/securityhotspotstore/a/4/a41a0f3de065819c40a00cee182318530cebbf11
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/a/4/a46601740fc27816ec9c0f2118b7d355d923c031 b/.idea/sonarlint/securityhotspotstore/a/4/a46601740fc27816ec9c0f2118b7d355d923c031
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/a/6/a66542386621b0651ee5ab09619c82dd483ec0d2 b/.idea/sonarlint/securityhotspotstore/a/6/a66542386621b0651ee5ab09619c82dd483ec0d2
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/a/7/a76b7ecd8dc2819b23a9678a9b3d2e5e7dc36fa5 b/.idea/sonarlint/securityhotspotstore/a/7/a76b7ecd8dc2819b23a9678a9b3d2e5e7dc36fa5
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/a/8/a80268239bd2b8d87d7a7b28cb38e31c165b01bb b/.idea/sonarlint/securityhotspotstore/a/8/a80268239bd2b8d87d7a7b28cb38e31c165b01bb
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/a/8/a8f14b3063fe6f65ce81aaad67342427ba595c78 b/.idea/sonarlint/securityhotspotstore/a/8/a8f14b3063fe6f65ce81aaad67342427ba595c78
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/a/a/aa2e1cb978aab2251463d0674d2baae6ec556c19 b/.idea/sonarlint/securityhotspotstore/a/a/aa2e1cb978aab2251463d0674d2baae6ec556c19
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/a/a/aa6b451043f4fb4bbede407ac17c06b7d1fad209 b/.idea/sonarlint/securityhotspotstore/a/a/aa6b451043f4fb4bbede407ac17c06b7d1fad209
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/a/a/aa82f21a8e9a4d992bddb31df4b3eaed5f8d6c25 b/.idea/sonarlint/securityhotspotstore/a/a/aa82f21a8e9a4d992bddb31df4b3eaed5f8d6c25
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/a/a/aab4e028f1387b6217509a1f10c4af85d868df89 b/.idea/sonarlint/securityhotspotstore/a/a/aab4e028f1387b6217509a1f10c4af85d868df89
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/a/a/aadd201f0c409bc7d0e4ef2cd83bfb3b41f0d379 b/.idea/sonarlint/securityhotspotstore/a/a/aadd201f0c409bc7d0e4ef2cd83bfb3b41f0d379
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/a/b/abcf7453e343e44ae1a7959e070e055ee13093bd b/.idea/sonarlint/securityhotspotstore/a/b/abcf7453e343e44ae1a7959e070e055ee13093bd
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/a/c/ac2bf5bdcc442963df8d19bfbf3b8c75ec50f481 b/.idea/sonarlint/securityhotspotstore/a/c/ac2bf5bdcc442963df8d19bfbf3b8c75ec50f481
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/a/d/ad83cca623ee8401ce239080ecc0b2ee4d3fa84a b/.idea/sonarlint/securityhotspotstore/a/d/ad83cca623ee8401ce239080ecc0b2ee4d3fa84a
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/a/f/afa7c2f5cb8a8497f3d8aeea95b5b917a383cd8a b/.idea/sonarlint/securityhotspotstore/a/f/afa7c2f5cb8a8497f3d8aeea95b5b917a383cd8a
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/b/0/b075d8feee76b8da20d6298d965ba8916408f363 b/.idea/sonarlint/securityhotspotstore/b/0/b075d8feee76b8da20d6298d965ba8916408f363
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/b/0/b088ba73b8cd02e5892ded4fa10f615a0799118c b/.idea/sonarlint/securityhotspotstore/b/0/b088ba73b8cd02e5892ded4fa10f615a0799118c
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/b/3/b353dd728f445fe385d9b33b543dc45b2855cb04 b/.idea/sonarlint/securityhotspotstore/b/3/b353dd728f445fe385d9b33b543dc45b2855cb04
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/b/4/b443d893d253b1e877e7d0b892ce39fa6694156e b/.idea/sonarlint/securityhotspotstore/b/4/b443d893d253b1e877e7d0b892ce39fa6694156e
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/b/4/b45321aa378c843f0d55ff000a07f8c03420b9d0 b/.idea/sonarlint/securityhotspotstore/b/4/b45321aa378c843f0d55ff000a07f8c03420b9d0
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/b/4/b49ea71c732f3e9d21cf5262213d3d6554244d47 b/.idea/sonarlint/securityhotspotstore/b/4/b49ea71c732f3e9d21cf5262213d3d6554244d47
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/b/5/b5525c4ebb3da3542efa256aa4cca962fc679091 b/.idea/sonarlint/securityhotspotstore/b/5/b5525c4ebb3da3542efa256aa4cca962fc679091
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/b/5/b578c41883acffa425a67c02bbd31e4c8398a853 b/.idea/sonarlint/securityhotspotstore/b/5/b578c41883acffa425a67c02bbd31e4c8398a853
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/b/6/b693c5fc5454c315021a1ad69b4251633c650305 b/.idea/sonarlint/securityhotspotstore/b/6/b693c5fc5454c315021a1ad69b4251633c650305
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/b/7/b7806477811212b00bb4daeb6fab333efdb37b45 b/.idea/sonarlint/securityhotspotstore/b/7/b7806477811212b00bb4daeb6fab333efdb37b45
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/b/7/b7d6d14d9ab2a0ae82109887abce5e44c933f7d1 b/.idea/sonarlint/securityhotspotstore/b/7/b7d6d14d9ab2a0ae82109887abce5e44c933f7d1
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/b/8/b8c9f02e8fdef851e251f165b1dfc76bbfbdab4b b/.idea/sonarlint/securityhotspotstore/b/8/b8c9f02e8fdef851e251f165b1dfc76bbfbdab4b
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/b/8/b8dd1f762e69c42310e569148062705e4d6528d4 b/.idea/sonarlint/securityhotspotstore/b/8/b8dd1f762e69c42310e569148062705e4d6528d4
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/b/9/b95f7082a3b990f1bf64619a03864bfc2354c75e b/.idea/sonarlint/securityhotspotstore/b/9/b95f7082a3b990f1bf64619a03864bfc2354c75e
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/b/9/b9fe225e887d887154fb0c72e585ab632c0beb05 b/.idea/sonarlint/securityhotspotstore/b/9/b9fe225e887d887154fb0c72e585ab632c0beb05
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/b/a/ba90de5cb9449e041d4da6521ea1bcba35c2f52e b/.idea/sonarlint/securityhotspotstore/b/a/ba90de5cb9449e041d4da6521ea1bcba35c2f52e
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/b/b/bb46ab81b8ebacccd43670b1a4b3f5f1f10ad904 b/.idea/sonarlint/securityhotspotstore/b/b/bb46ab81b8ebacccd43670b1a4b3f5f1f10ad904
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/b/c/bc527329dbf7cc7d4ce848bc8078e6e415a3fed4 b/.idea/sonarlint/securityhotspotstore/b/c/bc527329dbf7cc7d4ce848bc8078e6e415a3fed4
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/b/c/bc9c479c6250ae800bab7b775e802bd36c5eed84 b/.idea/sonarlint/securityhotspotstore/b/c/bc9c479c6250ae800bab7b775e802bd36c5eed84
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/b/d/bd2e8f645df4417ac0509641f6380c7f156237e4 b/.idea/sonarlint/securityhotspotstore/b/d/bd2e8f645df4417ac0509641f6380c7f156237e4
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/b/d/bd40c827cc342985d419277ddd528ecae16fc843 b/.idea/sonarlint/securityhotspotstore/b/d/bd40c827cc342985d419277ddd528ecae16fc843
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/b/d/bd6da8f46e949561b6004acabd106865d89be46c b/.idea/sonarlint/securityhotspotstore/b/d/bd6da8f46e949561b6004acabd106865d89be46c
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/b/d/bde4a1ea7861074c176a2928deac75511caedb1c b/.idea/sonarlint/securityhotspotstore/b/d/bde4a1ea7861074c176a2928deac75511caedb1c
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/b/d/bdfbdec1be13a927db043a99eeaacdaaa750c59d b/.idea/sonarlint/securityhotspotstore/b/d/bdfbdec1be13a927db043a99eeaacdaaa750c59d
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/b/e/be5a32b915978e3f0639a189cf09e0add41f1bca b/.idea/sonarlint/securityhotspotstore/b/e/be5a32b915978e3f0639a189cf09e0add41f1bca
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/c/1/c139220325823fbc1526cd5c8dca6251a66bb47a b/.idea/sonarlint/securityhotspotstore/c/1/c139220325823fbc1526cd5c8dca6251a66bb47a
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/c/1/c1875db051b5810eea7c566de88641373f51a93b b/.idea/sonarlint/securityhotspotstore/c/1/c1875db051b5810eea7c566de88641373f51a93b
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/c/1/c1b176e6cbf46c788228f7ffb0eaccf7e5a20545 b/.idea/sonarlint/securityhotspotstore/c/1/c1b176e6cbf46c788228f7ffb0eaccf7e5a20545
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/c/2/c25de97de930bc3271631cf88f2796150a389fdd b/.idea/sonarlint/securityhotspotstore/c/2/c25de97de930bc3271631cf88f2796150a389fdd
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/c/2/c28bff92a75269941d02944e12083b6af8cd1cd1 b/.idea/sonarlint/securityhotspotstore/c/2/c28bff92a75269941d02944e12083b6af8cd1cd1
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/c/5/c50061abd65f21d8616bdd1e7d8ed325586f61d5 b/.idea/sonarlint/securityhotspotstore/c/5/c50061abd65f21d8616bdd1e7d8ed325586f61d5
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/c/5/c55ab5831e4867b0325662dce3b7db33595af7c3 b/.idea/sonarlint/securityhotspotstore/c/5/c55ab5831e4867b0325662dce3b7db33595af7c3
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/c/5/c5d8d013f9cb014a3949a5205acbd3e82d21f038 b/.idea/sonarlint/securityhotspotstore/c/5/c5d8d013f9cb014a3949a5205acbd3e82d21f038
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/c/6/c6655f84a1e3c596dc65c9864e905da58445dc4e b/.idea/sonarlint/securityhotspotstore/c/6/c6655f84a1e3c596dc65c9864e905da58445dc4e
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/c/7/c7411391552907e13d44b4536905e9c072f71fd8 b/.idea/sonarlint/securityhotspotstore/c/7/c7411391552907e13d44b4536905e9c072f71fd8
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/c/9/c9d6cd3d50b7922513c00811b7df002635f44f44 b/.idea/sonarlint/securityhotspotstore/c/9/c9d6cd3d50b7922513c00811b7df002635f44f44
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/c/b/cb1e1cd5577ffb90e63facf614cd42bf51f7b26e b/.idea/sonarlint/securityhotspotstore/c/b/cb1e1cd5577ffb90e63facf614cd42bf51f7b26e
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/c/b/cbd3a1ac8e59aa9f9fc23fe0e43b2444891988ba b/.idea/sonarlint/securityhotspotstore/c/b/cbd3a1ac8e59aa9f9fc23fe0e43b2444891988ba
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/c/e/ce12f66d20f13fecf2397da6f42a56ab3d4bc88b b/.idea/sonarlint/securityhotspotstore/c/e/ce12f66d20f13fecf2397da6f42a56ab3d4bc88b
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/c/e/ce6a8a591ab6dcd2f20163c16582122eb4245a86 b/.idea/sonarlint/securityhotspotstore/c/e/ce6a8a591ab6dcd2f20163c16582122eb4245a86
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/c/e/ceefe43016a49769ca0b29673527cfe3fcbf2d50 b/.idea/sonarlint/securityhotspotstore/c/e/ceefe43016a49769ca0b29673527cfe3fcbf2d50
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/d/0/d03e76a59136a14fa8066c2c8ef504695396ecbc b/.idea/sonarlint/securityhotspotstore/d/0/d03e76a59136a14fa8066c2c8ef504695396ecbc
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/d/0/d0e3e2e169518cf5ab509a0060dabb2942206f3f b/.idea/sonarlint/securityhotspotstore/d/0/d0e3e2e169518cf5ab509a0060dabb2942206f3f
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/d/0/d0eadf40a25521d94f9b5c528d662df2143a8a38 b/.idea/sonarlint/securityhotspotstore/d/0/d0eadf40a25521d94f9b5c528d662df2143a8a38
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/d/3/d3a5711ad314d077d45d0c9c3014fe5fdcac2502 b/.idea/sonarlint/securityhotspotstore/d/3/d3a5711ad314d077d45d0c9c3014fe5fdcac2502
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/d/3/d3dd7a9002b7e1fcc6f240cec23c161c076f227b b/.idea/sonarlint/securityhotspotstore/d/3/d3dd7a9002b7e1fcc6f240cec23c161c076f227b
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/d/4/d4f0f0cecf6b295a27ccf0618333c718280752dd b/.idea/sonarlint/securityhotspotstore/d/4/d4f0f0cecf6b295a27ccf0618333c718280752dd
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/d/6/d67925b000a9627ea409ca73cb2c5b2f2675ebbd b/.idea/sonarlint/securityhotspotstore/d/6/d67925b000a9627ea409ca73cb2c5b2f2675ebbd
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/d/7/d7da65aa96a6b038f17f1b89c5bb0054ec1e79a4 b/.idea/sonarlint/securityhotspotstore/d/7/d7da65aa96a6b038f17f1b89c5bb0054ec1e79a4
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/d/9/d9f03fb6a0777c141ecfa42fdb8b690a8f45dd59 b/.idea/sonarlint/securityhotspotstore/d/9/d9f03fb6a0777c141ecfa42fdb8b690a8f45dd59
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/d/a/da4100f3fc4a1131c8a18930a4a3b8f0a4ce2c1c b/.idea/sonarlint/securityhotspotstore/d/a/da4100f3fc4a1131c8a18930a4a3b8f0a4ce2c1c
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/d/a/da88fc1611112a6c2fee9b60d2ae4dc2691c29af b/.idea/sonarlint/securityhotspotstore/d/a/da88fc1611112a6c2fee9b60d2ae4dc2691c29af
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/d/a/dabc03b0b817506ac9491d3a4b95fdb2b0c81219 b/.idea/sonarlint/securityhotspotstore/d/a/dabc03b0b817506ac9491d3a4b95fdb2b0c81219
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/d/b/db80f908a66f4457149cd9422102aaa883d18281 b/.idea/sonarlint/securityhotspotstore/d/b/db80f908a66f4457149cd9422102aaa883d18281
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/d/c/dc1f1f9911af62b7698a7cd29b083756ad4812d1 b/.idea/sonarlint/securityhotspotstore/d/c/dc1f1f9911af62b7698a7cd29b083756ad4812d1
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/d/c/dcc0570c4fa2f2501e79dead2f751b468c3983fa b/.idea/sonarlint/securityhotspotstore/d/c/dcc0570c4fa2f2501e79dead2f751b468c3983fa
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/d/d/dd8dbe607a1a830ee0d8b4dcba8a15d72431203c b/.idea/sonarlint/securityhotspotstore/d/d/dd8dbe607a1a830ee0d8b4dcba8a15d72431203c
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/e/4/e4c8547fea590d62d311ca1801c0af15ea4e55d1 b/.idea/sonarlint/securityhotspotstore/e/4/e4c8547fea590d62d311ca1801c0af15ea4e55d1
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/e/4/e4e61236436ca99ec29d7543729e1f083c2ef963 b/.idea/sonarlint/securityhotspotstore/e/4/e4e61236436ca99ec29d7543729e1f083c2ef963
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/e/5/e5781b8bbc743fa991b8bd0046ce0c7f15f63420 b/.idea/sonarlint/securityhotspotstore/e/5/e5781b8bbc743fa991b8bd0046ce0c7f15f63420
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/e/8/e813c9c7bd99f184ef22975d73e311436a757608 b/.idea/sonarlint/securityhotspotstore/e/8/e813c9c7bd99f184ef22975d73e311436a757608
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/e/8/e8d3dc3aeb5336ee4266b13e6c4e9034582ba9eb b/.idea/sonarlint/securityhotspotstore/e/8/e8d3dc3aeb5336ee4266b13e6c4e9034582ba9eb
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/e/9/e985cf73db6324fa0722a8c875f2f24ce0391c0a b/.idea/sonarlint/securityhotspotstore/e/9/e985cf73db6324fa0722a8c875f2f24ce0391c0a
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/e/9/e9a43dc0fee979a0b0b92836f589e9bc2f89b44e b/.idea/sonarlint/securityhotspotstore/e/9/e9a43dc0fee979a0b0b92836f589e9bc2f89b44e
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/e/9/e9da29b40f64fc6632e1d502c09fc6eac01109a6 b/.idea/sonarlint/securityhotspotstore/e/9/e9da29b40f64fc6632e1d502c09fc6eac01109a6
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/e/9/e9eafbe6e2e2836bde50278c48b9c79bcb246fc1 b/.idea/sonarlint/securityhotspotstore/e/9/e9eafbe6e2e2836bde50278c48b9c79bcb246fc1
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/e/a/ea041f3c5969653c3d48daeae45af2629387adfd b/.idea/sonarlint/securityhotspotstore/e/a/ea041f3c5969653c3d48daeae45af2629387adfd
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/e/b/eb649a8fce1a69f7a9bcdbaa4d273533cce7cec9 b/.idea/sonarlint/securityhotspotstore/e/b/eb649a8fce1a69f7a9bcdbaa4d273533cce7cec9
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/e/c/ecdd23c1fbe3902ff30c9742de5dfd28146749ba b/.idea/sonarlint/securityhotspotstore/e/c/ecdd23c1fbe3902ff30c9742de5dfd28146749ba
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/e/d/ed67ff062e69655340af09073fad56c12b37d548 b/.idea/sonarlint/securityhotspotstore/e/d/ed67ff062e69655340af09073fad56c12b37d548
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/e/f/ef098c7c485ac997617bbc457a175928c069c6c0 b/.idea/sonarlint/securityhotspotstore/e/f/ef098c7c485ac997617bbc457a175928c069c6c0
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/e/f/ef54276995d7c4fc31d9fdc7c6fe8ca37b0fbe03 b/.idea/sonarlint/securityhotspotstore/e/f/ef54276995d7c4fc31d9fdc7c6fe8ca37b0fbe03
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/f/1/f11b11e3f6265dd1f67695f77b3bf80dd2df9632 b/.idea/sonarlint/securityhotspotstore/f/1/f11b11e3f6265dd1f67695f77b3bf80dd2df9632
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/f/2/f2bf40e08a21b88d2ec3dba69226b36d0563f158 b/.idea/sonarlint/securityhotspotstore/f/2/f2bf40e08a21b88d2ec3dba69226b36d0563f158
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/f/3/f3b6b5654904d33be31b224ec2bf7b395f79331f b/.idea/sonarlint/securityhotspotstore/f/3/f3b6b5654904d33be31b224ec2bf7b395f79331f
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/f/5/f52e7de51f7eb3627f38fa42a817aae81eab2422 b/.idea/sonarlint/securityhotspotstore/f/5/f52e7de51f7eb3627f38fa42a817aae81eab2422
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/f/9/f9a5c95dbb13098313489de4e090ec23074ae101 b/.idea/sonarlint/securityhotspotstore/f/9/f9a5c95dbb13098313489de4e090ec23074ae101
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/f/c/fc82c2d8ecc91cb055baf3f114c2726b6161e154 b/.idea/sonarlint/securityhotspotstore/f/c/fc82c2d8ecc91cb055baf3f114c2726b6161e154
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/f/d/fd310366a95bfbda8aa1a8704da7d616ce1f84c3 b/.idea/sonarlint/securityhotspotstore/f/d/fd310366a95bfbda8aa1a8704da7d616ce1f84c3
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/index.pb b/.idea/sonarlint/securityhotspotstore/index.pb
new file mode 100644
index 0000000..a31f974
--- /dev/null
+++ b/.idea/sonarlint/securityhotspotstore/index.pb
@@ -0,0 +1,499 @@
+
+y
+Iwx-applet/src/main/java/com/haitongauto/rtosac/api/MessageController.java,2\2\22661b853b5d07909dc6bb6a60fccc02ae31a42e
+v
+Fwx-applet/src/main/java/com/haitongauto/rtosac/api/MineController.java,9\b\9b9c619d7179c103b9b511d33a6b07e1c02dbadb
+}
+Mwx-applet/src/main/java/com/haitongauto/rtosac/api/AppointmentController.java,8\e\8e78280253f7d8b93e07906dd13dd4c901d0fbe6
+t
+Dinterfaces/src/main/java/com/haitongauto/interfaces/CusOrderApi.java,4\a\4aa036e9d687aad91b770f113810a70d5ea5fd24
+q
+Ainterfaces/src/main/java/com/haitongauto/interfaces/OrderApi.java,9\a\9aa58592af3de8f6aa78fbc1670a9880561f0fd9
+q
+Ainterfaces/src/main/java/com/haitongauto/interfaces/UsersApi.java,7\3\7388177bb311bdfa914536fd9bd13051a4062f7d
+I
+interfaces/interfaces.iml,5\d\5d5b59939e8507fb0c0bbf9cfa60f170a6bae184
+A
+mapper/mapper.iml,b\6\b693c5fc5454c315021a1ad69b4251633c650305
+q
+Awx-applet/src/main/java/com/haitongauto/rtosac/SwaggerConfig.java,c\1\c139220325823fbc1526cd5c8dca6251a66bb47a
+~
+Nwx-applet/src/main/java/com/haitongauto/rtosac/service/AppointmentService.java,e\c\ecdd23c1fbe3902ff30c9742de5dfd28146749ba
+
+Wwx-applet/src/main/java/com/haitongauto/rtosac/service/impl/AppointmentServiceImpl.java,b\7\b7d6d14d9ab2a0ae82109887abce5e44c933f7d1
+}
+Mmapper/src/main/java/com/haitongauto/mapper/base/AppointmentDetailMapper.java,b\d\bdfbdec1be13a927db043a99eeaacdaaa750c59d
+w
+Gmapper/src/main/java/com/haitongauto/mapper/base/AppointmentMapper.java,b\d\bd40c827cc342985d419277ddd528ecae16fc843
+s
+Cmodels/src/main/java/com/haitongauto/models/dto/AppointmentDto.java,7\f\7fa5b9a5b2bfd9717fbc7a18751adeebfacaeb55
+q
+Amodels/src/main/java/com/haitongauto/models/pojo/Appointment.java,1\a\1a25fb2226d431d3137611d7dc73b25dc1203279
+t
+Dmapper/src/main/java/com/haitongauto/mapper/base/LoginLogMapper.java,d\c\dc1f1f9911af62b7698a7cd29b083756ad4812d1
+v
+Fmapper/src/main/java/com/haitongauto/mapper/base/PunchClockMapper.java,1\d\1dfd7bb56827f7cac04a40b35b84ebbeac3d2508
+~
+Nmapper/src/main/java/com/haitongauto/mapper/base/NoviceIntroductionMapper.java,6\6\666369fee408bd289277e11801a6d000b873de94
+
+Uwx-applet-admin/src/main/java/com/haitongauto/rtosam/api/admin/OpenApiController.java,2\e\2ebbf045dda339e47654528523812112bc6f60f2
+
+Vwx-applet-admin/src/main/java/com/haitongauto/rtosam/service/admin/OpenApiService.java,1\a\1ad36e648c327da69d991b22a299b927cb3d5f3d
+
+_wx-applet-admin/src/main/java/com/haitongauto/rtosam/service/admin/Impl/OpenApiServiceImpl.java,d\d\dd8dbe607a1a830ee0d8b4dcba8a15d72431203c
+t
+Dmodels/src/main/java/com/haitongauto/models/open/QueryCondition.java,3\4\34bb5122d56307769788316250c408bd2346636c
+
+Pwx-applet/src/main/java/com/haitongauto/rtosac/service/impl/MineServiceImpl.java,9\7\97457093fb5e637b918df4ef9eebabd153ba1642
+
+Swx-applet/src/main/java/com/haitongauto/rtosac/service/impl/MessageServiceImpl.java,0\1\01bef5372279668ac8ad0c35b87e3a653ce8f2c6
+z
+Jwx-applet/src/main/java/com/haitongauto/rtosac/service/MessageService.java,9\3\93d160a58f6e15d8e41557d6b6ac2c5cd6198048
+p
+@models/src/main/java/com/haitongauto/models/pojo/PunchClock.java,3\4\340b2e07e168e58e0b552e73134b21d58b625c95
+|
+Lwx-applet/src/main/java/com/haitongauto/rtosac/api/PunchClockController.java,0\e\0ecab55c43e84d4d750af1786d7d63ae83930073
+v
+Fwx-applet/src/main/java/com/haitongauto/rtosac/api/NewsController.java,f\2\f2bf40e08a21b88d2ec3dba69226b36d0563f158
+}
+Mwx-applet/src/main/java/com/haitongauto/rtosac/service/PunchClockService.java,c\e\ceefe43016a49769ca0b29673527cfe3fcbf2d50
+
+Vwx-applet/src/main/java/com/haitongauto/rtosac/service/impl/PunchClockServiceImpl.java,b\4\b49ea71c732f3e9d21cf5262213d3d6554244d47
+t
+Dwx-applet/src/main/java/com/haitongauto/rtosac/service/Response.java,7\5\75809304406b0c5bfc46961fff2d1ec76d1558d9
+t
+Dmodels/src/main/java/com/haitongauto/models/dto/Appointment_Dto.java,7\3\73dc17c5e73305c1d651bfdc4f4afeccad8c6956
+u
+Emodels/src/main/java/com/haitongauto/models/dto/AnnouncementsDto.java,a\a\aa82f21a8e9a4d992bddb31df4b3eaed5f8d6c25
+r
+Bmodels/src/main/java/com/haitongauto/models/dto/app/ChuanItem.java,8\7\87311651c76cfc731ff69e2af6aedbc6f219a8d8
+
+Tmodels/src/main/java/com/haitongauto/models/dto/app/CarPalletTrafficInfoRespDTO.java,4\b\4b02c39aa04219b07652f2eac679fd76efaa38b8
+s
+Cmodels/src/main/java/com/haitongauto/models/dto/VehicleDetails.java,2\5\2549059d19eda2e0c1abd71dd7d6a709c0f8cecb
+n
+>models/src/main/java/com/haitongauto/models/dto/Responser.java,5\2\522622afc08710b7f989181f0f25379fd1c4bd1b
+v
+Fmodels/src/main/java/com/haitongauto/models/dto/RecAndDepExcelDto.java,c\9\c9d6cd3d50b7922513c00811b7df002635f44f44
+t
+Dmodels/src/main/java/com/haitongauto/models/dto/PunchClockQuery.java,c\2\c28bff92a75269941d02944e12083b6af8cd1cd1
+x
+Hmodels/src/main/java/com/haitongauto/models/dto/PalletTruckAndUsers.java,c\e\ce12f66d20f13fecf2397da6f42a56ab3d4bc88b
+j
+:models/src/main/java/com/haitongauto/models/dto/Pages.java,1\0\10e131269c0d4ab1e8920ac7a94e4e386444f346
+k
+;models/src/main/java/com/haitongauto/models/pojo/Users.java,7\2\7231050a42f37e4f398951711fef4b3765dbe4d8
+v
+Fmodels/src/main/java/com/haitongauto/models/dto/EnterPortTypeDtol.java,6\a\6af9bb595212996f1b813c556e2ac7dfd1211982
+u
+Emodels/src/main/java/com/haitongauto/models/dto/EnterPortTypeDto.java,5\2\5259da10055c04b91c33a6b6ae5e24c09271bbcd
+l
+models/src/main/java/com/haitongauto/models/ido/CommonRes.java,c\b\cb1e1cd5577ffb90e63facf614cd42bf51f7b26e
+p
+@models/src/main/java/com/haitongauto/models/ido/CustomerRes.java,7\a\7abd16babf14d9fa1ae25d2fa22eddd0caddfc55
+r
+Bmodels/src/main/java/com/haitongauto/models/ido/DictionaryIdo.java,1\5\156c6f058aee27104d0907d89253797415739dae
+s
+Cmodels/src/main/java/com/haitongauto/models/ido/PicturePathIdo.java,5\2\521663a42c054bc9903df08ee67bdd2a105b4bf1
+q
+Amodels/src/main/java/com/haitongauto/models/ido/PortAreasIdo.java,2\a\2a5e9fa9ef1dcbcf7eec37eb6362a79dd0e00f85
+o
+?models/src/main/java/com/haitongauto/models/ido/ShipVoyIdo.java,0\9\09ac29b4fea6e1f24aa4be22ae787e0efb579d90
+{
+Kmodels/src/main/java/com/haitongauto/models/ido/receiving/RecDetailIdo.java,a\a\aa2e1cb978aab2251463d0674d2baae6ec556c19
+
+Xmodels/src/main/java/com/haitongauto/models/ido/receiving/pc/ReceivingVehicleIdo_pc.java,8\a\8ad0ea90c05be3054f0a5b889fe105fc0a4a90c0
+v
+Fwx-applet/src/main/java/com/haitongauto/rtosac/api/HomeController.java,a\6\a66542386621b0651ee5ab09619c82dd483ec0d2
+y
+Iwx-applet/src/main/java/com/haitongauto/rtosac/api/VehicleController.java,3\7\3700e013a24e08955175b7280c8fa4233cee312e
+t
+Dmapper/src/main/java/com/haitongauto/mapper/base/DataBaseMapper.java,f\3\f3b6b5654904d33be31b224ec2bf7b395f79331f
+x
+Hmapper/src/main/java/com/haitongauto/mapper/base/AnnouncementMapper.java,1\f\1fb5c1491389594e87f8ee9a5b75f1ea27c74de1
+p
+@utils/src/main/java/com/haitongauto/utils/check/CheckHelper.java,0\d\0d107ccf0ed795b2fb26f8a847b7c13e9360cff2
+j
+:utils/src/main/java/com/haitongauto/utils/GetDateTime.java,8\a\8a7dfdebb2716a276873f69d883ce547dab1f6bd
+m
+=utils/src/main/java/com/haitongauto/utils/DateTimeHelper.java,5\2\52fcbebdac6ff550f93e24ad2aba3cf6d7efcfe9
+k
+;utils/src/main/java/com/haitongauto/utils/StringHelper.java,b\5\b5525c4ebb3da3542efa256aa4cca962fc679091
+g
+7utils/src/main/java/com/haitongauto/utils/IpHelper.java,e\f\ef098c7c485ac997617bbc457a175928c069c6c0
+w
+Gmodels/src/main/java/com/haitongauto/models/pojo/AppointmentDetail.java,c\5\c55ab5831e4867b0325662dce3b7db33595af7c3
+
+Rwx-applet-admin/src/main/java/com/haitongauto/rtosam/api/admin/HomeController.java,2\c\2c2c02739b69b20b0c2ff13ef4265bca59f39474
+
+^wx-applet-admin/src/main/java/com/haitongauto/rtosam/api/admin/AppointmentAdminController.java,2\6\26ae74fa1fe3842549b5a4291dec450e1acea0c9
+
+Omapper/src/main/java/com/haitongauto/mapper/client/AppointmentExtendMapper.java,b\5\b578c41883acffa425a67c02bbd31e4c8398a853
+}
+Mmapper/src/main/java/com/haitongauto/mapper/admin/AppointmentAdminMapper.java,4\2\42bb73a68079b455c363aad1d82bea756cc57d0c
+{
+Kmapper/src/main/java/com/haitongauto/mapper/base/ReceivingDetailMapper.java,6\2\626f20137714061be9e6392fd8e3c22eee147128
+
+Uutils/src/main/java/com/haitongauto/utils/excel/ExcelCustomCellWriteHeightConfig.java,0\7\07051bcaea53143a061ed9c2edac258768902de0
+
+_wx-applet-admin/src/main/java/com/haitongauto/rtosam/service/admin/AppointmentAdminService.java,1\7\1733d5b36f754e2412774a7527c7b18aa2415ce7
+
+hwx-applet-admin/src/main/java/com/haitongauto/rtosam/service/admin/Impl/AppointmentAdminServiceImpl.java,8\4\8422b405f71e577173de091ebfe248cebb67070b
+G
+wx-applet/wx-applet.iml,9\e\9e28d5f36a23a5fa8f661a5a5f22f24aac884f01
+}
+Mwx-applet/src/main/java/com/haitongauto/rtosac/service/impl/ResponseImpl.java,4\b\4b08af7be9060fdf6b93fd39a56ef633727219c0
+
+]wx-applet-admin/src/main/java/com/haitongauto/rtosam/api/admin/PunchClockAdminController.java,d\3\d3dd7a9002b7e1fcc6f240cec23c161c076f227b
+w
+Gwx-applet/src/main/java/com/haitongauto/rtosac/service/MineService.java,3\f\3f1ddcc5ef9553486466d44744f2c4867268752e
+w
+Gwx-applet/src/main/java/com/haitongauto/rtosac/service/HomeService.java,e\a\ea041f3c5969653c3d48daeae45af2629387adfd
+
+Pwx-applet/src/main/java/com/haitongauto/rtosac/service/impl/HomeServiceImpl.java,a\4\a46601740fc27816ec9c0f2118b7d355d923c031
+
+_wx-applet-admin/src/main/java/com/haitongauto/rtosam/api/admin/AnnouncementAdminController.java,e\9\e9da29b40f64fc6632e1d502c09fc6eac01109a6
+
+[wx-applet-admin/src/main/java/com/haitongauto/rtosam/api/admin/FeedbackAdminController.java,6\e\6ed0de150cb3a0a4b0f9a52facab76c62079bb0c
+
+Xwx-applet-admin/src/main/java/com/haitongauto/rtosam/api/admin/UsersAdminController.java,d\7\d7da65aa96a6b038f17f1b89c5bb0054ec1e79a4
+
+fwx-applet-admin/src/main/java/com/haitongauto/rtosam/api/admin/OperateIntroductionAdminController.java,6\6\66f6b2589f2c5b48652c67fafb95b6afd1d29165
+
+^wx-applet-admin/src/main/java/com/haitongauto/rtosam/service/admin/PunchClockAdminService.java,8\6\866af0b7c502fe8c31bd4ce14780e086e7e50f3f
+
+Wwx-applet-admin/src/main/java/com/haitongauto/rtosam/service/admin/ResponseService.java,d\a\dabc03b0b817506ac9491d3a4b95fdb2b0c81219
+
+`wx-applet-admin/src/main/java/com/haitongauto/rtosam/service/admin/Impl/ResponseServiceImpl.java,f\d\fd310366a95bfbda8aa1a8704da7d616ce1f84c3
+
+Ointerfaces/src/main/java/com/haitongauto/interfaces/EnterPortTypeInterface.java,f\c\fc82c2d8ecc91cb055baf3f114c2726b6161e154
+D
+wx-applet/Dockerfile,b\3\b353dd728f445fe385d9b33b543dc45b2855cb04
+I
+wx-applet/Dockerfile.back,2\4\24074d8118161a65052812b0d243e618c80a4e39
+J
+wx-applet-admin/Dockerfile,d\0\d0eadf40a25521d94f9b5c528d662df2143a8a38
+O
+wx-applet-admin/Dockerfile.back,0\4\049bb44af43c96db0fc5d5321b3f03f00f778d83
+S
+#wx-applet-admin/wx-applet-admin.iml,e\d\ed67ff062e69655340af09073fad56c12b37d548
+~
+Nmapper/src/main/java/com/haitongauto/mapper/client/PunchClockExtendMapper.java,b\9\b9fe225e887d887154fb0c72e585ab632c0beb05
+m
+=utils/src/main/java/com/haitongauto/utils/FormatDateTime.java,3\4\344be59346cd720be955796cc9a1e822b5c5a84d
+o
+?utils/src/main/java/com/haitongauto/utils/minio/MinioUtils.java,4\c\4cafe1c2d1c49c5eb90f6fbe58b990423fa48259
+m
+=utils/src/main/java/com/haitongauto/utils/HtmlToPdfUtils.java,4\e\4eab802fc712a33e409679d16a34c95b806430be
+k
+;utils/src/main/java/com/haitongauto/utils/HttpTemplate.java,5\b\5b1c7ae3383dee10fd56972aead6f1b9a8b78117
+
+Zwx-applet-admin/src/main/java/com/haitongauto/rtosam/api/admin/VehicleAdminController.java,9\a\9a82a007d1b17eec05ac2815a4ea24f654e09fbf
+i
+9utils/src/main/java/com/haitongauto/utils/CorsConfig.java,3\4\34dc4512973769cc4cc0622057d48a763c5eac93
+u
+Ewx-applet/src/main/java/com/haitongauto/rtosac/ApplicationApplet.java,1\7\17a5dd26efa1e5aaaa4017af8d50f121203f7559
+=
+
utils/pom.xml,b\4\b443d893d253b1e877e7d0b892ce39fa6694156e
+z
+Jinterfaces/src/main/java/com/haitongauto/interfaces/PortAreaInterface.java,9\f\9fcd429f991847fbd7bb8e8a1b578c1ef5422231
+
+Sinterfaces/src/main/java/com/haitongauto/interfaces/impl/PortAreaInterfaceImpl.java,5\7\57ef69688cf2cc8a1c307723d263f79c60b6cce9
+v
+Finterfaces/src/main/java/com/haitongauto/interfaces/UserInterface.java,b\d\bd6da8f46e949561b6004acabd106865d89be46c
+
+Omodels/src/main/java/com/haitongauto/models/dto/open/YardGoodsStateRespDTO.java,f\9\f9a5c95dbb13098313489de4e090ec23074ae101
+u
+Einterfaces/src/main/java/com/haitongauto/interfaces/YardOrderApi.java,3\9\39e1124bdddd8493c62c88565e75c30d93a8afbb
+v
+Fmodels/src/main/java/com/haitongauto/models/ido/login/UserInfoRes.java,1\2\126aa63e0002cfc2698255f08bd1046475f26c7a
+m
+=models/src/main/java/com/haitongauto/models/res/Response.java,8\1\812600573f589b49dcca5bed3e4258409ba8e132
+q
+Amapper/src/main/java/com/haitongauto/mapper/base/TruckMapper.java,c\7\c7411391552907e13d44b4536905e9c072f71fd8
+x
+Hwx-applet/src/main/java/com/haitongauto/rtosac/service/UsersService.java,1\c\1cd81cc55241f643276c5c5b61880b794c97c7ea
+
+Qwx-applet/src/main/java/com/haitongauto/rtosac/service/impl/UsersServiceImpl.java,7\0\706d6ac05e56bcbb6cd2669b7799d097d4ef22d7
+y
+Imapper/src/main/java/com/haitongauto/mapper/client/TruckExtendMapper.java,4\a\4a0c5ee06c513346fe6a46bccabc8ac0a35404d6
+r
+Bmodels/src/main/java/com/haitongauto/models/forward/vinDetail.java,1\e\1e38dcce5296f41f50bbc9251245f1fe0b7e91d6
+r
+Bmodels/src/main/java/com/haitongauto/models/forward/VinDetail.java,2\7\275704944fc0df22c0954cc23ed1d1df76010c31
+w
+Gmodels/src/main/java/com/haitongauto/models/forward/AppointForward.java,d\0\d03e76a59136a14fa8066c2c8ef504695396ecbc
+z
+Jwx-applet/src/main/java/com/haitongauto/rtosac/service/ForwardService.java,4\c\4c508532a867c4917781ef2cdbcf6f473513d834
+
+Swx-applet/src/main/java/com/haitongauto/rtosac/service/impl/ForwardServiceImpl.java,3\5\35facb9bc8a8209fae0ce1c89795e1d2c3ad6f47
+s
+Cmodels/src/main/java/com/haitongauto/models/forward/ForwardRes.java,9\e\9e382d895f27c6be6149fb9edd7006a4f8cc7620
+q
+Amapper/src/main/java/com/haitongauto/mapper/base/UsersMapper.java,3\e\3eb8b616fad63949baf9cc19039edc1d7f82fbe7
+
+Rinterfaces/src/main/java/com/haitongauto/interfaces/ReceivingVehicleInterface.java,b\8\b8dd1f762e69c42310e569148062705e4d6528d4
+o
+?utils/src/main/java/com/haitongauto/utils/FileDownloadUtil.java,a\a\aab4e028f1387b6217509a1f10c4af85d868df89
+x
+Hutils/src/main/java/com/haitongauto/utils/excel/ExcelGenerateHelper.java,0\2\02552c865807b6ec5b5810ff26d464634c64a560
+U
+%utils/src/test/java/QueueNumTest.java,e\8\e8d3dc3aeb5336ee4266b13e6c4e9034582ba9eb
+j
+:utils/src/main/java/com/haitongauto/utils/HttpRequest.java,8\b\8ba93fd608aa62c944f13fe1337cca54c59d43d0
+o
+?utils/src/main/java/com/haitongauto/utils/HttpClientHelper.java,7\5\7511e7d76e8d754bc61a8f2186013fde126f564c
+h
+8utils/src/main/java/com/haitongauto/utils/PostFiles.java,9\2\9243dcee6b275da145701708ff1768f9c298cb84
+p
+@utils/src/main/java/com/haitongauto/utils/QueueNumberHelper.java,8\6\861df28e089bf03fd61a50deaa57aa52b75d70ab
+t
+Dutils/src/main/java/com/haitongauto/utils/WaterMarkEventHandler.java,a\4\a41a0f3de065819c40a00cee182318530cebbf11
+r
+Bmodels/src/main/java/com/haitongauto/models/forward/UserTruck.java,1\0\1031dfb90767be9b19f80572dbc868398993532b
+
+gwx-applet-admin/src/main/java/com/haitongauto/rtosam/service/admin/Impl/PunchClockAdminServiceImpl.java,1\b\1b39f29d91549482d3e99c960fcab1aa3d87a37d
+x
+Hmodels/src/main/java/com/haitongauto/models/dto/AppointmentQueryExl.java,7\6\761978438f0f5b365291ef3872983e6d3bf6ae02
+w
+Gmodels/src/main/java/com/haitongauto/models/dto/PunchClockQueryExl.java,5\3\5344ba1309e1ad61186e77dc5c9be2de961e7f3e
+l
+
+models/pom.xml,a\7\a76b7ecd8dc2819b23a9678a9b3d2e5e7dc36fa5
+s
+Cmapper/src/main/java/com/haitongauto/mapper/base/MessageMapper.java,a\2\a268dac00f64471c56dfb0ef6a08b1c8d1ecc12d
+o
+?utils/src/main/java/com/haitongauto/utils/http/OkHttpUtils.java,e\9\e9eafbe6e2e2836bde50278c48b9c79bcb246fc1
+>
+mapper/pom.xml,e\9\e985cf73db6324fa0722a8c875f2f24ce0391c0a
+
+Swx-applet-admin/src/main/java/com/haitongauto/rtosam/service/base/TruckService.java,6\b\6b3cde8e18f577fca3fed4d413342f265dd13e42
+y
+Imapper/src/main/java/com/haitongauto/mapper/client/OtherExtendMapper.java,3\d\3da307280257f054bd1652efa59aa4f1173041e5
+B
+interfaces/pom.xml,4\8\48324963d3a7713c46a9f15dc2d8a4c86d3a5d6b
+
+Zinterfaces/src/main/java/com/haitongauto/interfaces/impl/CustomerServiceInterfaceImpl.java,1\4\14aeff4fce48685d3598dfbcf1eae75b82fb5477
+~
+Ninterfaces/src/main/java/com/haitongauto/interfaces/impl/DicInterfaceImpl.java,e\5\e5781b8bbc743fa991b8bd0046ce0c7f15f63420
+
+Ointerfaces/src/main/java/com/haitongauto/interfaces/impl/UserInterfaceImpl.java,8\6\8628db2549484dbdd00145562e002d2ee77b42c3
+
+Qinterfaces/src/main/java/com/haitongauto/interfaces/CustomerServiceInterface.java,5\e\5e8ef080274a75b28de2c0901fa0f3649c647fed
+u
+Einterfaces/src/main/java/com/haitongauto/interfaces/DicInterface.java,e\8\e813c9c7bd99f184ef22975d73e311436a757608
+~
+Nmapper/src/main/java/com/haitongauto/mapper/admin/AnnouncementAdminMapper.java,3\f\3f4475aad362936926bbad1ab4d43cf9e7e0873c
+z
+Jwx-applet/src/main/java/com/haitongauto/rtosac/service/VehicleService.java,a\b\abcf7453e343e44ae1a7959e070e055ee13093bd
+
+Swx-applet/src/main/java/com/haitongauto/rtosac/service/impl/VehicleServiceImpl.java,1\c\1c0383ad33f4617d618e9c59d8593b1f2694df4a
+
+[interfaces/src/main/java/com/haitongauto/interfaces/impl/ReceivingVehicleInterfaceImpl.java,6\3\63add82a11c5f1e898e80ac2c05d620f0345baab
+
+Xinterfaces/src/main/java/com/haitongauto/interfaces/impl/EnterPortTypeInterfaceImpl.java,f\1\f11b11e3f6265dd1f67695f77b3bf80dd2df9632
+
+Rwx-applet-admin/src/main/java/com/haitongauto/rtosam/api/HeathCheckController.java,0\3\03365aaf47b880ef9296a2b4a0f51418666baecb
+|
+Lwx-applet/src/main/java/com/haitongauto/rtosac/api/HeathCheckController.java,3\d\3db16e808cfe24b699714e3351777bd77e426371
+|
+Lmapper/src/main/java/com/haitongauto/mapper/admin/PunchClockAdminMapper.java,9\9\998f76a50dcec8f863d17c203b2e9ee77961304d
+
+Wwx-applet-admin/src/main/java/com/haitongauto/rtosam/api/base/PunchClockController.java,2\2\22ada3eb1ec4228158fd2930a7fa966d0c270387
+m
+=models/src/main/java/com/haitongauto/models/pojo/Message.java,a\8\a80268239bd2b8d87d7a7b28cb38e31c165b01bb
+?
+utils/utils.iml,a\0\a0e6938413f3b712a040abfebb3c34a812681dd1
+n
+>models/src/main/java/com/haitongauto/models/pojo/Feedback.java,e\4\e4c8547fea590d62d311ca1801c0af15ea4e55d1
+s
+Cmodels/src/main/java/com/haitongauto/models/pojo/EntryInstruct.java,6\1\61d60b5ba46d1d99530270d490155d0fa3810a3f
+
+Xmodels/src/main/java/com/haitongauto/models/ido/departure/pc/DepartureVehicleIdo_pc.java,9\9\99a80c8be79b3d5d1098adf8ceb8d3413d724c5d
+
+[models/src/main/java/com/haitongauto/models/ido/departure/pc/DepartureVehicleIdoPar_pc.java,c\1\c1b176e6cbf46c788228f7ffb0eaccf7e5a20545
+{
+Kmodels/src/main/java/com/haitongauto/models/ido/departure/DepDetailIdo.java,0\b\0b7c5d56178fd8495bc11ba706c09af64e3a924f
+~
+Nmodels/src/main/java/com/haitongauto/models/ido/login/UserAuthResponseDto.java,9\0\90be60628252961d421ae0a0c39008012d3526f5
+
+Umodels/src/main/java/com/haitongauto/models/ido/login/UserLoginOrRegisterRequest.java,b\d\bde4a1ea7861074c176a2928deac75511caedb1c
+s
+Cmodels/src/main/java/com/haitongauto/models/ido/login/UsersIdo.java,6\9\692e74812198845f3bd7983d41084ab9e71ca79d
+u
+Emodels/src/main/java/com/haitongauto/models/ido/RecAndDepInfoIdo.java,7\a\7a1d78e2a987dc3278f199862286a8b68eec46d6
+v
+Fmodels/src/main/java/com/haitongauto/models/pojo/DepartureVehicle.java,a\d\ad83cca623ee8401ce239080ecc0b2ee4d3fa84a
+n
+>models/src/main/java/com/haitongauto/models/pojo/PortArea.java,3\2\32123655e531e992d484916703aba6155a48cee9
+o
+?utils/src/main/java/com/haitongauto/utils/PageEventHandler.java,d\3\d3a5711ad314d077d45d0c9c3014fe5fdcac2502
+g
+7utils/src/main/java/com/haitongauto/utils/PdfUtils.java,b\4\b45321aa378c843f0d55ff000a07f8c03420b9d0
+n
+>utils/src/main/java/com/haitongauto/utils/minio/MinioProp.java,4\6\465f2034cc17c32d6a30777d7e04f87b683459aa
+
+Tutils/src/main/java/com/haitongauto/utils/excel/ExcelCustomCellWriteWidthConfig.java,5\7\57a104bad0e2a5230067ed5fe37f732e8511e3d9
+G
+wx-applet-admin/pom.xml,a\a\aadd201f0c409bc7d0e4ef2cd83bfb3b41f0d379
+|
+Lmapper/src/main/java/com/haitongauto/mapper/admin/StatisticsAdminMapper.java,5\1\51f232a03c91ecf408cae7ec02f8e8052e1fff51
+
+Ywx-applet-admin/src/main/java/com/haitongauto/rtosam/service/admin/UsersAdminService.java,a\f\afa7c2f5cb8a8497f3d8aeea95b5b917a383cd8a
+
+bwx-applet-admin/src/main/java/com/haitongauto/rtosam/service/admin/Impl/UsersAdminServiceImpl.java,d\6\d67925b000a9627ea409ca73cb2c5b2f2675ebbd
+
+\wx-applet-admin/src/main/java/com/haitongauto/rtosam/service/admin/FeedbackAdminService.java,7\b\7b7de6a4f762588c2d559fc055c20448b508eb0e
+
+ewx-applet-admin/src/main/java/com/haitongauto/rtosam/service/admin/Impl/FeedbackAdminServiceImpl.java,8\1\8129d52b3fa104f7239e2157f6732c74087a3281
+z
+Jmapper/src/main/java/com/haitongauto/mapper/admin/FeedbackAdminMapper.java,8\e\8ee32f67ee6ac86794f79f76189265af208ceadc
+
+`wx-applet-admin/src/main/java/com/haitongauto/rtosam/service/admin/AnnouncementAdminService.java,d\9\d9f03fb6a0777c141ecfa42fdb8b690a8f45dd59
+
+iwx-applet-admin/src/main/java/com/haitongauto/rtosam/service/admin/Impl/AnnouncementAdminServiceImpl.java,d\b\db80f908a66f4457149cd9422102aaa883d18281
+
+owx-applet-admin/src/main/java/com/haitongauto/rtosam/service/admin/Impl/NoviceIntroductionAdminServiceImpl.java,7\1\7100b8e117eacbb7250edf0e635a6aa2da591e97
+
+awx-applet-admin/src/main/java/com/haitongauto/rtosam/service/admin/Impl/TableHeadServiceImpl.java,8\8\8846299f08e330dca499515700b3b11f842be26e
+o
+?mapper/src/main/java/com/haitongauto/mapper/base/DicMapper.java,9\e\9efeefc3a4b815b9276d69b40c9b8e08d9a1eede
+
+Swx-applet-admin/src/main/java/com/haitongauto/rtosam/service/base/UsersService.java,4\a\4a1273075dee9ac0e34f940628297d5e0ecb8780
+w
+Gmodels/src/main/java/com/haitongauto/models/valid/cus/ValidRequest.java,f\5\f52e7de51f7eb3627f38fa42a817aae81eab2422
+t
+Dwx-applet/src/main/java/com/haitongauto/rtosac/fangdou/Debounce.java,8\3\8381977011115c09e09fbf688c8cab7baaaa5f2d
+}
+Mwx-applet/src/main/java/com/haitongauto/rtosac/fangdou/DebounceInterface.java,8\e\8ecb10f6a935309e4e267c9aabd031820f0bdf42
+i
+9models/src/main/java/com/haitongauto/models/pojo/Dic.java,e\b\eb649a8fce1a69f7a9bcdbaa4d273533cce7cec9
+n
+>models/src/main/java/com/haitongauto/models/open/TruckIdo.java,9\e\9e91b136fd2545a7b734d0177dc2f545fe13ac60
+w
+Gwx-applet/src/main/java/com/haitongauto/rtosac/service/NewsService.java,0\c\0c82535029e7f53ef773c6f92d1d9f8141cd8704
+
+Pwx-applet/src/main/java/com/haitongauto/rtosac/service/impl/NewsServiceImpl.java,d\4\d4f0f0cecf6b295a27ccf0618333c718280752dd
+
+Twx-applet-admin/src/main/java/com/haitongauto/rtosam/api/admin/TbHeadController.java,6\9\69e24b5668f9e9efd0e362ba526745c473c91a1e
+
+Zwx-applet-admin/src/main/java/com/haitongauto/rtosam/api/base/AnnouncementsController.java,b\c\bc527329dbf7cc7d4ce848bc8078e6e415a3fed4
+
+Xwx-applet-admin/src/main/java/com/haitongauto/rtosam/api/base/AppointmentController.java,6\8\68ba2261a127973f1ae3b918d3f9e06a4a4762bd
+
+_wx-applet-admin/src/main/java/com/haitongauto/rtosam/api/base/NoviceIntroductionController.java,1\f\1f0a616a99b0f5ac286f90a69671caa063caa581
+
+Rwx-applet-admin/src/main/java/com/haitongauto/rtosam/api/base/TruckController.java,d\a\da4100f3fc4a1131c8a18930a4a3b8f0a4ce2c1c
+
+Rwx-applet-admin/src/main/java/com/haitongauto/rtosam/api/base/UsersController.java,a\8\a8f14b3063fe6f65ce81aaad67342427ba595c78
+
+\wx-applet-admin/src/main/java/com/haitongauto/rtosam/api/base/TruckManagementController.java,7\8\78aa76e42b5ad97c470991c86d33217b8d3b8219
\ No newline at end of file
diff --git a/.idea/uiDesigner.xml b/.idea/uiDesigner.xml
new file mode 100644
index 0000000..2b63946
--- /dev/null
+++ b/.idea/uiDesigner.xml
@@ -0,0 +1,124 @@
+
+
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+
+
+
+ -
+
+
+
+
+
+ -
+
+
+
+
+
+ -
+
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+
+
+ -
+
+
+ -
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
new file mode 100644
index 0000000..94a25f7
--- /dev/null
+++ b/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Applet-Service-v2(2).rar b/Applet-Service-v2(2).rar
new file mode 100644
index 0000000..733cc0f
Binary files /dev/null and b/Applet-Service-v2(2).rar differ
diff --git a/interfaces/interfaces.iml b/interfaces/interfaces.iml
new file mode 100644
index 0000000..4058726
--- /dev/null
+++ b/interfaces/interfaces.iml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/interfaces/pom.xml b/interfaces/pom.xml
new file mode 100644
index 0000000..cb22cb0
--- /dev/null
+++ b/interfaces/pom.xml
@@ -0,0 +1,91 @@
+
+
+
+ rtos-wh
+ org.example
+ 1.0-SNAPSHOT
+
+ 4.0.0
+ interfaces
+
+ 1.8
+ 1.8
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter
+
+
+ org.springframework.boot
+ spring-boot-starter-web
+
+
+ com.alibaba
+ fastjson
+ 1.2.7
+
+
+ org.projectlombok
+ lombok
+
+
+ org.example
+ models
+ 1.0-SNAPSHOT
+
+
+ org.example
+ mapper
+ 1.0-SNAPSHOT
+
+
+ org.example
+ utils
+ 1.0-SNAPSHOT
+
+
+ com.bestvike
+ linq
+ 3.1.0
+ compile
+
+
+ com.nuzar
+ rtops-openapi-client
+ 1.0-SNAPSHOT
+ compile
+
+
+ com.github.pagehelper
+ pagehelper
+ 5.3.2
+ compile
+
+
+ org.springframework.cloud
+ spring-cloud-starter-openfeign
+
+
+ com.nuzar
+ nuzar-security
+ 2.6.14.10-SNAPSHOT
+ compile
+
+
+ junit
+ junit
+ test
+
+
+ top.jfunc.json
+ Json-Gson
+ 1.0
+
+
+
+
+
\ No newline at end of file
diff --git a/interfaces/src/main/java/com/haitongauto/interfaces/CusOrderApi.java b/interfaces/src/main/java/com/haitongauto/interfaces/CusOrderApi.java
new file mode 100644
index 0000000..1fd7c46
--- /dev/null
+++ b/interfaces/src/main/java/com/haitongauto/interfaces/CusOrderApi.java
@@ -0,0 +1,116 @@
+package com.haitongauto.interfaces;
+
+import com.haitongauto.models.ido.BasicDataIdo;
+import com.haitongauto.models.ido.CustomerRes;
+import com.haitongauto.models.ido.ShipVoyIdo;
+import com.haitongauto.models.valid.cus.ValidCusVin;
+import com.haitongauto.models.valid.cus.ValidRequest;
+import com.nuzar.common.security5.core.interceptor.OauthFeignInterceptor;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestParam;
+
+import java.util.List;
+
+//@FeignClient(name = "customer", url = "https://rtops4.haitongauto.com/tos/customer", configuration = {OauthFeignInterceptor.class})
+@FeignClient(name = "nuzar-customer-boss", configuration = {OauthFeignInterceptor.class})
+public interface CusOrderApi {
+ /**
+ * 内贸出口 船名
+ *
+ * @return 返回 出口 船名/航次
+ * 内贸出口 船名获取的是 所有船名
+ * 邓军读取哪吒根接口 basic-service/shipManage/queryAllShipManage
+ * 2024-4-2夜 王琛 提出添加分页需求
+ * 2024-4-3王文文和王琛讨论,鉴于数据量不大,确认接口不修改,继续沿用该接口
+ */
+ @PostMapping("/dd/ship/all")
+ CustomerRes> getNEOutPlanShipList(@RequestParam("q") String q);
+
+ /**
+ * 外贸出口 船名
+ * 外贸出口 船名取自出口计划审核通过内的船名
+ * @return 返回 出口 船名/航次
+ */
+ @PostMapping("/ee/plan/ship")
+ CustomerRes> getWEOutPlanShipList(@RequestParam("q") String q,
+ @RequestParam("portAreaId")String portAreaId,
+ @RequestParam("current") int current,
+ @RequestParam("size") int size);
+
+ /**
+ * 内贸出口港口
+ *
+ * @return 返回出口港口
+ */
+ @PostMapping("/dd/port")
+ CustomerRes> getNEOutPlanPortsList(@RequestParam("q") String q);
+
+ /**
+ * 外贸出口港口
+ *
+ * @return 返回出口港口
+ */
+ @PostMapping("/ee/plan/port")
+ CustomerRes> getWEOutPlanPortsList(@RequestParam("q") String q,
+ @RequestParam("shipId") String shipId,
+ @RequestParam("current") int current,
+ @RequestParam("size") int size);
+
+ /**
+ * 内贸出口品牌
+ *
+ * @return 返回出口品牌 /
+ */
+ @PostMapping("/dd/brand")
+ CustomerRes> getNEOutPlanBrandsList(@RequestParam("q") String q);
+
+ /**
+ * 外贸出口品牌
+ *
+ * @return 返回出口品牌 /customer/dd/brand
+ */
+ @PostMapping("/ee/voyage/brand")
+ CustomerRes> getWEOutPlanBrandsList(@RequestParam("q") String q,
+ @RequestParam("shipName") String shipName,
+ @RequestParam("current") int current,
+ @RequestParam("size") int size);
+
+
+ /**
+ * 进口 船名/航次
+ *
+ * @return 返回 进口 船名/航次
+ */
+ @PostMapping("/it/shipVoyage")
+ CustomerRes> getInPlanShipVoyList(@RequestParam("q") String q);
+
+ /**
+ *
+ * @return 返回进口港口
+ */
+ @PostMapping("/it/shipVoyage")
+ CustomerRes> getInPlanPortsList(@RequestParam("q") String q);
+
+ /**
+ * 进口品牌
+ *
+ * @return 返回进口品牌
+ */
+ @PostMapping("/it/shipVoyage")
+ CustomerRes> getInPlanBrandsList(@RequestParam("q") String q,
+ @RequestParam("shipName") String shipName,
+ @RequestParam("voyage") String voyage);
+
+
+ /**
+ * 验证vins是否被激活
+ *
+ * @return 返回未激活的vins
+ */
+ @PostMapping("/spz/valid-vins")
+ com.haitongauto.models.res.Response> getCheckVinISValid(@RequestBody ValidRequest validRequest);
+
+
+}
diff --git a/interfaces/src/main/java/com/haitongauto/interfaces/CustomerServiceInterface.java b/interfaces/src/main/java/com/haitongauto/interfaces/CustomerServiceInterface.java
new file mode 100644
index 0000000..6c0ca5f
--- /dev/null
+++ b/interfaces/src/main/java/com/haitongauto/interfaces/CustomerServiceInterface.java
@@ -0,0 +1,23 @@
+package com.haitongauto.interfaces;
+import com.haitongauto.models.ido.BasicDataIdo;
+import com.haitongauto.models.ido.ShipVoyIdo;
+import java.util.List;
+
+public interface CustomerServiceInterface {
+ /**
+ * 获取 船名/航次/品牌/港口/国家数据列表
+ * @param requestType 请求类型
+ * @return 返回数据
+ */
+ List getBasicMapData(String param, Integer requestType);
+
+ List getShipVoyIdoList(String param, Integer requestType);
+
+ /**
+ * 获取提单号列表
+ *
+ * @return 返回提单号列表
+ */
+ List getBillNumMapData(String q );
+
+}
diff --git a/interfaces/src/main/java/com/haitongauto/interfaces/DepartureVehicleInterface.java b/interfaces/src/main/java/com/haitongauto/interfaces/DepartureVehicleInterface.java
new file mode 100644
index 0000000..c8cf4ba
--- /dev/null
+++ b/interfaces/src/main/java/com/haitongauto/interfaces/DepartureVehicleInterface.java
@@ -0,0 +1,34 @@
+package com.haitongauto.interfaces;
+import com.haitongauto.models.ido.departure.DepartureDetailIdo_DTO;
+import com.haitongauto.models.ido.departure.DepartureVehicleIdo_DTO;
+
+/**
+ * 提车凭证接口
+ */
+public interface DepartureVehicleInterface {
+ /**
+ * 获取提车凭证的分页数据
+ *
+ * @param current 当前页码
+ * @param size 数据条数(非必填
+ * @return 返回提车凭证的分页数据
+ */
+ DepartureVehicleIdo_DTO getDepartureVehicleList(String printTicketTime, String query, Integer current, Integer size);
+
+ /**
+ * 获取一条提车明细
+ *
+ * @param id:提车id
+ * @return 返回一条提车明细
+ */
+ DepartureDetailIdo_DTO getDepartureDetailForId(String id);
+
+ /**
+ * 完成提车核验
+ *
+ * @param id:提车id
+ * @return 返回完成提车核验结果
+ */
+ boolean checkDepartureVehicle(String id);
+
+}
diff --git a/interfaces/src/main/java/com/haitongauto/interfaces/DicInterface.java b/interfaces/src/main/java/com/haitongauto/interfaces/DicInterface.java
new file mode 100644
index 0000000..56bacc6
--- /dev/null
+++ b/interfaces/src/main/java/com/haitongauto/interfaces/DicInterface.java
@@ -0,0 +1,29 @@
+package com.haitongauto.interfaces;
+import com.haitongauto.models.dto.DicDto;
+import java.util.List;
+
+/**
+ * 通用数据字典表(数据源自RTOS)
+ * 运输方式 TRANSPORT_TYPE
+ * 进港类型 ENTER_PORT_TYPE
+ * 货物类型 APP_CARGO_TYPE
+ * 操作模式 OPERATING_MODE
+ * 备 件 MACHINE_TYPE
+ */
+public interface DicInterface {
+ /**
+ * 获取通用字典接口数据
+ *
+ * @param dic_sort :数据类型字符串(该参数直接拼接到接口URL)
+ * 运输方式 TRANSPORT_TYPE
+ * 进港类型 ENTER_PORT_TYPE
+ * 货物类型 APP_CARGO_TYPE
+ * 操作模式 OPERATING_MODE
+ * 备件 MACHINE_TYPE
+ * @return 返回通用字典接口数据
+ */
+ List getDicList(String dic_sort);
+
+ String picUpload(String pic);
+
+}
diff --git a/interfaces/src/main/java/com/haitongauto/interfaces/EnterPortTypeInterface.java b/interfaces/src/main/java/com/haitongauto/interfaces/EnterPortTypeInterface.java
new file mode 100644
index 0000000..d91f1f1
--- /dev/null
+++ b/interfaces/src/main/java/com/haitongauto/interfaces/EnterPortTypeInterface.java
@@ -0,0 +1,9 @@
+package com.haitongauto.interfaces;
+import com.haitongauto.models.dto.EnterPortTypeDtol;
+import org.springframework.stereotype.Service;
+import java.util.List;
+
+@Service
+public interface EnterPortTypeInterface {
+ List getEnterPortTypeList();
+}
diff --git a/interfaces/src/main/java/com/haitongauto/interfaces/OrderApi.java b/interfaces/src/main/java/com/haitongauto/interfaces/OrderApi.java
new file mode 100644
index 0000000..f32ded6
--- /dev/null
+++ b/interfaces/src/main/java/com/haitongauto/interfaces/OrderApi.java
@@ -0,0 +1,173 @@
+package com.haitongauto.interfaces;
+
+import com.haitongauto.models.dto.EnterPortTypeDto;
+import com.haitongauto.models.ido.CheckRes;
+import com.haitongauto.models.ido.CommonRes;
+import com.haitongauto.models.ido.DictionaryIdo;
+import com.haitongauto.models.ido.PortAreasIdo;
+import com.haitongauto.models.ido.departure.DepartureDetailIdo;
+import com.haitongauto.models.ido.departure.DepartureVehicleIdoPar;
+import com.haitongauto.models.ido.departure.pc.DepartureVehicleIdoPar_pc;
+import com.haitongauto.models.ido.login.*;
+import com.haitongauto.models.ido.receiving.ReceivingDetailIdo;
+import com.haitongauto.models.ido.receiving.ReceivingVehicleIdoPar;
+import com.haitongauto.models.ido.receiving.pc.ReceivingVehicleIdoPar_pc;
+import com.haitongauto.models.valid.naz.CargoInfoNaz;
+import com.haitongauto.models.valid.naz.res.NarRes;
+import com.nuzar.common.security5.core.interceptor.OauthFeignInterceptor;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.*;
+import java.util.List;
+
+/**
+ * 通用数据字典表(数据源自RTOS)
+ * 运输方式 TRANSPORT_TYPE
+ * 进港类型 ENTER_PORT_TYPE
+ * 货物类型 CARGO_TYPE
+ * 操作模式 OPERATING_MODE
+ * 备 件 MACHINE_TYPE
+ */
+//@FeignClient(name = "rtos-openapi", url = "https://rtops4.haitongauto.com/tos/api", configuration = {OauthFeignInterceptor.class})
+@FeignClient(name = "rtos-openapi", configuration = {OauthFeignInterceptor.class})
+public interface OrderApi {
+ /**
+ * 登录
+ *
+ * @param loginRequest loginRequest
+ * @return 登录结果
+ */
+ @GetMapping("/miniapp/login")
+ @ResponseBody
+ CommonRes login(@RequestBody UserLoginOrRegisterRequest loginRequest);
+
+ /**
+ * 获得用户id和用户openid
+ *
+ * @return 登录结果
+ */
+ @PutMapping("/miniapp/user/update")
+ @ResponseBody
+ CommonRes updateUser(@RequestBody UsersIdo usersIdo);
+
+ //String updateUser(@RequestBody UsersIdo usersIdo);
+
+ /**
+ * 字典数据
+ *
+ * @return 返回字典数据
+ */
+ @GetMapping("/miniapp/typeRef/domain/{domain}")
+ CommonRes> dicData(@RequestParam("domain") String domain);
+
+ /**
+ * 港区列表数据
+ *
+ * @return 返回港区列表
+ */
+ @GetMapping("/miniapp/portAreaManage/getPortArea")
+ CommonRes> getPortAreasIdoList(@RequestParam("pamName") String pamName);
+
+ /**
+ * 收车分页数据
+ *
+ * @return 返回收车分页数据
+ */
+ @GetMapping("/miniapp/vehicleClose/collectCar/page")
+ CommonRes getReceivingVehicleList(@RequestParam("printTicketTime") String printTicketTime,
+ @RequestParam("query") String query,
+ @RequestParam("current") Integer current,
+ @RequestParam("size") Integer size);
+
+ /**
+ * 收车详情
+ *
+ * @return 返回收车详情
+ */
+ @GetMapping("/miniapp/vehicleClose/collectCar/detail/{id}")
+ CommonRes getReceivingDetailForId(@RequestParam("id") String id);
+
+ /**
+ * 收车核验
+ *
+ * @return 返回收车核验
+ */
+ @PostMapping("/miniapp/vehicleClose/collectCar/confirm")
+ CommonRes checkReceivingVehicle(@RequestBody String id);
+
+ /**
+ * 提(发)车分页数据
+ *
+ * @return 返回提车分页数据
+ */
+ @GetMapping("/miniapp/delivery/pickUpCar/page")
+ CommonRes getDepartureVehicleList(@RequestParam("printTicketTime") String printTicketTime, @RequestParam("query") String query, @RequestParam("current") Integer current, @RequestParam("size") Integer size);
+
+ /**
+ * 提(发)车详情
+ * @return 返回提车详情
+ */
+ @GetMapping("/miniapp/delivery/pickUpCar/detail/{id}")
+ CommonRes getDepartureDetailForId(@RequestParam("id") String id);
+
+ /**
+ * 提(发)车核验
+ *
+ * @return 返回提(发)车核验
+ */
+ @PostMapping("/miniapp/delivery/pickUpCar/confirm")
+ CommonRes checkDepartureVehicle(@RequestBody String id);
+
+ /**
+ * 获取进港类型和业务类型
+ *
+ * @return 返回
+ */
+ @GetMapping("/miniapp/enterptType/dict")
+ CommonRes> getEnterPortType();
+ ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+
+ /**
+ * 根据条件查询所有的收车凭证列表(海通后台使用)
+ *
+ * @param spmId 船名
+ * @param bvmId 货物类型
+ * @param query 关键字(手机号、板车号、编号)
+ * @return 返回 收车凭证列表
+ */
+ @GetMapping("/miniapp/vehicleClose/collect/cars/page")
+ CommonRes getReceiveListByCondition(@RequestParam("spmId") String spmId, @RequestParam("bvmId") String bvmId, @RequestParam("query") String query, @RequestParam("current") Integer current, @RequestParam("size") Integer size);
+
+ /**
+ * 根据条件查询所有的发车凭证列表(海通后台使用)
+ *
+ * @param spmId 船名
+ * @param bvmId 货物类型
+ * @param query 关键字(手机号、板车号、编号)
+ * @return 返回 收车凭证列表
+ */
+ @GetMapping("/miniapp/delivery/pickUp/cars/page")
+ CommonRes getDepartureListByCondition(@RequestParam("spmId") String spmId, @RequestParam("bvmId") String bvmId, @RequestParam("query") String query, @RequestParam("current") Integer current, @RequestParam("size") Integer size);
+
+// /**
+// * 特保区车辆预约接口(智云接口)
+// */
+// @PostMapping("/special/vehicleReserve")
+// NarRes vehicleReserve(@RequestBody CargoInfoNaz cargoInfoNaz);
+
+ /**
+ * 特保区车辆预约接口(智云接口)
+ */
+ @PostMapping("/special/vehicleReserve")
+ NarRes vehicleReserve(@RequestBody CargoInfoNaz cargoInfoNaz);
+
+ /**
+ * 特保区车辆预约接口(智云取消接口)
+ *
+ * @param orderno
+ * @return
+ */
+ @PostMapping("/special/vehicleCancelReserve")
+ NarRes vehicleCancelReserve(@RequestParam("orderno") String orderno);
+
+
+}
\ No newline at end of file
diff --git a/interfaces/src/main/java/com/haitongauto/interfaces/PortAreaInterface.java b/interfaces/src/main/java/com/haitongauto/interfaces/PortAreaInterface.java
new file mode 100644
index 0000000..201b5a9
--- /dev/null
+++ b/interfaces/src/main/java/com/haitongauto/interfaces/PortAreaInterface.java
@@ -0,0 +1,15 @@
+package com.haitongauto.interfaces;
+import com.haitongauto.models.pojo.PortArea;
+import java.util.List;
+
+/**
+ * 港区接口服务
+ */
+public interface PortAreaInterface {
+ /**
+ * 获取RTOS港区列表数据
+ * @return 返回港区列表数据
+ */
+ List getPortArea();
+
+}
diff --git a/interfaces/src/main/java/com/haitongauto/interfaces/ReceivingVehicleInterface.java b/interfaces/src/main/java/com/haitongauto/interfaces/ReceivingVehicleInterface.java
new file mode 100644
index 0000000..5a262ee
--- /dev/null
+++ b/interfaces/src/main/java/com/haitongauto/interfaces/ReceivingVehicleInterface.java
@@ -0,0 +1,39 @@
+package com.haitongauto.interfaces;
+import com.haitongauto.models.ido.receiving.ReceivingDetailIdo_DTO;
+import com.haitongauto.models.ido.receiving.ReceivingVehicleIdo_DTO;
+/**
+ * 收车凭证接口服务
+ */
+public interface ReceivingVehicleInterface {
+ /**
+ * 获取收车凭证的分页数据
+ *
+ * @param current 当前页码
+ * @param size 数据条数(非必填)
+ * @return 返回收车凭证的分页数据
+ */
+ ReceivingVehicleIdo_DTO getReceivingVehicleList(String printTime, String query, Integer current, Integer size);
+
+ /**
+ * 获取一条收车明细
+ *
+ * @param id:收车id
+ * @return 返回一条收车明细
+ */
+ ReceivingDetailIdo_DTO getReceivingDetailForId(String id);
+
+ /**
+ * 完成收车核验
+ *
+ * @param id:收车id
+ * @return 返回完成收车核验结果
+ */
+ boolean checkReceivingVehicle(String id);
+
+
+
+
+
+
+
+}
diff --git a/interfaces/src/main/java/com/haitongauto/interfaces/UserInterface.java b/interfaces/src/main/java/com/haitongauto/interfaces/UserInterface.java
new file mode 100644
index 0000000..58ebbfa
--- /dev/null
+++ b/interfaces/src/main/java/com/haitongauto/interfaces/UserInterface.java
@@ -0,0 +1,17 @@
+package com.haitongauto.interfaces;
+import com.haitongauto.models.ido.login.UserLoginOrRegisterRequest;
+import com.haitongauto.models.ido.login.UserLoginOrRegisterResponse;
+/**
+ * 用户登录/注册
+ * 调用哪吒接口
+ */
+public interface UserInterface {
+ /**
+ * 用户登录/注册
+ *
+ * @param request 请求入参
+ * @return 返回出参实体
+ */
+ UserLoginOrRegisterResponse userLoginOrRegister(UserLoginOrRegisterRequest request);
+
+}
diff --git a/interfaces/src/main/java/com/haitongauto/interfaces/UsersApi.java b/interfaces/src/main/java/com/haitongauto/interfaces/UsersApi.java
new file mode 100644
index 0000000..955802f
--- /dev/null
+++ b/interfaces/src/main/java/com/haitongauto/interfaces/UsersApi.java
@@ -0,0 +1,19 @@
+package com.haitongauto.interfaces;
+import com.haitongauto.models.ido.CommonRes;
+import com.haitongauto.models.ido.login.UserInfoRes;
+import com.nuzar.common.security5.core.interceptor.OauthFeignInterceptor;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+//FeignClient(name = "auth-server", url = "https://rtops4.haitongauto.com/auth", configuration = {OauthFeignInterceptor.class})
+@FeignClient(name = "auth-server",url = "${auth-server}",configuration = {OauthFeignInterceptor.class})
+public interface UsersApi {
+ /**
+ * 获得用户id和用户openid
+ * @return 登录结果
+ */
+ @PostMapping("/saas/authorization/user/info")
+ @ResponseBody
+ CommonRes getUserInfo();
+}
diff --git a/interfaces/src/main/java/com/haitongauto/interfaces/YardOrderApi.java b/interfaces/src/main/java/com/haitongauto/interfaces/YardOrderApi.java
new file mode 100644
index 0000000..37d1566
--- /dev/null
+++ b/interfaces/src/main/java/com/haitongauto/interfaces/YardOrderApi.java
@@ -0,0 +1,22 @@
+package com.haitongauto.interfaces;
+import com.haitongauto.models.dto.open.YardGoodsStateRespDTO;
+import com.haitongauto.models.ido.CommonRes;
+import com.nuzar.common.security5.core.interceptor.OauthFeignInterceptor;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+
+import java.util.List;
+
+//@FeignClient(name = "yard-service", url = "https://rtops4.haitongauto.com/tos/yard", configuration = {OauthFeignInterceptor.class})
+@FeignClient(name = "yard-service", configuration = {OauthFeignInterceptor.class})
+public interface YardOrderApi {
+ /**
+ * 验证车辆是否在场
+ *
+ * @param vins 车架号
+ * @return 返回结果
+ */
+ @PostMapping("/yardGoods/checkInYardFLag")
+ CommonRes> checkInYardFLag(@RequestBody List vins);
+}
diff --git a/interfaces/src/main/java/com/haitongauto/interfaces/impl/CustomerServiceInterfaceImpl.java b/interfaces/src/main/java/com/haitongauto/interfaces/impl/CustomerServiceInterfaceImpl.java
new file mode 100644
index 0000000..a266709
--- /dev/null
+++ b/interfaces/src/main/java/com/haitongauto/interfaces/impl/CustomerServiceInterfaceImpl.java
@@ -0,0 +1,250 @@
+package com.haitongauto.interfaces.impl;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.haitongauto.interfaces.CustomerServiceInterface;
+import com.haitongauto.mapper.base.RequesterMapper;
+import com.haitongauto.models.ido.BasicDataIdo;
+import com.haitongauto.models.ido.ShipVoyIdo;
+import com.haitongauto.models.pojo.Requester;
+import com.haitongauto.utils.HttpRequest;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+@Slf4j
+@Service
+public class CustomerServiceInterfaceImpl implements CustomerServiceInterface {
+ @Autowired
+ RequesterMapper requesterMapper;
+
+ /**
+ * 获取 船名/航次/品牌/港口/国家数据列表
+ *
+ * @param param 入参
+ * @param requestType 请求类型 船名 = 1006 / 航次 = 1007 / 品牌 = 1008 / 港口 = 1009 / 国家 = 1010
+ * @return 返回数据
+ */
+ @Override
+ public List getBasicMapData(String param, Integer requestType) {
+ List myList = new ArrayList<>();
+ if (true) {
+ //获取港区外部接口及参数(航次接口类型参数requestType=1007)
+ Requester requester = requesterMapper.getRequesterForType(requestType);
+ if (requester == null || requester.getUrl() == null || requester.getUrl().equals("")) {
+ System.out.println("请在小程序数据库外部请求接口表添加【船名/航次/品牌/港口/国家等的接口数据】");
+ log.error("请在数据库配置【船名/航次/品牌/港口/国家等的接口】的url及入参!");
+ return null;
+ }
+ //请求参数
+ String url = requester.getUrl();
+ String myParam = param;
+
+ //获取接口数据
+ String res = HttpRequest.sendPost(url, myParam);
+ if (res == null || res.isEmpty()) {
+ log.error("RTOS接口请求【船名/航次/品牌/港口/国家】数据失败!");
+ return null;
+ }
+ //接口数据转Map
+ Map map = JSONObject.parseObject(res, Map.class);
+
+ Map ship_map = new HashMap<>();
+ //List myList = new ArrayList<>();
+ //判断接口数据获取是否成功
+ if (map.get("code").equals("200") || map.get("msg").equals("success")) {
+ //接口数据获取成功,将接口的Map的data数据转为接口对象数据
+ //船名航次
+ if (requestType.equals(1006)) {
+ List shipVoyIdoList = JSONArray.parseArray(map.get("data").toString(), ShipVoyIdo.class);
+
+ } else {
+ myList = JSONArray.parseArray(map.get("data").toString(), BasicDataIdo.class);
+ }
+ }
+ }
+
+ //伪代码,测试使用
+ if (false) {
+ //请求类型,船名 = 1006 / 航次 = 1007 / 品牌 = 1008 / 港口 = 1009 / 国家 = 1010
+ switch (requestType) {
+ case 1006: {
+ BasicDataIdo basicDataIdo1 = new BasicDataIdo();
+ basicDataIdo1.setId("1");
+ basicDataIdo1.setText("长江1号");
+ BasicDataIdo basicDataIdo2 = new BasicDataIdo();
+ basicDataIdo2.setId("2");
+ basicDataIdo2.setText("长江2号");
+ BasicDataIdo basicDataIdo3 = new BasicDataIdo();
+ basicDataIdo3.setId("3");
+ basicDataIdo3.setText("长江3号");
+ myList.add(basicDataIdo1);
+ myList.add(basicDataIdo2);
+ myList.add(basicDataIdo3);
+ break;
+ }
+ case 1007: {
+ BasicDataIdo basicDataIdo4 = new BasicDataIdo();
+ basicDataIdo4.setId("4");
+ basicDataIdo4.setText("hangCi1");
+ BasicDataIdo basicDataIdo5 = new BasicDataIdo();
+ basicDataIdo5.setId("5");
+ basicDataIdo5.setText("hangCi2");
+ BasicDataIdo basicDataIdo6 = new BasicDataIdo();
+ basicDataIdo6.setId("6");
+ basicDataIdo6.setText("hangCi3");
+ myList.add(basicDataIdo4);
+ myList.add(basicDataIdo5);
+ myList.add(basicDataIdo6);
+ break;
+ }
+
+ case 1008: {
+ BasicDataIdo basicDataIdo7 = new BasicDataIdo();
+ basicDataIdo7.setId("7");
+ basicDataIdo7.setText("测试品牌1");
+ BasicDataIdo basicDataIdo8 = new BasicDataIdo();
+ basicDataIdo8.setId("8");
+ basicDataIdo8.setText("测试品牌2");
+ BasicDataIdo basicDataIdo9 = new BasicDataIdo();
+ basicDataIdo9.setId("9");
+ basicDataIdo9.setText("测试品牌3");
+ myList.add(basicDataIdo7);
+ myList.add(basicDataIdo8);
+ myList.add(basicDataIdo9);
+ break;
+ }
+
+ case 1009: {
+ BasicDataIdo basicDataIdo10 = new BasicDataIdo();
+ basicDataIdo10.setId("10");
+ basicDataIdo10.setText("武汉港");
+ BasicDataIdo basicDataIdo11 = new BasicDataIdo();
+ basicDataIdo11.setId("11");
+ basicDataIdo11.setText("上海港");
+ BasicDataIdo basicDataIdo12 = new BasicDataIdo();
+ basicDataIdo12.setId("12");
+ basicDataIdo12.setText("大连港");
+ BasicDataIdo basicDataIdo13 = new BasicDataIdo();
+ basicDataIdo13.setId("13");
+ basicDataIdo13.setText("迪拜港");
+ myList.add(basicDataIdo10);
+ myList.add(basicDataIdo11);
+ myList.add(basicDataIdo12);
+ myList.add(basicDataIdo13);
+ break;
+ }
+
+ case 1010: {
+ BasicDataIdo basicDataIdo14 = new BasicDataIdo();
+ basicDataIdo14.setId("14");
+ basicDataIdo14.setText("中国");
+ BasicDataIdo basicDataIdo15 = new BasicDataIdo();
+ basicDataIdo15.setId("15");
+ basicDataIdo15.setText("韩国");
+ BasicDataIdo basicDataIdo16 = new BasicDataIdo();
+ basicDataIdo16.setId("16");
+ basicDataIdo16.setText("新加坡");
+ myList.add(basicDataIdo14);
+ myList.add(basicDataIdo15);
+ myList.add(basicDataIdo16);
+ break;
+ }
+
+ }
+
+ }
+
+
+ return myList;
+ }
+
+ /**
+ * 获取 船名/航次/品牌/港口/国家数据列表
+ *
+ * @param param 入参
+ * @param requestType 请求类型 船名 = 1006 / 航次 = 1007 / 品牌 = 1008 / 港口 = 1009 / 国家 = 1010
+ * @return 返回数据
+ */
+ @Override
+ public List getShipVoyIdoList(String param, Integer requestType) {
+ List myList = new ArrayList<>();
+ //获取港区外部接口及参数(航次接口类型参数requestType=1007)
+ Requester requester = requesterMapper.getRequesterForType(requestType);
+ if (requester == null || requester.getUrl() == null || requester.getUrl().equals("")) {
+ System.out.println("请在小程序数据库外部请求接口表添加【船名/航次/品牌/港口/国家等的接口数据】");
+ log.error("请在数据库配置【船名/航次/品牌/港口/国家等的接口】的url及入参!");
+ return null;
+ }
+ //请求参数
+ String url = requester.getUrl();
+ String myParam = param;
+ //获取接口数据
+ String res = HttpRequest.sendPost(url, myParam);
+ if (res == null || res.isEmpty()) {
+ log.error("RTOS接口请求【船名/航次/品牌/港口/国家】数据失败!");
+ return null;
+ }
+ //接口数据转Map
+ Map map = JSONObject.parseObject(res, Map.class);
+ Map ship_map = new HashMap<>();
+ //List myList = new ArrayList<>();
+ //判断接口数据获取是否成功
+ if (map.get("code").equals("200") || map.get("msg").equals("success")) {
+ //接口数据获取成功,将接口的Map的data数据转为接口对象数据
+ //船名航次
+ myList = JSONArray.parseArray(map.get("data").toString(), ShipVoyIdo.class);
+ }
+ return myList;
+ }
+
+ /**
+ * 获取提单号列表
+ *
+ * @return 返回提单号列表
+ */
+ @Override
+ public List getBillNumMapData(String q) {
+ List myList = new ArrayList<>();
+ if (true) {
+ //获取港区外部接口及参数(提单接口类型参数requestType=1011)
+ Requester requester = requesterMapper.getRequesterForType(1011);
+ if (requester == null || requester.getUrl() == null || requester.getUrl().equals("")) {
+ System.out.println("请在小程序数据库外部请求接口表添加【提单接口】");
+ log.error("请在数据库配置【提单接口】的url及入参!");
+ return null;
+ }
+ //请求参数
+ String url = requester.getUrl();
+ String param = requester.getParam_map();
+ //获取接口数据
+ String res = HttpRequest.sendPost(url, param);
+ if (res == null) {
+ log.error("RTOS接口请求【提单】数据失败!");
+ return null;
+ }
+ //接口数据转Map
+ Map map = JSONObject.parseObject(res, Map.class);
+ // List myList = new ArrayList<>();
+ //判断接口数据获取是否成功
+ if (map.get("code") == "200") {
+ //接口数据获取成功,将接口的Map的data数据转为接口对象数据
+ myList = JSONArray.parseArray(map.get("data").toString(), String.class);
+ }
+ }
+
+ //伪代码,测试使用
+ if (false) {
+ myList.add("ceshitidanhao121");
+ myList.add("ceshitidanhao122");
+ myList.add("ceshitidanhao123");
+ myList.add("ceshitidanhao124");
+ myList.add("ceshitidanhao125");
+ }
+
+ return myList;
+ }
+
+}
diff --git a/interfaces/src/main/java/com/haitongauto/interfaces/impl/DepartureVehicleInterfaceImpl.java b/interfaces/src/main/java/com/haitongauto/interfaces/impl/DepartureVehicleInterfaceImpl.java
new file mode 100644
index 0000000..18b8db3
--- /dev/null
+++ b/interfaces/src/main/java/com/haitongauto/interfaces/impl/DepartureVehicleInterfaceImpl.java
@@ -0,0 +1,124 @@
+package com.haitongauto.interfaces.impl;
+import com.haitongauto.interfaces.DepartureVehicleInterface;
+import com.haitongauto.interfaces.OrderApi;
+import com.haitongauto.mapper.base.RequesterMapper;
+import com.haitongauto.mapper.client.OtherExtendMapper;
+import com.haitongauto.models.ido.CheckRes;
+import com.haitongauto.models.ido.CommonRes;
+import com.haitongauto.models.ido.departure.*;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import javax.annotation.Resource;
+import java.util.List;
+
+@Slf4j
+@Service
+public class DepartureVehicleInterfaceImpl implements DepartureVehicleInterface {
+ @Autowired
+ RequesterMapper requesterMapper;
+ @Autowired
+ OtherExtendMapper otherExtendMapper;
+ @Resource
+ private OrderApi orderApi;
+
+ /**
+ * 获取提车凭证的分页数据
+ *
+ * @param current 当前页码
+ * @param size 数据条数(非必填
+ * @return 返回提车凭证的分页数据
+ */
+ @Override
+ public DepartureVehicleIdo_DTO getDepartureVehicleList(String printTicketTime, String query, Integer current, Integer size) {
+ //创建一个提车凭证分页数据的实例(分页列表数据)
+ List mylist = null;
+ //接口数据转Map
+ CommonRes map = orderApi.getDepartureVehicleList(printTicketTime, query, current, size);
+
+ //判断接口数据获取是否成功
+ String status = map.getStatus();
+ DepartureVehicleIdo_DTO departureVehicleIdo_dto = new DepartureVehicleIdo_DTO();
+ switch (status) {
+ case "200":
+ //接口数据获取成功,将接口的Map的data数据转为接口对象的List
+ departureVehicleIdo_dto.setStatus(status);
+ DepartureVehicleIdoPar departureVehicleIdoPar = map.getData();
+ if (departureVehicleIdoPar != null) {
+ mylist = departureVehicleIdoPar.getRecords();
+ departureVehicleIdo_dto.setDepartureVehicleIdoList(mylist);
+ }
+ break;
+ case "401":
+ //用户权限过期
+ departureVehicleIdo_dto.setStatus(status);
+ break;
+ default:
+ departureVehicleIdo_dto.setStatus(status);
+ break;
+ }
+ return departureVehicleIdo_dto;
+ }
+
+ /**
+ * 获取一条提车明细
+ *
+ * @param id:提车id
+ * @return 返回一条提车明细
+ */
+ @Override
+ public DepartureDetailIdo_DTO getDepartureDetailForId(String id) {
+
+ //创建一个收车详情数据的实例(基本数据+明细列表)
+ DepartureDetailIdo_DTO departureDetailIdo_dto = new DepartureDetailIdo_DTO();
+ DepartureDetailIdo departureDetailIdo = null;
+
+ //接口数据转Map
+ //接口数据转Map
+ CommonRes map = orderApi.getDepartureDetailForId(id);
+ String status = map.getStatus();
+ //判断接口数据获取是否成功
+ if ("200".equals(status)) {
+ //接口数据获取成功,将接口的Map的data数据转为接口对象数据
+ departureDetailIdo_dto.setStatus("200");
+ departureDetailIdo = map.getData();
+ if (departureDetailIdo != null) {
+ departureDetailIdo_dto.setDepartureDetailIdo(departureDetailIdo);
+ }
+
+ }
+ if ("401".equals(status)) {
+ departureDetailIdo_dto.setStatus("401");
+ }
+ return departureDetailIdo_dto;
+ }
+
+ /**
+ * 完成提车核验
+ *
+ * @param id:提车id
+ * @return 返回完成提车核验结果
+ */
+ @Override
+ public boolean checkDepartureVehicle(String id) {
+
+
+ if (id == null || id.isEmpty()) {
+ return false;
+ }
+ CommonRes res = orderApi.checkDepartureVehicle(id);
+ //接口数据转Map
+ boolean result = false;
+ //判断接口数据获取是否成功
+ if ("200".equals(res.getStatus())) {
+ //接口数据获取成功,将接口的Map的data数据转为接口对象数据,最后返回核验是否成功 true/false
+ result = res.getData().isResult();
+ /*{
+ "errorMsg": "", //操作失败原因,成功则为 null
+ "result": true //操作结果
+ }**/
+
+ }
+ return result;
+ }
+}
diff --git a/interfaces/src/main/java/com/haitongauto/interfaces/impl/DicInterfaceImpl.java b/interfaces/src/main/java/com/haitongauto/interfaces/impl/DicInterfaceImpl.java
new file mode 100644
index 0000000..e9ade22
--- /dev/null
+++ b/interfaces/src/main/java/com/haitongauto/interfaces/impl/DicInterfaceImpl.java
@@ -0,0 +1,190 @@
+package com.haitongauto.interfaces.impl;
+import com.bestvike.linq.Linq;
+import com.haitongauto.interfaces.DicInterface;
+import com.haitongauto.interfaces.OrderApi;
+import com.haitongauto.mapper.base.DicMapper;
+import com.haitongauto.mapper.base.RequesterMapper;
+import com.haitongauto.models.dto.DicDto;
+import com.haitongauto.models.ido.CommonRes;
+import com.haitongauto.models.ido.DictionaryIdo;
+import com.haitongauto.models.pojo.Dic;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import javax.annotation.Resource;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Objects;
+
+/**
+ * 通用数据字典表(数据源自RTOS)
+ * 运输方式 TRANSPORT_TYPE
+ * 进港类型 ENTER_PORT_TYPE
+ * 货物类型 CARGO_TYPE
+ * 操作模式 OPERATING_MODE
+ * 备 件 MACHINE_TYPE
+ */
+@Slf4j
+@Service
+public class DicInterfaceImpl implements DicInterface {
+ @Autowired
+ DicMapper dicMapper;
+ @Autowired
+ RequesterMapper requesterMapper;
+ @Resource
+ private OrderApi orderApi;
+
+ /**
+ * 获取通用字典接口数据
+ *
+ * @param dic_sort :数据类型字符串(该参数直接拼接到接口URL)
+ * 运输方式 TRANSPORT_TYPE
+ * 进港类型 ENTER_PORT_TYPE
+ * 货物类型 APP_CARGO_TYPE
+ * 操作模式 OPERATING_MODE
+ * 备件 MACHINE_TYPE
+ * @return 返回通用字典接口数据
+ */
+ @Override
+ public List getDicList(String dic_sort) {
+ List dicDtoList = new ArrayList<>();
+ //伪代码,测试使用
+// if (false) {
+// try {
+// List mylist = dicMapper.getDicListByDicSort(dic_sort);
+// //接口字典数据Dic转ViewModel类数据DicDto
+// dicDtoList = this.DicConvertToDicDto(mylist);
+// } catch (Exception ignored) {
+// }
+// }
+
+ if (true) {
+ //检查查询类型参数,定义类型描述
+ String description = "";
+ CommonRes> map = null;
+ if (dic_sort != null && !Objects.equals(dic_sort, "")) {
+ switch (dic_sort) {
+ case "TRANSPORT_TYPE":
+ description = "运输方式";
+ //map = orderApi.getTransportTypeList();
+ map=orderApi.dicData("TRANSPORT_TYPE");
+ break;
+ case "ENTER_PORT_TYPE":
+ map = orderApi.dicData("ENTER_PORT_TYPE");
+ description = "进港类型";
+ break;
+ case "APP_CARGO_TYPE":
+ description = "货物类型";
+ map = orderApi.dicData("APP_CARGO_TYPE");
+ break;
+ case "OPERATING_MODE":
+ description = "操作模式";
+ map=orderApi.dicData("OPERATING_MODE");
+ break;
+ case "MACHINE_TYPE":
+ description = "备件";
+ map=orderApi.dicData("MACHINE_TYPE");
+
+ break;
+ }
+ } else {
+ return null;
+ }
+ //获取本地库对应类别的字典数据列表
+ List mylist = dicMapper.getDicListByDicSort(dic_sort);
+ //通用字典的接口类型参数requestType=1002
+
+ //获取字典接口数据
+
+ if (map == null) {
+ //接口字典数据Dic转ViewModel类数据DicDto
+ dicDtoList = this.DicConvertToDicDto(mylist);
+ return dicDtoList;
+ }
+
+
+ //定义通用字典列表实例
+ List dicList = new ArrayList<>();
+ //判断接口数据获取是否成功
+ if (map.getStatus().equals("200")) {
+ //接口数据获取成功,将接口的Map的data数据转为接口对象的List
+ List dataList = map.getData();
+ if (dataList != null && dataList.size() > 0) {
+ //遍历data数据
+ for (DictionaryIdo item : dataList) {
+ String dic_id = item.getPtrCode();
+ //String dic_sort = item.getPamEfficient();
+ if (dic_id != null && !Objects.equals(dic_id, "")) {
+ //定义一个字典的实例
+ Dic dic = new Dic();
+ //用接口数据给字典实例赋值
+ dic.setDic_sort(dic_sort); //分类字符串
+ dic.setId(dic_id); //字典id
+ dic.setContent(item.getPtrDesc()); //字典内容
+ dic.setDescription(description); //字典描述
+ dic.setIs_del(0);
+ //获取dic_id在本地数据库中对应实例的字典id
+ Dic myDic = Linq.of(mylist).firstOrDefault(a -> a.getId().equals(dic_id));
+// try {
+// //更新到数据库
+// if (myDic != null && myDic.getId() != null) {
+// //如果存在,则更新本地数据
+// int x = dicMapper.update(dic);
+// if (x > 0) {
+// System.out.println(description + "的接口数据已更新到本地数据库。");
+// }
+// } else {
+// //如果不存在,则新增本地数据
+// String id = dicMapper.insert(dic);
+// if (id != null && id.length() > 0) {
+// System.out.println(description + "的接口数据已添加到本地数据库。");
+// }
+// }
+// } catch (Exception ignored) {
+// }
+
+ //填充到dicList列表
+ dicList.add(dic);
+ }
+ }
+ }
+
+ } else {
+ //接口数据获取失败,则直接使用本地数据表
+ dicList = mylist;
+ }
+
+ //接口字典数据Dic转ViewModel类数据DicDto
+ dicDtoList = this.DicConvertToDicDto(dicList);
+
+ }
+ return dicDtoList;
+ }
+
+ /**
+ * 接口字典数据Dic转ViewModel类数据DicDto
+ *
+ * @param dicList 接口字典数据Dic列表
+ * @return 返回ViewModel类数据DicDto列表
+ */
+ private List
+ DicConvertToDicDto(List dicList) {
+ List dicDtoList = new ArrayList<>();
+ if (dicList != null && dicList.size() > 0) {
+ for (Dic item : dicList) {
+ DicDto dicDto = new DicDto();
+ dicDto.setId(item.getId());
+ dicDto.setText(item.getContent());
+ dicDtoList.add(dicDto);
+ }
+ }
+ return dicDtoList;
+ }
+
+ @Override
+ public String picUpload(String pic) {
+
+ return "";
+ }
+
+}
diff --git a/interfaces/src/main/java/com/haitongauto/interfaces/impl/EnterPortTypeInterfaceImpl.java b/interfaces/src/main/java/com/haitongauto/interfaces/impl/EnterPortTypeInterfaceImpl.java
new file mode 100644
index 0000000..31c002e
--- /dev/null
+++ b/interfaces/src/main/java/com/haitongauto/interfaces/impl/EnterPortTypeInterfaceImpl.java
@@ -0,0 +1,41 @@
+package com.haitongauto.interfaces.impl;
+import com.haitongauto.interfaces.EnterPortTypeInterface;
+import com.haitongauto.interfaces.OrderApi;
+import com.haitongauto.models.dto.EnterPortTypeDto;
+import com.haitongauto.models.dto.EnterPortTypeDtol;
+import com.haitongauto.models.ido.CommonRes;
+import org.springframework.stereotype.Service;
+import javax.annotation.Resource;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * 进港类型接口
+ */
+@Service
+public class EnterPortTypeInterfaceImpl implements EnterPortTypeInterface {
+ @Resource
+ private OrderApi orderApi;
+
+ @Override
+ public List getEnterPortTypeList() {
+ CommonRes> data = orderApi.getEnterPortType();
+ List enterPortTypeDtoList = null;
+ if (data != null) {
+ enterPortTypeDtoList = data.getData();
+ }
+ List enterPortTypeDtolList = new ArrayList<>();
+ if (enterPortTypeDtoList != null && enterPortTypeDtoList.size() > 0) {
+ for (EnterPortTypeDto item : enterPortTypeDtoList) {
+ EnterPortTypeDtol enterPortTypeDtol = new EnterPortTypeDtol();
+ enterPortTypeDtol.setId(item.getEteCode());
+ enterPortTypeDtol.setText(item.getEteType());
+ enterPortTypeDtol.setEteBusinesstp(item.getEteBusinesstp());
+ enterPortTypeDtol.setEteBusinesstpDesc(item.getEteBusinesstpDesc());
+ enterPortTypeDtolList.add(enterPortTypeDtol);
+ }
+ }
+ return enterPortTypeDtolList;
+ }
+
+}
diff --git a/interfaces/src/main/java/com/haitongauto/interfaces/impl/PortAreaInterfaceImpl.java b/interfaces/src/main/java/com/haitongauto/interfaces/impl/PortAreaInterfaceImpl.java
new file mode 100644
index 0000000..f6f82c7
--- /dev/null
+++ b/interfaces/src/main/java/com/haitongauto/interfaces/impl/PortAreaInterfaceImpl.java
@@ -0,0 +1,112 @@
+package com.haitongauto.interfaces.impl;
+
+import com.bestvike.linq.Linq;
+import com.haitongauto.interfaces.OrderApi;
+import com.haitongauto.interfaces.PortAreaInterface;
+import com.haitongauto.mapper.base.PortAreasMapper;
+import com.haitongauto.mapper.base.RequesterMapper;
+import com.haitongauto.models.ido.CommonRes;
+import com.haitongauto.models.ido.PortAreasIdo;
+import com.haitongauto.models.pojo.PortArea;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Objects;
+
+@Slf4j
+@Service
+public class PortAreaInterfaceImpl implements PortAreaInterface {
+ @Autowired
+ RequesterMapper requesterMapper;
+ @Autowired
+ PortAreasMapper portAreasMapper;
+
+ @Resource
+ private OrderApi orderApi;
+
+ /**
+ * 获取RTOS港区列表数据
+ *
+ * @return 返回港区列表数据
+ */
+ @Override
+ public List getPortArea() {
+ //定义港区列表实例
+ List portAreaList = new ArrayList<>();
+
+ //伪代码,测试使用
+ if (false) {
+ try {
+ portAreaList = portAreasMapper.getList();
+ } catch (Exception ignored) {
+ }
+
+ }
+
+ if (true) {
+ //获取本地库港区列表
+ List mylist = portAreasMapper.getList();
+
+ CommonRes> map = orderApi.getPortAreasIdoList("");
+ //定义港区列表实例
+ // List portAreaList = new ArrayList<>();
+ //判断接口数据获取是否成功
+ if ("200".equals(map.getStatus())) {
+ //接口数据获取成功,将接口的Map的data数据转为接口对象的List
+ List dataList = map.getData();
+ //遍历data数据
+ for (PortAreasIdo item : dataList) {
+ String pam_id = item.getPamId();
+ String is_enable = item.getPamEfficient();
+ if (pam_id != null && !Objects.equals(pam_id, "") && "启用".equals(is_enable)) {
+ //定义一个港区实例
+ PortArea portArea = new PortArea();
+ //用接口数据给实例赋值
+ portArea.setId(item.getPamId());
+ portArea.setPort_area_address(item.getPamAddress());
+ portArea.setPort_area_code(item.getPamNo());
+ portArea.setPort_area_name(item.getPamName());
+ portArea.setIs_enable(("启用".equals(item.getPamEfficient())) ? 1 : 0);
+ portArea.setIs_del(0);
+ //还有一些字段值欠缺,如:港区坐标位置(poi)、打卡范围....
+
+ //获取pam_id在本地数据库中对应实例的港区id
+ //PortArea myPortAreax = portAreasMapper.getByPamId(pam_id);
+
+ PortArea myPortArea = Linq.of(mylist).firstOrDefault(a -> a.getId().equals(pam_id));
+ //更新到数据库
+ if (myPortArea != null && myPortArea.getId() != null) {
+ myPortArea.setPort_area_code(item.getPamNo());
+ myPortArea.setPort_area_name(item.getPamName());
+ myPortArea.setIs_enable(("启用".equals(item.getPamEfficient())) ? 1 : 0);
+ myPortArea.setIs_del(0);
+ String port_area_address = myPortArea.getPort_area_address();
+ if (port_area_address == null || port_area_address.isEmpty()) {
+ myPortArea.setPort_area_address(item.getPamAddress());
+ }
+
+ //如果存在,则更新本地数据
+ int x = portAreasMapper.update(myPortArea);
+ } else {
+ //如果不存在,则新增本地数据,返回新值的id
+ String id = portAreasMapper.insert(portArea);
+ }
+ //填充到列表
+ portAreaList.add(portArea);
+ }
+ }
+ } else {
+ //接口数据获取失败,则直接使用本地数据表
+ portAreaList = mylist;
+ }
+ }
+
+ return portAreaList;
+
+ }
+
+}
\ No newline at end of file
diff --git a/interfaces/src/main/java/com/haitongauto/interfaces/impl/ReceivingVehicleInterfaceImpl.java b/interfaces/src/main/java/com/haitongauto/interfaces/impl/ReceivingVehicleInterfaceImpl.java
new file mode 100644
index 0000000..ab46964
--- /dev/null
+++ b/interfaces/src/main/java/com/haitongauto/interfaces/impl/ReceivingVehicleInterfaceImpl.java
@@ -0,0 +1,119 @@
+package com.haitongauto.interfaces.impl;
+import com.haitongauto.interfaces.OrderApi;
+import com.haitongauto.interfaces.ReceivingVehicleInterface;
+import com.haitongauto.mapper.base.RequesterMapper;
+import com.haitongauto.models.ido.CheckRes;
+import com.haitongauto.models.ido.CommonRes;
+import com.haitongauto.models.ido.receiving.*;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import javax.annotation.Resource;
+import java.util.List;
+@Slf4j
+@Service
+public class ReceivingVehicleInterfaceImpl implements ReceivingVehicleInterface {
+ @Autowired
+ RequesterMapper requesterMapper;
+ @Resource
+ private OrderApi orderApi;
+
+ /**
+ * 获取收车凭证的分页数据(本用户数据)
+ *
+ * @param current 当前页码
+ * @param size 数据条数(非必填
+ * @return 返回收车凭证的分页数据
+ */
+ @Override
+ public ReceivingVehicleIdo_DTO getReceivingVehicleList(String printTicketTime, String query, Integer current, Integer size) {
+ //创建一个收车分页数据的实例(分页列表数据)
+ List mylist = null;
+ //接口数据转Map
+ CommonRes map = orderApi.getReceivingVehicleList(printTicketTime, query, current, size);
+ //判断接口数据获取是否成功
+ String status = map.getStatus();
+ ReceivingVehicleIdo_DTO receivingVehicleIdo_dto = new ReceivingVehicleIdo_DTO();
+ switch (status) {
+ case "200":
+ //接口数据获取成功,将接口的Map的data数据转为接口对象的List
+ receivingVehicleIdo_dto.setStatus(status);
+ ReceivingVehicleIdoPar receivingVehicleIdoPar = map.getData();
+ if (receivingVehicleIdoPar != null) {
+ mylist = receivingVehicleIdoPar.getRecords();
+ receivingVehicleIdo_dto.setReceivingVehicleIdoList(mylist);
+ }
+
+ break;
+ case "401":
+ //用户权限过期
+ receivingVehicleIdo_dto.setStatus(status);
+ break;
+ default:
+ receivingVehicleIdo_dto.setStatus(status);
+
+ break;
+
+ }
+
+ return receivingVehicleIdo_dto;
+ }
+
+ /**
+ * 获取一条收车明细
+ *
+ * @param id:收车id
+ * @return 返回一条收车明细
+ */
+ @Override
+ public ReceivingDetailIdo_DTO getReceivingDetailForId(String id) {
+ //创建一个收车详情数据的实例(基本数据+明细列表)
+ ReceivingDetailIdo receivingDetailIdo = new ReceivingDetailIdo();
+ ReceivingDetailIdo_DTO receivingDetailIdo_dto = new ReceivingDetailIdo_DTO();
+ //接口数据转Map
+ CommonRes map = orderApi.getReceivingDetailForId(id);
+ String status = map.getStatus();
+ //判断接口数据获取是否成功
+ if ("200".equals(status)) {
+ //接口数据获取成功,将接口的Map的data数据转为接口对象数据
+ receivingDetailIdo_dto.setStatus("200");
+ receivingDetailIdo = map.getData();
+ if (receivingDetailIdo != null) {
+ receivingDetailIdo_dto.setReceivingDetailIdo(receivingDetailIdo);
+ }
+
+ }
+ if ("401".equals(status)) {
+ receivingDetailIdo_dto.setStatus("401");
+ }
+ return receivingDetailIdo_dto;
+ }
+
+ /**
+ * 完成收车核验
+ *
+ * @param id:收车id
+ * @return 返回完成收车核验结果
+ */
+ @Override
+ public boolean checkReceivingVehicle(String id) {
+ if (id == null || id.isEmpty()) {
+ return false;
+ }
+ CommonRes res = orderApi.checkReceivingVehicle(id);
+ //接口数据转Map
+ boolean result = false;
+ //判断接口数据获取是否成功
+ if ("200".equals(res.getStatus())) {
+ //接口数据获取成功,将接口的Map的data数据转为接口对象数据,最后返回核验是否成功 true/false
+ /*{
+ "errorMsg": "", //操作失败原因,成功则为 null
+ "result": true //操作结果
+ }**/
+ result = res.getData().isResult();
+
+ }
+ return result;
+ }
+
+}
diff --git a/interfaces/src/main/java/com/haitongauto/interfaces/impl/UserInterfaceImpl.java b/interfaces/src/main/java/com/haitongauto/interfaces/impl/UserInterfaceImpl.java
new file mode 100644
index 0000000..b53d26a
--- /dev/null
+++ b/interfaces/src/main/java/com/haitongauto/interfaces/impl/UserInterfaceImpl.java
@@ -0,0 +1,60 @@
+package com.haitongauto.interfaces.impl;
+import com.alibaba.fastjson.JSONObject;
+import com.haitongauto.interfaces.UserInterface;
+import com.haitongauto.mapper.base.RequesterMapper;
+import com.haitongauto.models.ido.login.UserLoginOrRegisterRequest;
+import com.haitongauto.models.ido.login.UserLoginOrRegisterResponse;
+import com.haitongauto.models.pojo.Requester;
+import com.haitongauto.utils.HttpRequest;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import java.util.Map;
+
+/**
+ * 用户登录/注册
+ * 调用哪吒接口
+ */
+@Slf4j
+@Service
+public class UserInterfaceImpl implements UserInterface {
+ @Autowired
+ RequesterMapper requesterMapper;
+
+ /**
+ * 用户登录/注册
+ *
+ * @param request 请求入参
+ * @return 返回出参实体
+ */
+ @Override
+ public UserLoginOrRegisterResponse userLoginOrRegister(UserLoginOrRegisterRequest request) {
+ String myParam = "appId=" + request.getAppId() +
+ "&mobile=" + request.getMobile() +
+ "&openId=" + request.getOpenId() +
+ "&unionId=" + request.getUnionId() ;
+ // +"&mediaType=" + request.getMediaType();
+ //获取 用户提交 外部接口及参数(用户提交接口类型参数requestType=1017)
+ Requester requester = requesterMapper.getRequesterForType(1017);
+ if (requester == null || requester.getUrl() == null || requester.getUrl().isEmpty()) {
+ System.out.println("请在小程序数据库外部请求接口表添加 用户登录或注册 接口定义数据。");
+ log.error("请在数据库配置 用户登录或注册 的url及入参!");
+ return null;
+ }
+ String url = requester.getUrl();
+ //获取接口数据
+ String res = HttpRequest.sendGet(url, myParam);
+ if (res.isEmpty()) {
+ System.out.println("请求哪吒 用户登录或注册 接口失败");
+ log.error("请求哪吒 用户登录或注册 接口失败");
+ return null;
+ }
+ Map map = JSONObject.parseObject(res, Map.class);
+ UserLoginOrRegisterResponse response = null;
+ if (map != null) {
+ response = JSONObject.parseObject(map.get("data").toString(), UserLoginOrRegisterResponse.class);
+ }
+ return response;
+ }
+
+}
diff --git a/interfaces/target/classes/com/haitongauto/interfaces/CusOrderApi.class b/interfaces/target/classes/com/haitongauto/interfaces/CusOrderApi.class
new file mode 100644
index 0000000..79066c5
Binary files /dev/null and b/interfaces/target/classes/com/haitongauto/interfaces/CusOrderApi.class differ
diff --git a/interfaces/target/classes/com/haitongauto/interfaces/CustomerServiceInterface.class b/interfaces/target/classes/com/haitongauto/interfaces/CustomerServiceInterface.class
new file mode 100644
index 0000000..b8fcca6
Binary files /dev/null and b/interfaces/target/classes/com/haitongauto/interfaces/CustomerServiceInterface.class differ
diff --git a/interfaces/target/classes/com/haitongauto/interfaces/DepartureVehicleInterface.class b/interfaces/target/classes/com/haitongauto/interfaces/DepartureVehicleInterface.class
new file mode 100644
index 0000000..65fb259
Binary files /dev/null and b/interfaces/target/classes/com/haitongauto/interfaces/DepartureVehicleInterface.class differ
diff --git a/interfaces/target/classes/com/haitongauto/interfaces/DicInterface.class b/interfaces/target/classes/com/haitongauto/interfaces/DicInterface.class
new file mode 100644
index 0000000..be788d5
Binary files /dev/null and b/interfaces/target/classes/com/haitongauto/interfaces/DicInterface.class differ
diff --git a/interfaces/target/classes/com/haitongauto/interfaces/EnterPortTypeInterface.class b/interfaces/target/classes/com/haitongauto/interfaces/EnterPortTypeInterface.class
new file mode 100644
index 0000000..741bc3f
Binary files /dev/null and b/interfaces/target/classes/com/haitongauto/interfaces/EnterPortTypeInterface.class differ
diff --git a/interfaces/target/classes/com/haitongauto/interfaces/OrderApi.class b/interfaces/target/classes/com/haitongauto/interfaces/OrderApi.class
new file mode 100644
index 0000000..07d8d65
Binary files /dev/null and b/interfaces/target/classes/com/haitongauto/interfaces/OrderApi.class differ
diff --git a/interfaces/target/classes/com/haitongauto/interfaces/PortAreaInterface.class b/interfaces/target/classes/com/haitongauto/interfaces/PortAreaInterface.class
new file mode 100644
index 0000000..69ad5af
Binary files /dev/null and b/interfaces/target/classes/com/haitongauto/interfaces/PortAreaInterface.class differ
diff --git a/interfaces/target/classes/com/haitongauto/interfaces/ReceivingVehicleInterface.class b/interfaces/target/classes/com/haitongauto/interfaces/ReceivingVehicleInterface.class
new file mode 100644
index 0000000..4f46dc5
Binary files /dev/null and b/interfaces/target/classes/com/haitongauto/interfaces/ReceivingVehicleInterface.class differ
diff --git a/interfaces/target/classes/com/haitongauto/interfaces/UserInterface.class b/interfaces/target/classes/com/haitongauto/interfaces/UserInterface.class
new file mode 100644
index 0000000..b72b63a
Binary files /dev/null and b/interfaces/target/classes/com/haitongauto/interfaces/UserInterface.class differ
diff --git a/interfaces/target/classes/com/haitongauto/interfaces/UsersApi.class b/interfaces/target/classes/com/haitongauto/interfaces/UsersApi.class
new file mode 100644
index 0000000..6ca17de
Binary files /dev/null and b/interfaces/target/classes/com/haitongauto/interfaces/UsersApi.class differ
diff --git a/interfaces/target/classes/com/haitongauto/interfaces/YardOrderApi.class b/interfaces/target/classes/com/haitongauto/interfaces/YardOrderApi.class
new file mode 100644
index 0000000..a65186f
Binary files /dev/null and b/interfaces/target/classes/com/haitongauto/interfaces/YardOrderApi.class differ
diff --git a/interfaces/target/classes/com/haitongauto/interfaces/impl/CustomerServiceInterfaceImpl.class b/interfaces/target/classes/com/haitongauto/interfaces/impl/CustomerServiceInterfaceImpl.class
new file mode 100644
index 0000000..c7a4458
Binary files /dev/null and b/interfaces/target/classes/com/haitongauto/interfaces/impl/CustomerServiceInterfaceImpl.class differ
diff --git a/interfaces/target/classes/com/haitongauto/interfaces/impl/DepartureVehicleInterfaceImpl.class b/interfaces/target/classes/com/haitongauto/interfaces/impl/DepartureVehicleInterfaceImpl.class
new file mode 100644
index 0000000..70bde64
Binary files /dev/null and b/interfaces/target/classes/com/haitongauto/interfaces/impl/DepartureVehicleInterfaceImpl.class differ
diff --git a/interfaces/target/classes/com/haitongauto/interfaces/impl/DicInterfaceImpl.class b/interfaces/target/classes/com/haitongauto/interfaces/impl/DicInterfaceImpl.class
new file mode 100644
index 0000000..e936c5e
Binary files /dev/null and b/interfaces/target/classes/com/haitongauto/interfaces/impl/DicInterfaceImpl.class differ
diff --git a/interfaces/target/classes/com/haitongauto/interfaces/impl/EnterPortTypeInterfaceImpl.class b/interfaces/target/classes/com/haitongauto/interfaces/impl/EnterPortTypeInterfaceImpl.class
new file mode 100644
index 0000000..24bf96f
Binary files /dev/null and b/interfaces/target/classes/com/haitongauto/interfaces/impl/EnterPortTypeInterfaceImpl.class differ
diff --git a/interfaces/target/classes/com/haitongauto/interfaces/impl/PortAreaInterfaceImpl.class b/interfaces/target/classes/com/haitongauto/interfaces/impl/PortAreaInterfaceImpl.class
new file mode 100644
index 0000000..19ab18f
Binary files /dev/null and b/interfaces/target/classes/com/haitongauto/interfaces/impl/PortAreaInterfaceImpl.class differ
diff --git a/interfaces/target/classes/com/haitongauto/interfaces/impl/ReceivingVehicleInterfaceImpl.class b/interfaces/target/classes/com/haitongauto/interfaces/impl/ReceivingVehicleInterfaceImpl.class
new file mode 100644
index 0000000..64f0b91
Binary files /dev/null and b/interfaces/target/classes/com/haitongauto/interfaces/impl/ReceivingVehicleInterfaceImpl.class differ
diff --git a/interfaces/target/classes/com/haitongauto/interfaces/impl/UserInterfaceImpl.class b/interfaces/target/classes/com/haitongauto/interfaces/impl/UserInterfaceImpl.class
new file mode 100644
index 0000000..9648cda
Binary files /dev/null and b/interfaces/target/classes/com/haitongauto/interfaces/impl/UserInterfaceImpl.class differ
diff --git a/interfaces/target/interfaces-1.0-SNAPSHOT.jar b/interfaces/target/interfaces-1.0-SNAPSHOT.jar
new file mode 100644
index 0000000..33f5e9c
Binary files /dev/null and b/interfaces/target/interfaces-1.0-SNAPSHOT.jar differ
diff --git a/interfaces/target/maven-archiver/pom.properties b/interfaces/target/maven-archiver/pom.properties
new file mode 100644
index 0000000..62ed568
--- /dev/null
+++ b/interfaces/target/maven-archiver/pom.properties
@@ -0,0 +1,5 @@
+#Generated by Maven
+#Thu May 30 17:32:39 CST 2024
+version=1.0-SNAPSHOT
+groupId=org.example
+artifactId=interfaces
diff --git a/interfaces/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/interfaces/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
new file mode 100644
index 0000000..8e49df7
--- /dev/null
+++ b/interfaces/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
@@ -0,0 +1,18 @@
+com\haitongauto\interfaces\UsersApi.class
+com\haitongauto\interfaces\impl\UserInterfaceImpl.class
+com\haitongauto\interfaces\impl\CustomerServiceInterfaceImpl.class
+com\haitongauto\interfaces\PortAreaInterface.class
+com\haitongauto\interfaces\EnterPortTypeInterface.class
+com\haitongauto\interfaces\impl\DepartureVehicleInterfaceImpl.class
+com\haitongauto\interfaces\ReceivingVehicleInterface.class
+com\haitongauto\interfaces\impl\ReceivingVehicleInterfaceImpl.class
+com\haitongauto\interfaces\impl\DicInterfaceImpl.class
+com\haitongauto\interfaces\CusOrderApi.class
+com\haitongauto\interfaces\impl\EnterPortTypeInterfaceImpl.class
+com\haitongauto\interfaces\OrderApi.class
+com\haitongauto\interfaces\UserInterface.class
+com\haitongauto\interfaces\DicInterface.class
+com\haitongauto\interfaces\DepartureVehicleInterface.class
+com\haitongauto\interfaces\YardOrderApi.class
+com\haitongauto\interfaces\impl\PortAreaInterfaceImpl.class
+com\haitongauto\interfaces\CustomerServiceInterface.class
diff --git a/interfaces/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/interfaces/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
new file mode 100644
index 0000000..e8fca8c
--- /dev/null
+++ b/interfaces/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
@@ -0,0 +1,18 @@
+F:\Codes\rtos\v4\mini-service-v4\interfaces\src\main\java\com\haitongauto\interfaces\DepartureVehicleInterface.java
+F:\Codes\rtos\v4\mini-service-v4\interfaces\src\main\java\com\haitongauto\interfaces\impl\DepartureVehicleInterfaceImpl.java
+F:\Codes\rtos\v4\mini-service-v4\interfaces\src\main\java\com\haitongauto\interfaces\impl\DicInterfaceImpl.java
+F:\Codes\rtos\v4\mini-service-v4\interfaces\src\main\java\com\haitongauto\interfaces\UsersApi.java
+F:\Codes\rtos\v4\mini-service-v4\interfaces\src\main\java\com\haitongauto\interfaces\impl\UserInterfaceImpl.java
+F:\Codes\rtos\v4\mini-service-v4\interfaces\src\main\java\com\haitongauto\interfaces\DicInterface.java
+F:\Codes\rtos\v4\mini-service-v4\interfaces\src\main\java\com\haitongauto\interfaces\CustomerServiceInterface.java
+F:\Codes\rtos\v4\mini-service-v4\interfaces\src\main\java\com\haitongauto\interfaces\UserInterface.java
+F:\Codes\rtos\v4\mini-service-v4\interfaces\src\main\java\com\haitongauto\interfaces\EnterPortTypeInterface.java
+F:\Codes\rtos\v4\mini-service-v4\interfaces\src\main\java\com\haitongauto\interfaces\impl\ReceivingVehicleInterfaceImpl.java
+F:\Codes\rtos\v4\mini-service-v4\interfaces\src\main\java\com\haitongauto\interfaces\CusOrderApi.java
+F:\Codes\rtos\v4\mini-service-v4\interfaces\src\main\java\com\haitongauto\interfaces\impl\CustomerServiceInterfaceImpl.java
+F:\Codes\rtos\v4\mini-service-v4\interfaces\src\main\java\com\haitongauto\interfaces\OrderApi.java
+F:\Codes\rtos\v4\mini-service-v4\interfaces\src\main\java\com\haitongauto\interfaces\impl\PortAreaInterfaceImpl.java
+F:\Codes\rtos\v4\mini-service-v4\interfaces\src\main\java\com\haitongauto\interfaces\impl\EnterPortTypeInterfaceImpl.java
+F:\Codes\rtos\v4\mini-service-v4\interfaces\src\main\java\com\haitongauto\interfaces\ReceivingVehicleInterface.java
+F:\Codes\rtos\v4\mini-service-v4\interfaces\src\main\java\com\haitongauto\interfaces\PortAreaInterface.java
+F:\Codes\rtos\v4\mini-service-v4\interfaces\src\main\java\com\haitongauto\interfaces\YardOrderApi.java
diff --git a/mapper/mapper.iml b/mapper/mapper.iml
new file mode 100644
index 0000000..770cefe
--- /dev/null
+++ b/mapper/mapper.iml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/mapper/pom.xml b/mapper/pom.xml
new file mode 100644
index 0000000..b049e4f
--- /dev/null
+++ b/mapper/pom.xml
@@ -0,0 +1,44 @@
+
+
+
+ rtos-wh
+ org.example
+ 1.0-SNAPSHOT
+
+ 4.0.0
+
+ mapper
+
+
+ 1.8
+ 1.8
+
+
+
+
+ org.mybatis.spring.boot
+ mybatis-spring-boot-starter
+
+ 2.2.2
+
+
+ org.postgresql
+ postgresql
+ 42.5.4
+
+
+ org.example
+ models
+ 1.0-SNAPSHOT
+
+
+ top.jfunc.json
+ Json-Gson
+ 1.0
+
+
+
+
+
\ No newline at end of file
diff --git a/mapper/src/main/java/com/haitongauto/mapper/admin/AnnouncementAdminMapper.java b/mapper/src/main/java/com/haitongauto/mapper/admin/AnnouncementAdminMapper.java
new file mode 100644
index 0000000..32698d6
--- /dev/null
+++ b/mapper/src/main/java/com/haitongauto/mapper/admin/AnnouncementAdminMapper.java
@@ -0,0 +1,32 @@
+package com.haitongauto.mapper.admin;
+
+import com.haitongauto.models.pojo.Announcement;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.time.LocalDate;
+import java.util.Date;
+import java.util.List;
+
+@Mapper
+public interface AnnouncementAdminMapper {
+ /**
+ * 发布人员(作者)去重列表
+ * @return 返回发布人员(作者)
+ */
+ List getAuthorList();
+
+ /**
+ * 根据特定条件查询历史公告
+ * @param tilKeywords:标题关键字
+ * @param dateStart:日期范围之起始发布日期
+ * @param dateEnd:日期范围之截止发布日期
+ * @param sort:类别(1-小程序,2-客服平台)
+ * @param authors:作者/发布人/操作员
+ * @return 返回特定条件查询历史公告
+ */
+ List AnnouncementListForCondition(@Param("tilKeywords") String tilKeywords, @Param("dateStart") String dateStart, @Param("dateEnd") String dateEnd, @Param("sort") Integer sort, @Param("list") List authors);
+
+ List AnnouncementListForWeek();
+
+}
diff --git a/mapper/src/main/java/com/haitongauto/mapper/admin/AppointmentAdminMapper.java b/mapper/src/main/java/com/haitongauto/mapper/admin/AppointmentAdminMapper.java
new file mode 100644
index 0000000..d37de90
--- /dev/null
+++ b/mapper/src/main/java/com/haitongauto/mapper/admin/AppointmentAdminMapper.java
@@ -0,0 +1,37 @@
+package com.haitongauto.mapper.admin;
+
+import com.haitongauto.models.pojo.Appointment;
+import com.haitongauto.models.pojo.AppointmentDetail;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+@Mapper
+public interface AppointmentAdminMapper {
+ /**
+ * 车辆预约:通过港区、司机关键字、预约时间范围、进港类型、状态(1-已预约,0-已取消)、运输方式(0-自开/1-板车运输)单独或组合查询
+ * @param port_area_id:港区id
+ * @param keywords:关键字(姓名、手机号、板车号)
+ * @param start_date:时间范围开始
+ * @param end_date:时间范围结束
+ * @param enter_type:进港类型(1-外贸出口,2-外贸进口,2-整车物流,3-特保区出口,4-特保区进口,5-内贸出口,6-内贸进口)
+ * @param appointment_state:预约状态(0-已取消,1-已预约)
+ * @param transport_type:运输方式(0-自开/1-板车运)
+ * @return 返回车辆预约
+ */
+ //List AppointmentListForCondition(@Param("port_area_id") Integer port_area_id, @Param("keywords") String keywords, @Param("start_date") String start_date, @Param("end_date") String end_date, @Param("enter_type") Integer enter_type, @Param("appointment_state") Integer appointment_state, @Param("transport_type") Integer transport_type);
+ List AppointmentListForCondition(@Param("users_id") String users_id, @Param("port_area_id") String port_area_id, @Param("keywords") String keywords, @Param("start_date") String start_date, @Param("end_date") String end_date, @Param("enter_type") String enter_type, @Param("appointment_state") Integer appointment_state, @Param("transport_type") String transport_type);
+
+ ListAppointmentListExportyByIds(@Param("list") List ids);
+
+
+ /**
+ * 获取指定预约的货物明细
+ *
+ * @param appointment_id 预约id
+ * @return 返回指定预约的货物明细
+ */
+ List appointmentGoodsDetail(@Param("appointment_id") String appointment_id);
+
+}
diff --git a/mapper/src/main/java/com/haitongauto/mapper/admin/FeedbackAdminMapper.java b/mapper/src/main/java/com/haitongauto/mapper/admin/FeedbackAdminMapper.java
new file mode 100644
index 0000000..3863a4f
--- /dev/null
+++ b/mapper/src/main/java/com/haitongauto/mapper/admin/FeedbackAdminMapper.java
@@ -0,0 +1,19 @@
+package com.haitongauto.mapper.admin;
+
+import com.haitongauto.models.pojo.Feedback;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+@Mapper
+public interface FeedbackAdminMapper {
+ /**
+ * 根据联系方式、用户名称查询意见反馈
+ *
+ * @param linkTel 联系方式
+ * @param nikeName 用户名称
+ * @return 返回意见反馈
+ */
+ List feedbackListForCondition(@Param("users_id") String users_id, @Param("linkTel") String linkTel, @Param("nikeName") String nikeName);
+}
diff --git a/mapper/src/main/java/com/haitongauto/mapper/admin/NoviceIntroductionAdminMapper.java b/mapper/src/main/java/com/haitongauto/mapper/admin/NoviceIntroductionAdminMapper.java
new file mode 100644
index 0000000..e6fa20f
--- /dev/null
+++ b/mapper/src/main/java/com/haitongauto/mapper/admin/NoviceIntroductionAdminMapper.java
@@ -0,0 +1,16 @@
+package com.haitongauto.mapper.admin;
+
+import com.haitongauto.models.pojo.NoviceIntroduction;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+@Mapper
+public interface NoviceIntroductionAdminMapper {
+ /**
+ * 根据分类sort获取操作说明
+ * @param sort:(1-小程序,2-客服平台,3-App)
+ * @return 返回操作说明
+ */
+ NoviceIntroduction getNoviceIntroductionBySort(@Param("sort") Integer sort);
+
+}
diff --git a/mapper/src/main/java/com/haitongauto/mapper/admin/PunchClockAdminMapper.java b/mapper/src/main/java/com/haitongauto/mapper/admin/PunchClockAdminMapper.java
new file mode 100644
index 0000000..4520821
--- /dev/null
+++ b/mapper/src/main/java/com/haitongauto/mapper/admin/PunchClockAdminMapper.java
@@ -0,0 +1,37 @@
+package com.haitongauto.mapper.admin;
+
+import com.haitongauto.models.pojo.PunchClock;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+@Mapper
+public interface PunchClockAdminMapper {
+
+ /**
+ * 通过港区、业务类型、关键词、签到日期、签到状态(缺卡/正常)、打卡完成状态(缺卡/正常)单独或组合查询
+ *
+ * @param port_area_id:港区id
+ * @param biz_type:业务类型
+ * @param keywords:关键字(姓名、手机号、板车号)
+ * @param sign_in_state:签到状态(0-缺卡,1-正常)
+ * @param punch_state:完工打卡状态(0-缺卡,1-完工)
+ * @return 返回打卡记录列表
+ */
+ List PunchClockListForCondition(@Param("users_id") String users_id,
+ @Param("port_area_id") String port_area_id,
+ @Param("biz_type") String biz_type,
+ @Param("keywords") String keywords,
+ @Param("approach_date_start") String approach_date_start,
+ @Param("approach_date_end") String approach_date_end,
+ @Param("sign_in_state") Integer sign_in_state,
+ @Param("punch_state") Integer punch_state);
+
+ /**
+ * 导出指定ids的打卡记录
+ * @param ids 打卡记录ids
+ * @return 返回打卡记录
+ */
+ List getPunchClockListExportByIds(@Param("list") List ids);
+}
diff --git a/mapper/src/main/java/com/haitongauto/mapper/admin/StatisticsAdminMapper.java b/mapper/src/main/java/com/haitongauto/mapper/admin/StatisticsAdminMapper.java
new file mode 100644
index 0000000..1074a55
--- /dev/null
+++ b/mapper/src/main/java/com/haitongauto/mapper/admin/StatisticsAdminMapper.java
@@ -0,0 +1,165 @@
+package com.haitongauto.mapper.admin;
+
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+@Mapper
+public interface StatisticsAdminMapper {
+
+ /**
+ * 已预约车辆数
+ *
+ * @param start_time 开始时间
+ * @param end_time 结束时间
+ * @param port_area_id 港区id
+ * @return 返回已预约车辆数
+ */
+ Integer getAppointmentedCount(@Param("start_time") String start_time, @Param("end_time") String end_time, @Param("port_area_id") String port_area_id);
+
+
+ /**
+ * 取消预约车辆数
+ *
+ * @param start_time 开始时间
+ * @param end_time 结束时间
+ * @param port_area_id 港区id
+ * @return 返回取消预约车辆数
+ */
+ Integer getAppointmentCancelCount(@Param("start_time") String start_time, @Param("end_time") String end_time, @Param("port_area_id") String port_area_id);
+
+ /**
+ * 预约已签到车辆数
+ *
+ * @param start_time 开始时间
+ * @param end_time 结束时间
+ * @param port_area_id 港区id
+ * @return 返回预约已签到车辆数
+ */
+ Integer getAppointmentSignInCount(@Param("start_time") String start_time, @Param("end_time") String end_time, @Param("port_area_id") String port_area_id);
+
+ /**
+ * 完成打卡车辆数
+ *
+ * @param start_time 开始时间
+ * @param end_time 结束时间
+ * @param port_area_id 港区id
+ * @return 返回完成打卡车辆数
+ */
+ Integer getPunchClockOverCount(@Param("start_time") String start_time, @Param("end_time") String end_time, @Param("port_area_id") String port_area_id);
+
+ /**
+ * 指令已发送车辆数
+ *
+ * @param start_time 开始时间
+ * @param end_time 结束时间
+ * @param port_area_id 港区id
+ * @return 指令已发送车辆数
+ */
+ Integer getInstructHavaSendCount(@Param("start_time") String start_time, @Param("end_time") String end_time, @Param("port_area_id") String port_area_id);
+
+ /**
+ * 外贸出口卡车辆数
+ *
+ * @param start_time 开始时间
+ * @param end_time 结束时间
+ * @param port_area_id 港区id
+ * @return 返回外贸出口卡车辆数
+ */
+ Integer getForeignTradeExportsCount(@Param("start_time") String start_time, @Param("end_time") String end_time, @Param("port_area_id") String port_area_id);
+
+ /**
+ * 外贸进口卡车辆数
+ *
+ * @param start_time 开始时间
+ * @param end_time 结束时间
+ * @param port_area_id 港区id
+ * @return 返回外贸进口卡车辆数
+ */
+ Integer getForeignTradeImportsCount(@Param("start_time") String start_time, @Param("end_time") String end_time, @Param("port_area_id") String port_area_id);
+
+ /**
+ * 内贸出口卡车辆数
+ *
+ * @param start_time 开始时间
+ * @param end_time 结束时间
+ * @param port_area_id 港区id
+ * @return 返回内贸出口卡车辆数
+ */
+ Integer getDomesticTradeExportCount(@Param("start_time") String start_time, @Param("end_time") String end_time, @Param("port_area_id") String port_area_id);
+
+ /**
+ * 内贸进口卡车辆数
+ *
+ * @param start_time 开始时间
+ * @param end_time 结束时间
+ * @param port_area_id 港区id
+ * @return 返回内贸进口卡车辆数
+ */
+ Integer getDomesticImportsExportCount(@Param("start_time") String start_time, @Param("end_time") String end_time, @Param("port_area_id") String port_area_id);
+
+ /**
+ * 某进道口的辆数
+ * @param start_time 开始时间
+ * @param end_time 结束时间
+ * @param port_area_id 港区id
+ * @param gate_canal_in 道口号(进)
+ * @return 某进道口的辆数
+ */
+ Integer getInGateCanalCodeCount(@Param("start_time") String start_time, @Param("end_time") String end_time, @Param("port_area_id") String port_area_id, @Param("gate_canal_in") String gate_canal_in);
+
+ /**
+ * 某出道口的辆数
+ * @param start_time 开始时间
+ * @param end_time 结束时间
+ * @param port_area_id 港区id
+ * @param gate_canal_out 道口号(进)
+ * @return 某出道口的辆数
+ */
+ Integer getOutGateCanalCodeCount(@Param("start_time") String start_time, @Param("end_time") String end_time, @Param("port_area_id") String port_area_id, @Param("gate_canal_out") String gate_canal_out);
+
+ /**
+ * 自动进闸口板车数
+ * @param start_time 开始时间
+ * @param end_time 结束时间
+ * @param port_area_id 港区id
+ * @return 自动进闸口板车数
+ */
+ Integer getConventionalityInGateCount(@Param("start_time") String start_time, @Param("end_time") String end_time, @Param("port_area_id") String port_area_id);
+
+ /**
+ * 人工抬杆进闸口板车数
+ * @param start_time 开始时间
+ * @param end_time 结束时间
+ * @param port_area_id 港区id
+ * @return 人工抬杆进闸口板车数
+ */
+ Integer getUnConventionalityInGateCount(@Param("start_time") String start_time, @Param("end_time") String end_time, @Param("port_area_id") String port_area_id);
+
+ /**
+ * 待进港通行板车数 (已签到未进港的)
+ * @param start_time 开始时间
+ * @param end_time 结束时间
+ * @param port_area_id 港区id
+ * @return 待进港通行板车数 (已签到未进港的)
+ */
+ Integer getWellInGateCount(@Param("start_time") String start_time, @Param("end_time") String end_time, @Param("port_area_id") String port_area_id);
+
+ /**
+ * 已进港板车数 (已进港但未完成-离港的)
+ * @param start_time 开始时间
+ * @param end_time 结束时间
+ * @param port_area_id 港区id
+ * @return 已进港板车数 (已进港但未完成-离港的)
+ */
+ Integer getHaveInGateCount(@Param("start_time") String start_time, @Param("end_time") String end_time, @Param("port_area_id") String port_area_id);
+
+ /**
+ * 已离港板车数 (已进港但未完成-离港的)
+ * @param start_time 开始时间
+ * @param end_time 结束时间
+ * @param port_area_id 港区id
+ * @return 已离港板车数 (已进港但未完成-离港的)
+ */
+ Integer getHavaOutGateCount(@Param("start_time") String start_time, @Param("end_time") String end_time, @Param("port_area_id") String port_area_id);
+
+}
diff --git a/mapper/src/main/java/com/haitongauto/mapper/admin/UsersAdminMapper.java b/mapper/src/main/java/com/haitongauto/mapper/admin/UsersAdminMapper.java
new file mode 100644
index 0000000..cf95dc7
--- /dev/null
+++ b/mapper/src/main/java/com/haitongauto/mapper/admin/UsersAdminMapper.java
@@ -0,0 +1,22 @@
+package com.haitongauto.mapper.admin;
+import com.haitongauto.models.pojo.Users;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+@Mapper
+public interface UsersAdminMapper {
+ /**
+ * 根据用户ID、手机号、昵称、注册时间和用户状态查询小程序注册用户信息
+ * @param keywords : 查询关键字(用户ID、手机号、昵称)
+ * @param registerDateStart :注册日期
+ * @param registerDateEnd :注册日期
+ * @param usersState:用户状态
+ * @return 返回注册用户信息
+ */
+ List usersListForCondition(@Param("keywords") String keywords,
+ @Param("registerDateStart") String registerDateStart,
+ @Param("registerDateEnd") String registerDateEnd,
+ @Param("usersState") Integer usersState);
+}
diff --git a/mapper/src/main/java/com/haitongauto/mapper/base/AnnouncementMapper.java b/mapper/src/main/java/com/haitongauto/mapper/base/AnnouncementMapper.java
new file mode 100644
index 0000000..2156790
--- /dev/null
+++ b/mapper/src/main/java/com/haitongauto/mapper/base/AnnouncementMapper.java
@@ -0,0 +1,20 @@
+package com.haitongauto.mapper.base;
+
+import com.haitongauto.models.pojo.Announcement;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * 公告
+ *
+ * @author : kchh
+ * @date : 2023-7-9
+ */
+@Mapper
+public interface AnnouncementMapper extends DataBaseMapper {
+
+ //---BaseMapper继承自DataBaseMapper
+ List getListBySort(@Param("sort") Integer sort,@Param("keyWords") String keyWords);
+}
diff --git a/mapper/src/main/java/com/haitongauto/mapper/base/AppointmentDetailMapper.java b/mapper/src/main/java/com/haitongauto/mapper/base/AppointmentDetailMapper.java
new file mode 100644
index 0000000..ba2b7a5
--- /dev/null
+++ b/mapper/src/main/java/com/haitongauto/mapper/base/AppointmentDetailMapper.java
@@ -0,0 +1,41 @@
+package com.haitongauto.mapper.base;
+
+import com.haitongauto.models.dto.Pages;
+import com.haitongauto.models.pojo.AppointmentDetail;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * 预约详细(详情)
+ *
+ * @author : kchh
+ * @date 2023-7-9
+ */
+@Mapper
+public interface AppointmentDetailMapper extends DataBaseMapper {
+ /**
+ * 根据预约id查询预约详情
+ *
+ * @param appointment_id 预约id
+ * @return 返回预约详情
+ */
+ List getAppointmentDetailListByAppointmentId(@Param("appointment_id") String appointment_id);
+
+ AppointmentDetail getAppointmentDetailByGoodVin(@Param("vin") String vin);
+
+ List getAppointmentDetailByAppointmentIdList(@Param("list") List list);
+
+ int deleteAppointmentDetailByAppointmentId(@Param("appointment_id") String appointment_id);
+
+ List getAppointmentDetailListByGoodVinList(@Param("list") List list);
+
+ /* 检查指定的VIN是否存在预约中 */
+ //Integer getVinAtAppointmentDetail(@Param("vin") String vin);
+
+ List getAppointmentDetailListByVinList(@Param("list") List list);
+
+ List getAppointmentDetailsByConditionf(@Param("appointment_id") String appointment_id, @Param("ship_id") String ship_id, @Param("brand_id") String brand_id);
+
+}
diff --git a/mapper/src/main/java/com/haitongauto/mapper/base/AppointmentMapper.java b/mapper/src/main/java/com/haitongauto/mapper/base/AppointmentMapper.java
new file mode 100644
index 0000000..b9f9e17
--- /dev/null
+++ b/mapper/src/main/java/com/haitongauto/mapper/base/AppointmentMapper.java
@@ -0,0 +1,98 @@
+package com.haitongauto.mapper.base;
+
+import com.haitongauto.models.pojo.Appointment;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * 预约信息
+ *
+ * @author : kchh
+ * @date : 2023-7-9
+ */
+@Mapper
+public interface AppointmentMapper extends DataBaseMapper {
+ /**
+ * 根据车牌号查询预约信息列表
+ *
+ * @param truck_number 车牌号
+ * @return 返回预约信息列表
+ */
+ List getListByTruckName(@Param("truck_number") String truck_number);
+
+
+ /**
+ * 根据truck_vin查询预约信息列表
+ *
+ * @param truck_vin truck_vin
+ * @return 返回预约信息列表
+ */
+ List getAppointmentByVin(@Param("truck_vin") String truck_vin);
+
+ /**
+ * 查询用户当天在外高桥港区未离港的预约
+ *
+ * @param users_id 用户id
+ * @param port_area_id 港区id
+ * @param approach_date 进港日期
+ * @return 返回预约信息
+ */
+ Appointment getAppointmentByUserIdAndPortAreaIdAndApproachDate(@Param("users_id") String users_id, @Param("port_area_id") String port_area_id, @Param("approach_date") String approach_date);
+
+ List getAppointmentListByCondition(@Param("truck_number") String truck_number, @Param("ship_id") String ship_id, @Param("instruct_state") Integer instruct_state, @Param("brand_name") String brand_name);
+
+ List getAppointmentByIds(@Param("list") List list);
+
+ /**
+ * 批量修改指令
+ *
+ * @param list list
+ * @return aaa
+ */
+ int batchUpdateAppointmentInstructState(@Param("list") List list);
+
+
+ /**
+ * 结合预约明细信息,条件查询预约信息
+ * @param startDate 开始时间(必填项)
+ * @param endDate 结束时间(必填项)
+ * @param portAreaId 港区id(必填项)
+ * @param truckNumber 板车号(非必填项)
+ * @param shipId 船舶id(非必填项)
+ * @param instructState 指令状态(非必填项)
+ * @param brandId 品牌id(非必填项)
+ * @return
+ */
+ List getAppointmentListByConditionf(@Param("startDate") LocalDateTime startDate,
+ @Param("endDate") LocalDateTime endDate,
+ @Param("portAreaId") String portAreaId,
+ @Param("truckNumber") String truckNumber,
+ @Param("shipId") String shipId,
+ @Param("instructState") Integer instructState,
+ @Param("brandId") String brandId);
+
+
+ Integer updateAppointmentPlateScanTime(@Param("appointment_id") String appointment_id);
+
+ /**
+ * 获得某一港区有效预约id集合
+ * @param port_area_id
+ * @return
+ */
+ List getIdListNoInEn(@Param("port_area_id") String port_area_id);
+
+ /**
+ * 获得所有有效预约id集合
+ * @return
+ */
+ List getIdListNoInEnNew();
+
+
+ Appointment getAppointmentByTruckName(@Param("truck_number") String truck_number);
+
+}
diff --git a/mapper/src/main/java/com/haitongauto/mapper/base/DataBaseMapper.java b/mapper/src/main/java/com/haitongauto/mapper/base/DataBaseMapper.java
new file mode 100644
index 0000000..7125a06
--- /dev/null
+++ b/mapper/src/main/java/com/haitongauto/mapper/base/DataBaseMapper.java
@@ -0,0 +1,52 @@
+package com.haitongauto.mapper.base;
+
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+public interface DataBaseMapper {
+
+ /**
+ * 插入
+ *
+ * @param t 表数据实体
+ * @return 返回受影响记录条数
+ */
+ String insert(T t);
+
+ /**
+ * 逻辑删除
+ *
+ * @param id 记录id
+ * @return 返回受影响记录条数
+ */
+ Integer logicDel(@Param("id") String id);
+
+
+ /**
+ * 删除
+ * @param id 记录id
+ * @return 返回受影响记录条数
+ */
+ Integer delete(@Param("id") String id);
+
+ /**
+ * 修改
+ * @param t 表数据实体
+ * @return 返回受影响记录条数
+ */
+ Integer update(T t);
+
+ /**
+ * 根据记录id查询一条数据记录
+ * @param id 记录id
+ * @return 返回表数据实体
+ */
+ T getById(@Param("id") String id);
+
+ /**
+ * 查询所有数据记录
+ * @return 返回所有数据列表
+ */
+ List getList();
+}
diff --git a/mapper/src/main/java/com/haitongauto/mapper/base/DepartureDetailMapper.java b/mapper/src/main/java/com/haitongauto/mapper/base/DepartureDetailMapper.java
new file mode 100644
index 0000000..621f7b3
--- /dev/null
+++ b/mapper/src/main/java/com/haitongauto/mapper/base/DepartureDetailMapper.java
@@ -0,0 +1,12 @@
+package com.haitongauto.mapper.base;
+import com.haitongauto.models.pojo.DepartureDetail;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 提车明细
+ * @author : kchh
+ * @date : 2023-7-9
+ */
+@Mapper
+public interface DepartureDetailMapper extends DataBaseMapper {
+}
diff --git a/mapper/src/main/java/com/haitongauto/mapper/base/DepartureVehicleMapper.java b/mapper/src/main/java/com/haitongauto/mapper/base/DepartureVehicleMapper.java
new file mode 100644
index 0000000..61e09e5
--- /dev/null
+++ b/mapper/src/main/java/com/haitongauto/mapper/base/DepartureVehicleMapper.java
@@ -0,0 +1,12 @@
+package com.haitongauto.mapper.base;
+
+import com.haitongauto.models.pojo.DepartureVehicle;
+import org.apache.ibatis.annotations.Mapper;
+/**
+ * 提车信息
+ * @author : kchh
+ * @date : 2023-7-9
+ */
+@Mapper
+public interface DepartureVehicleMapper extends DataBaseMapper {
+}
diff --git a/mapper/src/main/java/com/haitongauto/mapper/base/DicMapper.java b/mapper/src/main/java/com/haitongauto/mapper/base/DicMapper.java
new file mode 100644
index 0000000..dd7d77f
--- /dev/null
+++ b/mapper/src/main/java/com/haitongauto/mapper/base/DicMapper.java
@@ -0,0 +1,27 @@
+package com.haitongauto.mapper.base;
+
+import com.haitongauto.models.pojo.Dic;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * 通用数据字典表(数据源自RTOS)
+ * 运输方式 TRANSPORT_TYPE
+ * 进港类型 ENTER_PORT_TYPE
+ * 货物类型 APP_CARGO_TYPE
+ * 操作模式 OPERATING_MODE
+ * 备 件 MACHINE_TYPE
+ * @author : kchh
+ * @date : 2023-7-9
+ */
+@Mapper
+public interface DicMapper extends DataBaseMapper{
+ /**
+ * 根据字典分类参数获取字典数据列表
+ * @param dic_sort:字典分类参数,如运输方式的 dic_sort=TRANSPORT_TYPE
+ * @return 返回字典数据列表
+ */
+ List getDicListByDicSort(@Param("dic_sort") String dic_sort);
+}
diff --git a/mapper/src/main/java/com/haitongauto/mapper/base/EntryInstructMapper.java b/mapper/src/main/java/com/haitongauto/mapper/base/EntryInstructMapper.java
new file mode 100644
index 0000000..12b2a59
--- /dev/null
+++ b/mapper/src/main/java/com/haitongauto/mapper/base/EntryInstructMapper.java
@@ -0,0 +1,13 @@
+package com.haitongauto.mapper.base;
+
+import com.haitongauto.models.pojo.EntryInstruct;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 进港指令
+ * @author : kchh
+ * @date : 2023-7-9
+ */
+@Mapper
+public interface EntryInstructMapper extends DataBaseMapper{
+}
diff --git a/mapper/src/main/java/com/haitongauto/mapper/base/FeedbackMapper.java b/mapper/src/main/java/com/haitongauto/mapper/base/FeedbackMapper.java
new file mode 100644
index 0000000..2bfc1a0
--- /dev/null
+++ b/mapper/src/main/java/com/haitongauto/mapper/base/FeedbackMapper.java
@@ -0,0 +1,14 @@
+package com.haitongauto.mapper.base;
+
+import com.haitongauto.models.pojo.Feedback;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 意见反馈
+ * @author : kchh
+ * @date : 2023-7-9
+ */
+@Mapper
+public interface FeedbackMapper extends DataBaseMapper {
+ //---BaseMapper继承自DataBaseMapper
+}
diff --git a/mapper/src/main/java/com/haitongauto/mapper/base/LoginLogMapper.java b/mapper/src/main/java/com/haitongauto/mapper/base/LoginLogMapper.java
new file mode 100644
index 0000000..6389669
--- /dev/null
+++ b/mapper/src/main/java/com/haitongauto/mapper/base/LoginLogMapper.java
@@ -0,0 +1,11 @@
+package com.haitongauto.mapper.base;
+
+import com.haitongauto.models.pojo.LoginLog;
+/**
+ * 用户登录日志
+ * @author : kchh
+ * @date : 2023-7-9
+ */
+public interface LoginLogMapper extends DataBaseMapper{
+ //---LoginLogMapper继承自DataBaseMapper
+}
diff --git a/mapper/src/main/java/com/haitongauto/mapper/base/MessageMapper.java b/mapper/src/main/java/com/haitongauto/mapper/base/MessageMapper.java
new file mode 100644
index 0000000..dc85911
--- /dev/null
+++ b/mapper/src/main/java/com/haitongauto/mapper/base/MessageMapper.java
@@ -0,0 +1,29 @@
+package com.haitongauto.mapper.base;
+
+import com.haitongauto.models.pojo.Message;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+@Mapper
+public interface MessageMapper extends DataBaseMapper {
+
+ Integer sumUnread(@Param("list") List truckNumberList);
+
+ List getMessageListByTruckNumber(@Param("list") List truckNumberList);
+
+ /**
+ * @return 返回结果
+ */
+ List getUnReadMessageListByTruckNumber(@Param("list") List truckNumberList);
+
+ /**
+ * 获得车辆最新消息
+ *
+ * @param type 收车/发车
+ * @param biz_id biz_id
+ * @return 返回消息
+ */
+ Message getLastMessageByTypeAndBizId(@Param("type") Integer type, @Param("biz_id") String biz_id);
+}
diff --git a/mapper/src/main/java/com/haitongauto/mapper/base/NoviceIntroductionMapper.java b/mapper/src/main/java/com/haitongauto/mapper/base/NoviceIntroductionMapper.java
new file mode 100644
index 0000000..f310347
--- /dev/null
+++ b/mapper/src/main/java/com/haitongauto/mapper/base/NoviceIntroductionMapper.java
@@ -0,0 +1,13 @@
+package com.haitongauto.mapper.base;
+
+import com.haitongauto.models.pojo.NoviceIntroduction;
+import org.apache.ibatis.annotations.Mapper;
+/**
+ * 新手攻略(小程序/客服平台/生产APP操作指南)
+ * @author : kchh
+ * @date : 2023-7-9
+ */
+@Mapper
+public interface NoviceIntroductionMapper extends DataBaseMapper {
+ //---BaseMapper继承自DataBaseMapper
+}
diff --git a/mapper/src/main/java/com/haitongauto/mapper/base/PortAreasMapper.java b/mapper/src/main/java/com/haitongauto/mapper/base/PortAreasMapper.java
new file mode 100644
index 0000000..ff0400c
--- /dev/null
+++ b/mapper/src/main/java/com/haitongauto/mapper/base/PortAreasMapper.java
@@ -0,0 +1,14 @@
+package com.haitongauto.mapper.base;
+
+import com.haitongauto.models.pojo.PortArea;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+/**
+ * 港区表(数据源自RTOS,请求时返回200,则使用数据,并更新表;否则,直接使用本表)
+ * @author : kchh
+ * @date : 2023-7-9
+ */
+@Mapper
+public interface PortAreasMapper extends DataBaseMapper {
+ //---BaseMapper继承自DataReqMapper
+}
diff --git a/mapper/src/main/java/com/haitongauto/mapper/base/PunchClockMapper.java b/mapper/src/main/java/com/haitongauto/mapper/base/PunchClockMapper.java
new file mode 100644
index 0000000..bbd7114
--- /dev/null
+++ b/mapper/src/main/java/com/haitongauto/mapper/base/PunchClockMapper.java
@@ -0,0 +1,32 @@
+package com.haitongauto.mapper.base;
+
+import com.haitongauto.models.pojo.PunchClock;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * (签到/完成)打卡信息
+ * @author : kchh
+ * @date : 2023-7-9
+ */
+@Mapper
+public interface PunchClockMapper extends DataBaseMapper {
+ /**
+ * 根据预约id查询打卡记录
+ * @param appointment_id 预约id
+ * @return 返回打卡记录
+ */
+ PunchClock getPunchClockByAppointmentId(@Param("appointment_id") String appointment_id );
+
+ /**
+ * 查询多个预约id 的打卡记录
+ * @param appointmentIdList 预约id的集合
+ * @return 返回打卡记录列表
+ */
+ List getPunchClockByAppointmentIdList(@Param("list") List appointmentIdList);
+
+
+
+}
diff --git a/mapper/src/main/java/com/haitongauto/mapper/base/ReceivingDetailMapper.java b/mapper/src/main/java/com/haitongauto/mapper/base/ReceivingDetailMapper.java
new file mode 100644
index 0000000..eab99f9
--- /dev/null
+++ b/mapper/src/main/java/com/haitongauto/mapper/base/ReceivingDetailMapper.java
@@ -0,0 +1,13 @@
+package com.haitongauto.mapper.base;
+
+import com.haitongauto.models.pojo.ReceivingDetail;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 收车明细(数据源自RTOS)
+ * @author : kchh
+ * @date : 2023-7-9
+ */
+@Mapper
+public interface ReceivingDetailMapper extends DataBaseMapper{
+}
diff --git a/mapper/src/main/java/com/haitongauto/mapper/base/ReceivingVehicleMapper.java b/mapper/src/main/java/com/haitongauto/mapper/base/ReceivingVehicleMapper.java
new file mode 100644
index 0000000..e6aa7eb
--- /dev/null
+++ b/mapper/src/main/java/com/haitongauto/mapper/base/ReceivingVehicleMapper.java
@@ -0,0 +1,20 @@
+package com.haitongauto.mapper.base;
+
+import com.haitongauto.models.pojo.ReceivingVehicle;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+/**
+ * 收车信息(数据源自RTOS)
+ * @author : kchh
+ * @date : 2023-7-9
+ */
+@Mapper
+public interface ReceivingVehicleMapper extends DataBaseMapper{
+ /**
+ * 根据凭证编号获取凭证id
+ * @param voucher_number 凭证编号
+ * @return 返回凭证id
+ */
+ ReceivingVehicle getIdByVoucherNo(@Param("voucher_number") String voucher_number);
+}
diff --git a/mapper/src/main/java/com/haitongauto/mapper/base/RequesterMapper.java b/mapper/src/main/java/com/haitongauto/mapper/base/RequesterMapper.java
new file mode 100644
index 0000000..f862661
--- /dev/null
+++ b/mapper/src/main/java/com/haitongauto/mapper/base/RequesterMapper.java
@@ -0,0 +1,16 @@
+package com.haitongauto.mapper.base;
+
+import com.haitongauto.models.pojo.Requester;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+/**
+ * 请求第三方接口
+ * @author : kchh
+ * @date 2023-7-9
+ */
+@Mapper
+public interface RequesterMapper extends DataBaseMapper {
+ //---BaseMapper继承自DataBaseMapper
+ Requester getRequesterForType(@Param("request_type") Integer request_type);
+}
diff --git a/mapper/src/main/java/com/haitongauto/mapper/base/ServiceConfigMapper.java b/mapper/src/main/java/com/haitongauto/mapper/base/ServiceConfigMapper.java
new file mode 100644
index 0000000..7947f9b
--- /dev/null
+++ b/mapper/src/main/java/com/haitongauto/mapper/base/ServiceConfigMapper.java
@@ -0,0 +1,14 @@
+package com.haitongauto.mapper.base;
+
+import com.haitongauto.models.pojo.ServiceConfig;
+
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 服务配置
+ * @author : kchh
+ * @date : 2023-7-9
+ */
+@Mapper
+public interface ServiceConfigMapper extends DataBaseMapper {
+}
diff --git a/mapper/src/main/java/com/haitongauto/mapper/base/TableHeadMapper.java b/mapper/src/main/java/com/haitongauto/mapper/base/TableHeadMapper.java
new file mode 100644
index 0000000..efeca83
--- /dev/null
+++ b/mapper/src/main/java/com/haitongauto/mapper/base/TableHeadMapper.java
@@ -0,0 +1,20 @@
+package com.haitongauto.mapper.base;
+
+import com.haitongauto.models.pojo.TableHead;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+/**
+ * 自定义表头(后台管理客户端可自定义勾选表头显示字段)
+ * @author : kchh
+ * @date : 2023-7-9
+ */
+@Mapper
+public interface TableHeadMapper extends DataBaseMapper{
+ /**
+ * 根据表编号
+ * @param table_code 表编号
+ * @return 返回动态表头
+ */
+ TableHead queryByCode( @Param("table_code") String table_code);
+}
diff --git a/mapper/src/main/java/com/haitongauto/mapper/base/TruckManagementMapper.java b/mapper/src/main/java/com/haitongauto/mapper/base/TruckManagementMapper.java
new file mode 100644
index 0000000..5ebdef7
--- /dev/null
+++ b/mapper/src/main/java/com/haitongauto/mapper/base/TruckManagementMapper.java
@@ -0,0 +1,12 @@
+package com.haitongauto.mapper.base;
+
+import com.haitongauto.models.pojo.TruckManagement;
+import org.apache.ibatis.annotations.Mapper;
+/**
+ * 板车管理
+ * @author :kchh
+ * @date : 2023-7-9
+ */
+@Mapper
+public interface TruckManagementMapper extends DataBaseMapper {
+}
diff --git a/mapper/src/main/java/com/haitongauto/mapper/base/TruckMapper.java b/mapper/src/main/java/com/haitongauto/mapper/base/TruckMapper.java
new file mode 100644
index 0000000..c5df786
--- /dev/null
+++ b/mapper/src/main/java/com/haitongauto/mapper/base/TruckMapper.java
@@ -0,0 +1,34 @@
+package com.haitongauto.mapper.base;
+
+import com.haitongauto.models.pojo.Truck;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+/**
+ * 板车信息(用户扫描行驶证获取)
+ * @author : kchh
+ * @date : 2023-7-9
+ */
+@Mapper
+public interface TruckMapper extends DataBaseMapper{
+ Integer updateEX(Truck truck);
+
+ /**
+ * 根据用户id查询板车信息
+ * @param users_id:用户id
+ * @return 返回板车信息
+ */
+ Truck getTruckByUsersId(@Param("users_id")String users_id);
+
+ /**
+ * 根据用户id查询板车信息
+ * @param wx_openid:用户id
+ * @return 返回板车信息
+ */
+ Truck getTruckByOpenId(@Param("wx_openid")String wx_openid);
+
+ Truck getPalletTruckByTruckNo(@Param("truck_number")String truck_number);
+
+ Integer deleteTruckByUsersId(@Param("users_id")String users_id);
+
+}
diff --git a/mapper/src/main/java/com/haitongauto/mapper/base/UsersMapper.java b/mapper/src/main/java/com/haitongauto/mapper/base/UsersMapper.java
new file mode 100644
index 0000000..7d81f34
--- /dev/null
+++ b/mapper/src/main/java/com/haitongauto/mapper/base/UsersMapper.java
@@ -0,0 +1,21 @@
+package com.haitongauto.mapper.base;
+
+import com.haitongauto.models.pojo.Users;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+/**
+ * 用户(司机)信息
+ *
+ * @author : kchh
+ * @date : 2023-7-9
+ */
+@Mapper
+public interface UsersMapper extends DataBaseMapper {
+ Users getByWxOpenid(@Param("wx_openid") String wx_openid);
+
+ Users getByIdCode(@Param("id_code") String id_code);
+
+
+
+}
\ No newline at end of file
diff --git a/mapper/src/main/java/com/haitongauto/mapper/client/AppointmentExtendMapper.java b/mapper/src/main/java/com/haitongauto/mapper/client/AppointmentExtendMapper.java
new file mode 100644
index 0000000..126b3f0
--- /dev/null
+++ b/mapper/src/main/java/com/haitongauto/mapper/client/AppointmentExtendMapper.java
@@ -0,0 +1,105 @@
+package com.haitongauto.mapper.client;
+
+import com.haitongauto.models.pojo.Appointment;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.time.LocalDate;
+import java.util.List;
+
+/**
+ * 预约类扩展Mapper
+ */
+@Mapper
+public interface AppointmentExtendMapper {
+ /**
+ * 获取用户指定状态(1-已预约,2-已签到,3-已进港,5-操作中,6-已完成,7-已出港,4-已取消,9-异常)数据
+ *
+ * @param users_id 用户id
+ * @param appointment_state 预约状态
+ * @return 返回用户指定状态的预约信息列表
+ */
+ List getAppointmentListForAny(@Param("users_id") String users_id, @Param("appointment_state") Integer appointment_state);
+
+ /**
+ * 我的预约信息列表
+ *
+ * @param users_id 用户id
+ * @return 返回我的预约信息列表
+ */
+ List getMyAppointmentList(@Param("users_id") String users_id);
+
+ /**
+ * 根据预约日期查询我的预约信息
+ *
+ * @param users_id 用户id
+ * @param approach_date 进港日期
+ * @return 返回预约信息
+ */
+ List getMyAppointmentListForDate(@Param("users_id") String users_id, @Param("approach_date") LocalDate approach_date);
+
+ /**
+ * 根据id_list获取我的预约列表
+ *
+ * @param users_id 用户id
+ * @param id_list 预约id列表
+ * @return 返回获取我的预约列表
+ */
+ List getMyAppointmentListForIdList(@Param("users_id") String users_id, @Param("id_list") List id_list);
+
+ /**
+ * 获取指定用户预约未完成的数据(备注:appointment_state: 1-已预约,2-已签到,3-已进港,5-操作中,6-已完成,7-已出港,4-已取消,9-异常)数据
+ *
+ * @param users_id 用户id
+ * @return 返回指定用户预约未完成的数据
+ */
+ Appointment getActiveAppointment(@Param("users_id") String users_id);
+
+ Appointment getActiveAppointmentByTruckNumber(@Param("truck_number") String truck_number);
+
+ /**
+ * 取消预约
+ *
+ * @param cancel_time 取消时间
+ * @param appointment_id 预约id
+ * @return 返回执行结果
+ */
+ Integer cancelAppointment(@Param("cancel_time") String cancel_time, @Param("appointment_id") String appointment_id);
+
+
+ Integer cancelAppointmentDetails(@Param("appointment_id") String appointment_id);
+
+ /**
+ * 获取我的当前预约
+ *
+ * @param users_id 用户id
+ * @return 返回我的当前预约
+ */
+ Appointment getMyAppointment(@Param("users_id") String users_id);
+
+ /**
+ * 模糊查询(船名、航次),返回符合条件的预约记录明细Id列表
+ *
+ * @param keywords 查询关键字(船名、航次)
+ * @return 返回预约id列表
+ */
+ List getAppointmentDetailListForKeyWords(@Param("keywords") String keywords);
+
+ /**
+ * 查询指定用户和指定车辆是否存在已预约但未完成预约信息
+ *
+ * @param users_id 用户id
+ * @param truck_number 车牌号
+ * @return 返回指定用户和指定车辆是否存在已预约但未完成预约信息
+ */
+ Appointment getActiveAppointmentByUserAndTruck(@Param("users_id") String users_id, @Param("truck_number") String truck_number);
+
+ /**
+ * @param keywords 查询关键字(船名、航次)
+ * @param approach_date 进场日期
+ * @return 返回预约列表
+ */
+ List getAppointmentListForCondition(@Param("users_id") String users_id, @Param("keywords") String keywords, @Param("approach_date") String approach_date);
+
+
+}
diff --git a/mapper/src/main/java/com/haitongauto/mapper/client/OtherExtendMapper.java b/mapper/src/main/java/com/haitongauto/mapper/client/OtherExtendMapper.java
new file mode 100644
index 0000000..b13ca4f
--- /dev/null
+++ b/mapper/src/main/java/com/haitongauto/mapper/client/OtherExtendMapper.java
@@ -0,0 +1,54 @@
+package com.haitongauto.mapper.client;
+
+import com.haitongauto.models.pojo.Requester;
+import com.haitongauto.models.pojo.Announcement;
+import com.haitongauto.models.pojo.EntryInstruct;
+import com.haitongauto.models.pojo.Users;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+@Mapper
+public interface OtherExtendMapper {
+ /**
+ * 读取最近10条公告数据
+ * @return 返回最近10条公告数据
+ */
+ List getLastAnnouncementsList();
+
+ /**
+ * 获取发送给指定用户的(最近10条)指令信息
+ * @param users_id 用户id
+ * @return 返回指定发送给指定用户的(最近10条)指令信息
+ */
+ List getEntryInstructionsForUsers(@Param("users_id") String users_id);
+
+ /***
+ * 根据请求类型获取一条请求配置数据
+ * @param request_type 请求类型
+ * @return 返回配置数据
+ */
+ Requester getRequesterForType(@Param("request_type") Integer request_type);
+
+ /**
+ * 根据配置编号code代码获取配置结果数据
+ * @param config_code 配置编码
+ * @return 返回配置结果数据
+ */
+ String getServiceConfigForCode(@Param("config_code") String config_code);
+
+ /**
+ * 根据用户的小程序 openid 获取用户在数据库里的数据
+ * @param wx_openid wx_openid
+ * @return 返回用户在数据库里的数据
+ */
+ Users getUsersForOpenId(@Param("wx_openid") String wx_openid);
+
+ /**
+ * 根据板车号查用户信息
+ * @param truck_number 车牌号
+ * @return 返回查用户信息
+ */
+ Users getUsersByTruckNo(@Param("truck_number") String truck_number);
+}
diff --git a/mapper/src/main/java/com/haitongauto/mapper/client/PunchClockExtendMapper.java b/mapper/src/main/java/com/haitongauto/mapper/client/PunchClockExtendMapper.java
new file mode 100644
index 0000000..61f7457
--- /dev/null
+++ b/mapper/src/main/java/com/haitongauto/mapper/client/PunchClockExtendMapper.java
@@ -0,0 +1,67 @@
+package com.haitongauto.mapper.client;
+
+import com.haitongauto.models.pojo.PunchClock;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.time.LocalDate;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * 打卡类扩展Mapper
+ */
+@Mapper
+public interface PunchClockExtendMapper {
+ /**
+ * 根据预约Id获取获取打卡记录
+ *
+ * @param appointment_id 预约id
+ * @return 返回打卡记录
+ */
+ PunchClock getPunchClockForAppintementId(@Param("appointment_id") String appointment_id);
+
+ /**
+ * 获取指定日期的最后一个签到打卡编号
+ *
+ * @param date 指定日期
+ * @return 返回最后一个签到打卡编号
+ */
+ String getLastQueueNumber(@Param("date") Date date, @Param("port_area_id") String port_area_id);
+
+ /**
+ * 查询指定司机某一天(指定日期)的打卡记录
+ *
+ * @param date 指定日期
+ * @param users_id 用户id
+ * @return 返回打卡记录
+ */
+ List getPunchClockForDate(@Param("date") String date, @Param("users_id") String users_id);
+
+ /**
+ * 查询指定司机某年某月的打卡记录
+ *
+ * @param users_id 用户id
+ * @return 返回打卡记录
+ */
+ List getPunchClockForYM(@Param("users_id") String users_id, @Param("year") Integer year, @Param("month") Integer month);
+
+
+ /**
+ * 获取指定预约的签到打卡排队序号
+ *
+ * @param appointment_id 预约id
+ * @return 返回指定预约的签到打卡排队序号
+ */
+ String getQueueNumberForIdDate(@Param("appointment_id") String appointment_id);
+
+ /**
+ * 获取当前排队前面还剩多少车辆未进港
+ *
+ * @param approach_date 进场日期
+ * @param port_area_id 港区id
+ * @param queue_number 排队号
+ * @return 返回前排队前面还剩多少车辆未进港的数量
+ */
+ Integer getNumberBeforeMe(@Param("approach_date") String approach_date, @Param("port_area_id") String port_area_id, @Param("queue_number") String queue_number);
+}
diff --git a/mapper/src/main/java/com/haitongauto/mapper/client/TruckExtendMapper.java b/mapper/src/main/java/com/haitongauto/mapper/client/TruckExtendMapper.java
new file mode 100644
index 0000000..012ccbe
--- /dev/null
+++ b/mapper/src/main/java/com/haitongauto/mapper/client/TruckExtendMapper.java
@@ -0,0 +1,56 @@
+package com.haitongauto.mapper.client;
+
+import com.haitongauto.models.pojo.Truck;
+import com.haitongauto.models.pojo.Users;
+import com.haitongauto.models.pojo.TruckManagement;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.apache.poi.ss.formula.functions.T;
+
+import java.util.List;
+
+@Mapper
+public interface TruckExtendMapper{
+ /**
+ * 根据用户Id查车牌号
+ * @param users_id 用户id
+ * @return 返回车牌号
+ */
+ Truck getTruckNumberForUid(@Param("users_id") String users_id);
+
+ /**
+ * 获取指定用户的板车信息
+ * @param users_id 用户id
+ * @return 返回指定用户的板车信息
+ */
+ List getPalletTruckForUsers(@Param("users_id") String users_id);
+
+ /**
+ * 根据车牌号查车辆信息
+ * @param truck_number 车牌号
+ * @return 返回车辆信息
+ */
+ Truck getPalletTruckForNumber(@Param("truck_number") String truck_number);
+
+ /**
+ * 将指定用户的板车状态全部置为0,除非被列入黑名单的车辆
+ * @param users_id 用户id
+ * @return 返回执行结果
+ */
+ Integer setTruckSateToGeneral(@Param("users_id") String users_id);
+
+ /**
+ * 我的车辆黑名单信息 truck_management
+ * @param users_id 用户id
+ * @return 返回我的车辆黑名单信息
+ */
+ List getMyTruckManagement(@Param("users_id") String users_id);
+
+ /**
+ * 根据车牌号查用户信息
+ * @param truck_number 车牌号
+ * @return 返回用户信息
+ */
+ //
+ Users getUidByTruckNo(String truck_number);
+}
diff --git a/mapper/src/main/resources/mappers/admin/AnnouncementAdminMapper.xml b/mapper/src/main/resources/mappers/admin/AnnouncementAdminMapper.xml
new file mode 100644
index 0000000..3ad83e8
--- /dev/null
+++ b/mapper/src/main/resources/mappers/admin/AnnouncementAdminMapper.xml
@@ -0,0 +1,61 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/mapper/src/main/resources/mappers/admin/AppointmentAdminMapper.xml b/mapper/src/main/resources/mappers/admin/AppointmentAdminMapper.xml
new file mode 100644
index 0000000..86aba43
--- /dev/null
+++ b/mapper/src/main/resources/mappers/admin/AppointmentAdminMapper.xml
@@ -0,0 +1,104 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/mapper/src/main/resources/mappers/admin/FeedbackAdminMapper.xml b/mapper/src/main/resources/mappers/admin/FeedbackAdminMapper.xml
new file mode 100644
index 0000000..64c1dc4
--- /dev/null
+++ b/mapper/src/main/resources/mappers/admin/FeedbackAdminMapper.xml
@@ -0,0 +1,34 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/mapper/src/main/resources/mappers/admin/NoviceIntroductionAdminMapper.xml b/mapper/src/main/resources/mappers/admin/NoviceIntroductionAdminMapper.xml
new file mode 100644
index 0000000..51af3e7
--- /dev/null
+++ b/mapper/src/main/resources/mappers/admin/NoviceIntroductionAdminMapper.xml
@@ -0,0 +1,21 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/mapper/src/main/resources/mappers/admin/PunchClockAdminMapper.xml b/mapper/src/main/resources/mappers/admin/PunchClockAdminMapper.xml
new file mode 100644
index 0000000..1299b51
--- /dev/null
+++ b/mapper/src/main/resources/mappers/admin/PunchClockAdminMapper.xml
@@ -0,0 +1,101 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/mapper/src/main/resources/mappers/admin/StatisticsAdminMapper.xml b/mapper/src/main/resources/mappers/admin/StatisticsAdminMapper.xml
new file mode 100644
index 0000000..381f800
--- /dev/null
+++ b/mapper/src/main/resources/mappers/admin/StatisticsAdminMapper.xml
@@ -0,0 +1,340 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/mapper/src/main/resources/mappers/admin/UsersAdminMapper.xml b/mapper/src/main/resources/mappers/admin/UsersAdminMapper.xml
new file mode 100644
index 0000000..94668f1
--- /dev/null
+++ b/mapper/src/main/resources/mappers/admin/UsersAdminMapper.xml
@@ -0,0 +1,41 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/mapper/src/main/resources/mappers/base/AnnouncementMapper.xml b/mapper/src/main/resources/mappers/base/AnnouncementMapper.xml
new file mode 100644
index 0000000..ae80dc4
--- /dev/null
+++ b/mapper/src/main/resources/mappers/base/AnnouncementMapper.xml
@@ -0,0 +1,134 @@
+
+
+
+
+
+
+
+
+ update applet_announcement set is_del=1 where id=#{id}
+
+
+
+ delete from applet_announcement where id=#{id}
+
+
+
+ update applet_announcement
+
+
+ id = #{id},
+
+
+ sort = #{sort},
+
+
+ title = #{title},
+
+
+ abstracts = #{abstracts},
+
+
+ announcement = #{announcement},
+
+
+ announcement_text = #{announcement_text},
+
+
+ author = #{author},
+
+
+ reading_volume = #{reading_volume},
+
+
+ create_time = #{create_time}::timestamp,
+
+
+ is_del = #{is_del},
+
+ update_time = current_timestamp
+
+ where id = #{id}
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/mapper/src/main/resources/mappers/base/AppointmentDetailMapper.xml b/mapper/src/main/resources/mappers/base/AppointmentDetailMapper.xml
new file mode 100644
index 0000000..3298762
--- /dev/null
+++ b/mapper/src/main/resources/mappers/base/AppointmentDetailMapper.xml
@@ -0,0 +1,174 @@
+
+
+
+
+
+
+
+
+ update applet_appointment_detail set is_del=1 where id=#{id}
+
+
+
+ delete from applet_appointment_detail
+ where id=#{id}
+
+
+
+ update applet_appointment_detail
+
+
+ id = #{id},
+
+
+ appointment_id = #{appointment_id},
+
+
+ ship_id = #{ship_id},
+
+
+ ship_name = #{ship_name},
+
+
+ voy_number = #{voy_number},
+
+
+ destination_port = #{destination_port},
+
+
+ destination_port_id = #{destination_port_id},
+
+
+ brand_id = #{brand_id},
+
+
+ brand_name = #{brand_name},
+
+
+ vin = #{vin},
+
+
+ create_time = #{create_time}::timestamp,
+
+
+ is_del = #{is_del},
+
+ update_time =current_timestamp
+
+ where id = #{id}
+
+
+
+
+
+
+
+
+
+
+
+ delete from applet_appointment_detail
+ where appointment_id=#{appointment_id}
+
+
+
+
+
\ No newline at end of file
diff --git a/mapper/src/main/resources/mappers/base/AppointmentMapper.xml b/mapper/src/main/resources/mappers/base/AppointmentMapper.xml
new file mode 100644
index 0000000..17eff33
--- /dev/null
+++ b/mapper/src/main/resources/mappers/base/AppointmentMapper.xml
@@ -0,0 +1,360 @@
+
+
+
+
+
+
+
+
+ update applet_appointment set is_del=1 where id=#{id}
+
+
+
+ delete from applet_appointment where id=#{id}
+
+
+
+ update applet_appointment
+
+
+ id = #{id},
+
+
+ users_id = #{users_id},
+
+
+ transport_type = #{transport_type},
+
+
+ truck_number = #{truck_number},
+
+
+ tel_number = #{tel_number},
+
+
+ id_code = #{id_code},
+
+
+ truck_vin = #{truck_vin},
+
+
+ vehicle_weight = #{vehicle_weight},
+
+
+ vehicle_frame_weight = #{vehicle_frame_weight},
+
+
+ driving_license = #{driving_license},
+
+
+ approach_date = #{approach_date}::date,
+
+
+ port_area_id = #{port_area_id},
+
+
+ biz_type = #{biz_type},
+
+
+ enter_type = #{enter_type},
+
+
+ goods_type = #{goods_type},
+
+
+ goods_quantity = #{goods_quantity},
+
+
+ appointment_state = #{appointment_state},
+
+
+ cancel_time = #{cancel_time}::timestamp,
+
+
+ appointment_type = #{appointment_type},
+
+
+ is_del = #{is_del},
+
+
+ yard = #{yard},
+
+
+ yard_name = #{yard_name},
+
+
+ gate_canal_in = #{gate_canal_in},
+
+
+ gate_canal_out = #{gate_canal_out},
+
+
+ gate_canal_in_time= #{gate_canal_in_time}::timestamp,
+
+
+ gate_canal_out_time=#{gate_canal_out_time}::timestamp,
+
+
+ instruct_state = #{instruct_state},
+
+
+ send_time =# {send_time}::timestamp,
+
+
+ sender = #{sender},
+
+
+ check_in_time = #{check_in_time}::timestamp,
+
+
+ check_over_time = #{check_over_time}::timestamp,
+
+
+ plate_scan_time = #{plate_scan_time}::timestamp,
+
+
+ is_conventionality_in = #{is_conventionality_in},
+
+
+ push_ids = #{push_ids},
+
+ update_time = current_timestamp
+
+ where id = #{id}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ update applet_appointment
+
+
+ id = #{item.id},
+
+
+ yard = #{item.yard},
+
+
+ sender = #{item.sender},
+
+
+ yard_name = #{item.yard_name},
+
+
+ gate_canal_in = #{item.gate_canal_in},
+
+
+ instruct_state = #{item.instruct_state},
+
+ send_time =current_timestamp,
+ update_time = current_timestamp
+
+ where id = #{item.id}
+
+
+
+
+
+ update applet_appointment
+
+ plate_scan_time = current_timestamp
+
+ where id = #{appointment_id}
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/mapper/src/main/resources/mappers/base/DepartureDetailMapper.xml b/mapper/src/main/resources/mappers/base/DepartureDetailMapper.xml
new file mode 100644
index 0000000..3f9e3ea
--- /dev/null
+++ b/mapper/src/main/resources/mappers/base/DepartureDetailMapper.xml
@@ -0,0 +1,118 @@
+
+
+
+
+
+
+
+
+ update applet_departure_detail set is_del=1 where id=#{id}
+
+
+
+ delete from applet_departure_detail where id=#{id}
+
+
+
+ update applet_departure_detail
+
+
+ id = #{id},
+
+
+ applet_departure_vehicle_id = #{applet_departure_vehicle_id},
+
+
+ receiving_unit = #{receiving_unit},
+
+
+ ship_name = #{ship_name},
+
+
+ voy_number = #{voy_number},
+
+
+ customs_clearance_nature = #{customs_clearance_nature},
+
+
+ lading_no = #{lading_no},
+
+
+ customs_declaration_no = #{customs_declaration_no},
+
+
+ cargo_name = #{cargo_name},
+
+
+ cargo_quantity = #{cargo_quantity},
+
+
+ remarks = #{remarks},
+
+
+ vin_list = #{vin_list},
+
+
+ create_time = #{create_time}::timestamp,
+
+
+ is_del = #{is_del},
+
+ update_time = current_timestamp
+
+ where id = #{id}
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/mapper/src/main/resources/mappers/base/DepartureVehicleMapper.xml b/mapper/src/main/resources/mappers/base/DepartureVehicleMapper.xml
new file mode 100644
index 0000000..03f45f2
--- /dev/null
+++ b/mapper/src/main/resources/mappers/base/DepartureVehicleMapper.xml
@@ -0,0 +1,175 @@
+
+
+
+
+
+
+
+
+ update applet_departure_vehicle set is_del=1 where id=#{id}
+
+
+
+ delete from applet_departure_vehicle where id=#{id}
+
+
+
+ update applet_departure_vehicle
+
+
+ id = #{id},
+
+
+ voucher_number = #{voucher_number},
+
+
+ users_id = #{users_id},
+
+
+ users_name = #{users_name},
+
+
+ tel_number = #{tel_number},
+
+
+ operators = #{operators},
+
+
+ phone_number = #{phone_number},
+
+
+ truck_number = #{truck_number},
+
+
+ trade_type = #{trade_type},
+
+
+ cargo_type = #{cargo_type},
+
+
+ cargo_quantity = #{cargo_quantity},
+
+
+ delivery_time = #{delivery_time}::timestamp,
+
+
+ checker = #{checker},
+
+
+ check_status = #{check_status},
+
+
+ check_time = #{check_time}::timestamp,
+
+
+ remarks = #{remarks},
+
+
+ create_time = #{create_time}::timestamp,
+
+
+ is_del = #{is_del},
+
+ update_time = current_timestamp
+
+ where id = #{id}
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/mapper/src/main/resources/mappers/base/DicMapper.xml b/mapper/src/main/resources/mappers/base/DicMapper.xml
new file mode 100644
index 0000000..d4df840
--- /dev/null
+++ b/mapper/src/main/resources/mappers/base/DicMapper.xml
@@ -0,0 +1,96 @@
+
+
+
+
+
+
+
+
+ update applet_dic set is_del=1 where id=#{id}
+
+
+
+ delete from applet_dic where id=#{id}
+
+
+
+ update applet_dic
+
+
+ id = #{id},
+
+
+ dic_sort = #{dic_sort},
+
+
+ description = #{description},
+
+
+ content = #{content},
+
+
+ create_time = #{create_time}::timestamp,
+
+
+ is_del = #{is_del},
+
+ update_time =current_timestamp
+
+ where id = #{id}
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/mapper/src/main/resources/mappers/base/EntryInstructMapper.xml b/mapper/src/main/resources/mappers/base/EntryInstructMapper.xml
new file mode 100644
index 0000000..f078833
--- /dev/null
+++ b/mapper/src/main/resources/mappers/base/EntryInstructMapper.xml
@@ -0,0 +1,90 @@
+
+
+
+
+
+
+
+
+ update applet_entry_instruct set is_del=1 where id=#{id}
+
+
+
+ delete from applet_entry_instruct where id=#{id}
+
+
+
+ update applet_entry_instruct
+
+
+ id = #{id},
+
+
+ appointment_id = #{appointment_id},
+
+
+ users_id = #{users_id},
+
+
+ users_name = #{users_name},
+
+
+ truck_number = #{truck_number},
+
+
+ yard_name = #{yard_name},
+
+
+ create_time = #{create_time}::timestamp,
+
+
+ is_del = #{is_del},
+
+ update_time = current_timestamp
+
+ where id = #{id}
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/mapper/src/main/resources/mappers/base/FeedbackMapper.xml b/mapper/src/main/resources/mappers/base/FeedbackMapper.xml
new file mode 100644
index 0000000..612c4eb
--- /dev/null
+++ b/mapper/src/main/resources/mappers/base/FeedbackMapper.xml
@@ -0,0 +1,95 @@
+
+
+
+
+
+
+
+
+ update applet_feedback set is_del=1 where id=#{id}
+
+
+
+ delete from applet_feedback where id=#{id}
+
+
+
+ update applet_feedback
+
+
+ id = #{id},
+
+
+ users_id = #{users_id},
+
+
+ nike_name = #{nike_name},
+
+
+ feedback_info = #{feedback_info},
+
+
+ pictures = #{pictures},
+
+
+ tel_number = #{tel_number},
+
+
+ contact_info = #{contact_info},
+
+
+ create_time = #{create_time}::timestamp,
+
+
+ is_del = #{is_del},
+
+ update_time = current_timestamp
+
+ where id = #{id}
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/mapper/src/main/resources/mappers/base/LoginLogMapper.xml b/mapper/src/main/resources/mappers/base/LoginLogMapper.xml
new file mode 100644
index 0000000..ae18ad4
--- /dev/null
+++ b/mapper/src/main/resources/mappers/base/LoginLogMapper.xml
@@ -0,0 +1,43 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/mapper/src/main/resources/mappers/base/MessageMapper.xml b/mapper/src/main/resources/mappers/base/MessageMapper.xml
new file mode 100644
index 0000000..aec49b3
--- /dev/null
+++ b/mapper/src/main/resources/mappers/base/MessageMapper.xml
@@ -0,0 +1,144 @@
+
+
+
+
+
+
+
+
+ update applet_message set is_del=1 where id=#{id}
+
+
+
+ delete from applet_message where id=#{id}
+
+
+
+ update applet_message
+
+
+ id = #{id},
+
+
+ type = #{type},
+
+
+ type_content = #{type_content},
+
+
+
+ biz_id = #{biz_id},
+
+
+ prc_id = #{prc_id},
+
+
+ truck_number = #{truck_number},
+
+
+ is_read = #{is_read},
+
+
+ create_time = #{create_time}::timestamp,
+
+
+ is_del = #{is_del},
+
+ update_time = current_timestamp,
+
+ where id=#{id}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/mapper/src/main/resources/mappers/base/NoviceIntroductionMapper.xml b/mapper/src/main/resources/mappers/base/NoviceIntroductionMapper.xml
new file mode 100644
index 0000000..f24c70b
--- /dev/null
+++ b/mapper/src/main/resources/mappers/base/NoviceIntroductionMapper.xml
@@ -0,0 +1,84 @@
+
+
+
+
+
+
+
+
+ update applet_novice_introduction set is_del=1 where id=#{id}
+
+
+
+ delete from applet_novice_introduction where id=#{id}
+
+
+
+ update applet_novice_introduction
+
+
+ id = #{id},
+
+
+ sort = #{sort},
+
+
+ title = #{title},
+
+
+ content = #{content},
+
+
+ sequence_number = #{sequence_number},
+
+
+ create_time = #{create_time}::timestamp,
+
+
+ is_del = #{is_del},
+
+ update_time =current_timestamp
+
+ where id = #{id}
+
+
+
+
+
+
\ No newline at end of file
diff --git a/mapper/src/main/resources/mappers/base/PortAreasMapper.xml b/mapper/src/main/resources/mappers/base/PortAreasMapper.xml
new file mode 100644
index 0000000..f1cf423
--- /dev/null
+++ b/mapper/src/main/resources/mappers/base/PortAreasMapper.xml
@@ -0,0 +1,115 @@
+
+
+
+
+
+
+
+
+ update applet_port_areas set is_del=1 where id=#{id}
+
+
+
+ delete from applet_port_areas where id=#{id}
+
+
+
+ update applet_port_areas
+
+
+ id = #{id},
+
+
+ port_area_name = #{port_area_name},
+
+
+ port_area_name_en = #{port_area_name_en},
+
+
+ port_area_code = #{port_area_code},
+
+
+ port_area_address = #{port_area_address},
+
+
+ area_center_poi = #{area_center_poi},
+
+
+ punch_range = #{punch_range},
+
+
+ is_enable = #{is_enable},
+
+
+ order_items = #{order_items},
+
+
+ create_time = #{create_time}::timestamp,
+
+
+ is_del = #{is_del},
+
+ update_time = current_timestamp
+
+ where id = #{id}
+
+
+
+
+
+
\ No newline at end of file
diff --git a/mapper/src/main/resources/mappers/base/PunchClockMapper.xml b/mapper/src/main/resources/mappers/base/PunchClockMapper.xml
new file mode 100644
index 0000000..fee906e
--- /dev/null
+++ b/mapper/src/main/resources/mappers/base/PunchClockMapper.xml
@@ -0,0 +1,139 @@
+
+
+
+
+
+
+
+
+ update applet_punch_clock set is_del=1 where id=#{id}
+
+
+
+ delete from applet_punch_clock where id=#{id}
+
+
+
+ update applet_punch_clock
+
+
+ id = #{id},
+
+
+ users_id = #{users_id},
+
+
+ appointment_id = #{appointment_id},
+
+
+ biz_type = #{biz_type},
+
+
+ queue_number = #{queue_number},
+
+
+ start_time = #{start_time}::timestamp,
+
+
+ over_time = #{over_time}::timestamp,
+
+
+ port_area_id = #{port_area_id},
+
+
+ punch_address = #{punch_address},
+
+
+ over_address = #{over_address},
+
+
+ punch_clock_type = #{punch_clock_type},
+
+
+ punch_clock_poi = #{punch_clock_poi},
+
+
+ is_del = #{is_del},
+
+ update_time = current_timestamp
+
+ where id = #{id}
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/mapper/src/main/resources/mappers/base/ReceivingDetailMapper.xml b/mapper/src/main/resources/mappers/base/ReceivingDetailMapper.xml
new file mode 100644
index 0000000..2a96603
--- /dev/null
+++ b/mapper/src/main/resources/mappers/base/ReceivingDetailMapper.xml
@@ -0,0 +1,89 @@
+
+
+
+
+
+
+
+
+ update applet_receiving_detail set is_del=1 where id=#{id}
+
+
+
+ delete from applet_receiving_detail where id=#{id}
+
+
+
+ update applet_receiving_detail
+
+
+ id = #{id},
+
+
+ applet_receiving_vehicle_id = #{applet_receiving_vehicle_id},
+
+
+ ship_name = #{ship_name},
+
+
+ brand = #{brand},
+
+
+ port_name = #{port_name},
+
+
+ vin_list = #{vin_list},
+
+
+ create_time = #{create_time}::timestamp,
+
+
+ is_del = #{is_del},
+
+ update_time = current_timestamp
+
+ where id = #{id}
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/mapper/src/main/resources/mappers/base/ReceivingVehicleMapper.xml b/mapper/src/main/resources/mappers/base/ReceivingVehicleMapper.xml
new file mode 100644
index 0000000..dd1e8e5
--- /dev/null
+++ b/mapper/src/main/resources/mappers/base/ReceivingVehicleMapper.xml
@@ -0,0 +1,153 @@
+
+
+
+
+
+
+
+
+ update applet_receiving_vehicle set is_del=1 where id=#{id}
+
+
+
+ delete from applet_receiving_vehicle where id=#{id}
+
+
+
+ update applet_receiving_vehicle
+
+
+ id = #{id},
+
+
+ voucher_number = #{voucher_number},
+
+
+ users_id = #{users_id},
+
+
+ users_name = #{users_name},
+
+
+ tel_number = #{tel_number},
+
+
+ operators = #{operators},
+
+
+ phone_number = #{phone_number},
+
+
+ numbers = #{numbers},
+
+
+ number_type = #{number_type},
+
+
+ trade_type = #{trade_type},
+
+
+ cargo_type = #{cargo_type},
+
+
+ cargo_quantity = #{cargo_quantity},
+
+
+ collect_time = #{collect_time}::timestamp,
+
+
+ checker = #{checker},
+
+
+ check_status = #{check_status},
+
+
+ check_time = #{check_time}::timestamp,
+
+
+ remarks = #{remarks},
+
+
+ create_time = #{create_time}::timestamp,
+
+
+ is_del = #{is_del},
+
+ update_time =current_timestamp
+
+ where id = #{id}
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/mapper/src/main/resources/mappers/base/RequesterMapper.xml b/mapper/src/main/resources/mappers/base/RequesterMapper.xml
new file mode 100644
index 0000000..0f7e2e5
--- /dev/null
+++ b/mapper/src/main/resources/mappers/base/RequesterMapper.xml
@@ -0,0 +1,92 @@
+
+
+
+
+
+
+
+
+ update applet_requester set is_del=1 where id=#{id}
+
+
+
+ delete from applet_requester where id=#{id}
+
+
+
+ update applet_requester
+
+
+ id = #{id},
+
+
+ url = #{url},
+
+
+ param_map = #{param_map},
+
+
+ request_type = #{request_type},
+
+
+ type_description = #{type_description},
+
+
+ create_time = #{create_time}::timestamp,
+
+
+ is_del = #{is_del},
+
+ update_time = current_timestamp,
+
+ where id = #{id}
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/mapper/src/main/resources/mappers/base/ServiceConfigMapper.xml b/mapper/src/main/resources/mappers/base/ServiceConfigMapper.xml
new file mode 100644
index 0000000..85ca82a
--- /dev/null
+++ b/mapper/src/main/resources/mappers/base/ServiceConfigMapper.xml
@@ -0,0 +1,79 @@
+
+
+
+
+
+
+
+
+ update applet_service_config set is_del=1 where id=#{id}
+
+
+
+ delete from applet_service_config where id=#{id}
+
+
+
+ update applet_service_config
+
+
+ id = #{id},
+
+
+ config_name = #{config_name},
+
+
+ config_code = #{config_code},
+
+
+ config_content = #{config_content},
+
+
+ create_time = #{create_time}::timestamp,
+
+
+ is_del = #{is_del},
+
+ update_time = current_timestamp
+
+ where id = #{id}
+
+
+
+
+
+
\ No newline at end of file
diff --git a/mapper/src/main/resources/mappers/base/TableHeadMapper.xml b/mapper/src/main/resources/mappers/base/TableHeadMapper.xml
new file mode 100644
index 0000000..3119ea4
--- /dev/null
+++ b/mapper/src/main/resources/mappers/base/TableHeadMapper.xml
@@ -0,0 +1,90 @@
+
+
+
+
+
+
+
+
+ update applet_table_head
+ set is_del=1
+ where id=#{id}
+
+
+
+ delete from applet_table_head where id=#{id}
+
+
+
+ update applet_table_head
+
+
+ id = #{id},
+
+
+ table_name = #{table_name},
+
+
+ table_code = #{table_code},
+
+
+ head_jason = #{head_jason},
+
+
+ create_time = #{create_time}::timestamp,
+
+
+ is_del = #{is_del},
+
+ update_time = current_timestamp
+
+ where id = #{id}
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/mapper/src/main/resources/mappers/base/TruckManagementMapper.xml b/mapper/src/main/resources/mappers/base/TruckManagementMapper.xml
new file mode 100644
index 0000000..e55ee46
--- /dev/null
+++ b/mapper/src/main/resources/mappers/base/TruckManagementMapper.xml
@@ -0,0 +1,105 @@
+
+
+
+
+
+
+
+
+
+ update applet_truck_management set is_del=1 where id=#{id}
+
+
+
+ delete from applet_truck_management where id=#{id}
+
+
+
+ update applet_truck_management
+
+
+ id = #{id},
+
+
+ users_id = #{users_id},
+
+
+ truck_number = #{truck_number},
+
+
+ cause = #{cause},
+
+
+ drivers_name = #{drivers_name},
+
+
+ drivers_phone = #{drivers_phone},
+
+
+ administrators_name = #{administrators_name},
+
+
+ administrators_phone = #{administrators_phone},
+
+
+ enter_time = #{enter_time}::timestamp,
+
+
+ create_time = #{create_time}::timestamp,
+
+
+ is_del = #{is_del},
+
+ update_time =current_timestamp
+
+ where id = #{id}
+
+
+
+
+
+
\ No newline at end of file
diff --git a/mapper/src/main/resources/mappers/base/TruckMapper.xml b/mapper/src/main/resources/mappers/base/TruckMapper.xml
new file mode 100644
index 0000000..db6a874
--- /dev/null
+++ b/mapper/src/main/resources/mappers/base/TruckMapper.xml
@@ -0,0 +1,235 @@
+
+
+
+
+
+
+
+
+
+ update applet_truck set is_del=1 where id=#{id}
+
+
+
+ delete from applet_truck where id=#{id}
+
+
+ delete from applet_truck where users_id=#{users_id}
+
+
+
+ update applet_truck
+
+
+ id = #{id},
+
+
+ wx_openid = #{wx_openid},
+
+
+ users_id = #{users_id},
+
+
+ truck_number = #{truck_number},
+
+
+ driving_license_id = #{driving_license_id},
+
+
+ tel_number = #{tel_number},
+
+
+ head_frame_number = #{head_frame_number},
+
+
+ vehicle_weight = #{vehicle_weight},
+
+
+ vehicle_frame_weight = #{vehicle_frame_weight},
+
+
+ driving_license = #{driving_license},
+
+
+ truck_state = #{truck_state},
+
+
+ create_time = #{create_time}::timestamp,
+
+
+ is_del = #{is_del},
+
+ update_time = current_timestamp
+
+ where id = #{id}
+
+
+
+
+ update applet_truck
+
+
+ wx_openid = #{wx_openid},
+
+
+ users_id = #{users_id},
+
+
+ truck_number = #{truck_number},
+
+
+
+ driving_license_id = #{driving_license_id},
+
+
+ driving_license_id ='',
+
+
+
+ tel_number = #{tel_number},
+
+
+ head_frame_number = #{head_frame_number},
+
+
+
+ vehicle_weight = #{vehicle_weight},
+
+
+ vehicle_weight = null,
+
+
+
+
+ vehicle_frame_weight = #{vehicle_frame_weight},
+
+
+ vehicle_frame_weight =null,
+
+
+
+
+ driving_license = #{driving_license},
+
+
+ driving_license =null,
+
+
+
+ truck_state = #{truck_state},
+
+
+ is_del = #{is_del},
+
+ update_time = current_timestamp
+
+ where id = #{id}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/mapper/src/main/resources/mappers/base/UsersMapper.xml b/mapper/src/main/resources/mappers/base/UsersMapper.xml
new file mode 100644
index 0000000..bbbb655
--- /dev/null
+++ b/mapper/src/main/resources/mappers/base/UsersMapper.xml
@@ -0,0 +1,178 @@
+
+
+
+
+
+
+
+
+ update applet_users set is_del=1 where id=#{id}
+
+
+
+ delete from applet_users where id=#{id}
+
+
+
+ update applet_users
+
+
+ id = #{id},
+
+
+ access_token = #{access_token},
+
+
+ access_token_rtos = #{access_token_rtos},
+
+
+ users_name = #{users_name},
+
+
+ wx_openid = #{wx_openid},
+
+
+ wx_unionid = #{wx_unionid},
+
+
+ wx_nick = #{wx_nick},
+
+
+ wx_sex = #{wx_sex},
+
+
+ wx_head_sculpture = #{wx_head_sculpture},
+
+
+ tel_number = #{tel_number},
+
+
+ id_code = #{id_code},
+
+
+ users_state = #{users_state},
+
+
+ create_time = #{create_time}::timestamp,
+
+
+ is_del = #{is_del},
+
+ update_time = current_timestamp
+
+ where id = #{id}
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/mapper/src/main/resources/mappers/client/AppointmentExtendMapper.xml b/mapper/src/main/resources/mappers/client/AppointmentExtendMapper.xml
new file mode 100644
index 0000000..ae4bd23
--- /dev/null
+++ b/mapper/src/main/resources/mappers/client/AppointmentExtendMapper.xml
@@ -0,0 +1,137 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ update applet_appointment
+ set
+ cancel_time = #{cancel_time}::timestamp,
+ appointment_state=4
+ where id=#{appointment_id}
+
+
+
+ update applet_appointment_detail
+ set is_del=1
+ where id=#{appointment_id}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/mapper/src/main/resources/mappers/client/OtherExtendMapper.xml b/mapper/src/main/resources/mappers/client/OtherExtendMapper.xml
new file mode 100644
index 0000000..def25c4
--- /dev/null
+++ b/mapper/src/main/resources/mappers/client/OtherExtendMapper.xml
@@ -0,0 +1,112 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/mapper/src/main/resources/mappers/client/PunchClockExtendMapper.xml b/mapper/src/main/resources/mappers/client/PunchClockExtendMapper.xml
new file mode 100644
index 0000000..873a5a4
--- /dev/null
+++ b/mapper/src/main/resources/mappers/client/PunchClockExtendMapper.xml
@@ -0,0 +1,144 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/mapper/src/main/resources/mappers/client/TruckExtendMapper.xml b/mapper/src/main/resources/mappers/client/TruckExtendMapper.xml
new file mode 100644
index 0000000..7ce818b
--- /dev/null
+++ b/mapper/src/main/resources/mappers/client/TruckExtendMapper.xml
@@ -0,0 +1,100 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ update applet_truck
+ set
+ truck_state=0
+ where users_id=#{users_id} and truck_state<>4
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/mapper/src/main/resources/static/rtos-wx-applet.sql b/mapper/src/main/resources/static/rtos-wx-applet.sql
new file mode 100644
index 0000000..ee0b691
--- /dev/null
+++ b/mapper/src/main/resources/static/rtos-wx-applet.sql
@@ -0,0 +1,671 @@
+--RTOS小程序数据库 sql文档
+
+-- Database: rtos-wx-applet
+-- DROP DATABASE IF EXISTS rtos-wx-applet;
+
+CREATE DATABASE rtos_wx_applet
+ WITH
+ OWNER = postgres
+ ENCODING = 'UTF8'
+ LC_COLLATE = 'Chinese (Simplified)_China.936'
+ LC_CTYPE = 'Chinese (Simplified)_China.936'
+ TABLESPACE = pg_default
+ CONNECTION LIMIT = -1
+ IS_TEMPLATE = False;
+COMMENT ON DATABASE rtos_wx_applet IS 'RTOS小程序数据库';
+
+
+--1-用户(司机)信息
+CREATE TABLE IF NOT EXISTS public.applet_users(
+ id serial,
+ users_name varchar(32) DEFAULT NULL,
+ wx_openid varchar(32) DEFAULT NULL,
+ wx_unionid varchar(32) DEFAULT NULL,
+ wx_nick varchar(32) DEFAULT NULL,
+ wx_sex varchar(8) DEFAULT NULL,
+ wx_head_sculpture varchar(256) DEFAULT NULL,
+ tel_number varchar(32) NOT NULL,
+ id_code varchar(32) DEFAULT NULL,
+ users_state integer DEFAULT 0,
+ create_time timestamp(3) default ('now'::text)::timestamp(0) with time zone,
+ update_time timestamp(3) default ('now'::text)::timestamp(0) with time zone,
+ is_del integer DEFAULT 0,
+ CONSTRAINT applet_users_pkey PRIMARY KEY (id)
+);
+COMMENT ON COLUMN applet_users.id IS '用户id';
+COMMENT ON COLUMN applet_users.users_name IS '用户姓名,默认为微信昵称';
+COMMENT ON COLUMN applet_users.wx_openid IS '微信获取openid-用户小程序唯一标识';
+COMMENT ON COLUMN applet_users.wx_unionid IS '微信获取unionid-用户微信应用唯一标识';
+COMMENT ON COLUMN applet_users.wx_nick IS '微信获取昵称';
+COMMENT ON COLUMN applet_users.wx_sex IS '微信获取性别';
+COMMENT ON COLUMN applet_users.wx_head_sculpture IS '微信获取头像';
+COMMENT ON COLUMN applet_users.tel_number IS '手机号码';
+COMMENT ON COLUMN applet_users.id_code IS '用户身分证号码';
+COMMENT ON COLUMN applet_users.users_state IS '用户状态(0-正常,1-停用)';
+COMMENT ON COLUMN applet_users.create_time IS '创建时间';
+COMMENT ON COLUMN applet_users.update_time IS '更新时间';
+COMMENT ON COLUMN applet_users.is_del IS '是否软删除';
+
+
+--2-板车信息(用户扫描行驶证获取)
+CREATE TABLE IF NOT EXISTS public.applet_truck(
+ id serial,
+ users_id integer,
+ truck_number varchar(16) DEFAULT NULL,
+ driving_license_id varchar(32) DEFAULT NULL,
+ tel_number varchar(16) DEFAULT NULL,
+ head_frame_number varchar(32) DEFAULT NULL,
+ vehicle_weight integer DEFAULT NULL,
+ vehicle_frame_weight integer DEFAULT NULL,
+ customs_declaration_no varchar(32) DEFAULT NULL,
+ driving_license varchar(256) DEFAULT NULL,
+ truck_state integer default 0,
+ create_time timestamp(3) default ('now'::text)::timestamp(0) with time zone,
+ update_time timestamp(3) default ('now'::text)::timestamp(0) with time zone,
+ is_del integer DEFAULT 0,
+ CONSTRAINT applet_truck_pkey PRIMARY KEY (id)
+);
+COMMENT ON COLUMN applet_truck.id IS '板车id';
+COMMENT ON COLUMN applet_truck.users_id IS '用户id';
+COMMENT ON COLUMN applet_truck.truck_number IS '车牌号(数据唯一性约束)';
+COMMENT ON COLUMN applet_truck.driving_license_id IS '行驶证ID';
+COMMENT ON COLUMN applet_truck.tel_number IS '司机电话';
+COMMENT ON COLUMN applet_truck.head_frame_number IS '车头车架号';
+COMMENT ON COLUMN applet_truck.vehicle_weight IS '车辆自重';
+COMMENT ON COLUMN applet_truck.vehicle_frame_weight IS '车架重';
+COMMENT ON COLUMN applet_truck.driving_license IS '行驶证(扫描件)';
+COMMENT ON COLUMN applet_truck.truck_state IS '板车状态(1-默认,0-其他,4-拉黑)';
+COMMENT ON COLUMN applet_truck.create_time IS '创建时间';
+COMMENT ON COLUMN applet_truck.update_time IS '更新时间';
+COMMENT ON COLUMN applet_truck.is_del IS '是否软删除';
+
+
+--3-公告信息(小程序/客服后台推送)
+CREATE TABLE IF NOT EXISTS public.applet_announcements(
+ id serial,
+ title varchar(64) DEFAULT NULL,
+ abstracts varchar(256) DEFAULT NULL,
+ announcement text COLLATE pg_catalog."default" DEFAULT 'NULL::text',
+ author varchar(32) DEFAULT NULL,
+ reading_volume integer DEFAULT NULL,
+ create_time timestamp(3) default ('now'::text)::timestamp(0) with time zone,
+ update_time timestamp(3) default ('now'::text)::timestamp(0) with time zone,
+ is_del integer DEFAULT 0,
+ CONSTRAINT applet_announcements_pkey PRIMARY KEY (id)
+);
+COMMENT ON COLUMN applet_announcements.id IS '公告id';
+COMMENT ON COLUMN applet_announcements.title IS '标题';
+COMMENT ON COLUMN applet_announcements.abstracts IS '摘要';
+COMMENT ON COLUMN applet_announcements.announcement IS '公告内容';
+COMMENT ON COLUMN applet_announcements.author IS '作者';
+COMMENT ON COLUMN applet_announcements.reading_volume IS '阅读量';
+COMMENT ON COLUMN applet_announcements.create_time IS '创建时间';
+COMMENT ON COLUMN applet_announcements.update_time IS '更新时间';
+COMMENT ON COLUMN applet_announcements.is_del IS '是否软删除';
+
+
+--4-预约信息
+CREATE TABLE IF NOT EXISTS public.applet_appointment(
+ id serial,
+ users_id integer DEFAULT NULL,
+ transport_type integer DEFAULT NULL,
+ truck_number varchar(16) DEFAULT NULL,
+ tel_number varchar(16) DEFAULT NULL,
+
+ //head_frame_number varchar(32) DEFAULT NULL,
+ vehicle_weight integer,
+ vehicle_frame_weight integer,
+ driving_license varchar(32) DEFAULT NULL,
+ approach_date date DEFAULT NULL,
+ port_area_id integer DEFAULT NULL,
+ biz_type integer DEFAULT NULL,
+ enter_type integer DEFAULT NULL,
+ goods_type integer DEFAULT NULL,
+ goods_Quantity integer,
+ appointment_state integer default 0,
+ create_time timestamp(3) default ('now'::text)::timestamp(0) with time zone,
+ update_time timestamp(3) default ('now'::text)::timestamp(0) with time zone,
+ is_del integer DEFAULT 0,
+ CONSTRAINT applet_appointment_pkey PRIMARY KEY (id)
+);
+COMMENT ON COLUMN applet_appointment.id IS '预约信息id';
+COMMENT ON COLUMN applet_appointment.users_id IS '用户id';
+COMMENT ON COLUMN applet_appointment.transport_type IS '运输方式(1/2/3)';//
+COMMENT ON COLUMN applet_appointment.truck_number IS '板车号';//
+COMMENT ON COLUMN applet_appointment.tel_number IS '手机号';//
+COMMENT ON COLUMN applet_appointment.head_frame_number IS '车头车架号';//
+COMMENT ON COLUMN applet_appointment.vehicle_weight IS '板车自重(吨)';//
+COMMENT ON COLUMN applet_appointment.vehicle_frame_weight IS '车架重(吨)';//
+COMMENT ON COLUMN applet_appointment.driving_license IS '行驶证编号';//
+COMMENT ON COLUMN applet_appointment.approach_date IS '预约进场日期';//
+COMMENT ON COLUMN applet_punch_clock.biz_type IS '业务类型(1-全部,2-码头业务,3-整车物流,4-特保区预约)';
+COMMENT ON COLUMN applet_appointment.port_area_id IS '进港港区Id';//
+COMMENT ON COLUMN applet_appointment.enter_type IS '进港类型(1-外贸出口,2-外贸进口,3-整车物流,4-特保区出口,5-特保区进口,6-内贸出口,7-内贸进口)';//
+COMMENT ON COLUMN applet_appointment.goods_type IS '货物类型(1-商品车,2-设备,3-其他)';//
+COMMENT ON COLUMN applet_appointment.goods_Quantity IS '货物数量(件数)';//
+COMMENT ON COLUMN applet_appointment.appointment_state IS '预约打卡状态(1-已预约,2-已签到,3-已进港,5-操作中,6-已完成,7-已离港,4-已取消,9-异常:预期未完成操作的)';//
+COMMENT ON COLUMN applet_appointment.create_time IS '创建时间';
+COMMENT ON COLUMN applet_appointment.update_time IS '更新时间';
+COMMENT ON COLUMN applet_appointment.is_del IS '是否软删除';
+ 需要 司机生份证
+
+
+-- 5-预约明细
+CREATE TABLE IF NOT EXISTS public.applet_appointment_detail(
+ id serial,
+ appointment_id integer DEFAULT NULL,
+ ship_name varchar(16) DEFAULT NULL,
+ voy_number varchar(16) DEFAULT NULL,
+ destination_port varchar(32) DEFAULT NULL,
+ brand_name varchar(32) DEFAULT NULL,
+ vin varchar(32) DEFAULT NULL,
+ create_time timestamp(3) default ('now'::text)::timestamp(0) with time zone,
+ update_time timestamp(3) default ('now'::text)::timestamp(0) with time zone,
+ is_del integer DEFAULT 0,
+ CONSTRAINT applet_appointment_detail_pkey PRIMARY KEY (id)
+);
+COMMENT ON COLUMN applet_appointment_detail.id IS '预约详细id';
+COMMENT ON COLUMN applet_appointment_detail.appointment_id IS '预约id';
+COMMENT ON COLUMN applet_appointment_detail.ship_name IS '船名';//
+COMMENT ON COLUMN applet_appointment_detail.voy_number IS '航次号';
+COMMENT ON COLUMN applet_appointment_detail.destination_port IS '目的港';//
+COMMENT ON COLUMN applet_appointment_detail.brand_name IS '品牌/名称';//
+COMMENT ON COLUMN applet_appointment_detail.vin IS '车架号';//
+COMMENT ON COLUMN applet_appointment_detail.create_time IS '创建时间';
+COMMENT ON COLUMN applet_appointment_detail.update_time IS '更新时间';
+COMMENT ON COLUMN applet_appointment_detail.is_del IS '是否软删除';
+
+
+--6-(签到/完成)打卡信息
+CREATE TABLE IF NOT EXISTS public.applet_punch_clock(
+ id serial,
+ users_id integer DEFAULT NULL,
+ appointment_id integer DEFAULT NULL,
+ biz_type integer DEFAULT NULL,
+ queue_number varchar(16),
+ --approach_date date DEFAULT NULL,
+ punch_start_time time DEFAULT NULL,
+ punch_over_time time DEFAULT NULL,
+ port_area_id integer DEFAULT NULL,
+ punch_address varchar(256) DEFAULT NULL,
+ over_address varchar(256) DEFAULT NULL,
+ punch_clock_type integer,
+ punch_clock_poi varchar(64) DEFAULT NULL,
+ create_time timestamp(3) default ('now'::text)::timestamp(0) with time zone,
+ update_time timestamp(3) default ('now'::text)::timestamp(0) with time zone,
+ is_del integer DEFAULT 0,
+ CONSTRAINT applet_punch_clock_pkey PRIMARY KEY (id)
+);
+
+COMMENT ON COLUMN applet_punch_clock.id IS '打卡信息id';
+COMMENT ON COLUMN applet_punch_clock.users_id IS '用户id';
+COMMENT ON COLUMN applet_punch_clock.appointment_id IS '预约Id';
+COMMENT ON COLUMN applet_punch_clock.biz_type IS '业务类型(1-全部,2-码头业务,3-整车物流,4-特保区预约)';
+COMMENT ON COLUMN applet_punch_clock.queue_number IS '排队编号';
+--COMMENT ON COLUMN applet_punch_clock.approach_date IS '打卡日期';
+COMMENT ON COLUMN applet_punch_clock.start_time IS '签到日期时间';
+COMMENT ON COLUMN applet_punch_clock.punch_over_time IS '完成日期时间';
+COMMENT ON COLUMN applet_punch_clock.port_area_id IS '打卡港区(ID)';
+COMMENT ON COLUMN applet_punch_clock.punch_address IS '签到打卡地点';
+COMMENT ON COLUMN applet_punch_clock.over_address IS '完成打卡地点';
+COMMENT ON COLUMN applet_punch_clock.punch_clock_type IS '打卡类别(1-签到,2-已进港,3-操作中,4-已完成,5-已离港)';
+COMMENT ON COLUMN applet_punch_clock.punch_clock_poi IS '打卡(位置坐标){"1":poi2,"2",poi2}';
+COMMENT ON COLUMN applet_punch_clock.create_time IS '创建时间';
+COMMENT ON COLUMN applet_punch_clock.update_time IS '更新时间';
+COMMENT ON COLUMN applet_punch_clock.is_del IS '是否软删除';
+
+
+--7-收车信息
+CREATE TABLE IF NOT EXISTS public.applet_receiving_vehicle(
+ id serial,
+ users_id integer DEFAULT NULL,
+ ship_name varchar(64) DEFAULT NULL,
+ voy_number varchar(64) DEFAULT NULL,
+ complete_project_time timestamp(0) DEFAULT NULL,
+ task_number varchar(32) DEFAULT NULL,
+ transport_type varchar(64) DEFAULT NULL,
+ truck_number varchar(32) DEFAULT NULL,
+ enter_port_area varchar(32) DEFAULT NULL,
+ enter_port_time timestamp(0) DEFAULT NULL,
+ operation_team varchar(16) DEFAULT NULL,
+ goods_info text DEFAULT NULL,
+ vehicle_frame_data varchar(2048) DEFAULT NULL,
+ receiving_state integer DEFAULT 0,
+ create_time timestamp(3) default ('now'::text)::timestamp(0) with time zone,
+ update_time timestamp(3) default ('now'::text)::timestamp(0) with time zone,
+ is_del integer DEFAULT 0,
+ CONSTRAINT applet_receiving_vehicle_pkey PRIMARY KEY (id)
+);
+COMMENT ON COLUMN applet_receiving_vehicle.id IS '收车信息id';
+COMMENT ON COLUMN applet_receiving_vehicle.users_id IS '用户id';
+COMMENT ON COLUMN applet_receiving_vehicle.ship_name IS '船名';
+COMMENT ON COLUMN applet_receiving_vehicle.voy_number IS '航次';
+COMMENT ON COLUMN applet_receiving_vehicle.complete_project_time IS '完工日期时间';
+COMMENT ON COLUMN applet_receiving_vehicle.task_number IS '作业编号';
+COMMENT ON COLUMN applet_receiving_vehicle.transport_type IS '运输方式';
+COMMENT ON COLUMN applet_receiving_vehicle.truck_number IS '车牌号(板车号)';
+COMMENT ON COLUMN applet_receiving_vehicle.enter_port_area IS '进港港区';
+COMMENT ON COLUMN applet_receiving_vehicle.enter_port_time IS '进港日期时间';
+COMMENT ON COLUMN applet_receiving_vehicle.operation_team IS '作业工班';
+COMMENT ON COLUMN applet_receiving_vehicle.goods_info IS '货物信息(type:vehicle/others,
+vehicle{品牌/型号/车型/数量/港口或国家/车辆类型/卸货方式:港区作业或客户自提,Json数据},
+others{货名/长/宽/高/重量/数量/港口、国家/卸货方式(港区作业/客户自卸)的Json数据})';
+COMMENT ON COLUMN applet_receiving_vehicle.vehicle_frame_data IS '车架号数据([品牌,车架号]的Json数据)';
+COMMENT ON COLUMN applet_receiving_vehicle.receiving_state IS '收车状态(0-默认,未收车,1-已收车,2-已核对)';
+COMMENT ON COLUMN applet_receiving_vehicle.create_time IS '创建时间';
+COMMENT ON COLUMN applet_receiving_vehicle.update_time IS '更新时间';
+COMMENT ON COLUMN applet_receiving_vehicle.is_del IS '是否软删除';
+
+
+--8-发车信息
+CREATE TABLE IF NOT EXISTS public.applet_departure_vehicle(
+ id serial,
+ users_id integer DEFAULT NULL,
+ ship_name varchar(64) DEFAULT NULL,
+ voy_number varchar(64) DEFAULT NULL,
+ complete_project_time timestamp(0) DEFAULT NULL,
+ task_number varchar(32) DEFAULT NULL,
+ truck_number varchar(32) DEFAULT NULL,
+ receiving_unit varchar(64) DEFAULT NULL,
+ lading_no varchar(64) DEFAULT NULL,
+ customs_clearance_nature varchar(32) DEFAULT NULL,
+ customs_declaration_no varchar(32) DEFAULT NULL,
+ vehicle_frame_data varchar(1024) DEFAULT NULL,
+ goods_name varchar(32) DEFAULT NULL,
+ goods_Quantity integer,
+ certificate_Preparation_date timestamp(0) DEFAULT NULL,
+ liberator varchar(32) DEFAULT NULL,
+ signee varchar(32) DEFAULT NULL,
+ remarks varchar(256) DEFAULT NULL,
+ departure_state integer default 0,
+ create_time timestamp(3) default ('now'::text)::timestamp(0) with time zone,
+ update_time timestamp(3) default ('now'::text)::timestamp(0) with time zone,
+ is_del integer DEFAULT 0,
+ CONSTRAINT applet_departure_vehicle_pkey PRIMARY KEY (id)
+);
+COMMENT ON COLUMN applet_departure_vehicle.id IS '发车信息Id';
+COMMENT ON COLUMN applet_departure_vehicle.users_id IS '用户id';
+COMMENT ON COLUMN applet_departure_vehicle.ship_name IS '船名';
+COMMENT ON COLUMN applet_departure_vehicle.voy_number IS '航次';
+COMMENT ON COLUMN applet_departure_vehicle.complete_project_time IS '完工日期时间';
+COMMENT ON COLUMN applet_departure_vehicle.task_number IS '作业编号';
+COMMENT ON COLUMN applet_departure_vehicle.truck_number IS '车牌号(板车号)';
+COMMENT ON COLUMN applet_departure_vehicle.receiving_unit IS '收货单位';
+COMMENT ON COLUMN applet_departure_vehicle.lading_no IS '提单号';
+COMMENT ON COLUMN applet_departure_vehicle.customs_clearance_nature IS '通关性质';
+COMMENT ON COLUMN applet_departure_vehicle.customs_declaration_no IS '报关单号';
+COMMENT ON COLUMN applet_departure_vehicle.vehicle_frame_data IS '车架号';
+COMMENT ON COLUMN applet_departure_vehicle.goods_name IS '货名';
+COMMENT ON COLUMN applet_departure_vehicle.goods_Quantity IS '件数';
+COMMENT ON COLUMN applet_departure_vehicle.certificate_Preparation_date IS '制证日期';
+COMMENT ON COLUMN applet_departure_vehicle.liberator IS '放行者';
+COMMENT ON COLUMN applet_departure_vehicle.signee IS '签收者';
+COMMENT ON COLUMN applet_departure_vehicle.remarks IS '备注';
+COMMENT ON COLUMN applet_departure_vehicle.departure_state IS '发车状态(0-默认,未发车,1-已收车,2-已核对)';
+COMMENT ON COLUMN applet_departure_vehicle.create_time IS '创建时间';
+COMMENT ON COLUMN applet_departure_vehicle.update_time IS '更新时间';
+COMMENT ON COLUMN applet_departure_vehicle.is_del IS '是否软删除';
+
+
+--9-意见反馈
+CREATE TABLE IF NOT EXISTS public.applet_feedback(
+ id serial,
+ users_id integer DEFAULT NULL,
+ nike_name varchar(32) DEFAULT NULL,
+ feedback_info varchar(1024) DEFAULT NULL,
+ pictures varchar(256) DEFAULT NULL,
+ tel_number varchar(64) DEFAULT NULL,
+ contact_info varchar(64) DEFAULT NULL,
+ create_time timestamp(3) default ('now'::text)::timestamp(0) with time zone,
+ update_time timestamp(3) default ('now'::text)::timestamp(0) with time zone,
+ is_del integer DEFAULT 0,
+ CONSTRAINT feedback_pkey PRIMARY KEY (id)
+);
+COMMENT ON COLUMN applet_feedback.id IS '意见反馈id';
+COMMENT ON COLUMN applet_feedback.users_id IS '用户id';
+COMMENT ON COLUMN applet_feedback.nike_name IS '昵称';
+COMMENT ON COLUMN applet_feedback.feedback_info IS '意见(限500字)';
+COMMENT ON COLUMN applet_feedback.pictures IS '图片文件名集合,逗号分隔';
+COMMENT ON COLUMN applet_feedback.tel_number IS '联系电话';
+COMMENT ON COLUMN applet_feedback.contact_info IS '联系方式(微信号/qq/邮箱)';
+COMMENT ON COLUMN applet_feedback.create_time IS '创建时间';
+COMMENT ON COLUMN applet_feedback.update_time IS '更新时间';
+COMMENT ON COLUMN applet_feedback.is_del IS '是否软删除';
+
+
+--10-新手攻略(小程序/客服平台/生产APP操作指南)
+CREATE TABLE IF NOT EXISTS public.applet_novice_introduction(
+ id serial,
+ sort integer DEFAULT NULL,
+ title varchar(64) DEFAULT NULL,
+ content text DEFAULT NULL,
+ sequence_number int DEFAULT NULL,
+ create_time timestamp(3) default ('now'::text)::timestamp(0) with time zone,
+ update_time timestamp(3) default ('now'::text)::timestamp(0) with time zone,
+ is_del integer DEFAULT 0,
+ CONSTRAINT novice_introduction_pkey PRIMARY KEY (id)
+);
+COMMENT ON COLUMN applet_novice_introduction.id IS '攻略_id';
+COMMENT ON COLUMN applet_novice_introduction.sort IS '类别(1-小程序,2-客服平台,3-生产APP)';
+COMMENT ON COLUMN applet_novice_introduction.title IS '小标题';
+COMMENT ON COLUMN applet_novice_introduction.content IS '内容(html文本,允许包含图片标签)';
+COMMENT ON COLUMN applet_novice_introduction.sequence_number IS '顺序号';
+COMMENT ON COLUMN applet_novice_introduction.create_time IS '创建时间';
+COMMENT ON COLUMN applet_novice_introduction.update_time IS '更新时间';
+COMMENT ON COLUMN applet_novice_introduction.is_del IS '是否软删除';
+
+
+--11-运输方式
+CREATE TABLE IF NOT EXISTS public.applet_transport_types(
+ id serial,
+ transport_type_name varchar(64) DEFAULT NULL,
+ transport_type varchar(64) DEFAULT NULL,
+ sequence_number int DEFAULT NULL,
+ create_time timestamp(3) default ('now'::text)::timestamp(0) with time zone,
+ update_time timestamp(3) default ('now'::text)::timestamp(0) with time zone,
+ is_del integer DEFAULT 0,
+ CONSTRAINT transport_types_pkey PRIMARY KEY (id)
+);
+COMMENT ON COLUMN applet_transport_types.id IS '运输方式id';
+COMMENT ON COLUMN applet_transport_types.transport_type_name IS '运输方式名称(板车运输/自开)';
+COMMENT ON COLUMN applet_transport_types.transport_type IS '运输方式';
+COMMENT ON COLUMN applet_transport_types.sequence_number IS '顺序号';
+COMMENT ON COLUMN applet_transport_types.create_time IS '创建时间';
+COMMENT ON COLUMN applet_transport_types.update_time IS '更新时间';
+COMMENT ON COLUMN applet_transport_types.is_del IS '是否软删除';
+
+
+--12-港区
+CREATE TABLE IF NOT EXISTS public.applet_port_areas(
+ id serial,
+ port_area varchar(64) DEFAULT NULL,
+ area_center_poi varchar(32) DEFAULT NULL,
+ punch_range integer DEFAULT NULL,
+ sequence_number int DEFAULT NULL,
+ create_time timestamp(3) default ('now'::text)::timestamp(0) with time zone,
+ update_time timestamp(3) default ('now'::text)::timestamp(0) with time zone,
+ is_del integer DEFAULT 0,
+ CONSTRAINT port_areas_pkey PRIMARY KEY (id)
+);
+COMMENT ON COLUMN applet_port_areas.id IS '港区id';
+COMMENT ON COLUMN applet_port_areas.port_area IS '港区名';
+COMMENT ON COLUMN applet_port_areas.area_center_poi IS '港区坐标';
+COMMENT ON COLUMN applet_port_areas.punch_range IS '打卡范围(距离港区中心坐标的半径,米)';
+COMMENT ON COLUMN applet_port_areas.sequence_number IS '顺序号';
+COMMENT ON COLUMN applet_port_areas.create_time IS '创建时间';
+COMMENT ON COLUMN applet_port_areas.update_time IS '更新时间';
+COMMENT ON COLUMN applet_port_areas.is_del IS '是否软删除';
+
+
+--13-作业工班
+CREATE TABLE IF NOT EXISTS public.applet_operation_teams(
+ id serial,
+ operation_team varchar(64) DEFAULT NULL,
+ sequence_number int DEFAULT NULL,
+ create_time timestamp(3) default ('now'::text)::timestamp(0) with time zone,
+ update_time timestamp(3) default ('now'::text)::timestamp(0) with time zone,
+ is_del integer DEFAULT 0,
+ CONSTRAINT operation_teams_pkey PRIMARY KEY (id)
+);
+COMMENT ON COLUMN applet_operation_teams.id IS '作业工班id';
+COMMENT ON COLUMN applet_operation_teams.operation_team IS '作业工班';
+COMMENT ON COLUMN applet_operation_teams.sequence_number IS '顺序号';
+COMMENT ON COLUMN applet_operation_teams.create_time IS '创建时间';
+COMMENT ON COLUMN applet_operation_teams.update_time IS '更新时间';
+COMMENT ON COLUMN applet_operation_teams.is_del IS '是否软删除';
+
+
+--14-车辆管理
+CREATE TABLE IF NOT EXISTS public.applet_truck_management(
+ id serial,
+ users_id integer DEFAULT NULL,
+ truck_number varchar(32) DEFAULT NULL,
+ cause varchar(256) DEFAULT NULL,
+ drivers_name varchar(32) DEFAULT NULL,
+ drivers_phone varchar(32) DEFAULT NULL,
+ administrators_name varchar(32) DEFAULT NULL,
+ administrators_phone varchar(32) DEFAULT NULL,
+ enter_time timestamp(0) DEFAULT NULL,
+ create_time timestamp(3) default ('now'::text)::timestamp(0) with time zone,
+ update_time timestamp(3) default ('now'::text)::timestamp(0) with time zone,
+ is_del integer DEFAULT 0,
+ CONSTRAINT applet_truck_management_pkey PRIMARY KEY (id)
+);
+COMMENT ON COLUMN applet_truck_management.id IS '车辆管理id';
+COMMENT ON COLUMN applet_truck_management.users_id IS '用户id';
+COMMENT ON COLUMN applet_truck_management.truck_number IS '(加入黑名单的)车牌号';
+COMMENT ON COLUMN applet_truck_management.cause IS '原因';
+COMMENT ON COLUMN applet_truck_management.drivers_name IS '司机姓名';
+COMMENT ON COLUMN applet_truck_management.drivers_phone IS '司机电话';
+COMMENT ON COLUMN applet_truck_management.administrators_name IS '管理员姓名';
+COMMENT ON COLUMN applet_truck_management.administrators_phone IS '管理员电话';
+COMMENT ON COLUMN applet_truck_management.enter_time IS '加入黑名单时间';
+COMMENT ON COLUMN applet_truck_management.create_time IS '创建时间';
+COMMENT ON COLUMN applet_truck_management.update_time IS '更新时间';
+COMMENT ON COLUMN applet_truck_management.is_del IS '是否软删除';
+
+
+--15-货物类型
+CREATE TABLE IF NOT EXISTS public.applet_goods_types(
+ id serial,
+ goods_type_name varchar(64) DEFAULT NULL,
+ goods_type integer DEFAULT NULL,
+ sequence_number integer,
+ create_time timestamp(3) default ('now'::text)::timestamp(0) with time zone,
+ update_time timestamp(3) default ('now'::text)::timestamp(0) with time zone,
+ is_del integer DEFAULT 0,
+ CONSTRAINT goods_types_pkey PRIMARY KEY (id)
+);
+COMMENT ON COLUMN applet_goods_types.id IS '货物类型id';
+COMMENT ON COLUMN applet_goods_types.goods_type_name IS '货物类型(1-商品车/2-设备/3-其他...)';
+COMMENT ON COLUMN applet_goods_types.goods_type IS '货物类型(1-商品车/2-设备/3-其他...)';
+COMMENT ON COLUMN applet_goods_types.sequence_number IS '顺序号';
+COMMENT ON COLUMN applet_goods_types.create_time IS '创建时间';
+COMMENT ON COLUMN applet_goods_types.update_time IS '更新时间';
+COMMENT ON COLUMN applet_goods_types.is_del IS '是否软删除';
+
+
+--16-进港类型
+CREATE TABLE IF NOT EXISTS public.applet_enter_type(
+ id serial,
+ enter_port_type_name varchar(32) DEFAULT NULL,
+ enter_port_type integer DEFAULT NULL,
+ sequence_number integer,
+ create_time timestamp(3) default ('now'::text)::timestamp(0) with time zone,
+ update_time timestamp(3) default ('now'::text)::timestamp(0) with time zone,
+ is_del integer DEFAULT 0,
+ CONSTRAINT applet_enter_types_pkey PRIMARY KEY (id)
+);
+COMMENT ON COLUMN applet_enter_type.id IS '进港类型id';
+COMMENT ON COLUMN applet_enter_type.enter_port_type_name IS '进港类型名称(1-外贸出口/2-内贸出口/3-外贸进口/4-内贸进口/5-特保区出口/6-特保区进口...)';
+COMMENT ON COLUMN applet_enter_type.enter_port_type IS '进港类型(1/2/3/4/5/6/...)';
+COMMENT ON COLUMN applet_enter_type.sequence_number IS '顺序号';
+COMMENT ON COLUMN applet_enter_type.create_time IS '创建时间';
+COMMENT ON COLUMN applet_enter_type.update_time IS '更新时间';
+COMMENT ON COLUMN applet_enter_type.is_del IS '是否软删除';
+
+
+--17-船名航次
+CREATE TABLE IF NOT EXISTS public.applet_ship_voy(
+ id serial,
+ ship_name varchar(32) DEFAULT NULL,
+ voy_number varchar(32) DEFAULT NULL,
+ create_time timestamp(3) default ('now'::text)::timestamp(0) with time zone,
+ update_time timestamp(3) default ('now'::text)::timestamp(0) with time zone,
+ is_del integer DEFAULT 0,
+ CONSTRAINT applet_ship_voy_pkey PRIMARY KEY (id)
+);
+COMMENT ON COLUMN applet_ship_voy.id IS '船名航次id';
+COMMENT ON COLUMN applet_ship_voy.ship_name IS '船名';
+COMMENT ON COLUMN applet_ship_voy.voy_number IS '航次编号';
+COMMENT ON COLUMN applet_ship_voy.create_time IS '创建时间';
+COMMENT ON COLUMN applet_ship_voy.update_time IS '更新时间';
+COMMENT ON COLUMN applet_ship_voy.is_del IS '是否软删除';
+
+
+--18-(运抵)港口
+CREATE TABLE IF NOT EXISTS public.applet_port(
+ id serial,
+ ship_voy_id integer DEFAULT NULL,
+ port_name varchar(64) DEFAULT NULL,
+ sequence_number int DEFAULT NULL,
+ create_time timestamp(3) default ('now'::text)::timestamp(0) with time zone,
+ update_time timestamp(3) default ('now'::text)::timestamp(0) with time zone,
+ is_del integer DEFAULT 0,
+ CONSTRAINT ports_pkey PRIMARY KEY (id)
+);
+COMMENT ON COLUMN applet_port.id IS '港口id';
+COMMENT ON COLUMN applet_port.ship_voy_id IS '船名航次id';
+COMMENT ON COLUMN applet_port.port_name IS '港口名称';
+COMMENT ON COLUMN applet_port.sequence_number IS '顺序号';
+COMMENT ON COLUMN applet_port.create_time IS '创建时间';
+COMMENT ON COLUMN applet_port.update_time IS '更新时间';
+COMMENT ON COLUMN applet_port.is_del IS '是否软删除';
+
+
+--19-商品车品牌
+CREATE TABLE IF NOT EXISTS public.applet_brand(
+ id serial,
+ ship_voy_id integer DEFAULT NULL,
+ brand varchar(64) DEFAULT NULL,
+ sequence_number int DEFAULT NULL,
+ create_time timestamp(3) default ('now'::text)::timestamp(0) with time zone,
+ update_time timestamp(3) default ('now'::text)::timestamp(0) with time zone,
+ is_del integer DEFAULT 0,
+ CONSTRAINT applet_brand_pkey PRIMARY KEY (id)
+);
+COMMENT ON COLUMN applet_brand.id IS '品牌id';
+COMMENT ON COLUMN applet_brand.ship_voy_id IS '船名航次id';
+COMMENT ON COLUMN applet_brand.brand IS '品牌名称';
+COMMENT ON COLUMN applet_brand.sequence_number IS '顺序号';
+COMMENT ON COLUMN applet_brand.create_time IS '创建时间';
+COMMENT ON COLUMN applet_brand.update_time IS '更新时间';
+COMMENT ON COLUMN applet_brand.is_del IS '是否软删除';
+
+
+--20-进港指令
+CREATE TABLE IF NOT EXISTS public.applet_entry_instruct(
+ id serial,
+ appointment_id integer DEFAULT NULL,
+ users_id integer DEFAULT NULL,
+ users_name varchar(32) DEFAULT NULL,
+ truck_number varchar(32) DEFAULT NULL,
+ yard_name varchar(32) DEFAULT NULL,
+ create_time timestamp(3) default ('now'::text)::timestamp(0) with time zone,
+ update_time timestamp(3) default ('now'::text)::timestamp(0) with time zone,
+ is_del integer DEFAULT 0,
+ CONSTRAINT applet_entry_instruct_pkey PRIMARY KEY (id)
+);
+COMMENT ON COLUMN applet_entry_instruct.id IS '进港指令id';
+COMMENT ON COLUMN applet_entry_instruct.appointment_id IS '预约id';
+COMMENT ON COLUMN applet_entry_instruct.users_id IS '司机id';
+COMMENT ON COLUMN applet_entry_instruct.users_name IS '司机姓名';
+COMMENT ON COLUMN applet_entry_instruct.truck_number IS '车牌号';
+COMMENT ON COLUMN applet_entry_instruct.yard_name IS '堆场';
+COMMENT ON COLUMN applet_entry_instruct.create_time IS '创建时间';
+COMMENT ON COLUMN applet_entry_instruct.update_time IS '更新时间';
+COMMENT ON COLUMN applet_entry_instruct.is_del IS '是否软删除';
+
+
+--21-服务配置
+CREATE TABLE IF NOT EXISTS public.applet_service_config(
+ id serial,
+ config_name varchar(32) default null,
+ config_code varchar(32) default null,
+ config_content varchar(256) default null,
+ create_time timestamp(3) default ('now'::text)::timestamp(0) with time zone,
+ update_time timestamp(3) default ('now'::text)::timestamp(0) with time zone,
+ is_del integer DEFAULT 0,
+ CONSTRAINT applet_service_config_pkey PRIMARY KEY (id)
+);
+COMMENT ON COLUMN applet_service_config.id IS '自增id';
+COMMENT ON COLUMN applet_service_config.config_name IS '配置名称(系统服务地址,图片文件存储路径,图片访问路径,小程序appid,小程序密钥secret)';
+COMMENT ON COLUMN applet_service_config.config_code IS '配置代码(100-系统服务地址,200-图片文件存储路径,300-图片访问路径,400-小程序appid,500-小程序密钥secret)';
+COMMENT ON COLUMN applet_service_config.config_content IS '配置信息(文本)';
+COMMENT ON COLUMN applet_service_config.create_time IS '创建时间';
+COMMENT ON COLUMN applet_service_config.update_time IS '更新时间';
+COMMENT ON COLUMN applet_service_config.is_del IS '是否软删除';
+
+--22-请求第三方接口
+CREATE TABLE IF NOT EXISTS public.applet_requester(
+ id serial,
+ url varchar(256) default null,
+ param_map varchar(256) default null,
+ request_type integer default null,
+ type_description varchar(32) default null,
+ create_time timestamp(3) default ('now'::text)::timestamp(0) with time zone,
+ update_time timestamp(3) default ('now'::text)::timestamp(0) with time zone,
+ is_del integer DEFAULT 0,
+ CONSTRAINT applet_requester_pkey PRIMARY KEY (id)
+);
+COMMENT ON COLUMN applet_requester.id IS '自增id';
+COMMENT ON COLUMN applet_requester.url IS 'url(请求服务地址)';
+COMMENT ON COLUMN applet_requester.param_map IS '请求参数(值为空时,需要依赖实参传值。如小程序登录参数:{"appid":"","code":"","secret":"","grant_type":"authorization_code"})';
+COMMENT ON COLUMN applet_requester.request_type IS '请求类型(1001-1999)';
+COMMENT ON COLUMN applet_requester.type_description IS '类别说明';
+COMMENT ON COLUMN applet_requester.create_time IS '创建时间';
+COMMENT ON COLUMN applet_requester.update_time IS '更新时间';
+COMMENT ON COLUMN applet_requester.is_del IS '是否软删除';
+
+--23-用户登录日志
+CREATE TABLE IF NOT EXISTS public.applet_login_log(
+ id serial,
+ wx_nike varchar(32),
+ wx_openid varchar(32) DEFAULT NULL,
+ login_time timestamp default null,
+ ip varchar(32) default null,
+ area varchar(32) default null,
+ create_time timestamp(3) default ('now'::text)::timestamp(0) with time zone,
+ update_time timestamp(3) default ('now'::text)::timestamp(0) with time zone,
+ is_del integer DEFAULT 0,
+ CONSTRAINT applet_login_log_pkey PRIMARY KEY (id)
+);
+COMMENT ON COLUMN applet_login_log.id IS '自增id';
+COMMENT ON COLUMN applet_login_log.wx_nike IS '微信昵称';
+COMMENT ON COLUMN applet_login_log.wx_openid IS '微信openid';
+COMMENT ON COLUMN applet_login_log.login_time IS '登录时间';
+COMMENT ON COLUMN applet_login_log.ip IS 'ip地址';
+COMMENT ON COLUMN applet_login_log.area IS '地区(省市)';
+COMMENT ON COLUMN applet_login_log.create_time IS '创建时间';
+COMMENT ON COLUMN applet_login_log.update_time IS '更新时间';
+COMMENT ON COLUMN applet_login_log.is_del IS '是否软删除';
+
+--24-自定义表头
+CREATE TABLE IF NOT EXISTS public.applet_tb_head(
+ id serial,
+ table_name varchar(32),
+ table_code varchar(32) default null,
+ head_jason varchar(512) default null,
+ create_time timestamp(3) default ('now'::text)::timestamp(0) with time zone,
+ update_time timestamp(3) default ('now'::text)::timestamp(0) with time zone,
+ is_del integer DEFAULT 0,
+ CONSTRAINT applet_tb_head PRIMARY KEY (id)
+);
+COMMENT ON COLUMN applet_tb_head.id IS '自增id';
+COMMENT ON COLUMN applet_tb_head.table_name IS '表名';
+COMMENT ON COLUMN applet_tb_head.table_code IS '标识代码';
+COMMENT ON COLUMN applet_tb_head.head_jason IS '表头Json';
+COMMENT ON COLUMN applet_tb_head.create_time IS '创建时间';
+COMMENT ON COLUMN applet_tb_head.update_time IS '更新时间';
+COMMENT ON COLUMN applet_tb_head.is_del IS '是否软删除';
+
+
+--25--消息表
+CREATE TABLE IF NOT EXISTS public.applet_message(
+ id varchar(32),
+ type integer DEFAULT NULL,
+ type_content varchar(256)DEFAULT NULL,
+ truck_number varchar(32) DEFAULT NULL,
+ is_read integer DEFAULT NULL,
+ create_time timestamp(3) default ('now'::text)::timestamp(0) with time zone,
+ update_time timestamp(3) default ('now'::text)::timestamp(0) with time zone,
+ is_del integer DEFAULT 0
+);
+COMMENT ON COLUMN applet_message.id IS 'id';
+COMMENT ON COLUMN applet_message.type IS '1-收车 2-提车';
+COMMENT ON COLUMN applet_message.type_content IS '1-收车 2-提车';
+COMMENT ON COLUMN applet_message.truck_number IS '板车号';
+COMMENT ON COLUMN applet_message.is_read IS '0-未读 1-已读';
+COMMENT ON COLUMN applet_message.create_time IS '创建时间';
+COMMENT ON COLUMN applet_message.update_time IS '更新时间';
+COMMENT ON COLUMN applet_message.is_del IS '是否软删除';
\ No newline at end of file
diff --git a/mapper/src/main/resources/static/tableUpdate.txt b/mapper/src/main/resources/static/tableUpdate.txt
new file mode 100644
index 0000000..448095d
--- /dev/null
+++ b/mapper/src/main/resources/static/tableUpdate.txt
@@ -0,0 +1,3 @@
+-+1. 预约表applet_appointment head_frame_number 修改为 truck_vin
+2. 预约表applet_punch_clock start_time 数据类型time 改为datetime
+ over_time 数据类型time 改为datetime
diff --git a/mapper/target/classes/com/haitongauto/mapper/admin/AnnouncementAdminMapper.class b/mapper/target/classes/com/haitongauto/mapper/admin/AnnouncementAdminMapper.class
new file mode 100644
index 0000000..422a06e
Binary files /dev/null and b/mapper/target/classes/com/haitongauto/mapper/admin/AnnouncementAdminMapper.class differ
diff --git a/mapper/target/classes/com/haitongauto/mapper/admin/AppointmentAdminMapper.class b/mapper/target/classes/com/haitongauto/mapper/admin/AppointmentAdminMapper.class
new file mode 100644
index 0000000..4b84be1
Binary files /dev/null and b/mapper/target/classes/com/haitongauto/mapper/admin/AppointmentAdminMapper.class differ
diff --git a/mapper/target/classes/com/haitongauto/mapper/admin/FeedbackAdminMapper.class b/mapper/target/classes/com/haitongauto/mapper/admin/FeedbackAdminMapper.class
new file mode 100644
index 0000000..cf2e34a
Binary files /dev/null and b/mapper/target/classes/com/haitongauto/mapper/admin/FeedbackAdminMapper.class differ
diff --git a/mapper/target/classes/com/haitongauto/mapper/admin/NoviceIntroductionAdminMapper.class b/mapper/target/classes/com/haitongauto/mapper/admin/NoviceIntroductionAdminMapper.class
new file mode 100644
index 0000000..7e87146
Binary files /dev/null and b/mapper/target/classes/com/haitongauto/mapper/admin/NoviceIntroductionAdminMapper.class differ
diff --git a/mapper/target/classes/com/haitongauto/mapper/admin/PunchClockAdminMapper.class b/mapper/target/classes/com/haitongauto/mapper/admin/PunchClockAdminMapper.class
new file mode 100644
index 0000000..59dfaf9
Binary files /dev/null and b/mapper/target/classes/com/haitongauto/mapper/admin/PunchClockAdminMapper.class differ
diff --git a/mapper/target/classes/com/haitongauto/mapper/admin/StatisticsAdminMapper.class b/mapper/target/classes/com/haitongauto/mapper/admin/StatisticsAdminMapper.class
new file mode 100644
index 0000000..4158732
Binary files /dev/null and b/mapper/target/classes/com/haitongauto/mapper/admin/StatisticsAdminMapper.class differ
diff --git a/mapper/target/classes/com/haitongauto/mapper/admin/UsersAdminMapper.class b/mapper/target/classes/com/haitongauto/mapper/admin/UsersAdminMapper.class
new file mode 100644
index 0000000..e8dd5dc
Binary files /dev/null and b/mapper/target/classes/com/haitongauto/mapper/admin/UsersAdminMapper.class differ
diff --git a/mapper/target/classes/com/haitongauto/mapper/base/AnnouncementMapper.class b/mapper/target/classes/com/haitongauto/mapper/base/AnnouncementMapper.class
new file mode 100644
index 0000000..f5c4ffa
Binary files /dev/null and b/mapper/target/classes/com/haitongauto/mapper/base/AnnouncementMapper.class differ
diff --git a/mapper/target/classes/com/haitongauto/mapper/base/AppointmentDetailMapper.class b/mapper/target/classes/com/haitongauto/mapper/base/AppointmentDetailMapper.class
new file mode 100644
index 0000000..587981d
Binary files /dev/null and b/mapper/target/classes/com/haitongauto/mapper/base/AppointmentDetailMapper.class differ
diff --git a/mapper/target/classes/com/haitongauto/mapper/base/AppointmentMapper.class b/mapper/target/classes/com/haitongauto/mapper/base/AppointmentMapper.class
new file mode 100644
index 0000000..a4efc95
Binary files /dev/null and b/mapper/target/classes/com/haitongauto/mapper/base/AppointmentMapper.class differ
diff --git a/mapper/target/classes/com/haitongauto/mapper/base/DataBaseMapper.class b/mapper/target/classes/com/haitongauto/mapper/base/DataBaseMapper.class
new file mode 100644
index 0000000..6c1c9dd
Binary files /dev/null and b/mapper/target/classes/com/haitongauto/mapper/base/DataBaseMapper.class differ
diff --git a/mapper/target/classes/com/haitongauto/mapper/base/DepartureDetailMapper.class b/mapper/target/classes/com/haitongauto/mapper/base/DepartureDetailMapper.class
new file mode 100644
index 0000000..0145165
Binary files /dev/null and b/mapper/target/classes/com/haitongauto/mapper/base/DepartureDetailMapper.class differ
diff --git a/mapper/target/classes/com/haitongauto/mapper/base/DepartureVehicleMapper.class b/mapper/target/classes/com/haitongauto/mapper/base/DepartureVehicleMapper.class
new file mode 100644
index 0000000..f9939f9
Binary files /dev/null and b/mapper/target/classes/com/haitongauto/mapper/base/DepartureVehicleMapper.class differ
diff --git a/mapper/target/classes/com/haitongauto/mapper/base/DicMapper.class b/mapper/target/classes/com/haitongauto/mapper/base/DicMapper.class
new file mode 100644
index 0000000..9b2b9b8
Binary files /dev/null and b/mapper/target/classes/com/haitongauto/mapper/base/DicMapper.class differ
diff --git a/mapper/target/classes/com/haitongauto/mapper/base/EntryInstructMapper.class b/mapper/target/classes/com/haitongauto/mapper/base/EntryInstructMapper.class
new file mode 100644
index 0000000..0712944
Binary files /dev/null and b/mapper/target/classes/com/haitongauto/mapper/base/EntryInstructMapper.class differ
diff --git a/mapper/target/classes/com/haitongauto/mapper/base/FeedbackMapper.class b/mapper/target/classes/com/haitongauto/mapper/base/FeedbackMapper.class
new file mode 100644
index 0000000..5c5d817
Binary files /dev/null and b/mapper/target/classes/com/haitongauto/mapper/base/FeedbackMapper.class differ
diff --git a/mapper/target/classes/com/haitongauto/mapper/base/LoginLogMapper.class b/mapper/target/classes/com/haitongauto/mapper/base/LoginLogMapper.class
new file mode 100644
index 0000000..e0ca79f
Binary files /dev/null and b/mapper/target/classes/com/haitongauto/mapper/base/LoginLogMapper.class differ
diff --git a/mapper/target/classes/com/haitongauto/mapper/base/MessageMapper.class b/mapper/target/classes/com/haitongauto/mapper/base/MessageMapper.class
new file mode 100644
index 0000000..3c4ea4f
Binary files /dev/null and b/mapper/target/classes/com/haitongauto/mapper/base/MessageMapper.class differ
diff --git a/mapper/target/classes/com/haitongauto/mapper/base/NoviceIntroductionMapper.class b/mapper/target/classes/com/haitongauto/mapper/base/NoviceIntroductionMapper.class
new file mode 100644
index 0000000..b9a4e1e
Binary files /dev/null and b/mapper/target/classes/com/haitongauto/mapper/base/NoviceIntroductionMapper.class differ
diff --git a/mapper/target/classes/com/haitongauto/mapper/base/PortAreasMapper.class b/mapper/target/classes/com/haitongauto/mapper/base/PortAreasMapper.class
new file mode 100644
index 0000000..e13b81d
Binary files /dev/null and b/mapper/target/classes/com/haitongauto/mapper/base/PortAreasMapper.class differ
diff --git a/mapper/target/classes/com/haitongauto/mapper/base/PunchClockMapper.class b/mapper/target/classes/com/haitongauto/mapper/base/PunchClockMapper.class
new file mode 100644
index 0000000..066f648
Binary files /dev/null and b/mapper/target/classes/com/haitongauto/mapper/base/PunchClockMapper.class differ
diff --git a/mapper/target/classes/com/haitongauto/mapper/base/ReceivingDetailMapper.class b/mapper/target/classes/com/haitongauto/mapper/base/ReceivingDetailMapper.class
new file mode 100644
index 0000000..ad8a306
Binary files /dev/null and b/mapper/target/classes/com/haitongauto/mapper/base/ReceivingDetailMapper.class differ
diff --git a/mapper/target/classes/com/haitongauto/mapper/base/ReceivingVehicleMapper.class b/mapper/target/classes/com/haitongauto/mapper/base/ReceivingVehicleMapper.class
new file mode 100644
index 0000000..b737917
Binary files /dev/null and b/mapper/target/classes/com/haitongauto/mapper/base/ReceivingVehicleMapper.class differ
diff --git a/mapper/target/classes/com/haitongauto/mapper/base/RequesterMapper.class b/mapper/target/classes/com/haitongauto/mapper/base/RequesterMapper.class
new file mode 100644
index 0000000..c289c1f
Binary files /dev/null and b/mapper/target/classes/com/haitongauto/mapper/base/RequesterMapper.class differ
diff --git a/mapper/target/classes/com/haitongauto/mapper/base/ServiceConfigMapper.class b/mapper/target/classes/com/haitongauto/mapper/base/ServiceConfigMapper.class
new file mode 100644
index 0000000..2fb8c7e
Binary files /dev/null and b/mapper/target/classes/com/haitongauto/mapper/base/ServiceConfigMapper.class differ
diff --git a/mapper/target/classes/com/haitongauto/mapper/base/TableHeadMapper.class b/mapper/target/classes/com/haitongauto/mapper/base/TableHeadMapper.class
new file mode 100644
index 0000000..3a28bed
Binary files /dev/null and b/mapper/target/classes/com/haitongauto/mapper/base/TableHeadMapper.class differ
diff --git a/mapper/target/classes/com/haitongauto/mapper/base/TruckManagementMapper.class b/mapper/target/classes/com/haitongauto/mapper/base/TruckManagementMapper.class
new file mode 100644
index 0000000..0c0702e
Binary files /dev/null and b/mapper/target/classes/com/haitongauto/mapper/base/TruckManagementMapper.class differ
diff --git a/mapper/target/classes/com/haitongauto/mapper/base/TruckMapper.class b/mapper/target/classes/com/haitongauto/mapper/base/TruckMapper.class
new file mode 100644
index 0000000..49898c5
Binary files /dev/null and b/mapper/target/classes/com/haitongauto/mapper/base/TruckMapper.class differ
diff --git a/mapper/target/classes/com/haitongauto/mapper/base/UsersMapper.class b/mapper/target/classes/com/haitongauto/mapper/base/UsersMapper.class
new file mode 100644
index 0000000..fd59cf6
Binary files /dev/null and b/mapper/target/classes/com/haitongauto/mapper/base/UsersMapper.class differ
diff --git a/mapper/target/classes/com/haitongauto/mapper/client/AppointmentExtendMapper.class b/mapper/target/classes/com/haitongauto/mapper/client/AppointmentExtendMapper.class
new file mode 100644
index 0000000..20843c6
Binary files /dev/null and b/mapper/target/classes/com/haitongauto/mapper/client/AppointmentExtendMapper.class differ
diff --git a/mapper/target/classes/com/haitongauto/mapper/client/OtherExtendMapper.class b/mapper/target/classes/com/haitongauto/mapper/client/OtherExtendMapper.class
new file mode 100644
index 0000000..0d94df4
Binary files /dev/null and b/mapper/target/classes/com/haitongauto/mapper/client/OtherExtendMapper.class differ
diff --git a/mapper/target/classes/com/haitongauto/mapper/client/PunchClockExtendMapper.class b/mapper/target/classes/com/haitongauto/mapper/client/PunchClockExtendMapper.class
new file mode 100644
index 0000000..d7ffd23
Binary files /dev/null and b/mapper/target/classes/com/haitongauto/mapper/client/PunchClockExtendMapper.class differ
diff --git a/mapper/target/classes/com/haitongauto/mapper/client/TruckExtendMapper.class b/mapper/target/classes/com/haitongauto/mapper/client/TruckExtendMapper.class
new file mode 100644
index 0000000..4cf081d
Binary files /dev/null and b/mapper/target/classes/com/haitongauto/mapper/client/TruckExtendMapper.class differ
diff --git a/mapper/target/classes/mappers/admin/AnnouncementAdminMapper.xml b/mapper/target/classes/mappers/admin/AnnouncementAdminMapper.xml
new file mode 100644
index 0000000..3ad83e8
--- /dev/null
+++ b/mapper/target/classes/mappers/admin/AnnouncementAdminMapper.xml
@@ -0,0 +1,61 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/mapper/target/classes/mappers/admin/AppointmentAdminMapper.xml b/mapper/target/classes/mappers/admin/AppointmentAdminMapper.xml
new file mode 100644
index 0000000..86aba43
--- /dev/null
+++ b/mapper/target/classes/mappers/admin/AppointmentAdminMapper.xml
@@ -0,0 +1,104 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/mapper/target/classes/mappers/admin/FeedbackAdminMapper.xml b/mapper/target/classes/mappers/admin/FeedbackAdminMapper.xml
new file mode 100644
index 0000000..64c1dc4
--- /dev/null
+++ b/mapper/target/classes/mappers/admin/FeedbackAdminMapper.xml
@@ -0,0 +1,34 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/mapper/target/classes/mappers/admin/NoviceIntroductionAdminMapper.xml b/mapper/target/classes/mappers/admin/NoviceIntroductionAdminMapper.xml
new file mode 100644
index 0000000..51af3e7
--- /dev/null
+++ b/mapper/target/classes/mappers/admin/NoviceIntroductionAdminMapper.xml
@@ -0,0 +1,21 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/mapper/target/classes/mappers/admin/PunchClockAdminMapper.xml b/mapper/target/classes/mappers/admin/PunchClockAdminMapper.xml
new file mode 100644
index 0000000..1299b51
--- /dev/null
+++ b/mapper/target/classes/mappers/admin/PunchClockAdminMapper.xml
@@ -0,0 +1,101 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/mapper/target/classes/mappers/admin/StatisticsAdminMapper.xml b/mapper/target/classes/mappers/admin/StatisticsAdminMapper.xml
new file mode 100644
index 0000000..381f800
--- /dev/null
+++ b/mapper/target/classes/mappers/admin/StatisticsAdminMapper.xml
@@ -0,0 +1,340 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/mapper/target/classes/mappers/admin/UsersAdminMapper.xml b/mapper/target/classes/mappers/admin/UsersAdminMapper.xml
new file mode 100644
index 0000000..94668f1
--- /dev/null
+++ b/mapper/target/classes/mappers/admin/UsersAdminMapper.xml
@@ -0,0 +1,41 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/mapper/target/classes/mappers/base/AnnouncementMapper.xml b/mapper/target/classes/mappers/base/AnnouncementMapper.xml
new file mode 100644
index 0000000..ae80dc4
--- /dev/null
+++ b/mapper/target/classes/mappers/base/AnnouncementMapper.xml
@@ -0,0 +1,134 @@
+
+
+
+
+
+
+
+
+ update applet_announcement set is_del=1 where id=#{id}
+
+
+
+ delete from applet_announcement where id=#{id}
+
+
+
+ update applet_announcement
+
+
+ id = #{id},
+
+
+ sort = #{sort},
+
+
+ title = #{title},
+
+
+ abstracts = #{abstracts},
+
+
+ announcement = #{announcement},
+
+
+ announcement_text = #{announcement_text},
+
+
+ author = #{author},
+
+
+ reading_volume = #{reading_volume},
+
+
+ create_time = #{create_time}::timestamp,
+
+
+ is_del = #{is_del},
+
+ update_time = current_timestamp
+
+ where id = #{id}
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/mapper/target/classes/mappers/base/AppointmentDetailMapper.xml b/mapper/target/classes/mappers/base/AppointmentDetailMapper.xml
new file mode 100644
index 0000000..3298762
--- /dev/null
+++ b/mapper/target/classes/mappers/base/AppointmentDetailMapper.xml
@@ -0,0 +1,174 @@
+
+
+
+
+
+
+
+
+ update applet_appointment_detail set is_del=1 where id=#{id}
+
+
+
+ delete from applet_appointment_detail
+ where id=#{id}
+
+
+
+ update applet_appointment_detail
+
+
+ id = #{id},
+
+
+ appointment_id = #{appointment_id},
+
+
+ ship_id = #{ship_id},
+
+
+ ship_name = #{ship_name},
+
+
+ voy_number = #{voy_number},
+
+
+ destination_port = #{destination_port},
+
+
+ destination_port_id = #{destination_port_id},
+
+
+ brand_id = #{brand_id},
+
+
+ brand_name = #{brand_name},
+
+
+ vin = #{vin},
+
+
+ create_time = #{create_time}::timestamp,
+
+
+ is_del = #{is_del},
+
+ update_time =current_timestamp
+
+ where id = #{id}
+
+
+
+
+
+
+
+
+
+
+
+ delete from applet_appointment_detail
+ where appointment_id=#{appointment_id}
+
+
+
+
+
\ No newline at end of file
diff --git a/mapper/target/classes/mappers/base/AppointmentMapper.xml b/mapper/target/classes/mappers/base/AppointmentMapper.xml
new file mode 100644
index 0000000..17eff33
--- /dev/null
+++ b/mapper/target/classes/mappers/base/AppointmentMapper.xml
@@ -0,0 +1,360 @@
+
+
+
+
+
+
+
+
+ update applet_appointment set is_del=1 where id=#{id}
+
+
+
+ delete from applet_appointment where id=#{id}
+
+
+
+ update applet_appointment
+
+
+ id = #{id},
+
+
+ users_id = #{users_id},
+
+
+ transport_type = #{transport_type},
+
+
+ truck_number = #{truck_number},
+
+
+ tel_number = #{tel_number},
+
+
+ id_code = #{id_code},
+
+
+ truck_vin = #{truck_vin},
+
+
+ vehicle_weight = #{vehicle_weight},
+
+
+ vehicle_frame_weight = #{vehicle_frame_weight},
+
+
+ driving_license = #{driving_license},
+
+
+ approach_date = #{approach_date}::date,
+
+
+ port_area_id = #{port_area_id},
+
+
+ biz_type = #{biz_type},
+
+
+ enter_type = #{enter_type},
+
+
+ goods_type = #{goods_type},
+
+
+ goods_quantity = #{goods_quantity},
+
+
+ appointment_state = #{appointment_state},
+
+
+ cancel_time = #{cancel_time}::timestamp,
+
+
+ appointment_type = #{appointment_type},
+
+
+ is_del = #{is_del},
+
+
+ yard = #{yard},
+
+
+ yard_name = #{yard_name},
+
+
+ gate_canal_in = #{gate_canal_in},
+
+
+ gate_canal_out = #{gate_canal_out},
+
+
+ gate_canal_in_time= #{gate_canal_in_time}::timestamp,
+
+
+ gate_canal_out_time=#{gate_canal_out_time}::timestamp,
+
+
+ instruct_state = #{instruct_state},
+
+
+ send_time =# {send_time}::timestamp,
+
+
+ sender = #{sender},
+
+
+ check_in_time = #{check_in_time}::timestamp,
+
+
+ check_over_time = #{check_over_time}::timestamp,
+
+
+ plate_scan_time = #{plate_scan_time}::timestamp,
+
+
+ is_conventionality_in = #{is_conventionality_in},
+
+
+ push_ids = #{push_ids},
+
+ update_time = current_timestamp
+
+ where id = #{id}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ update applet_appointment
+
+
+ id = #{item.id},
+
+
+ yard = #{item.yard},
+
+
+ sender = #{item.sender},
+
+
+ yard_name = #{item.yard_name},
+
+
+ gate_canal_in = #{item.gate_canal_in},
+
+
+ instruct_state = #{item.instruct_state},
+
+ send_time =current_timestamp,
+ update_time = current_timestamp
+
+ where id = #{item.id}
+
+
+
+
+
+ update applet_appointment
+
+ plate_scan_time = current_timestamp
+
+ where id = #{appointment_id}
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/mapper/target/classes/mappers/base/DepartureDetailMapper.xml b/mapper/target/classes/mappers/base/DepartureDetailMapper.xml
new file mode 100644
index 0000000..3f9e3ea
--- /dev/null
+++ b/mapper/target/classes/mappers/base/DepartureDetailMapper.xml
@@ -0,0 +1,118 @@
+
+
+
+
+
+
+
+
+ update applet_departure_detail set is_del=1 where id=#{id}
+
+
+
+ delete from applet_departure_detail where id=#{id}
+
+
+
+ update applet_departure_detail
+
+
+ id = #{id},
+
+
+ applet_departure_vehicle_id = #{applet_departure_vehicle_id},
+
+
+ receiving_unit = #{receiving_unit},
+
+
+ ship_name = #{ship_name},
+
+
+ voy_number = #{voy_number},
+
+
+ customs_clearance_nature = #{customs_clearance_nature},
+
+
+ lading_no = #{lading_no},
+
+
+ customs_declaration_no = #{customs_declaration_no},
+
+
+ cargo_name = #{cargo_name},
+
+
+ cargo_quantity = #{cargo_quantity},
+
+
+ remarks = #{remarks},
+
+
+ vin_list = #{vin_list},
+
+
+ create_time = #{create_time}::timestamp,
+
+
+ is_del = #{is_del},
+
+ update_time = current_timestamp
+
+ where id = #{id}
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/mapper/target/classes/mappers/base/DepartureVehicleMapper.xml b/mapper/target/classes/mappers/base/DepartureVehicleMapper.xml
new file mode 100644
index 0000000..03f45f2
--- /dev/null
+++ b/mapper/target/classes/mappers/base/DepartureVehicleMapper.xml
@@ -0,0 +1,175 @@
+
+
+
+
+
+
+
+
+ update applet_departure_vehicle set is_del=1 where id=#{id}
+
+
+
+ delete from applet_departure_vehicle where id=#{id}
+
+
+
+ update applet_departure_vehicle
+
+
+ id = #{id},
+
+
+ voucher_number = #{voucher_number},
+
+
+ users_id = #{users_id},
+
+
+ users_name = #{users_name},
+
+
+ tel_number = #{tel_number},
+
+
+ operators = #{operators},
+
+
+ phone_number = #{phone_number},
+
+
+ truck_number = #{truck_number},
+
+
+ trade_type = #{trade_type},
+
+
+ cargo_type = #{cargo_type},
+
+
+ cargo_quantity = #{cargo_quantity},
+
+
+ delivery_time = #{delivery_time}::timestamp,
+
+
+ checker = #{checker},
+
+
+ check_status = #{check_status},
+
+
+ check_time = #{check_time}::timestamp,
+
+
+ remarks = #{remarks},
+
+
+ create_time = #{create_time}::timestamp,
+
+
+ is_del = #{is_del},
+
+ update_time = current_timestamp
+
+ where id = #{id}
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/mapper/target/classes/mappers/base/DicMapper.xml b/mapper/target/classes/mappers/base/DicMapper.xml
new file mode 100644
index 0000000..d4df840
--- /dev/null
+++ b/mapper/target/classes/mappers/base/DicMapper.xml
@@ -0,0 +1,96 @@
+
+
+
+
+
+
+
+
+ update applet_dic set is_del=1 where id=#{id}
+
+
+
+ delete from applet_dic where id=#{id}
+
+
+
+ update applet_dic
+
+
+ id = #{id},
+
+
+ dic_sort = #{dic_sort},
+
+
+ description = #{description},
+
+
+ content = #{content},
+
+
+ create_time = #{create_time}::timestamp,
+
+
+ is_del = #{is_del},
+
+ update_time =current_timestamp
+
+ where id = #{id}
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/mapper/target/classes/mappers/base/EntryInstructMapper.xml b/mapper/target/classes/mappers/base/EntryInstructMapper.xml
new file mode 100644
index 0000000..f078833
--- /dev/null
+++ b/mapper/target/classes/mappers/base/EntryInstructMapper.xml
@@ -0,0 +1,90 @@
+
+
+
+
+
+
+
+
+ update applet_entry_instruct set is_del=1 where id=#{id}
+
+
+
+ delete from applet_entry_instruct where id=#{id}
+
+
+
+ update applet_entry_instruct
+
+
+ id = #{id},
+
+
+ appointment_id = #{appointment_id},
+
+
+ users_id = #{users_id},
+
+
+ users_name = #{users_name},
+
+
+ truck_number = #{truck_number},
+
+
+ yard_name = #{yard_name},
+
+
+ create_time = #{create_time}::timestamp,
+
+
+ is_del = #{is_del},
+
+ update_time = current_timestamp
+
+ where id = #{id}
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/mapper/target/classes/mappers/base/FeedbackMapper.xml b/mapper/target/classes/mappers/base/FeedbackMapper.xml
new file mode 100644
index 0000000..612c4eb
--- /dev/null
+++ b/mapper/target/classes/mappers/base/FeedbackMapper.xml
@@ -0,0 +1,95 @@
+
+
+
+
+
+
+
+
+ update applet_feedback set is_del=1 where id=#{id}
+
+
+
+ delete from applet_feedback where id=#{id}
+
+
+
+ update applet_feedback
+
+
+ id = #{id},
+
+
+ users_id = #{users_id},
+
+
+ nike_name = #{nike_name},
+
+
+ feedback_info = #{feedback_info},
+
+
+ pictures = #{pictures},
+
+
+ tel_number = #{tel_number},
+
+
+ contact_info = #{contact_info},
+
+
+ create_time = #{create_time}::timestamp,
+
+
+ is_del = #{is_del},
+
+ update_time = current_timestamp
+
+ where id = #{id}
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/mapper/target/classes/mappers/base/LoginLogMapper.xml b/mapper/target/classes/mappers/base/LoginLogMapper.xml
new file mode 100644
index 0000000..ae18ad4
--- /dev/null
+++ b/mapper/target/classes/mappers/base/LoginLogMapper.xml
@@ -0,0 +1,43 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/mapper/target/classes/mappers/base/MessageMapper.xml b/mapper/target/classes/mappers/base/MessageMapper.xml
new file mode 100644
index 0000000..aec49b3
--- /dev/null
+++ b/mapper/target/classes/mappers/base/MessageMapper.xml
@@ -0,0 +1,144 @@
+
+
+
+
+
+
+
+
+ update applet_message set is_del=1 where id=#{id}
+
+
+
+ delete from applet_message where id=#{id}
+
+
+
+ update applet_message
+
+
+ id = #{id},
+
+
+ type = #{type},
+
+
+ type_content = #{type_content},
+
+
+
+ biz_id = #{biz_id},
+
+
+ prc_id = #{prc_id},
+
+
+ truck_number = #{truck_number},
+
+
+ is_read = #{is_read},
+
+
+ create_time = #{create_time}::timestamp,
+
+
+ is_del = #{is_del},
+
+ update_time = current_timestamp,
+
+ where id=#{id}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/mapper/target/classes/mappers/base/NoviceIntroductionMapper.xml b/mapper/target/classes/mappers/base/NoviceIntroductionMapper.xml
new file mode 100644
index 0000000..f24c70b
--- /dev/null
+++ b/mapper/target/classes/mappers/base/NoviceIntroductionMapper.xml
@@ -0,0 +1,84 @@
+
+
+
+
+
+
+
+
+ update applet_novice_introduction set is_del=1 where id=#{id}
+
+
+
+ delete from applet_novice_introduction where id=#{id}
+
+
+
+ update applet_novice_introduction
+
+
+ id = #{id},
+
+
+ sort = #{sort},
+
+
+ title = #{title},
+
+
+ content = #{content},
+
+
+ sequence_number = #{sequence_number},
+
+
+ create_time = #{create_time}::timestamp,
+
+
+ is_del = #{is_del},
+
+ update_time =current_timestamp
+
+ where id = #{id}
+
+
+
+
+
+
\ No newline at end of file
diff --git a/mapper/target/classes/mappers/base/PortAreasMapper.xml b/mapper/target/classes/mappers/base/PortAreasMapper.xml
new file mode 100644
index 0000000..f1cf423
--- /dev/null
+++ b/mapper/target/classes/mappers/base/PortAreasMapper.xml
@@ -0,0 +1,115 @@
+
+
+
+
+
+
+
+
+ update applet_port_areas set is_del=1 where id=#{id}
+
+
+
+ delete from applet_port_areas where id=#{id}
+
+
+
+ update applet_port_areas
+
+
+ id = #{id},
+
+
+ port_area_name = #{port_area_name},
+
+
+ port_area_name_en = #{port_area_name_en},
+
+
+ port_area_code = #{port_area_code},
+
+
+ port_area_address = #{port_area_address},
+
+
+ area_center_poi = #{area_center_poi},
+
+
+ punch_range = #{punch_range},
+
+
+ is_enable = #{is_enable},
+
+
+ order_items = #{order_items},
+
+
+ create_time = #{create_time}::timestamp,
+
+
+ is_del = #{is_del},
+
+ update_time = current_timestamp
+
+ where id = #{id}
+
+
+
+
+
+
\ No newline at end of file
diff --git a/mapper/target/classes/mappers/base/PunchClockMapper.xml b/mapper/target/classes/mappers/base/PunchClockMapper.xml
new file mode 100644
index 0000000..fee906e
--- /dev/null
+++ b/mapper/target/classes/mappers/base/PunchClockMapper.xml
@@ -0,0 +1,139 @@
+
+
+
+
+
+
+
+
+ update applet_punch_clock set is_del=1 where id=#{id}
+
+
+
+ delete from applet_punch_clock where id=#{id}
+
+
+
+ update applet_punch_clock
+
+
+ id = #{id},
+
+
+ users_id = #{users_id},
+
+
+ appointment_id = #{appointment_id},
+
+
+ biz_type = #{biz_type},
+
+
+ queue_number = #{queue_number},
+
+
+ start_time = #{start_time}::timestamp,
+
+
+ over_time = #{over_time}::timestamp,
+
+
+ port_area_id = #{port_area_id},
+
+
+ punch_address = #{punch_address},
+
+
+ over_address = #{over_address},
+
+
+ punch_clock_type = #{punch_clock_type},
+
+
+ punch_clock_poi = #{punch_clock_poi},
+
+
+ is_del = #{is_del},
+
+ update_time = current_timestamp
+
+ where id = #{id}
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/mapper/target/classes/mappers/base/ReceivingDetailMapper.xml b/mapper/target/classes/mappers/base/ReceivingDetailMapper.xml
new file mode 100644
index 0000000..2a96603
--- /dev/null
+++ b/mapper/target/classes/mappers/base/ReceivingDetailMapper.xml
@@ -0,0 +1,89 @@
+
+
+
+
+
+
+
+
+ update applet_receiving_detail set is_del=1 where id=#{id}
+
+
+
+ delete from applet_receiving_detail where id=#{id}
+
+
+
+ update applet_receiving_detail
+
+
+ id = #{id},
+
+
+ applet_receiving_vehicle_id = #{applet_receiving_vehicle_id},
+
+
+ ship_name = #{ship_name},
+
+
+ brand = #{brand},
+
+
+ port_name = #{port_name},
+
+
+ vin_list = #{vin_list},
+
+
+ create_time = #{create_time}::timestamp,
+
+
+ is_del = #{is_del},
+
+ update_time = current_timestamp
+
+ where id = #{id}
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/mapper/target/classes/mappers/base/ReceivingVehicleMapper.xml b/mapper/target/classes/mappers/base/ReceivingVehicleMapper.xml
new file mode 100644
index 0000000..dd1e8e5
--- /dev/null
+++ b/mapper/target/classes/mappers/base/ReceivingVehicleMapper.xml
@@ -0,0 +1,153 @@
+
+
+
+
+
+
+
+
+ update applet_receiving_vehicle set is_del=1 where id=#{id}
+
+
+
+ delete from applet_receiving_vehicle where id=#{id}
+
+
+
+ update applet_receiving_vehicle
+
+
+ id = #{id},
+
+
+ voucher_number = #{voucher_number},
+
+
+ users_id = #{users_id},
+
+
+ users_name = #{users_name},
+
+
+ tel_number = #{tel_number},
+
+
+ operators = #{operators},
+
+
+ phone_number = #{phone_number},
+
+
+ numbers = #{numbers},
+
+
+ number_type = #{number_type},
+
+
+ trade_type = #{trade_type},
+
+
+ cargo_type = #{cargo_type},
+
+
+ cargo_quantity = #{cargo_quantity},
+
+
+ collect_time = #{collect_time}::timestamp,
+
+
+ checker = #{checker},
+
+
+ check_status = #{check_status},
+
+
+ check_time = #{check_time}::timestamp,
+
+
+ remarks = #{remarks},
+
+
+ create_time = #{create_time}::timestamp,
+
+
+ is_del = #{is_del},
+
+ update_time =current_timestamp
+
+ where id = #{id}
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/mapper/target/classes/mappers/base/RequesterMapper.xml b/mapper/target/classes/mappers/base/RequesterMapper.xml
new file mode 100644
index 0000000..0f7e2e5
--- /dev/null
+++ b/mapper/target/classes/mappers/base/RequesterMapper.xml
@@ -0,0 +1,92 @@
+
+
+
+
+
+
+
+
+ update applet_requester set is_del=1 where id=#{id}
+
+
+
+ delete from applet_requester where id=#{id}
+
+
+
+ update applet_requester
+
+
+ id = #{id},
+
+
+ url = #{url},
+
+
+ param_map = #{param_map},
+
+
+ request_type = #{request_type},
+
+
+ type_description = #{type_description},
+
+
+ create_time = #{create_time}::timestamp,
+
+
+ is_del = #{is_del},
+
+ update_time = current_timestamp,
+
+ where id = #{id}
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/mapper/target/classes/mappers/base/ServiceConfigMapper.xml b/mapper/target/classes/mappers/base/ServiceConfigMapper.xml
new file mode 100644
index 0000000..85ca82a
--- /dev/null
+++ b/mapper/target/classes/mappers/base/ServiceConfigMapper.xml
@@ -0,0 +1,79 @@
+
+
+
+
+
+
+
+
+ update applet_service_config set is_del=1 where id=#{id}
+
+
+
+ delete from applet_service_config where id=#{id}
+
+
+
+ update applet_service_config
+
+
+ id = #{id},
+
+
+ config_name = #{config_name},
+
+
+ config_code = #{config_code},
+
+
+ config_content = #{config_content},
+
+
+ create_time = #{create_time}::timestamp,
+
+
+ is_del = #{is_del},
+
+ update_time = current_timestamp
+
+ where id = #{id}
+
+
+
+
+
+
\ No newline at end of file
diff --git a/mapper/target/classes/mappers/base/TableHeadMapper.xml b/mapper/target/classes/mappers/base/TableHeadMapper.xml
new file mode 100644
index 0000000..3119ea4
--- /dev/null
+++ b/mapper/target/classes/mappers/base/TableHeadMapper.xml
@@ -0,0 +1,90 @@
+
+
+
+
+
+
+
+
+ update applet_table_head
+ set is_del=1
+ where id=#{id}
+
+
+
+ delete from applet_table_head where id=#{id}
+
+
+
+ update applet_table_head
+
+
+ id = #{id},
+
+
+ table_name = #{table_name},
+
+
+ table_code = #{table_code},
+
+
+ head_jason = #{head_jason},
+
+
+ create_time = #{create_time}::timestamp,
+
+
+ is_del = #{is_del},
+
+ update_time = current_timestamp
+
+ where id = #{id}
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/mapper/target/classes/mappers/base/TruckManagementMapper.xml b/mapper/target/classes/mappers/base/TruckManagementMapper.xml
new file mode 100644
index 0000000..e55ee46
--- /dev/null
+++ b/mapper/target/classes/mappers/base/TruckManagementMapper.xml
@@ -0,0 +1,105 @@
+
+
+
+
+
+
+
+
+
+ update applet_truck_management set is_del=1 where id=#{id}
+
+
+
+ delete from applet_truck_management where id=#{id}
+
+
+
+ update applet_truck_management
+
+
+ id = #{id},
+
+
+ users_id = #{users_id},
+
+
+ truck_number = #{truck_number},
+
+
+ cause = #{cause},
+
+
+ drivers_name = #{drivers_name},
+
+
+ drivers_phone = #{drivers_phone},
+
+
+ administrators_name = #{administrators_name},
+
+
+ administrators_phone = #{administrators_phone},
+
+
+ enter_time = #{enter_time}::timestamp,
+
+
+ create_time = #{create_time}::timestamp,
+
+
+ is_del = #{is_del},
+
+ update_time =current_timestamp
+
+ where id = #{id}
+
+
+
+
+
+
\ No newline at end of file
diff --git a/mapper/target/classes/mappers/base/TruckMapper.xml b/mapper/target/classes/mappers/base/TruckMapper.xml
new file mode 100644
index 0000000..db6a874
--- /dev/null
+++ b/mapper/target/classes/mappers/base/TruckMapper.xml
@@ -0,0 +1,235 @@
+
+
+
+
+
+
+
+
+
+ update applet_truck set is_del=1 where id=#{id}
+
+
+
+ delete from applet_truck where id=#{id}
+
+
+ delete from applet_truck where users_id=#{users_id}
+
+
+
+ update applet_truck
+
+
+ id = #{id},
+
+
+ wx_openid = #{wx_openid},
+
+
+ users_id = #{users_id},
+
+
+ truck_number = #{truck_number},
+
+
+ driving_license_id = #{driving_license_id},
+
+
+ tel_number = #{tel_number},
+
+
+ head_frame_number = #{head_frame_number},
+
+
+ vehicle_weight = #{vehicle_weight},
+
+
+ vehicle_frame_weight = #{vehicle_frame_weight},
+
+
+ driving_license = #{driving_license},
+
+
+ truck_state = #{truck_state},
+
+
+ create_time = #{create_time}::timestamp,
+
+
+ is_del = #{is_del},
+
+ update_time = current_timestamp
+
+ where id = #{id}
+
+
+
+
+ update applet_truck
+
+
+ wx_openid = #{wx_openid},
+
+
+ users_id = #{users_id},
+
+
+ truck_number = #{truck_number},
+
+
+
+ driving_license_id = #{driving_license_id},
+
+
+ driving_license_id ='',
+
+
+
+ tel_number = #{tel_number},
+
+
+ head_frame_number = #{head_frame_number},
+
+
+
+ vehicle_weight = #{vehicle_weight},
+
+
+ vehicle_weight = null,
+
+
+
+
+ vehicle_frame_weight = #{vehicle_frame_weight},
+
+
+ vehicle_frame_weight =null,
+
+
+
+
+ driving_license = #{driving_license},
+
+
+ driving_license =null,
+
+
+
+ truck_state = #{truck_state},
+
+
+ is_del = #{is_del},
+
+ update_time = current_timestamp
+
+ where id = #{id}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/mapper/target/classes/mappers/base/UsersMapper.xml b/mapper/target/classes/mappers/base/UsersMapper.xml
new file mode 100644
index 0000000..bbbb655
--- /dev/null
+++ b/mapper/target/classes/mappers/base/UsersMapper.xml
@@ -0,0 +1,178 @@
+
+
+
+
+
+
+
+
+ update applet_users set is_del=1 where id=#{id}
+
+
+
+ delete from applet_users where id=#{id}
+
+
+
+ update applet_users
+
+
+ id = #{id},
+
+
+ access_token = #{access_token},
+
+
+ access_token_rtos = #{access_token_rtos},
+
+
+ users_name = #{users_name},
+
+
+ wx_openid = #{wx_openid},
+
+
+ wx_unionid = #{wx_unionid},
+
+
+ wx_nick = #{wx_nick},
+
+
+ wx_sex = #{wx_sex},
+
+
+ wx_head_sculpture = #{wx_head_sculpture},
+
+
+ tel_number = #{tel_number},
+
+
+ id_code = #{id_code},
+
+
+ users_state = #{users_state},
+
+
+ create_time = #{create_time}::timestamp,
+
+
+ is_del = #{is_del},
+
+ update_time = current_timestamp
+
+ where id = #{id}
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/mapper/target/classes/mappers/client/AppointmentExtendMapper.xml b/mapper/target/classes/mappers/client/AppointmentExtendMapper.xml
new file mode 100644
index 0000000..ae4bd23
--- /dev/null
+++ b/mapper/target/classes/mappers/client/AppointmentExtendMapper.xml
@@ -0,0 +1,137 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ update applet_appointment
+ set
+ cancel_time = #{cancel_time}::timestamp,
+ appointment_state=4
+ where id=#{appointment_id}
+
+
+
+ update applet_appointment_detail
+ set is_del=1
+ where id=#{appointment_id}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/mapper/target/classes/mappers/client/OtherExtendMapper.xml b/mapper/target/classes/mappers/client/OtherExtendMapper.xml
new file mode 100644
index 0000000..def25c4
--- /dev/null
+++ b/mapper/target/classes/mappers/client/OtherExtendMapper.xml
@@ -0,0 +1,112 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/mapper/target/classes/mappers/client/PunchClockExtendMapper.xml b/mapper/target/classes/mappers/client/PunchClockExtendMapper.xml
new file mode 100644
index 0000000..873a5a4
--- /dev/null
+++ b/mapper/target/classes/mappers/client/PunchClockExtendMapper.xml
@@ -0,0 +1,144 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/mapper/target/classes/mappers/client/TruckExtendMapper.xml b/mapper/target/classes/mappers/client/TruckExtendMapper.xml
new file mode 100644
index 0000000..7ce818b
--- /dev/null
+++ b/mapper/target/classes/mappers/client/TruckExtendMapper.xml
@@ -0,0 +1,100 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ update applet_truck
+ set
+ truck_state=0
+ where users_id=#{users_id} and truck_state<>4
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/mapper/target/classes/static/rtos-wx-applet.sql b/mapper/target/classes/static/rtos-wx-applet.sql
new file mode 100644
index 0000000..ee0b691
--- /dev/null
+++ b/mapper/target/classes/static/rtos-wx-applet.sql
@@ -0,0 +1,671 @@
+--RTOS小程序数据库 sql文档
+
+-- Database: rtos-wx-applet
+-- DROP DATABASE IF EXISTS rtos-wx-applet;
+
+CREATE DATABASE rtos_wx_applet
+ WITH
+ OWNER = postgres
+ ENCODING = 'UTF8'
+ LC_COLLATE = 'Chinese (Simplified)_China.936'
+ LC_CTYPE = 'Chinese (Simplified)_China.936'
+ TABLESPACE = pg_default
+ CONNECTION LIMIT = -1
+ IS_TEMPLATE = False;
+COMMENT ON DATABASE rtos_wx_applet IS 'RTOS小程序数据库';
+
+
+--1-用户(司机)信息
+CREATE TABLE IF NOT EXISTS public.applet_users(
+ id serial,
+ users_name varchar(32) DEFAULT NULL,
+ wx_openid varchar(32) DEFAULT NULL,
+ wx_unionid varchar(32) DEFAULT NULL,
+ wx_nick varchar(32) DEFAULT NULL,
+ wx_sex varchar(8) DEFAULT NULL,
+ wx_head_sculpture varchar(256) DEFAULT NULL,
+ tel_number varchar(32) NOT NULL,
+ id_code varchar(32) DEFAULT NULL,
+ users_state integer DEFAULT 0,
+ create_time timestamp(3) default ('now'::text)::timestamp(0) with time zone,
+ update_time timestamp(3) default ('now'::text)::timestamp(0) with time zone,
+ is_del integer DEFAULT 0,
+ CONSTRAINT applet_users_pkey PRIMARY KEY (id)
+);
+COMMENT ON COLUMN applet_users.id IS '用户id';
+COMMENT ON COLUMN applet_users.users_name IS '用户姓名,默认为微信昵称';
+COMMENT ON COLUMN applet_users.wx_openid IS '微信获取openid-用户小程序唯一标识';
+COMMENT ON COLUMN applet_users.wx_unionid IS '微信获取unionid-用户微信应用唯一标识';
+COMMENT ON COLUMN applet_users.wx_nick IS '微信获取昵称';
+COMMENT ON COLUMN applet_users.wx_sex IS '微信获取性别';
+COMMENT ON COLUMN applet_users.wx_head_sculpture IS '微信获取头像';
+COMMENT ON COLUMN applet_users.tel_number IS '手机号码';
+COMMENT ON COLUMN applet_users.id_code IS '用户身分证号码';
+COMMENT ON COLUMN applet_users.users_state IS '用户状态(0-正常,1-停用)';
+COMMENT ON COLUMN applet_users.create_time IS '创建时间';
+COMMENT ON COLUMN applet_users.update_time IS '更新时间';
+COMMENT ON COLUMN applet_users.is_del IS '是否软删除';
+
+
+--2-板车信息(用户扫描行驶证获取)
+CREATE TABLE IF NOT EXISTS public.applet_truck(
+ id serial,
+ users_id integer,
+ truck_number varchar(16) DEFAULT NULL,
+ driving_license_id varchar(32) DEFAULT NULL,
+ tel_number varchar(16) DEFAULT NULL,
+ head_frame_number varchar(32) DEFAULT NULL,
+ vehicle_weight integer DEFAULT NULL,
+ vehicle_frame_weight integer DEFAULT NULL,
+ customs_declaration_no varchar(32) DEFAULT NULL,
+ driving_license varchar(256) DEFAULT NULL,
+ truck_state integer default 0,
+ create_time timestamp(3) default ('now'::text)::timestamp(0) with time zone,
+ update_time timestamp(3) default ('now'::text)::timestamp(0) with time zone,
+ is_del integer DEFAULT 0,
+ CONSTRAINT applet_truck_pkey PRIMARY KEY (id)
+);
+COMMENT ON COLUMN applet_truck.id IS '板车id';
+COMMENT ON COLUMN applet_truck.users_id IS '用户id';
+COMMENT ON COLUMN applet_truck.truck_number IS '车牌号(数据唯一性约束)';
+COMMENT ON COLUMN applet_truck.driving_license_id IS '行驶证ID';
+COMMENT ON COLUMN applet_truck.tel_number IS '司机电话';
+COMMENT ON COLUMN applet_truck.head_frame_number IS '车头车架号';
+COMMENT ON COLUMN applet_truck.vehicle_weight IS '车辆自重';
+COMMENT ON COLUMN applet_truck.vehicle_frame_weight IS '车架重';
+COMMENT ON COLUMN applet_truck.driving_license IS '行驶证(扫描件)';
+COMMENT ON COLUMN applet_truck.truck_state IS '板车状态(1-默认,0-其他,4-拉黑)';
+COMMENT ON COLUMN applet_truck.create_time IS '创建时间';
+COMMENT ON COLUMN applet_truck.update_time IS '更新时间';
+COMMENT ON COLUMN applet_truck.is_del IS '是否软删除';
+
+
+--3-公告信息(小程序/客服后台推送)
+CREATE TABLE IF NOT EXISTS public.applet_announcements(
+ id serial,
+ title varchar(64) DEFAULT NULL,
+ abstracts varchar(256) DEFAULT NULL,
+ announcement text COLLATE pg_catalog."default" DEFAULT 'NULL::text',
+ author varchar(32) DEFAULT NULL,
+ reading_volume integer DEFAULT NULL,
+ create_time timestamp(3) default ('now'::text)::timestamp(0) with time zone,
+ update_time timestamp(3) default ('now'::text)::timestamp(0) with time zone,
+ is_del integer DEFAULT 0,
+ CONSTRAINT applet_announcements_pkey PRIMARY KEY (id)
+);
+COMMENT ON COLUMN applet_announcements.id IS '公告id';
+COMMENT ON COLUMN applet_announcements.title IS '标题';
+COMMENT ON COLUMN applet_announcements.abstracts IS '摘要';
+COMMENT ON COLUMN applet_announcements.announcement IS '公告内容';
+COMMENT ON COLUMN applet_announcements.author IS '作者';
+COMMENT ON COLUMN applet_announcements.reading_volume IS '阅读量';
+COMMENT ON COLUMN applet_announcements.create_time IS '创建时间';
+COMMENT ON COLUMN applet_announcements.update_time IS '更新时间';
+COMMENT ON COLUMN applet_announcements.is_del IS '是否软删除';
+
+
+--4-预约信息
+CREATE TABLE IF NOT EXISTS public.applet_appointment(
+ id serial,
+ users_id integer DEFAULT NULL,
+ transport_type integer DEFAULT NULL,
+ truck_number varchar(16) DEFAULT NULL,
+ tel_number varchar(16) DEFAULT NULL,
+
+ //head_frame_number varchar(32) DEFAULT NULL,
+ vehicle_weight integer,
+ vehicle_frame_weight integer,
+ driving_license varchar(32) DEFAULT NULL,
+ approach_date date DEFAULT NULL,
+ port_area_id integer DEFAULT NULL,
+ biz_type integer DEFAULT NULL,
+ enter_type integer DEFAULT NULL,
+ goods_type integer DEFAULT NULL,
+ goods_Quantity integer,
+ appointment_state integer default 0,
+ create_time timestamp(3) default ('now'::text)::timestamp(0) with time zone,
+ update_time timestamp(3) default ('now'::text)::timestamp(0) with time zone,
+ is_del integer DEFAULT 0,
+ CONSTRAINT applet_appointment_pkey PRIMARY KEY (id)
+);
+COMMENT ON COLUMN applet_appointment.id IS '预约信息id';
+COMMENT ON COLUMN applet_appointment.users_id IS '用户id';
+COMMENT ON COLUMN applet_appointment.transport_type IS '运输方式(1/2/3)';//
+COMMENT ON COLUMN applet_appointment.truck_number IS '板车号';//
+COMMENT ON COLUMN applet_appointment.tel_number IS '手机号';//
+COMMENT ON COLUMN applet_appointment.head_frame_number IS '车头车架号';//
+COMMENT ON COLUMN applet_appointment.vehicle_weight IS '板车自重(吨)';//
+COMMENT ON COLUMN applet_appointment.vehicle_frame_weight IS '车架重(吨)';//
+COMMENT ON COLUMN applet_appointment.driving_license IS '行驶证编号';//
+COMMENT ON COLUMN applet_appointment.approach_date IS '预约进场日期';//
+COMMENT ON COLUMN applet_punch_clock.biz_type IS '业务类型(1-全部,2-码头业务,3-整车物流,4-特保区预约)';
+COMMENT ON COLUMN applet_appointment.port_area_id IS '进港港区Id';//
+COMMENT ON COLUMN applet_appointment.enter_type IS '进港类型(1-外贸出口,2-外贸进口,3-整车物流,4-特保区出口,5-特保区进口,6-内贸出口,7-内贸进口)';//
+COMMENT ON COLUMN applet_appointment.goods_type IS '货物类型(1-商品车,2-设备,3-其他)';//
+COMMENT ON COLUMN applet_appointment.goods_Quantity IS '货物数量(件数)';//
+COMMENT ON COLUMN applet_appointment.appointment_state IS '预约打卡状态(1-已预约,2-已签到,3-已进港,5-操作中,6-已完成,7-已离港,4-已取消,9-异常:预期未完成操作的)';//
+COMMENT ON COLUMN applet_appointment.create_time IS '创建时间';
+COMMENT ON COLUMN applet_appointment.update_time IS '更新时间';
+COMMENT ON COLUMN applet_appointment.is_del IS '是否软删除';
+ 需要 司机生份证
+
+
+-- 5-预约明细
+CREATE TABLE IF NOT EXISTS public.applet_appointment_detail(
+ id serial,
+ appointment_id integer DEFAULT NULL,
+ ship_name varchar(16) DEFAULT NULL,
+ voy_number varchar(16) DEFAULT NULL,
+ destination_port varchar(32) DEFAULT NULL,
+ brand_name varchar(32) DEFAULT NULL,
+ vin varchar(32) DEFAULT NULL,
+ create_time timestamp(3) default ('now'::text)::timestamp(0) with time zone,
+ update_time timestamp(3) default ('now'::text)::timestamp(0) with time zone,
+ is_del integer DEFAULT 0,
+ CONSTRAINT applet_appointment_detail_pkey PRIMARY KEY (id)
+);
+COMMENT ON COLUMN applet_appointment_detail.id IS '预约详细id';
+COMMENT ON COLUMN applet_appointment_detail.appointment_id IS '预约id';
+COMMENT ON COLUMN applet_appointment_detail.ship_name IS '船名';//
+COMMENT ON COLUMN applet_appointment_detail.voy_number IS '航次号';
+COMMENT ON COLUMN applet_appointment_detail.destination_port IS '目的港';//
+COMMENT ON COLUMN applet_appointment_detail.brand_name IS '品牌/名称';//
+COMMENT ON COLUMN applet_appointment_detail.vin IS '车架号';//
+COMMENT ON COLUMN applet_appointment_detail.create_time IS '创建时间';
+COMMENT ON COLUMN applet_appointment_detail.update_time IS '更新时间';
+COMMENT ON COLUMN applet_appointment_detail.is_del IS '是否软删除';
+
+
+--6-(签到/完成)打卡信息
+CREATE TABLE IF NOT EXISTS public.applet_punch_clock(
+ id serial,
+ users_id integer DEFAULT NULL,
+ appointment_id integer DEFAULT NULL,
+ biz_type integer DEFAULT NULL,
+ queue_number varchar(16),
+ --approach_date date DEFAULT NULL,
+ punch_start_time time DEFAULT NULL,
+ punch_over_time time DEFAULT NULL,
+ port_area_id integer DEFAULT NULL,
+ punch_address varchar(256) DEFAULT NULL,
+ over_address varchar(256) DEFAULT NULL,
+ punch_clock_type integer,
+ punch_clock_poi varchar(64) DEFAULT NULL,
+ create_time timestamp(3) default ('now'::text)::timestamp(0) with time zone,
+ update_time timestamp(3) default ('now'::text)::timestamp(0) with time zone,
+ is_del integer DEFAULT 0,
+ CONSTRAINT applet_punch_clock_pkey PRIMARY KEY (id)
+);
+
+COMMENT ON COLUMN applet_punch_clock.id IS '打卡信息id';
+COMMENT ON COLUMN applet_punch_clock.users_id IS '用户id';
+COMMENT ON COLUMN applet_punch_clock.appointment_id IS '预约Id';
+COMMENT ON COLUMN applet_punch_clock.biz_type IS '业务类型(1-全部,2-码头业务,3-整车物流,4-特保区预约)';
+COMMENT ON COLUMN applet_punch_clock.queue_number IS '排队编号';
+--COMMENT ON COLUMN applet_punch_clock.approach_date IS '打卡日期';
+COMMENT ON COLUMN applet_punch_clock.start_time IS '签到日期时间';
+COMMENT ON COLUMN applet_punch_clock.punch_over_time IS '完成日期时间';
+COMMENT ON COLUMN applet_punch_clock.port_area_id IS '打卡港区(ID)';
+COMMENT ON COLUMN applet_punch_clock.punch_address IS '签到打卡地点';
+COMMENT ON COLUMN applet_punch_clock.over_address IS '完成打卡地点';
+COMMENT ON COLUMN applet_punch_clock.punch_clock_type IS '打卡类别(1-签到,2-已进港,3-操作中,4-已完成,5-已离港)';
+COMMENT ON COLUMN applet_punch_clock.punch_clock_poi IS '打卡(位置坐标){"1":poi2,"2",poi2}';
+COMMENT ON COLUMN applet_punch_clock.create_time IS '创建时间';
+COMMENT ON COLUMN applet_punch_clock.update_time IS '更新时间';
+COMMENT ON COLUMN applet_punch_clock.is_del IS '是否软删除';
+
+
+--7-收车信息
+CREATE TABLE IF NOT EXISTS public.applet_receiving_vehicle(
+ id serial,
+ users_id integer DEFAULT NULL,
+ ship_name varchar(64) DEFAULT NULL,
+ voy_number varchar(64) DEFAULT NULL,
+ complete_project_time timestamp(0) DEFAULT NULL,
+ task_number varchar(32) DEFAULT NULL,
+ transport_type varchar(64) DEFAULT NULL,
+ truck_number varchar(32) DEFAULT NULL,
+ enter_port_area varchar(32) DEFAULT NULL,
+ enter_port_time timestamp(0) DEFAULT NULL,
+ operation_team varchar(16) DEFAULT NULL,
+ goods_info text DEFAULT NULL,
+ vehicle_frame_data varchar(2048) DEFAULT NULL,
+ receiving_state integer DEFAULT 0,
+ create_time timestamp(3) default ('now'::text)::timestamp(0) with time zone,
+ update_time timestamp(3) default ('now'::text)::timestamp(0) with time zone,
+ is_del integer DEFAULT 0,
+ CONSTRAINT applet_receiving_vehicle_pkey PRIMARY KEY (id)
+);
+COMMENT ON COLUMN applet_receiving_vehicle.id IS '收车信息id';
+COMMENT ON COLUMN applet_receiving_vehicle.users_id IS '用户id';
+COMMENT ON COLUMN applet_receiving_vehicle.ship_name IS '船名';
+COMMENT ON COLUMN applet_receiving_vehicle.voy_number IS '航次';
+COMMENT ON COLUMN applet_receiving_vehicle.complete_project_time IS '完工日期时间';
+COMMENT ON COLUMN applet_receiving_vehicle.task_number IS '作业编号';
+COMMENT ON COLUMN applet_receiving_vehicle.transport_type IS '运输方式';
+COMMENT ON COLUMN applet_receiving_vehicle.truck_number IS '车牌号(板车号)';
+COMMENT ON COLUMN applet_receiving_vehicle.enter_port_area IS '进港港区';
+COMMENT ON COLUMN applet_receiving_vehicle.enter_port_time IS '进港日期时间';
+COMMENT ON COLUMN applet_receiving_vehicle.operation_team IS '作业工班';
+COMMENT ON COLUMN applet_receiving_vehicle.goods_info IS '货物信息(type:vehicle/others,
+vehicle{品牌/型号/车型/数量/港口或国家/车辆类型/卸货方式:港区作业或客户自提,Json数据},
+others{货名/长/宽/高/重量/数量/港口、国家/卸货方式(港区作业/客户自卸)的Json数据})';
+COMMENT ON COLUMN applet_receiving_vehicle.vehicle_frame_data IS '车架号数据([品牌,车架号]的Json数据)';
+COMMENT ON COLUMN applet_receiving_vehicle.receiving_state IS '收车状态(0-默认,未收车,1-已收车,2-已核对)';
+COMMENT ON COLUMN applet_receiving_vehicle.create_time IS '创建时间';
+COMMENT ON COLUMN applet_receiving_vehicle.update_time IS '更新时间';
+COMMENT ON COLUMN applet_receiving_vehicle.is_del IS '是否软删除';
+
+
+--8-发车信息
+CREATE TABLE IF NOT EXISTS public.applet_departure_vehicle(
+ id serial,
+ users_id integer DEFAULT NULL,
+ ship_name varchar(64) DEFAULT NULL,
+ voy_number varchar(64) DEFAULT NULL,
+ complete_project_time timestamp(0) DEFAULT NULL,
+ task_number varchar(32) DEFAULT NULL,
+ truck_number varchar(32) DEFAULT NULL,
+ receiving_unit varchar(64) DEFAULT NULL,
+ lading_no varchar(64) DEFAULT NULL,
+ customs_clearance_nature varchar(32) DEFAULT NULL,
+ customs_declaration_no varchar(32) DEFAULT NULL,
+ vehicle_frame_data varchar(1024) DEFAULT NULL,
+ goods_name varchar(32) DEFAULT NULL,
+ goods_Quantity integer,
+ certificate_Preparation_date timestamp(0) DEFAULT NULL,
+ liberator varchar(32) DEFAULT NULL,
+ signee varchar(32) DEFAULT NULL,
+ remarks varchar(256) DEFAULT NULL,
+ departure_state integer default 0,
+ create_time timestamp(3) default ('now'::text)::timestamp(0) with time zone,
+ update_time timestamp(3) default ('now'::text)::timestamp(0) with time zone,
+ is_del integer DEFAULT 0,
+ CONSTRAINT applet_departure_vehicle_pkey PRIMARY KEY (id)
+);
+COMMENT ON COLUMN applet_departure_vehicle.id IS '发车信息Id';
+COMMENT ON COLUMN applet_departure_vehicle.users_id IS '用户id';
+COMMENT ON COLUMN applet_departure_vehicle.ship_name IS '船名';
+COMMENT ON COLUMN applet_departure_vehicle.voy_number IS '航次';
+COMMENT ON COLUMN applet_departure_vehicle.complete_project_time IS '完工日期时间';
+COMMENT ON COLUMN applet_departure_vehicle.task_number IS '作业编号';
+COMMENT ON COLUMN applet_departure_vehicle.truck_number IS '车牌号(板车号)';
+COMMENT ON COLUMN applet_departure_vehicle.receiving_unit IS '收货单位';
+COMMENT ON COLUMN applet_departure_vehicle.lading_no IS '提单号';
+COMMENT ON COLUMN applet_departure_vehicle.customs_clearance_nature IS '通关性质';
+COMMENT ON COLUMN applet_departure_vehicle.customs_declaration_no IS '报关单号';
+COMMENT ON COLUMN applet_departure_vehicle.vehicle_frame_data IS '车架号';
+COMMENT ON COLUMN applet_departure_vehicle.goods_name IS '货名';
+COMMENT ON COLUMN applet_departure_vehicle.goods_Quantity IS '件数';
+COMMENT ON COLUMN applet_departure_vehicle.certificate_Preparation_date IS '制证日期';
+COMMENT ON COLUMN applet_departure_vehicle.liberator IS '放行者';
+COMMENT ON COLUMN applet_departure_vehicle.signee IS '签收者';
+COMMENT ON COLUMN applet_departure_vehicle.remarks IS '备注';
+COMMENT ON COLUMN applet_departure_vehicle.departure_state IS '发车状态(0-默认,未发车,1-已收车,2-已核对)';
+COMMENT ON COLUMN applet_departure_vehicle.create_time IS '创建时间';
+COMMENT ON COLUMN applet_departure_vehicle.update_time IS '更新时间';
+COMMENT ON COLUMN applet_departure_vehicle.is_del IS '是否软删除';
+
+
+--9-意见反馈
+CREATE TABLE IF NOT EXISTS public.applet_feedback(
+ id serial,
+ users_id integer DEFAULT NULL,
+ nike_name varchar(32) DEFAULT NULL,
+ feedback_info varchar(1024) DEFAULT NULL,
+ pictures varchar(256) DEFAULT NULL,
+ tel_number varchar(64) DEFAULT NULL,
+ contact_info varchar(64) DEFAULT NULL,
+ create_time timestamp(3) default ('now'::text)::timestamp(0) with time zone,
+ update_time timestamp(3) default ('now'::text)::timestamp(0) with time zone,
+ is_del integer DEFAULT 0,
+ CONSTRAINT feedback_pkey PRIMARY KEY (id)
+);
+COMMENT ON COLUMN applet_feedback.id IS '意见反馈id';
+COMMENT ON COLUMN applet_feedback.users_id IS '用户id';
+COMMENT ON COLUMN applet_feedback.nike_name IS '昵称';
+COMMENT ON COLUMN applet_feedback.feedback_info IS '意见(限500字)';
+COMMENT ON COLUMN applet_feedback.pictures IS '图片文件名集合,逗号分隔';
+COMMENT ON COLUMN applet_feedback.tel_number IS '联系电话';
+COMMENT ON COLUMN applet_feedback.contact_info IS '联系方式(微信号/qq/邮箱)';
+COMMENT ON COLUMN applet_feedback.create_time IS '创建时间';
+COMMENT ON COLUMN applet_feedback.update_time IS '更新时间';
+COMMENT ON COLUMN applet_feedback.is_del IS '是否软删除';
+
+
+--10-新手攻略(小程序/客服平台/生产APP操作指南)
+CREATE TABLE IF NOT EXISTS public.applet_novice_introduction(
+ id serial,
+ sort integer DEFAULT NULL,
+ title varchar(64) DEFAULT NULL,
+ content text DEFAULT NULL,
+ sequence_number int DEFAULT NULL,
+ create_time timestamp(3) default ('now'::text)::timestamp(0) with time zone,
+ update_time timestamp(3) default ('now'::text)::timestamp(0) with time zone,
+ is_del integer DEFAULT 0,
+ CONSTRAINT novice_introduction_pkey PRIMARY KEY (id)
+);
+COMMENT ON COLUMN applet_novice_introduction.id IS '攻略_id';
+COMMENT ON COLUMN applet_novice_introduction.sort IS '类别(1-小程序,2-客服平台,3-生产APP)';
+COMMENT ON COLUMN applet_novice_introduction.title IS '小标题';
+COMMENT ON COLUMN applet_novice_introduction.content IS '内容(html文本,允许包含图片标签)';
+COMMENT ON COLUMN applet_novice_introduction.sequence_number IS '顺序号';
+COMMENT ON COLUMN applet_novice_introduction.create_time IS '创建时间';
+COMMENT ON COLUMN applet_novice_introduction.update_time IS '更新时间';
+COMMENT ON COLUMN applet_novice_introduction.is_del IS '是否软删除';
+
+
+--11-运输方式
+CREATE TABLE IF NOT EXISTS public.applet_transport_types(
+ id serial,
+ transport_type_name varchar(64) DEFAULT NULL,
+ transport_type varchar(64) DEFAULT NULL,
+ sequence_number int DEFAULT NULL,
+ create_time timestamp(3) default ('now'::text)::timestamp(0) with time zone,
+ update_time timestamp(3) default ('now'::text)::timestamp(0) with time zone,
+ is_del integer DEFAULT 0,
+ CONSTRAINT transport_types_pkey PRIMARY KEY (id)
+);
+COMMENT ON COLUMN applet_transport_types.id IS '运输方式id';
+COMMENT ON COLUMN applet_transport_types.transport_type_name IS '运输方式名称(板车运输/自开)';
+COMMENT ON COLUMN applet_transport_types.transport_type IS '运输方式';
+COMMENT ON COLUMN applet_transport_types.sequence_number IS '顺序号';
+COMMENT ON COLUMN applet_transport_types.create_time IS '创建时间';
+COMMENT ON COLUMN applet_transport_types.update_time IS '更新时间';
+COMMENT ON COLUMN applet_transport_types.is_del IS '是否软删除';
+
+
+--12-港区
+CREATE TABLE IF NOT EXISTS public.applet_port_areas(
+ id serial,
+ port_area varchar(64) DEFAULT NULL,
+ area_center_poi varchar(32) DEFAULT NULL,
+ punch_range integer DEFAULT NULL,
+ sequence_number int DEFAULT NULL,
+ create_time timestamp(3) default ('now'::text)::timestamp(0) with time zone,
+ update_time timestamp(3) default ('now'::text)::timestamp(0) with time zone,
+ is_del integer DEFAULT 0,
+ CONSTRAINT port_areas_pkey PRIMARY KEY (id)
+);
+COMMENT ON COLUMN applet_port_areas.id IS '港区id';
+COMMENT ON COLUMN applet_port_areas.port_area IS '港区名';
+COMMENT ON COLUMN applet_port_areas.area_center_poi IS '港区坐标';
+COMMENT ON COLUMN applet_port_areas.punch_range IS '打卡范围(距离港区中心坐标的半径,米)';
+COMMENT ON COLUMN applet_port_areas.sequence_number IS '顺序号';
+COMMENT ON COLUMN applet_port_areas.create_time IS '创建时间';
+COMMENT ON COLUMN applet_port_areas.update_time IS '更新时间';
+COMMENT ON COLUMN applet_port_areas.is_del IS '是否软删除';
+
+
+--13-作业工班
+CREATE TABLE IF NOT EXISTS public.applet_operation_teams(
+ id serial,
+ operation_team varchar(64) DEFAULT NULL,
+ sequence_number int DEFAULT NULL,
+ create_time timestamp(3) default ('now'::text)::timestamp(0) with time zone,
+ update_time timestamp(3) default ('now'::text)::timestamp(0) with time zone,
+ is_del integer DEFAULT 0,
+ CONSTRAINT operation_teams_pkey PRIMARY KEY (id)
+);
+COMMENT ON COLUMN applet_operation_teams.id IS '作业工班id';
+COMMENT ON COLUMN applet_operation_teams.operation_team IS '作业工班';
+COMMENT ON COLUMN applet_operation_teams.sequence_number IS '顺序号';
+COMMENT ON COLUMN applet_operation_teams.create_time IS '创建时间';
+COMMENT ON COLUMN applet_operation_teams.update_time IS '更新时间';
+COMMENT ON COLUMN applet_operation_teams.is_del IS '是否软删除';
+
+
+--14-车辆管理
+CREATE TABLE IF NOT EXISTS public.applet_truck_management(
+ id serial,
+ users_id integer DEFAULT NULL,
+ truck_number varchar(32) DEFAULT NULL,
+ cause varchar(256) DEFAULT NULL,
+ drivers_name varchar(32) DEFAULT NULL,
+ drivers_phone varchar(32) DEFAULT NULL,
+ administrators_name varchar(32) DEFAULT NULL,
+ administrators_phone varchar(32) DEFAULT NULL,
+ enter_time timestamp(0) DEFAULT NULL,
+ create_time timestamp(3) default ('now'::text)::timestamp(0) with time zone,
+ update_time timestamp(3) default ('now'::text)::timestamp(0) with time zone,
+ is_del integer DEFAULT 0,
+ CONSTRAINT applet_truck_management_pkey PRIMARY KEY (id)
+);
+COMMENT ON COLUMN applet_truck_management.id IS '车辆管理id';
+COMMENT ON COLUMN applet_truck_management.users_id IS '用户id';
+COMMENT ON COLUMN applet_truck_management.truck_number IS '(加入黑名单的)车牌号';
+COMMENT ON COLUMN applet_truck_management.cause IS '原因';
+COMMENT ON COLUMN applet_truck_management.drivers_name IS '司机姓名';
+COMMENT ON COLUMN applet_truck_management.drivers_phone IS '司机电话';
+COMMENT ON COLUMN applet_truck_management.administrators_name IS '管理员姓名';
+COMMENT ON COLUMN applet_truck_management.administrators_phone IS '管理员电话';
+COMMENT ON COLUMN applet_truck_management.enter_time IS '加入黑名单时间';
+COMMENT ON COLUMN applet_truck_management.create_time IS '创建时间';
+COMMENT ON COLUMN applet_truck_management.update_time IS '更新时间';
+COMMENT ON COLUMN applet_truck_management.is_del IS '是否软删除';
+
+
+--15-货物类型
+CREATE TABLE IF NOT EXISTS public.applet_goods_types(
+ id serial,
+ goods_type_name varchar(64) DEFAULT NULL,
+ goods_type integer DEFAULT NULL,
+ sequence_number integer,
+ create_time timestamp(3) default ('now'::text)::timestamp(0) with time zone,
+ update_time timestamp(3) default ('now'::text)::timestamp(0) with time zone,
+ is_del integer DEFAULT 0,
+ CONSTRAINT goods_types_pkey PRIMARY KEY (id)
+);
+COMMENT ON COLUMN applet_goods_types.id IS '货物类型id';
+COMMENT ON COLUMN applet_goods_types.goods_type_name IS '货物类型(1-商品车/2-设备/3-其他...)';
+COMMENT ON COLUMN applet_goods_types.goods_type IS '货物类型(1-商品车/2-设备/3-其他...)';
+COMMENT ON COLUMN applet_goods_types.sequence_number IS '顺序号';
+COMMENT ON COLUMN applet_goods_types.create_time IS '创建时间';
+COMMENT ON COLUMN applet_goods_types.update_time IS '更新时间';
+COMMENT ON COLUMN applet_goods_types.is_del IS '是否软删除';
+
+
+--16-进港类型
+CREATE TABLE IF NOT EXISTS public.applet_enter_type(
+ id serial,
+ enter_port_type_name varchar(32) DEFAULT NULL,
+ enter_port_type integer DEFAULT NULL,
+ sequence_number integer,
+ create_time timestamp(3) default ('now'::text)::timestamp(0) with time zone,
+ update_time timestamp(3) default ('now'::text)::timestamp(0) with time zone,
+ is_del integer DEFAULT 0,
+ CONSTRAINT applet_enter_types_pkey PRIMARY KEY (id)
+);
+COMMENT ON COLUMN applet_enter_type.id IS '进港类型id';
+COMMENT ON COLUMN applet_enter_type.enter_port_type_name IS '进港类型名称(1-外贸出口/2-内贸出口/3-外贸进口/4-内贸进口/5-特保区出口/6-特保区进口...)';
+COMMENT ON COLUMN applet_enter_type.enter_port_type IS '进港类型(1/2/3/4/5/6/...)';
+COMMENT ON COLUMN applet_enter_type.sequence_number IS '顺序号';
+COMMENT ON COLUMN applet_enter_type.create_time IS '创建时间';
+COMMENT ON COLUMN applet_enter_type.update_time IS '更新时间';
+COMMENT ON COLUMN applet_enter_type.is_del IS '是否软删除';
+
+
+--17-船名航次
+CREATE TABLE IF NOT EXISTS public.applet_ship_voy(
+ id serial,
+ ship_name varchar(32) DEFAULT NULL,
+ voy_number varchar(32) DEFAULT NULL,
+ create_time timestamp(3) default ('now'::text)::timestamp(0) with time zone,
+ update_time timestamp(3) default ('now'::text)::timestamp(0) with time zone,
+ is_del integer DEFAULT 0,
+ CONSTRAINT applet_ship_voy_pkey PRIMARY KEY (id)
+);
+COMMENT ON COLUMN applet_ship_voy.id IS '船名航次id';
+COMMENT ON COLUMN applet_ship_voy.ship_name IS '船名';
+COMMENT ON COLUMN applet_ship_voy.voy_number IS '航次编号';
+COMMENT ON COLUMN applet_ship_voy.create_time IS '创建时间';
+COMMENT ON COLUMN applet_ship_voy.update_time IS '更新时间';
+COMMENT ON COLUMN applet_ship_voy.is_del IS '是否软删除';
+
+
+--18-(运抵)港口
+CREATE TABLE IF NOT EXISTS public.applet_port(
+ id serial,
+ ship_voy_id integer DEFAULT NULL,
+ port_name varchar(64) DEFAULT NULL,
+ sequence_number int DEFAULT NULL,
+ create_time timestamp(3) default ('now'::text)::timestamp(0) with time zone,
+ update_time timestamp(3) default ('now'::text)::timestamp(0) with time zone,
+ is_del integer DEFAULT 0,
+ CONSTRAINT ports_pkey PRIMARY KEY (id)
+);
+COMMENT ON COLUMN applet_port.id IS '港口id';
+COMMENT ON COLUMN applet_port.ship_voy_id IS '船名航次id';
+COMMENT ON COLUMN applet_port.port_name IS '港口名称';
+COMMENT ON COLUMN applet_port.sequence_number IS '顺序号';
+COMMENT ON COLUMN applet_port.create_time IS '创建时间';
+COMMENT ON COLUMN applet_port.update_time IS '更新时间';
+COMMENT ON COLUMN applet_port.is_del IS '是否软删除';
+
+
+--19-商品车品牌
+CREATE TABLE IF NOT EXISTS public.applet_brand(
+ id serial,
+ ship_voy_id integer DEFAULT NULL,
+ brand varchar(64) DEFAULT NULL,
+ sequence_number int DEFAULT NULL,
+ create_time timestamp(3) default ('now'::text)::timestamp(0) with time zone,
+ update_time timestamp(3) default ('now'::text)::timestamp(0) with time zone,
+ is_del integer DEFAULT 0,
+ CONSTRAINT applet_brand_pkey PRIMARY KEY (id)
+);
+COMMENT ON COLUMN applet_brand.id IS '品牌id';
+COMMENT ON COLUMN applet_brand.ship_voy_id IS '船名航次id';
+COMMENT ON COLUMN applet_brand.brand IS '品牌名称';
+COMMENT ON COLUMN applet_brand.sequence_number IS '顺序号';
+COMMENT ON COLUMN applet_brand.create_time IS '创建时间';
+COMMENT ON COLUMN applet_brand.update_time IS '更新时间';
+COMMENT ON COLUMN applet_brand.is_del IS '是否软删除';
+
+
+--20-进港指令
+CREATE TABLE IF NOT EXISTS public.applet_entry_instruct(
+ id serial,
+ appointment_id integer DEFAULT NULL,
+ users_id integer DEFAULT NULL,
+ users_name varchar(32) DEFAULT NULL,
+ truck_number varchar(32) DEFAULT NULL,
+ yard_name varchar(32) DEFAULT NULL,
+ create_time timestamp(3) default ('now'::text)::timestamp(0) with time zone,
+ update_time timestamp(3) default ('now'::text)::timestamp(0) with time zone,
+ is_del integer DEFAULT 0,
+ CONSTRAINT applet_entry_instruct_pkey PRIMARY KEY (id)
+);
+COMMENT ON COLUMN applet_entry_instruct.id IS '进港指令id';
+COMMENT ON COLUMN applet_entry_instruct.appointment_id IS '预约id';
+COMMENT ON COLUMN applet_entry_instruct.users_id IS '司机id';
+COMMENT ON COLUMN applet_entry_instruct.users_name IS '司机姓名';
+COMMENT ON COLUMN applet_entry_instruct.truck_number IS '车牌号';
+COMMENT ON COLUMN applet_entry_instruct.yard_name IS '堆场';
+COMMENT ON COLUMN applet_entry_instruct.create_time IS '创建时间';
+COMMENT ON COLUMN applet_entry_instruct.update_time IS '更新时间';
+COMMENT ON COLUMN applet_entry_instruct.is_del IS '是否软删除';
+
+
+--21-服务配置
+CREATE TABLE IF NOT EXISTS public.applet_service_config(
+ id serial,
+ config_name varchar(32) default null,
+ config_code varchar(32) default null,
+ config_content varchar(256) default null,
+ create_time timestamp(3) default ('now'::text)::timestamp(0) with time zone,
+ update_time timestamp(3) default ('now'::text)::timestamp(0) with time zone,
+ is_del integer DEFAULT 0,
+ CONSTRAINT applet_service_config_pkey PRIMARY KEY (id)
+);
+COMMENT ON COLUMN applet_service_config.id IS '自增id';
+COMMENT ON COLUMN applet_service_config.config_name IS '配置名称(系统服务地址,图片文件存储路径,图片访问路径,小程序appid,小程序密钥secret)';
+COMMENT ON COLUMN applet_service_config.config_code IS '配置代码(100-系统服务地址,200-图片文件存储路径,300-图片访问路径,400-小程序appid,500-小程序密钥secret)';
+COMMENT ON COLUMN applet_service_config.config_content IS '配置信息(文本)';
+COMMENT ON COLUMN applet_service_config.create_time IS '创建时间';
+COMMENT ON COLUMN applet_service_config.update_time IS '更新时间';
+COMMENT ON COLUMN applet_service_config.is_del IS '是否软删除';
+
+--22-请求第三方接口
+CREATE TABLE IF NOT EXISTS public.applet_requester(
+ id serial,
+ url varchar(256) default null,
+ param_map varchar(256) default null,
+ request_type integer default null,
+ type_description varchar(32) default null,
+ create_time timestamp(3) default ('now'::text)::timestamp(0) with time zone,
+ update_time timestamp(3) default ('now'::text)::timestamp(0) with time zone,
+ is_del integer DEFAULT 0,
+ CONSTRAINT applet_requester_pkey PRIMARY KEY (id)
+);
+COMMENT ON COLUMN applet_requester.id IS '自增id';
+COMMENT ON COLUMN applet_requester.url IS 'url(请求服务地址)';
+COMMENT ON COLUMN applet_requester.param_map IS '请求参数(值为空时,需要依赖实参传值。如小程序登录参数:{"appid":"","code":"","secret":"","grant_type":"authorization_code"})';
+COMMENT ON COLUMN applet_requester.request_type IS '请求类型(1001-1999)';
+COMMENT ON COLUMN applet_requester.type_description IS '类别说明';
+COMMENT ON COLUMN applet_requester.create_time IS '创建时间';
+COMMENT ON COLUMN applet_requester.update_time IS '更新时间';
+COMMENT ON COLUMN applet_requester.is_del IS '是否软删除';
+
+--23-用户登录日志
+CREATE TABLE IF NOT EXISTS public.applet_login_log(
+ id serial,
+ wx_nike varchar(32),
+ wx_openid varchar(32) DEFAULT NULL,
+ login_time timestamp default null,
+ ip varchar(32) default null,
+ area varchar(32) default null,
+ create_time timestamp(3) default ('now'::text)::timestamp(0) with time zone,
+ update_time timestamp(3) default ('now'::text)::timestamp(0) with time zone,
+ is_del integer DEFAULT 0,
+ CONSTRAINT applet_login_log_pkey PRIMARY KEY (id)
+);
+COMMENT ON COLUMN applet_login_log.id IS '自增id';
+COMMENT ON COLUMN applet_login_log.wx_nike IS '微信昵称';
+COMMENT ON COLUMN applet_login_log.wx_openid IS '微信openid';
+COMMENT ON COLUMN applet_login_log.login_time IS '登录时间';
+COMMENT ON COLUMN applet_login_log.ip IS 'ip地址';
+COMMENT ON COLUMN applet_login_log.area IS '地区(省市)';
+COMMENT ON COLUMN applet_login_log.create_time IS '创建时间';
+COMMENT ON COLUMN applet_login_log.update_time IS '更新时间';
+COMMENT ON COLUMN applet_login_log.is_del IS '是否软删除';
+
+--24-自定义表头
+CREATE TABLE IF NOT EXISTS public.applet_tb_head(
+ id serial,
+ table_name varchar(32),
+ table_code varchar(32) default null,
+ head_jason varchar(512) default null,
+ create_time timestamp(3) default ('now'::text)::timestamp(0) with time zone,
+ update_time timestamp(3) default ('now'::text)::timestamp(0) with time zone,
+ is_del integer DEFAULT 0,
+ CONSTRAINT applet_tb_head PRIMARY KEY (id)
+);
+COMMENT ON COLUMN applet_tb_head.id IS '自增id';
+COMMENT ON COLUMN applet_tb_head.table_name IS '表名';
+COMMENT ON COLUMN applet_tb_head.table_code IS '标识代码';
+COMMENT ON COLUMN applet_tb_head.head_jason IS '表头Json';
+COMMENT ON COLUMN applet_tb_head.create_time IS '创建时间';
+COMMENT ON COLUMN applet_tb_head.update_time IS '更新时间';
+COMMENT ON COLUMN applet_tb_head.is_del IS '是否软删除';
+
+
+--25--消息表
+CREATE TABLE IF NOT EXISTS public.applet_message(
+ id varchar(32),
+ type integer DEFAULT NULL,
+ type_content varchar(256)DEFAULT NULL,
+ truck_number varchar(32) DEFAULT NULL,
+ is_read integer DEFAULT NULL,
+ create_time timestamp(3) default ('now'::text)::timestamp(0) with time zone,
+ update_time timestamp(3) default ('now'::text)::timestamp(0) with time zone,
+ is_del integer DEFAULT 0
+);
+COMMENT ON COLUMN applet_message.id IS 'id';
+COMMENT ON COLUMN applet_message.type IS '1-收车 2-提车';
+COMMENT ON COLUMN applet_message.type_content IS '1-收车 2-提车';
+COMMENT ON COLUMN applet_message.truck_number IS '板车号';
+COMMENT ON COLUMN applet_message.is_read IS '0-未读 1-已读';
+COMMENT ON COLUMN applet_message.create_time IS '创建时间';
+COMMENT ON COLUMN applet_message.update_time IS '更新时间';
+COMMENT ON COLUMN applet_message.is_del IS '是否软删除';
\ No newline at end of file
diff --git a/mapper/target/classes/static/tableUpdate.txt b/mapper/target/classes/static/tableUpdate.txt
new file mode 100644
index 0000000..448095d
--- /dev/null
+++ b/mapper/target/classes/static/tableUpdate.txt
@@ -0,0 +1,3 @@
+-+1. 预约表applet_appointment head_frame_number 修改为 truck_vin
+2. 预约表applet_punch_clock start_time 数据类型time 改为datetime
+ over_time 数据类型time 改为datetime
diff --git a/mapper/target/mapper-1.0-SNAPSHOT.jar b/mapper/target/mapper-1.0-SNAPSHOT.jar
new file mode 100644
index 0000000..ba7247c
Binary files /dev/null and b/mapper/target/mapper-1.0-SNAPSHOT.jar differ
diff --git a/mapper/target/maven-archiver/pom.properties b/mapper/target/maven-archiver/pom.properties
new file mode 100644
index 0000000..ce41af5
--- /dev/null
+++ b/mapper/target/maven-archiver/pom.properties
@@ -0,0 +1,5 @@
+#Generated by Maven
+#Thu May 30 17:32:30 CST 2024
+version=1.0-SNAPSHOT
+groupId=org.example
+artifactId=mapper
diff --git a/mapper/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/mapper/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
new file mode 100644
index 0000000..921cbcb
--- /dev/null
+++ b/mapper/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
@@ -0,0 +1,33 @@
+com\haitongauto\mapper\client\TruckExtendMapper.class
+com\haitongauto\mapper\base\LoginLogMapper.class
+com\haitongauto\mapper\base\PunchClockMapper.class
+com\haitongauto\mapper\base\RequesterMapper.class
+com\haitongauto\mapper\base\AppointmentDetailMapper.class
+com\haitongauto\mapper\base\ReceivingDetailMapper.class
+com\haitongauto\mapper\base\TruckManagementMapper.class
+com\haitongauto\mapper\base\ServiceConfigMapper.class
+com\haitongauto\mapper\base\PortAreasMapper.class
+com\haitongauto\mapper\base\NoviceIntroductionMapper.class
+com\haitongauto\mapper\base\ReceivingVehicleMapper.class
+com\haitongauto\mapper\client\OtherExtendMapper.class
+com\haitongauto\mapper\base\FeedbackMapper.class
+com\haitongauto\mapper\base\DepartureDetailMapper.class
+com\haitongauto\mapper\base\TableHeadMapper.class
+com\haitongauto\mapper\admin\AnnouncementAdminMapper.class
+com\haitongauto\mapper\base\EntryInstructMapper.class
+com\haitongauto\mapper\base\DepartureVehicleMapper.class
+com\haitongauto\mapper\admin\UsersAdminMapper.class
+com\haitongauto\mapper\admin\FeedbackAdminMapper.class
+com\haitongauto\mapper\base\UsersMapper.class
+com\haitongauto\mapper\admin\StatisticsAdminMapper.class
+com\haitongauto\mapper\base\TruckMapper.class
+com\haitongauto\mapper\client\PunchClockExtendMapper.class
+com\haitongauto\mapper\base\AnnouncementMapper.class
+com\haitongauto\mapper\client\AppointmentExtendMapper.class
+com\haitongauto\mapper\admin\PunchClockAdminMapper.class
+com\haitongauto\mapper\base\AppointmentMapper.class
+com\haitongauto\mapper\admin\NoviceIntroductionAdminMapper.class
+com\haitongauto\mapper\base\MessageMapper.class
+com\haitongauto\mapper\admin\AppointmentAdminMapper.class
+com\haitongauto\mapper\base\DicMapper.class
+com\haitongauto\mapper\base\DataBaseMapper.class
diff --git a/mapper/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/mapper/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
new file mode 100644
index 0000000..19ca7c2
--- /dev/null
+++ b/mapper/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
@@ -0,0 +1,33 @@
+F:\Codes\rtos\v4\mini-service-v4\mapper\src\main\java\com\haitongauto\mapper\base\EntryInstructMapper.java
+F:\Codes\rtos\v4\mini-service-v4\mapper\src\main\java\com\haitongauto\mapper\client\AppointmentExtendMapper.java
+F:\Codes\rtos\v4\mini-service-v4\mapper\src\main\java\com\haitongauto\mapper\admin\UsersAdminMapper.java
+F:\Codes\rtos\v4\mini-service-v4\mapper\src\main\java\com\haitongauto\mapper\base\FeedbackMapper.java
+F:\Codes\rtos\v4\mini-service-v4\mapper\src\main\java\com\haitongauto\mapper\client\PunchClockExtendMapper.java
+F:\Codes\rtos\v4\mini-service-v4\mapper\src\main\java\com\haitongauto\mapper\base\TruckManagementMapper.java
+F:\Codes\rtos\v4\mini-service-v4\mapper\src\main\java\com\haitongauto\mapper\base\ServiceConfigMapper.java
+F:\Codes\rtos\v4\mini-service-v4\mapper\src\main\java\com\haitongauto\mapper\base\MessageMapper.java
+F:\Codes\rtos\v4\mini-service-v4\mapper\src\main\java\com\haitongauto\mapper\base\NoviceIntroductionMapper.java
+F:\Codes\rtos\v4\mini-service-v4\mapper\src\main\java\com\haitongauto\mapper\base\PortAreasMapper.java
+F:\Codes\rtos\v4\mini-service-v4\mapper\src\main\java\com\haitongauto\mapper\base\DicMapper.java
+F:\Codes\rtos\v4\mini-service-v4\mapper\src\main\java\com\haitongauto\mapper\base\ReceivingDetailMapper.java
+F:\Codes\rtos\v4\mini-service-v4\mapper\src\main\java\com\haitongauto\mapper\base\UsersMapper.java
+F:\Codes\rtos\v4\mini-service-v4\mapper\src\main\java\com\haitongauto\mapper\base\TruckMapper.java
+F:\Codes\rtos\v4\mini-service-v4\mapper\src\main\java\com\haitongauto\mapper\base\DepartureVehicleMapper.java
+F:\Codes\rtos\v4\mini-service-v4\mapper\src\main\java\com\haitongauto\mapper\base\PunchClockMapper.java
+F:\Codes\rtos\v4\mini-service-v4\mapper\src\main\java\com\haitongauto\mapper\base\LoginLogMapper.java
+F:\Codes\rtos\v4\mini-service-v4\mapper\src\main\java\com\haitongauto\mapper\admin\NoviceIntroductionAdminMapper.java
+F:\Codes\rtos\v4\mini-service-v4\mapper\src\main\java\com\haitongauto\mapper\base\DataBaseMapper.java
+F:\Codes\rtos\v4\mini-service-v4\mapper\src\main\java\com\haitongauto\mapper\admin\AnnouncementAdminMapper.java
+F:\Codes\rtos\v4\mini-service-v4\mapper\src\main\java\com\haitongauto\mapper\base\RequesterMapper.java
+F:\Codes\rtos\v4\mini-service-v4\mapper\src\main\java\com\haitongauto\mapper\admin\FeedbackAdminMapper.java
+F:\Codes\rtos\v4\mini-service-v4\mapper\src\main\java\com\haitongauto\mapper\base\DepartureDetailMapper.java
+F:\Codes\rtos\v4\mini-service-v4\mapper\src\main\java\com\haitongauto\mapper\client\OtherExtendMapper.java
+F:\Codes\rtos\v4\mini-service-v4\mapper\src\main\java\com\haitongauto\mapper\client\TruckExtendMapper.java
+F:\Codes\rtos\v4\mini-service-v4\mapper\src\main\java\com\haitongauto\mapper\base\AnnouncementMapper.java
+F:\Codes\rtos\v4\mini-service-v4\mapper\src\main\java\com\haitongauto\mapper\admin\AppointmentAdminMapper.java
+F:\Codes\rtos\v4\mini-service-v4\mapper\src\main\java\com\haitongauto\mapper\base\AppointmentMapper.java
+F:\Codes\rtos\v4\mini-service-v4\mapper\src\main\java\com\haitongauto\mapper\admin\PunchClockAdminMapper.java
+F:\Codes\rtos\v4\mini-service-v4\mapper\src\main\java\com\haitongauto\mapper\base\AppointmentDetailMapper.java
+F:\Codes\rtos\v4\mini-service-v4\mapper\src\main\java\com\haitongauto\mapper\base\ReceivingVehicleMapper.java
+F:\Codes\rtos\v4\mini-service-v4\mapper\src\main\java\com\haitongauto\mapper\base\TableHeadMapper.java
+F:\Codes\rtos\v4\mini-service-v4\mapper\src\main\java\com\haitongauto\mapper\admin\StatisticsAdminMapper.java
diff --git a/models/models.iml b/models/models.iml
new file mode 100644
index 0000000..c7479b5
--- /dev/null
+++ b/models/models.iml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/models/pom.xml b/models/pom.xml
new file mode 100644
index 0000000..7aeaa2f
--- /dev/null
+++ b/models/pom.xml
@@ -0,0 +1,53 @@
+
+
+
+ rtos-wh
+ org.example
+ 1.0-SNAPSHOT
+
+ 4.0.0
+
+ models
+
+
+ 1.8
+ 1.8
+
+
+
+
+ org.projectlombok
+ lombok
+ 1.18.26
+
+
+ com.alibaba
+ easyexcel
+ 3.2.1
+ compile
+
+
+ com.fasterxml.jackson.core
+ jackson-annotations
+
+
+ com.alibaba
+ fastjson
+ 2.0.40
+ compile
+
+
+ top.jfunc.json
+ Json-Gson
+ 1.0
+
+
+ top.jfunc.json
+ Json-Gson
+ 1.0
+
+
+
+
\ No newline at end of file
diff --git a/models/src/main/java/com/haitongauto/models/dto/AnnouncementsDto.java b/models/src/main/java/com/haitongauto/models/dto/AnnouncementsDto.java
new file mode 100644
index 0000000..8978cde
--- /dev/null
+++ b/models/src/main/java/com/haitongauto/models/dto/AnnouncementsDto.java
@@ -0,0 +1,20 @@
+package com.haitongauto.models.dto;
+
+import lombok.Data;
+
+import java.util.Date;
+@Data
+public class AnnouncementsDto {
+ private String id; //- '公告id';
+ private String title; //- '标题';
+ private Integer sort; //- '类别(1-小程序,2-客服平台)';
+ private String sort_name; //- '类别名称(1-小程序,2-客服平台)';
+ private String abstracts; //-'摘要';
+ private String announcement; //-'公告内容';
+ private String announcement_text;
+ private String author; //-'作者';
+ private Integer reading_volume; //-'阅读量';
+ private String create_time; //-'创建时间';
+ private String update_time; //-'更新时间';
+ private Integer is_del; //-'是否软删除';
+}
diff --git a/models/src/main/java/com/haitongauto/models/dto/AppointmentDto.java b/models/src/main/java/com/haitongauto/models/dto/AppointmentDto.java
new file mode 100644
index 0000000..e46a112
--- /dev/null
+++ b/models/src/main/java/com/haitongauto/models/dto/AppointmentDto.java
@@ -0,0 +1,63 @@
+package com.haitongauto.models.dto;
+
+import lombok.Data;
+import org.apache.poi.hpsf.Decimal;
+
+@Data
+public class AppointmentDto {
+ /** 预约信息id */
+ private String id ;
+ /** 用户id */
+ private String users_id ;
+ /** 运输方式(1-板车运输,2-自开) */
+ private String transport_type ;
+ /** 运输方式名称(1-板车运输,2-自开) */
+ private String transport_type_name ;
+ /** 板车号 */
+ private String truck_number ;
+ /** 身份证号 */
+ private String id_code ;
+ /** 手机号 */
+ private String tel_number ;
+ /** 车头车架号 */
+ private String truck_vin ;
+ /** 板车自重(吨) */
+ private Double vehicle_weight ;
+ /** 车架重(吨) */
+ private Double vehicle_frame_weight ;
+ /** 行驶证编号 */
+ private String driving_license ;
+ /** 预约进场日期 */
+ private String approach_date ;
+ /** 进港港区Id */
+ private String port_area_id ;
+ /** 进港港区名 */
+ private String port_area_name;
+ /** 业务类型(1-全部,2-码头业务,3-整车物流,4-特保区预约)【该字段貌似已取消】 */
+ private String biz_type ;
+ /** 进港类型(1-外贸出口,2-外贸进口,3-整车物流,4-特保区出口,5-特保区进口,6-内贸出口,7-内贸进口) */
+ private String enter_type ;
+ /** 预约类型(1-普通码头预约,2-特保区预约) 新增字段 */
+ private Integer appointment_type ;
+ /** 预约类型名称(1-普通码头预约,2-特保区预约) 新增字段 */
+ private String appointment_type_name ;
+
+ /** 进港类型名(1-外贸出口,2-外贸进口,3-整车物流,4-特保区出口,5-特保区进口,6-内贸出口,7-内贸进口) */
+ private String enter_type_name ;
+ /** 货物类型(1-商品车,2-设备,3-其他) */
+ private String goods_type ;
+ /** 货物类型名(1-商品车,2-设备,3-其他) */
+ private String goods_type_name ;
+ /** 货物数量(件数) */
+ private Integer goods_quantity ;
+ /** 预约打卡状态(1-已预约,2-已签到,3-已完成,4-已取消,9-异常:预期未完成操作的) */
+ private Integer appointment_state ;
+ /** 取消预约时间 */
+ private String cancel_time ;
+ /** 创建时间 */
+ private String create_time ;
+ /** 更新时间 */
+ private String update_time ;
+ /** 是否软删除 */
+ private Integer is_del ;
+}
diff --git a/models/src/main/java/com/haitongauto/models/dto/AppointmentPostDto.java b/models/src/main/java/com/haitongauto/models/dto/AppointmentPostDto.java
new file mode 100644
index 0000000..8f247cb
--- /dev/null
+++ b/models/src/main/java/com/haitongauto/models/dto/AppointmentPostDto.java
@@ -0,0 +1,16 @@
+package com.haitongauto.models.dto;
+import com.haitongauto.models.pojo.Appointment;
+import com.haitongauto.models.pojo.AppointmentDetail;
+import lombok.Data;
+
+import java.util.List;
+
+
+@Data
+public class AppointmentPostDto {
+ private Appointment appointment;
+ //private String appointment;
+
+ private List appointmentDetailList;
+ //private String appointmentDetailList;
+}
diff --git a/models/src/main/java/com/haitongauto/models/dto/AppointmentQuery.java b/models/src/main/java/com/haitongauto/models/dto/AppointmentQuery.java
new file mode 100644
index 0000000..2669204
--- /dev/null
+++ b/models/src/main/java/com/haitongauto/models/dto/AppointmentQuery.java
@@ -0,0 +1,49 @@
+package com.haitongauto.models.dto;
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import lombok.Data;
+
+@Data
+public class AppointmentQuery {
+ //进场预约类型,司机名称,司机手机号,身份证号,板车号,车头车架号,车自重,车架重,行驶证,进港港区,进港类型,运输方式,进场日期,货物类型,货物数量,预约状态,预约时间,操作人
+ @ExcelProperty(value = "预约id")
+ private String appointment_id; //-'预约id';
+ @ExcelProperty(value = "进场预约类型", order = 1)
+ private String appointment_type_content;
+ @ExcelProperty(value = "司机名称", order = 2)
+ private String users_name; //司机名称
+ @ExcelProperty(value = "司机手机号", order = 3)
+ private String tel_number; //-'手机号';
+ @ExcelProperty(value = "身份证号", order = 4)
+ private String id_code; //身份证号码
+ @ExcelProperty(value = "板车号", order = 5)
+ private String truck_number; //-'板车号';
+ @ExcelProperty(value = "车头车架号", order = 6)
+ private String head_frame_number; //-'车头车架号';
+ @ExcelProperty(value = "板车自重" ,order = 7)
+ private Double vehicle_weight; //-'板车自重';
+ @ExcelProperty(value = "车架重",order = 8)
+ private Double vehicle_frame_weight; //-'车架重';
+ @ExcelProperty(value = "行驶证ID",order = 9)
+ private String driving_license_id; //-'行驶证ID';
+ @ExcelProperty(value = "进港港区",order = 10)
+ private String port_area_name; //-'进港港区';
+ @ExcelProperty(value = "进港类型",order = 11)
+ private String enter_type_name; //-'进港类型';
+ @ExcelProperty(value = "运输方式",order = 12)
+ private String transport_type_name; //-'运输方式';
+ @ExcelProperty(value = "进场日期",order = 13)
+ private String approach_date; //-'进场日期';
+ @ExcelProperty(value = "货物类型",order = 14)
+ private String goods_type_name; //-'货物类型(商品车/设备...)';
+ @ExcelProperty(value = "货物数量",order = 15)
+ private Integer goods_Quantity; //-'货物数量(件数)';
+ @ExcelProperty(value = "预约状态值",order = 16)
+ private Integer appointment_state; //-预约状态(1-已预约,2-已签到,3-已进港,5-操作中,6-已完成,7-已离港,4-已取消,9-异常);
+ @ExcelProperty(value = "预约状态",order = 17)
+ private String appointment_state_content; //-预约状态(1-已预约,2-已签到,3-已进港,5-操作中,6-已完成,7-已离港,4-已取消,9-异常);
+ @ExcelProperty(value = "预约时间",order = 18)
+ private String approach_time; //-'预约时间';
+ @ExcelProperty(value = "操作人",order = 19)
+ private String operator; //-' 操作人';
+}
diff --git a/models/src/main/java/com/haitongauto/models/dto/AppointmentQueryExl.java b/models/src/main/java/com/haitongauto/models/dto/AppointmentQueryExl.java
new file mode 100644
index 0000000..fa7d3de
--- /dev/null
+++ b/models/src/main/java/com/haitongauto/models/dto/AppointmentQueryExl.java
@@ -0,0 +1,44 @@
+package com.haitongauto.models.dto;
+import com.alibaba.excel.annotation.ExcelProperty;
+import lombok.Data;
+
+@Data
+public class AppointmentQueryExl {
+ //进场预约类型,司机名称,司机手机号,身份证号,板车号,车头车架号,车自重,车架重,行驶证,进港港区,进港类型,运输方式,进场日期,货物类型,货物数量,预约状态,预约时间,操作人
+ @ExcelProperty(value = "进场预约类型", order = 1)
+ private String appointment_type_content;
+ @ExcelProperty(value = "司机名称", order = 2)
+ private String users_name;
+ @ExcelProperty(value = "司机手机号", order =3)
+ private String tel_number;
+ @ExcelProperty(value = "身份证号", order = 4)
+ private String id_code;
+ @ExcelProperty(value = "板车号", order = 5)
+ private String truck_number;
+ @ExcelProperty(value = "车头车架号", order = 6)
+ private String truck_vin;
+ @ExcelProperty(value = "车自重", order = 7)
+ private Double vehicle_weight;
+ @ExcelProperty(value = "车架重", order = 8)
+ private Double vehicle_frame_weight;
+ @ExcelProperty(value = "行驶证",order = 9)
+ private String driving_license;
+ @ExcelProperty(value = "进港港区",order = 10)
+ private String port_area_name;
+ @ExcelProperty(value = "进港类型",order = 11)
+ private String enter_type_name;
+ @ExcelProperty(value = "运输方式",order = 12)
+ private String transport_type_name;
+ @ExcelProperty(value = "进场日期",order = 13)
+ private String approach_date;
+ @ExcelProperty(value = "货物类型",order = 14)
+ private String goods_type_name;
+ @ExcelProperty(value = "货物数量",order = 15)
+ private Integer goods_quantity;
+ @ExcelProperty(value = "预约状态",order = 16)
+ private String appointment_state_content; //-预约状态(1-已预约,2-已签到,3-已进港,5-操作中,6-已完成,7-已离港,4-已取消,9-异常);
+ @ExcelProperty(value = "预约时间",order = 17)
+ private String approach_time; //-'预约时间';
+ @ExcelProperty(value = "操作人",order = 18)
+ private String operator; //-' 操作人';
+}
diff --git a/models/src/main/java/com/haitongauto/models/dto/Appointment_Dto.java b/models/src/main/java/com/haitongauto/models/dto/Appointment_Dto.java
new file mode 100644
index 0000000..0b0b47f
--- /dev/null
+++ b/models/src/main/java/com/haitongauto/models/dto/Appointment_Dto.java
@@ -0,0 +1,21 @@
+package com.haitongauto.models.dto;
+
+import lombok.Data;
+
+@Data
+public class Appointment_Dto {
+ private String arrivalType;
+ private String printStatus;
+ private String trailerNo;
+
+ private String goodsAmount;
+ private String bvmId;
+ private String arrivePortTime;
+
+ private String potId;
+ private String pamId;
+ private String phoneNumber;
+
+ private String transType;
+ private String ttiId;
+}
diff --git a/models/src/main/java/com/haitongauto/models/dto/CurrentDayPunchClockDto.java b/models/src/main/java/com/haitongauto/models/dto/CurrentDayPunchClockDto.java
new file mode 100644
index 0000000..74c676e
--- /dev/null
+++ b/models/src/main/java/com/haitongauto/models/dto/CurrentDayPunchClockDto.java
@@ -0,0 +1,29 @@
+package com.haitongauto.models.dto;
+
+import com.haitongauto.models.pojo.PunchClock;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * 当天的打卡DTO
+ */
+
+@Data
+public class CurrentDayPunchClockDto {
+ /**
+ * 今天的打卡记录
+ */
+ private List punchClockList;
+
+ /**
+ * 总工时
+ */
+ private double totalWorkingHours;
+
+ /**
+ * 打卡次数
+ */
+ private Integer totalPunchClockCount;
+
+}
diff --git a/models/src/main/java/com/haitongauto/models/dto/DataForMessage.java b/models/src/main/java/com/haitongauto/models/dto/DataForMessage.java
new file mode 100644
index 0000000..5ab7e4c
--- /dev/null
+++ b/models/src/main/java/com/haitongauto/models/dto/DataForMessage.java
@@ -0,0 +1,14 @@
+package com.haitongauto.models.dto;
+
+import lombok.Data;
+
+@Data
+public class DataForMessage {
+ private String access_token; //接口调用凭证,该参数为 URL 参数,非 Body 参数。使用access_token或者authorizer_access_token
+ private String template_id; //所需下发的订阅模板id
+ private String page; //点击模板卡片后的跳转页面,仅限本小程序内的页面。支持带参数,(示例index?foo=bar)。该字段不填则模板无跳转
+ private String touser; //接收者(用户)的 openid
+ private String data; //模板内容,格式形如 { "key1": { "value": any }, "key2": { "value": any } }的object
+ private String miniprogram_state; //跳转小程序类型:developer为开发版;trial为体验版;formal为正式版;默认为正式版
+ private String lang; //进入小程序查看”的语言类型,支持zh_CN(简体中文)、en_US(英文)、zh_HK(繁体中文)、zh_TW(繁体中文),默认为zh_CN
+}
diff --git a/models/src/main/java/com/haitongauto/models/dto/Details.java b/models/src/main/java/com/haitongauto/models/dto/Details.java
new file mode 100644
index 0000000..13974e9
--- /dev/null
+++ b/models/src/main/java/com/haitongauto/models/dto/Details.java
@@ -0,0 +1,10 @@
+package com.haitongauto.models.dto;
+
+import lombok.Data;
+
+//商品车详情之品牌、车架号
+@Data
+public class Details {
+ private String brand; //品牌
+ private String vin; //车架号
+}
diff --git a/models/src/main/java/com/haitongauto/models/dto/DicDto.java b/models/src/main/java/com/haitongauto/models/dto/DicDto.java
new file mode 100644
index 0000000..1fa040c
--- /dev/null
+++ b/models/src/main/java/com/haitongauto/models/dto/DicDto.java
@@ -0,0 +1,14 @@
+package com.haitongauto.models.dto;
+
+import lombok.Data;
+
+@Data
+/**
+ * 字典DTO
+ */
+public class DicDto {
+ private String id;
+ private String text;
+
+
+}
diff --git a/models/src/main/java/com/haitongauto/models/dto/EnterPortTypeDto.java b/models/src/main/java/com/haitongauto/models/dto/EnterPortTypeDto.java
new file mode 100644
index 0000000..c3e8c74
--- /dev/null
+++ b/models/src/main/java/com/haitongauto/models/dto/EnterPortTypeDto.java
@@ -0,0 +1,24 @@
+package com.haitongauto.models.dto;
+
+import lombok.Data;
+
+@Data
+/**
+ * 进港类型Dto
+ */
+public class EnterPortTypeDto {
+ private String eteCode;
+ /**
+ * 进港类型值
+ */
+ private String eteType;
+ /**
+ * 进港类型名称
+ */
+ private String eteBusinesstp;
+ /**
+ * 业务类型名称
+ */
+ private String eteBusinesstpDesc;
+
+}
diff --git a/models/src/main/java/com/haitongauto/models/dto/EnterPortTypeDtol.java b/models/src/main/java/com/haitongauto/models/dto/EnterPortTypeDtol.java
new file mode 100644
index 0000000..a925f13
--- /dev/null
+++ b/models/src/main/java/com/haitongauto/models/dto/EnterPortTypeDtol.java
@@ -0,0 +1,25 @@
+package com.haitongauto.models.dto;
+
+import lombok.Data;
+
+@Data
+public class EnterPortTypeDtol {
+
+ /**
+ * 进港类型值
+ */
+ private String id;
+ /**
+ * 进港类型名称
+ */
+ private String text;
+
+ /**
+ * 进港类型值
+ */
+ private String eteBusinesstp;
+ /**
+ * 业务类型名称
+ */
+ private String eteBusinesstpDesc;
+}
diff --git a/models/src/main/java/com/haitongauto/models/dto/Pages.java b/models/src/main/java/com/haitongauto/models/dto/Pages.java
new file mode 100644
index 0000000..3e61bd0
--- /dev/null
+++ b/models/src/main/java/com/haitongauto/models/dto/Pages.java
@@ -0,0 +1,16 @@
+package com.haitongauto.models.dto;
+
+import lombok.Data;
+
+/**
+ * 分页参数类
+ */
+@Data
+public class Pages {
+ private Integer pageNum; //当前页码
+ private Integer pageSize; //每页记录条数
+ private Integer pageCount; //总页数
+ private long recordTotal; //记录总数
+ private Integer unReadSize; //未读条数
+
+}
diff --git a/models/src/main/java/com/haitongauto/models/dto/PalletTruckAndUsers.java b/models/src/main/java/com/haitongauto/models/dto/PalletTruckAndUsers.java
new file mode 100644
index 0000000..0c41a5d
--- /dev/null
+++ b/models/src/main/java/com/haitongauto/models/dto/PalletTruckAndUsers.java
@@ -0,0 +1,11 @@
+package com.haitongauto.models.dto;
+
+import com.haitongauto.models.pojo.Truck;
+import com.haitongauto.models.pojo.Users;
+import lombok.Data;
+
+@Data
+public class PalletTruckAndUsers {
+ private Truck plateNumber;
+ private Users users;
+}
diff --git a/models/src/main/java/com/haitongauto/models/dto/PunchClockQuery.java b/models/src/main/java/com/haitongauto/models/dto/PunchClockQuery.java
new file mode 100644
index 0000000..f4f5acd
--- /dev/null
+++ b/models/src/main/java/com/haitongauto/models/dto/PunchClockQuery.java
@@ -0,0 +1,46 @@
+package com.haitongauto.models.dto;
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import lombok.Data;
+
+import java.time.LocalDate;
+import java.time.LocalTime;
+
+@Data
+public class PunchClockQuery {
+ //业务类型,进港类型,进场日期,进港港区,司机名称,手机号,板车号,预约时间,签到时间,完工打卡时间,签到状态(是否),完工打卡状态,签到地址,完工打卡地址,排队编号,前面车辆数
+ @ExcelProperty(value = "打卡id")
+ private String punch_clock_id; //-'打卡id';
+ @ExcelProperty(value = "业务类型")
+ private String biz_type_name; //-'业务类型(1-全部,2-码头业务,3-整车物流,4-特保区预约)';//貌似已经取消
+ @ExcelProperty(value = "进港类型")
+ private String enter_type_name; //-'进港类型';
+ @ExcelProperty(value = "进场日期")
+ private String approach_date; //-'预约进场日期';
+ @ExcelProperty(value = "进港港区")
+ private String port_area_name; //-'进港港区';
+ @ExcelProperty(value = "司机名称")
+ private String users_name; //司机名称
+ @ExcelProperty(value = "手机号")
+ private String tel_number; //-'手机号';
+ @ExcelProperty(value = "板车号")
+ private String truck_number; //-'板车号';
+ @ExcelProperty(value = "预约时间")
+ private String approach_time; //-'预约时间';
+ @ExcelProperty(value = "签到打卡时间")
+ private String punch_start_time; //-'签到打卡时间(HH:mm:ss)';
+ @ExcelProperty(value = "完成打卡时间")
+ private String punch_over_time; //-'完成打卡时间(HH:mm:ss)';
+ @ExcelProperty(value = "签到状态")
+ private String is_start; //-签到状态(正常/缺卡);
+ @ExcelProperty(value = "完卡状态")
+ private String is_over; //-完卡状态(正常/缺卡);
+ @ExcelProperty(value = "签到打卡地点")
+ private String punch_address; //-签到打卡地点
+ @ExcelProperty(value = "完成打卡地点")
+ private String over_address; //-完成打卡地点
+ @ExcelProperty(value = "排队编号")
+ private String queue_number; //-排队编号
+ @ExcelProperty(value = "前面车辆数")
+ private Integer befor_num; //- 前面车辆数
+}
diff --git a/models/src/main/java/com/haitongauto/models/dto/PunchClockQueryExl.java b/models/src/main/java/com/haitongauto/models/dto/PunchClockQueryExl.java
new file mode 100644
index 0000000..245adcf
--- /dev/null
+++ b/models/src/main/java/com/haitongauto/models/dto/PunchClockQueryExl.java
@@ -0,0 +1,41 @@
+package com.haitongauto.models.dto;
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import lombok.Data;
+
+@Data
+public class PunchClockQueryExl {
+ //业务类型,进港类型,进场日期,进港港区,司机名称,手机号,板车号,预约时间,签到时间,完工打卡时间,签到状态(是否),完工打卡状态,签到地址,完工打卡地址,排队编号,前面车辆数
+ @ExcelProperty(value = "业务类型")
+ private String biz_type_name; //-'业务类型(1-全部,2-码头业务,3-整车物流,4-特保区预约)';//貌似已经取消
+ @ExcelProperty(value = "进港类型")
+ private String enter_type_name; //-'进港类型';
+ @ExcelProperty(value = "进场日期")
+ private String approach_date; //-'预约进场日期';
+ @ExcelProperty(value = "进港港区")
+ private String port_area_name; //-'进港港区';
+ @ExcelProperty(value = "签到状态")
+ private String is_start; //-签到状态(正常/缺卡);
+ @ExcelProperty(value = "完卡状态")
+ private String is_over; //-完卡状态(正常/缺卡);
+ @ExcelProperty(value = "司机名称")
+ private String users_name; //司机名称
+ @ExcelProperty(value = "手机号")
+ private String tel_number; //-'手机号';
+ @ExcelProperty(value = "板车号")
+ private String truck_number; //-'板车号';
+ @ExcelProperty(value = "预约时间")
+ private String approach_time; //-'预约时间';
+ @ExcelProperty(value = "签到打卡时间")
+ private String punch_start_time; //-'签到打卡时间(HH:mm:ss)';
+ @ExcelProperty(value = "完成打卡时间")
+ private String punch_over_time; //-'完成打卡时间(HH:mm:ss)';
+ @ExcelProperty(value = "签到打卡地点")
+ private String punch_address; //-签到打卡地点
+ @ExcelProperty(value = "完成打卡地点")
+ private String over_address; //-完成打卡地点
+ @ExcelProperty(value = "排队编号")
+ private String queue_number; //-排队编号
+ @ExcelProperty(value = "前面车辆数")
+ private Integer befor_num; //- 前面车辆数
+}
diff --git a/models/src/main/java/com/haitongauto/models/dto/RecAndDepExcelDto.java b/models/src/main/java/com/haitongauto/models/dto/RecAndDepExcelDto.java
new file mode 100644
index 0000000..2f72e2e
--- /dev/null
+++ b/models/src/main/java/com/haitongauto/models/dto/RecAndDepExcelDto.java
@@ -0,0 +1,12 @@
+package com.haitongauto.models.dto;
+
+import lombok.Data;
+
+@Data
+public class RecAndDepExcelDto {
+
+ private String text1;
+ private String text2;
+ private String text3;
+ private String text4;
+}
diff --git a/models/src/main/java/com/haitongauto/models/dto/Responser.java b/models/src/main/java/com/haitongauto/models/dto/Responser.java
new file mode 100644
index 0000000..47988ed
--- /dev/null
+++ b/models/src/main/java/com/haitongauto/models/dto/Responser.java
@@ -0,0 +1,10 @@
+package com.haitongauto.models.dto;
+
+import lombok.Data;
+
+@Data
+public class Responser {
+ private Integer code;
+ private String message;
+ private Object data;
+}
diff --git a/models/src/main/java/com/haitongauto/models/dto/VehicleDetails.java b/models/src/main/java/com/haitongauto/models/dto/VehicleDetails.java
new file mode 100644
index 0000000..e4961d2
--- /dev/null
+++ b/models/src/main/java/com/haitongauto/models/dto/VehicleDetails.java
@@ -0,0 +1,14 @@
+package com.haitongauto.models.dto;
+
+import lombok.Data;
+
+import java.util.List;
+
+//预约信息中的货物(商品车详情)
+@Data
+public class VehicleDetails {
+ private String ship_name; //船名
+ private String port_name; //航次
+ private List Details; //{品牌,车架号}
+}
+
diff --git a/models/src/main/java/com/haitongauto/models/dto/app/CarOperationCountRespDTO.java b/models/src/main/java/com/haitongauto/models/dto/app/CarOperationCountRespDTO.java
new file mode 100644
index 0000000..4d1f039
--- /dev/null
+++ b/models/src/main/java/com/haitongauto/models/dto/app/CarOperationCountRespDTO.java
@@ -0,0 +1,59 @@
+package com.haitongauto.models.dto.app;
+
+import lombok.Data;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+
+/**
+ * 板车作业统计
+ */
+@Data
+public class CarOperationCountRespDTO implements Serializable {
+ /**
+ * 已预约板车数
+ */
+ private Integer reserveCarNumber;
+
+ /**
+ * 取消预约板车数
+ */
+ private Integer cancelReserveCarNumber;
+
+ /**
+ * 签到打卡板车数
+ */
+ private Integer startSignCarNumber;
+
+ /**
+ * 完工打卡板车数
+ */
+ private Integer finishSignCarNumber;
+
+ /**
+ * 发送指令板车数
+ */
+ private Integer sendInstructCarNumber;
+
+ /**
+ * 外贸出口板车数
+ */
+ private Integer wexportCarNumber;
+
+ /**
+ * 外贸进口板车数
+ */
+ private Integer wimportCarNumber;
+
+ /**
+ * 内贸出口板车数
+ */
+ private Integer nexportCarNumber;
+
+ /**
+ * 内贸进口板车数
+ */
+ private Integer nimportCarNumber;
+
+
+}
\ No newline at end of file
diff --git a/models/src/main/java/com/haitongauto/models/dto/app/CarPalletTrafficInfoRespDTO.java b/models/src/main/java/com/haitongauto/models/dto/app/CarPalletTrafficInfoRespDTO.java
new file mode 100644
index 0000000..65a03be
--- /dev/null
+++ b/models/src/main/java/com/haitongauto/models/dto/app/CarPalletTrafficInfoRespDTO.java
@@ -0,0 +1,44 @@
+package com.haitongauto.models.dto.app;
+
+import lombok.Data;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+
+/**
+ * 板车通行信息统计
+ */
+@Data
+public class CarPalletTrafficInfoRespDTO implements Serializable {
+
+ /**
+ * 闸口板车进港阀值预警次数
+ */
+ private Integer gateCarEntryWarnNumber;
+
+
+ /**
+ * 自动进闸口板车数
+ */
+ private Integer autoEntryVehicleCarNumber;
+
+ /**
+ * 人工抬杆板车数
+ */
+ private Integer poleRodCarNumber;
+
+ /**
+ * 待进港通行板车数
+ */
+ private Integer unPortCarNumber;
+
+ /**
+ * 已进港板车数
+ */
+ private Integer inPortCarNumber;
+
+ /**
+ * 已离港板车数
+ */
+ private Integer leavePortCarNumber;
+}
\ No newline at end of file
diff --git a/models/src/main/java/com/haitongauto/models/dto/app/ChuanItem.java b/models/src/main/java/com/haitongauto/models/dto/app/ChuanItem.java
new file mode 100644
index 0000000..29b08c2
--- /dev/null
+++ b/models/src/main/java/com/haitongauto/models/dto/app/ChuanItem.java
@@ -0,0 +1,15 @@
+package com.haitongauto.models.dto.app;
+
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class ChuanItem {
+ private Boolean isOpen;
+ private String ship_name;
+ private String ship_id;
+ private String port_name;
+ private String port_name_id;
+ private List commercial_vehicle_details;
+}
diff --git a/models/src/main/java/com/haitongauto/models/dto/app/CommercialVehicleDetail.java b/models/src/main/java/com/haitongauto/models/dto/app/CommercialVehicleDetail.java
new file mode 100644
index 0000000..82fe554
--- /dev/null
+++ b/models/src/main/java/com/haitongauto/models/dto/app/CommercialVehicleDetail.java
@@ -0,0 +1,13 @@
+package com.haitongauto.models.dto.app;
+
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class CommercialVehicleDetail {
+ private Boolean isOpen;
+ private String brand;
+ private String brand_id;
+ private List vehicle_frame_num;
+}
diff --git a/models/src/main/java/com/haitongauto/models/dto/app/GateCarNumberRespDTO.java b/models/src/main/java/com/haitongauto/models/dto/app/GateCarNumberRespDTO.java
new file mode 100644
index 0000000..baf56df
--- /dev/null
+++ b/models/src/main/java/com/haitongauto/models/dto/app/GateCarNumberRespDTO.java
@@ -0,0 +1,20 @@
+package com.haitongauto.models.dto.app;
+
+import lombok.Data;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+
+@Data
+public class GateCarNumberRespDTO implements Serializable {
+
+ /**
+ * 道口号
+ */
+ private String gateNo;
+
+ /**
+ * 道口号板车数
+ */
+ private Integer gateCarNumber;
+}
diff --git a/models/src/main/java/com/haitongauto/models/dto/app/Vin.java b/models/src/main/java/com/haitongauto/models/dto/app/Vin.java
new file mode 100644
index 0000000..1a697d7
--- /dev/null
+++ b/models/src/main/java/com/haitongauto/models/dto/app/Vin.java
@@ -0,0 +1,11 @@
+package com.haitongauto.models.dto.app;
+
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class Vin {
+ private String id;
+ private String vin;
+}
diff --git a/models/src/main/java/com/haitongauto/models/dto/open/Appointment_Dto.java b/models/src/main/java/com/haitongauto/models/dto/open/Appointment_Dto.java
new file mode 100644
index 0000000..50f89e6
--- /dev/null
+++ b/models/src/main/java/com/haitongauto/models/dto/open/Appointment_Dto.java
@@ -0,0 +1,21 @@
+package com.haitongauto.models.dto.open;
+
+import lombok.Data;
+
+@Data
+public class Appointment_Dto {
+ private String arrivalType;
+ private String printStatus;
+ private String trailerNo;
+
+ private String goodsAmount;
+ private String bvmId;
+ private String arrivePortTime;
+
+ private String potId;
+ private String pamId;
+ private String phoneNumber;
+
+ private String transType;
+ private String ttiId;
+}
diff --git a/models/src/main/java/com/haitongauto/models/dto/open/GoodsInfo.java b/models/src/main/java/com/haitongauto/models/dto/open/GoodsInfo.java
new file mode 100644
index 0000000..5493867
--- /dev/null
+++ b/models/src/main/java/com/haitongauto/models/dto/open/GoodsInfo.java
@@ -0,0 +1,13 @@
+package com.haitongauto.models.dto.open;
+
+import lombok.Data;
+
+@Data
+public class GoodsInfo {
+ private String trdId;
+ private String ttiId;
+ private String spmId;
+ private String brdId;
+ private String vinCode;
+
+}
diff --git a/models/src/main/java/com/haitongauto/models/dto/open/YardGoodsStateRespDTO.java b/models/src/main/java/com/haitongauto/models/dto/open/YardGoodsStateRespDTO.java
new file mode 100644
index 0000000..b818805
--- /dev/null
+++ b/models/src/main/java/com/haitongauto/models/dto/open/YardGoodsStateRespDTO.java
@@ -0,0 +1,13 @@
+package com.haitongauto.models.dto.open;
+
+import lombok.Data;
+
+@Data
+public class YardGoodsStateRespDTO {
+ /*** 车架号*/
+ private String vinCode;
+
+ /*** 在场状态: 1是 0否*/
+ private Integer inYardFlag;
+
+}
diff --git a/models/src/main/java/com/haitongauto/models/forward/AppointForward.java b/models/src/main/java/com/haitongauto/models/forward/AppointForward.java
new file mode 100644
index 0000000..5bd4bc7
--- /dev/null
+++ b/models/src/main/java/com/haitongauto/models/forward/AppointForward.java
@@ -0,0 +1,42 @@
+package com.haitongauto.models.forward;
+
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * 转发预约
+ */
+@Data
+public class AppointForward {
+ //"openId": "oBFJt5KzWJPJHHRpYPEOWvTUvqjA",
+ //"truckNo":"沪A88888",
+ //"orderTm":"2024-1-1 10:20:00",
+ //"orderType":"外贸出口",
+ //"whafType":"外高桥",
+ //"godType":"商品车",
+ //"godNum":2,
+ //"phone":"13118057744",
+ //"dataList":
+
+ /** 预约id*/
+ //private String Id;
+ /** openId*/
+ private String openId;
+ /** 板车号*/
+ private String truckNo;
+ /** 预约时间*/
+ private String orderTm;
+ /** 进港类型*/
+ private String orderType;
+ /** 港区*/
+ private String whafType;
+ /** 货物类型*/
+ private String godType;
+ /** 货物数量*/
+ private Integer godNum;
+ /** 手机号*/
+ private String phone;
+ /** 预约明细*/
+ private List dataList;
+}
diff --git a/models/src/main/java/com/haitongauto/models/forward/AppointOverState.java b/models/src/main/java/com/haitongauto/models/forward/AppointOverState.java
new file mode 100644
index 0000000..8582fe6
--- /dev/null
+++ b/models/src/main/java/com/haitongauto/models/forward/AppointOverState.java
@@ -0,0 +1,17 @@
+package com.haitongauto.models.forward;
+
+import lombok.Data;
+
+@Data
+public class AppointOverState {
+ //"openId": "oBFJt5KzWJPJHHRpYPEOWvTUvqjA",
+ //"truckNo":"沪A88888",
+ //"workTm":"2024-1-1 10:20:00"
+
+ /*** 微信id*/
+ private String openId;
+ /*** 板车号*/
+ private String truckNo;
+ /*** 完成时间*/
+ private String workTm;
+}
diff --git a/models/src/main/java/com/haitongauto/models/forward/AppointOverStateDto.java b/models/src/main/java/com/haitongauto/models/forward/AppointOverStateDto.java
new file mode 100644
index 0000000..4c4e66c
--- /dev/null
+++ b/models/src/main/java/com/haitongauto/models/forward/AppointOverStateDto.java
@@ -0,0 +1,16 @@
+package com.haitongauto.models.forward;
+
+import lombok.Data;
+
+@Data
+public class AppointOverStateDto {
+ /*** 預約id*/
+ private String appointmentId;
+
+ /*** 微信id*/
+ private String openId;
+ /*** 板车号*/
+ private String truckNo;
+ /*** 完成时间*/
+ private String workTm;
+}
diff --git a/models/src/main/java/com/haitongauto/models/forward/ForwardRes.java b/models/src/main/java/com/haitongauto/models/forward/ForwardRes.java
new file mode 100644
index 0000000..348f741
--- /dev/null
+++ b/models/src/main/java/com/haitongauto/models/forward/ForwardRes.java
@@ -0,0 +1,17 @@
+package com.haitongauto.models.forward;
+
+import lombok.Data;
+
+/***
+ * 转发返回消息
+ */
+@Data
+public class ForwardRes {
+ //"success":"1",
+ //"errmsg":""
+ /** 成功值 0不成功;1成功*/
+ private String success;
+
+ /** 错误消息*/
+ private String errmsg;
+}
diff --git a/models/src/main/java/com/haitongauto/models/forward/UserTruck.java b/models/src/main/java/com/haitongauto/models/forward/UserTruck.java
new file mode 100644
index 0000000..0e0e7e4
--- /dev/null
+++ b/models/src/main/java/com/haitongauto/models/forward/UserTruck.java
@@ -0,0 +1,28 @@
+package com.haitongauto.models.forward;
+
+import lombok.Data;
+
+@Data
+public class UserTruck {
+
+ /** 用户id */
+ private String users_id ;
+ /** 微信openid */
+ private String wx_openid;
+
+ /** 用户姓名,默认为微信昵称 */
+ private String users_name ;
+
+ /** 用户身分证号码 */
+ private String id_code ;
+
+ /** 司机电话 */
+ private String tel_number ;
+
+ /** 车牌号 */
+ private String truck_number ;
+
+ /** 行驶证(扫描件) */
+ private String driving_license ;
+
+}
diff --git a/models/src/main/java/com/haitongauto/models/forward/VinDetail.java b/models/src/main/java/com/haitongauto/models/forward/VinDetail.java
new file mode 100644
index 0000000..b8105d7
--- /dev/null
+++ b/models/src/main/java/com/haitongauto/models/forward/VinDetail.java
@@ -0,0 +1,22 @@
+package com.haitongauto.models.forward;
+
+import lombok.Data;
+
+/**
+ * 转发的vin明细
+ */
+@Data
+public class VinDetail {
+ //"vin": "NSTOOS00000000001",
+ //"vlsNm":"阿拉伯海",
+ //"brdNm": "江淮",
+ //"potNm": "达曼",
+ /** 车架号*/
+ private String vin;
+ /** 船名*/
+ private String vlsNm;
+ /** 品牌*/
+ private String brdNm;
+ /** 目的港*/
+ private String potNm;
+}
diff --git a/models/src/main/java/com/haitongauto/models/ido/AppointmentDetail_Ido.java b/models/src/main/java/com/haitongauto/models/ido/AppointmentDetail_Ido.java
new file mode 100644
index 0000000..ef8303b
--- /dev/null
+++ b/models/src/main/java/com/haitongauto/models/ido/AppointmentDetail_Ido.java
@@ -0,0 +1,21 @@
+package com.haitongauto.models.ido;
+
+import lombok.Data;
+
+@Data
+public class AppointmentDetail_Ido {
+ /**
+ * 预约明细id
+ */
+ private String trdId;
+ //板车预约信息主键ID
+ private String ttiId;
+ //船舶ID
+ private String spmId;
+ //港口ID
+ private String potId;
+ //品牌ID
+ private String brdId;
+ //vinCode
+ private String vinCode;
+}
diff --git a/models/src/main/java/com/haitongauto/models/ido/BasicDataIdo.java b/models/src/main/java/com/haitongauto/models/ido/BasicDataIdo.java
new file mode 100644
index 0000000..9480a97
--- /dev/null
+++ b/models/src/main/java/com/haitongauto/models/ido/BasicDataIdo.java
@@ -0,0 +1,23 @@
+package com.haitongauto.models.ido;
+
+import lombok.Data;
+
+/**
+ * 基础数据 (从客服平台获得)
+ * 适用于:
+ * 船名(全部)
+ * 船名(必须有旬度计划信息)
+ * 航次
+ * 港口
+ * 国家
+ * 提单号
+ * 品牌
+ */
+@Data
+public class BasicDataIdo {
+ /** * id */
+ private String id;
+ /** * 名称 */
+ private String text;
+ private String extra1;
+}
diff --git a/models/src/main/java/com/haitongauto/models/ido/CheckRes.java b/models/src/main/java/com/haitongauto/models/ido/CheckRes.java
new file mode 100644
index 0000000..f295d50
--- /dev/null
+++ b/models/src/main/java/com/haitongauto/models/ido/CheckRes.java
@@ -0,0 +1,10 @@
+package com.haitongauto.models.ido;
+
+import lombok.Data;
+
+@Data
+public class CheckRes {
+ private String errorMsg;
+ private boolean result;
+
+}
diff --git a/models/src/main/java/com/haitongauto/models/ido/CommonRes.java b/models/src/main/java/com/haitongauto/models/ido/CommonRes.java
new file mode 100644
index 0000000..35581ab
--- /dev/null
+++ b/models/src/main/java/com/haitongauto/models/ido/CommonRes.java
@@ -0,0 +1,35 @@
+package com.haitongauto.models.ido;
+
+import lombok.Data;
+import org.apache.poi.ss.formula.functions.T;
+
+import java.io.Serializable;
+
+@Data
+public class CommonRes implements Serializable {
+ private String status;
+
+ private Integer result;
+
+ private T data;
+
+ /**
+ * 总数据条数
+ */
+ private int total;
+ /**
+ * 总页数
+ */
+ private int pages;
+
+ /**
+ * 当前页码
+ */
+ private int current;
+ /**
+ * 单页数据条数
+ */
+ private int size;
+
+
+}
diff --git a/models/src/main/java/com/haitongauto/models/ido/CustomerRes.java b/models/src/main/java/com/haitongauto/models/ido/CustomerRes.java
new file mode 100644
index 0000000..de50cba
--- /dev/null
+++ b/models/src/main/java/com/haitongauto/models/ido/CustomerRes.java
@@ -0,0 +1,17 @@
+package com.haitongauto.models.ido;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+
+@Data
+public class CustomerRes implements Serializable {
+ private String code;
+
+ private String msg;
+
+ private T data;
+
+}
+
diff --git a/models/src/main/java/com/haitongauto/models/ido/DictionaryIdo.java b/models/src/main/java/com/haitongauto/models/ido/DictionaryIdo.java
new file mode 100644
index 0000000..e556e71
--- /dev/null
+++ b/models/src/main/java/com/haitongauto/models/ido/DictionaryIdo.java
@@ -0,0 +1,29 @@
+package com.haitongauto.models.ido;
+
+import lombok.Data;
+
+/**
+ * 通用数据字典表(数据源自RTOS)
+ * 运输方式 TRANSPORT_TYPE
+ * 进港类型 ENTER_PORT_TYPE
+ * 货物类型 CARGO_TYPE
+ * 操作模式 OPERATING_MODE
+ * 备 件 MACHINE_TYPE
+ * @author : KeChanghui
+ * @date : 2023-7-9
+ */
+@Data
+public class DictionaryIdo {
+ /** * 编号 */
+ private String ptrCode;
+ /** * 描述 */
+ private String ptrDesc;
+ /** * 创建人 */
+ private String createUser;
+ /** * 创建时间 */
+ private String createTime;
+ /** * 修改人 */
+ private String updateUser;
+ /** * 修改时间 */
+ private String updateTime;
+}
diff --git a/models/src/main/java/com/haitongauto/models/ido/PicturePathIdo.java b/models/src/main/java/com/haitongauto/models/ido/PicturePathIdo.java
new file mode 100644
index 0000000..8fa41b7
--- /dev/null
+++ b/models/src/main/java/com/haitongauto/models/ido/PicturePathIdo.java
@@ -0,0 +1,42 @@
+package com.haitongauto.models.ido;
+
+import lombok.Data;
+
+/**
+ * 图片路径
+ */
+@Data
+public class PicturePathIdo {
+ //"data": "",
+ //"error": "",
+ //"error_description": "",
+ //"message": "",
+ //"path": "",
+ //"result": 0,
+ //"stack_info": "",
+ //"status": "",
+ //"time_stamp": "",
+ //"version": ""
+
+ /**
+ * 数据
+ */
+ private String data;
+ /** * 错误 */
+ private String error;
+ /** * 错误说明 */
+ private String error_description;
+ /** * 消息 */
+ private String message;
+ /** * 路径 */
+ private String path;
+ /** * 结果 */
+ private String result;
+ /** * 异常信息 */
+ private String stack_info;
+ /** * 时间戳 */
+ private String time_stamp;
+ /** * 版本 */
+ private String version;
+
+}
diff --git a/models/src/main/java/com/haitongauto/models/ido/PortAreasIdo.java b/models/src/main/java/com/haitongauto/models/ido/PortAreasIdo.java
new file mode 100644
index 0000000..6b44527
--- /dev/null
+++ b/models/src/main/java/com/haitongauto/models/ido/PortAreasIdo.java
@@ -0,0 +1,58 @@
+package com.haitongauto.models.ido;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * 资源港区
+ */
+@Data
+public class PortAreasIdo implements Serializable {
+ //{
+ //"limit": null,
+ //"orderItems": null,
+ //"pamId": "9f31ae78aa252c972eb1267789a234d6",
+ //"pamNo": "421001",
+ //"pamName": "外高桥港区",
+ //"pamNameEn": "WGQGGQ",
+ //"pamAddress": "上海市浦东新区港建路1919号海通国际汽车码头有限公司嗯呢",
+ //"valid": "Y",
+ //"pamEfficient": "启用",
+ //"tenantId": "",
+ //"termcd": "",
+ //"createTime": "2023-04-03 16:11:21",
+ //"createUser": "",
+ //"updateUser": "",
+ //"updateTime": "2023-04-21 09:21:58"
+ // },
+
+ private String limit;
+ /** * 排序 */
+ private String orderItems;
+ /** * 港区id */
+ private String pamId;
+ /** * 港区编码 */
+ private String pamNo;
+ /** * 港区名称 */
+ private String pamName;
+ /** * 港区英文名称 */
+ private String pamNameEn;
+ /** * 港区地址 */
+ private String pamAddress;
+
+ private String valid;
+
+ /**
+ * 是否启用
+ */
+ private String pamEfficient;
+ private String tenantId;
+ private String termcd;
+ private String createTime;
+
+ private String createUser;
+ private String updateUser;
+ private String updateTime;
+
+}
diff --git a/models/src/main/java/com/haitongauto/models/ido/RecAndDepInfoIdo.java b/models/src/main/java/com/haitongauto/models/ido/RecAndDepInfoIdo.java
new file mode 100644
index 0000000..24e05fb
--- /dev/null
+++ b/models/src/main/java/com/haitongauto/models/ido/RecAndDepInfoIdo.java
@@ -0,0 +1,31 @@
+package com.haitongauto.models.ido;
+
+import lombok.Data;
+
+@Data
+public class RecAndDepInfoIdo {
+
+ /** * 打印id*/
+ private String prId;
+
+ /** * 打印id类型 cprId-表示收车打印id ; pprId-表示提车打印id*/
+ private String prIdType;
+
+ /** * 编号 需要字段*/
+ private String number;
+ /** * 打印小票时间/收车时间 需要的字段 */
+ private String printTicketTime;
+ /** * 板车号 需要的字段 */
+ private String trailerNo;
+ /** * 货物类型 需要的字段 */
+ private String cargoType;
+ /** * 货物数量 需要的字段*/
+ private String vehicleAmount;
+ /** * 核对 Y:已核对 N:未核对 */
+ private String verifyStatus;
+
+
+
+
+
+}
diff --git a/models/src/main/java/com/haitongauto/models/ido/ShipVoyIdo.java b/models/src/main/java/com/haitongauto/models/ido/ShipVoyIdo.java
new file mode 100644
index 0000000..7561261
--- /dev/null
+++ b/models/src/main/java/com/haitongauto/models/ido/ShipVoyIdo.java
@@ -0,0 +1,13 @@
+package com.haitongauto.models.ido;
+
+import lombok.Data;
+
+@Data
+public class ShipVoyIdo {
+ private String shipId;
+ private String shipName;
+ private String shipEnName;
+ private String voyageId;
+ private String voyage;
+
+}
diff --git a/models/src/main/java/com/haitongauto/models/ido/departure/DepDetailIdo.java b/models/src/main/java/com/haitongauto/models/ido/departure/DepDetailIdo.java
new file mode 100644
index 0000000..6277abe
--- /dev/null
+++ b/models/src/main/java/com/haitongauto/models/ido/departure/DepDetailIdo.java
@@ -0,0 +1,61 @@
+package com.haitongauto.models.ido.departure;
+
+import lombok.Data;
+
+import java.util.List;
+/**
+ * 提车明细
+ */
+
+@Data
+public class DepDetailIdo {
+
+ /*
+ "detailList": [
+ {
+ "amount": "件数",
+ "customProperty": "通关性质,可用值:CLEARANCE,BONDED,NONE",
+ "customsDeclareNo": "报关单号",
+ "goodsName": "货名",
+ "mnfBl": "提单号",
+ "receivingCompany": "收货单位",
+ "remark": "备注",
+ "vinList":
+ [
+ {
+ "damageFlag": 是否有残损 true,
+ "number": "序号",
+ "vinCode": "车架号"
+ }
+ ],
+ "vslCnname": "船名",
+ "vvyName": "航次",
+ "yplId": "提货清单ID"
+ }
+ ],
+
+ */
+
+
+ /** * 收货单位 */
+ private String receivingCompany;
+ /** * 船名 */
+ private String vslCnname;
+ /** * 航次 */
+ private String vvyName;
+ /** * 通关性质,可用值:CLEARANCE,BONDED,NONE */
+ private String customProperty;
+ /** * 提单号 */
+ private String mnfBl;
+ /** * 报关单号 */
+ private String customsDeclareNo;
+ /** * 货名 */
+ private String goodsName;
+ /** * 件数 */
+ private String amount;
+ /** * 备注 */
+ private String remark;
+ /** * vin列表 */
+ private List vinList;
+
+}
diff --git a/models/src/main/java/com/haitongauto/models/ido/departure/DepVinIdo.java b/models/src/main/java/com/haitongauto/models/ido/departure/DepVinIdo.java
new file mode 100644
index 0000000..729d73b
--- /dev/null
+++ b/models/src/main/java/com/haitongauto/models/ido/departure/DepVinIdo.java
@@ -0,0 +1,28 @@
+package com.haitongauto.models.ido.departure;
+
+import lombok.Data;
+
+/**
+ * 提车Vin
+ */
+@Data
+public class DepVinIdo {
+ /*
+ "vinList":
+ [
+ {
+ "damageFlag": 是否有残损 true,
+ "number": "序号",
+ "vinCode": "车架号"
+ }
+ ],
+ */
+
+ /** * 序号 */
+ private String number;
+ /** * 车架号 */
+ private String vinCode;
+ /** * 是否有残损 */
+ private Boolean damageFg;
+
+}
diff --git a/models/src/main/java/com/haitongauto/models/ido/departure/DepartureDetailIdo.java b/models/src/main/java/com/haitongauto/models/ido/departure/DepartureDetailIdo.java
new file mode 100644
index 0000000..6efeaad
--- /dev/null
+++ b/models/src/main/java/com/haitongauto/models/ido/departure/DepartureDetailIdo.java
@@ -0,0 +1,81 @@
+package com.haitongauto.models.ido.departure;
+
+import com.haitongauto.models.ido.receiving.RecDetailIdo;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * 提车详情
+ */
+@Data
+public class DepartureDetailIdo {
+ /*
+ {
+ "cargoType": "货物类型,可用值:CAR,LARGE,MACHINE",
+ "collectUser": "作业人员",
+ "collectUserMobile": "作业人员联系电话",
+ "createTime": "制证日期",
+ "detailList": [
+ {
+ "amount": "件数",
+ "customProperty": "通关性质,可用值:CLEARANCE,BONDED,NONE",
+ "customsDeclareNo": "报关单号",
+ "goodsName": "货名",
+ "mnfBl": "提单号",
+ "receivingCompany": "收货单位",
+ "remark": "备注",
+ "vinList":
+ [
+ {
+ "damageFlag": 是否有残损 true,
+ "number": "序号",
+ "vinCode": "车架号"
+ }
+ ],
+ "vslCnname": "船名",
+ "vvyName": "航次",
+ "yplId": "提货清单ID"
+ }
+ ],
+ "driverName": "司机名称",
+ "id": "",
+ "number": "编号",
+ "pallectType": 0,
+ "phoneNumber": "司机联系电话",
+ "printTime": "提车时间",
+ "tradeType": "贸易类型,可用值:DOMESTIC,EXTERNAL,OTHER",
+ "trailerNo": "板车号/身份证号",
+ "verifyStatus": "",
+ "yplId": "提货清单ID"
+ }
+
+ */
+
+ /** * 编号 */
+ private String number;
+ /** * 提车时间 */
+ private String printTime;
+ /** * 作业人员 */
+ private String collectUser;
+ /** * 作业人员电话 */
+ private String collectUserMobile;
+ /** * 司机名称 */
+ private String driverName;
+ /** * 司机电话 */
+ private String phoneNumber;
+ /** * 板车号/身份证号 */
+ private String trailerNo;
+ /** * 货物类型 */
+ private String cargoType;
+ /** * 内外贸,可用值:DOMESTIC,EXTERNAL,OTHER */
+ private String tradeType;
+ /** * 预约id */
+ private String ttiId;
+ /** * 提车清单ID */
+ private String yplId;
+ /** * 提车明细 列表 */
+ private List detailList;
+
+
+}
diff --git a/models/src/main/java/com/haitongauto/models/ido/departure/DepartureDetailIdo_DTO.java b/models/src/main/java/com/haitongauto/models/ido/departure/DepartureDetailIdo_DTO.java
new file mode 100644
index 0000000..2252b7e
--- /dev/null
+++ b/models/src/main/java/com/haitongauto/models/ido/departure/DepartureDetailIdo_DTO.java
@@ -0,0 +1,16 @@
+package com.haitongauto.models.ido.departure;
+
+import lombok.Data;
+
+@Data
+public class DepartureDetailIdo_DTO {
+ /**
+ * 提车详情
+ */
+ private DepartureDetailIdo departureDetailIdo;
+
+ /**
+ * 状态码
+ */
+ private String status;
+}
diff --git a/models/src/main/java/com/haitongauto/models/ido/departure/DepartureVehicleIdo.java b/models/src/main/java/com/haitongauto/models/ido/departure/DepartureVehicleIdo.java
new file mode 100644
index 0000000..ddedc68
--- /dev/null
+++ b/models/src/main/java/com/haitongauto/models/ido/departure/DepartureVehicleIdo.java
@@ -0,0 +1,67 @@
+package com.haitongauto.models.ido.departure;
+
+import lombok.Data;
+
+/**
+ * 分页查询提车凭证 实体
+ */
+@Data
+public class DepartureVehicleIdo {
+ /** * 发车清单ID 需要字段 */
+ private String yplId;
+ /** * 提车打印记录ID 需要的字段*/
+ private String pprId;
+ /** * 编号 需要字段*/
+ private String number;
+ /** * 打印小票时间/收车时间 需要的字段 */
+ private String printTicketTime;
+ /** * 板车号 需要的字段 */
+ private String trailerNo;
+ /** * 货物类型 需要的字段 */
+ private String cargoType;
+ /** * 货物数量 需要的字段*/
+ private Integer vehicleAmount;
+ /** * 核对 Y:已核对 N:未核对 */
+ private String verifyStatus;
+
+ private String pallectType;
+
+
+
+// "yplId": "df500e082e20506da67d14e0c12ac218",
+// "pprId": "9fec5ce13cf531bd52fb0364e1a7ffae",
+// "trailerNo": "襄A22222",
+// "number": "20230803161844006",
+// "verifyStatus": "Y",
+// "pallectType": null,
+// "printTicketTime": "2023-08-03 16:18:44",
+// "vehicleAmount": 1,
+// "cargoType": null
+
+
+
+
+
+// /** * 司机名称 */
+// private String driverName;
+// /** * 手机号 */
+// private String phoneNumber;
+// /** * 板车号 */
+// private String trailerNo;
+// /** * 贸易类型, 可用值:DOMESTIC,EXTERNAL,OTHER */
+// private String tradeType;
+// /** * 货物类型 */
+// private String cargoType;
+// /** * 作业人员 */
+// private String createUser;
+//
+// /** * 核对人 */
+// private String verifyUser;
+// /** * 核对 Y:已核对 N:未核对 */
+// private String verifyStatus;
+// /** * 核对时间 */
+// private String verifyTime;
+
+
+
+}
diff --git a/models/src/main/java/com/haitongauto/models/ido/departure/DepartureVehicleIdoPar.java b/models/src/main/java/com/haitongauto/models/ido/departure/DepartureVehicleIdoPar.java
new file mode 100644
index 0000000..817a92b
--- /dev/null
+++ b/models/src/main/java/com/haitongauto/models/ido/departure/DepartureVehicleIdoPar.java
@@ -0,0 +1,10 @@
+package com.haitongauto.models.ido.departure;
+
+import com.haitongauto.models.ido.receiving.ReceivingVehicleIdo;
+import lombok.Data;
+
+import java.util.List;
+@Data
+public class DepartureVehicleIdoPar {
+ private List records;
+}
diff --git a/models/src/main/java/com/haitongauto/models/ido/departure/DepartureVehicleIdo_DTO.java b/models/src/main/java/com/haitongauto/models/ido/departure/DepartureVehicleIdo_DTO.java
new file mode 100644
index 0000000..ad9892a
--- /dev/null
+++ b/models/src/main/java/com/haitongauto/models/ido/departure/DepartureVehicleIdo_DTO.java
@@ -0,0 +1,18 @@
+package com.haitongauto.models.ido.departure;
+
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class DepartureVehicleIdo_DTO {
+ /**
+ * 分页提车凭证数据列表
+ */
+ private List departureVehicleIdoList;
+ /**
+ * 状态码
+ */
+ private String status;
+
+}
diff --git a/models/src/main/java/com/haitongauto/models/ido/departure/pc/DepartureVehicleIdoPar_pc.java b/models/src/main/java/com/haitongauto/models/ido/departure/pc/DepartureVehicleIdoPar_pc.java
new file mode 100644
index 0000000..e89e11b
--- /dev/null
+++ b/models/src/main/java/com/haitongauto/models/ido/departure/pc/DepartureVehicleIdoPar_pc.java
@@ -0,0 +1,8 @@
+package com.haitongauto.models.ido.departure.pc;
+import lombok.Data;
+
+import java.util.List;
+@Data
+public class DepartureVehicleIdoPar_pc {
+ private List records;
+}
diff --git a/models/src/main/java/com/haitongauto/models/ido/departure/pc/DepartureVehicleIdo_pc.java b/models/src/main/java/com/haitongauto/models/ido/departure/pc/DepartureVehicleIdo_pc.java
new file mode 100644
index 0000000..41d5dc2
--- /dev/null
+++ b/models/src/main/java/com/haitongauto/models/ido/departure/pc/DepartureVehicleIdo_pc.java
@@ -0,0 +1,33 @@
+package com.haitongauto.models.ido.departure.pc;
+import lombok.Data;
+
+@Data
+public class DepartureVehicleIdo_pc {
+ /** * 编号 */
+ private String number;
+ /** * 司机名称 */
+ private String driverName;
+ /** * 手机号 */
+ private String phoneNumber;
+ /** * 板车号 */
+ private String trailerNo;
+ /** * 贸易类型*/
+ private String tradeType;
+ /** * 货物类型 */
+ private String cargoType;
+ /** * 作业人员 */
+ private String createUser;
+ /** * 收车时间 */
+ private String printTicketTime;
+ /** * 核对人 */
+ private String verifyUser;
+ /** * 核对状态 */
+ private String verifyStatus;
+ /** * 核对时间 */
+ private String verifyTime;
+ /** * 打印小票记录id */
+ private String pprId;
+ /** * 发车清单ID */
+ private String yplId;
+
+}
diff --git a/models/src/main/java/com/haitongauto/models/ido/login/PostLoginRes.java b/models/src/main/java/com/haitongauto/models/ido/login/PostLoginRes.java
new file mode 100644
index 0000000..8b76f15
--- /dev/null
+++ b/models/src/main/java/com/haitongauto/models/ido/login/PostLoginRes.java
@@ -0,0 +1,20 @@
+package com.haitongauto.models.ido.login;
+
+import lombok.Data;
+
+@Data
+public class PostLoginRes {
+ /**
+ * 用户id
+ */
+ private String users_id;
+ /**
+ * 板车id
+ */
+ private String truck_id;
+ /**
+ * Rtos权限访问令牌
+ */
+ private String access_token_rtos;
+
+}
diff --git a/models/src/main/java/com/haitongauto/models/ido/login/UserAuthResponseDto.java b/models/src/main/java/com/haitongauto/models/ido/login/UserAuthResponseDto.java
new file mode 100644
index 0000000..8a4c6ec
--- /dev/null
+++ b/models/src/main/java/com/haitongauto/models/ido/login/UserAuthResponseDto.java
@@ -0,0 +1,19 @@
+package com.haitongauto.models.ido.login;
+import lombok.Data;
+
+import java.io.Serializable;
+
+@Data
+public class UserAuthResponseDto implements Serializable {
+ private static final long serialVersionUID = 7755697998307514841L;
+
+ private String accessToken;
+
+ private String tokenType;
+
+ private String refreshToken;
+
+ private Long expiresIn;
+
+
+}
diff --git a/models/src/main/java/com/haitongauto/models/ido/login/UserInfoRes.java b/models/src/main/java/com/haitongauto/models/ido/login/UserInfoRes.java
new file mode 100644
index 0000000..3cbdc35
--- /dev/null
+++ b/models/src/main/java/com/haitongauto/models/ido/login/UserInfoRes.java
@@ -0,0 +1,69 @@
+package com.haitongauto.models.ido.login;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+@Data
+public class UserInfoRes implements Serializable {
+ private static final long serialVersionUID = 1L;
+ /**
+ *
+ */
+ private String id;
+
+ /**
+ *
+ */
+ private String name;
+
+ /**
+ * 需要打码
+ */
+ private String phone;
+
+ /**
+ *
+ */
+ private Integer phoneConfirmed;
+
+ /**
+ * 需要打码
+ */
+ private String idCard;
+
+ /**
+ *
+ */
+ private Integer idCardConfirmed;
+
+ /**
+ *
+ */
+ private String tenantId;
+
+ /**
+ *
+ */
+ private String tenantName;
+
+ /**
+ *
+ */
+ private String empNumber;
+ /**
+ *
+ */
+ private Integer passwordType;
+
+ /**
+ * 头像上传地址
+ */
+ private String uploadUrl;
+
+ /***
+ * 小程序openId
+ */
+ private String openId;
+
+}
\ No newline at end of file
diff --git a/models/src/main/java/com/haitongauto/models/ido/login/UserLoginOrRegisterRequest.java b/models/src/main/java/com/haitongauto/models/ido/login/UserLoginOrRegisterRequest.java
new file mode 100644
index 0000000..4a4000c
--- /dev/null
+++ b/models/src/main/java/com/haitongauto/models/ido/login/UserLoginOrRegisterRequest.java
@@ -0,0 +1,37 @@
+package com.haitongauto.models.ido.login;
+
+import lombok.Data;
+/**
+ * 用户登录/注册 请求入参
+ * 调用哪吒接口
+ */
+@Data
+public class UserLoginOrRegisterRequest {
+ /**
+ * 小程序appid (必填)
+ */
+ private String appId;
+
+ /**
+ * 渠道信息:app、小程序、pad、客户服务平台 (必填)
+ */
+ private String mediaType;
+
+ /**
+ * 手机号 (必填)
+ */
+ private String mobile;
+ /**
+ * 小程序openid (必填)
+ */
+ private String openId;
+ /**
+ * 小程序unionid (非必填)
+ */
+ private String unionId;
+
+
+
+
+
+}
diff --git a/models/src/main/java/com/haitongauto/models/ido/login/UserLoginOrRegisterResponse.java b/models/src/main/java/com/haitongauto/models/ido/login/UserLoginOrRegisterResponse.java
new file mode 100644
index 0000000..862b013
--- /dev/null
+++ b/models/src/main/java/com/haitongauto/models/ido/login/UserLoginOrRegisterResponse.java
@@ -0,0 +1,30 @@
+package com.haitongauto.models.ido.login;
+
+import lombok.Data;
+
+/**
+ * 用户登录/注册 请求出参
+ * 调用哪吒接口
+ */
+@Data
+public class UserLoginOrRegisterResponse {
+ /**
+ * 访问令牌
+ */
+ private String access_token;
+ /**
+ * 是否过期
+ */
+ private Integer expires_in;
+ /**
+ * 刷新令牌
+ */
+ private String refresh_token;
+ /**
+ * 令牌类型
+ */
+ private String token_type;
+
+ //差一个userid
+
+}
diff --git a/models/src/main/java/com/haitongauto/models/ido/login/UsersIdo.java b/models/src/main/java/com/haitongauto/models/ido/login/UsersIdo.java
new file mode 100644
index 0000000..2e778f6
--- /dev/null
+++ b/models/src/main/java/com/haitongauto/models/ido/login/UsersIdo.java
@@ -0,0 +1,36 @@
+package com.haitongauto.models.ido.login;
+
+import lombok.Data;
+
+/**
+ * 用户
+ */
+@Data
+public class UsersIdo {
+ // id 用户id string
+ // idCard 身份证号 string
+ // name 姓名 string
+ // phone 手机号 string
+ // uploadUrl 头像地址
+
+ ///** * 用户id */
+ // private String id;
+ /**
+ * 身份证号
+ */
+ private String idCard;
+ /**
+ * 姓名
+ */
+ private String name;
+ /**
+ * 手机号
+ */
+ private String phone;
+ /**
+ * 头像地址
+ */
+ private String uploadUrl;
+
+
+}
diff --git a/models/src/main/java/com/haitongauto/models/ido/receiving/RecDetailIdo.java b/models/src/main/java/com/haitongauto/models/ido/receiving/RecDetailIdo.java
new file mode 100644
index 0000000..a1b02fe
--- /dev/null
+++ b/models/src/main/java/com/haitongauto/models/ido/receiving/RecDetailIdo.java
@@ -0,0 +1,48 @@
+package com.haitongauto.models.ido.receiving;
+
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * 收车明细
+ */
+@Data
+public class RecDetailIdo {
+ /*
+ "detailList": [
+ {
+ "brdNname": "品牌",
+ "potCnname": "港口",
+ "vinList": [
+ {
+ "number": "序号",
+ "vinCode": "vin码"
+ }
+ ],
+ "vslCnname": "船名"
+ }
+ ],
+ */
+
+ /**
+ * 品牌
+ */
+ private String brdNname;
+
+ /**
+ * 港口
+ */
+ private String potCnname;
+
+ /**
+ * 船名
+ */
+ private String vslCnname;
+
+ /**
+ * 条形码或车架号
+ */
+ private List vinList;
+
+}
diff --git a/models/src/main/java/com/haitongauto/models/ido/receiving/RecVinIdo.java b/models/src/main/java/com/haitongauto/models/ido/receiving/RecVinIdo.java
new file mode 100644
index 0000000..586cb8c
--- /dev/null
+++ b/models/src/main/java/com/haitongauto/models/ido/receiving/RecVinIdo.java
@@ -0,0 +1,26 @@
+package com.haitongauto.models.ido.receiving;
+
+import lombok.Data;
+
+/**
+ * 收车Vin
+ */
+@Data
+public class RecVinIdo {
+
+ /*
+ "vinList": [
+ {
+ "number": "序号",
+ "vinCode": "车架号"
+ }
+ ],
+ */
+
+ /** * 序号 */
+ private String number;
+ /** * 车架号 */
+ private String vinCode;
+ /** * 是否有残损 */
+ private Boolean damageFg;
+}
diff --git a/models/src/main/java/com/haitongauto/models/ido/receiving/ReceivingDetailIdo.java b/models/src/main/java/com/haitongauto/models/ido/receiving/ReceivingDetailIdo.java
new file mode 100644
index 0000000..84c743d
--- /dev/null
+++ b/models/src/main/java/com/haitongauto/models/ido/receiving/ReceivingDetailIdo.java
@@ -0,0 +1,110 @@
+package com.haitongauto.models.ido.receiving;
+
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * 收车详情
+ */
+@Data
+public class ReceivingDetailIdo {
+ /*
+ {
+ "collectUser": "作业人员",
+ "collectUserMobile": "作业人员电话",
+ "detailList": [
+ {
+ "brdNname": "品牌",
+ "potCnname": "港口",
+ "vinList": [
+ {
+ "number": "序号",
+ "vinCode": "vin码"
+ }
+ ],
+ "vslCnname": "船名"
+ }
+ ],
+ "driverName": "司机名称",
+ "number": "编号",
+ "phoneNumber": "司机电话",
+ "printTicketTime": "收车时间",
+ "remark": "备注",
+ "tradeType": "内外贸,可用值:DOMESTIC,EXTERNAL,OTHER",
+ "trailerNo": "板车号",
+ "ttiId": "预约id",
+ "verifyStatus": "",
+ "yclId": "收车清单ID"
+ }
+ */
+
+
+/*
+
+
+ "data": {
+ "yclId": "43607c77292013b96c4157d17281f0bf",
+ "tradeType": "内贸",
+ "collectUser": null,
+
+ "collectUserMobile": null,
+ "driverName": null,
+ "phoneNumber": "13900000001",
+
+ "remark": null,
+ "trailerNo": "阳A99999",
+ "printTicketTime": "2023-08-04 13:41:27",
+
+ "verifyStatus": null,
+ "number": "20230804133926003",
+ "ttiId": "c171b9b3-692d-4a13-b8d2-6b55fb61",
+
+ "cargoType": null,
+
+ "detailList": [
+ {
+ "vslCnname": "山东号",
+ "brdNname": "宝马",
+ "potCnname": "南京港",
+ "vinList": [
+ {
+ "number": 1,
+ "vinCode": "PNG99999"
+ }
+ ]
+ }
+ ]
+ },
+ */
+
+ /** * 编号 */
+ private String number;
+ /** * 收车时间 */
+ private String printTicketTime;
+ /** * 作业人员 */
+ private String collectUser;
+ /** * 作业人员电话 */
+ private String collectUserMobile;
+ /** * 司机名称 */
+ private String driverName;
+ /** * 司机电话 */
+ private String phoneNumber;
+ /** * 板车号 */
+ private String trailerNo;
+ /** * 备注 */
+ private String remark;
+ /*** 货物类型 差货物类型*/
+ private String cargoType;
+ /** * 内外贸,可用值:DOMESTIC,EXTERNAL,OTHER */
+ private String tradeType;
+ /** * 预约id */
+ private String ttiId;
+ /** * 收车清单ID */
+ private String yclId;
+ /**
+ * 收车明细 列表
+ */
+ private List detailList;
+
+}
diff --git a/models/src/main/java/com/haitongauto/models/ido/receiving/ReceivingDetailIdo_DTO.java b/models/src/main/java/com/haitongauto/models/ido/receiving/ReceivingDetailIdo_DTO.java
new file mode 100644
index 0000000..e9461b1
--- /dev/null
+++ b/models/src/main/java/com/haitongauto/models/ido/receiving/ReceivingDetailIdo_DTO.java
@@ -0,0 +1,15 @@
+package com.haitongauto.models.ido.receiving;
+
+import lombok.Data;
+
+@Data
+public class ReceivingDetailIdo_DTO {
+ /**
+ * 收车详情
+ */
+ private ReceivingDetailIdo receivingDetailIdo;
+ /**
+ * 状态码
+ */
+ private String status;
+}
diff --git a/models/src/main/java/com/haitongauto/models/ido/receiving/ReceivingVehicleIdo.java b/models/src/main/java/com/haitongauto/models/ido/receiving/ReceivingVehicleIdo.java
new file mode 100644
index 0000000..851e595
--- /dev/null
+++ b/models/src/main/java/com/haitongauto/models/ido/receiving/ReceivingVehicleIdo.java
@@ -0,0 +1,58 @@
+package com.haitongauto.models.ido.receiving;
+
+import lombok.Data;
+
+/**
+ * 分页查询收车凭证 实体
+ */
+@Data
+public class ReceivingVehicleIdo {
+ /** * 收车清单ID 需要的字段 */
+ private String yclId;
+ /** * 收车打印记录ID 需要的字段*/
+ private String cprId;
+ /** * 编号 需要的字段*/
+ private String number;
+ /** * 板车号 需要的字段 */
+ private String trailerNo;
+ /** * 打印小票时间/收车时间 需要的字段 */
+ private String printTicketTime;
+ /** * 货物类型 需要的字段 */
+ private String cargoType;
+ /** * 货物数量 需要的字段*/
+ private Integer vehicleAmount;
+ /** * 核对 Y:已核对 N:未核对 */
+ private String verifyStatus;
+
+// /** * 司机名称 */
+// private String driverName;
+// /** * 手机号 */
+// private String phoneNumber;
+// /** * 板车号 需要的字段 */
+// private String trailerNo;
+// /** * 贸易类型, 可用值:DOMESTIC,EXTERNAL,OTHER */
+// private String tradeType;
+// /** * 作业人员 */
+// private String createUser;
+// /** * 核对人 */
+// private String verifyUser;
+// /** * 核对 Y:已核对 N:未核对 */
+// private String verifyStatus;
+// /** * 核对时间 */
+// private String verifyTime;
+
+
+
+// private String yclId;
+// private String cprId;
+// private String number;
+// private String yclId;
+// private String printTicketTime;
+// private String bvmName;
+// private String cargoType;
+// private String vehicleAmount;
+// private String verifyStatus;
+// private String tradeType;
+
+
+}
diff --git a/models/src/main/java/com/haitongauto/models/ido/receiving/ReceivingVehicleIdoPar.java b/models/src/main/java/com/haitongauto/models/ido/receiving/ReceivingVehicleIdoPar.java
new file mode 100644
index 0000000..756aaa8
--- /dev/null
+++ b/models/src/main/java/com/haitongauto/models/ido/receiving/ReceivingVehicleIdoPar.java
@@ -0,0 +1,11 @@
+package com.haitongauto.models.ido.receiving;
+import com.haitongauto.models.ido.receiving.pc.ReceivingVehicleIdo_pc;
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class ReceivingVehicleIdoPar {
+ private List records;
+
+}
diff --git a/models/src/main/java/com/haitongauto/models/ido/receiving/ReceivingVehicleIdo_DTO.java b/models/src/main/java/com/haitongauto/models/ido/receiving/ReceivingVehicleIdo_DTO.java
new file mode 100644
index 0000000..a693d0c
--- /dev/null
+++ b/models/src/main/java/com/haitongauto/models/ido/receiving/ReceivingVehicleIdo_DTO.java
@@ -0,0 +1,17 @@
+package com.haitongauto.models.ido.receiving;
+
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class ReceivingVehicleIdo_DTO {
+ /**
+ * 收车凭证分页数据列表
+ */
+ private List receivingVehicleIdoList;
+ /**
+ * 状态码
+ */
+ private String status;
+}
diff --git a/models/src/main/java/com/haitongauto/models/ido/receiving/pc/ReceivingVehicleIdoPar_pc.java b/models/src/main/java/com/haitongauto/models/ido/receiving/pc/ReceivingVehicleIdoPar_pc.java
new file mode 100644
index 0000000..6ae2df9
--- /dev/null
+++ b/models/src/main/java/com/haitongauto/models/ido/receiving/pc/ReceivingVehicleIdoPar_pc.java
@@ -0,0 +1,7 @@
+package com.haitongauto.models.ido.receiving.pc;
+import lombok.Data;
+import java.util.List;
+@Data
+public class ReceivingVehicleIdoPar_pc {
+ private List records;
+}
diff --git a/models/src/main/java/com/haitongauto/models/ido/receiving/pc/ReceivingVehicleIdo_pc.java b/models/src/main/java/com/haitongauto/models/ido/receiving/pc/ReceivingVehicleIdo_pc.java
new file mode 100644
index 0000000..ce181f1
--- /dev/null
+++ b/models/src/main/java/com/haitongauto/models/ido/receiving/pc/ReceivingVehicleIdo_pc.java
@@ -0,0 +1,88 @@
+package com.haitongauto.models.ido.receiving.pc;
+
+import lombok.Data;
+
+@Data
+public class ReceivingVehicleIdo_pc {
+ /** * 编号 */
+ private String number;
+ /** * 司机ID */
+ private String driverId;
+ /** * 司机名称 */
+ private String driverName;
+ /** * 手机号 */
+ private String phoneNumber;
+ /** * 板车号 */
+ private String trailerNo;
+ /** * 贸易类型,可用值:DOMESTIC,EXTERNAL,OTHER */
+ private String tradeType;
+ /** * 货物类型 */
+ private String bvmName;
+ /** * 作业人员 */
+ private String createUser;
+ /** * 板车扫描时间(收车时间) */
+ private String collectStartTime;
+ /** * 核对人 */
+ private String verifyUser;
+ /** * 核对状态 Y:已核对 N:未核对 */
+ private String verifyStatus;
+ /** * 核对时间 */
+ private String verifyTime;
+ /** * 收车清单ID */
+ private String yclId;
+ /** * 收车打印记录ID */
+ private String cprId;
+ /** * 预约id */
+ private String ttiId;
+
+
+
+///////////////////////其他多余字段////////////////////////////////////////////////////////////////////
+
+// /** * 堆场操作员ID */
+// private String yardOperator;
+// /** * 堆场操作员姓名 */
+// private String yardOperatorName;
+// /** * 进港时间 */
+// private String arrivePortTime;
+// /** * 品牌 */
+// private String brdName;
+// /** * 联系电话 */
+// private String contactNumber;
+// /** * 创建时间 */
+// private String createTime;
+// /** * 版本号 */
+// private String dataVersion;
+// /** * 完工打卡时间 */
+// private String finishSignTime;
+// /** * 离港时间 */
+// private String leavePortTime;
+// /** * 港口 */
+// private String potName;
+// /** * 打印状态 待打印、已打印,可用值:WAIT,PRINTED */
+// private String printStatus;
+// /** * 打印小票时间/收车时间 */
+// private String printTicketTime;
+// /** * 预约时间 */
+// private String reserveTime;
+// /** * 签到时间 */
+// private String startSignTime;
+// /** * 租户ID */
+// private String tenantId;
+// /** * 权限 */
+// private String termcd;
+// /** * 运输方式,板车运输/自开,可用值:SCOOTER,DRIVE */
+// private String transType;
+// /** * 更新时间 */
+// private String updateTime;
+// /** * 更新人 */
+// private String updateUser;
+// /** * 是否启用 */
+// private String valid;
+// /** * 货物数量 */
+// private String vehicleAmount;
+// /** * 船舶 */
+// private String vslCnname;
+
+
+}
diff --git a/models/src/main/java/com/haitongauto/models/open/AppointmentCmd.java b/models/src/main/java/com/haitongauto/models/open/AppointmentCmd.java
new file mode 100644
index 0000000..8aee0bf
--- /dev/null
+++ b/models/src/main/java/com/haitongauto/models/open/AppointmentCmd.java
@@ -0,0 +1,30 @@
+package com.haitongauto.models.open;
+
+import lombok.Data;
+
+@Data
+public class AppointmentCmd {
+ /**
+ * 预约id
+ */
+ private String appointmentId;
+ /**
+ * 堆场id
+ */
+ private String yardId;
+ /**
+ * 堆场名称
+ */
+ private String yardName;
+
+ /**
+ * 通道号(特指进港道口号)
+ */
+ private String gateCanal;
+
+ /**
+ * 发送人
+ */
+ private String sender;
+
+}
diff --git a/models/src/main/java/com/haitongauto/models/open/AppointmentDetailSort.java b/models/src/main/java/com/haitongauto/models/open/AppointmentDetailSort.java
new file mode 100644
index 0000000..b10c0db
--- /dev/null
+++ b/models/src/main/java/com/haitongauto/models/open/AppointmentDetailSort.java
@@ -0,0 +1,142 @@
+package com.haitongauto.models.open;
+
+import lombok.Data;
+
+/**
+ * 用于板车管控,指令列表
+ */
+@Data
+public class AppointmentDetailSort {
+
+ /**
+ * 预约id
+ */
+ private String appointment_id;
+
+ /**
+ * 用户id
+ */
+ private String users_id;
+ /**
+ * 运输方式(1-板车运输,2-自开)
+ */
+ private String transport_type;
+ /**
+ * 板车号
+ */
+ private String truck_number;
+ /**
+ * 手机号
+ */
+ private String tel_number;
+ /**
+ * 预约进场日期
+ */
+ private String approach_date;
+ /**
+ * 进港港区Id
+ */
+ private String port_area_id;
+ /**
+ * 进港港区Id
+ */
+ private String port_area_name;
+ /**
+ * 预约类型(1-普通码头预约,2-特保区预约) 新增字段
+ */
+ private Integer appointment_type;
+ /**
+ * 进港类型(1-外贸出口,2-外贸进口,3-整车物流,4-特保区出口,5-特保区进口,6-内贸出口,7-内贸进口)
+ */
+ private String enter_type;
+ /**
+ * 货物类型(1-商品车,2-设备,3-其他)
+ */
+ private String goods_type;
+ /**
+ * 货物类型名(1-商品车,2-设备,3-其他)
+ */
+ private String goods_type_name;
+ /**
+ * 货物数量(件数)
+ */
+ private Integer goods_quantity;
+ /**
+ * 预约打卡状态(1-已预约,2-已签到,3-已进港,5-操作中,6-已完成,7-已离港,4-已取消,9-异常:预期未完成操作的)
+ */
+ private Integer appointment_state;
+ /**
+ * 堆场
+ */
+ private String yard;
+ /**
+ * 进道口
+ */
+ private String gate_canal_in;
+ /**
+ * 出道口
+ */
+ private String gate_canal_out;
+ /**
+ * 进道口时间
+ */
+ private String gate_canal_in_time;
+ /**
+ * 出道口时间
+ */
+ private String gate_canal_out_time;
+ /**
+ * 指令状态 0-指令待发送 1-指令已发送
+ */
+ private Integer instruct_state;
+ /**
+ * 发送时间
+ */
+ private String send_time;
+ /**
+ * 发送人
+ */
+ private String sender;
+ /**
+ * 打卡签到时间
+ */
+ private String check_in_time;
+ /**
+ * 打卡完工时间
+ */
+ private String check_over_time;
+ /**
+ * 船名
+ */
+ private String ship_name;
+ /**
+ * 船舶id
+ **/
+ private String ship_id;
+ /**
+ * 品牌id
+ */
+ private String brand_id;
+ /**
+ * 品牌
+ */
+ private String brand_name;
+ /**
+ * 排队号
+ */
+ private String queue_number;
+ /**
+ * 创建时间
+ */
+ private String create_time;
+ /**
+ * 更新时间
+ */
+ private String update_time;
+ /**
+ * 是否软删除
+ */
+ private Integer is_del;
+
+
+}
diff --git a/models/src/main/java/com/haitongauto/models/open/AppointmentDetail_Ido.java b/models/src/main/java/com/haitongauto/models/open/AppointmentDetail_Ido.java
new file mode 100644
index 0000000..47e4bd7
--- /dev/null
+++ b/models/src/main/java/com/haitongauto/models/open/AppointmentDetail_Ido.java
@@ -0,0 +1,21 @@
+package com.haitongauto.models.open;
+
+import lombok.Data;
+
+@Data
+public class AppointmentDetail_Ido {
+ /**
+ * 预约明细id
+ */
+ private String trdId;
+ //板车预约信息主键ID
+ private String ttiId;
+ //船舶ID
+ private String spmId;
+ //港口ID
+ private String potId;
+ //品牌ID
+ private String brdId;
+ //vinCode
+ private String vinCode;
+}
diff --git a/models/src/main/java/com/haitongauto/models/open/Appointment_Ido.java b/models/src/main/java/com/haitongauto/models/open/Appointment_Ido.java
new file mode 100644
index 0000000..fce6ce4
--- /dev/null
+++ b/models/src/main/java/com/haitongauto/models/open/Appointment_Ido.java
@@ -0,0 +1,103 @@
+package com.haitongauto.models.open;
+
+import lombok.Data;
+
+@Data
+public class Appointment_Ido {
+ /** 预约信息id */
+ private String id ;
+
+ /** 运输方式(1-板车运输,2-自开) */
+ private String transportType ;
+ /** 板车号 */
+ private String truckNumber ;
+ /** 手机号 */
+ private String telNumber ;
+ /** 身份证 */
+ private String idCode ;
+
+ /** 车头车架号 */
+ private String truckVin ;
+ /** 板车自重(吨) */
+ private Double vehicleWeight ;
+ /** 车架重(吨) */
+ private Double vehicleFrameWeight ;
+ /** 行驶证编号 */
+ private String drivingLicense ;
+ /** 预约进场日期 */
+ private String approachDate ;
+ /** 进港港区Id */
+ private String portAreaId ;
+ /** 预约类型(1-普通码头预约,2-特保区预约) 新增字段 */
+ private Integer appointmentType ;
+ ///** 业务类型(1-全部,2-码头业务,3-整车物流,4-特保区预约)【该字段貌似已取消】 */
+ //private String biz_type ;
+ /** 进港类型(1-外贸出口,2-外贸进口,3-整车物流,4-特保区出口,5-特保区进口,6-内贸出口,7-内贸进口) */
+ private String enterPortType;
+ /** 货物类型(1-商品车,2-设备,3-其他) */
+ private String cargoType ;
+ /** 货物数量(件数) */
+ private Integer goodsQuantity ;
+ /** 预约打卡状态(1-已预约,2-已签到,3-已进港,5-操作中,6-已完成,7-已离港,4-已取消,9-异常:预期未完成操作的) */
+ private Integer appointmentState ;
+
+ /** 取消预约时间 */
+ private String cancelTime ;
+
+ /** 创建时间 */
+ private String createTime ;
+ /** 更新时间 */
+ private String updateTime ;
+ ///** 是否软删除 */
+ //private Integer is_del ;
+
+ /** 堆场*/
+ private String yard;
+ /** 进道口*/
+ private String gateCanalIn;
+ /** 出道口*/
+ private String gateCanalOut;
+ /** 指令状态 */
+ private Integer instructState;
+ /** 发送时间 */
+ private String sendTime;
+ /** 发送人 */
+ private String sender;
+
+ /** 打卡签到时间*/
+ private String checkInTime;
+ /** 打卡完工时间 */
+ private String checkOverTime;
+
+ /** 进港时间*/
+ private String gateCanalInTime;
+
+ /** 出港时间*/
+ private String gateCanalOutTime;
+
+ /** 排队号*/
+ private String queueNumber;
+
+ /** 船名*/
+ private String shipName;
+ /** 船名*/
+ private String shipId;
+
+ /** 品牌id*/
+ private String brandIds;
+ /** 品牌*/
+ private String brands;
+ /*** 用户id(司机id)*/
+ private String userId ;
+
+ /*** 用户名称 (司机名称)*/
+ private String userName ;
+
+ /** 板车扫描时间 */
+ private String plateScanTime;
+
+ ///** 用户id */
+ //private String users_id ;
+
+
+}
diff --git a/models/src/main/java/com/haitongauto/models/open/QueryCondition.java b/models/src/main/java/com/haitongauto/models/open/QueryCondition.java
new file mode 100644
index 0000000..d8cd45d
--- /dev/null
+++ b/models/src/main/java/com/haitongauto/models/open/QueryCondition.java
@@ -0,0 +1,55 @@
+package com.haitongauto.models.open;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+import java.util.Date;
+import java.util.Locale;
+
+@Data
+public class QueryCondition {
+
+ /**
+ * 开始日期(必填)
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private LocalDateTime startDate;
+ /**
+ * 结束日期(必填)
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private LocalDateTime endDate;
+ /**
+ * 港区id (必填)
+ */
+ private String portAreaId;
+
+ /**
+ * 班车号(模糊条件) (非必填)
+ */
+ private String truckNum;
+
+ /**
+ * 船id (非必填)
+ */
+ private String shipId;
+
+ /**
+ * 指令状态 (非必填)
+ */
+ private Integer instructState;
+
+ /**
+ * 品牌id (非必填)
+ */
+ private String brandId;
+
+
+ private Integer pageNum;
+
+ private Integer pageSize;
+
+
+}
diff --git a/models/src/main/java/com/haitongauto/models/open/TruckIdo.java b/models/src/main/java/com/haitongauto/models/open/TruckIdo.java
new file mode 100644
index 0000000..8598082
--- /dev/null
+++ b/models/src/main/java/com/haitongauto/models/open/TruckIdo.java
@@ -0,0 +1,8 @@
+package com.haitongauto.models.open;
+
+import lombok.Data;
+
+@Data
+public class TruckIdo {
+ private String trailerNo;
+}
diff --git a/models/src/main/java/com/haitongauto/models/pojo/Announcement.java b/models/src/main/java/com/haitongauto/models/pojo/Announcement.java
new file mode 100644
index 0000000..518b74d
--- /dev/null
+++ b/models/src/main/java/com/haitongauto/models/pojo/Announcement.java
@@ -0,0 +1,35 @@
+package com.haitongauto.models.pojo;
+
+import lombok.Data;
+/**
+ * 公告
+ * @author : KeChanghui
+ * @date : 2023-7-9
+ */
+@Data
+public class Announcement {
+ /** 公告id */
+ private String id ;
+ /** 分类(1-小程序,2-客服平台) */
+ private Integer sort ;
+ /** 标题 */
+ private String title ;
+ /** 摘要 */
+ private String abstracts ;
+ /** 公告内容 */
+ private String announcement ;
+
+ /** 公告文本 */
+ private String announcement_text ;
+
+ /** 作者 */
+ private String author ;
+ /** 阅读量 */
+ private int reading_volume ;
+ /** 创建时间 */
+ private String create_time ;
+ /** 更新时间 */
+ private String update_time ;
+ /** 是否软删除 */
+ private int is_del ;
+}
diff --git a/models/src/main/java/com/haitongauto/models/pojo/Appointment.java b/models/src/main/java/com/haitongauto/models/pojo/Appointment.java
new file mode 100644
index 0000000..af2ae9d
--- /dev/null
+++ b/models/src/main/java/com/haitongauto/models/pojo/Appointment.java
@@ -0,0 +1,84 @@
+package com.haitongauto.models.pojo;
+import lombok.Data;
+
+/**
+ * 预约信息
+ * @author : KeChanghui
+ * @date : 2023-7-9
+ */
+@Data
+public class Appointment {
+ /** 预约信息id */
+ private String id ;
+ /** 用户id */
+ private String users_id ;
+ /** 运输方式(1-驳船,2-板车运输, 3.商品车自开)*/
+ private String transport_type ;
+ /** 板车号 */
+ private String truck_number ;
+ /** 手机号 */
+ private String tel_number ;
+ /** 身份证号 */
+ private String id_code;
+ /** 车头车架号 */
+ private String truck_vin ;
+ /** 板车自重(吨) */
+ private Double vehicle_weight ;
+ /** 车架重(吨) */
+ private Double vehicle_frame_weight ;
+ /** 行驶证编号 */
+ private String driving_license ;
+ /** 预约进场日期 */
+ private String approach_date ;
+ /** 进港港区Id */
+ private String port_area_id ;
+ /** 预约类型(1-海通码头预约,2-特保区预约) 新增字段 */
+ private Integer appointment_type ;
+ /** 业务类型(1-码头业务,2-整车物流)【该字段貌似已取消】, 又生效了,在进港类型请求接口,添加了业务类型扩展字段*/
+ private String biz_type ;
+ /** 进港类型(1-外贸出口,2-外贸进口,3-整车物流,4-特保区出口,5-特保区进口,6-内贸出口,7-内贸进口) */
+ private String enter_type ;
+ /** 货物类型(1-商品车,2-设备,3-其他) */
+ private String goods_type ;
+ /** 货物数量(件数) */
+ private Integer goods_quantity ;
+ /** 预约打卡状态(1-已预约,2-已签到,3-已进港,5-操作中,6-已完成,7-已离港,4-已取消,9-异常:预期未完成操作的)*/
+ private Integer appointment_state ;
+ /** 取消预约时间 */
+ private String cancel_time ;
+ /** 创建时间 */
+ private String create_time ;
+ /** 更新时间 */
+ private String update_time ;
+ /** 是否软删除 */
+ private Integer is_del ;
+ /** 堆场*/
+ private String yard;
+ /** 堆场名*/
+ private String yard_name;
+ /** 进道口*/
+ private String gate_canal_in;
+ /** 出道口*/
+ private String gate_canal_out;
+ /** 进道口时间*/
+ private String gate_canal_in_time;
+ /** 出道口*/
+ private String gate_canal_out_time;
+ /** 指令状态 0-指令待发送 1-指令已发送*/
+ private Integer instruct_state;
+ /** 发送时间 */
+ private String send_time;
+ /** 发送人 */
+ private String sender;
+ /** 打卡签到时间*/
+ private String check_in_time;
+ /** 打卡完工时间 */
+ private String check_over_time;
+ /** 板车扫描时间 */
+ private String plate_scan_time;
+ /** 是否常规进闸(0-是常规自动进闸,1-是非常规人工抬杆进闸) */
+ private Integer is_conventionality_in;
+ /** 申报时返回的主键 逗号分隔 */
+ private String push_ids;
+
+}
diff --git a/models/src/main/java/com/haitongauto/models/pojo/AppointmentDetail.java b/models/src/main/java/com/haitongauto/models/pojo/AppointmentDetail.java
new file mode 100644
index 0000000..3636632
--- /dev/null
+++ b/models/src/main/java/com/haitongauto/models/pojo/AppointmentDetail.java
@@ -0,0 +1,38 @@
+package com.haitongauto.models.pojo;
+
+import lombok.Data;
+
+/**
+ * 预约详细(详情)
+ * @author : KeChanghui
+ * @date : 2023-7-9
+ */
+@Data
+public class AppointmentDetail {
+ /** 预约详细id */
+ private String id ;
+ /** 预约id */
+ private String appointment_id ;
+ /** 船id */
+ private String ship_id ;
+ /** 船名 */
+ private String ship_name ;
+ /** 航次号 */
+ private String voy_number ;
+ /** 目的港Id */
+ private String destination_port_id ;
+ /** 目的港 */
+ private String destination_port ;
+ /** 品牌id */
+ private String brand_id;
+ /** 品牌 */
+ private String brand_name ;
+ /** 车架号 */
+ private String vin ;
+ /** 创建时间 */
+ private String create_time ;
+ /** 更新时间 */
+ private String update_time ;
+ /** 是否软删除 */
+ private Integer is_del ;
+}
diff --git a/models/src/main/java/com/haitongauto/models/pojo/DepartureDetail.java b/models/src/main/java/com/haitongauto/models/pojo/DepartureDetail.java
new file mode 100644
index 0000000..040fe83
--- /dev/null
+++ b/models/src/main/java/com/haitongauto/models/pojo/DepartureDetail.java
@@ -0,0 +1,41 @@
+package com.haitongauto.models.pojo;
+
+import lombok.Data;
+/**
+ * 提车明细
+ * @author : KeChanghui
+ * @date : 2023-7-9
+ */
+@Data
+public class DepartureDetail {
+ /** 明细id */
+ private String id ;
+ /** 提车id */
+ private String applet_departure_vehicle_id ;
+ /** 收货单位 */
+ private String receiving_unit ;
+ /** 船名 */
+ private String ship_name ;
+ /** 航次 */
+ private String voy_number ;
+ /** 通关性质 */
+ private String customs_clearance_nature ;
+ /** 提单号 */
+ private String lading_no ;
+ /** 报关单号 */
+ private String customs_declaration_no ;
+ /** 货名 */
+ private String cargo_name ;
+ /** 件数 */
+ private Integer cargoQuantity ;
+ /** 备注 */
+ private String remarks ;
+ /** 车架号列表(逗号分隔) */
+ private String vinList ;
+ /** 创建时间 */
+ private String create_time ;
+ /** 更新时间 */
+ private String update_time ;
+ /** 是否软删除 */
+ private Integer is_del ;
+}
diff --git a/models/src/main/java/com/haitongauto/models/pojo/DepartureVehicle.java b/models/src/main/java/com/haitongauto/models/pojo/DepartureVehicle.java
new file mode 100644
index 0000000..3e80ec8
--- /dev/null
+++ b/models/src/main/java/com/haitongauto/models/pojo/DepartureVehicle.java
@@ -0,0 +1,50 @@
+package com.haitongauto.models.pojo;
+
+import lombok.Data;
+
+/**
+ * 提车信息
+ * @author : KeChanghui
+ * @date : 2023-7-9
+ */
+@Data
+public class DepartureVehicle {
+ /** 发车Id */
+ private String id ;
+ /** 编号 */
+ private String voucher_number ;
+ /** 司机id */
+ private String users_id ;
+ /** 司机姓名 */
+ private String users_name ;
+ /** 司机电话 */
+ private String tel_number ;
+ /** 作业人员 */
+ private String operators ;
+ /** 联系电话 */
+ private String phone_number ;
+ /** 板车号 */
+ private String truck_number ;
+ /** 贸易类型(内贸/外贸) */
+ private String trade_type ;
+ /** 货物类型 */
+ private String cargo_type ;
+ /** 货物数量 */
+ private Integer cargo_quantity ;
+ /** 提车时间 */
+ private String delivery_time ;
+ /** 核对人(小程序中收到该凭证的司机,实际上就是操作司机)=== */
+ private String checker ;
+ /** 核对状态(0-待核对,1-已核对)=== */
+ private String check_status ;
+ /** 核对时间(核对操作时生成的日期时间)=== */
+ private String check_time ;
+ /** 备注=== */
+ private String remarks ;
+ /** 创建时间 */
+ private String create_time ;
+ /** 更新时间 */
+ private String update_time ;
+ /** 是否软删除 */
+ private Integer is_del ;
+}
diff --git a/models/src/main/java/com/haitongauto/models/pojo/Dic.java b/models/src/main/java/com/haitongauto/models/pojo/Dic.java
new file mode 100644
index 0000000..60f6007
--- /dev/null
+++ b/models/src/main/java/com/haitongauto/models/pojo/Dic.java
@@ -0,0 +1,32 @@
+package com.haitongauto.models.pojo;
+
+import lombok.Data;
+
+/**
+ * 通用数据字典表(数据源自RTOS)
+ * 运输方式 TRANSPORT_TYPE
+ * 进港类型 ENTER_PORT_TYPE
+ * 货物类型 CARGO_TYPE
+ * 操作模式 OPERATING_MODE
+ * 备 件 MACHINE_TYPE
+ *
+ * @author : KeChanghui
+ * @date : 2023-7-9
+ */
+@Data
+public class Dic {
+ /** 字典id */
+ private String id ;
+ /** 内容 */
+ private String content ;
+ /** 分类 */
+ private String dic_sort ;
+ /** 分类描述 */
+ private String description ;
+ /** 创建时间 */
+ private String create_time ;
+ /** 更新时间 */
+ private String update_time ;
+ /** 是否软删除 */
+ private Integer is_del ;
+}
diff --git a/models/src/main/java/com/haitongauto/models/pojo/EntryInstruct.java b/models/src/main/java/com/haitongauto/models/pojo/EntryInstruct.java
new file mode 100644
index 0000000..25b48b9
--- /dev/null
+++ b/models/src/main/java/com/haitongauto/models/pojo/EntryInstruct.java
@@ -0,0 +1,30 @@
+package com.haitongauto.models.pojo;
+
+import lombok.Data;
+
+/**
+ * 进港指令
+ * @author : KeChanghui
+ * @date : 2023-7-9
+ */
+@Data
+public class EntryInstruct {
+ /** 进港指令id */
+ private String id ;
+ /** 预约id */
+ private String appointment_id ;
+ /** 司机id */
+ private String users_id ;
+ /** 司机姓名 */
+ private String users_name ;
+ /** 车牌号 */
+ private String truck_number ;
+ /** 堆场 */
+ private String yard_name ;
+ /** 创建时间 */
+ private String create_time ;
+ /** 更新时间 */
+ private String update_time ;
+ /** 是否软删除 */
+ private Integer is_del ;
+}
diff --git a/models/src/main/java/com/haitongauto/models/pojo/Feedback.java b/models/src/main/java/com/haitongauto/models/pojo/Feedback.java
new file mode 100644
index 0000000..2a8ec91
--- /dev/null
+++ b/models/src/main/java/com/haitongauto/models/pojo/Feedback.java
@@ -0,0 +1,32 @@
+package com.haitongauto.models.pojo;
+
+import lombok.Data;
+
+/**
+ * 意见反馈
+ * @author : KeChanghui
+ * @date : 2023-7-9
+ */
+@Data
+public class Feedback {
+ /** 意见反馈id */
+ private String id ;
+ /** 用户id */
+ private String users_id ;
+ /** 昵称 */
+ private String nike_name ;
+ /** 意见(限500字) */
+ private String feedback_info ;
+ /** 图片文件名集合,逗号分隔 */
+ private String pictures ;
+ /** 联系电话 */
+ private String tel_number ;
+ /** 联系方式(微信号/qq/邮箱) */
+ private String contact_info ;
+ /** 创建时间 */
+ private String create_time ;
+ /** 更新时间 */
+ private String update_time ;
+ /** 是否软删除 */
+ private Integer is_del ;
+}
diff --git a/models/src/main/java/com/haitongauto/models/pojo/LoginLog.java b/models/src/main/java/com/haitongauto/models/pojo/LoginLog.java
new file mode 100644
index 0000000..0100b1c
--- /dev/null
+++ b/models/src/main/java/com/haitongauto/models/pojo/LoginLog.java
@@ -0,0 +1,30 @@
+package com.haitongauto.models.pojo;
+
+import lombok.Data;
+
+/**
+ * 用户登录日志
+ * @author : KeChanghui
+ */
+@Data
+public class LoginLog {
+ /** 自增id */
+ private String id ;
+ /** 微信昵称 */
+ private String wx_nike ;
+ /** 微信openid */
+ private String wx_openid ;
+ /** 登录时间 */
+ private String login_time ;
+ /** ip地址 */
+ private String ip ;
+ /** 地区(省市) */
+ private String area ;
+ /** 创建时间 */
+ private String create_time ;
+ /** 更新时间 */
+ private String update_time ;
+ /** 是否软删除 */
+ private Integer is_del ;
+
+}
diff --git a/models/src/main/java/com/haitongauto/models/pojo/Message.java b/models/src/main/java/com/haitongauto/models/pojo/Message.java
new file mode 100644
index 0000000..c78cda3
--- /dev/null
+++ b/models/src/main/java/com/haitongauto/models/pojo/Message.java
@@ -0,0 +1,37 @@
+package com.haitongauto.models.pojo;
+
+import lombok.Data;
+
+@Data
+public class Message {
+
+ /** id*/
+ private String id;
+ /** 1-收车 2-提车*/
+ private Integer type;
+
+
+
+ /**
+ * 小票id
+ */
+ private String prc_id;
+
+ /** */
+ private String biz_id;
+
+ /** 1-收车 2-提车*/
+ private String type_content;
+
+ /** 板车号*/
+ private String truck_number;
+ /** 0-未读 1-已读*/
+ private Integer is_read;
+ /** 创建时间*/
+ private String create_time;
+ /** 修改时间*/
+ private String update_time;
+ /** 是否删除*/
+ private Integer is_del;
+
+}
diff --git a/models/src/main/java/com/haitongauto/models/pojo/NoviceIntroduction.java b/models/src/main/java/com/haitongauto/models/pojo/NoviceIntroduction.java
new file mode 100644
index 0000000..cc27bfb
--- /dev/null
+++ b/models/src/main/java/com/haitongauto/models/pojo/NoviceIntroduction.java
@@ -0,0 +1,28 @@
+package com.haitongauto.models.pojo;
+
+import lombok.Data;
+
+/**
+ * 新手攻略(小程序/客服平台/生产APP操作指南)
+ * @author : KeChanghui
+ * @date : 2023-7-9
+ */
+@Data
+public class NoviceIntroduction {
+ /** 攻略_id */
+ private String id ;
+ /** 类别(1-小程序,2-客服平台,3-生产APP) */
+ private Integer sort ;
+ /** 小标题 */
+ private String title ;
+ /** 内容(html文本,允许包含图片标签) */
+ private String content ;
+ /** 顺序号 */
+ private Integer sequence_number ;
+ /** 创建时间 */
+ private String create_time ;
+ /** 更新时间 */
+ private String update_time ;
+ /** 是否软删除 */
+ private Integer is_del ;
+}
diff --git a/models/src/main/java/com/haitongauto/models/pojo/PortArea.java b/models/src/main/java/com/haitongauto/models/pojo/PortArea.java
new file mode 100644
index 0000000..5918f0b
--- /dev/null
+++ b/models/src/main/java/com/haitongauto/models/pojo/PortArea.java
@@ -0,0 +1,36 @@
+package com.haitongauto.models.pojo;
+
+import lombok.Data;
+
+/**
+ * 港区表(数据源自RTOS,请求时返回200,则使用数据,并更新表;否则,直接使用本表)
+ * @author : KeChanghui
+ * @date : 2023-7-9
+ */
+@Data
+public class PortArea {
+ /** 港区id */
+ private String id ;
+ /** 港区名 */
+ private String port_area_name ;
+ /** 港区英文名 */
+ private String port_area_name_en ;
+ /** 港区编码 */
+ private String port_area_code ;
+ /** 港区地址 */
+ private String port_area_address ;
+ /** 港区坐标 */
+ private String area_center_poi ;
+ /** 打卡范围(距离港区中心坐标的半径,米) */
+ private Integer punch_range ;
+ /** 是否启用(0-未启用,1-启用,默认) */
+ private Integer is_enable ;
+ /** 排序 */
+ private Integer order_items ;
+ /** 创建时间 */
+ private String create_time ;
+ /** 更新时间 */
+ private String update_time ;
+ /** 是否软删除 */
+ private Integer is_del ;
+}
diff --git a/models/src/main/java/com/haitongauto/models/pojo/PunchClock.java b/models/src/main/java/com/haitongauto/models/pojo/PunchClock.java
new file mode 100644
index 0000000..60aa5eb
--- /dev/null
+++ b/models/src/main/java/com/haitongauto/models/pojo/PunchClock.java
@@ -0,0 +1,41 @@
+package com.haitongauto.models.pojo;
+
+import lombok.Data;
+/**
+ * (签到/完成)打卡信息
+ * @author : KeChanghui
+ * @date : 2023-7-9
+ */
+@Data
+public class PunchClock {
+ /** 打卡信息id */
+ private String id ;
+ /** 用户id */
+ private String users_id ;
+ /** 预约Id */
+ private String appointment_id ;
+ /** 业务类型(1-全部,2-码头业务,3-整车物流,4-特保区预约)【该字段貌似已取消】 */
+ private String biz_type ;
+ /** 排队编号 */
+ private String queue_number ;
+ /** 签到日期时间【该字段添加日期】 */
+ private String start_time ;
+ /** 完成日期时间【该字段添加日期】 */
+ private String over_time ;
+ /** 打卡港区(ID) */
+ private String port_area_id ;
+ /** 签到打卡地点 */
+ private String punch_address ;
+ /** 完成打卡地点 */
+ private String over_address ;
+ /** 打卡类别(0-预约未签到,1-签到,2-已进港,3-操作中,4-已完成,5-已离港) */
+ private Integer punch_clock_type ;
+ /** 打卡(位置坐标){"1":poi2,"2",poi2} */
+ private String punch_clock_poi ;
+ /** 创建时间 */
+ private String create_time ;
+ /** 更新时间 */
+ private String update_time ;
+ /** 是否软删除 */
+ private Integer is_del ;
+}
diff --git a/models/src/main/java/com/haitongauto/models/pojo/ReceivingDetail.java b/models/src/main/java/com/haitongauto/models/pojo/ReceivingDetail.java
new file mode 100644
index 0000000..72c9801
--- /dev/null
+++ b/models/src/main/java/com/haitongauto/models/pojo/ReceivingDetail.java
@@ -0,0 +1,30 @@
+package com.haitongauto.models.pojo;
+
+import lombok.Data;
+
+/**
+ * 收车明细(数据源自RTOS)
+ * @author : KeChanghui
+ * @date : 2023-7-9
+ */
+@Data
+public class ReceivingDetail {
+ /** 明细Id */
+ private String id ;
+ /** 收车Id */
+ private String applet_receiving_vehicle_id ;
+ /** 船名 */
+ private String ship_name ;
+ /** 品牌名称 */
+ private String brand ;
+ /** 港口(目的港) */
+ private String port_name ;
+ /** 车架号数据(逗号分隔) */
+ private String vin_list ;
+ /** 创建时间 */
+ private String create_time ;
+ /** 更新时间 */
+ private String update_time ;
+ /** 是否软删除 */
+ private Integer is_del ;
+}
diff --git a/models/src/main/java/com/haitongauto/models/pojo/ReceivingVehicle.java b/models/src/main/java/com/haitongauto/models/pojo/ReceivingVehicle.java
new file mode 100644
index 0000000..c71752c
--- /dev/null
+++ b/models/src/main/java/com/haitongauto/models/pojo/ReceivingVehicle.java
@@ -0,0 +1,51 @@
+package com.haitongauto.models.pojo;
+
+import lombok.Data;
+/**
+ * 收车信息(数据源自RTOS)
+ * @author : KeChanghui
+ * @date : 2023-7-9
+ */
+@Data
+public class ReceivingVehicle {
+ /** 收车id */
+ private String id ;
+ /** 收车数据id */
+ private String receiving_vehicl_id ;
+ /** 收车(凭证)编号 */
+ private String voucher_number ;
+ /** 司机id */
+ private String users_id ;
+ /** 司机姓名 */
+ private String users_name ;
+ /** 司机电话 */
+ private String tel_number ;
+ /** 作业人员(堆场作业班组安排的该车作业人员),=== */
+ private String operators ;
+ /** 联系电话 */
+ private String phone_number ;
+ /** 板车号 */
+ private String truck_number ;
+ /** 贸易类型(内贸/外贸/其他:DOMESTIC,EXTERNAL,OTHER) */
+ private String trade_type ;
+ /** 货物类型(取自字典表,源于RTOS字典接口,如:CARGO_TYPE,111,商品车) */
+ private String cargo_type ;
+ /** 货物数量 */
+ private Integer cargoQuantity ;
+ /** 收车时间 */
+ private String collect_time ;
+ /** 核对人(小程序中收到该凭证的司机,实际上就是操作司机)=== */
+ private String checker ;
+ /** 核对状态(N-待核对,Y-已核对)=== */
+ private String check_status ;
+ /** 核对时间:核对操作时生成的日期时间=== */
+ private String check_time ;
+ /** 备注=== */
+ private String remarks ;
+ /** 创建时间 */
+ private String create_time ;
+ /** 更新时间 */
+ private String update_time ;
+ /** 是否软删除 */
+ private Integer is_del ;
+}
diff --git a/models/src/main/java/com/haitongauto/models/pojo/Requester.java b/models/src/main/java/com/haitongauto/models/pojo/Requester.java
new file mode 100644
index 0000000..2b175ef
--- /dev/null
+++ b/models/src/main/java/com/haitongauto/models/pojo/Requester.java
@@ -0,0 +1,29 @@
+package com.haitongauto.models.pojo;
+
+import lombok.Data;
+
+/**
+ * 请求第三方接口
+ * @author : KeChanghui
+ * @date : 2023-7-9
+ */
+@Data
+public class Requester {
+ /** 自增id */
+ private String id ;
+ /** url(请求服务地址) */
+ private String url ;
+ /** 请求参数(值为空时,需要依赖实参传值。如小程序登录参数:{"appid":"","code":"","secret":"","grant_type":"authorization_code"}) */
+ private String param_map ;
+ /** 请求类型(1001-1999) */
+ private Integer request_type ;
+ /** 类别说明 */
+ private String type_description ;
+ /** 创建时间 */
+ private String create_time ;
+ /** 更新时间 */
+ private String update_time ;
+ /** 是否软删除 */
+ private Integer is_del ;
+
+}
diff --git a/models/src/main/java/com/haitongauto/models/pojo/ServiceConfig.java b/models/src/main/java/com/haitongauto/models/pojo/ServiceConfig.java
new file mode 100644
index 0000000..21ee08a
--- /dev/null
+++ b/models/src/main/java/com/haitongauto/models/pojo/ServiceConfig.java
@@ -0,0 +1,26 @@
+package com.haitongauto.models.pojo;
+
+import lombok.Data;
+
+/**
+ * 服务配置
+ * @author : KeChanghui
+ * @date : 2023-7-9
+ */
+@Data
+public class ServiceConfig {
+ /** 自增id */
+ private String id ;
+ /** 配置名称(系统服务地址,图片文件存储路径,图片访问路径,小程序appid,小程序密钥secret) */
+ private String config_name ;
+ /** 配置代码(100-系统服务地址,200-图片文件存储路径,300-图片访问路径,400-小程序appid,500-小程序密钥secret) */
+ private String config_code ;
+ /** 配置信息(文本) */
+ private String config_content ;
+ /** 创建时间 */
+ private String create_time ;
+ /** 更新时间 */
+ private String update_time ;
+ /** 是否软删除 */
+ private Integer isDel ;
+}
diff --git a/models/src/main/java/com/haitongauto/models/pojo/TableHead.java b/models/src/main/java/com/haitongauto/models/pojo/TableHead.java
new file mode 100644
index 0000000..9c27a66
--- /dev/null
+++ b/models/src/main/java/com/haitongauto/models/pojo/TableHead.java
@@ -0,0 +1,27 @@
+package com.haitongauto.models.pojo;
+
+import lombok.Data;
+
+/**
+ * 自定义表头(后台管理客户端可自定义勾选表头显示字段)
+ * @author : KeChanghui
+ * @date : 2023-7-9
+ */
+@Data
+public class TableHead {
+ /** 自增id */
+ private String id ;
+ /** 表名 */
+ private String table_name ;
+ /** 标识代码 */
+ private String table_code ;
+ /** 表头Json */
+ private String head_jason ;
+ /** 创建时间 */
+ private String create_time ;
+ /** 更新时间 */
+ private String update_time ;
+ /** 是否软删除 */
+ private Integer is_del ;
+
+}
diff --git a/models/src/main/java/com/haitongauto/models/pojo/Truck.java b/models/src/main/java/com/haitongauto/models/pojo/Truck.java
new file mode 100644
index 0000000..b557cdf
--- /dev/null
+++ b/models/src/main/java/com/haitongauto/models/pojo/Truck.java
@@ -0,0 +1,43 @@
+package com.haitongauto.models.pojo;
+
+import lombok.Data;
+import org.apache.poi.hpsf.Decimal;
+
+/**
+ * 板车信息(用户扫描行驶证获取)
+ * @author : KeChanghui
+ * @date : 2023-7-9
+ */
+@Data
+public class Truck {
+ /** 板车id */
+ private String id ;
+ /** 微信openid */
+ private String wx_openid;
+
+ /** 用户id */
+ private String users_id ;
+ /** 车牌号 */
+ private String truck_number ;
+ /** 行驶证ID */
+ private String driving_license_id ;
+ /** 司机电话 */
+ private String tel_number ;
+ /** 车头车架号 */
+ private String head_frame_number ;
+ /** 车辆自重 */
+ private Double vehicle_weight ;
+ /** 车架重 */
+ private Double vehicle_frame_weight ;
+
+ /** 行驶证(扫描件) */
+ private String driving_license ;
+ /** 板车状态(1-默认,0-其他,4-拉黑) */
+ private Integer truck_state ;
+ /** 创建时间 */
+ private String create_time ;
+ /** 更新时间 */
+ private String update_time ;
+ /** 是否软删除 */
+ private Integer is_del ;
+}
diff --git a/models/src/main/java/com/haitongauto/models/pojo/TruckManagement.java b/models/src/main/java/com/haitongauto/models/pojo/TruckManagement.java
new file mode 100644
index 0000000..0bd2761
--- /dev/null
+++ b/models/src/main/java/com/haitongauto/models/pojo/TruckManagement.java
@@ -0,0 +1,36 @@
+package com.haitongauto.models.pojo;
+
+import lombok.Data;
+
+/**
+ * 板车管理
+ * @author : KeChanghui
+ * @date : 2023-7-9
+ */
+@Data
+public class TruckManagement {
+ /** 车辆管理id */
+ private String id ;
+ /** 用户id */
+ private String users_id ;
+ /** (加入黑名单的)车牌号 */
+ private String truck_number ;
+ /** 原因 */
+ private String cause ;
+ /** 司机姓名 */
+ private String drivers_name ;
+ /** 司机电话 */
+ private String drivers_phone ;
+ /** 管理员姓名 */
+ private String administrators_name ;
+ /** 管理员电话 */
+ private String administrators_phone ;
+ /** 加入黑名单时间 */
+ private String enter_time ;
+ /** 创建时间 */
+ private String create_time ;
+ /** 更新时间 */
+ private String update_time ;
+ /** 是否软删除 */
+ private Integer is_del ;
+}
diff --git a/models/src/main/java/com/haitongauto/models/pojo/Users.java b/models/src/main/java/com/haitongauto/models/pojo/Users.java
new file mode 100644
index 0000000..c6aa8fe
--- /dev/null
+++ b/models/src/main/java/com/haitongauto/models/pojo/Users.java
@@ -0,0 +1,44 @@
+package com.haitongauto.models.pojo;
+
+import lombok.Data;
+
+/**
+ * 用户(司机)信息
+ * @author : KeChanghui
+ * @date : 2023-7-9
+ */
+@Data
+public class Users {
+ private String access_token ;
+
+ private String access_token_rtos ;
+
+ /** 用户id */
+ private String id ;
+ /** 用户姓名,默认为微信昵称 */
+ private String users_name ;
+ /** 微信获取openid-用户小程序唯一标识 */
+ private String wx_openid ;
+ /** 微信获取unionid-用户微信应用唯一标识 */
+ private String wx_unionid ;
+ /** 微信获取昵称 */
+ private String wx_nick ;
+ /** 微信获取性别 */
+ private String wx_sex ;
+ /** 微信获取头像 */
+ private String wx_head_sculpture ;
+ /** 手机号码 */
+ private String tel_number ;
+ /** 用户身分证号码 */
+ private String id_code ;
+ /** 用户状态(0-正常,1-停用) */
+ private Integer users_state ;
+ /** 创建时间 */
+ private String create_time ;
+ /** 更新时间 */
+ private String update_time ;
+ /** 是否软删除 */
+ private Integer is_del ;
+
+
+}
diff --git a/models/src/main/java/com/haitongauto/models/res/Response.java b/models/src/main/java/com/haitongauto/models/res/Response.java
new file mode 100644
index 0000000..7711a19
--- /dev/null
+++ b/models/src/main/java/com/haitongauto/models/res/Response.java
@@ -0,0 +1,22 @@
+package com.haitongauto.models.res;
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.serializer.SerializerFeature;
+import lombok.Data;
+
+import java.io.Serializable;
+
+
+@Data
+public class Response implements Serializable {
+ private Integer code = 200;
+
+ private String msg = "success";
+
+ private T data;
+
+ public String toJSONString() {
+ return JSON.toJSONString(this, SerializerFeature.WriteMapNullValue);
+ }
+
+}
+
diff --git a/models/src/main/java/com/haitongauto/models/sysuser/OldSysTruck.java b/models/src/main/java/com/haitongauto/models/sysuser/OldSysTruck.java
new file mode 100644
index 0000000..974fabd
--- /dev/null
+++ b/models/src/main/java/com/haitongauto/models/sysuser/OldSysTruck.java
@@ -0,0 +1,16 @@
+package com.haitongauto.models.sysuser;
+
+import lombok.Data;
+
+@Data
+public class OldSysTruck {
+ //id、users_id、truck_number、 tel_number、is_del、wx_openid、truck_state
+ private String id;
+ private String users_id;
+ private String truck_number;
+ private String tel_number;
+ private String wx_openid;
+ private String is_del;
+ private String truck_state;
+
+}
diff --git a/models/src/main/java/com/haitongauto/models/sysuser/OldSysUT.java b/models/src/main/java/com/haitongauto/models/sysuser/OldSysUT.java
new file mode 100644
index 0000000..1ae2c85
--- /dev/null
+++ b/models/src/main/java/com/haitongauto/models/sysuser/OldSysUT.java
@@ -0,0 +1,10 @@
+package com.haitongauto.models.sysuser;
+
+import lombok.Data;
+
+@Data
+public class OldSysUT {
+ private OldSysTruck applet_truck;
+
+ private OldSysUser applet_users;
+}
diff --git a/models/src/main/java/com/haitongauto/models/sysuser/OldSysUTDto.java b/models/src/main/java/com/haitongauto/models/sysuser/OldSysUTDto.java
new file mode 100644
index 0000000..1cb18e9
--- /dev/null
+++ b/models/src/main/java/com/haitongauto/models/sysuser/OldSysUTDto.java
@@ -0,0 +1,11 @@
+package com.haitongauto.models.sysuser;
+
+import lombok.Data;
+
+@Data
+public class OldSysUTDto {
+
+ private String wx_openid;
+
+ private String tel_number;
+}
diff --git a/models/src/main/java/com/haitongauto/models/sysuser/OldSysUser.java b/models/src/main/java/com/haitongauto/models/sysuser/OldSysUser.java
new file mode 100644
index 0000000..7c37bcb
--- /dev/null
+++ b/models/src/main/java/com/haitongauto/models/sysuser/OldSysUser.java
@@ -0,0 +1,21 @@
+package com.haitongauto.models.sysuser;
+
+import lombok.Data;
+
+@Data
+public class OldSysUser {
+ // id、users_name、wx_openid、tel_number、is_del、users_state
+
+ private String id;
+
+ private String users_name;
+
+ private String wx_openid;
+
+ private String tel_number;
+
+ private String is_del;
+
+ private String users_state;
+
+}
diff --git a/models/src/main/java/com/haitongauto/models/valid/cus/CheckStatus.java b/models/src/main/java/com/haitongauto/models/valid/cus/CheckStatus.java
new file mode 100644
index 0000000..b141f93
--- /dev/null
+++ b/models/src/main/java/com/haitongauto/models/valid/cus/CheckStatus.java
@@ -0,0 +1,11 @@
+package com.haitongauto.models.valid.cus;
+
+import lombok.Data;
+
+@Data
+public class CheckStatus {
+ /*** id*/
+ private String id;
+ /*** text*/
+ private String text;
+}
diff --git a/models/src/main/java/com/haitongauto/models/valid/cus/IsActivate.java b/models/src/main/java/com/haitongauto/models/valid/cus/IsActivate.java
new file mode 100644
index 0000000..351f723
--- /dev/null
+++ b/models/src/main/java/com/haitongauto/models/valid/cus/IsActivate.java
@@ -0,0 +1,11 @@
+package com.haitongauto.models.valid.cus;
+
+import lombok.Data;
+
+@Data
+public class IsActivate {
+ /*** id*/
+ private String id;
+ /*** text*/
+ private String text;
+}
diff --git a/models/src/main/java/com/haitongauto/models/valid/cus/ValidCusVin.java b/models/src/main/java/com/haitongauto/models/valid/cus/ValidCusVin.java
new file mode 100644
index 0000000..971f474
--- /dev/null
+++ b/models/src/main/java/com/haitongauto/models/valid/cus/ValidCusVin.java
@@ -0,0 +1,91 @@
+package com.haitongauto.models.valid.cus;
+
+import lombok.Data;
+
+@Data
+public class ValidCusVin {
+ /*** id*/
+ private String id; //ID integer(int64)
+ /*** 申请人*/
+ private String applicant; //申请人 string
+ /*** 申请人Id*/
+ private String applicantId; //申请人Id string
+ /*** 申请时间*/
+ private String applyTime; //申请时间 string(date-time)
+ /*** 批次号*/
+ private String batchNo;// 批次号 string
+ /*** 商品编码*/
+ private String cargoCode; //商品编码 string
+ /*** 商品料号*/
+ private String cargoItemNo; //商品料号 string
+ /*** 商品名称*/
+ private String cargoName; //商品名称 string
+ /*** 审核人*/
+ private String checkMan; //审核人 string
+ /*** 审核人ID*/
+ private String checkManId; //审核人ID string
+ /*** 审核原因*/
+ private String checkResult; //审核原因 string
+ /*** 审核状态,可用值:SUBMIT,AUDIT,AUDIT_PASS,AUDIT_REJECT*/
+ private CheckStatus checkStatus;//审核状态,可用值:SUBMIT,AUDIT,AUDIT_PASS,AUDIT_REJECT string
+ /*** 审核时间*/
+ private String checkTime; //审核时间 string(date-time)
+ /*** 城市*/
+ private String city; //城市 string
+ /*** 企业编码*/
+ private String companyCode;// 企业编码 string
+ /*** 企业名称*/
+ private String companyName; //企业名称 string
+ /*** 企业社会信用代码*/
+ private String companySocialCode; //企业社会信用代码 string
+ /*** 国家*/
+ private String country;// 国家 string
+ /*** 创建人*/
+ private String createBy; //创建人 string
+ /*** 创建人姓名*/
+ private String createByName; //创建人姓名 string
+ /*** 创建时间*/
+ private String createDate; //创建时间 string(date-time)
+ /*** 币制*/
+ private String currency; //币制 string
+
+
+ // private String isActivate;// 是否激活,可用值:SUBMIT,YES,NO string
+ /*** 是否激活,可用值:SUBMIT,YES,NO*/
+ private IsActivate isActivate;
+ /*** 净重*/
+ private String netWeight; //净重 number
+ /*** 原产国*/
+ private String originArea; //原产国 string
+ /*** 港区*/
+ private String portArea; //港区 string
+ /*** 港区ID*/
+ private String portAreaId;// 港区ID string
+ /*** 规格型号*/
+ private String spec; //规格型号 string
+ /*** 权限港区*/
+ private String termcd; //权限港区 string
+ /*** 总价*/
+ private String totalPrice; //总价 number
+ /*** 法定单位*/
+ private String unitLegal; //法定单位 string
+ /*** 申报计量单位*/
+ private String unitMeasure; //申报计量单位 string
+ /*** 修改人*/
+ private String updateBy; //修改人 string
+ /*** 修改人名称*/
+ private String updateByName; //修改人名称 string
+ /*** 修改时间*/
+ private String updateDate; //修改时间 string(date-time)
+ /*** 车架号*/
+ private String vin;// 车架号
+
+ /*** */
+ private String isDel;
+ //"version": 0,
+
+ /*** */
+ private String version;
+
+
+}
diff --git a/models/src/main/java/com/haitongauto/models/valid/cus/ValidRequest.java b/models/src/main/java/com/haitongauto/models/valid/cus/ValidRequest.java
new file mode 100644
index 0000000..ac65d66
--- /dev/null
+++ b/models/src/main/java/com/haitongauto/models/valid/cus/ValidRequest.java
@@ -0,0 +1,12 @@
+package com.haitongauto.models.valid.cus;
+
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class ValidRequest {
+ private String shipId;
+ private String voyageId;
+ private List vins;
+}
diff --git a/models/src/main/java/com/haitongauto/models/valid/naz/CargoInfo.java b/models/src/main/java/com/haitongauto/models/valid/naz/CargoInfo.java
new file mode 100644
index 0000000..09744b5
--- /dev/null
+++ b/models/src/main/java/com/haitongauto/models/valid/naz/CargoInfo.java
@@ -0,0 +1,15 @@
+package com.haitongauto.models.valid.naz;
+
+import lombok.Data;
+
+/*** 板车信息*/
+@Data
+public class CargoInfo {
+ /*** 板车车牌号*/
+ private String vehicleNo; //板车车牌号
+ /*** 板车车自重*/
+ private String vehicleWt;//板车车自重
+ /*** 板车车架重*/
+ private String vehicleFrameWt;//板车车架重
+
+}
diff --git a/models/src/main/java/com/haitongauto/models/valid/naz/CargoInfoNaz.java b/models/src/main/java/com/haitongauto/models/valid/naz/CargoInfoNaz.java
new file mode 100644
index 0000000..71e6933
--- /dev/null
+++ b/models/src/main/java/com/haitongauto/models/valid/naz/CargoInfoNaz.java
@@ -0,0 +1,19 @@
+package com.haitongauto.models.valid.naz;
+
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class CargoInfoNaz {
+ /*** 板车信息*/
+ private CargoInfo cargoInfo;
+ /*** 企业信息(货源方)*/
+ private EnterpriseInfo enterpriseInfo;
+
+ /*** 货物信息*/
+ private List goodsInfo;
+
+ /*** //申报类型,oneByOne/oneByMany*/
+ private String pushType;
+}
diff --git a/models/src/main/java/com/haitongauto/models/valid/naz/EnterpriseInfo.java b/models/src/main/java/com/haitongauto/models/valid/naz/EnterpriseInfo.java
new file mode 100644
index 0000000..d838fd9
--- /dev/null
+++ b/models/src/main/java/com/haitongauto/models/valid/naz/EnterpriseInfo.java
@@ -0,0 +1,18 @@
+package com.haitongauto.models.valid.naz;
+
+import lombok.Data;
+/*** 企业信息(货源方)*/
+@Data
+public class EnterpriseInfo {
+ /*** 企业编码(自定义)*/
+ private String number;
+ /*** 企业社会信用代码*/
+ private String code;
+ /*** 企业名称*/
+ private String name;
+ /*** 企业所在国家,后台默认给参数(142/中国)*/
+ private String country;
+ /*** 企业所在城市*/
+ private String city;
+
+}
diff --git a/models/src/main/java/com/haitongauto/models/valid/naz/Good.java b/models/src/main/java/com/haitongauto/models/valid/naz/Good.java
new file mode 100644
index 0000000..11f7239
--- /dev/null
+++ b/models/src/main/java/com/haitongauto/models/valid/naz/Good.java
@@ -0,0 +1,50 @@
+package com.haitongauto.models.valid.naz;
+
+import lombok.Data;
+/*** 货物信息*/
+@Data
+public class Good {
+//"gdsMtno": "AAA-CH-1", //商品料号
+//"gdecd": "8703800090", //商品编码
+//"gdsNm": "超级可以起飞的轿车01", //商品名称
+
+
+ /*** 商品料号*/
+ private String gdsMtno;
+ /*** 商品编码*/
+ private String gdecd;
+ /*** 商品名称*/
+ private String gdsNm;
+
+
+//"gdsSpcfModelDesc": "AAA-0101-001", //规格型号
+//"dclCurrcd": "142", //币制
+//"dclTotalAmt": "10000.0000", //总价
+//"netWt": "1755.00000", //净重
+ /*** 规格型号*/
+ private String gdsSpcfModelDesc;
+ /*** 币制*/
+ private String dclCurrcd;
+ /*** 总价*/
+ private String dclTotalAmt;
+ /*** 净重*/
+ private String netWt;
+
+
+
+//"dclUnitcd": "003", //申报计量单位
+//"unit1": "003", //法定单位
+//"natcd": "142", //原产国(地区)
+//"vin": "AAA100000011000012" //整车VIN
+ /*** 申报计量单位*/
+ private String dclUnitcd;
+ /*** 法定单位*/
+ private String unit1;
+ /*** 原产国(地区)*/
+ private String natcd;
+
+ /*** 整车VIN*/
+ private String vin;
+
+
+}
diff --git a/models/src/main/java/com/haitongauto/models/valid/naz/res/NarData.java b/models/src/main/java/com/haitongauto/models/valid/naz/res/NarData.java
new file mode 100644
index 0000000..41a7505
--- /dev/null
+++ b/models/src/main/java/com/haitongauto/models/valid/naz/res/NarData.java
@@ -0,0 +1,18 @@
+package com.haitongauto.models.valid.naz.res;
+
+import lombok.Data;
+
+@Data
+public class NarData {
+ // "errorMsg": "",
+// "pushId": "",
+// "pushType": "",
+// "successMsg": ""
+
+ private String errorMsg;
+ private String pushId;
+ private String pushType;
+
+ private String successMsg;
+
+}
diff --git a/models/src/main/java/com/haitongauto/models/valid/naz/res/NarRes.java b/models/src/main/java/com/haitongauto/models/valid/naz/res/NarRes.java
new file mode 100644
index 0000000..e0d7ae2
--- /dev/null
+++ b/models/src/main/java/com/haitongauto/models/valid/naz/res/NarRes.java
@@ -0,0 +1,29 @@
+package com.haitongauto.models.valid.naz.res;
+
+import lombok.Data;
+
+@Data
+public class NarRes {
+// "code": "",
+// "data": {
+// "errorMsg": "",
+// "pushId": "",
+// "pushType": "",
+// "successMsg": ""
+// },
+// "flag": true,
+// "msg": "",
+// "now": "",
+// "relationKey": "",
+// "success": true
+
+ private String code;
+
+ private NarData data;
+ private Boolean flag;
+ private String msg;
+ private String now;
+ private String relationKey;
+ private Boolean success;
+
+}
diff --git a/models/target/classes/com/haitongauto/models/dto/AnnouncementsDto.class b/models/target/classes/com/haitongauto/models/dto/AnnouncementsDto.class
new file mode 100644
index 0000000..a209db9
Binary files /dev/null and b/models/target/classes/com/haitongauto/models/dto/AnnouncementsDto.class differ
diff --git a/models/target/classes/com/haitongauto/models/dto/AppointmentDto.class b/models/target/classes/com/haitongauto/models/dto/AppointmentDto.class
new file mode 100644
index 0000000..d7534d6
Binary files /dev/null and b/models/target/classes/com/haitongauto/models/dto/AppointmentDto.class differ
diff --git a/models/target/classes/com/haitongauto/models/dto/AppointmentPostDto.class b/models/target/classes/com/haitongauto/models/dto/AppointmentPostDto.class
new file mode 100644
index 0000000..4d9d9fe
Binary files /dev/null and b/models/target/classes/com/haitongauto/models/dto/AppointmentPostDto.class differ
diff --git a/models/target/classes/com/haitongauto/models/dto/AppointmentQuery.class b/models/target/classes/com/haitongauto/models/dto/AppointmentQuery.class
new file mode 100644
index 0000000..6e7c4c6
Binary files /dev/null and b/models/target/classes/com/haitongauto/models/dto/AppointmentQuery.class differ
diff --git a/models/target/classes/com/haitongauto/models/dto/AppointmentQueryExl.class b/models/target/classes/com/haitongauto/models/dto/AppointmentQueryExl.class
new file mode 100644
index 0000000..28cfa27
Binary files /dev/null and b/models/target/classes/com/haitongauto/models/dto/AppointmentQueryExl.class differ
diff --git a/models/target/classes/com/haitongauto/models/dto/Appointment_Dto.class b/models/target/classes/com/haitongauto/models/dto/Appointment_Dto.class
new file mode 100644
index 0000000..390c758
Binary files /dev/null and b/models/target/classes/com/haitongauto/models/dto/Appointment_Dto.class differ
diff --git a/models/target/classes/com/haitongauto/models/dto/CurrentDayPunchClockDto.class b/models/target/classes/com/haitongauto/models/dto/CurrentDayPunchClockDto.class
new file mode 100644
index 0000000..8a8d298
Binary files /dev/null and b/models/target/classes/com/haitongauto/models/dto/CurrentDayPunchClockDto.class differ
diff --git a/models/target/classes/com/haitongauto/models/dto/DataForMessage.class b/models/target/classes/com/haitongauto/models/dto/DataForMessage.class
new file mode 100644
index 0000000..5d5acf2
Binary files /dev/null and b/models/target/classes/com/haitongauto/models/dto/DataForMessage.class differ
diff --git a/models/target/classes/com/haitongauto/models/dto/Details.class b/models/target/classes/com/haitongauto/models/dto/Details.class
new file mode 100644
index 0000000..01a2f1b
Binary files /dev/null and b/models/target/classes/com/haitongauto/models/dto/Details.class differ
diff --git a/models/target/classes/com/haitongauto/models/dto/DicDto.class b/models/target/classes/com/haitongauto/models/dto/DicDto.class
new file mode 100644
index 0000000..d59e67e
Binary files /dev/null and b/models/target/classes/com/haitongauto/models/dto/DicDto.class differ
diff --git a/models/target/classes/com/haitongauto/models/dto/EnterPortTypeDto.class b/models/target/classes/com/haitongauto/models/dto/EnterPortTypeDto.class
new file mode 100644
index 0000000..a57dabe
Binary files /dev/null and b/models/target/classes/com/haitongauto/models/dto/EnterPortTypeDto.class differ
diff --git a/models/target/classes/com/haitongauto/models/dto/EnterPortTypeDtol.class b/models/target/classes/com/haitongauto/models/dto/EnterPortTypeDtol.class
new file mode 100644
index 0000000..30aced2
Binary files /dev/null and b/models/target/classes/com/haitongauto/models/dto/EnterPortTypeDtol.class differ
diff --git a/models/target/classes/com/haitongauto/models/dto/Pages.class b/models/target/classes/com/haitongauto/models/dto/Pages.class
new file mode 100644
index 0000000..1bd4a57
Binary files /dev/null and b/models/target/classes/com/haitongauto/models/dto/Pages.class differ
diff --git a/models/target/classes/com/haitongauto/models/dto/PalletTruckAndUsers.class b/models/target/classes/com/haitongauto/models/dto/PalletTruckAndUsers.class
new file mode 100644
index 0000000..0649753
Binary files /dev/null and b/models/target/classes/com/haitongauto/models/dto/PalletTruckAndUsers.class differ
diff --git a/models/target/classes/com/haitongauto/models/dto/PunchClockQuery.class b/models/target/classes/com/haitongauto/models/dto/PunchClockQuery.class
new file mode 100644
index 0000000..cf560c1
Binary files /dev/null and b/models/target/classes/com/haitongauto/models/dto/PunchClockQuery.class differ
diff --git a/models/target/classes/com/haitongauto/models/dto/PunchClockQueryExl.class b/models/target/classes/com/haitongauto/models/dto/PunchClockQueryExl.class
new file mode 100644
index 0000000..c4342d6
Binary files /dev/null and b/models/target/classes/com/haitongauto/models/dto/PunchClockQueryExl.class differ
diff --git a/models/target/classes/com/haitongauto/models/dto/RecAndDepExcelDto.class b/models/target/classes/com/haitongauto/models/dto/RecAndDepExcelDto.class
new file mode 100644
index 0000000..1445ad4
Binary files /dev/null and b/models/target/classes/com/haitongauto/models/dto/RecAndDepExcelDto.class differ
diff --git a/models/target/classes/com/haitongauto/models/dto/Responser.class b/models/target/classes/com/haitongauto/models/dto/Responser.class
new file mode 100644
index 0000000..feba503
Binary files /dev/null and b/models/target/classes/com/haitongauto/models/dto/Responser.class differ
diff --git a/models/target/classes/com/haitongauto/models/dto/VehicleDetails.class b/models/target/classes/com/haitongauto/models/dto/VehicleDetails.class
new file mode 100644
index 0000000..7e5b156
Binary files /dev/null and b/models/target/classes/com/haitongauto/models/dto/VehicleDetails.class differ
diff --git a/models/target/classes/com/haitongauto/models/dto/app/CarOperationCountRespDTO.class b/models/target/classes/com/haitongauto/models/dto/app/CarOperationCountRespDTO.class
new file mode 100644
index 0000000..8dd1762
Binary files /dev/null and b/models/target/classes/com/haitongauto/models/dto/app/CarOperationCountRespDTO.class differ
diff --git a/models/target/classes/com/haitongauto/models/dto/app/CarPalletTrafficInfoRespDTO.class b/models/target/classes/com/haitongauto/models/dto/app/CarPalletTrafficInfoRespDTO.class
new file mode 100644
index 0000000..dd5b3d9
Binary files /dev/null and b/models/target/classes/com/haitongauto/models/dto/app/CarPalletTrafficInfoRespDTO.class differ
diff --git a/models/target/classes/com/haitongauto/models/dto/app/ChuanItem.class b/models/target/classes/com/haitongauto/models/dto/app/ChuanItem.class
new file mode 100644
index 0000000..ab33c6e
Binary files /dev/null and b/models/target/classes/com/haitongauto/models/dto/app/ChuanItem.class differ
diff --git a/models/target/classes/com/haitongauto/models/dto/app/CommercialVehicleDetail.class b/models/target/classes/com/haitongauto/models/dto/app/CommercialVehicleDetail.class
new file mode 100644
index 0000000..df80ee6
Binary files /dev/null and b/models/target/classes/com/haitongauto/models/dto/app/CommercialVehicleDetail.class differ
diff --git a/models/target/classes/com/haitongauto/models/dto/app/GateCarNumberRespDTO.class b/models/target/classes/com/haitongauto/models/dto/app/GateCarNumberRespDTO.class
new file mode 100644
index 0000000..c864808
Binary files /dev/null and b/models/target/classes/com/haitongauto/models/dto/app/GateCarNumberRespDTO.class differ
diff --git a/models/target/classes/com/haitongauto/models/dto/app/Vin.class b/models/target/classes/com/haitongauto/models/dto/app/Vin.class
new file mode 100644
index 0000000..45d9518
Binary files /dev/null and b/models/target/classes/com/haitongauto/models/dto/app/Vin.class differ
diff --git a/models/target/classes/com/haitongauto/models/dto/open/Appointment_Dto.class b/models/target/classes/com/haitongauto/models/dto/open/Appointment_Dto.class
new file mode 100644
index 0000000..a00b162
Binary files /dev/null and b/models/target/classes/com/haitongauto/models/dto/open/Appointment_Dto.class differ
diff --git a/models/target/classes/com/haitongauto/models/dto/open/GoodsInfo.class b/models/target/classes/com/haitongauto/models/dto/open/GoodsInfo.class
new file mode 100644
index 0000000..18ea18a
Binary files /dev/null and b/models/target/classes/com/haitongauto/models/dto/open/GoodsInfo.class differ
diff --git a/models/target/classes/com/haitongauto/models/dto/open/YardGoodsStateRespDTO.class b/models/target/classes/com/haitongauto/models/dto/open/YardGoodsStateRespDTO.class
new file mode 100644
index 0000000..ea75afd
Binary files /dev/null and b/models/target/classes/com/haitongauto/models/dto/open/YardGoodsStateRespDTO.class differ
diff --git a/models/target/classes/com/haitongauto/models/forward/AppointForward.class b/models/target/classes/com/haitongauto/models/forward/AppointForward.class
new file mode 100644
index 0000000..abdf42c
Binary files /dev/null and b/models/target/classes/com/haitongauto/models/forward/AppointForward.class differ
diff --git a/models/target/classes/com/haitongauto/models/forward/AppointOverState.class b/models/target/classes/com/haitongauto/models/forward/AppointOverState.class
new file mode 100644
index 0000000..e00eb72
Binary files /dev/null and b/models/target/classes/com/haitongauto/models/forward/AppointOverState.class differ
diff --git a/models/target/classes/com/haitongauto/models/forward/AppointOverStateDto.class b/models/target/classes/com/haitongauto/models/forward/AppointOverStateDto.class
new file mode 100644
index 0000000..6e5e5dd
Binary files /dev/null and b/models/target/classes/com/haitongauto/models/forward/AppointOverStateDto.class differ
diff --git a/models/target/classes/com/haitongauto/models/forward/ForwardRes.class b/models/target/classes/com/haitongauto/models/forward/ForwardRes.class
new file mode 100644
index 0000000..ae70aab
Binary files /dev/null and b/models/target/classes/com/haitongauto/models/forward/ForwardRes.class differ
diff --git a/models/target/classes/com/haitongauto/models/forward/UserTruck.class b/models/target/classes/com/haitongauto/models/forward/UserTruck.class
new file mode 100644
index 0000000..2e4ce46
Binary files /dev/null and b/models/target/classes/com/haitongauto/models/forward/UserTruck.class differ
diff --git a/models/target/classes/com/haitongauto/models/forward/VinDetail.class b/models/target/classes/com/haitongauto/models/forward/VinDetail.class
new file mode 100644
index 0000000..5b72c01
Binary files /dev/null and b/models/target/classes/com/haitongauto/models/forward/VinDetail.class differ
diff --git a/models/target/classes/com/haitongauto/models/ido/AppointmentDetail_Ido.class b/models/target/classes/com/haitongauto/models/ido/AppointmentDetail_Ido.class
new file mode 100644
index 0000000..cf2ec01
Binary files /dev/null and b/models/target/classes/com/haitongauto/models/ido/AppointmentDetail_Ido.class differ
diff --git a/models/target/classes/com/haitongauto/models/ido/BasicDataIdo.class b/models/target/classes/com/haitongauto/models/ido/BasicDataIdo.class
new file mode 100644
index 0000000..caf0ab5
Binary files /dev/null and b/models/target/classes/com/haitongauto/models/ido/BasicDataIdo.class differ
diff --git a/models/target/classes/com/haitongauto/models/ido/CheckRes.class b/models/target/classes/com/haitongauto/models/ido/CheckRes.class
new file mode 100644
index 0000000..88b4fd8
Binary files /dev/null and b/models/target/classes/com/haitongauto/models/ido/CheckRes.class differ
diff --git a/models/target/classes/com/haitongauto/models/ido/CommonRes.class b/models/target/classes/com/haitongauto/models/ido/CommonRes.class
new file mode 100644
index 0000000..322dd91
Binary files /dev/null and b/models/target/classes/com/haitongauto/models/ido/CommonRes.class differ
diff --git a/models/target/classes/com/haitongauto/models/ido/CustomerRes.class b/models/target/classes/com/haitongauto/models/ido/CustomerRes.class
new file mode 100644
index 0000000..5f38114
Binary files /dev/null and b/models/target/classes/com/haitongauto/models/ido/CustomerRes.class differ
diff --git a/models/target/classes/com/haitongauto/models/ido/DictionaryIdo.class b/models/target/classes/com/haitongauto/models/ido/DictionaryIdo.class
new file mode 100644
index 0000000..ade5c49
Binary files /dev/null and b/models/target/classes/com/haitongauto/models/ido/DictionaryIdo.class differ
diff --git a/models/target/classes/com/haitongauto/models/ido/PicturePathIdo.class b/models/target/classes/com/haitongauto/models/ido/PicturePathIdo.class
new file mode 100644
index 0000000..46a6311
Binary files /dev/null and b/models/target/classes/com/haitongauto/models/ido/PicturePathIdo.class differ
diff --git a/models/target/classes/com/haitongauto/models/ido/PortAreasIdo.class b/models/target/classes/com/haitongauto/models/ido/PortAreasIdo.class
new file mode 100644
index 0000000..8c40ac9
Binary files /dev/null and b/models/target/classes/com/haitongauto/models/ido/PortAreasIdo.class differ
diff --git a/models/target/classes/com/haitongauto/models/ido/RecAndDepInfoIdo.class b/models/target/classes/com/haitongauto/models/ido/RecAndDepInfoIdo.class
new file mode 100644
index 0000000..2810854
Binary files /dev/null and b/models/target/classes/com/haitongauto/models/ido/RecAndDepInfoIdo.class differ
diff --git a/models/target/classes/com/haitongauto/models/ido/ShipVoyIdo.class b/models/target/classes/com/haitongauto/models/ido/ShipVoyIdo.class
new file mode 100644
index 0000000..c3a735f
Binary files /dev/null and b/models/target/classes/com/haitongauto/models/ido/ShipVoyIdo.class differ
diff --git a/models/target/classes/com/haitongauto/models/ido/departure/DepDetailIdo.class b/models/target/classes/com/haitongauto/models/ido/departure/DepDetailIdo.class
new file mode 100644
index 0000000..092b672
Binary files /dev/null and b/models/target/classes/com/haitongauto/models/ido/departure/DepDetailIdo.class differ
diff --git a/models/target/classes/com/haitongauto/models/ido/departure/DepVinIdo.class b/models/target/classes/com/haitongauto/models/ido/departure/DepVinIdo.class
new file mode 100644
index 0000000..7e75295
Binary files /dev/null and b/models/target/classes/com/haitongauto/models/ido/departure/DepVinIdo.class differ
diff --git a/models/target/classes/com/haitongauto/models/ido/departure/DepartureDetailIdo.class b/models/target/classes/com/haitongauto/models/ido/departure/DepartureDetailIdo.class
new file mode 100644
index 0000000..15c90d0
Binary files /dev/null and b/models/target/classes/com/haitongauto/models/ido/departure/DepartureDetailIdo.class differ
diff --git a/models/target/classes/com/haitongauto/models/ido/departure/DepartureDetailIdo_DTO.class b/models/target/classes/com/haitongauto/models/ido/departure/DepartureDetailIdo_DTO.class
new file mode 100644
index 0000000..3c92d64
Binary files /dev/null and b/models/target/classes/com/haitongauto/models/ido/departure/DepartureDetailIdo_DTO.class differ
diff --git a/models/target/classes/com/haitongauto/models/ido/departure/DepartureVehicleIdo.class b/models/target/classes/com/haitongauto/models/ido/departure/DepartureVehicleIdo.class
new file mode 100644
index 0000000..faea6dc
Binary files /dev/null and b/models/target/classes/com/haitongauto/models/ido/departure/DepartureVehicleIdo.class differ
diff --git a/models/target/classes/com/haitongauto/models/ido/departure/DepartureVehicleIdoPar.class b/models/target/classes/com/haitongauto/models/ido/departure/DepartureVehicleIdoPar.class
new file mode 100644
index 0000000..f336c96
Binary files /dev/null and b/models/target/classes/com/haitongauto/models/ido/departure/DepartureVehicleIdoPar.class differ
diff --git a/models/target/classes/com/haitongauto/models/ido/departure/DepartureVehicleIdo_DTO.class b/models/target/classes/com/haitongauto/models/ido/departure/DepartureVehicleIdo_DTO.class
new file mode 100644
index 0000000..b0deb76
Binary files /dev/null and b/models/target/classes/com/haitongauto/models/ido/departure/DepartureVehicleIdo_DTO.class differ
diff --git a/models/target/classes/com/haitongauto/models/ido/departure/pc/DepartureVehicleIdoPar_pc.class b/models/target/classes/com/haitongauto/models/ido/departure/pc/DepartureVehicleIdoPar_pc.class
new file mode 100644
index 0000000..da1522f
Binary files /dev/null and b/models/target/classes/com/haitongauto/models/ido/departure/pc/DepartureVehicleIdoPar_pc.class differ
diff --git a/models/target/classes/com/haitongauto/models/ido/departure/pc/DepartureVehicleIdo_pc.class b/models/target/classes/com/haitongauto/models/ido/departure/pc/DepartureVehicleIdo_pc.class
new file mode 100644
index 0000000..10c354a
Binary files /dev/null and b/models/target/classes/com/haitongauto/models/ido/departure/pc/DepartureVehicleIdo_pc.class differ
diff --git a/models/target/classes/com/haitongauto/models/ido/login/PostLoginRes.class b/models/target/classes/com/haitongauto/models/ido/login/PostLoginRes.class
new file mode 100644
index 0000000..bdc1e1d
Binary files /dev/null and b/models/target/classes/com/haitongauto/models/ido/login/PostLoginRes.class differ
diff --git a/models/target/classes/com/haitongauto/models/ido/login/UserAuthResponseDto.class b/models/target/classes/com/haitongauto/models/ido/login/UserAuthResponseDto.class
new file mode 100644
index 0000000..af3a6f4
Binary files /dev/null and b/models/target/classes/com/haitongauto/models/ido/login/UserAuthResponseDto.class differ
diff --git a/models/target/classes/com/haitongauto/models/ido/login/UserInfoRes.class b/models/target/classes/com/haitongauto/models/ido/login/UserInfoRes.class
new file mode 100644
index 0000000..30b2781
Binary files /dev/null and b/models/target/classes/com/haitongauto/models/ido/login/UserInfoRes.class differ
diff --git a/models/target/classes/com/haitongauto/models/ido/login/UserLoginOrRegisterRequest.class b/models/target/classes/com/haitongauto/models/ido/login/UserLoginOrRegisterRequest.class
new file mode 100644
index 0000000..fe00534
Binary files /dev/null and b/models/target/classes/com/haitongauto/models/ido/login/UserLoginOrRegisterRequest.class differ
diff --git a/models/target/classes/com/haitongauto/models/ido/login/UserLoginOrRegisterResponse.class b/models/target/classes/com/haitongauto/models/ido/login/UserLoginOrRegisterResponse.class
new file mode 100644
index 0000000..8bd07ec
Binary files /dev/null and b/models/target/classes/com/haitongauto/models/ido/login/UserLoginOrRegisterResponse.class differ
diff --git a/models/target/classes/com/haitongauto/models/ido/login/UsersIdo.class b/models/target/classes/com/haitongauto/models/ido/login/UsersIdo.class
new file mode 100644
index 0000000..5405038
Binary files /dev/null and b/models/target/classes/com/haitongauto/models/ido/login/UsersIdo.class differ
diff --git a/models/target/classes/com/haitongauto/models/ido/receiving/RecDetailIdo.class b/models/target/classes/com/haitongauto/models/ido/receiving/RecDetailIdo.class
new file mode 100644
index 0000000..e7b1878
Binary files /dev/null and b/models/target/classes/com/haitongauto/models/ido/receiving/RecDetailIdo.class differ
diff --git a/models/target/classes/com/haitongauto/models/ido/receiving/RecVinIdo.class b/models/target/classes/com/haitongauto/models/ido/receiving/RecVinIdo.class
new file mode 100644
index 0000000..33b1098
Binary files /dev/null and b/models/target/classes/com/haitongauto/models/ido/receiving/RecVinIdo.class differ
diff --git a/models/target/classes/com/haitongauto/models/ido/receiving/ReceivingDetailIdo.class b/models/target/classes/com/haitongauto/models/ido/receiving/ReceivingDetailIdo.class
new file mode 100644
index 0000000..d7f6f57
Binary files /dev/null and b/models/target/classes/com/haitongauto/models/ido/receiving/ReceivingDetailIdo.class differ
diff --git a/models/target/classes/com/haitongauto/models/ido/receiving/ReceivingDetailIdo_DTO.class b/models/target/classes/com/haitongauto/models/ido/receiving/ReceivingDetailIdo_DTO.class
new file mode 100644
index 0000000..7b68ba4
Binary files /dev/null and b/models/target/classes/com/haitongauto/models/ido/receiving/ReceivingDetailIdo_DTO.class differ
diff --git a/models/target/classes/com/haitongauto/models/ido/receiving/ReceivingVehicleIdo.class b/models/target/classes/com/haitongauto/models/ido/receiving/ReceivingVehicleIdo.class
new file mode 100644
index 0000000..db9efb8
Binary files /dev/null and b/models/target/classes/com/haitongauto/models/ido/receiving/ReceivingVehicleIdo.class differ
diff --git a/models/target/classes/com/haitongauto/models/ido/receiving/ReceivingVehicleIdoPar.class b/models/target/classes/com/haitongauto/models/ido/receiving/ReceivingVehicleIdoPar.class
new file mode 100644
index 0000000..1270888
Binary files /dev/null and b/models/target/classes/com/haitongauto/models/ido/receiving/ReceivingVehicleIdoPar.class differ
diff --git a/models/target/classes/com/haitongauto/models/ido/receiving/ReceivingVehicleIdo_DTO.class b/models/target/classes/com/haitongauto/models/ido/receiving/ReceivingVehicleIdo_DTO.class
new file mode 100644
index 0000000..c30250b
Binary files /dev/null and b/models/target/classes/com/haitongauto/models/ido/receiving/ReceivingVehicleIdo_DTO.class differ
diff --git a/models/target/classes/com/haitongauto/models/ido/receiving/pc/ReceivingVehicleIdoPar_pc.class b/models/target/classes/com/haitongauto/models/ido/receiving/pc/ReceivingVehicleIdoPar_pc.class
new file mode 100644
index 0000000..e77293c
Binary files /dev/null and b/models/target/classes/com/haitongauto/models/ido/receiving/pc/ReceivingVehicleIdoPar_pc.class differ
diff --git a/models/target/classes/com/haitongauto/models/ido/receiving/pc/ReceivingVehicleIdo_pc.class b/models/target/classes/com/haitongauto/models/ido/receiving/pc/ReceivingVehicleIdo_pc.class
new file mode 100644
index 0000000..f58f0c4
Binary files /dev/null and b/models/target/classes/com/haitongauto/models/ido/receiving/pc/ReceivingVehicleIdo_pc.class differ
diff --git a/models/target/classes/com/haitongauto/models/open/AppointmentCmd.class b/models/target/classes/com/haitongauto/models/open/AppointmentCmd.class
new file mode 100644
index 0000000..f02cd34
Binary files /dev/null and b/models/target/classes/com/haitongauto/models/open/AppointmentCmd.class differ
diff --git a/models/target/classes/com/haitongauto/models/open/AppointmentDetailSort.class b/models/target/classes/com/haitongauto/models/open/AppointmentDetailSort.class
new file mode 100644
index 0000000..c31e79c
Binary files /dev/null and b/models/target/classes/com/haitongauto/models/open/AppointmentDetailSort.class differ
diff --git a/models/target/classes/com/haitongauto/models/open/AppointmentDetail_Ido.class b/models/target/classes/com/haitongauto/models/open/AppointmentDetail_Ido.class
new file mode 100644
index 0000000..34b68cd
Binary files /dev/null and b/models/target/classes/com/haitongauto/models/open/AppointmentDetail_Ido.class differ
diff --git a/models/target/classes/com/haitongauto/models/open/Appointment_Ido.class b/models/target/classes/com/haitongauto/models/open/Appointment_Ido.class
new file mode 100644
index 0000000..1037836
Binary files /dev/null and b/models/target/classes/com/haitongauto/models/open/Appointment_Ido.class differ
diff --git a/models/target/classes/com/haitongauto/models/open/QueryCondition.class b/models/target/classes/com/haitongauto/models/open/QueryCondition.class
new file mode 100644
index 0000000..fc31c26
Binary files /dev/null and b/models/target/classes/com/haitongauto/models/open/QueryCondition.class differ
diff --git a/models/target/classes/com/haitongauto/models/open/TruckIdo.class b/models/target/classes/com/haitongauto/models/open/TruckIdo.class
new file mode 100644
index 0000000..eea04d2
Binary files /dev/null and b/models/target/classes/com/haitongauto/models/open/TruckIdo.class differ
diff --git a/models/target/classes/com/haitongauto/models/pojo/Announcement.class b/models/target/classes/com/haitongauto/models/pojo/Announcement.class
new file mode 100644
index 0000000..db2686f
Binary files /dev/null and b/models/target/classes/com/haitongauto/models/pojo/Announcement.class differ
diff --git a/models/target/classes/com/haitongauto/models/pojo/Appointment.class b/models/target/classes/com/haitongauto/models/pojo/Appointment.class
new file mode 100644
index 0000000..6054f77
Binary files /dev/null and b/models/target/classes/com/haitongauto/models/pojo/Appointment.class differ
diff --git a/models/target/classes/com/haitongauto/models/pojo/AppointmentDetail.class b/models/target/classes/com/haitongauto/models/pojo/AppointmentDetail.class
new file mode 100644
index 0000000..24df26b
Binary files /dev/null and b/models/target/classes/com/haitongauto/models/pojo/AppointmentDetail.class differ
diff --git a/models/target/classes/com/haitongauto/models/pojo/DepartureDetail.class b/models/target/classes/com/haitongauto/models/pojo/DepartureDetail.class
new file mode 100644
index 0000000..1fdaab7
Binary files /dev/null and b/models/target/classes/com/haitongauto/models/pojo/DepartureDetail.class differ
diff --git a/models/target/classes/com/haitongauto/models/pojo/DepartureVehicle.class b/models/target/classes/com/haitongauto/models/pojo/DepartureVehicle.class
new file mode 100644
index 0000000..c6ae66e
Binary files /dev/null and b/models/target/classes/com/haitongauto/models/pojo/DepartureVehicle.class differ
diff --git a/models/target/classes/com/haitongauto/models/pojo/Dic.class b/models/target/classes/com/haitongauto/models/pojo/Dic.class
new file mode 100644
index 0000000..6e5e9a7
Binary files /dev/null and b/models/target/classes/com/haitongauto/models/pojo/Dic.class differ
diff --git a/models/target/classes/com/haitongauto/models/pojo/EntryInstruct.class b/models/target/classes/com/haitongauto/models/pojo/EntryInstruct.class
new file mode 100644
index 0000000..a4db45d
Binary files /dev/null and b/models/target/classes/com/haitongauto/models/pojo/EntryInstruct.class differ
diff --git a/models/target/classes/com/haitongauto/models/pojo/Feedback.class b/models/target/classes/com/haitongauto/models/pojo/Feedback.class
new file mode 100644
index 0000000..c83f736
Binary files /dev/null and b/models/target/classes/com/haitongauto/models/pojo/Feedback.class differ
diff --git a/models/target/classes/com/haitongauto/models/pojo/LoginLog.class b/models/target/classes/com/haitongauto/models/pojo/LoginLog.class
new file mode 100644
index 0000000..77a8914
Binary files /dev/null and b/models/target/classes/com/haitongauto/models/pojo/LoginLog.class differ
diff --git a/models/target/classes/com/haitongauto/models/pojo/Message.class b/models/target/classes/com/haitongauto/models/pojo/Message.class
new file mode 100644
index 0000000..e4fc44e
Binary files /dev/null and b/models/target/classes/com/haitongauto/models/pojo/Message.class differ
diff --git a/models/target/classes/com/haitongauto/models/pojo/NoviceIntroduction.class b/models/target/classes/com/haitongauto/models/pojo/NoviceIntroduction.class
new file mode 100644
index 0000000..fe59c1d
Binary files /dev/null and b/models/target/classes/com/haitongauto/models/pojo/NoviceIntroduction.class differ
diff --git a/models/target/classes/com/haitongauto/models/pojo/PortArea.class b/models/target/classes/com/haitongauto/models/pojo/PortArea.class
new file mode 100644
index 0000000..d7227fe
Binary files /dev/null and b/models/target/classes/com/haitongauto/models/pojo/PortArea.class differ
diff --git a/models/target/classes/com/haitongauto/models/pojo/PunchClock.class b/models/target/classes/com/haitongauto/models/pojo/PunchClock.class
new file mode 100644
index 0000000..7d6fcdd
Binary files /dev/null and b/models/target/classes/com/haitongauto/models/pojo/PunchClock.class differ
diff --git a/models/target/classes/com/haitongauto/models/pojo/ReceivingDetail.class b/models/target/classes/com/haitongauto/models/pojo/ReceivingDetail.class
new file mode 100644
index 0000000..c651b8c
Binary files /dev/null and b/models/target/classes/com/haitongauto/models/pojo/ReceivingDetail.class differ
diff --git a/models/target/classes/com/haitongauto/models/pojo/ReceivingVehicle.class b/models/target/classes/com/haitongauto/models/pojo/ReceivingVehicle.class
new file mode 100644
index 0000000..3a38f3d
Binary files /dev/null and b/models/target/classes/com/haitongauto/models/pojo/ReceivingVehicle.class differ
diff --git a/models/target/classes/com/haitongauto/models/pojo/Requester.class b/models/target/classes/com/haitongauto/models/pojo/Requester.class
new file mode 100644
index 0000000..7da9516
Binary files /dev/null and b/models/target/classes/com/haitongauto/models/pojo/Requester.class differ
diff --git a/models/target/classes/com/haitongauto/models/pojo/ServiceConfig.class b/models/target/classes/com/haitongauto/models/pojo/ServiceConfig.class
new file mode 100644
index 0000000..c1144be
Binary files /dev/null and b/models/target/classes/com/haitongauto/models/pojo/ServiceConfig.class differ
diff --git a/models/target/classes/com/haitongauto/models/pojo/TableHead.class b/models/target/classes/com/haitongauto/models/pojo/TableHead.class
new file mode 100644
index 0000000..1c74acd
Binary files /dev/null and b/models/target/classes/com/haitongauto/models/pojo/TableHead.class differ
diff --git a/models/target/classes/com/haitongauto/models/pojo/Truck.class b/models/target/classes/com/haitongauto/models/pojo/Truck.class
new file mode 100644
index 0000000..24d3785
Binary files /dev/null and b/models/target/classes/com/haitongauto/models/pojo/Truck.class differ
diff --git a/models/target/classes/com/haitongauto/models/pojo/TruckManagement.class b/models/target/classes/com/haitongauto/models/pojo/TruckManagement.class
new file mode 100644
index 0000000..e24032d
Binary files /dev/null and b/models/target/classes/com/haitongauto/models/pojo/TruckManagement.class differ
diff --git a/models/target/classes/com/haitongauto/models/pojo/Users.class b/models/target/classes/com/haitongauto/models/pojo/Users.class
new file mode 100644
index 0000000..9642412
Binary files /dev/null and b/models/target/classes/com/haitongauto/models/pojo/Users.class differ
diff --git a/models/target/classes/com/haitongauto/models/res/Response.class b/models/target/classes/com/haitongauto/models/res/Response.class
new file mode 100644
index 0000000..ed8b51a
Binary files /dev/null and b/models/target/classes/com/haitongauto/models/res/Response.class differ
diff --git a/models/target/classes/com/haitongauto/models/sysuser/OldSysTruck.class b/models/target/classes/com/haitongauto/models/sysuser/OldSysTruck.class
new file mode 100644
index 0000000..1471d3f
Binary files /dev/null and b/models/target/classes/com/haitongauto/models/sysuser/OldSysTruck.class differ
diff --git a/models/target/classes/com/haitongauto/models/sysuser/OldSysUT.class b/models/target/classes/com/haitongauto/models/sysuser/OldSysUT.class
new file mode 100644
index 0000000..cf701c1
Binary files /dev/null and b/models/target/classes/com/haitongauto/models/sysuser/OldSysUT.class differ
diff --git a/models/target/classes/com/haitongauto/models/sysuser/OldSysUTDto.class b/models/target/classes/com/haitongauto/models/sysuser/OldSysUTDto.class
new file mode 100644
index 0000000..29e8cdb
Binary files /dev/null and b/models/target/classes/com/haitongauto/models/sysuser/OldSysUTDto.class differ
diff --git a/models/target/classes/com/haitongauto/models/sysuser/OldSysUser.class b/models/target/classes/com/haitongauto/models/sysuser/OldSysUser.class
new file mode 100644
index 0000000..c5da541
Binary files /dev/null and b/models/target/classes/com/haitongauto/models/sysuser/OldSysUser.class differ
diff --git a/models/target/classes/com/haitongauto/models/valid/cus/CheckStatus.class b/models/target/classes/com/haitongauto/models/valid/cus/CheckStatus.class
new file mode 100644
index 0000000..b9b9a10
Binary files /dev/null and b/models/target/classes/com/haitongauto/models/valid/cus/CheckStatus.class differ
diff --git a/models/target/classes/com/haitongauto/models/valid/cus/IsActivate.class b/models/target/classes/com/haitongauto/models/valid/cus/IsActivate.class
new file mode 100644
index 0000000..357f385
Binary files /dev/null and b/models/target/classes/com/haitongauto/models/valid/cus/IsActivate.class differ
diff --git a/models/target/classes/com/haitongauto/models/valid/cus/ValidCusVin.class b/models/target/classes/com/haitongauto/models/valid/cus/ValidCusVin.class
new file mode 100644
index 0000000..22df922
Binary files /dev/null and b/models/target/classes/com/haitongauto/models/valid/cus/ValidCusVin.class differ
diff --git a/models/target/classes/com/haitongauto/models/valid/cus/ValidRequest.class b/models/target/classes/com/haitongauto/models/valid/cus/ValidRequest.class
new file mode 100644
index 0000000..18f339c
Binary files /dev/null and b/models/target/classes/com/haitongauto/models/valid/cus/ValidRequest.class differ
diff --git a/models/target/classes/com/haitongauto/models/valid/naz/CargoInfo.class b/models/target/classes/com/haitongauto/models/valid/naz/CargoInfo.class
new file mode 100644
index 0000000..c164218
Binary files /dev/null and b/models/target/classes/com/haitongauto/models/valid/naz/CargoInfo.class differ
diff --git a/models/target/classes/com/haitongauto/models/valid/naz/CargoInfoNaz.class b/models/target/classes/com/haitongauto/models/valid/naz/CargoInfoNaz.class
new file mode 100644
index 0000000..8aa23c5
Binary files /dev/null and b/models/target/classes/com/haitongauto/models/valid/naz/CargoInfoNaz.class differ
diff --git a/models/target/classes/com/haitongauto/models/valid/naz/EnterpriseInfo.class b/models/target/classes/com/haitongauto/models/valid/naz/EnterpriseInfo.class
new file mode 100644
index 0000000..7d9ada0
Binary files /dev/null and b/models/target/classes/com/haitongauto/models/valid/naz/EnterpriseInfo.class differ
diff --git a/models/target/classes/com/haitongauto/models/valid/naz/Good.class b/models/target/classes/com/haitongauto/models/valid/naz/Good.class
new file mode 100644
index 0000000..b82711d
Binary files /dev/null and b/models/target/classes/com/haitongauto/models/valid/naz/Good.class differ
diff --git a/models/target/classes/com/haitongauto/models/valid/naz/res/NarData.class b/models/target/classes/com/haitongauto/models/valid/naz/res/NarData.class
new file mode 100644
index 0000000..00a05c9
Binary files /dev/null and b/models/target/classes/com/haitongauto/models/valid/naz/res/NarData.class differ
diff --git a/models/target/classes/com/haitongauto/models/valid/naz/res/NarRes.class b/models/target/classes/com/haitongauto/models/valid/naz/res/NarRes.class
new file mode 100644
index 0000000..b726a5b
Binary files /dev/null and b/models/target/classes/com/haitongauto/models/valid/naz/res/NarRes.class differ
diff --git a/models/target/maven-archiver/pom.properties b/models/target/maven-archiver/pom.properties
new file mode 100644
index 0000000..89bca0c
--- /dev/null
+++ b/models/target/maven-archiver/pom.properties
@@ -0,0 +1,5 @@
+#Generated by Maven
+#Thu May 30 17:32:06 CST 2024
+version=1.0-SNAPSHOT
+groupId=org.example
+artifactId=models
diff --git a/models/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/models/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
new file mode 100644
index 0000000..c4870a7
--- /dev/null
+++ b/models/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
@@ -0,0 +1,110 @@
+com\haitongauto\models\dto\open\Appointment_Dto.class
+com\haitongauto\models\ido\ShipVoyIdo.class
+com\haitongauto\models\dto\app\CommercialVehicleDetail.class
+com\haitongauto\models\pojo\DepartureVehicle.class
+com\haitongauto\models\ido\login\UserInfoRes.class
+com\haitongauto\models\ido\departure\DepartureDetailIdo_DTO.class
+com\haitongauto\models\ido\login\UserLoginOrRegisterResponse.class
+com\haitongauto\models\pojo\TruckManagement.class
+com\haitongauto\models\ido\receiving\RecDetailIdo.class
+com\haitongauto\models\dto\RecAndDepExcelDto.class
+com\haitongauto\models\valid\cus\CheckStatus.class
+com\haitongauto\models\dto\app\GateCarNumberRespDTO.class
+com\haitongauto\models\ido\PicturePathIdo.class
+com\haitongauto\models\open\TruckIdo.class
+com\haitongauto\models\ido\CommonRes.class
+com\haitongauto\models\forward\AppointForward.class
+com\haitongauto\models\ido\departure\DepVinIdo.class
+com\haitongauto\models\dto\AppointmentPostDto.class
+com\haitongauto\models\forward\AppointOverState.class
+com\haitongauto\models\open\Appointment_Ido.class
+com\haitongauto\models\ido\departure\DepartureVehicleIdoPar.class
+com\haitongauto\models\dto\EnterPortTypeDto.class
+com\haitongauto\models\pojo\Feedback.class
+com\haitongauto\models\pojo\LoginLog.class
+com\haitongauto\models\open\AppointmentDetailSort.class
+com\haitongauto\models\dto\app\Vin.class
+com\haitongauto\models\ido\departure\DepartureVehicleIdo_DTO.class
+com\haitongauto\models\dto\PunchClockQueryExl.class
+com\haitongauto\models\pojo\TableHead.class
+com\haitongauto\models\dto\DicDto.class
+com\haitongauto\models\ido\CheckRes.class
+com\haitongauto\models\ido\receiving\pc\ReceivingVehicleIdoPar_pc.class
+com\haitongauto\models\open\AppointmentDetail_Ido.class
+com\haitongauto\models\dto\AnnouncementsDto.class
+com\haitongauto\models\forward\AppointOverStateDto.class
+com\haitongauto\models\valid\naz\Good.class
+com\haitongauto\models\ido\login\UserAuthResponseDto.class
+com\haitongauto\models\dto\PunchClockQuery.class
+com\haitongauto\models\pojo\ReceivingVehicle.class
+com\haitongauto\models\ido\receiving\ReceivingDetailIdo.class
+com\haitongauto\models\res\Response.class
+com\haitongauto\models\dto\Responser.class
+com\haitongauto\models\forward\VinDetail.class
+com\haitongauto\models\ido\departure\DepartureVehicleIdo.class
+com\haitongauto\models\pojo\Users.class
+com\haitongauto\models\valid\naz\CargoInfo.class
+com\haitongauto\models\dto\app\ChuanItem.class
+com\haitongauto\models\ido\receiving\ReceivingVehicleIdo_DTO.class
+com\haitongauto\models\pojo\Requester.class
+com\haitongauto\models\dto\AppointmentDto.class
+com\haitongauto\models\dto\VehicleDetails.class
+com\haitongauto\models\dto\open\GoodsInfo.class
+com\haitongauto\models\pojo\ReceivingDetail.class
+com\haitongauto\models\dto\Pages.class
+com\haitongauto\models\sysuser\OldSysUTDto.class
+com\haitongauto\models\dto\CurrentDayPunchClockDto.class
+com\haitongauto\models\pojo\PunchClock.class
+com\haitongauto\models\valid\naz\res\NarData.class
+com\haitongauto\models\pojo\EntryInstruct.class
+com\haitongauto\models\valid\cus\ValidRequest.class
+com\haitongauto\models\dto\app\CarPalletTrafficInfoRespDTO.class
+com\haitongauto\models\dto\AppointmentQuery.class
+com\haitongauto\models\pojo\Announcement.class
+com\haitongauto\models\dto\Appointment_Dto.class
+com\haitongauto\models\valid\naz\CargoInfoNaz.class
+com\haitongauto\models\valid\naz\EnterpriseInfo.class
+com\haitongauto\models\ido\AppointmentDetail_Ido.class
+com\haitongauto\models\sysuser\OldSysUT.class
+com\haitongauto\models\pojo\PortArea.class
+com\haitongauto\models\valid\naz\res\NarRes.class
+com\haitongauto\models\pojo\Message.class
+com\haitongauto\models\valid\cus\IsActivate.class
+com\haitongauto\models\pojo\AppointmentDetail.class
+com\haitongauto\models\ido\PortAreasIdo.class
+com\haitongauto\models\ido\BasicDataIdo.class
+com\haitongauto\models\pojo\NoviceIntroduction.class
+com\haitongauto\models\ido\receiving\ReceivingDetailIdo_DTO.class
+com\haitongauto\models\ido\receiving\RecVinIdo.class
+com\haitongauto\models\dto\app\CarOperationCountRespDTO.class
+com\haitongauto\models\dto\DataForMessage.class
+com\haitongauto\models\ido\receiving\ReceivingVehicleIdoPar.class
+com\haitongauto\models\open\QueryCondition.class
+com\haitongauto\models\pojo\Appointment.class
+com\haitongauto\models\ido\departure\DepDetailIdo.class
+com\haitongauto\models\pojo\Dic.class
+com\haitongauto\models\sysuser\OldSysUser.class
+com\haitongauto\models\open\AppointmentCmd.class
+com\haitongauto\models\pojo\Truck.class
+com\haitongauto\models\ido\departure\pc\DepartureVehicleIdo_pc.class
+com\haitongauto\models\dto\AppointmentQueryExl.class
+com\haitongauto\models\ido\login\UserLoginOrRegisterRequest.class
+com\haitongauto\models\dto\EnterPortTypeDtol.class
+com\haitongauto\models\pojo\DepartureDetail.class
+com\haitongauto\models\dto\PalletTruckAndUsers.class
+com\haitongauto\models\ido\departure\DepartureDetailIdo.class
+com\haitongauto\models\ido\login\PostLoginRes.class
+com\haitongauto\models\pojo\ServiceConfig.class
+com\haitongauto\models\ido\CustomerRes.class
+com\haitongauto\models\valid\cus\ValidCusVin.class
+com\haitongauto\models\ido\receiving\pc\ReceivingVehicleIdo_pc.class
+com\haitongauto\models\dto\Details.class
+com\haitongauto\models\forward\UserTruck.class
+com\haitongauto\models\ido\receiving\ReceivingVehicleIdo.class
+com\haitongauto\models\ido\departure\pc\DepartureVehicleIdoPar_pc.class
+com\haitongauto\models\ido\RecAndDepInfoIdo.class
+com\haitongauto\models\dto\open\YardGoodsStateRespDTO.class
+com\haitongauto\models\forward\ForwardRes.class
+com\haitongauto\models\ido\DictionaryIdo.class
+com\haitongauto\models\ido\login\UsersIdo.class
+com\haitongauto\models\sysuser\OldSysTruck.class
diff --git a/models/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/models/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
new file mode 100644
index 0000000..bdf956b
--- /dev/null
+++ b/models/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
@@ -0,0 +1,110 @@
+F:\Codes\rtos\v4\mini-service-v4\models\src\main\java\com\haitongauto\models\dto\EnterPortTypeDtol.java
+F:\Codes\rtos\v4\mini-service-v4\models\src\main\java\com\haitongauto\models\ido\DictionaryIdo.java
+F:\Codes\rtos\v4\mini-service-v4\models\src\main\java\com\haitongauto\models\valid\naz\CargoInfoNaz.java
+F:\Codes\rtos\v4\mini-service-v4\models\src\main\java\com\haitongauto\models\dto\Details.java
+F:\Codes\rtos\v4\mini-service-v4\models\src\main\java\com\haitongauto\models\ido\PortAreasIdo.java
+F:\Codes\rtos\v4\mini-service-v4\models\src\main\java\com\haitongauto\models\ido\login\UserAuthResponseDto.java
+F:\Codes\rtos\v4\mini-service-v4\models\src\main\java\com\haitongauto\models\dto\DataForMessage.java
+F:\Codes\rtos\v4\mini-service-v4\models\src\main\java\com\haitongauto\models\ido\receiving\ReceivingDetailIdo_DTO.java
+F:\Codes\rtos\v4\mini-service-v4\models\src\main\java\com\haitongauto\models\dto\PunchClockQuery.java
+F:\Codes\rtos\v4\mini-service-v4\models\src\main\java\com\haitongauto\models\ido\receiving\ReceivingVehicleIdoPar.java
+F:\Codes\rtos\v4\mini-service-v4\models\src\main\java\com\haitongauto\models\open\AppointmentCmd.java
+F:\Codes\rtos\v4\mini-service-v4\models\src\main\java\com\haitongauto\models\sysuser\OldSysUser.java
+F:\Codes\rtos\v4\mini-service-v4\models\src\main\java\com\haitongauto\models\pojo\DepartureVehicle.java
+F:\Codes\rtos\v4\mini-service-v4\models\src\main\java\com\haitongauto\models\dto\app\GateCarNumberRespDTO.java
+F:\Codes\rtos\v4\mini-service-v4\models\src\main\java\com\haitongauto\models\dto\AppointmentQueryExl.java
+F:\Codes\rtos\v4\mini-service-v4\models\src\main\java\com\haitongauto\models\ido\login\UserLoginOrRegisterRequest.java
+F:\Codes\rtos\v4\mini-service-v4\models\src\main\java\com\haitongauto\models\pojo\NoviceIntroduction.java
+F:\Codes\rtos\v4\mini-service-v4\models\src\main\java\com\haitongauto\models\dto\PunchClockQueryExl.java
+F:\Codes\rtos\v4\mini-service-v4\models\src\main\java\com\haitongauto\models\dto\DicDto.java
+F:\Codes\rtos\v4\mini-service-v4\models\src\main\java\com\haitongauto\models\dto\AppointmentQuery.java
+F:\Codes\rtos\v4\mini-service-v4\models\src\main\java\com\haitongauto\models\open\QueryCondition.java
+F:\Codes\rtos\v4\mini-service-v4\models\src\main\java\com\haitongauto\models\pojo\TruckManagement.java
+F:\Codes\rtos\v4\mini-service-v4\models\src\main\java\com\haitongauto\models\pojo\TableHead.java
+F:\Codes\rtos\v4\mini-service-v4\models\src\main\java\com\haitongauto\models\dto\Pages.java
+F:\Codes\rtos\v4\mini-service-v4\models\src\main\java\com\haitongauto\models\pojo\ServiceConfig.java
+F:\Codes\rtos\v4\mini-service-v4\models\src\main\java\com\haitongauto\models\ido\BasicDataIdo.java
+F:\Codes\rtos\v4\mini-service-v4\models\src\main\java\com\haitongauto\models\dto\app\CarOperationCountRespDTO.java
+F:\Codes\rtos\v4\mini-service-v4\models\src\main\java\com\haitongauto\models\pojo\PunchClock.java
+F:\Codes\rtos\v4\mini-service-v4\models\src\main\java\com\haitongauto\models\dto\VehicleDetails.java
+F:\Codes\rtos\v4\mini-service-v4\models\src\main\java\com\haitongauto\models\dto\Appointment_Dto.java
+F:\Codes\rtos\v4\mini-service-v4\models\src\main\java\com\haitongauto\models\ido\login\UsersIdo.java
+F:\Codes\rtos\v4\mini-service-v4\models\src\main\java\com\haitongauto\models\pojo\Users.java
+F:\Codes\rtos\v4\mini-service-v4\models\src\main\java\com\haitongauto\models\pojo\Feedback.java
+F:\Codes\rtos\v4\mini-service-v4\models\src\main\java\com\haitongauto\models\ido\departure\pc\DepartureVehicleIdoPar_pc.java
+F:\Codes\rtos\v4\mini-service-v4\models\src\main\java\com\haitongauto\models\forward\AppointOverStateDto.java
+F:\Codes\rtos\v4\mini-service-v4\models\src\main\java\com\haitongauto\models\res\Response.java
+F:\Codes\rtos\v4\mini-service-v4\models\src\main\java\com\haitongauto\models\ido\departure\DepDetailIdo.java
+F:\Codes\rtos\v4\mini-service-v4\models\src\main\java\com\haitongauto\models\ido\login\PostLoginRes.java
+F:\Codes\rtos\v4\mini-service-v4\models\src\main\java\com\haitongauto\models\pojo\PortArea.java
+F:\Codes\rtos\v4\mini-service-v4\models\src\main\java\com\haitongauto\models\dto\app\CarPalletTrafficInfoRespDTO.java
+F:\Codes\rtos\v4\mini-service-v4\models\src\main\java\com\haitongauto\models\ido\PicturePathIdo.java
+F:\Codes\rtos\v4\mini-service-v4\models\src\main\java\com\haitongauto\models\ido\receiving\pc\ReceivingVehicleIdo_pc.java
+F:\Codes\rtos\v4\mini-service-v4\models\src\main\java\com\haitongauto\models\ido\departure\DepartureVehicleIdoPar.java
+F:\Codes\rtos\v4\mini-service-v4\models\src\main\java\com\haitongauto\models\pojo\Announcement.java
+F:\Codes\rtos\v4\mini-service-v4\models\src\main\java\com\haitongauto\models\dto\open\GoodsInfo.java
+F:\Codes\rtos\v4\mini-service-v4\models\src\main\java\com\haitongauto\models\valid\cus\ValidCusVin.java
+F:\Codes\rtos\v4\mini-service-v4\models\src\main\java\com\haitongauto\models\dto\AppointmentDto.java
+F:\Codes\rtos\v4\mini-service-v4\models\src\main\java\com\haitongauto\models\dto\open\YardGoodsStateRespDTO.java
+F:\Codes\rtos\v4\mini-service-v4\models\src\main\java\com\haitongauto\models\ido\receiving\pc\ReceivingVehicleIdoPar_pc.java
+F:\Codes\rtos\v4\mini-service-v4\models\src\main\java\com\haitongauto\models\pojo\ReceivingVehicle.java
+F:\Codes\rtos\v4\mini-service-v4\models\src\main\java\com\haitongauto\models\dto\app\CommercialVehicleDetail.java
+F:\Codes\rtos\v4\mini-service-v4\models\src\main\java\com\haitongauto\models\ido\departure\DepartureDetailIdo_DTO.java
+F:\Codes\rtos\v4\mini-service-v4\models\src\main\java\com\haitongauto\models\pojo\AppointmentDetail.java
+F:\Codes\rtos\v4\mini-service-v4\models\src\main\java\com\haitongauto\models\pojo\Message.java
+F:\Codes\rtos\v4\mini-service-v4\models\src\main\java\com\haitongauto\models\ido\login\UserInfoRes.java
+F:\Codes\rtos\v4\mini-service-v4\models\src\main\java\com\haitongauto\models\pojo\LoginLog.java
+F:\Codes\rtos\v4\mini-service-v4\models\src\main\java\com\haitongauto\models\dto\open\Appointment_Dto.java
+F:\Codes\rtos\v4\mini-service-v4\models\src\main\java\com\haitongauto\models\sysuser\OldSysUT.java
+F:\Codes\rtos\v4\mini-service-v4\models\src\main\java\com\haitongauto\models\ido\CustomerRes.java
+F:\Codes\rtos\v4\mini-service-v4\models\src\main\java\com\haitongauto\models\pojo\Requester.java
+F:\Codes\rtos\v4\mini-service-v4\models\src\main\java\com\haitongauto\models\valid\cus\IsActivate.java
+F:\Codes\rtos\v4\mini-service-v4\models\src\main\java\com\haitongauto\models\pojo\Truck.java
+F:\Codes\rtos\v4\mini-service-v4\models\src\main\java\com\haitongauto\models\sysuser\OldSysUTDto.java
+F:\Codes\rtos\v4\mini-service-v4\models\src\main\java\com\haitongauto\models\valid\naz\res\NarData.java
+F:\Codes\rtos\v4\mini-service-v4\models\src\main\java\com\haitongauto\models\valid\naz\res\NarRes.java
+F:\Codes\rtos\v4\mini-service-v4\models\src\main\java\com\haitongauto\models\dto\EnterPortTypeDto.java
+F:\Codes\rtos\v4\mini-service-v4\models\src\main\java\com\haitongauto\models\valid\naz\Good.java
+F:\Codes\rtos\v4\mini-service-v4\models\src\main\java\com\haitongauto\models\open\AppointmentDetailSort.java
+F:\Codes\rtos\v4\mini-service-v4\models\src\main\java\com\haitongauto\models\ido\CheckRes.java
+F:\Codes\rtos\v4\mini-service-v4\models\src\main\java\com\haitongauto\models\ido\RecAndDepInfoIdo.java
+F:\Codes\rtos\v4\mini-service-v4\models\src\main\java\com\haitongauto\models\ido\receiving\ReceivingVehicleIdo_DTO.java
+F:\Codes\rtos\v4\mini-service-v4\models\src\main\java\com\haitongauto\models\sysuser\OldSysTruck.java
+F:\Codes\rtos\v4\mini-service-v4\models\src\main\java\com\haitongauto\models\ido\departure\DepartureVehicleIdo.java
+F:\Codes\rtos\v4\mini-service-v4\models\src\main\java\com\haitongauto\models\ido\departure\DepVinIdo.java
+F:\Codes\rtos\v4\mini-service-v4\models\src\main\java\com\haitongauto\models\forward\VinDetail.java
+F:\Codes\rtos\v4\mini-service-v4\models\src\main\java\com\haitongauto\models\forward\UserTruck.java
+F:\Codes\rtos\v4\mini-service-v4\models\src\main\java\com\haitongauto\models\ido\departure\DepartureVehicleIdo_DTO.java
+F:\Codes\rtos\v4\mini-service-v4\models\src\main\java\com\haitongauto\models\ido\receiving\ReceivingDetailIdo.java
+F:\Codes\rtos\v4\mini-service-v4\models\src\main\java\com\haitongauto\models\dto\AppointmentPostDto.java
+F:\Codes\rtos\v4\mini-service-v4\models\src\main\java\com\haitongauto\models\dto\AnnouncementsDto.java
+F:\Codes\rtos\v4\mini-service-v4\models\src\main\java\com\haitongauto\models\dto\RecAndDepExcelDto.java
+F:\Codes\rtos\v4\mini-service-v4\models\src\main\java\com\haitongauto\models\ido\login\UserLoginOrRegisterResponse.java
+F:\Codes\rtos\v4\mini-service-v4\models\src\main\java\com\haitongauto\models\ido\receiving\RecDetailIdo.java
+F:\Codes\rtos\v4\mini-service-v4\models\src\main\java\com\haitongauto\models\pojo\Appointment.java
+F:\Codes\rtos\v4\mini-service-v4\models\src\main\java\com\haitongauto\models\pojo\ReceivingDetail.java
+F:\Codes\rtos\v4\mini-service-v4\models\src\main\java\com\haitongauto\models\ido\ShipVoyIdo.java
+F:\Codes\rtos\v4\mini-service-v4\models\src\main\java\com\haitongauto\models\valid\cus\ValidRequest.java
+F:\Codes\rtos\v4\mini-service-v4\models\src\main\java\com\haitongauto\models\forward\AppointOverState.java
+F:\Codes\rtos\v4\mini-service-v4\models\src\main\java\com\haitongauto\models\dto\app\Vin.java
+F:\Codes\rtos\v4\mini-service-v4\models\src\main\java\com\haitongauto\models\pojo\EntryInstruct.java
+F:\Codes\rtos\v4\mini-service-v4\models\src\main\java\com\haitongauto\models\ido\receiving\RecVinIdo.java
+F:\Codes\rtos\v4\mini-service-v4\models\src\main\java\com\haitongauto\models\ido\receiving\ReceivingVehicleIdo.java
+F:\Codes\rtos\v4\mini-service-v4\models\src\main\java\com\haitongauto\models\pojo\Dic.java
+F:\Codes\rtos\v4\mini-service-v4\models\src\main\java\com\haitongauto\models\forward\ForwardRes.java
+F:\Codes\rtos\v4\mini-service-v4\models\src\main\java\com\haitongauto\models\open\Appointment_Ido.java
+F:\Codes\rtos\v4\mini-service-v4\models\src\main\java\com\haitongauto\models\dto\PalletTruckAndUsers.java
+F:\Codes\rtos\v4\mini-service-v4\models\src\main\java\com\haitongauto\models\valid\naz\CargoInfo.java
+F:\Codes\rtos\v4\mini-service-v4\models\src\main\java\com\haitongauto\models\ido\departure\DepartureDetailIdo.java
+F:\Codes\rtos\v4\mini-service-v4\models\src\main\java\com\haitongauto\models\open\AppointmentDetail_Ido.java
+F:\Codes\rtos\v4\mini-service-v4\models\src\main\java\com\haitongauto\models\dto\CurrentDayPunchClockDto.java
+F:\Codes\rtos\v4\mini-service-v4\models\src\main\java\com\haitongauto\models\dto\Responser.java
+F:\Codes\rtos\v4\mini-service-v4\models\src\main\java\com\haitongauto\models\open\TruckIdo.java
+F:\Codes\rtos\v4\mini-service-v4\models\src\main\java\com\haitongauto\models\valid\naz\EnterpriseInfo.java
+F:\Codes\rtos\v4\mini-service-v4\models\src\main\java\com\haitongauto\models\ido\departure\pc\DepartureVehicleIdo_pc.java
+F:\Codes\rtos\v4\mini-service-v4\models\src\main\java\com\haitongauto\models\pojo\DepartureDetail.java
+F:\Codes\rtos\v4\mini-service-v4\models\src\main\java\com\haitongauto\models\valid\cus\CheckStatus.java
+F:\Codes\rtos\v4\mini-service-v4\models\src\main\java\com\haitongauto\models\ido\CommonRes.java
+F:\Codes\rtos\v4\mini-service-v4\models\src\main\java\com\haitongauto\models\forward\AppointForward.java
+F:\Codes\rtos\v4\mini-service-v4\models\src\main\java\com\haitongauto\models\ido\AppointmentDetail_Ido.java
+F:\Codes\rtos\v4\mini-service-v4\models\src\main\java\com\haitongauto\models\dto\app\ChuanItem.java
diff --git a/models/target/models-1.0-SNAPSHOT.jar b/models/target/models-1.0-SNAPSHOT.jar
new file mode 100644
index 0000000..778492d
Binary files /dev/null and b/models/target/models-1.0-SNAPSHOT.jar differ
diff --git a/pom.xml b/pom.xml
new file mode 100644
index 0000000..505d1c9
--- /dev/null
+++ b/pom.xml
@@ -0,0 +1,93 @@
+
+
+
+ 4.0.0
+ org.example
+ rtos-wh
+ 1.0-SNAPSHOT
+
+ wx-applet
+ wx-applet-admin
+ models
+ utils
+ mapper
+ interfaces
+
+ pom
+
+
+ 1.8
+ 1.8
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ com.alibaba.cloud
+ spring-cloud-alibaba-dependencies
+
+ 2021.1
+ pom
+ import
+
+
+
+ org.springframework.cloud
+ spring-cloud-dependencies
+
+ 2021.0.2
+ pom
+ import
+
+
+ org.springframework.boot
+ spring-boot-dependencies
+
+ 2.6.14
+ pom
+ import
+
+
+
+ com.example
+ my-annotation-processor
+ 1.0.0
+ provided
+
+
+
+
+ io.springfox
+ springfox-swagger2
+ 2.9.2
+
+
+ io.springfox
+ springfox-swagger-ui
+ 2.9.2
+
+
+
+
+
+
+ top.jfunc.json
+ Json-Gson
+ 1.0
+
+
+
+
+
diff --git a/reademe b/reademe
new file mode 100644
index 0000000..e69de29
diff --git a/utils/pom.xml b/utils/pom.xml
new file mode 100644
index 0000000..bb70dd5
--- /dev/null
+++ b/utils/pom.xml
@@ -0,0 +1,103 @@
+
+
+
+ rtos-wh
+ org.example
+ 1.0-SNAPSHOT
+
+ 4.0.0
+ utils
+
+
+ 1.8
+ 1.8
+ UTF-8
+
+
+
+ org.springframework.boot
+ spring-boot-starter
+ 2.7.8
+
+
+ org.springframework.boot
+ spring-boot-starter-web
+ 2.7.8
+
+
+ com.itextpdf
+ html2pdf
+ 3.0.2
+
+
+
+ com.itextpdf
+ font-asian
+ 7.1.13
+
+
+ org.projectlombok
+ lombok
+ 1.18.26
+ compile
+
+
+ org.example
+ models
+ 1.0-SNAPSHOT
+ compile
+
+
+
+ com.alibaba
+ easyexcel
+ 3.0.2
+
+
+
+ cglib
+ cglib
+ 3.1
+
+
+ io.minio
+ minio
+ 6.0.11
+
+
+ com.alibaba
+ fastjson
+ 1.2.7
+
+
+ junit
+ junit
+ test
+
+
+ com.bestvike
+ linq
+ 3.1.0
+
+
+ top.jfunc.json
+ Json-Gson
+ 1.0
+
+
+ org.apache.logging.log4j
+ log4j-api
+ 2.14.1
+
+
+ org.apache.logging.log4j
+ log4j-core
+ 2.14.1
+
+
+
+
+
+
\ No newline at end of file
diff --git a/utils/src/main/java/com/haitongauto/utils/CorsConfig.java b/utils/src/main/java/com/haitongauto/utils/CorsConfig.java
new file mode 100644
index 0000000..99fbc47
--- /dev/null
+++ b/utils/src/main/java/com/haitongauto/utils/CorsConfig.java
@@ -0,0 +1,51 @@
+package com.haitongauto.utils;
+
+import org.springframework.context.annotation.Configuration;
+import org.springframework.web.servlet.config.annotation.CorsRegistry;
+import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
+import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
+
+/**
+ * 跨域配置:重写WebMvcConfigurer即可
+ */
+@Configuration
+public class CorsConfig implements WebMvcConfigurer {
+ /**
+ * 跨域支持方法
+ * @param registry 开启跨域注册
+ */
+ @Override
+ public void addCorsMappings(CorsRegistry registry){
+ //addMapping 添加可跨域的请求地址
+ registry.addMapping("/**")
+ //设置跨域 域名权限 规定由某一个指定的域名+端口能访问跨域项目
+ .allowedOrigins("*")
+ //.allowedOrigins("http://localhost:8080")
+ //是否开启cookie跨域
+ .allowCredentials(false)
+ //规定能够跨域访问的方法类型
+ .allowedMethods("GET","POST","DELETE","PUT","OPTIONS")
+ //添加验证请求头信息 token
+ .allowedHeaders("*")
+ //预请求存活时间,在此期间不在发送预请求
+ .maxAge(3600);
+ }
+
+ /**
+ * 请求拦截:将请求路径映射到安全的目标路径
+ * @param registry 注册实例
+ */
+ @Override
+ public void addResourceHandlers(ResourceHandlerRegistry registry) {
+ ////addResourceHandler:请求路径
+ ////addResourceLocations:映射路径
+ //registry.addResourceHandler("/**")
+ // .addResourceLocations("classpath:/static/");
+ //registry.addResourceHandler("swagger-ui.html")
+ // .addResourceLocations("classpath:/META-INF/resources/");
+ //registry.addResourceHandler("doc.html")
+ // .addResourceLocations("classpath:/META-INF/resources/");
+ //registry.addResourceHandler("/webjars/**")
+ // .addResourceLocations("classpath:/META-INF/resources/webjars/");
+ }
+}
diff --git a/utils/src/main/java/com/haitongauto/utils/DateTimeHelper.java b/utils/src/main/java/com/haitongauto/utils/DateTimeHelper.java
new file mode 100644
index 0000000..f815f85
--- /dev/null
+++ b/utils/src/main/java/com/haitongauto/utils/DateTimeHelper.java
@@ -0,0 +1,73 @@
+package com.haitongauto.utils;
+
+import java.text.ParsePosition;
+import java.text.SimpleDateFormat;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+import java.time.LocalTime;
+import java.util.Date;
+
+public class DateTimeHelper {
+ /**
+ * 字符串转日期时间
+ * @param my_date_time my_date_time
+ * @return return
+ */
+ public static Date DateStrToDateTime(String my_date_time){
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+ ParsePosition pos = new ParsePosition(0);
+ return sdf.parse(my_date_time,pos);
+ }
+
+ /**
+ * 字符串转日期
+ * @param my_date my_date
+ * @return return
+ */
+ public static Date DateStrToDate(String my_date){
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+ ParsePosition pos = new ParsePosition(0);
+ return sdf.parse(my_date,pos);
+ }
+
+ /**
+ * 字符串转时间
+ * @param my_date my_date
+ * @return return
+ */
+ public static Date DateStrToTime(String my_date){
+ SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss");
+ ParsePosition pos = new ParsePosition(0);
+ return sdf.parse(my_date,pos);
+ }
+
+
+ /**
+ * 字符串转LoaclDateTime
+ * @param my_date:日期时间字符串
+ * @return 日期时间对象
+ */
+ public static LocalDateTime DateTimeStrToLocalDateTime(String my_date){
+ my_date=my_date.replace(" ","T");
+ return LocalDateTime.parse(my_date);
+ }
+
+ /**
+ * 字符串转LocalDate
+ * @param my_date my_date
+ * @return return
+ */
+ public static LocalDate DateStrToLocalDate(String my_date){
+ return LocalDate.parse(my_date);
+ }
+
+ /**
+ * 字符串转LocalTime
+ * @param my_date my_date
+ * @return return
+ */
+ public static LocalTime DateStrToLocalTime(String my_date){
+ return LocalTime.parse(my_date);
+ }
+
+}
diff --git a/utils/src/main/java/com/haitongauto/utils/FileDownloadUtil.java b/utils/src/main/java/com/haitongauto/utils/FileDownloadUtil.java
new file mode 100644
index 0000000..deb89a3
--- /dev/null
+++ b/utils/src/main/java/com/haitongauto/utils/FileDownloadUtil.java
@@ -0,0 +1,90 @@
+package com.haitongauto.utils;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.*;
+import java.net.HttpURLConnection;
+import java.net.MalformedURLException;
+import java.net.ProtocolException;
+import java.net.URL;
+
+public class FileDownloadUtil {
+
+ /**
+ * 从服务器获得一个输入流
+ * @param urlPath 路径
+ * @return 返回输入流
+ */
+ public static InputStream getInputStream(String urlPath) {
+ InputStream inputStream = null;
+ HttpURLConnection httpURLConnection = null;
+ try {
+ URL url = new URL(urlPath);
+ httpURLConnection = (HttpURLConnection) url.openConnection();
+ // 设置网络连接超时时间
+ httpURLConnection.setConnectTimeout(3000);
+ // 设置应用程序要从网络连接读取数据
+ httpURLConnection.setDoInput(true);
+ httpURLConnection.setRequestMethod("GET");
+ int responseCode = httpURLConnection.getResponseCode();
+ System.out.println("responseCode is:" + responseCode);
+ if (responseCode == HttpURLConnection.HTTP_OK) {
+ // 从服务器返回一个输入流
+ inputStream = httpURLConnection.getInputStream();
+ } else {
+ inputStream = httpURLConnection.getErrorStream();
+ }
+ } catch (MalformedURLException e) {
+ e.printStackTrace();
+ } catch (IOException e) {
+ throw new RuntimeException(e);
+ }
+ return inputStream;
+ }
+
+ /**
+ * @param resp resp
+ * @param inputStream inputStream
+ * @description: 将输入流输出到页面
+ */
+ public static void writeFile(HttpServletResponse resp, InputStream inputStream) {
+ OutputStream out = null;
+ try {
+ out = resp.getOutputStream();
+ int len = 0;
+ byte[] b = new byte[4096];
+ while ((len = inputStream.read(b)) != -1) {
+ out.write(b, 0, len);
+ }
+ out.flush();
+ } catch (IOException e) {
+ e.printStackTrace();
+ } finally {
+ try {
+ //inputStream.close();
+ if (out != null) {
+ out.close();
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+ }
+
+
+ /**
+ * 获得输入流
+ * @param filePath 完整的文夹路径名
+ * @return 返回输入流
+ */
+ public static InputStream fileToInputStream(String filePath) {
+ File file = new File(filePath);
+ FileInputStream fileInputStream = null;
+ try {
+ fileInputStream = new FileInputStream(file);
+ } catch (FileNotFoundException e) {
+ throw new RuntimeException(e);
+ }
+ return fileInputStream;
+ }
+
+}
\ No newline at end of file
diff --git a/utils/src/main/java/com/haitongauto/utils/FormatDateTime.java b/utils/src/main/java/com/haitongauto/utils/FormatDateTime.java
new file mode 100644
index 0000000..05bd666
--- /dev/null
+++ b/utils/src/main/java/com/haitongauto/utils/FormatDateTime.java
@@ -0,0 +1,352 @@
+package com.haitongauto.utils;
+
+import java.text.ParsePosition;
+import java.text.SimpleDateFormat;
+import java.time.Instant;
+import java.time.LocalDate;
+import java.time.ZoneId;
+import java.util.Calendar;
+import java.util.Date;
+import java.util.GregorianCalendar;
+import java.util.concurrent.TimeUnit;
+
+public class FormatDateTime {
+ /**
+ * 日期加一天
+ *
+ * @return 返回时间类型 yyyy-MM-dd HH:mm:ss
+ */
+ public static Date getDateAddOne(Date myDate) {
+ Date currentTime = myDate;
+ Calendar calendar = new GregorianCalendar();
+ calendar.setTime(currentTime);
+ calendar.add(Calendar.DATE, 1);
+ currentTime = calendar.getTime();
+ return currentTime;
+ }
+
+ /**
+ * 获取今天文件夹日期
+ *
+ * @return 返回时间类型 yyyy-MM-dd HH:mm:ss
+ */
+ public static String getTodayStr() {
+ Date currentTime = new Date();
+ SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMdd");
+ String dateString = formatter.format(currentTime);
+ return dateString;
+ }
+
+ /**
+ * 获取昨天文件夹日期
+ *
+ * @return 返回时间类型 yyyy-MM-dd HH:mm:ss
+ */
+ public static String getYesTodayStr() {
+ Date currentTime = new Date();
+ Calendar calendar = new GregorianCalendar();
+ calendar.setTime(currentTime);
+ calendar.add(Calendar.DATE, -1);
+ currentTime = calendar.getTime();
+ SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMdd");
+ String dateString = formatter.format(currentTime);
+ return dateString;
+ }
+
+
+ /**
+ * 获取现在时间
+ *
+ * @return 返回时间类型 yyyy-MM-dd HH:mm:ss
+ */
+ public static Date getNowDate() {
+ Date currentTime = new Date();
+ SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+ String dateString = formatter.format(currentTime);
+ ParsePosition pos = new ParsePosition(8);
+ return formatter.parse(dateString, pos);
+ }
+
+ /**
+ * 获取现在时间
+ *
+ * @return 返回字符串格式 yyyy-MM-dd HH:mm:ss
+ */
+ public static String getStringDate() {
+ Date currentTime = new Date();
+ SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+ return formatter.format(currentTime);
+ }
+
+ /**
+ * 获取现在时间
+ *
+ * @return 返回短时间字符串格式yyyy-MM-dd
+ */
+ public static String getStringDateShort() {
+ Date currentTime = new Date();
+ SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
+ return formatter.format(currentTime);
+ }
+
+ /**
+ * 获取时间 小时:分;秒 HH:mm:ss
+ *
+ * @return 返回字符串格式 HH:mm:ss
+ */
+ public static String getTimeShort() {
+ SimpleDateFormat formatter = new SimpleDateFormat("HH:mm:ss");
+ Date currentTime = new Date();
+ return formatter.format(currentTime);
+ }
+
+ /**
+ * 将长时间格式字符串转换为时间 yyyy-MM-dd HH:mm:ss
+ *
+ * @param strDateTime strDateTime
+ * @return 长时间格式字符串转换为时间 yyyy-MM-dd HH:mm:ss
+ */
+ public static Date strToDateTime(String strDateTime) {
+ SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+ ParsePosition pos = new ParsePosition(0);
+ return formatter.parse(strDateTime, pos);
+ }
+
+ /**
+ * 将换长时间格式时间转为字符串 yyyy-MM-dd HH:mm:ss
+ *
+ * @param dateDate dateDate
+ * @return 换长时间格式时间转为字符串 yyyy-MM-dd HH:mm:ss
+ */
+ public static String dateTimeToStr(Date dateDate) {
+ SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+ return formatter.format(dateDate);
+ }
+
+ /**
+ * 将短时间格式时间转换为字符串 yyyy-MM-dd
+ *
+ * @param dateDate dateDate
+ * @return 短时间格式时间转换为字符串 yyyy-MM-dd
+ */
+ public static String dateToStr(Date dateDate) {
+ SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
+ return formatter.format(dateDate);
+ }
+
+ /**
+ * 将短时间格式字符串转换为时间 yyyy-MM-dd
+ *
+ * @param strDate strDate
+ * @return return
+ */
+ public static Date strToDate(String strDate) {
+ SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
+ ParsePosition pos = new ParsePosition(0);
+ return formatter.parse(strDate, pos);
+ }
+
+ /**
+ * 得到现在时间
+ *
+ * @return return
+ */
+ public static Date getNow() {
+ return new Date();
+ }
+
+ /**
+ * 提取一个月中的最后一天
+ *
+ * @param day day
+ * @return 一个月中的最后一天
+ */
+ public static Date getLastDate(long day) {
+ Date date = new Date();
+ long date_3_hm = date.getTime() - 3600000 * 34 * day;
+ return new Date(date_3_hm);
+ }
+
+ /**
+ * 得到现在时间
+ *
+ * @return 字符串 yyyyMMdd HHmmss
+ */
+ public static String getStringToday() {
+ Date currentTime = new Date();
+ SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMdd HHmmss");
+ return formatter.format(currentTime);
+ }
+
+ /**
+ * 得到现在小时
+ */
+ public static String getHour() {
+ Date currentTime = new Date();
+ SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+ String dateString = formatter.format(currentTime);
+ String hour;
+ hour = dateString.substring(11, 13);
+ return hour;
+ }
+
+ /**
+ * 得到现在分钟
+ *
+ * @return return
+ */
+ public static String getTime() {
+ Date currentTime = new Date();
+ SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+ String dateString = formatter.format(currentTime);
+ String min;
+ min = dateString.substring(14, 16);
+ return min;
+ }
+
+ /**
+ * 根据用户传入的时间表示格式,返回当前时间的格式 如果是yyyyMMdd,注意字母y不能大写。
+ *
+ * @param sformat yyyyMMddhhmmss
+ * @return return
+ */
+ public static String getUserDate(String sformat) {
+ Date currentTime = new Date();
+ SimpleDateFormat formatter = new SimpleDateFormat(sformat);
+ return formatter.format(currentTime);
+ }
+
+ public static Date getDateFromLocalDate(LocalDate localDate) {
+ ZoneId zone = ZoneId.systemDefault();
+ Instant instant = localDate.atStartOfDay().atZone(zone).toInstant();
+ return Date.from(instant);
+ }
+
+
+ /**
+ * 获取两个时间字符串的时间差
+ *
+ * @param startTimeStr 开始时间
+ * @param endTimeStr 结束时间
+ * @return 时间差 (秒数)
+ */
+ public static long getTimeCha(String startTimeStr, String endTimeStr) {
+ if (startTimeStr == null || startTimeStr.isEmpty()) {
+ return 0;
+ }
+ if (endTimeStr == null || endTimeStr.isEmpty()) {
+ return 0;
+ }
+ SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+ long diffInMilliseconds = 0;
+ //long diffInMinutes = 0;
+ //long diffInHour = 0;
+ try {
+ Date startTime = format.parse(startTimeStr);
+ Date endTime = format.parse(endTimeStr);
+ diffInMilliseconds = endTime.getTime() - startTime.getTime();
+ //diffInMinutes = TimeUnit.MILLISECONDS.toMinutes(diffInMilliseconds);
+ //diffInHour=TimeUnit.MILLISECONDS.toHours(diffInMilliseconds);
+ System.out.println("Time difference in minutes: " + diffInMilliseconds);
+
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ return diffInMilliseconds;
+ }
+
+
+ /**
+ * 将日期字符串转化为星期
+ * @param dateString 日期字符串
+ * @return 星期
+ */
+ public static String getWeekDayStringByDateString(String dateString) {
+ if (dateString == null || dateString.isEmpty()) {
+ return null;
+ }
+ String weekDayString = "";
+ SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
+ try {
+ Date date = dateFormat.parse(dateString);
+ Calendar calendar = Calendar.getInstance();
+ calendar.setTime(date);
+ int weekDay = calendar.get(Calendar.DAY_OF_WEEK);
+ switch (weekDay) {
+ case Calendar.SUNDAY:
+ weekDayString = "星期日";
+ break;
+ case Calendar.MONDAY:
+ weekDayString = "星期一";
+ break;
+ case Calendar.TUESDAY:
+ weekDayString = "星期二";
+ break;
+ case Calendar.WEDNESDAY:
+ weekDayString = "星期三";
+ break;
+ case Calendar.THURSDAY:
+ weekDayString = "星期四";
+ break;
+ case Calendar.FRIDAY:
+ weekDayString = "星期五";
+ break;
+ case Calendar.SATURDAY:
+ weekDayString = "星期六";
+ break;
+ }
+
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ return weekDayString;
+ }
+
+ /**
+ * 将日期时间字符串转化为星期
+ * @param dateTimeString 日期时间字符串
+ * @return 星期
+ */
+ public static String getWeekDayStringByDateTimeString(String dateTimeString) {
+ if (dateTimeString == null || dateTimeString.isEmpty()) {
+ return "";
+ }
+ //String dateTimeString = "2023-10-18 09:13:40";
+ SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+ String weekDayString = "";
+ try {
+ Date dateTime = dateFormat.parse(dateTimeString);
+ Calendar calendar = Calendar.getInstance();
+ calendar.setTime(dateTime);
+ int weekDay = calendar.get(Calendar.DAY_OF_WEEK);
+ switch (weekDay) {
+ case Calendar.SUNDAY:
+ weekDayString = "星期日";
+ break;
+ case Calendar.MONDAY:
+ weekDayString = "星期一";
+ break;
+ case Calendar.TUESDAY:
+ weekDayString = "星期二";
+ break;
+ case Calendar.WEDNESDAY:
+ weekDayString = "星期三";
+ break;
+ case Calendar.THURSDAY:
+ weekDayString = "星期四";
+ break;
+ case Calendar.FRIDAY:
+ weekDayString = "星期五";
+ break;
+ case Calendar.SATURDAY:
+ weekDayString = "星期六";
+ break;
+ }
+ System.out.println(weekDayString);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ return weekDayString;
+ }
+
+}
diff --git a/utils/src/main/java/com/haitongauto/utils/GetDateTime.java b/utils/src/main/java/com/haitongauto/utils/GetDateTime.java
new file mode 100644
index 0000000..43c0cd8
--- /dev/null
+++ b/utils/src/main/java/com/haitongauto/utils/GetDateTime.java
@@ -0,0 +1,103 @@
+package com.haitongauto.utils;
+
+import org.springframework.stereotype.Component;
+
+import java.text.DateFormat;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.time.LocalDateTime;
+import java.time.ZoneId;
+import java.util.Calendar;
+import java.util.Date;
+import java.util.TimeZone;
+
+@Component
+public class GetDateTime {
+ /**
+ * 生成当前日期
+ *
+ * @return 当前日期
+ */
+ public static Date nowDate() {
+ LocalDateTime localDateTime = LocalDateTime.now();
+ return Date.from(localDateTime.atZone(ZoneId.systemDefault()).toInstant());
+ }
+
+ /**
+ * 原始日期时间型格式转换为标准字符串型(yyyy-MM-dd HH:mm:ss)
+ *
+ * @param dateVal 原始日期时间
+ * @return 标准字符串型数据
+ */
+ public static String getDateTimeToString(Date dateVal) {
+ //创建SimpleDateFormat对象,指定样式,如:2022-03-23 22:56:30
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+ //格式转换
+
+ return sdf.format(dateVal);
+ }
+
+ /**
+ * 显示本系统当前时区
+ * @param args args
+ */
+ public static void getSystemTimeArea(String[] args) {
+ Calendar ca = Calendar.getInstance();
+ TimeZone tz = ca.getTimeZone();
+ System.out.println(tz.getID()); //现在显示为:GMT+08:00,为中国时间(东八区)时间,所以,数据库连接的时区需要修改为:serverTimezone=Asia/Shanghai或者serverTimezone=GMT%2B8
+ }
+
+ /**
+ * 将日期转换为星期
+ */
+ public static String dateToWeek(String datetime) throws ParseException {
+ String[] weekDays = {"星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"};
+ Date date = new SimpleDateFormat("yyyy-MM-dd").parse(datetime);
+ Calendar cal = Calendar.getInstance();
+ cal.setTime(date);
+ int w = Math.max(cal.get(Calendar.DAY_OF_WEEK) - 1, 0);
+ return weekDays[w];
+ }
+
+ /**
+ * 日期加减天数获得新日期
+ * @date 原始日期
+ * @n 增减天数,减为负数 */
+ public static Date getNewDate(Date date,int n){
+ //定义日期时间格式
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+
+ Calendar calstart = Calendar.getInstance();
+
+ calstart.setTime(date);//放入所要修改的日期
+
+ calstart.add(Calendar.DAY_OF_WEEK, n);//进行加减运算
+
+ System.out.println(sdf.format(calstart.getTime()));
+
+ return calstart.getTime();
+ }
+
+ /**
+ * 计算两个日期相差的天数
+ * @param date1 较小的日期
+ * @param date2 较大的日期
+ */
+ public static Integer getDaysForTwoDate(Date date1, Date date2){
+ DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
+ int x =0;
+ try {
+ Date star = df.parse(df.format(date1));//开始时间
+ Date endDay = df.parse(df.format(date2));//结束时间
+ Long starTime=star.getTime();
+ Long endTime=endDay.getTime();
+ Long num=endTime-starTime;//时间戳相差的毫秒数
+ //计算为天数
+ x =(int)(num/(24*60*60*1000));
+ System.out.println("相差天数为:"+ x);
+ } catch (ParseException e) {
+ e.printStackTrace();
+ }
+ return x;
+ }
+}
diff --git a/utils/src/main/java/com/haitongauto/utils/HtmlToPdfUtils.java b/utils/src/main/java/com/haitongauto/utils/HtmlToPdfUtils.java
new file mode 100644
index 0000000..37b6ed4
--- /dev/null
+++ b/utils/src/main/java/com/haitongauto/utils/HtmlToPdfUtils.java
@@ -0,0 +1,183 @@
+package com.haitongauto.utils;
+
+import com.itextpdf.html2pdf.ConverterProperties;
+import com.itextpdf.html2pdf.HtmlConverter;
+import com.itextpdf.io.source.ByteArrayOutputStream;
+import com.itextpdf.kernel.events.PdfDocumentEvent;
+import com.itextpdf.kernel.font.PdfFont;
+
+import com.itextpdf.kernel.font.PdfFontFactory;
+import com.itextpdf.kernel.geom.PageSize;
+import com.itextpdf.kernel.pdf.PdfDocument;
+import com.itextpdf.kernel.pdf.PdfWriter;
+import com.itextpdf.layout.font.FontProvider;
+//import io.micrometer.common.util.StringUtils;
+import lombok.extern.slf4j.Slf4j;
+
+import java.io.*;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+/**
+ * Itext7转换工具类
+ */
+@Slf4j
+public class HtmlToPdfUtils {
+
+
+ /**
+ * html文件转化为 pdf文件
+ * @param htmlFile html文件所在相对路径 如 "C:/Users/lenovo/Desktop/teee/myTest.html";
+ * @param pdfFile pdf文件存储相对路径 如 "C:/Users/lenovo/Desktop/teee/x6.pdf";
+ * @param waterMarkText 自定义水印
+ */
+ public static void htmlToPdf(String htmlFile,String pdfFile,String waterMarkText) {
+ if (htmlFile.isEmpty()||pdfFile.isEmpty())
+ {
+ log.error("错误信息:{html文件所在相对路径不能为空,且pdf文件存储相对路径不能为空}");
+ return;
+ }
+
+ if (waterMarkText==null){
+ waterMarkText = "";
+ }
+ long startTime = System.currentTimeMillis();
+ InputStream inputStream = null;
+ try {
+ inputStream = new FileInputStream(htmlFile);
+ } catch (FileNotFoundException e) {
+ throw new RuntimeException(e);
+ }
+ OutputStream outputStream = null;
+ try {
+ outputStream = new FileOutputStream(pdfFile);
+ } catch (FileNotFoundException e) {
+ throw new RuntimeException(e);
+ }
+ //微软雅黑在windows系统里的位置如下,linux系统直接拷贝该文件放在linux目录下即可
+ // String fontPath = "src/main/resources/font/STHeiti Light.ttc,0";
+ String fontPath = "src/main/resources/font/simsun.ttc,0";
+ HtmlToPdfUtils.convertToPdf(inputStream, waterMarkText, fontPath, outputStream);
+ }
+
+
+
+ /**
+ * html转pdf
+ *
+ * @param inputStream 输入流
+ * @param waterMark 水印
+ * @param fontPath 字体路径,ttc后缀的字体需要添加,0
+ * @param outputStream 输出流
+ * @date : 2021/1/15 14:07
+ */
+ public static void convertToPdf(InputStream inputStream, String waterMark, String fontPath, OutputStream outputStream) {
+ PdfWriter pdfWriter = new PdfWriter(outputStream);
+ PdfDocument pdfDocument = new PdfDocument(pdfWriter);
+ //设置为A4大小
+ pdfDocument.setDefaultPageSize(PageSize.A4);
+ //添加水印
+ pdfDocument.addEventHandler(PdfDocumentEvent.END_PAGE, new WaterMarkEventHandler(waterMark));
+
+ //添加中文字体支持
+ ConverterProperties properties = new ConverterProperties();
+ FontProvider fontProvider = new FontProvider();
+
+
+ // 设置字体
+ PdfFont sysFont = null;
+ try {
+ sysFont = PdfFontFactory.createFont("STSongStd-Light", "UniGB-UCS2-H", false);
+ } catch (IOException e) {
+ throw new RuntimeException(e);
+ }
+ fontProvider.addFont(sysFont.getFontProgram(), "UniGB-UCS2-H");
+
+ //添加自定义字体,例如微软雅黑
+// if (StringUtils.isNotBlank(fontPath)) {
+// PdfFont microsoft = PdfFontFactory.createFont(fontPath, PdfEncodings.IDENTITY_H, false);
+// fontProvider.addFont(microsoft.getFontProgram(), PdfEncodings.IDENTITY_H);
+// }
+
+ properties.setFontProvider(fontProvider);
+ // 读取Html文件流,查找出当中的 或出现类似的符号空格字符
+ inputStream = readInputStrem(inputStream);
+ if (inputStream != null) {
+ // 生成pdf文档
+ try {
+ HtmlConverter.convertToPdf(inputStream, pdfDocument, properties);
+ } catch (IOException e) {
+ throw new RuntimeException(e);
+ }
+ try {
+ pdfWriter.close();
+ } catch (IOException e) {
+ throw new RuntimeException(e);
+ }
+ pdfDocument.close();
+ return;
+ } else {
+ log.error("转换失败!");
+ }
+ }
+
+ /**
+ * 读取HTML 流文件,并查询当中的 或类似符号直接替换为空格
+ *
+ * @param inputStream
+ * @return
+ */
+ private static InputStream readInputStrem(InputStream inputStream) {
+ // 定义一些特殊字符的正则表达式 如:
+ String regEx_special = "\\&[a-zA-Z]{1,10};";
+ try {
+ //<1>创建字节数组输出流,用来输出读取到的内容
+ ByteArrayOutputStream baos = new ByteArrayOutputStream();
+ //<2>创建缓存大小
+ byte[] buffer = new byte[1024]; // 1KB
+ //每次读取到内容的长度
+ int len = -1;
+ //<3>开始读取输入流中的内容
+ while ((len = inputStream.read(buffer)) != -1) { //当等于-1说明没有数据可以读取了
+ baos.write(buffer, 0, len); //把读取到的内容写到输出流中
+ }
+ //<4> 把字节数组转换为字符串
+ String content = baos.toString();
+ //<5>关闭输入流和输出流
+ // inputStream.close();
+ baos.close();
+ // log.info("读取的内容:{}", content);
+ // 判断HTML内容是否具有HTML的特殊字符标记
+ Pattern compile = Pattern.compile(regEx_special, Pattern.CASE_INSENSITIVE);
+ Matcher matcher = compile.matcher(content);
+ String replaceAll = matcher.replaceAll("");
+ // log.info("替换后的内容:{}", replaceAll);
+ // 将字符串转化为输入流返回
+ InputStream stringStream = getStringStream(replaceAll);
+ //<6>返回结果
+ return stringStream;
+ } catch (Exception e) {
+ e.printStackTrace();
+ log.error("错误信息:{}", e.getMessage());
+ return null;
+ }
+ }
+
+ /**
+ * 将一个字符串转化为输入流
+ * @param sInputString 字符串
+ * @return
+ */
+ public static InputStream getStringStream(String sInputString) {
+ if (sInputString != null && !sInputString.trim().equals("")) {
+ try {
+ ByteArrayInputStream tInputStringStream = new ByteArrayInputStream(sInputString.getBytes());
+ return tInputStringStream;
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+ return null;
+ }
+
+}
\ No newline at end of file
diff --git a/utils/src/main/java/com/haitongauto/utils/HttpClientHelper.java b/utils/src/main/java/com/haitongauto/utils/HttpClientHelper.java
new file mode 100644
index 0000000..45afdee
--- /dev/null
+++ b/utils/src/main/java/com/haitongauto/utils/HttpClientHelper.java
@@ -0,0 +1,145 @@
+package com.haitongauto.utils;
+
+import com.google.gson.Gson;
+import org.apache.http.HttpEntity;
+import org.apache.http.HttpResponse;
+import org.apache.http.client.HttpClient;
+import org.apache.http.client.methods.HttpPost;
+import org.apache.http.entity.StringEntity;
+import org.apache.http.impl.client.HttpClientBuilder;
+import org.apache.http.util.EntityUtils;
+
+import java.io.*;
+import java.net.HttpURLConnection;
+import java.net.URL;
+import java.nio.charset.StandardCharsets;
+
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+
+public class HttpClientHelper {
+ private static final Logger logger = LogManager.getLogger(HttpClientHelper.class);
+
+ public static String forwardSend(T entity, String myUrl) throws CloneNotSupportedException {
+ String result;
+ HttpClient httpClient = null;
+ HttpPost httpPost = null;
+ HttpResponse response = null;
+ HttpEntity resEntity = null;
+ try {
+ // 创建实体对象,例如:
+ //Student student = new Student("John", 20);
+ // 创建HttpClient实例
+ httpClient = HttpClientBuilder.create().build();
+ // 创建HttpPost实例
+ //String url = "http://example.com/api/students";
+ String url = myUrl;
+ httpPost = new HttpPost(url);
+ // 设置请求头
+ httpPost.setHeader("Content-Type", "application/json");
+ // 将Student对象转换为JSON字符串
+ // String json = "{\"name\": \"" + student.getName() + "\", \"age\": " + student.getAge() + "}";
+ //String json = JSON.toJSONString(entity, SerializerFeature.WriteMapNullValue);
+ String json = new Gson().toJson(entity);
+
+ // 设置请求体
+ httpPost.setEntity(new StringEntity(json));
+
+ // 发送请求
+ response = httpClient.execute(httpPost);
+ // 获取响应实体
+ resEntity = response.getEntity();
+ // 判断响应状态
+ if (response.getStatusLine().getStatusCode() == 200) {
+ // 读取响应内容
+ String responseBody = EntityUtils.toString(resEntity);
+ result = responseBody;
+ } else {
+ result = "";
+ }
+ } catch (Exception ex) {
+ result = "";
+ } finally {
+ httpPost.clone();
+ }
+ return result;
+ }
+
+ public static String forwardSendNew(T entity, String myUrl) {
+ StringBuilder result = new StringBuilder();
+ HttpURLConnection connection = null;
+ InputStream inputStream = null;
+ try {
+ URL url = new URL(myUrl);
+ connection = (HttpURLConnection) url.openConnection();
+ //请求方式是POST
+ connection.setRequestMethod("POST");
+ // Post 请求不能使用缓存
+ // connection.setUseCaches(false);
+ // http正文内,因此需要设为true(不设置会要了你的老命)
+ connection.setDoOutput(Boolean.TRUE);
+ connection.setDoInput(Boolean.TRUE);
+ //设置连接超时时间
+ connection.setConnectTimeout(10000);
+ //设置读取超时时间
+ connection.setReadTimeout(15000);
+ //必须设置false,否则会自动redirect到重定向后的地址
+ connection.setInstanceFollowRedirects(false);
+ // 设置通用的请求属性
+ connection.setRequestProperty("accept", "*/*");
+ connection.setRequestProperty("connection", "Keep-Alive");
+ connection.setRequestProperty("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");
+ connection.setRequestProperty("Content-Type", "application/json");
+ connection.setRequestProperty("Accept-Encoding", "gzip, deflate, br");
+
+ // 创建要发送的实体 Student 对象,并将其转换为 JSON 字符串
+ //String jsonBody = JSON.toJSONString(entity, SerializerFeature.WriteMapNullValue);
+ String jsonBody = new Gson().toJson(entity);
+ // 设置请求头部的 Content-Length 属性
+ int contentLength = jsonBody.getBytes(StandardCharsets.UTF_8).length;
+ connection.setRequestProperty("Content-Length", String.valueOf(4096));
+
+ // 获取输出流,并将 JSON 字符串写入连接
+ OutputStream outputStream = connection.getOutputStream();
+ outputStream.write(jsonBody.getBytes(StandardCharsets.UTF_8));
+ // outputStream.write(jsonBody.getBytes());
+ outputStream.flush();
+ outputStream.close();
+ // int responseCode = connection.getResponseCode();
+// if (responseCode == HttpURLConnection.HTTP_OK) {
+// inputStream = connection.getInputStream();
+// // 处理输入流的内容
+// // 定义 BufferedReader输入流来读取URL的响应
+// BufferedReader in = new BufferedReader(new InputStreamReader(inputStream));
+// String line;
+// while ((line = in.readLine()) != null) {
+// result.append(line);
+// }
+// inputStream.close();
+// } else {
+// // 处理错误情况
+// }
+
+ inputStream = connection.getInputStream();
+ // 处理输入流的内容
+ // 定义 BufferedReader输入流来读取URL的响应
+ BufferedReader in = new BufferedReader(new InputStreamReader(inputStream));
+ String line;
+ while ((line = in.readLine()) != null) {
+ result.append(line);
+ }
+ inputStream.close();
+
+
+ } catch (Exception ex) {
+ System.out.println("错误:" + ex.getMessage());
+ result.append(ex.getMessage());
+ return result.toString();
+ } finally {
+ // 关闭流和连接
+ connection.disconnect();
+ }
+
+ return result.toString();
+ }
+}
diff --git a/utils/src/main/java/com/haitongauto/utils/HttpRequest.java b/utils/src/main/java/com/haitongauto/utils/HttpRequest.java
new file mode 100644
index 0000000..bcfc6b0
--- /dev/null
+++ b/utils/src/main/java/com/haitongauto/utils/HttpRequest.java
@@ -0,0 +1,253 @@
+package com.haitongauto.utils;
+
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.InputStreamReader;
+import java.io.PrintWriter;
+import java.net.URL;
+import java.net.URLConnection;
+import java.util.List;
+import java.util.Map;
+
+public class HttpRequest {
+
+ /**
+ * 向指定URL发送GET方法的请求
+ *
+ * @param access_token 权限请求头 必须项
+ * @param url 发送请求的URL
+ * @param param 请求参数,请求参数应该是 name1=value1&name2=value2 的形式。
+ * @return URL 所代表远程资源的响应结果
+ */
+ public static String sendGet(String access_token, String url, String param) {
+ StringBuilder result = new StringBuilder();
+ BufferedReader in = null;
+ try {
+ String urlNameString = url + "?" + param;
+ URL realUrl = new URL(urlNameString);
+ // 打开和URL之间的连接
+ URLConnection connection = realUrl.openConnection();
+ // 设置通用的请求属性
+ connection.setRequestProperty("accept", "*/*");
+ connection.setRequestProperty("connection", "Keep-Alive");
+ connection.setRequestProperty("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");
+
+ //设置权限请求头 access_token 必须项
+ if (access_token != null && !access_token.equals("")) {
+ String myToken = "Bearer " + access_token;
+ connection.setRequestProperty("authorization", myToken);
+ }
+ //设置连接超时时间
+ connection.setConnectTimeout(10000);
+ //设置读取超时时间
+ connection.setReadTimeout(10000);
+ // 建立实际的连接
+ connection.connect();
+ // 获取所有响应头字段
+ Map> map = connection.getHeaderFields();
+ // 遍历所有的响应头字段
+ for (String key : map.keySet()) {
+ System.out.println(key + "--->" + map.get(key));
+ }
+ // 定义 BufferedReader输入流来读取URL的响应
+ in = new BufferedReader(new InputStreamReader(
+ connection.getInputStream()));
+ String line;
+ while ((line = in.readLine()) != null) {
+ result.append(line);
+ }
+ } catch (Exception e) {
+ System.out.println("发送GET请求出现异常!" + e);
+ e.printStackTrace();
+ }
+ // 使用finally块来关闭输入流
+ finally {
+ try {
+ if (in != null) {
+ in.close();
+ }
+ } catch (Exception e2) {
+ e2.printStackTrace();
+ }
+ }
+ return result.toString();
+ }
+
+
+ /**
+ * 向指定URL发送GET方法的请求
+ *
+ * @param url 发送请求的URL
+ * @param param 请求参数,请求参数应该是 name1=value1&name2=value2 的形式。
+ * @return URL 所代表远程资源的响应结果
+ */
+ public static String sendGet(String url, String param) {
+ StringBuilder result = new StringBuilder();
+ BufferedReader in = null;
+ try {
+ String urlNameString = url + "?" + param;
+ URL realUrl = new URL(urlNameString);
+ // 打开和URL之间的连接
+ URLConnection connection = realUrl.openConnection();
+ // 设置通用的请求属性
+ connection.setRequestProperty("accept", "*/*");
+ connection.setRequestProperty("connection", "Keep-Alive");
+ connection.setRequestProperty("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");
+
+ //设置连接超时时间
+ connection.setConnectTimeout(10000);
+ //设置读取超时时间
+ connection.setReadTimeout(10000);
+ // 建立实际的连接
+ connection.connect();
+ // 获取所有响应头字段
+ Map> map = connection.getHeaderFields();
+ // 遍历所有的响应头字段
+ for (String key : map.keySet()) {
+ System.out.println(key + "--->" + map.get(key));
+ }
+ // 定义 BufferedReader输入流来读取URL的响应
+ in = new BufferedReader(new InputStreamReader(
+ connection.getInputStream()));
+ String line;
+ while ((line = in.readLine()) != null) {
+ result.append(line);
+ }
+ } catch (Exception e) {
+ System.out.println("发送GET请求出现异常!" + e);
+ e.printStackTrace();
+ }
+ // 使用finally块来关闭输入流
+ finally {
+ try {
+ if (in != null) {
+ in.close();
+ }
+ } catch (Exception e2) {
+ e2.printStackTrace();
+ }
+ }
+ return result.toString();
+ }
+
+ /**
+ * 向指定 URL 发送POST方法的请求
+ *
+ * @param url 发送请求的 URL
+ * @param param 请求参数,请求参数应该是 name1=value1&name2=value2 的形式。
+ * @return 所代表远程资源的响应结果
+ */
+ public static String sendPost(String access_token, String url, String param) {
+ PrintWriter out = null;
+ BufferedReader in = null;
+ StringBuilder result = new StringBuilder();
+ try {
+ URL realUrl = new URL(url);
+ // 打开和URL之间的连接
+ URLConnection conn = realUrl.openConnection();
+ // 设置通用的请求属性
+ conn.setRequestProperty("accept", "*/*");
+ conn.setRequestProperty("connection", "Keep-Alive");
+ conn.setRequestProperty("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");
+ //设置权限请求头 access_token 必须项
+ if (access_token != null && !access_token.equals("")) {
+ String myToken = "Bearer " + access_token;
+ conn.setRequestProperty("authorization", myToken);
+ }
+ //设置连接超时时间
+ conn.setConnectTimeout(15000);
+ //设置读取超时时间
+ conn.setReadTimeout(15000);
+ // 发送POST请求必须设置如下两行
+ conn.setDoOutput(true);
+ conn.setDoInput(true);
+ // 获取URLConnection对象对应的输出流
+ out = new PrintWriter(conn.getOutputStream());
+ // 发送请求参数
+ out.print(param);
+ // flush输出流的缓冲
+ out.flush();
+ // 定义BufferedReader输入流来读取URL的响应
+ in = new BufferedReader(new InputStreamReader(conn.getInputStream()));
+ String line;
+ while ((line = in.readLine()) != null) {
+ result.append(line);
+ }
+ } catch (Exception e) {
+ System.out.println("发送 POST 请求出现异常!" + e);
+ e.printStackTrace();
+ }
+ //使用finally块来关闭输出流、输入流
+ finally {
+ try {
+ if (out != null) {
+ out.close();
+ }
+ if (in != null) {
+ in.close();
+ }
+ } catch (IOException ex) {
+ ex.printStackTrace();
+ }
+ }
+ return result.toString();
+ }
+
+ /**
+ * 向指定 URL 发送POST方法的请求
+ *
+ * @param url 发送请求的 URL
+ * @param param 请求参数,请求参数应该是 name1=value1&name2=value2 的形式。
+ * @return 所代表远程资源的响应结果
+ */
+ public static String sendPost(String url, String param) {
+ PrintWriter out = null;
+ BufferedReader in = null;
+ StringBuilder result = new StringBuilder();
+ try {
+ URL realUrl = new URL(url);
+ // 打开和URL之间的连接
+ URLConnection conn = realUrl.openConnection();
+ // 设置通用的请求属性
+ conn.setRequestProperty("accept", "*/*");
+ conn.setRequestProperty("connection", "Keep-Alive");
+ conn.setRequestProperty("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");
+ //设置连接超时时间
+ conn.setConnectTimeout(15000);
+ //设置读取超时时间
+ conn.setReadTimeout(15000);
+ // 发送POST请求必须设置如下两行
+ conn.setDoOutput(true);
+ conn.setDoInput(true);
+ // 获取URLConnection对象对应的输出流
+ out = new PrintWriter(conn.getOutputStream());
+ // 发送请求参数
+ out.print(param);
+ // flush输出流的缓冲
+ out.flush();
+ // 定义BufferedReader输入流来读取URL的响应
+ in = new BufferedReader(new InputStreamReader(conn.getInputStream()));
+ String line;
+ while ((line = in.readLine()) != null) {
+ result.append(line);
+ }
+ } catch (Exception e) {
+ System.out.println("发送 POST 请求出现异常!" + e);
+ e.printStackTrace();
+ }
+ //使用finally块来关闭输出流、输入流
+ finally {
+ try {
+ if (out != null) {
+ out.close();
+ }
+ if (in != null) {
+ in.close();
+ }
+ } catch (IOException ex) {
+ ex.printStackTrace();
+ }
+ }
+ return result.toString();
+ }
+}
\ No newline at end of file
diff --git a/utils/src/main/java/com/haitongauto/utils/HttpTemplate.java b/utils/src/main/java/com/haitongauto/utils/HttpTemplate.java
new file mode 100644
index 0000000..634989e
--- /dev/null
+++ b/utils/src/main/java/com/haitongauto/utils/HttpTemplate.java
@@ -0,0 +1,236 @@
+package com.haitongauto.utils;
+
+import org.springframework.lang.Nullable;
+
+import java.io.*;
+import java.net.HttpURLConnection;
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.nio.charset.StandardCharsets;
+
+/**
+ * 文件名: ${file_name}
+ * 版权: Copyright by wsnet
+ * 描述:
+ * 修改人: kch
+ * 修改时间:2023/6/13
+ * 跟踪单号:
+ * 修改单号:
+ * 修改内容:
+ */
+
+public class HttpTemplate {
+ /**
+ * http get请求
+ *
+ * @param httpUrl 链接
+ * @return 响应数据
+ */
+ public static String doGet(String httpUrl) {
+ //链接
+ HttpURLConnection connection = null;
+ InputStream is = null;
+ BufferedReader br = null;
+ StringBuilder result = new StringBuilder();
+ try {
+ //创建连接
+ URL url = new URL(httpUrl);
+ connection = (HttpURLConnection) url.openConnection();
+ //设置请求方式
+ connection.setRequestMethod("GET");
+ //设置连接超时时间
+ connection.setConnectTimeout(10000);
+ //设置读取超时时间
+ connection.setReadTimeout(15000);
+ //开始连接
+ connection.connect();
+ //获取响应数据
+ if (connection.getResponseCode() == 200) {
+ //获取返回的数据
+ is = connection.getInputStream();
+ if (is != null) {
+ br = new BufferedReader(new InputStreamReader(is, "UTF-8"));
+ String temp = null;
+ while ((temp = br.readLine()) != null) {
+ result.append(temp);
+ }
+ }
+ }
+ } catch (IOException e) {
+ e.printStackTrace();
+ } finally {
+ if (br != null) {
+ try {
+ br.close();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
+ if (is != null) {
+ try {
+ is.close();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
+ assert connection != null;
+ connection.disconnect();// 关闭远程连接
+ }
+ return result.toString();
+ }
+
+ /**
+ * post请求
+ *
+ * @param httpUrl 链接
+ * @param param 参数
+ * @return 返回请求结果
+ */
+ public static String doPost(String httpUrl, @Nullable String param) {
+ StringBuilder result = new StringBuilder();
+ //连接
+ HttpURLConnection connection = null;
+ OutputStream os = null;
+ InputStream is = null;
+ BufferedReader br = null;
+ try {
+ //创建连接对象
+ URL url = new URL(httpUrl);
+ //创建连接
+ connection = (HttpURLConnection) url.openConnection();
+ //设置请求方法
+ connection.setRequestMethod("POST");
+ //设置连接超时时间
+ connection.setConnectTimeout(15000);
+ //设置读取超时时间
+ connection.setReadTimeout(15000);
+ //设置是否可读取
+ connection.setDoOutput(true);
+ //设置响应是否可读取
+ connection.setDoInput(true);
+ //设置参数类型
+ connection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
+ //拼装参数
+ if (param != null && !param.equals("")) {
+ //设置参数
+ os = connection.getOutputStream();
+ //拼装参数
+ os.write(param.getBytes(StandardCharsets.UTF_8));
+ }
+ //设置权限
+ //设置请求头等
+ //开启连接
+ //connection.connect();
+ //读取响应
+ if (connection.getResponseCode() == 200) {
+ is = connection.getInputStream();
+ if (is != null) {
+ br = new BufferedReader(new InputStreamReader(is, StandardCharsets.UTF_8));
+ String temp = null;
+ if ((temp = br.readLine()) != null) {
+ result.append(temp);
+ }
+ }
+ }
+ //关闭连接
+ } catch (IOException e) {
+ e.printStackTrace();
+ } finally {
+ if (br != null) {
+ try {
+ br.close();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
+ if (os != null) {
+ try {
+ os.close();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
+ if (is != null) {
+ try {
+ is.close();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
+ //关闭连接
+ assert connection != null;
+ connection.disconnect();
+ }
+ return result.toString();
+ }
+
+ /**
+ * http get请求
+ *
+ * @param httpUrl 链接
+ * @return 响应数据
+ */
+ public static String doPicUpload(String httpUrl) {
+ //链接
+ HttpURLConnection connection = null;
+ InputStream is = null;
+ BufferedReader br = null;
+ StringBuilder result = new StringBuilder();
+ try {
+ //创建连接
+ URL url = new URL(httpUrl);
+ connection = (HttpURLConnection) url.openConnection();
+ //设置请求方式
+ connection.setRequestMethod("GET");
+ //设置连接超时时间
+ connection.setConnectTimeout(10000);
+ //设置读取超时时间
+ connection.setReadTimeout(15000);
+
+// DataInputStream in = new DataInputStream(new FileInputStream(file));
+// int bytes = 0;
+// byte[] bufferOut = new byte[2048];
+// while ((bytes = in.read(bufferOut)) != -1) {
+// out.write(bufferOut, 0, bytes);
+// }
+ //in.close();
+
+
+ //开始连接
+ connection.connect();
+ //获取响应数据
+ if (connection.getResponseCode() == 200) {
+ //获取返回的数据
+ is = connection.getInputStream();
+ if (is != null) {
+ br = new BufferedReader(new InputStreamReader(is, "UTF-8"));
+ String temp = null;
+ while ((temp = br.readLine()) != null) {
+ result.append(temp);
+ }
+ }
+ }
+ } catch (IOException e) {
+ e.printStackTrace();
+ } finally {
+ if (br != null) {
+ try {
+ br.close();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
+ if (is != null) {
+ try {
+ is.close();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
+ assert connection != null;
+ connection.disconnect();// 关闭远程连接
+ }
+ return result.toString();
+ }
+
+}
\ No newline at end of file
diff --git a/utils/src/main/java/com/haitongauto/utils/IpHelper.java b/utils/src/main/java/com/haitongauto/utils/IpHelper.java
new file mode 100644
index 0000000..8010f91
--- /dev/null
+++ b/utils/src/main/java/com/haitongauto/utils/IpHelper.java
@@ -0,0 +1,49 @@
+package com.haitongauto.utils;
+
+import javax.servlet.http.HttpServletRequest;
+import java.net.InetAddress;
+import java.net.UnknownHostException;
+
+/**
+ * @author G1F
+ * @date 2019/12/23 9:02
+ * @description 获取请求真实IP
+ */
+public class IpHelper {
+ //
+ public static String getIpAddr(HttpServletRequest request) {
+ String ipAddress = null;
+ try {
+ ipAddress = request.getHeader("x-forwarded-for");
+ if (ipAddress == null || ipAddress.length() == 0 || "unknown".equalsIgnoreCase(ipAddress)) {
+ ipAddress = request.getHeader("Proxy-Client-IP");
+ }
+ if (ipAddress == null || ipAddress.length() == 0 || "unknown".equalsIgnoreCase(ipAddress)) {
+ ipAddress = request.getHeader("WL-Proxy-Client-IP");
+ }
+ if (ipAddress == null || ipAddress.length() == 0 || "unknown".equalsIgnoreCase(ipAddress)) {
+ ipAddress = request.getRemoteAddr();
+ if (ipAddress.equals("127.0.0.1")) {
+ // 根据网卡取本机配置的IP
+ InetAddress inet = null;
+ try {
+ inet = InetAddress.getLocalHost();
+ } catch (UnknownHostException e) {
+ e.printStackTrace();
+ }
+ assert inet != null;
+ ipAddress = inet.getHostAddress();
+ }
+ }
+ // 对于通过多个代理的情况,第一个IP为客户端真实IP,多个IP按照','分割
+ if (ipAddress != null && ipAddress.length() > 15) { // "***.***.***.***".length()
+ if (ipAddress.indexOf(",") > 0) {
+ ipAddress = ipAddress.substring(0, ipAddress.indexOf(","));
+ }
+ }
+ } catch (Exception e) {
+ ipAddress = "";
+ }
+ return ipAddress;
+ }
+}
\ No newline at end of file
diff --git a/utils/src/main/java/com/haitongauto/utils/PageEventHandler.java b/utils/src/main/java/com/haitongauto/utils/PageEventHandler.java
new file mode 100644
index 0000000..c4fac03
--- /dev/null
+++ b/utils/src/main/java/com/haitongauto/utils/PageEventHandler.java
@@ -0,0 +1,49 @@
+package com.haitongauto.utils;
+
+import com.itextpdf.kernel.events.Event;
+import com.itextpdf.kernel.events.IEventHandler;
+import com.itextpdf.kernel.events.PdfDocumentEvent;
+import com.itextpdf.kernel.font.PdfFont;
+import com.itextpdf.kernel.font.PdfFontFactory;
+import com.itextpdf.kernel.geom.Rectangle;
+import com.itextpdf.kernel.pdf.PdfDocument;
+import com.itextpdf.kernel.pdf.PdfPage;
+import com.itextpdf.kernel.pdf.canvas.PdfCanvas;
+import com.itextpdf.layout.Canvas;
+import com.itextpdf.layout.element.Paragraph;
+import com.itextpdf.layout.property.TextAlignment;
+import org.springframework.stereotype.Component;
+
+import java.io.IOException;
+
+/**
+ * 页码
+ */
+@Component
+public class PageEventHandler implements IEventHandler {
+
+ @Override
+ public void handleEvent(Event event) {
+ PdfDocumentEvent documentEvent = (PdfDocumentEvent) event;
+ PdfDocument document = documentEvent.getDocument();
+ PdfPage page = documentEvent.getPage();
+ Rectangle pageSize = page.getPageSize();
+
+ PdfFont pdfFont = null;
+ try {
+ pdfFont = PdfFontFactory.createFont("STSongStd-Light", "UniGB-UCS2-H", false);
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+
+ PdfCanvas pdfCanvas = new PdfCanvas(page.getLastContentStream(), page.getResources(), document);
+ Canvas canvas = new Canvas(pdfCanvas, pageSize);
+ float x = (pageSize.getLeft() + pageSize.getRight()) / 2;
+ float y = pageSize.getBottom() + 15;
+ Paragraph paragraph = new Paragraph("第" + document.getPageNumber(page) + "页/共" + document.getNumberOfPages() + "页")
+ .setFontSize(10)
+ .setFont(pdfFont);
+ canvas.showTextAligned(paragraph, x, y, TextAlignment.CENTER);
+ canvas.close();
+ }
+}
\ No newline at end of file
diff --git a/utils/src/main/java/com/haitongauto/utils/PdfUtils.java b/utils/src/main/java/com/haitongauto/utils/PdfUtils.java
new file mode 100644
index 0000000..513768e
--- /dev/null
+++ b/utils/src/main/java/com/haitongauto/utils/PdfUtils.java
@@ -0,0 +1,119 @@
+package com.haitongauto.utils;
+
+//import com.itextpdf.text.*;
+//import com.itextpdf.text.pdf.*;
+//import org.apache.commons.io.FileUtils;
+//import org.apache.commons.io.IOUtils;
+//import org.apache.commons.lang3.StringUtils;
+//import org.apache.tomcat.util.http.fileupload.FileUtils;
+//import org.apache.tomcat.util.http.fileupload.IOUtils;
+//import org.junit.Test;
+//import pojo.user;
+//import java.io.*;
+//import java.util.*;
+public class PdfUtils {
+// /**
+// * @param map 需要填充的字段
+// * @param sourceFile 原文件路径
+// * @param targetFile 目标文件路径
+// * @param imgURLMap 填充图片路径
+// * @throws IOException
+// */
+// public static void genPdf(Map map, String sourceFile, String targetFile) throws IOException {
+// File templateFile = new File(sourceFile);
+// fillParam(map, FileUtils.readFileToByteArray(templateFile), targetFile);
+// }
+//
+// /**
+// *使用map中的参数填充pdf,map中的key和pdf表单中的field对应
+// * @param fieldValueMap
+// * @param file
+// * @param contractFileName
+// * @param imgURLMap //这边暂时吧图片给注释了,如需填充图片直接加参数即可
+// */
+// public static void fillParam(Map fieldValueMap,byte[] file, String contractFileName) {
+// //输出流
+// FileOutputStream fos = null;
+// try {
+// fos = new FileOutputStream(contractFileName);
+// //获取PdfReader对象,获取模板位置
+// PdfReader reader = null;
+// /* 将要生成的目标PDF文件名称 */
+// PdfStamper stamper = null;
+// BaseFont base = null;
+// //取出模板中的所有字段
+// AcroFields acroFields = null;
+// // 获取存在resources目录下的pdf模板位置 URL
+// //URL file = PdfUtils.class.getClassLoader().getResource("CONTRACT.pdf");
+// try {
+// reader = new PdfReader(file);
+// stamper = new PdfStamper(reader, fos);
+// stamper.setFormFlattening(true);
+// //简体中文字体
+// base = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED);
+// acroFields = stamper.getAcroFields();
+//
+// //如果图片放在resources目录下需要这么写
+// // String imgUrl = new ClassPathResource("static/IMG_5809.JPG").getURL().getPath();
+// //循环添加公章图片
+// //for(String key : imgURLMap.keySet()) {
+// // String value = imgURLMap.get(key).toString();
+// // //获取图片域名
+// // AcroFields.FieldPosition position = acroFields.getFieldPositions(key).get(0);
+// // //通过域名获取所在页和坐标,左下角为起点
+// // int pageNo = position.page;
+// // Rectangle signRect = position.position;
+// // float x = signRect.getLeft();
+// // float y = signRect.getBottom();
+// // //读图片
+// // Image image = Image.getInstance(value);
+// // //获取操作页面
+// // PdfContentByte under = stamper.getOverContent(pageNo);
+// // //根据域的大小缩放图片
+// // image.scaleToFit(signRect.getWidth(),signRect.getHeight());
+// // //添加图片
+// // image.setAbsolutePosition(x,y);
+// // under.addImage(image);
+// // System.out.println("--"+key+"---"+value);
+// //}
+// for (String key : acroFields.getFields().keySet()) {
+// acroFields.setFieldProperty(key, "textfont", base, null);
+// //字体大小
+// acroFields.setFieldProperty(key, "textsize", new Float(12), null);
+// }
+// if (fieldValueMap != null) {
+// for (String fieldName : fieldValueMap.keySet()) {
+//
+// if (StringUtils.isNotBlank(fieldValueMap.get(fieldName))) {
+// //获取map中key对应的Value是否为On,若是则勾选复选框
+// if (fieldValueMap.get(fieldName).equals("On") || fieldValueMap.get(fieldName) == "On") {
+// acroFields.setField(fieldName, fieldValueMap.get(fieldName),"true");
+// }else{
+// acroFields.setField(fieldName, fieldValueMap.get(fieldName));
+// }
+// }
+// }
+// }
+// } catch (Exception e) {
+// e.printStackTrace();
+// } finally {
+// if (stamper != null) {
+// try {
+// stamper.close();
+// } catch (Exception e) {
+// e.printStackTrace();
+// }
+// }
+// if (reader != null) {
+// reader.close();
+// }
+// }
+//
+// } catch (Exception e) {
+// System.out.println("填充参数异常");
+// e.printStackTrace();
+// } finally {
+// IOUtils.closeQuietly(fos);
+// }
+// }
+}
diff --git a/utils/src/main/java/com/haitongauto/utils/PostFiles.java b/utils/src/main/java/com/haitongauto/utils/PostFiles.java
new file mode 100644
index 0000000..6cde763
--- /dev/null
+++ b/utils/src/main/java/com/haitongauto/utils/PostFiles.java
@@ -0,0 +1,47 @@
+package com.haitongauto.utils;
+
+public class PostFiles {
+
+// public static void saveFile( MultipartFile filecontent){
+// OutputStream os = null;
+// InputStream inputStream = null;
+// String fileName = null;
+// try {
+// inputStream = filecontent.getInputStream();
+// fileName = fileconteXKfIbmTzZDnt.getOriginalFilename();
+// //fileName = fileconteXKfIbmTzZDnt.getOriginalFilename();
+// } catch (IOException e) {
+// e.printStackTrace();
+// }
+// try {
+// String path = "C:\\test\\";
+// // 2、保存到临时文件
+// // 1K的数据缓冲
+// byte[] bs = new byte[1024];
+// // 读取到的数据长度
+// int len;
+// // 输出的文件流保存到本地文件
+// File tempFile = new File(path);
+// if (!tempFile.exists()) {
+// tempFile.mkdirs();
+// }
+// os = new FileOutputStream(tempFile.getPath() + File.separator + fileName);
+// // 开始读取
+// while ((len = inputStream.read(bs)) != -1) {
+// os.write(bs, 0, len);
+// }
+// } catch (IOException e) {
+// e.printStackTrace();
+// } catch (Exception e) {
+// e.printStackTrace();
+// } finally {
+// // 完毕,关闭所有链接
+// try {
+// os.close();
+// inputStream.close();
+// } catch (IOException e) {
+// e.printStackTrace();
+// }
+// }
+// }
+}
\ No newline at end of file
diff --git a/utils/src/main/java/com/haitongauto/utils/QueueNumberHelper.java b/utils/src/main/java/com/haitongauto/utils/QueueNumberHelper.java
new file mode 100644
index 0000000..c4f2540
--- /dev/null
+++ b/utils/src/main/java/com/haitongauto/utils/QueueNumberHelper.java
@@ -0,0 +1,51 @@
+package com.haitongauto.utils;
+
+import java.text.SimpleDateFormat;
+import java.util.Date;
+
+/**
+ * 排队号帮助类
+ */
+public class QueueNumberHelper {
+
+ /**
+ * 获得新排队号
+ * @param lastQueueNumber 前排队号
+ * @return 返回排队号
+ */
+ public static String getNewQueueNumber(String lastQueueNumber) {
+ String queueNumber = "";
+ if (lastQueueNumber == null || lastQueueNumber.length() < 10) {
+ queueNumber = getTodayStr() + "0001";
+ return queueNumber;
+ }
+ String lastDateStr = lastQueueNumber.substring(0, 6);
+ String todayStr = getTodayStr();
+ //同一天
+ if (lastDateStr.equals(todayStr)) {
+ try {
+ long res = Long.parseLong(lastQueueNumber);
+ res = res + 1;
+ queueNumber = Long.toString(res);
+ } catch (Exception ignored) {
+ }
+
+ } else {
+ //日期转钟的处理
+ queueNumber = getTodayStr() + "0001";
+ }
+ return queueNumber;
+ }
+
+
+ /**
+ * 获取今天文件夹日期
+ *
+ * @return 返回时间类型 yyyyMMdd
+ */
+ private static String getTodayStr() {
+ Date currentTime = new Date();
+ SimpleDateFormat formatter = new SimpleDateFormat("yyMMdd");
+ return formatter.format(currentTime);
+ }
+}
diff --git a/utils/src/main/java/com/haitongauto/utils/StringHelper.java b/utils/src/main/java/com/haitongauto/utils/StringHelper.java
new file mode 100644
index 0000000..3ed194a
--- /dev/null
+++ b/utils/src/main/java/com/haitongauto/utils/StringHelper.java
@@ -0,0 +1,21 @@
+package com.haitongauto.utils;
+
+public class StringHelper {
+ /**
+ * htmlStr 转化位纯文本
+ * @param htmlStr htmlStr
+ * @return txt
+ */
+ public static String getTxtByHtml(String htmlStr) {
+ do {
+ int a = htmlStr.indexOf("<");
+ int b = htmlStr.indexOf(">");
+ if (a != -1 && b != -1) {
+ htmlStr = htmlStr.substring(0, a) + htmlStr.substring(b + 1);
+ }
+ } while (htmlStr.indexOf("<") != -1 && htmlStr.indexOf(">") != -1);
+
+ return htmlStr;
+ }
+
+}
diff --git a/utils/src/main/java/com/haitongauto/utils/WaterMarkEventHandler.java b/utils/src/main/java/com/haitongauto/utils/WaterMarkEventHandler.java
new file mode 100644
index 0000000..7b41bbf
--- /dev/null
+++ b/utils/src/main/java/com/haitongauto/utils/WaterMarkEventHandler.java
@@ -0,0 +1,84 @@
+package com.haitongauto.utils;
+
+
+import com.itextpdf.kernel.colors.WebColors;
+import com.itextpdf.kernel.events.Event;
+import com.itextpdf.kernel.events.IEventHandler;
+import com.itextpdf.kernel.events.PdfDocumentEvent;
+import com.itextpdf.kernel.font.PdfFont;
+import com.itextpdf.kernel.font.PdfFontFactory;
+import com.itextpdf.kernel.geom.Rectangle;
+import com.itextpdf.kernel.pdf.PdfDocument;
+import com.itextpdf.kernel.pdf.PdfPage;
+import com.itextpdf.kernel.pdf.canvas.PdfCanvas;
+import com.itextpdf.layout.Canvas;
+import com.itextpdf.layout.element.Paragraph;
+import com.itextpdf.layout.property.TextAlignment;
+import com.itextpdf.layout.property.VerticalAlignment;
+import org.springframework.stereotype.Component;
+
+import java.io.IOException;
+
+/**
+ * 水印
+ */
+@Component
+public class WaterMarkEventHandler implements IEventHandler {
+
+ /**
+ * 水印内容
+ */
+ private final String waterMarkContent;
+
+ /**
+ * 一页中有几列水印
+ */
+ private final int waterMarkX;
+
+ /**
+ * 一页中每列有多少水印
+ */
+ private final int waterMarkY;
+
+ public WaterMarkEventHandler(String waterMarkContent) {
+ this(waterMarkContent, 5, 5);
+ }
+
+ public WaterMarkEventHandler(String waterMarkContent, int waterMarkX, int waterMarkY) {
+ this.waterMarkContent = waterMarkContent;
+ this.waterMarkX = waterMarkX;
+ this.waterMarkY = waterMarkY;
+ }
+
+ @Override
+ public void handleEvent(Event event) {
+
+ PdfDocumentEvent documentEvent = (PdfDocumentEvent) event;
+ PdfDocument document = documentEvent.getDocument();
+ PdfPage page = documentEvent.getPage();
+ Rectangle pageSize = page.getPageSize();
+
+ PdfFont pdfFont = null;
+ try {
+ pdfFont = PdfFontFactory.createFont();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+
+ PdfCanvas pdfCanvas = new PdfCanvas(page.newContentStreamAfter(), page.getResources(), document);
+
+ Paragraph waterMark = new Paragraph(waterMarkContent).setOpacity(0.5f);
+ Canvas canvas = new Canvas(pdfCanvas, pageSize)
+ .setFontColor(WebColors.getRGBColor("lightgray"))
+ .setFontSize(16)
+ .setFont(pdfFont);
+
+ for (int i = 0; i < waterMarkX; i++) {
+ for (int j = 0; j < waterMarkY; j++) {
+ canvas.showTextAligned(waterMark, (150 + i * 300), (160 + j * 150), document.getNumberOfPages(),
+ TextAlignment.CENTER, VerticalAlignment.BOTTOM, 120);
+ }
+ }
+ canvas.close();
+ }
+}
\ No newline at end of file
diff --git a/utils/src/main/java/com/haitongauto/utils/check/CheckHelper.java b/utils/src/main/java/com/haitongauto/utils/check/CheckHelper.java
new file mode 100644
index 0000000..aa16e26
--- /dev/null
+++ b/utils/src/main/java/com/haitongauto/utils/check/CheckHelper.java
@@ -0,0 +1,77 @@
+package com.haitongauto.utils.check;
+
+import com.bestvike.linq.Linq;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+public class CheckHelper {
+ /**
+ * 验证vins受否狗17位
+ * 返回验证不通过的vins
+ */
+ public static List CheckVinLength(List vinlist) {
+ if (vinlist == null || vinlist.size() == 0) {
+ return null;
+ }
+ List myvinlist = Linq.of(vinlist).where(p -> p != null && !p.isEmpty()).toList();
+ if (vinlist == null || vinlist.size() == 0) {
+ return null;
+ }
+ List vins = new ArrayList<>();
+ vins = Linq.of(myvinlist).where(o -> o.length() < 17).toList();
+ return vins;
+ }
+
+ /**
+ * 验证vins只能包含数字或英文字母 digit
+ * 返回验证不通过的vins
+ */
+ public static List CheckVinContainEnOrDi(List vinlist) {
+
+ if (vinlist == null || vinlist.size() == 0) {
+ return null;
+ }
+ List myvinlist = Linq.of(vinlist).where(p -> p != null && !p.isEmpty()).toList();
+ if (vinlist == null || vinlist.size() == 0) {
+ return null;
+ }
+ List vins = new ArrayList<>();
+ //包含字母或数字的正则
+ String pattern = "^[a-zA-Z0-9]+$";
+ //找出有不包含字母或数字的
+ vins = Linq.of(myvinlist).where(o -> !o.matches(pattern)).toList();
+ return vins;
+ }
+
+ /**
+ * 验证手机号码
+ *
+ * @param phoneNumber 你要验证的手机号
+ * @return 返回
+ */
+ public static Boolean checkTelPhoneNumber(String phoneNumber) {
+ Boolean res = false;
+ if (phoneNumber == null || phoneNumber.isEmpty()) {
+ return false;
+ }
+ // 定义手机号的正则表达式
+ String regex = "^(13\\d|14[5-9]|15[0-3,5-9]|16[2,5,6]|17[0-8]|18\\d|19[0-3,5-9])\\d{8}$";
+ // 创建 Pattern 对象
+ Pattern pattern = Pattern.compile(regex);
+ // 创建 Matcher 对象
+ Matcher matcher = pattern.matcher(phoneNumber);
+ // 判断手机号是否符合正则表达式
+ if (matcher.matches()) {
+ res = true;
+ System.out.println("手机号验证通过");
+ } else {
+ res = false;
+ System.out.println("手机号验证不通过");
+ }
+ return res;
+ }
+
+}
diff --git a/utils/src/main/java/com/haitongauto/utils/excel/ExcelCustomCellWriteHeightConfig.java b/utils/src/main/java/com/haitongauto/utils/excel/ExcelCustomCellWriteHeightConfig.java
new file mode 100644
index 0000000..d1dc533
--- /dev/null
+++ b/utils/src/main/java/com/haitongauto/utils/excel/ExcelCustomCellWriteHeightConfig.java
@@ -0,0 +1,61 @@
+package com.haitongauto.utils.excel;
+
+import com.alibaba.excel.write.style.row.AbstractRowHeightStyleStrategy;
+import org.apache.poi.ss.usermodel.Cell;
+import org.apache.poi.ss.usermodel.CellType;
+import org.apache.poi.ss.usermodel.Row;
+
+import java.util.Iterator;
+
+public class ExcelCustomCellWriteHeightConfig extends AbstractRowHeightStyleStrategy {
+ /**
+ * 默认高度
+ */
+ private static final Integer DEFAULT_HEIGHT = 300;
+
+ /**
+ *
+ * @param row row
+ * @param relativeRowIndex relativeRowIndex
+ */
+ @Override
+ protected void setHeadColumnHeight(Row row, int relativeRowIndex) {
+ }
+
+ /**
+ *
+ * @param row row
+ * @param relativeRowIndex relativeRowIndex
+ */
+ @Override
+ protected void setContentColumnHeight(Row row, int relativeRowIndex) {
+ Iterator cellIterator = row.cellIterator();
+ if (!cellIterator.hasNext()) {
+ return;
+ }
+ // 默认为 1行高度
+ int maxHeight = 1;
+ while (cellIterator.hasNext()) {
+ Cell cell = cellIterator.next();
+ if (cell.getCellTypeEnum() == CellType.STRING) {
+ String value = cell.getStringCellValue();
+ int len = value.length();
+ int num = 0;
+ if (len > 50) {
+ num = len % 50 > 0 ? len / 50 : len / 2 - 1;
+ }
+ if (num > 0) {
+ for (int i = 0; i < num; i++) {
+ value = value.substring(0, (i + 1) * 50 + i) + "\n" + value.substring((i + 1) * 50 + i, len + i);
+ }
+ }
+ if (value.contains("\n")) {
+ int length = value.split("\n").length;
+ maxHeight = Math.max(maxHeight, length) + 1;
+ }
+ }
+ }
+ row.setHeight((short) ((maxHeight) * DEFAULT_HEIGHT));
+ }
+
+}
\ No newline at end of file
diff --git a/utils/src/main/java/com/haitongauto/utils/excel/ExcelCustomCellWriteWidthConfig.java b/utils/src/main/java/com/haitongauto/utils/excel/ExcelCustomCellWriteWidthConfig.java
new file mode 100644
index 0000000..094de57
--- /dev/null
+++ b/utils/src/main/java/com/haitongauto/utils/excel/ExcelCustomCellWriteWidthConfig.java
@@ -0,0 +1,87 @@
+package com.haitongauto.utils.excel;
+import com.alibaba.excel.enums.CellDataTypeEnum;
+import com.alibaba.excel.metadata.Head;
+import com.alibaba.excel.metadata.data.CellData;
+import com.alibaba.excel.metadata.data.WriteCellData;
+import com.alibaba.excel.write.metadata.holder.WriteSheetHolder;
+import com.alibaba.excel.write.style.column.AbstractColumnWidthStyleStrategy;
+//import org.apache.commons.collections.CollectionUtils;
+import org.apache.poi.ss.usermodel.Cell;
+import org.apache.poi.ss.usermodel.Sheet;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+
+public class ExcelCustomCellWriteWidthConfig extends AbstractColumnWidthStyleStrategy {
+
+ private final Map> CACHE = new HashMap<>();
+
+ /**
+ *
+ * @param writeSheetHolder writeSheetHolder
+ * @param cellDataList cellDataList
+ * @param cell cell
+ * @param head head
+ * @param integer integer
+ * @param isHead isHead
+ */
+ @Override
+ protected void setColumnWidth(WriteSheetHolder writeSheetHolder, List> cellDataList, Cell cell, Head head, Integer integer, Boolean isHead) {
+ //boolean needSetWidth = isHead || !CollectionUtils.isEmpty(cellDataList);
+ boolean needSetWidth = isHead ||cellDataList!=null||cellDataList.size()>0;
+ if (needSetWidth) {
+ Map maxColumnWidthMap = CACHE.computeIfAbsent(writeSheetHolder.getSheetNo(), k -> new HashMap<>());
+
+ Integer columnWidth = this.dataLength(cellDataList, cell, isHead);
+ // 单元格文本长度大于60换行
+ if (columnWidth >= 0) {
+ if (columnWidth > 60) {
+ columnWidth = 60;
+ }
+ Integer maxColumnWidth = maxColumnWidthMap.get(cell.getColumnIndex());
+ if (maxColumnWidth == null || columnWidth > maxColumnWidth) {
+ maxColumnWidthMap.put(cell.getColumnIndex(), columnWidth);
+ Sheet sheet = writeSheetHolder.getSheet();
+ sheet.setColumnWidth(cell.getColumnIndex(), columnWidth * 256);
+ }
+ }
+ }
+ }
+
+ /**
+ * 计算长度
+ *
+ * @param cellDataList cellDataList
+ * @param cell cell
+ * @param isHead isHead
+ * @return return
+ */
+ private Integer dataLength(List> cellDataList, Cell cell, Boolean isHead) {
+ if (isHead) {
+ return cell.getStringCellValue().getBytes().length;
+ } else {
+ CellData> cellData = cellDataList.get(0);
+ CellDataTypeEnum type = cellData.getType();
+ if (type == null) {
+ return -1;
+ } else {
+ switch (type) {
+ case STRING:
+ // 换行符(数据需要提前解析好)
+ int index = cellData.getStringValue().indexOf("\n");
+ return index != -1 ?
+ cellData.getStringValue().substring(0, index).getBytes().length + 1 : cellData.getStringValue().getBytes().length + 1;
+ case BOOLEAN:
+ return cellData.getBooleanValue().toString().getBytes().length;
+ case NUMBER:
+ return cellData.getNumberValue().toString().getBytes().length;
+ default:
+ return -1;
+ }
+ }
+ }
+ }
+
+}
\ No newline at end of file
diff --git a/utils/src/main/java/com/haitongauto/utils/excel/ExcelGenerateHelper.java b/utils/src/main/java/com/haitongauto/utils/excel/ExcelGenerateHelper.java
new file mode 100644
index 0000000..4933b37
--- /dev/null
+++ b/utils/src/main/java/com/haitongauto/utils/excel/ExcelGenerateHelper.java
@@ -0,0 +1,239 @@
+package com.haitongauto.utils.excel;
+
+import com.alibaba.excel.EasyExcel;
+import com.alibaba.excel.ExcelWriter;
+import com.alibaba.excel.write.metadata.WriteSheet;
+import com.haitongauto.utils.FormatDateTime;
+
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.util.List;
+import java.util.UUID;
+
+public class ExcelGenerateHelper {
+ /**
+ * 导出 Excel 文件, 有表头
+ *
+ * @param dateList 想要导出的数据列表
+ * @param clazz 待导出数据的类型
+ * @param filePath 导出后的excel文件的存储路径
+ * @param 类型
+ */
+ public static void outPutExcel(List dateList, Class clazz, String filePath) {
+ // 默认导出地址 obj.getClass().getName() 使用反射获取类的名称
+ //String fileName = "C:\\Users\\lenovo\\Desktop\\图片工具" + "\\" + clazz.getSimpleName() + ".xlsx";
+ String fileName = "";
+ if (filePath != null && !filePath.isEmpty()) {
+ fileName = filePath + clazz.getSimpleName() + ".xlsx";
+ } else {
+ return;
+ }
+
+ System.out.println("Excel文件: " + clazz.getSimpleName() + ".xlsx 开始生成");
+
+ // 创建一个输出流,将文件输出
+ FileOutputStream outputStream = null;
+
+ try {
+ outputStream = new FileOutputStream(fileName);
+ // EasyExcel.write(outputStream) 为了使用流将数据导出
+ ExcelWriter writer = EasyExcel.write(outputStream).build();
+ // writerSheet 中 sheetNo 表示导出的是 Excel 中第几页数据,sheetName 表示导出的该页数据名称
+ // head 表示 Excel 数据需要映射的类
+ WriteSheet sheet = EasyExcel.writerSheet(0, "Excel表第0页的名称")
+ .registerWriteHandler(new ExcelCustomCellWriteWidthConfig()) /*自适应列宽*/
+ .registerWriteHandler(new ExcelCustomCellWriteHeightConfig()) /*自适应行高(根据自己情况选择使用,我这里没用到)*/
+ .head(clazz)//根据实体类设置表头
+ .build();
+
+ // 开始写入数据
+ writer.write(dateList, sheet);
+ // 刷新数据
+ writer.finish();
+ outputStream.flush();
+ System.out.println("Excel文件生成成功 ---> 生成位置: " + fileName);
+ } catch (IOException e) {
+ e.printStackTrace();
+ } finally {
+ try {
+ if (outputStream != null) {
+ // 关闭流
+ outputStream.close();
+ }
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
+ }
+
+ /**
+ * @param dateList 数据
+ * @param clazz 类型
+ * @param filePath 文件路径
+ * @param 类型
+ * @return 返回文件名(全路径)
+ */
+ public static String outPutExcelReturnFileName(List dateList, Class clazz, String filePath) {
+
+ // 默认导出地址 obj.getClass().getName() 使用反射获取类的名称
+ //String fileName = "C:\\Users\\lenovo\\Desktop\\图片工具" + "\\" + clazz.getSimpleName() + ".xlsx";
+ String fileName = "";
+ if (filePath != null && !filePath.isEmpty()) {
+ fileName = filePath + clazz.getSimpleName() + FormatDateTime.getStringDate() + ".xlsx";
+ } else {
+ return fileName;
+ }
+ System.out.println("Excel文件: " + clazz.getSimpleName() + ".xlsx 开始生成");
+ // 创建一个输出流,将文件输出
+ FileOutputStream outputStream = null;
+ try {
+ outputStream = new FileOutputStream(fileName);
+ // EasyExcel.write(outputStream) 为了使用流将数据导出
+ ExcelWriter writer = EasyExcel.write(outputStream).build();
+ // writerSheet 中 sheetNo 表示导出的是 Excel 中第几页数据,sheetName 表示导出的该页数据名称
+ // head 表示 Excel 数据需要映射的类
+ WriteSheet sheet = EasyExcel.writerSheet(0, "Excel表第0页的名称")
+ .registerWriteHandler(new ExcelCustomCellWriteWidthConfig()) /*自适应列宽*/
+ .registerWriteHandler(new ExcelCustomCellWriteHeightConfig()) /*自适应行高(根据自己情况选择使用,我这里没用到)*/
+
+ .head(clazz)//根据实体类设置表头
+ .build();
+
+ // 开始写入数据
+ writer.write(dateList, sheet);
+ // 刷新数据
+ writer.finish();
+ outputStream.flush();
+ System.out.println("Excel文件生成成功 ---> 生成位置: " + fileName);
+ } catch (IOException e) {
+ e.printStackTrace();
+ } finally {
+ try {
+ if (outputStream != null) {
+ // 关闭流
+ outputStream.close();
+ }
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
+
+ return fileName;
+
+ }
+
+
+ /**
+ * 导出 Excel 文件, 不带表头的
+ *
+ * @param dateList 想要导出的数据列表
+ * @param clazz 待导出数据的类型
+ * @param filePath 导出后的excel文件的存储路径
+ * @param 类型
+ */
+ public static void outPutExcelUnHear(List dateList, Class clazz, String filePath) {
+
+ // 默认导出地址 obj.getClass().getName() 使用反射获取类的名称
+ //String fileName = "C:\\Users\\lenovo\\Desktop\\图片工具" + "\\" + clazz.getSimpleName() + ".xlsx";
+ String fileName = "";
+ if (filePath != null && !filePath.isEmpty()) {
+ fileName = filePath + clazz.getSimpleName() + ".xlsx";
+ } else {
+ return;
+ }
+
+ System.out.println("Excel文件: " + clazz.getSimpleName() + ".xlsx 开始生成");
+
+ // 创建一个输出流,将文件输出
+ FileOutputStream outputStream = null;
+
+ try {
+ outputStream = new FileOutputStream(fileName);
+ // EasyExcel.write(outputStream) 为了使用流将数据导出
+ ExcelWriter writer = EasyExcel.write(outputStream).build();
+ // writerSheet 中 sheetNo 表示导出的是 Excel 中第几页数据,sheetName 表示导出的该页数据名称
+ // head 表示 Excel 数据需要映射的类
+ WriteSheet sheet = EasyExcel.writerSheet(0, "Excel表第0页的名称")
+ .registerWriteHandler(new ExcelCustomCellWriteWidthConfig()) /*自适应列宽*/
+ .registerWriteHandler(new ExcelCustomCellWriteHeightConfig()) /*自适应行高(根据自己情况选择使用,我这里没用到)*/
+ //.head(clazz)
+ .build();
+
+ // 开始写入数据
+ writer.write(dateList, sheet);
+ // 刷新数据
+ writer.finish();
+ outputStream.flush();
+ System.out.println("Excel文件生成成功 ---> 生成位置: " + fileName);
+ } catch (IOException e) {
+ e.printStackTrace();
+ } finally {
+ try {
+ if (outputStream != null) {
+ // 关闭流
+ outputStream.close();
+ }
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
+ }
+
+ /**
+ * @param dateList 数据
+ * @param clazz 类型
+ * @param filePath 文件路径
+ * @param 类型
+ * @return 文件名(全路径)
+ */
+ public static String outPutExcelUnHearReturnFileName(List dateList, Class clazz, String filePath) {
+
+ // 默认导出地址 obj.getClass().getName() 使用反射获取类的名称
+ String fileName = "";
+ if (filePath != null && !filePath.isEmpty()) {
+ fileName = filePath + clazz.getSimpleName() + FormatDateTime.getStringDate() + ".xlsx";
+ } else {
+ return fileName;
+ }
+
+ System.out.println("Excel文件: " + clazz.getSimpleName() + ".xlsx 开始生成");
+
+ // 创建一个输出流,将文件输出
+ FileOutputStream outputStream = null;
+
+ try {
+ outputStream = new FileOutputStream(fileName);
+ // EasyExcel.write(outputStream) 为了使用流将数据导出
+ ExcelWriter writer = EasyExcel.write(outputStream).build();
+ // writerSheet 中 sheetNo 表示导出的是 Excel 中第几页数据,sheetName 表示导出的该页数据名称
+ // head 表示 Excel 数据需要映射的类
+ WriteSheet sheet = EasyExcel.writerSheet(0, "Excel表第0页的名称")
+ .registerWriteHandler(new ExcelCustomCellWriteWidthConfig()) /*自适应列宽*/
+ .registerWriteHandler(new ExcelCustomCellWriteHeightConfig()) /*自适应行高(根据自己情况选择使用,我这里没用到)*/
+ //.head(clazz)
+ .build();
+
+ // 开始写入数据
+ writer.write(dateList, sheet);
+ // 刷新数据
+ writer.finish();
+ outputStream.flush();
+ System.out.println("Excel文件生成成功 ---> 生成位置: " + fileName);
+ } catch (IOException e) {
+ e.printStackTrace();
+ } finally {
+ try {
+ if (outputStream != null) {
+ // 关闭流
+ outputStream.close();
+ }
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
+
+ return fileName;
+ }
+
+
+}
diff --git a/utils/src/main/java/com/haitongauto/utils/http/OkHttpUtils.java b/utils/src/main/java/com/haitongauto/utils/http/OkHttpUtils.java
new file mode 100644
index 0000000..392bc81
--- /dev/null
+++ b/utils/src/main/java/com/haitongauto/utils/http/OkHttpUtils.java
@@ -0,0 +1,223 @@
+package com.haitongauto.utils.http;
+
+
+import okhttp3.*;
+
+import java.io.IOException;
+import java.util.Map;
+import java.util.concurrent.TimeUnit;
+
+public class OkHttpUtils {
+
+ // 创建OkHttpClient对象
+ private static final OkHttpClient client = new OkHttpClient.Builder()
+ .connectTimeout(30, TimeUnit.SECONDS) // 连接超时时间
+ .readTimeout(30, TimeUnit.SECONDS) // 读取超时时间
+ .writeTimeout(30, TimeUnit.SECONDS) // 写入超时时间
+ .build();
+
+ /**
+ * GET请求
+ * @param url 请求URL
+ * @return 响应体字符串
+ * @throws IOException 请求或响应过程中发生的错误
+ */
+ public static String get(String url) throws IOException {
+ Request request = new Request.Builder()
+ .url(url)
+ .build();
+ Response response = client.newCall(request).execute();
+ if (response.isSuccessful()) {
+ return response.body().string();
+ } else {
+ throw new IOException("Unexpected code " + response);
+ }
+ }
+
+ public static String get(String url, Map headers) throws IOException {
+ Request.Builder builder = new Request.Builder()
+ .url(url);
+ if (headers != null && headers.size() > 0) {
+ for (Map.Entry entry : headers.entrySet()) {
+ builder.addHeader(entry.getKey(), entry.getValue());
+ }
+ }
+ Request request = builder.build();
+ Response response = client.newCall(request).execute();
+ if (response.isSuccessful()) {
+ return response.body().string();
+ } else {
+ throw new IOException("Unexpected code " + response);
+ }
+ }
+
+ /**
+ * POST请求
+ * @param url 请求URL
+ * @param requestBody 请求体
+ * @param headers 请求头
+ * @return 响应体字符串
+ * @throws IOException 请求或响应过程中发生的错误
+ */
+ public static String post(String url, RequestBody requestBody, Map headers) throws IOException {
+ Request.Builder builder = new Request.Builder()
+ .url(url)
+ .post(requestBody);
+ if (headers != null && headers.size() > 0) {
+ for (Map.Entry entry : headers.entrySet()) {
+ builder.addHeader(entry.getKey(), entry.getValue());
+ }
+ }
+ Request request = builder.build();
+ Response response = client.newCall(request).execute();
+ if (response.isSuccessful()) {
+ return response.body().string();
+ } else {
+ throw new IOException("Unexpected code " + response);
+ }
+ }
+
+ /**
+ * 构造JSON请求体
+ * @param jsonStr JSON字符串
+ * @return JSON请求体
+ */
+ public static RequestBody buildJsonRequestBody(String jsonStr) {
+ return RequestBody.create(MediaType.parse("application/json"), jsonStr);
+ }
+
+ /**
+ * 构造表单请求体
+ * @param formParams 表单参数
+ * @return 表单请求体
+ */
+ public static RequestBody buildFormRequestBody(Map formParams) {
+ FormBody.Builder builder = new FormBody.Builder();
+ if (formParams != null && formParams.size() > 0) {
+ for (Map.Entry entry : formParams.entrySet()) {
+ builder.add(entry.getKey(), entry.getValue());
+ }
+ }
+ return builder.build();
+ }
+
+ /**
+ * 构造Multipart请求体
+ * @param multipartParams Multipart参数
+ * @return Multipart请求体
+ */
+ public static RequestBody buildMultipartRequestBody(Map multipartParams) {
+ MultipartBody.Builder builder = new MultipartBody.Builder()
+ .setType(MultipartBody.FORM);
+ if (multipartParams != null && multipartParams.size() > 0) {
+ for (Map.Entry entry : multipartParams.entrySet()) {
+ String key = entry.getKey();
+ Object value = entry.getValue();
+ if (value instanceof String) {
+ builder.addFormDataPart(key, (String) value);
+ } else if (value instanceof byte[]) {
+ builder.addFormDataPart(key, null,
+ RequestBody.create(MediaType.parse("application/octet-stream"), (byte[]) value));
+ } else if (value instanceof RequestBody) {
+ builder.addFormDataPart(key, null, (RequestBody) value);
+ }
+ }
+ }
+ return builder.build();
+ }
+
+ /**
+ * 构造Multipart请求体,支持上传文件
+ * @param multipartParams Multipart参数
+ * @return Multipart请求体
+ */
+ public static RequestBody buildMultipartRequestBodyWithFiles(Map multipartParams) {
+ MultipartBody.Builder builder = new MultipartBody.Builder()
+ .setType(MultipartBody.FORM);
+ if (multipartParams != null && multipartParams.size() > 0) {
+ for (Map.Entry entry : multipartParams.entrySet()) {
+ String key = entry.getKey();
+ Object value = entry.getValue();
+ if (value instanceof String) {
+ builder.addFormDataPart(key, (String) value);
+ } else if (value instanceof byte[]) {
+ builder.addFormDataPart(key, null,
+ RequestBody.create(MediaType.parse("application/octet-stream"), (byte[]) value));
+ } else if (value instanceof RequestBody) {
+ builder.addFormDataPart(key, null, (RequestBody) value);
+ } else if (value instanceof UploadFile) { // 支持上传文件
+ UploadFile file = (UploadFile) value;
+ builder.addFormDataPart(key, file.getName(),
+ RequestBody.create(MediaType.parse(file.getMimeType()), file.getFile()));
+ }
+ }
+ }
+ return builder.build();
+ }
+
+ /**
+ * 上传文件
+ * @param url 请求URL
+ * @param file 上传的文件
+ * @param headers 请求头
+ * @return 响应体字符串
+ * @throws IOException 请求或响应过程中发生的错误
+ */
+ public static String uploadFile(String url, UploadFile file, Map headers) throws IOException {
+ RequestBody requestBody = new MultipartBody.Builder()
+ .setType(MultipartBody.FORM)
+ .addFormDataPart("file", file.getName(),
+ RequestBody.create(MediaType.parse(file.getMimeType()), file.getFile()))
+ .build();
+ Request.Builder builder = new Request.Builder()
+ .url(url)
+ .post(requestBody);
+ if (headers != null && headers.size() > 0) {
+ for (Map.Entry entry : headers.entrySet()) {
+ builder.addHeader(entry.getKey(), entry.getValue());
+ }
+ }
+ Request request = builder.build();
+ Response response = client.newCall(request).execute();
+ if (response.isSuccessful()) {
+ return response.body().string();
+ } else {
+ throw new IOException("Unexpected code " + response);
+ }
+ }
+
+ /**
+ * 封装文件上传参数
+ */
+ public static class UploadFile {
+ private final String name;
+ private final String mimeType;
+ private final byte[] file;
+
+ public UploadFile(String name, String mimeType, byte[] file) {
+ this.name = name;
+ this.mimeType = mimeType;
+ this.file = file;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public String getMimeType() {
+ return mimeType;
+ }
+
+ public byte[] getFile() {
+ return file;
+ }
+ }
+
+
+
+
+
+
+
+
+}
diff --git a/utils/src/main/java/com/haitongauto/utils/minio/MinioProp.java b/utils/src/main/java/com/haitongauto/utils/minio/MinioProp.java
new file mode 100644
index 0000000..ed7691d
--- /dev/null
+++ b/utils/src/main/java/com/haitongauto/utils/minio/MinioProp.java
@@ -0,0 +1,26 @@
+package com.haitongauto.utils.minio;
+
+import lombok.Data;
+import org.springframework.boot.context.properties.ConfigurationProperties;
+import org.springframework.stereotype.Component;
+
+@Data
+public class MinioProp {
+ /**
+ * 连接url
+ */
+ private String endpoint;
+ /**
+ * 用户名
+ */
+ private String accesskey;
+ /**
+ * 密码
+ */
+ private String secretKey;
+ /**
+ * 桶名称
+ */
+ private String bucket;
+
+}
diff --git a/utils/src/main/java/com/haitongauto/utils/minio/MinioUtils.java b/utils/src/main/java/com/haitongauto/utils/minio/MinioUtils.java
new file mode 100644
index 0000000..cdbf522
--- /dev/null
+++ b/utils/src/main/java/com/haitongauto/utils/minio/MinioUtils.java
@@ -0,0 +1,113 @@
+package com.haitongauto.utils.minio;
+
+import com.alibaba.fastjson.JSON;
+import io.minio.MinioClient;
+import io.minio.errors.*;
+import org.springframework.stereotype.Component;
+import org.springframework.web.multipart.MultipartFile;
+import org.xmlpull.v1.XmlPullParserException;
+import org.yaml.snakeyaml.Yaml;
+
+import java.io.DataInputStream;
+import java.io.File;
+import java.io.IOException;
+import java.io.InputStream;
+import java.nio.file.Files;
+import java.security.InvalidKeyException;
+import java.security.NoSuchAlgorithmException;
+import java.util.Map;
+
+@Component
+public class MinioUtils {
+
+ public MinioUtils() {
+ }
+
+ private static MinioClient client;
+
+ private static MinioProp minioProp;
+
+ /**
+ * 创建bucket
+ *
+ * @param bucketName bucket名称
+ */
+
+ public static void createBucket(String bucketName) throws InvalidBucketNameException, InsufficientDataException, XmlPullParserException, ErrorResponseException, NoSuchAlgorithmException, IOException, NoResponseException, InvalidKeyException, InvalidResponseException, InternalException, RegionConflictException {
+ if (!client.bucketExists(bucketName)) {
+ client.makeBucket(bucketName);
+ }
+ }
+
+ /**
+ * 上传文件
+ *
+ * @param file 文件
+ * @return 返回结果
+ */
+ public static String uploadFile(MultipartFile file) throws InvalidPortException, InvalidEndpointException {
+
+ // 判断上传文件是否为空
+ if (null == file || 0 == file.getSize()) {
+ try {
+ throw new Exception("上传文件不能为空");
+ } catch (Exception e) {
+ throw new RuntimeException(e);
+ }
+ }
+ String fileUrl = "";
+ //minio服务配置
+ if (minioProp == null||minioProp.getEndpoint()==null||minioProp.getEndpoint().equals("")) {
+ minioProp = ymlReader();
+ }
+ //minio客户端访问对象
+ if (client == null) {
+ client = new MinioClient(minioProp.getEndpoint());
+ }
+
+ try {
+ // 判断存储桶是否存在,如果不存在创建桶
+ createBucket(minioProp.getBucket());
+ // 文件名
+ String originalFilename = file.getOriginalFilename();
+ // 新的文件名 = 存储桶名称_时间戳+【10000-99999】随机数字.后缀名
+ //Random random = new Random();
+ //String fileName = minioProp.getBucket() + "_" + System.currentTimeMillis() + (random.nextInt(99999 - 10000) + 10000 + 1) + originalFilename.substring(originalFilename.lastIndexOf("."));
+ String fileName = "img_" + file.getOriginalFilename();
+ // 开始上传
+ client.putObject(minioProp.getBucket(), fileName, file.getInputStream(), file.getContentType());
+ fileUrl = minioProp.getEndpoint() + "/" + minioProp.getBucket() + "/" + fileName;
+ return fileUrl;
+ } catch (Exception ex) {
+ fileUrl="";
+ throw new RuntimeException(ex);
+ }
+ }
+
+
+ /**
+ * @return 返回配置
+ */
+ public static MinioProp ymlReader() {
+ MinioProp minioProp = new MinioProp();
+ try {
+ Yaml yaml = new Yaml();
+ final File initialFile = new File("utils/src/main/resources/utils.yml");
+ final InputStream in = new DataInputStream(Files.newInputStream(initialFile.toPath()));
+ Map map = yaml.load(in);
+ Object minio = map.get("minio");
+ if (minio != null && !minio.equals("")) {
+ minioProp = JSON.parseObject(JSON.toJSONString(minio), MinioProp.class);
+ }
+ System.out.println(map);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ return minioProp;
+ }
+
+
+}
+
+
+
diff --git a/utils/src/main/resources/log4j2.xml b/utils/src/main/resources/log4j2.xml
new file mode 100644
index 0000000..32c8f6b
--- /dev/null
+++ b/utils/src/main/resources/log4j2.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/utils/src/main/resources/utils.yml b/utils/src/main/resources/utils.yml
new file mode 100644
index 0000000..a9bb130
--- /dev/null
+++ b/utils/src/main/resources/utils.yml
@@ -0,0 +1,15 @@
+# minio 文件存储配置信息 https://rtops4.haitongauto.com/minio/
+minio:
+ endpoint: http://192.168.61.130:20001
+ accesskey: hfyth
+ secretKey: hfyth2022
+ bucket: rtos-saas-dev
+
+# minio 文件存储配置信息(本地)
+#minio:
+# endpoint: http://192.168.0.16:9000
+# accesskey: admin
+# secretKey: admin@123
+# bucket: rtos-saas-dev
+
+
diff --git a/utils/src/test/java/QueueNumTest.java b/utils/src/test/java/QueueNumTest.java
new file mode 100644
index 0000000..16690ee
--- /dev/null
+++ b/utils/src/test/java/QueueNumTest.java
@@ -0,0 +1,40 @@
+import com.haitongauto.utils.QueueNumberHelper;
+import org.junit.Test;
+
+public class QueueNumTest {
+ @Test
+ public void geQueueNum() {
+ String queueNum = QueueNumberHelper.getNewQueueNumber("2308211003");
+ String aaa="";
+
+
+ // AppointForward appointForward=new AppointForward();
+// appointForward.setId("1");
+// appointForward.setOpenId("oBFJt5KzWJPJHHRpYPEOWvTUvqjA");
+// appointForward.setTruckNo("沪A88888");
+// appointForward.setOrderTm("2024-1-1 10:20:00");
+// appointForward.setOrderType("外贸出口");
+// appointForward.setWhafType("外高桥");
+// appointForward.setGodType("商品车");
+// appointForward.setGodNum(2);
+// appointForward.setPhone("13118057744");
+// List dataList=new ArrayList<>();
+// VinDetail vinDetail1=new VinDetail();
+// vinDetail1.setVin("NSTOOS00000000001");
+// vinDetail1.setPotNm("达曼");
+// vinDetail1.setVlsNm("阿拉伯海");
+// vinDetail1.setBrdNm("江淮");
+// dataList.add(vinDetail1);
+// VinDetail vinDetail2=new VinDetail();
+// vinDetail2.setVin("NSTOOS00000000002");
+// vinDetail2.setPotNm("达曼");
+// vinDetail2.setVlsNm("阿拉伯海");
+// vinDetail2.setBrdNm("江淮");
+// dataList.add(vinDetail2);
+// appointForward.setDataList(dataList);
+//
+// String res= HttpClientHelper.forwardSendNew(appointForward,"http://192.168.161.81:8090/rtopswebapi/api/NsOrder/execTruckOrder");
+
+
+ }
+}
diff --git a/utils/target/classes/com/haitongauto/utils/CorsConfig.class b/utils/target/classes/com/haitongauto/utils/CorsConfig.class
new file mode 100644
index 0000000..909fec9
Binary files /dev/null and b/utils/target/classes/com/haitongauto/utils/CorsConfig.class differ
diff --git a/utils/target/classes/com/haitongauto/utils/DateTimeHelper.class b/utils/target/classes/com/haitongauto/utils/DateTimeHelper.class
new file mode 100644
index 0000000..3500e96
Binary files /dev/null and b/utils/target/classes/com/haitongauto/utils/DateTimeHelper.class differ
diff --git a/utils/target/classes/com/haitongauto/utils/FileDownloadUtil.class b/utils/target/classes/com/haitongauto/utils/FileDownloadUtil.class
new file mode 100644
index 0000000..31af9c6
Binary files /dev/null and b/utils/target/classes/com/haitongauto/utils/FileDownloadUtil.class differ
diff --git a/utils/target/classes/com/haitongauto/utils/FormatDateTime.class b/utils/target/classes/com/haitongauto/utils/FormatDateTime.class
new file mode 100644
index 0000000..4261048
Binary files /dev/null and b/utils/target/classes/com/haitongauto/utils/FormatDateTime.class differ
diff --git a/utils/target/classes/com/haitongauto/utils/GetDateTime.class b/utils/target/classes/com/haitongauto/utils/GetDateTime.class
new file mode 100644
index 0000000..f35016c
Binary files /dev/null and b/utils/target/classes/com/haitongauto/utils/GetDateTime.class differ
diff --git a/utils/target/classes/com/haitongauto/utils/HtmlToPdfUtils.class b/utils/target/classes/com/haitongauto/utils/HtmlToPdfUtils.class
new file mode 100644
index 0000000..ae9582c
Binary files /dev/null and b/utils/target/classes/com/haitongauto/utils/HtmlToPdfUtils.class differ
diff --git a/utils/target/classes/com/haitongauto/utils/HttpClientHelper.class b/utils/target/classes/com/haitongauto/utils/HttpClientHelper.class
new file mode 100644
index 0000000..fd334c5
Binary files /dev/null and b/utils/target/classes/com/haitongauto/utils/HttpClientHelper.class differ
diff --git a/utils/target/classes/com/haitongauto/utils/HttpRequest.class b/utils/target/classes/com/haitongauto/utils/HttpRequest.class
new file mode 100644
index 0000000..0fc72e8
Binary files /dev/null and b/utils/target/classes/com/haitongauto/utils/HttpRequest.class differ
diff --git a/utils/target/classes/com/haitongauto/utils/HttpTemplate.class b/utils/target/classes/com/haitongauto/utils/HttpTemplate.class
new file mode 100644
index 0000000..4c2855e
Binary files /dev/null and b/utils/target/classes/com/haitongauto/utils/HttpTemplate.class differ
diff --git a/utils/target/classes/com/haitongauto/utils/IpHelper.class b/utils/target/classes/com/haitongauto/utils/IpHelper.class
new file mode 100644
index 0000000..1b2b140
Binary files /dev/null and b/utils/target/classes/com/haitongauto/utils/IpHelper.class differ
diff --git a/utils/target/classes/com/haitongauto/utils/PageEventHandler.class b/utils/target/classes/com/haitongauto/utils/PageEventHandler.class
new file mode 100644
index 0000000..abc6c8b
Binary files /dev/null and b/utils/target/classes/com/haitongauto/utils/PageEventHandler.class differ
diff --git a/utils/target/classes/com/haitongauto/utils/PdfUtils.class b/utils/target/classes/com/haitongauto/utils/PdfUtils.class
new file mode 100644
index 0000000..73b79be
Binary files /dev/null and b/utils/target/classes/com/haitongauto/utils/PdfUtils.class differ
diff --git a/utils/target/classes/com/haitongauto/utils/PostFiles.class b/utils/target/classes/com/haitongauto/utils/PostFiles.class
new file mode 100644
index 0000000..b93cae8
Binary files /dev/null and b/utils/target/classes/com/haitongauto/utils/PostFiles.class differ
diff --git a/utils/target/classes/com/haitongauto/utils/QueueNumberHelper.class b/utils/target/classes/com/haitongauto/utils/QueueNumberHelper.class
new file mode 100644
index 0000000..2ee7390
Binary files /dev/null and b/utils/target/classes/com/haitongauto/utils/QueueNumberHelper.class differ
diff --git a/utils/target/classes/com/haitongauto/utils/StringHelper.class b/utils/target/classes/com/haitongauto/utils/StringHelper.class
new file mode 100644
index 0000000..9d9ef4d
Binary files /dev/null and b/utils/target/classes/com/haitongauto/utils/StringHelper.class differ
diff --git a/utils/target/classes/com/haitongauto/utils/WaterMarkEventHandler.class b/utils/target/classes/com/haitongauto/utils/WaterMarkEventHandler.class
new file mode 100644
index 0000000..5360100
Binary files /dev/null and b/utils/target/classes/com/haitongauto/utils/WaterMarkEventHandler.class differ
diff --git a/utils/target/classes/com/haitongauto/utils/check/CheckHelper.class b/utils/target/classes/com/haitongauto/utils/check/CheckHelper.class
new file mode 100644
index 0000000..6b8b0f5
Binary files /dev/null and b/utils/target/classes/com/haitongauto/utils/check/CheckHelper.class differ
diff --git a/utils/target/classes/com/haitongauto/utils/excel/ExcelCustomCellWriteHeightConfig.class b/utils/target/classes/com/haitongauto/utils/excel/ExcelCustomCellWriteHeightConfig.class
new file mode 100644
index 0000000..1fa369b
Binary files /dev/null and b/utils/target/classes/com/haitongauto/utils/excel/ExcelCustomCellWriteHeightConfig.class differ
diff --git a/utils/target/classes/com/haitongauto/utils/excel/ExcelCustomCellWriteWidthConfig$1.class b/utils/target/classes/com/haitongauto/utils/excel/ExcelCustomCellWriteWidthConfig$1.class
new file mode 100644
index 0000000..b2f6155
Binary files /dev/null and b/utils/target/classes/com/haitongauto/utils/excel/ExcelCustomCellWriteWidthConfig$1.class differ
diff --git a/utils/target/classes/com/haitongauto/utils/excel/ExcelCustomCellWriteWidthConfig.class b/utils/target/classes/com/haitongauto/utils/excel/ExcelCustomCellWriteWidthConfig.class
new file mode 100644
index 0000000..18297ca
Binary files /dev/null and b/utils/target/classes/com/haitongauto/utils/excel/ExcelCustomCellWriteWidthConfig.class differ
diff --git a/utils/target/classes/com/haitongauto/utils/excel/ExcelGenerateHelper.class b/utils/target/classes/com/haitongauto/utils/excel/ExcelGenerateHelper.class
new file mode 100644
index 0000000..8e70182
Binary files /dev/null and b/utils/target/classes/com/haitongauto/utils/excel/ExcelGenerateHelper.class differ
diff --git a/utils/target/classes/com/haitongauto/utils/http/OkHttpUtils$UploadFile.class b/utils/target/classes/com/haitongauto/utils/http/OkHttpUtils$UploadFile.class
new file mode 100644
index 0000000..1e9598a
Binary files /dev/null and b/utils/target/classes/com/haitongauto/utils/http/OkHttpUtils$UploadFile.class differ
diff --git a/utils/target/classes/com/haitongauto/utils/http/OkHttpUtils.class b/utils/target/classes/com/haitongauto/utils/http/OkHttpUtils.class
new file mode 100644
index 0000000..1e23513
Binary files /dev/null and b/utils/target/classes/com/haitongauto/utils/http/OkHttpUtils.class differ
diff --git a/utils/target/classes/com/haitongauto/utils/minio/MinioProp.class b/utils/target/classes/com/haitongauto/utils/minio/MinioProp.class
new file mode 100644
index 0000000..080b0d4
Binary files /dev/null and b/utils/target/classes/com/haitongauto/utils/minio/MinioProp.class differ
diff --git a/utils/target/classes/com/haitongauto/utils/minio/MinioUtils.class b/utils/target/classes/com/haitongauto/utils/minio/MinioUtils.class
new file mode 100644
index 0000000..5058906
Binary files /dev/null and b/utils/target/classes/com/haitongauto/utils/minio/MinioUtils.class differ
diff --git a/utils/target/classes/log4j2.xml b/utils/target/classes/log4j2.xml
new file mode 100644
index 0000000..32c8f6b
--- /dev/null
+++ b/utils/target/classes/log4j2.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/utils/target/classes/utils.yml b/utils/target/classes/utils.yml
new file mode 100644
index 0000000..a9bb130
--- /dev/null
+++ b/utils/target/classes/utils.yml
@@ -0,0 +1,15 @@
+# minio 文件存储配置信息 https://rtops4.haitongauto.com/minio/
+minio:
+ endpoint: http://192.168.61.130:20001
+ accesskey: hfyth
+ secretKey: hfyth2022
+ bucket: rtos-saas-dev
+
+# minio 文件存储配置信息(本地)
+#minio:
+# endpoint: http://192.168.0.16:9000
+# accesskey: admin
+# secretKey: admin@123
+# bucket: rtos-saas-dev
+
+
diff --git a/utils/target/maven-archiver/pom.properties b/utils/target/maven-archiver/pom.properties
new file mode 100644
index 0000000..b6ac522
--- /dev/null
+++ b/utils/target/maven-archiver/pom.properties
@@ -0,0 +1,5 @@
+#Generated by Maven
+#Thu May 30 17:32:21 CST 2024
+version=1.0-SNAPSHOT
+groupId=org.example
+artifactId=utils
diff --git a/utils/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/utils/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
new file mode 100644
index 0000000..3aa36b3
--- /dev/null
+++ b/utils/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
@@ -0,0 +1,25 @@
+com\haitongauto\utils\FileDownloadUtil.class
+com\haitongauto\utils\FormatDateTime.class
+com\haitongauto\utils\PdfUtils.class
+com\haitongauto\utils\IpHelper.class
+com\haitongauto\utils\minio\MinioProp.class
+com\haitongauto\utils\check\CheckHelper.class
+com\haitongauto\utils\HttpClientHelper.class
+com\haitongauto\utils\excel\ExcelCustomCellWriteWidthConfig.class
+com\haitongauto\utils\HttpTemplate.class
+com\haitongauto\utils\excel\ExcelGenerateHelper.class
+com\haitongauto\utils\PageEventHandler.class
+com\haitongauto\utils\HtmlToPdfUtils.class
+com\haitongauto\utils\WaterMarkEventHandler.class
+com\haitongauto\utils\StringHelper.class
+com\haitongauto\utils\GetDateTime.class
+com\haitongauto\utils\http\OkHttpUtils$UploadFile.class
+com\haitongauto\utils\minio\MinioUtils.class
+com\haitongauto\utils\PostFiles.class
+com\haitongauto\utils\DateTimeHelper.class
+com\haitongauto\utils\http\OkHttpUtils.class
+com\haitongauto\utils\QueueNumberHelper.class
+com\haitongauto\utils\HttpRequest.class
+com\haitongauto\utils\CorsConfig.class
+com\haitongauto\utils\excel\ExcelCustomCellWriteHeightConfig.class
+com\haitongauto\utils\excel\ExcelCustomCellWriteWidthConfig$1.class
diff --git a/utils/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/utils/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
new file mode 100644
index 0000000..62c4e25
--- /dev/null
+++ b/utils/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
@@ -0,0 +1,23 @@
+F:\Codes\rtos\v4\mini-service-v4\utils\src\main\java\com\haitongauto\utils\DateTimeHelper.java
+F:\Codes\rtos\v4\mini-service-v4\utils\src\main\java\com\haitongauto\utils\excel\ExcelCustomCellWriteWidthConfig.java
+F:\Codes\rtos\v4\mini-service-v4\utils\src\main\java\com\haitongauto\utils\FileDownloadUtil.java
+F:\Codes\rtos\v4\mini-service-v4\utils\src\main\java\com\haitongauto\utils\GetDateTime.java
+F:\Codes\rtos\v4\mini-service-v4\utils\src\main\java\com\haitongauto\utils\minio\MinioProp.java
+F:\Codes\rtos\v4\mini-service-v4\utils\src\main\java\com\haitongauto\utils\check\CheckHelper.java
+F:\Codes\rtos\v4\mini-service-v4\utils\src\main\java\com\haitongauto\utils\IpHelper.java
+F:\Codes\rtos\v4\mini-service-v4\utils\src\main\java\com\haitongauto\utils\minio\MinioUtils.java
+F:\Codes\rtos\v4\mini-service-v4\utils\src\main\java\com\haitongauto\utils\HttpRequest.java
+F:\Codes\rtos\v4\mini-service-v4\utils\src\main\java\com\haitongauto\utils\PostFiles.java
+F:\Codes\rtos\v4\mini-service-v4\utils\src\main\java\com\haitongauto\utils\QueueNumberHelper.java
+F:\Codes\rtos\v4\mini-service-v4\utils\src\main\java\com\haitongauto\utils\WaterMarkEventHandler.java
+F:\Codes\rtos\v4\mini-service-v4\utils\src\main\java\com\haitongauto\utils\excel\ExcelGenerateHelper.java
+F:\Codes\rtos\v4\mini-service-v4\utils\src\main\java\com\haitongauto\utils\excel\ExcelCustomCellWriteHeightConfig.java
+F:\Codes\rtos\v4\mini-service-v4\utils\src\main\java\com\haitongauto\utils\PdfUtils.java
+F:\Codes\rtos\v4\mini-service-v4\utils\src\main\java\com\haitongauto\utils\HttpClientHelper.java
+F:\Codes\rtos\v4\mini-service-v4\utils\src\main\java\com\haitongauto\utils\http\OkHttpUtils.java
+F:\Codes\rtos\v4\mini-service-v4\utils\src\main\java\com\haitongauto\utils\PageEventHandler.java
+F:\Codes\rtos\v4\mini-service-v4\utils\src\main\java\com\haitongauto\utils\FormatDateTime.java
+F:\Codes\rtos\v4\mini-service-v4\utils\src\main\java\com\haitongauto\utils\CorsConfig.java
+F:\Codes\rtos\v4\mini-service-v4\utils\src\main\java\com\haitongauto\utils\StringHelper.java
+F:\Codes\rtos\v4\mini-service-v4\utils\src\main\java\com\haitongauto\utils\HttpTemplate.java
+F:\Codes\rtos\v4\mini-service-v4\utils\src\main\java\com\haitongauto\utils\HtmlToPdfUtils.java
diff --git a/utils/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst b/utils/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst
new file mode 100644
index 0000000..0d2d4de
--- /dev/null
+++ b/utils/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst
@@ -0,0 +1 @@
+QueueNumTest.class
diff --git a/utils/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst b/utils/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst
new file mode 100644
index 0000000..b8985e8
--- /dev/null
+++ b/utils/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst
@@ -0,0 +1 @@
+F:\Codes\rtos\v4\mini-service-v4\utils\src\test\java\QueueNumTest.java
diff --git a/utils/target/test-classes/QueueNumTest.class b/utils/target/test-classes/QueueNumTest.class
new file mode 100644
index 0000000..45e7b46
Binary files /dev/null and b/utils/target/test-classes/QueueNumTest.class differ
diff --git a/utils/target/utils-1.0-SNAPSHOT.jar b/utils/target/utils-1.0-SNAPSHOT.jar
new file mode 100644
index 0000000..4191702
Binary files /dev/null and b/utils/target/utils-1.0-SNAPSHOT.jar differ
diff --git a/utils/utils.iml b/utils/utils.iml
new file mode 100644
index 0000000..563af64
--- /dev/null
+++ b/utils/utils.iml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/wx-applet-admin/Dockerfile b/wx-applet-admin/Dockerfile
new file mode 100644
index 0000000..c68d646
--- /dev/null
+++ b/wx-applet-admin/Dockerfile
@@ -0,0 +1,20 @@
+#FROM openjdk:8
+##adoptopenjdk/openjdk8:ubi
+#LABEL name="docker" version="1.0.0" author="wsnet" maintainer="wsnet@wsmis.com"
+#COPY target/com.haitongauto.rtosam.jar rtosam-image.jar
+#CMD ["java","-jar","rtosam-image.jar"]
+
+
+FROM openjdk:8
+#adoptopenjdk/openjdk8:ubi
+LABEL name="docker" version="1.0.0" author="wsnet" maintainer="wsnet@wsmis.com"
+COPY target/com.haitongauto.rtosam.jar rtosam-image.jar
+
+RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
+RUN echo 'Asia/Shanghai' >/etc/timezone
+EXPOSE 8083
+
+ENV PROFILES_OPTS=""
+ENV JAVA_OPTS=""
+
+ENTRYPOINT [ "sh", "-c","java $PROFILES_OPTS $JAVA_OPTS -jar rtosam-image.jar" ]
\ No newline at end of file
diff --git a/wx-applet-admin/Dockerfile.back b/wx-applet-admin/Dockerfile.back
new file mode 100644
index 0000000..e4bf506
--- /dev/null
+++ b/wx-applet-admin/Dockerfile.back
@@ -0,0 +1,5 @@
+FROM openjdk:8
+#adoptopenjdk/openjdk8:ubi
+LABEL name="docker" version="1.0.0" author="wsnet" maintainer="wsnet@wsmis.com"
+COPY target/com.haitongauto.rtosam.jar rtosam-image.jar
+CMD ["java","-jar","rtosam-image.jar"]
\ No newline at end of file
diff --git a/wx-applet-admin/pom.xml b/wx-applet-admin/pom.xml
new file mode 100644
index 0000000..74c3a5d
--- /dev/null
+++ b/wx-applet-admin/pom.xml
@@ -0,0 +1,238 @@
+
+
+
+ rtos-wh
+ org.example
+ 1.0-SNAPSHOT
+
+ 4.0.0
+
+ wx-applet-admin
+
+
+ 1.8
+ 1.8
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-web
+
+
+ com.alibaba.cloud
+ spring-cloud-starter-alibaba-nacos-discovery
+
+
+ com.alibaba.cloud
+ spring-cloud-starter-alibaba-nacos-config
+
+
+ org.mybatis.spring.boot
+ mybatis-spring-boot-starter
+ 2.2.2
+
+
+
+
+ org.postgresql
+ postgresql
+ 42.2.2
+
+
+ org.projectlombok
+ lombok
+ 1.18.20
+
+
+ com.alibaba
+ fastjson
+ 1.2.7
+
+
+ com.lowagie
+ itext
+ 2.0.8
+
+
+ org.apache.pdfbox
+ pdfbox
+ 2.0.19
+
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+ 2.6.6
+
+
+
+
+ com.github.pagehelper
+ pagehelper-spring-boot-starter
+ 1.4.2
+
+
+ com.github.pagehelper
+ pagehelper
+ 5.3.0
+
+
+
+ com.bestvike
+ linq
+ 3.1.0
+
+
+
+ org.example
+ models
+ 1.0-SNAPSHOT
+
+
+ org.example
+ utils
+ 1.0-SNAPSHOT
+
+
+ org.example
+ mapper
+ 1.0-SNAPSHOT
+
+
+ org.example
+ interfaces
+ 1.0-SNAPSHOT
+
+
+
+ com.nuzar
+ nuzar-security
+ 2.6.14.10-SNAPSHOT
+
+
+
+
+
+ com.nuzar
+ rtops-openapi-client
+ 1.0-SNAPSHOT
+
+
+
+ com.nuzar
+ nuzar-security
+ 2.6.14.10-SNAPSHOT
+
+
+
+ org.springframework.security
+ spring-security-web
+ 5.6.9
+
+
+
+ org.springframework.security
+ spring-security-config
+ 5.6.9
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-oauth2-resource-server
+ 2.6.14
+
+
+
+ org.springframework.boot
+ spring-boot-starter-oauth2-client
+ 2.6.14
+
+
+
+ org.springframework.security
+ spring-security-oauth2-resource-server
+ 5.6.9
+
+
+ org.springframework.security
+ spring-security-oauth2-client
+ 5.6.9
+
+
+
+ org.springframework.security
+ spring-security-core
+ 5.6.9
+
+
+ org.springframework.cloud
+ spring-cloud-starter-bootstrap
+
+
+
+ org.springframework.cloud
+ spring-cloud-starter-loadbalancer
+
+
+
+ top.jfunc.json
+ Json-Gson
+ 1.0
+
+
+ top.jfunc.json
+ Json-Gson
+ 1.0
+
+
+ top.jfunc.json
+ Json-Gson
+ 1.0
+
+
+
+
+
+ com.haitongauto.rtosam
+
+
+ src/main/resources
+
+
+
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+ 2.2.2.RELEASE
+
+
+
+ repackage
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+ 3.2.1
+
+
+
+
+ org.springframework.boot
+ spring-boot-configuration-processor
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/wx-applet-admin/src/main/java/com/haitongauto/rtosam/ApplicationAppletAdmin.java b/wx-applet-admin/src/main/java/com/haitongauto/rtosam/ApplicationAppletAdmin.java
new file mode 100644
index 0000000..a83bff3
--- /dev/null
+++ b/wx-applet-admin/src/main/java/com/haitongauto/rtosam/ApplicationAppletAdmin.java
@@ -0,0 +1,23 @@
+package com.haitongauto.rtosam;
+
+import com.haitongauto.rtosam.job.FileDeleteJob;
+import org.mybatis.spring.annotation.MapperScan;
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.cloud.openfeign.EnableFeignClients;
+
+@MapperScan("com.haitongauto.mapper")
+@EnableFeignClients(basePackages = {"com.haitongauto.interfaces"})
+@SpringBootApplication(scanBasePackages = {"com.haitongauto.interfaces","com.haitongauto.rtosam"})
+public class ApplicationAppletAdmin {
+ /**
+ * 启动微信小程序后台管理系统服务
+ * @param args args
+ */
+ public static void main(String[] args){
+ SpringApplication.run(ApplicationAppletAdmin.class,args);
+ //启动文件删除定时任务
+ //FileDeleteJob fileDeleteJob=new FileDeleteJob();
+ //fileDeleteJob.doFileDeleteJob();
+ }
+}
diff --git a/wx-applet-admin/src/main/java/com/haitongauto/rtosam/api/HeathCheckController.java b/wx-applet-admin/src/main/java/com/haitongauto/rtosam/api/HeathCheckController.java
new file mode 100644
index 0000000..64729ed
--- /dev/null
+++ b/wx-applet-admin/src/main/java/com/haitongauto/rtosam/api/HeathCheckController.java
@@ -0,0 +1,16 @@
+package com.haitongauto.rtosam.api;
+
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+@RestController
+@RequestMapping("/health")
+public class HeathCheckController {
+
+ @GetMapping("/ping")
+ public String ping() {
+ return "pong";
+ }
+
+}
\ No newline at end of file
diff --git a/wx-applet-admin/src/main/java/com/haitongauto/rtosam/api/admin/AnnouncementAdminController.java b/wx-applet-admin/src/main/java/com/haitongauto/rtosam/api/admin/AnnouncementAdminController.java
new file mode 100644
index 0000000..779ee16
--- /dev/null
+++ b/wx-applet-admin/src/main/java/com/haitongauto/rtosam/api/admin/AnnouncementAdminController.java
@@ -0,0 +1,254 @@
+package com.haitongauto.rtosam.api.admin;
+
+import com.haitongauto.models.dto.AnnouncementsDto;
+import com.haitongauto.models.pojo.Announcement;
+import com.haitongauto.rtosam.service.admin.AnnouncementAdminService;
+import com.haitongauto.rtosam.service.admin.ResponseService;
+import com.haitongauto.rtosam.service.base.AnnouncementService;
+import com.haitongauto.models.dto.Pages;
+import com.github.pagehelper.PageInfo;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.text.ParsePosition;
+import java.text.SimpleDateFormat;
+import java.util.*;
+
+/**
+ * 后台管理接口:公告管理
+ */
+@RestController
+@RequestMapping("/admin")
+public class AnnouncementAdminController {
+ @Autowired
+ ResponseService response;
+ @Autowired
+ AnnouncementAdminService announcementAdminService;
+ @Autowired
+ AnnouncementService announcementService;
+
+ /**
+ * 发布人员(作者)去重列表
+ *
+ * @return 返回去重后的作者列表
+ */
+ @RequestMapping("/getAuthorList")
+ public String getAuthorList() {
+ // 获取去重后的发布人(作者/操作员)列表数据
+ List authorList = announcementAdminService.getAuthorList();
+ //判断请求是否成功
+ Boolean bl = authorList != null;
+ //创建返回数据data
+ Map data = new HashMap<>();
+ data.put("AuthorList", authorList);
+ //添加到返回对象
+ //返回
+ return response.getResponseData(bl, data);
+ }
+
+ /**
+ * 根据特定条件查询历史公告
+ *
+ * @param tilKeywords:标题关键字
+ * @param releaseDate:发布日期范围(YYYY-MM-DD - YYYY-MM-DD)备注:日期范围分隔符" - "必须两边留一个空格
+ * @param sort:类别(1-小程序,2-客服平台)
+ * @param authors:作者/发布人/操作员 return 返回历史公告列表数据
+ */
+ @RequestMapping("/AnnouncementListForCondition")
+ public String announcementListForCondition(String tilKeywords, String releaseDate, Integer sort, String authors, Pages pages) {
+ //拆分日期范围
+ String dateStart = null;
+ String dateEnd = null;
+ if (releaseDate != null && !releaseDate.isEmpty()) {
+ String[] dates = releaseDate.split("\\|");
+ if (dates.length > 0) {
+ dateStart = dates[0];
+ dateEnd = dates[0];
+ if (dates.length == 2) {
+ dateEnd = dates[1];
+ }
+ }
+
+ }
+ //解析分页参数
+ Integer pageNum = (pages != null && pages.getPageNum() != null && pages.getPageNum() > 0) ? pages.getPageNum() : 1;
+ Integer pageSize = (pages != null && pages.getPageSize() != null && pages.getPageSize() > 0) ? pages.getPageSize() : 10;
+
+ //调用Service分页方法,获取分页数据对象 PageInfo
+ PageInfo pagesInfo = announcementAdminService.AnnouncementListForCondition(tilKeywords, dateStart, dateEnd, sort, authors, pageNum, pageSize);
+
+ //读取分页结果
+ Integer pageCount = pagesInfo.getPages(); //总页数
+ long recordTotal = pagesInfo.getTotal(); //记录总数
+ List myList = pagesInfo.getList(); //当前页的列表数据
+
+ List announcementsDtoList = new ArrayList<>();
+ if (pageNum <= pageCount) {
+ //当前页的列表数据
+ announcementsDtoList = announcementAdminService.AnnouncementListConvert(myList);
+
+ }
+
+ //分页数据添加到pages
+ assert pages != null;
+ pages.setPageCount(pageCount);
+ pages.setRecordTotal(recordTotal);
+
+ //判断请求是否成功
+ Boolean bl = myList != null;
+ //创建返回数据data
+ Map data = new HashMap<>();
+ data.put("AnnouncementsList", announcementsDtoList);
+ data.put("Pages", pages);
+ //添加到返回对象
+ //返回
+ return response.getResponseDataJavaJson(bl, data);
+ }
+
+ /**
+ * 根据特定条件查询历史公告
+ * return 返回历史公告列表数据
+ */
+ @RequestMapping("/AnnouncementListForWeek")
+ public String AnnouncementListForWeek() {
+ List myList = announcementAdminService.AnnouncementListForWeek();
+ //判断请求是否成功
+ Boolean bl = true;
+ //创建返回数据data
+ Map data = new HashMap<>();
+ data.put("AnnouncementsList", myList);
+ //添加到返回对象
+ return response.getResponseDataJavaJson(bl, data);
+ }
+
+ /**
+ * 公告详情
+ *
+ * @param announcement_id : 公告id
+ * @return 公告详情
+ */
+ @RequestMapping("/AnnouncementInfo")
+ public String announcementInfo(@RequestParam("announcement_id") String announcement_id) {
+ String msg = "";
+ if (announcement_id == null || announcement_id.isEmpty()) {
+ msg = "公告id不能为空";
+ //判断请求是否成功
+ Boolean bl = false;
+ //创建返回数据
+ Map data = new HashMap<>();
+ //返回
+ return response.getResponseData(bl, data, msg);
+ }
+ Announcement announcements = announcementService.getById(announcement_id);
+ AnnouncementsDto announcementsDto = new AnnouncementsDto();
+ if (announcements != null) {
+
+ announcementsDto.setId(announcements.getId());
+ announcementsDto.setTitle(announcements.getTitle());
+ announcementsDto.setSort(announcements.getSort());
+ if (announcements.getSort() != null) {
+ switch (announcements.getSort()) {
+ case 1:
+ announcementsDto.setSort_name("小程序");
+ break;
+ case 2:
+ announcementsDto.setSort_name("客服平台");
+ break;
+ }
+ }
+ announcementsDto.setAbstracts(announcements.getAbstracts());
+ announcementsDto.setAnnouncement(announcements.getAnnouncement());
+ announcementsDto.setAuthor(announcements.getAuthor());
+ announcementsDto.setReading_volume(announcements.getReading_volume());
+ if (announcements.getCreate_time() != null) {
+ announcementsDto.setCreate_time(announcements.getCreate_time());
+ }
+ if (announcements.getUpdate_time() != null) {
+ announcementsDto.setUpdate_time(announcements.getUpdate_time());
+ }
+ announcementsDto.setIs_del(announcements.getIs_del());
+ }
+
+ //判断请求是否成功
+ Boolean bl = announcements != null;
+ //创建返回数据data
+ Map data = new HashMap<>();
+ data.put("Announcements", announcementsDto);
+ //添加到返回对象
+ //返回
+ return response.getResponseData(bl, data);
+ }
+
+ /**
+ * 保存修改
+ *
+ * @param announcement 公告
+ * @return 保存修改结果
+ */
+ @RequestMapping("/AnnouncementUpdate")
+ public String announcementUpdate(Announcement announcement) {
+ announcement.setIs_del(0);
+ Integer x = announcementService.update(announcement);
+ //判断请求是否成功
+ Boolean bl = x != null && x > 0;
+ //创建返回数据data
+ Map data = new HashMap<>();
+ data.put("result", x);
+ //添加到返回对象
+ //返回
+ return response.getResponseData(bl, data);
+ }
+
+ /**
+ * 新增发布
+ *
+ * @param announcement 公告
+ * @return 返回公告插入结果
+ */
+ @RequestMapping("/AnnouncementsInsert")
+ public String announcementsInsert(Announcement announcement) {
+ announcement.setIs_del(0);
+ announcement.setReading_volume(0);
+ String id = announcementService.insert(announcement);
+ //判断请求是否成功
+ Boolean bl = id != null && !id.isEmpty();
+ //创建返回数据data
+ Map data = new HashMap<>();
+ data.put("result", id);
+ //添加到返回对象
+ //返回
+ return response.getResponseData(bl, data);
+ }
+
+ /**
+ * 删除一条公告
+ *
+ * @param announcement_id 公告id
+ * @return 返回删除一条公告结果
+ */
+ @RequestMapping("/AnnouncementDel")
+ public String announcementDel(@RequestParam("announcement_id") String announcement_id) {
+ String msg = "";
+ if (announcement_id == null || announcement_id.isEmpty()) {
+ msg = "公告id不能为空";
+ //判断请求是否成功
+ Boolean bl = false;
+ //创建返回数据
+ Map data = new HashMap<>();
+ //返回
+ return response.getResponseData(bl, data, msg);
+ }
+ Integer x = announcementService.logicDel(announcement_id);
+
+ //判断请求是否成功
+ Boolean bl = x != null;
+ //创建返回数据data
+ Map data = new HashMap<>();
+ data.put("result", x);
+ //添加到返回对象
+ //返回
+ return response.getResponseData(bl, data);
+ }
+}
diff --git a/wx-applet-admin/src/main/java/com/haitongauto/rtosam/api/admin/AppointmentAdminController.java b/wx-applet-admin/src/main/java/com/haitongauto/rtosam/api/admin/AppointmentAdminController.java
new file mode 100644
index 0000000..3a96ee4
--- /dev/null
+++ b/wx-applet-admin/src/main/java/com/haitongauto/rtosam/api/admin/AppointmentAdminController.java
@@ -0,0 +1,334 @@
+package com.haitongauto.rtosam.api.admin;
+
+import com.bestvike.linq.Linq;
+import com.github.pagehelper.PageInfo;
+import com.haitongauto.interfaces.DicInterface;
+import com.haitongauto.interfaces.PortAreaInterface;
+import com.haitongauto.models.dto.AppointmentQueryExl;
+import com.haitongauto.models.dto.DicDto;
+import com.haitongauto.models.pojo.*;
+import com.haitongauto.rtosam.service.admin.AppointmentAdminService;
+import com.haitongauto.rtosam.service.admin.ResponseService;
+import com.haitongauto.rtosam.service.base.AppointmentService;
+import com.haitongauto.models.dto.AppointmentQuery;
+import com.haitongauto.models.dto.Pages;
+
+import com.haitongauto.rtosam.service.base.UsersService;
+import com.haitongauto.utils.FileDownloadUtil;
+import com.haitongauto.utils.FormatDateTime;
+import com.haitongauto.utils.excel.ExcelGenerateHelper;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.File;
+import java.io.InputStream;
+import java.util.*;
+
+/**
+ * 后台管理接口:车辆预约
+ */
+@RestController
+@RequestMapping("/admin")
+public class AppointmentAdminController {
+ @Autowired
+ ResponseService response;
+ @Autowired
+ AppointmentAdminService appointmentAdminService;
+ @Autowired
+ AppointmentService appointmentService;
+ @Autowired
+ UsersService usersService;
+ @Autowired
+ DicInterface dicInterface;
+ @Autowired
+ PortAreaInterface portAreaInterface;
+
+ /**
+ * 车辆预约:通过港区、司机关键字、预约时间范围、进港类型、状态(1-已预约,0-已取消)、运输方式(0-自开/1-板车运输)单独或组合查询
+ *
+ * @param port_area_id:港区id
+ * @param keywords:关键字(姓名、手机号、板车号)
+ * @param start_date:时间范围开始
+ * @param end_date:时间范围结束
+ * @param enter_type:进港类型(1-外贸出口,2-外贸进口,2-整车物流,3-特保区出口,4-特保区进口,5-内贸出口,6-内贸进口)
+ * @param appointment_state:预约状态(0-已取消,1-已预约)
+ * @param transport_type:运输方式(0-自开/1-板车运)
+ * @param pages:分页参数(pagesNum:当前页码,pagesSize:每页记录条数)
+ * @return 返回条件查询分页预约信息
+ */
+ @RequestMapping("/AppointmentListForCondition")
+ public String appointmentListForCondition(String users_id, String port_area_id, String keywords, String start_date, String end_date, String enter_type, Integer appointment_state, String transport_type, Pages pages) {
+ //解析分页参数
+ Integer pageNum = (pages != null && pages.getPageNum() != null && pages.getPageNum() > 0) ? pages.getPageNum() : 1;
+ Integer pageSize = (pages != null && pages.getPageSize() != null && pages.getPageSize() > 0) ? pages.getPageSize() : 10;
+
+ //调用Service分页方法,获取分页数据对象 PageInfo
+ PageInfo pageInfo = appointmentAdminService.AppointmentListForCondition(users_id, port_area_id, keywords, start_date, end_date, enter_type, appointment_state, transport_type, pageNum, pageSize);
+
+ //读取分页结果
+ Integer pageCount = pageInfo.getPages(); //总页数
+ long recordTotal = pageInfo.getTotal(); //记录总数
+ List myList = pageInfo.getList(); //当前页的列表数据
+ List AppointmentList = new ArrayList<>();
+ if (pageNum <= pageCount) {
+ //转换为列表显示数据
+ AppointmentList = appointmentAdminService.AppointmentListConvert(myList);
+ }
+
+ //分页数据添加到pages
+ assert pages != null;
+ pages.setPageCount(pageCount);
+ pages.setRecordTotal(recordTotal);
+
+ //判断请求是否成功
+ Boolean bl = myList != null;
+ //创建返回数据data
+ Map |