张延森 6 年前
父节点
当前提交
c4bf9747f7

+ 189
- 211
.idea/workspace.xml 查看文件

6
   <component name="ChangeListManager">
6
   <component name="ChangeListManager">
7
     <list default="true" id="5dd66384-19bf-43a0-b6b4-b05d9b7b9cd4" name="Default" comment="">
7
     <list default="true" id="5dd66384-19bf-43a0-b6b4-b05d9b7b9cd4" name="Default" comment="">
8
       <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
8
       <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
9
-      <change beforePath="$PROJECT_DIR$/src/main/java/com.huiju.welcome/controller/CameraController.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com.huiju.welcome/controller/CameraController.java" afterDir="false" />
10
-      <change beforePath="$PROJECT_DIR$/src/main/java/com.huiju.welcome/controller/TaCarRecordController.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com.huiju.welcome/controller/TaCarRecordController.java" afterDir="false" />
11
-      <change beforePath="$PROJECT_DIR$/src/main/java/com.huiju.welcome/controller/TaVisitorAppointmentController.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com.huiju.welcome/controller/TaVisitorAppointmentController.java" afterDir="false" />
12
-      <change beforePath="$PROJECT_DIR$/src/main/java/com.huiju.welcome/model/TaCarRecord.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com.huiju.welcome/model/TaCarRecord.java" afterDir="false" />
13
-      <change beforePath="$PROJECT_DIR$/src/main/java/com.huiju.welcome/service/ISysParamService.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com.huiju.welcome/service/ISysParamService.java" afterDir="false" />
14
-      <change beforePath="$PROJECT_DIR$/src/main/java/com.huiju.welcome/service/ITaCarRecordService.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com.huiju.welcome/service/ITaCarRecordService.java" afterDir="false" />
9
+      <change beforePath="$PROJECT_DIR$/src/main/java/com.huiju.welcome/controller/TaCustomerController.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com.huiju.welcome/controller/TaCustomerController.java" afterDir="false" />
10
+      <change beforePath="$PROJECT_DIR$/src/main/java/com.huiju.welcome/model/TaMainUsherRecord.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com.huiju.welcome/model/TaMainUsherRecord.java" afterDir="false" />
11
+      <change beforePath="$PROJECT_DIR$/src/main/java/com.huiju.welcome/service/ITaCustomerService.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com.huiju.welcome/service/ITaCustomerService.java" afterDir="false" />
12
+      <change beforePath="$PROJECT_DIR$/src/main/java/com.huiju.welcome/service/ITaFollowupRecordService.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com.huiju.welcome/service/ITaFollowupRecordService.java" afterDir="false" />
15
       <change beforePath="$PROJECT_DIR$/src/main/java/com.huiju.welcome/service/ITaMainUsherRecordService.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com.huiju.welcome/service/ITaMainUsherRecordService.java" afterDir="false" />
13
       <change beforePath="$PROJECT_DIR$/src/main/java/com.huiju.welcome/service/ITaMainUsherRecordService.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com.huiju.welcome/service/ITaMainUsherRecordService.java" afterDir="false" />
16
-      <change beforePath="$PROJECT_DIR$/src/main/java/com.huiju.welcome/service/ITaPersonService.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com.huiju.welcome/service/ITaPersonService.java" afterDir="false" />
17
-      <change beforePath="$PROJECT_DIR$/src/main/java/com.huiju.welcome/service/ITaVisitorAppointmentService.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com.huiju.welcome/service/ITaVisitorAppointmentService.java" afterDir="false" />
18
-      <change beforePath="$PROJECT_DIR$/src/main/java/com.huiju.welcome/service/impl/CameraServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com.huiju.welcome/service/impl/CameraServiceImpl.java" afterDir="false" />
19
-      <change beforePath="$PROJECT_DIR$/src/main/java/com.huiju.welcome/service/impl/SysParamServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com.huiju.welcome/service/impl/SysParamServiceImpl.java" afterDir="false" />
20
       <change beforePath="$PROJECT_DIR$/src/main/java/com.huiju.welcome/service/impl/TaCarRecordServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com.huiju.welcome/service/impl/TaCarRecordServiceImpl.java" afterDir="false" />
14
       <change beforePath="$PROJECT_DIR$/src/main/java/com.huiju.welcome/service/impl/TaCarRecordServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com.huiju.welcome/service/impl/TaCarRecordServiceImpl.java" afterDir="false" />
21
       <change beforePath="$PROJECT_DIR$/src/main/java/com.huiju.welcome/service/impl/TaCustomerServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com.huiju.welcome/service/impl/TaCustomerServiceImpl.java" afterDir="false" />
15
       <change beforePath="$PROJECT_DIR$/src/main/java/com.huiju.welcome/service/impl/TaCustomerServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com.huiju.welcome/service/impl/TaCustomerServiceImpl.java" afterDir="false" />
22
-      <change beforePath="$PROJECT_DIR$/src/main/java/com.huiju.welcome/service/impl/TaFirstUsherRecordServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com.huiju.welcome/service/impl/TaFirstUsherRecordServiceImpl.java" afterDir="false" />
16
+      <change beforePath="$PROJECT_DIR$/src/main/java/com.huiju.welcome/service/impl/TaFollowupRecordServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com.huiju.welcome/service/impl/TaFollowupRecordServiceImpl.java" afterDir="false" />
23
       <change beforePath="$PROJECT_DIR$/src/main/java/com.huiju.welcome/service/impl/TaMainUsherRecordServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com.huiju.welcome/service/impl/TaMainUsherRecordServiceImpl.java" afterDir="false" />
17
       <change beforePath="$PROJECT_DIR$/src/main/java/com.huiju.welcome/service/impl/TaMainUsherRecordServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com.huiju.welcome/service/impl/TaMainUsherRecordServiceImpl.java" afterDir="false" />
24
-      <change beforePath="$PROJECT_DIR$/src/main/java/com.huiju.welcome/service/impl/TaMessageRecordImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com.huiju.welcome/service/impl/TaMessageRecordImpl.java" afterDir="false" />
25
-      <change beforePath="$PROJECT_DIR$/src/main/java/com.huiju.welcome/service/impl/TaPersonServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com.huiju.welcome/service/impl/TaPersonServiceImpl.java" afterDir="false" />
26
-      <change beforePath="$PROJECT_DIR$/src/main/java/com.huiju.welcome/service/impl/TaVisitorAppointmentServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com.huiju.welcome/service/impl/TaVisitorAppointmentServiceImpl.java" afterDir="false" />
27
-      <change beforePath="$PROJECT_DIR$/src/main/java/com.huiju.welcome/utils/AliFaceUtils.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com.huiju.welcome/utils/AliFaceUtils.java" afterDir="false" />
28
-      <change beforePath="$PROJECT_DIR$/src/main/java/com.huiju.welcome/utils/CommConstant.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com.huiju.welcome/utils/CommConstant.java" afterDir="false" />
29
     </list>
18
     </list>
30
     <ignored path="$PROJECT_DIR$/target/" />
19
     <ignored path="$PROJECT_DIR$/target/" />
31
     <option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
20
     <option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
74
   </component>
63
   </component>
75
   <component name="FileEditorManager">
64
   <component name="FileEditorManager">
76
     <leaf>
65
     <leaf>
77
-      <file leaf-file-name="ITaPersonService.java" pinned="false" current-in-tab="false">
78
-        <entry file="file://$PROJECT_DIR$/src/main/java/com.huiju.welcome/service/ITaPersonService.java">
66
+      <file leaf-file-name="TaCustomerController.java" pinned="false" current-in-tab="false">
67
+        <entry file="file://$PROJECT_DIR$/src/main/java/com.huiju.welcome/controller/TaCustomerController.java">
79
           <provider selected="true" editor-type-id="text-editor">
68
           <provider selected="true" editor-type-id="text-editor">
80
-            <state relative-caret-position="454">
81
-              <caret line="58" column="12" selection-start-line="58" selection-start-column="12" selection-end-line="58" selection-end-column="12" />
82
-            </state>
83
-          </provider>
84
-        </entry>
85
-      </file>
86
-      <file leaf-file-name="TaPersonServiceImpl.java" pinned="false" current-in-tab="false">
87
-        <entry file="file://$PROJECT_DIR$/src/main/java/com.huiju.welcome/service/impl/TaPersonServiceImpl.java">
88
-          <provider selected="true" editor-type-id="text-editor">
89
-            <state relative-caret-position="-500">
90
-              <caret line="358" column="19" selection-start-line="358" selection-start-column="19" selection-end-line="358" selection-end-column="19" />
69
+            <state relative-caret-position="113">
70
+              <caret line="232" column="57" lean-forward="true" selection-start-line="232" selection-start-column="57" selection-end-line="232" selection-end-column="57" />
91
             </state>
71
             </state>
92
           </provider>
72
           </provider>
93
         </entry>
73
         </entry>
95
       <file leaf-file-name="ITaCustomerService.java" pinned="false" current-in-tab="false">
75
       <file leaf-file-name="ITaCustomerService.java" pinned="false" current-in-tab="false">
96
         <entry file="file://$PROJECT_DIR$/src/main/java/com.huiju.welcome/service/ITaCustomerService.java">
76
         <entry file="file://$PROJECT_DIR$/src/main/java/com.huiju.welcome/service/ITaCustomerService.java">
97
           <provider selected="true" editor-type-id="text-editor">
77
           <provider selected="true" editor-type-id="text-editor">
98
-            <state relative-caret-position="235">
99
-              <caret line="21" column="9" selection-start-line="21" selection-start-column="9" selection-end-line="21" selection-end-column="9" />
78
+            <state relative-caret-position="798">
79
+              <caret line="43" column="14" selection-start-line="43" selection-start-column="4" selection-end-line="43" selection-end-column="14" />
100
             </state>
80
             </state>
101
           </provider>
81
           </provider>
102
         </entry>
82
         </entry>
104
       <file leaf-file-name="TaCustomerServiceImpl.java" pinned="false" current-in-tab="false">
84
       <file leaf-file-name="TaCustomerServiceImpl.java" pinned="false" current-in-tab="false">
105
         <entry file="file://$PROJECT_DIR$/src/main/java/com.huiju.welcome/service/impl/TaCustomerServiceImpl.java">
85
         <entry file="file://$PROJECT_DIR$/src/main/java/com.huiju.welcome/service/impl/TaCustomerServiceImpl.java">
106
           <provider selected="true" editor-type-id="text-editor">
86
           <provider selected="true" editor-type-id="text-editor">
107
-            <state relative-caret-position="132">
108
-              <caret line="193" selection-start-line="193" selection-end-line="193" />
109
-            </state>
110
-          </provider>
111
-        </entry>
112
-      </file>
113
-      <file leaf-file-name="ITaMainUsherRecordService.java" pinned="false" current-in-tab="false">
114
-        <entry file="file://$PROJECT_DIR$/src/main/java/com.huiju.welcome/service/ITaMainUsherRecordService.java">
115
-          <provider selected="true" editor-type-id="text-editor">
116
-            <state relative-caret-position="561">
117
-              <caret line="42" column="12" selection-start-line="42" selection-start-column="12" selection-end-line="42" selection-end-column="12" />
87
+            <state relative-caret-position="60">
88
+              <caret line="297" column="14" selection-start-line="297" selection-start-column="14" selection-end-line="297" selection-end-column="14" />
89
+              <folding>
90
+                <element signature="e#1809#1810#0" expanded="true" />
91
+                <element signature="e#1872#1873#0" expanded="true" />
92
+              </folding>
118
             </state>
93
             </state>
119
           </provider>
94
           </provider>
120
         </entry>
95
         </entry>
121
       </file>
96
       </file>
122
-      <file leaf-file-name="TaMainUsherRecordServiceImpl.java" pinned="false" current-in-tab="false">
123
-        <entry file="file://$PROJECT_DIR$/src/main/java/com.huiju.welcome/service/impl/TaMainUsherRecordServiceImpl.java">
97
+      <file leaf-file-name="ITaFollowupRecordService.java" pinned="false" current-in-tab="false">
98
+        <entry file="file://$PROJECT_DIR$/src/main/java/com.huiju.welcome/service/ITaFollowupRecordService.java">
124
           <provider selected="true" editor-type-id="text-editor">
99
           <provider selected="true" editor-type-id="text-editor">
125
-            <state relative-caret-position="132">
126
-              <caret line="241" selection-start-line="241" selection-end-line="241" />
127
-              <folding>
128
-                <element signature="imports" expanded="true" />
129
-              </folding>
100
+            <state relative-caret-position="294">
101
+              <caret line="17" column="26" selection-start-line="17" selection-start-column="4" selection-end-line="17" selection-end-column="26" />
130
             </state>
102
             </state>
131
           </provider>
103
           </provider>
132
         </entry>
104
         </entry>
133
       </file>
105
       </file>
134
-      <file leaf-file-name="AliFaceUtils.java" pinned="false" current-in-tab="true">
135
-        <entry file="file://$PROJECT_DIR$/src/main/java/com.huiju.welcome/utils/AliFaceUtils.java">
106
+      <file leaf-file-name="TaFollowupRecordServiceImpl.java" pinned="false" current-in-tab="false">
107
+        <entry file="file://$PROJECT_DIR$/src/main/java/com.huiju.welcome/service/impl/TaFollowupRecordServiceImpl.java">
136
           <provider selected="true" editor-type-id="text-editor">
108
           <provider selected="true" editor-type-id="text-editor">
137
-            <state relative-caret-position="132">
138
-              <caret line="286" selection-start-line="286" selection-end-line="286" />
139
-              <folding>
140
-                <element signature="imports" expanded="true" />
141
-              </folding>
109
+            <state relative-caret-position="420">
110
+              <caret line="30" lean-forward="true" selection-start-line="30" selection-end-line="30" />
142
             </state>
111
             </state>
143
           </provider>
112
           </provider>
144
         </entry>
113
         </entry>
145
       </file>
114
       </file>
146
-      <file leaf-file-name="CameraServiceImpl.java" pinned="false" current-in-tab="false">
147
-        <entry file="file://$PROJECT_DIR$/src/main/java/com.huiju.welcome/service/impl/CameraServiceImpl.java">
115
+      <file leaf-file-name="ITaMainUsherRecordService.java" pinned="false" current-in-tab="false">
116
+        <entry file="file://$PROJECT_DIR$/src/main/java/com.huiju.welcome/service/ITaMainUsherRecordService.java">
148
           <provider selected="true" editor-type-id="text-editor">
117
           <provider selected="true" editor-type-id="text-editor">
149
-            <state relative-caret-position="487">
150
-              <caret line="164" column="40" selection-start-line="164" selection-start-column="40" selection-end-line="164" selection-end-column="40" />
118
+            <state relative-caret-position="252">
119
+              <caret line="20" column="23" lean-forward="true" selection-start-line="20" selection-start-column="23" selection-end-line="20" selection-end-column="23" />
151
             </state>
120
             </state>
152
           </provider>
121
           </provider>
153
         </entry>
122
         </entry>
154
       </file>
123
       </file>
155
-      <file leaf-file-name="CameraController.java" pinned="false" current-in-tab="false">
156
-        <entry file="file://$PROJECT_DIR$/src/main/java/com.huiju.welcome/controller/CameraController.java">
124
+      <file leaf-file-name="TaMainUsherRecordServiceImpl.java" pinned="false" current-in-tab="false">
125
+        <entry file="file://$PROJECT_DIR$/src/main/java/com.huiju.welcome/service/impl/TaMainUsherRecordServiceImpl.java">
157
           <provider selected="true" editor-type-id="text-editor">
126
           <provider selected="true" editor-type-id="text-editor">
158
-            <state relative-caret-position="258">
159
-              <caret line="128" lean-forward="true" selection-start-line="128" selection-end-line="128" />
127
+            <state relative-caret-position="-512">
128
+              <caret line="394" lean-forward="true" selection-start-line="394" selection-end-line="394" />
129
+              <folding>
130
+                <element signature="imports" expanded="true" />
131
+              </folding>
160
             </state>
132
             </state>
161
           </provider>
133
           </provider>
162
         </entry>
134
         </entry>
163
       </file>
135
       </file>
164
-      <file leaf-file-name="TaMainUsherRecordController.java" pinned="false" current-in-tab="false">
165
-        <entry file="file://$PROJECT_DIR$/src/main/java/com.huiju.welcome/controller/TaMainUsherRecordController.java">
136
+      <file leaf-file-name="TaCustomer.java" pinned="false" current-in-tab="true">
137
+        <entry file="file://$PROJECT_DIR$/src/main/java/com.huiju.welcome/model/TaCustomer.java">
166
           <provider selected="true" editor-type-id="text-editor">
138
           <provider selected="true" editor-type-id="text-editor">
167
-            <state relative-caret-position="21">
168
-              <caret line="93" selection-start-line="93" selection-end-line="93" />
139
+            <state relative-caret-position="291">
140
+              <caret line="67" column="41" selection-start-line="67" selection-start-column="32" selection-end-line="67" selection-end-column="41" />
169
             </state>
141
             </state>
170
           </provider>
142
           </provider>
171
         </entry>
143
         </entry>
182
   </component>
154
   </component>
183
   <component name="FindInProjectRecents">
155
   <component name="FindInProjectRecents">
184
     <findStrings>
156
     <findStrings>
185
-      <find>web</find>
186
-      <find>/wx/login</find>
187
-      <find>/taCarRecord</find>
188
-      <find>/taCustomerMap</find>
189
       <find>/taCustomer</find>
157
       <find>/taCustomer</find>
190
       <find>isSales</find>
158
       <find>isSales</find>
191
       <find>apointment</find>
159
       <find>apointment</find>
212
       <find>newLogByDevice</find>
180
       <find>newLogByDevice</find>
213
       <find>insertCustomer</find>
181
       <find>insertCustomer</find>
214
       <find>newCustByCarDevice</find>
182
       <find>newCustByCarDevice</find>
183
+      <find>TaFollowupRecord</find>
184
+      <find>taWechatUserMapper</find>
185
+      <find>newRecordByCust</find>
186
+      <find>follows</find>
215
     </findStrings>
187
     </findStrings>
216
     <replaceStrings>
188
     <replaceStrings>
217
       <replace>com.huiju.welcome</replace>
189
       <replace>com.huiju.welcome</replace>
234
   <component name="IdeDocumentHistory">
206
   <component name="IdeDocumentHistory">
235
     <option name="CHANGED_PATHS">
207
     <option name="CHANGED_PATHS">
236
       <list>
208
       <list>
237
-        <option value="$PROJECT_DIR$/src/main/java/com.huiju.welcome/controller/TaPersonController.java" />
238
-        <option value="$PROJECT_DIR$/src/main/java/com.huiju.welcome/common/WebSocketServer.java" />
239
-        <option value="$PROJECT_DIR$/src/main/java/com.huiju.welcome/service/impl/TaMiniFormidsImpl.java" />
240
         <option value="$PROJECT_DIR$/src/main/java/com.huiju.welcome/service/ITaMessageRecordService.java" />
209
         <option value="$PROJECT_DIR$/src/main/java/com.huiju.welcome/service/ITaMessageRecordService.java" />
241
         <option value="$PROJECT_DIR$/src/main/java/com.huiju.welcome/utils/MiniApp.java" />
210
         <option value="$PROJECT_DIR$/src/main/java/com.huiju.welcome/utils/MiniApp.java" />
242
         <option value="$PROJECT_DIR$/src/main/resources/mapper/TaCustomerMapper.xml" />
211
         <option value="$PROJECT_DIR$/src/main/resources/mapper/TaCustomerMapper.xml" />
243
         <option value="$PROJECT_DIR$/src/main/java/com.huiju.welcome/mapper/TaCustomerMapper.java" />
212
         <option value="$PROJECT_DIR$/src/main/java/com.huiju.welcome/mapper/TaCustomerMapper.java" />
244
-        <option value="$PROJECT_DIR$/src/main/java/com.huiju.welcome/controller/TaCustomerController.java" />
245
         <option value="$PROJECT_DIR$/src/main/java/com.huiju.welcome/model/SysUser.java" />
213
         <option value="$PROJECT_DIR$/src/main/java/com.huiju.welcome/model/SysUser.java" />
246
         <option value="$PROJECT_DIR$/src/main/java/com.huiju.welcome/service/ISysUserService.java" />
214
         <option value="$PROJECT_DIR$/src/main/java/com.huiju.welcome/service/ISysUserService.java" />
247
         <option value="$PROJECT_DIR$/src/main/java/com.huiju.welcome/service/impl/SysUserServiceImpl.java" />
215
         <option value="$PROJECT_DIR$/src/main/java/com.huiju.welcome/service/impl/SysUserServiceImpl.java" />
253
         <option value="$PROJECT_DIR$/src/main/java/com.huiju.welcome/config/TencentProperties.java" />
221
         <option value="$PROJECT_DIR$/src/main/java/com.huiju.welcome/config/TencentProperties.java" />
254
         <option value="$PROJECT_DIR$/src/main/java/com.huiju.welcome/utils/TencentFaceUtils.java" />
222
         <option value="$PROJECT_DIR$/src/main/java/com.huiju.welcome/utils/TencentFaceUtils.java" />
255
         <option value="$PROJECT_DIR$/src/main/java/com.huiju.welcome/controller/ImgController.java" />
223
         <option value="$PROJECT_DIR$/src/main/java/com.huiju.welcome/controller/ImgController.java" />
256
-        <option value="$PROJECT_DIR$/src/main/java/com.huiju.welcome/service/ITaCustomerService.java" />
257
         <option value="$PROJECT_DIR$/pom.xml" />
224
         <option value="$PROJECT_DIR$/pom.xml" />
258
         <option value="$PROJECT_DIR$/src/main/java/com.huiju.welcome/controller/TaFirstpageController.java" />
225
         <option value="$PROJECT_DIR$/src/main/java/com.huiju.welcome/controller/TaFirstpageController.java" />
259
         <option value="$PROJECT_DIR$/src/main/java/com.huiju.welcome/service/ICameraService.java" />
226
         <option value="$PROJECT_DIR$/src/main/java/com.huiju.welcome/service/ICameraService.java" />
265
         <option value="$PROJECT_DIR$/src/main/java/com.huiju.welcome/service/ITaVisitorAppointmentService.java" />
232
         <option value="$PROJECT_DIR$/src/main/java/com.huiju.welcome/service/ITaVisitorAppointmentService.java" />
266
         <option value="$PROJECT_DIR$/src/main/java/com.huiju.welcome/service/impl/TaVisitorAppointmentServiceImpl.java" />
233
         <option value="$PROJECT_DIR$/src/main/java/com.huiju.welcome/service/impl/TaVisitorAppointmentServiceImpl.java" />
267
         <option value="$PROJECT_DIR$/src/main/java/com.huiju.welcome/controller/TaVisitorAppointmentController.java" />
234
         <option value="$PROJECT_DIR$/src/main/java/com.huiju.welcome/controller/TaVisitorAppointmentController.java" />
268
-        <option value="$PROJECT_DIR$/src/main/java/com.huiju.welcome/service/ITaMainUsherRecordService.java" />
269
         <option value="$PROJECT_DIR$/src/main/java/com.huiju.welcome/service/ISysParamService.java" />
235
         <option value="$PROJECT_DIR$/src/main/java/com.huiju.welcome/service/ISysParamService.java" />
270
         <option value="$PROJECT_DIR$/src/main/java/com.huiju.welcome/service/impl/SysParamServiceImpl.java" />
236
         <option value="$PROJECT_DIR$/src/main/java/com.huiju.welcome/service/impl/SysParamServiceImpl.java" />
271
         <option value="$PROJECT_DIR$/src/main/java/com.huiju.welcome/service/impl/TaMessageRecordImpl.java" />
237
         <option value="$PROJECT_DIR$/src/main/java/com.huiju.welcome/service/impl/TaMessageRecordImpl.java" />
272
-        <option value="$PROJECT_DIR$/src/main/java/com.huiju.welcome/service/impl/TaMainUsherRecordServiceImpl.java" />
273
         <option value="$PROJECT_DIR$/src/main/java/com.huiju.welcome/service/ITaCarRecordService.java" />
238
         <option value="$PROJECT_DIR$/src/main/java/com.huiju.welcome/service/ITaCarRecordService.java" />
274
         <option value="$PROJECT_DIR$/src/main/java/com.huiju.welcome/controller/TaCarRecordController.java" />
239
         <option value="$PROJECT_DIR$/src/main/java/com.huiju.welcome/controller/TaCarRecordController.java" />
275
         <option value="$PROJECT_DIR$/src/main/java/com.huiju.welcome/controller/CameraController.java" />
240
         <option value="$PROJECT_DIR$/src/main/java/com.huiju.welcome/controller/CameraController.java" />
279
         <option value="$PROJECT_DIR$/src/main/java/com.huiju.welcome/utils/CommConstant.java" />
244
         <option value="$PROJECT_DIR$/src/main/java/com.huiju.welcome/utils/CommConstant.java" />
280
         <option value="$PROJECT_DIR$/src/main/java/com.huiju.welcome/service/ITaPersonService.java" />
245
         <option value="$PROJECT_DIR$/src/main/java/com.huiju.welcome/service/ITaPersonService.java" />
281
         <option value="$PROJECT_DIR$/src/main/java/com.huiju.welcome/service/impl/TaPersonServiceImpl.java" />
246
         <option value="$PROJECT_DIR$/src/main/java/com.huiju.welcome/service/impl/TaPersonServiceImpl.java" />
282
-        <option value="$PROJECT_DIR$/src/main/java/com.huiju.welcome/service/impl/TaCarRecordServiceImpl.java" />
283
         <option value="$PROJECT_DIR$/src/main/java/com.huiju.welcome/service/ITaCarService.java" />
247
         <option value="$PROJECT_DIR$/src/main/java/com.huiju.welcome/service/ITaCarService.java" />
284
         <option value="$PROJECT_DIR$/src/main/java/com.huiju.welcome/service/impl/TaCarServiceImpl.java" />
248
         <option value="$PROJECT_DIR$/src/main/java/com.huiju.welcome/service/impl/TaCarServiceImpl.java" />
285
         <option value="$PROJECT_DIR$/src/main/java/com.huiju.welcome/controller/TaCarController.java" />
249
         <option value="$PROJECT_DIR$/src/main/java/com.huiju.welcome/controller/TaCarController.java" />
286
-        <option value="$PROJECT_DIR$/src/main/java/com.huiju.welcome/service/impl/TaCustomerServiceImpl.java" />
287
         <option value="$PROJECT_DIR$/src/main/java/com.huiju.welcome/service/impl/CameraServiceImpl.java" />
250
         <option value="$PROJECT_DIR$/src/main/java/com.huiju.welcome/service/impl/CameraServiceImpl.java" />
251
+        <option value="$PROJECT_DIR$/src/main/java/com.huiju.welcome/service/impl/TaCarRecordServiceImpl.java" />
252
+        <option value="$PROJECT_DIR$/src/main/java/com.huiju.welcome/model/TaMainUsherRecord.java" />
253
+        <option value="$PROJECT_DIR$/src/main/java/com.huiju.welcome/controller/TaCustomerController.java" />
254
+        <option value="$PROJECT_DIR$/src/main/java/com.huiju.welcome/service/ITaCustomerService.java" />
255
+        <option value="$PROJECT_DIR$/src/main/java/com.huiju.welcome/service/ITaMainUsherRecordService.java" />
256
+        <option value="$PROJECT_DIR$/src/main/java/com.huiju.welcome/service/impl/TaMainUsherRecordServiceImpl.java" />
257
+        <option value="$PROJECT_DIR$/src/main/java/com.huiju.welcome/service/ITaFollowupRecordService.java" />
258
+        <option value="$PROJECT_DIR$/src/main/java/com.huiju.welcome/service/impl/TaFollowupRecordServiceImpl.java" />
259
+        <option value="$PROJECT_DIR$/src/main/java/com.huiju.welcome/service/impl/TaCustomerServiceImpl.java" />
288
       </list>
260
       </list>
289
     </option>
261
     </option>
290
   </component>
262
   </component>
385
               <item name="main" type="462c0819:PsiDirectoryNode" />
357
               <item name="main" type="462c0819:PsiDirectoryNode" />
386
               <item name="java" type="462c0819:PsiDirectoryNode" />
358
               <item name="java" type="462c0819:PsiDirectoryNode" />
387
               <item name="com.huiju.welcome" type="462c0819:PsiDirectoryNode" />
359
               <item name="com.huiju.welcome" type="462c0819:PsiDirectoryNode" />
388
-              <item name="utils" type="462c0819:PsiDirectoryNode" />
360
+              <item name="controller" type="462c0819:PsiDirectoryNode" />
361
+            </path>
362
+            <path>
363
+              <item name="service" type="b2602c69:ProjectViewProjectNode" />
364
+              <item name="service" type="462c0819:PsiDirectoryNode" />
365
+              <item name="src" type="462c0819:PsiDirectoryNode" />
366
+              <item name="main" type="462c0819:PsiDirectoryNode" />
367
+              <item name="resources" type="462c0819:PsiDirectoryNode" />
368
+            </path>
369
+            <path>
370
+              <item name="service" type="b2602c69:ProjectViewProjectNode" />
371
+              <item name="service" type="462c0819:PsiDirectoryNode" />
372
+              <item name="src" type="462c0819:PsiDirectoryNode" />
373
+              <item name="main" type="462c0819:PsiDirectoryNode" />
374
+              <item name="resources" type="462c0819:PsiDirectoryNode" />
375
+              <item name="mapper" type="462c0819:PsiDirectoryNode" />
389
             </path>
376
             </path>
390
             <path>
377
             <path>
391
               <item name="service" type="b2602c69:ProjectViewProjectNode" />
378
               <item name="service" type="b2602c69:ProjectViewProjectNode" />
555
     <servers />
542
     <servers />
556
   </component>
543
   </component>
557
   <component name="TimeTrackingManager">
544
   <component name="TimeTrackingManager">
558
-    <option name="totallyTimeSpent" value="481978000" />
545
+    <option name="totallyTimeSpent" value="497747000" />
559
   </component>
546
   </component>
560
   <component name="ToolWindowManager">
547
   <component name="ToolWindowManager">
561
     <frame x="-8" y="-8" width="1936" height="1015" extended-state="6" />
548
     <frame x="-8" y="-8" width="1936" height="1015" extended-state="6" />
549
+    <editor active="true" />
562
     <layout>
550
     <layout>
563
       <window_info anchor="right" id="Palette" order="10" />
551
       <window_info anchor="right" id="Palette" order="10" />
564
       <window_info anchor="bottom" id="Event Log" order="18" side_tool="true" />
552
       <window_info anchor="bottom" id="Event Log" order="18" side_tool="true" />
570
       <window_info id="Structure" order="1" side_tool="true" weight="0.25" />
558
       <window_info id="Structure" order="1" side_tool="true" weight="0.25" />
571
       <window_info anchor="right" id="Ant Build" order="0" weight="0.25" />
559
       <window_info anchor="right" id="Ant Build" order="0" weight="0.25" />
572
       <window_info id="UI Designer" order="4" />
560
       <window_info id="UI Designer" order="4" />
573
-      <window_info active="true" anchor="bottom" id="Debug" order="0" visible="true" weight="0.49258837" />
561
+      <window_info active="true" anchor="bottom" id="Debug" order="0" visible="true" weight="0.37970352" />
574
       <window_info anchor="bottom" id="TODO" order="3" />
562
       <window_info anchor="bottom" id="TODO" order="3" />
575
       <window_info anchor="bottom" id="Messages" order="12" weight="0.3295325" />
563
       <window_info anchor="bottom" id="Messages" order="12" weight="0.3295325" />
576
       <window_info anchor="right" id="Palette&#9;" order="4" />
564
       <window_info anchor="right" id="Palette&#9;" order="4" />
580
       <window_info anchor="bottom" id="Version Control" order="11" />
568
       <window_info anchor="bottom" id="Version Control" order="11" />
581
       <window_info anchor="bottom" id="Run" order="2" weight="0.3295325" />
569
       <window_info anchor="bottom" id="Run" order="2" weight="0.3295325" />
582
       <window_info anchor="bottom" id="Spring" order="5" />
570
       <window_info anchor="bottom" id="Spring" order="5" />
583
-      <window_info anchor="bottom" id="Terminal" order="7" weight="0.16191562" />
571
+      <window_info anchor="bottom" id="Terminal" order="7" weight="0.37058154" />
584
       <window_info content_ui="combo" id="Project" order="0" visible="true" weight="0.25" />
572
       <window_info content_ui="combo" id="Project" order="0" visible="true" weight="0.25" />
585
       <window_info anchor="right" id="Bean Validation" order="8" />
573
       <window_info anchor="right" id="Bean Validation" order="8" />
586
       <window_info id="Web" order="5" side_tool="true" />
574
       <window_info id="Web" order="5" side_tool="true" />
632
   <component name="XDebuggerManager">
620
   <component name="XDebuggerManager">
633
     <breakpoint-manager>
621
     <breakpoint-manager>
634
       <breakpoints>
622
       <breakpoints>
635
-        <line-breakpoint type="java-line">
636
-          <url>file://$PROJECT_DIR$/src/main/java/com.huiju.welcome/service/impl/TaMainUsherRecordServiceImpl.java</url>
637
-          <line>227</line>
638
-          <properties />
639
-          <option name="timeStamp" value="40" />
640
-        </line-breakpoint>
641
         <line-breakpoint type="java-line">
623
         <line-breakpoint type="java-line">
642
           <url>file://$PROJECT_DIR$/src/main/java/com.huiju.welcome/service/impl/TaCustomerServiceImpl.java</url>
624
           <url>file://$PROJECT_DIR$/src/main/java/com.huiju.welcome/service/impl/TaCustomerServiceImpl.java</url>
643
-          <line>193</line>
625
+          <line>196</line>
644
           <properties />
626
           <properties />
645
           <option name="timeStamp" value="41" />
627
           <option name="timeStamp" value="41" />
646
         </line-breakpoint>
628
         </line-breakpoint>
656
           <properties />
638
           <properties />
657
           <option name="timeStamp" value="50" />
639
           <option name="timeStamp" value="50" />
658
         </line-breakpoint>
640
         </line-breakpoint>
659
-        <line-breakpoint type="java-line">
660
-          <url>file://$PROJECT_DIR$/src/main/java/com.huiju.welcome/service/impl/TaMainUsherRecordServiceImpl.java</url>
661
-          <line>241</line>
662
-          <properties />
663
-          <option name="timeStamp" value="51" />
664
-        </line-breakpoint>
665
         <line-breakpoint type="java-line">
641
         <line-breakpoint type="java-line">
666
           <url>file://$PROJECT_DIR$/src/main/java/com.huiju.welcome/utils/AliFaceUtils.java</url>
642
           <url>file://$PROJECT_DIR$/src/main/java/com.huiju.welcome/utils/AliFaceUtils.java</url>
667
           <line>286</line>
643
           <line>286</line>
668
           <properties />
644
           <properties />
669
           <option name="timeStamp" value="61" />
645
           <option name="timeStamp" value="61" />
670
         </line-breakpoint>
646
         </line-breakpoint>
647
+        <line-breakpoint enabled="true" type="java-line">
648
+          <url>file://$PROJECT_DIR$/src/main/java/com.huiju.welcome/controller/TaCustomerController.java</url>
649
+          <line>202</line>
650
+          <properties />
651
+          <option name="timeStamp" value="62" />
652
+        </line-breakpoint>
671
       </breakpoints>
653
       </breakpoints>
672
       <breakpoints-dialog>
654
       <breakpoints-dialog>
673
         <breakpoints-dialog />
655
         <breakpoints-dialog />
674
       </breakpoints-dialog>
656
       </breakpoints-dialog>
675
-      <option name="time" value="62" />
657
+      <option name="time" value="66" />
676
     </breakpoint-manager>
658
     </breakpoint-manager>
677
   </component>
659
   </component>
678
   <component name="editorHistoryManager">
660
   <component name="editorHistoryManager">
679
-    <entry file="jar://D:/REPO/org/springframework/spring-web/5.1.6.RELEASE/spring-web-5.1.6.RELEASE.jar!/org/springframework/web/filter/RequestContextFilter.class">
680
-      <provider selected="true" editor-type-id="text-editor">
681
-        <state relative-caret-position="150">
682
-          <caret line="41" selection-start-line="41" selection-end-line="41" />
683
-        </state>
684
-      </provider>
685
-    </entry>
686
-    <entry file="jar://D:/REPO/org/springframework/spring-web/5.1.6.RELEASE/spring-web-5.1.6.RELEASE.jar!/org/springframework/web/filter/OncePerRequestFilter.class">
687
-      <provider selected="true" editor-type-id="text-editor">
688
-        <state relative-caret-position="150">
689
-          <caret line="34" selection-start-line="34" selection-end-line="34" />
690
-        </state>
691
-      </provider>
692
-    </entry>
693
-    <entry file="jar://D:/REPO/org/apache/tomcat/embed/tomcat-embed-core/9.0.17/tomcat-embed-core-9.0.17.jar!/org/apache/catalina/core/StandardContextValve.class">
694
-      <provider selected="true" editor-type-id="text-editor">
695
-        <state relative-caret-position="268">
696
-          <caret line="48" selection-start-line="48" selection-end-line="48" />
697
-        </state>
698
-      </provider>
699
-    </entry>
700
-    <entry file="jar://D:/REPO/org/apache/tomcat/embed/tomcat-embed-core/9.0.17/tomcat-embed-core-9.0.17.jar!/org/apache/catalina/core/StandardWrapperValve.class">
701
-      <provider selected="true" editor-type-id="text-editor">
702
-        <state relative-caret-position="150">
703
-          <caret line="155" selection-start-line="155" selection-end-line="155" />
704
-        </state>
705
-      </provider>
706
-    </entry>
707
-    <entry file="jar://D:/REPO/org/apache/tomcat/embed/tomcat-embed-core/9.0.17/tomcat-embed-core-9.0.17.jar!/org/apache/catalina/authenticator/AuthenticatorBase.class">
708
-      <provider selected="true" editor-type-id="text-editor">
709
-        <state relative-caret-position="150">
710
-          <caret line="317" selection-start-line="317" selection-end-line="317" />
711
-        </state>
712
-      </provider>
713
-    </entry>
714
-    <entry file="jar://D:/REPO/org/apache/tomcat/embed/tomcat-embed-core/9.0.17/tomcat-embed-core-9.0.17.jar!/org/apache/tomcat/util/http/parser/HttpParser.class">
715
-      <provider selected="true" editor-type-id="text-editor">
716
-        <state relative-caret-position="126">
717
-          <caret line="133" selection-start-line="133" selection-end-line="133" />
718
-        </state>
719
-      </provider>
720
-    </entry>
721
-    <entry file="file://$PROJECT_DIR$/src/main/java/com.huiju.welcome/utils/MiniApp.java">
722
-      <provider selected="true" editor-type-id="text-editor">
723
-        <state relative-caret-position="903">
724
-          <caret line="63" selection-start-line="63" selection-end-line="63" />
725
-          <folding>
726
-            <element signature="e#2779#2795#0" expanded="true" />
727
-            <element signature="e#2992#3013#0" expanded="true" />
728
-          </folding>
729
-        </state>
730
-      </provider>
731
-    </entry>
732
     <entry file="file://$PROJECT_DIR$/src/main/java/com.huiju.welcome/service/ISysParamService.java">
661
     <entry file="file://$PROJECT_DIR$/src/main/java/com.huiju.welcome/service/ISysParamService.java">
733
       <provider selected="true" editor-type-id="text-editor">
662
       <provider selected="true" editor-type-id="text-editor">
734
         <state relative-caret-position="504">
663
         <state relative-caret-position="504">
884
         </state>
813
         </state>
885
       </provider>
814
       </provider>
886
     </entry>
815
     </entry>
887
-    <entry file="file://$PROJECT_DIR$/src/main/java/com.huiju.welcome/utils/CommConstant.java">
888
-      <provider selected="true" editor-type-id="text-editor">
889
-        <state relative-caret-position="315">
890
-          <caret line="15" column="46" selection-start-line="15" selection-start-column="31" selection-end-line="15" selection-end-column="46" />
891
-        </state>
892
-      </provider>
893
-    </entry>
894
     <entry file="file://$PROJECT_DIR$/src/main/java/com.huiju.welcome/model/TaPerson.java">
816
     <entry file="file://$PROJECT_DIR$/src/main/java/com.huiju.welcome/model/TaPerson.java">
895
       <provider selected="true" editor-type-id="text-editor">
817
       <provider selected="true" editor-type-id="text-editor">
896
         <state relative-caret-position="-183">
818
         <state relative-caret-position="-183">
918
         </state>
840
         </state>
919
       </provider>
841
       </provider>
920
     </entry>
842
     </entry>
921
-    <entry file="file://$PROJECT_DIR$/src/main/java/com.huiju.welcome/service/ITaCarRecordService.java">
843
+    <entry file="file://$PROJECT_DIR$/src/main/java/com.huiju.welcome/model/TaVisitorAppointment.java">
922
       <provider selected="true" editor-type-id="text-editor">
844
       <provider selected="true" editor-type-id="text-editor">
923
-        <state relative-caret-position="487">
924
-          <caret line="32" column="12" selection-start-line="32" selection-start-column="12" selection-end-line="32" selection-end-column="12" />
845
+        <state relative-caret-position="483">
846
+          <caret line="35" column="21" selection-start-line="35" selection-start-column="11" selection-end-line="35" selection-end-column="21" />
925
         </state>
847
         </state>
926
       </provider>
848
       </provider>
927
     </entry>
849
     </entry>
928
-    <entry file="file://$PROJECT_DIR$/src/main/java/com.huiju.welcome/service/impl/TaCarRecordServiceImpl.java">
850
+    <entry file="file://$PROJECT_DIR$/src/main/java/com.huiju.welcome/service/ITaPersonService.java">
851
+      <provider selected="true" editor-type-id="text-editor">
852
+        <state relative-caret-position="454">
853
+          <caret line="58" column="12" selection-start-line="58" selection-start-column="12" selection-end-line="58" selection-end-column="12" />
854
+        </state>
855
+      </provider>
856
+    </entry>
857
+    <entry file="file://$PROJECT_DIR$/src/main/java/com.huiju.welcome/service/impl/TaPersonServiceImpl.java">
858
+      <provider selected="true" editor-type-id="text-editor">
859
+        <state relative-caret-position="-500">
860
+          <caret line="358" column="19" selection-start-line="358" selection-start-column="19" selection-end-line="358" selection-end-column="19" />
861
+        </state>
862
+      </provider>
863
+    </entry>
864
+    <entry file="file://$PROJECT_DIR$/src/main/java/com.huiju.welcome/common/WebSocketServer.java">
865
+      <provider selected="true" editor-type-id="text-editor">
866
+        <state relative-caret-position="327">
867
+          <caret line="117" lean-forward="true" selection-start-line="117" selection-end-line="117" />
868
+        </state>
869
+      </provider>
870
+    </entry>
871
+    <entry file="file://$PROJECT_DIR$/src/main/java/com.huiju.welcome/utils/AliFaceUtils.java">
872
+      <provider selected="true" editor-type-id="text-editor">
873
+        <state relative-caret-position="444">
874
+          <caret line="314" lean-forward="true" selection-start-line="314" selection-end-line="314" />
875
+          <folding>
876
+            <element signature="imports" expanded="true" />
877
+          </folding>
878
+        </state>
879
+      </provider>
880
+    </entry>
881
+    <entry file="file://$PROJECT_DIR$/src/main/java/com.huiju.welcome/utils/CommConstant.java">
929
       <provider selected="true" editor-type-id="text-editor">
882
       <provider selected="true" editor-type-id="text-editor">
930
-        <state relative-caret-position="162">
931
-          <caret line="116" column="14" lean-forward="true" selection-start-line="116" selection-start-column="14" selection-end-line="116" selection-end-column="14" />
883
+        <state relative-caret-position="336">
884
+          <caret line="16" column="54" selection-start-line="16" selection-start-column="49" selection-end-line="16" selection-end-column="54" />
932
         </state>
885
         </state>
933
       </provider>
886
       </provider>
934
     </entry>
887
     </entry>
935
     <entry file="file://$PROJECT_DIR$/src/main/java/com.huiju.welcome/controller/TaCarController.java">
888
     <entry file="file://$PROJECT_DIR$/src/main/java/com.huiju.welcome/controller/TaCarController.java">
936
       <provider selected="true" editor-type-id="text-editor">
889
       <provider selected="true" editor-type-id="text-editor">
937
-        <state relative-caret-position="676">
938
-          <caret line="38" column="5" lean-forward="true" selection-start-line="38" selection-start-column="5" selection-end-line="38" selection-end-column="5" />
890
+        <state relative-caret-position="328">
891
+          <caret line="62" column="48" lean-forward="true" selection-start-line="62" selection-start-column="48" selection-end-line="62" selection-end-column="48" />
939
           <folding>
892
           <folding>
940
             <element signature="imports" expanded="true" />
893
             <element signature="imports" expanded="true" />
941
           </folding>
894
           </folding>
942
         </state>
895
         </state>
943
       </provider>
896
       </provider>
944
     </entry>
897
     </entry>
945
-    <entry file="file://$PROJECT_DIR$/src/main/java/com.huiju.welcome/controller/TaCustomerController.java">
898
+    <entry file="file://$PROJECT_DIR$/src/main/java/com.huiju.welcome/service/ITaCarRecordService.java">
946
       <provider selected="true" editor-type-id="text-editor">
899
       <provider selected="true" editor-type-id="text-editor">
947
-        <state relative-caret-position="340">
948
-          <caret line="247" column="63" lean-forward="true" selection-start-line="247" selection-start-column="63" selection-end-line="247" selection-end-column="63" />
900
+        <state relative-caret-position="241">
901
+          <caret line="32" column="12" selection-start-line="32" selection-start-column="12" selection-end-line="32" selection-end-column="12" />
949
         </state>
902
         </state>
950
       </provider>
903
       </provider>
951
     </entry>
904
     </entry>
952
-    <entry file="file://$PROJECT_DIR$/src/main/java/com.huiju.welcome/model/TaCustomer.java">
905
+    <entry file="file://$PROJECT_DIR$/src/main/java/com.huiju.welcome/service/impl/TaCarRecordServiceImpl.java">
953
       <provider selected="true" editor-type-id="text-editor">
906
       <provider selected="true" editor-type-id="text-editor">
954
-        <state relative-caret-position="191">
955
-          <caret line="25" column="13" selection-start-line="25" selection-start-column="13" selection-end-line="25" selection-end-column="13" />
907
+        <state relative-caret-position="183">
908
+          <caret line="124" column="13" lean-forward="true" selection-start-line="124" selection-start-column="13" selection-end-line="124" selection-end-column="13" />
956
         </state>
909
         </state>
957
       </provider>
910
       </provider>
958
     </entry>
911
     </entry>
959
-    <entry file="file://$PROJECT_DIR$/src/main/java/com.huiju.welcome/model/TaVisitorAppointment.java">
912
+    <entry file="file://$PROJECT_DIR$/src/main/java/com.huiju.welcome/controller/CameraController.java">
960
       <provider selected="true" editor-type-id="text-editor">
913
       <provider selected="true" editor-type-id="text-editor">
961
-        <state relative-caret-position="483">
962
-          <caret line="35" column="21" selection-start-line="35" selection-start-column="11" selection-end-line="35" selection-end-column="21" />
914
+        <state relative-caret-position="367">
915
+          <caret line="151" column="33" lean-forward="true" selection-start-line="151" selection-start-column="33" selection-end-line="151" selection-end-column="33" />
963
         </state>
916
         </state>
964
       </provider>
917
       </provider>
965
     </entry>
918
     </entry>
966
-    <entry file="file://$PROJECT_DIR$/src/main/java/com.huiju.welcome/service/ICameraService.java">
919
+    <entry file="file://$PROJECT_DIR$/src/main/java/com.huiju.welcome/service/impl/CameraServiceImpl.java">
967
       <provider selected="true" editor-type-id="text-editor">
920
       <provider selected="true" editor-type-id="text-editor">
968
-        <state relative-caret-position="147">
969
-          <caret line="9" column="12" selection-start-line="9" selection-start-column="12" selection-end-line="9" selection-end-column="12" />
921
+        <state relative-caret-position="404">
922
+          <caret line="164" column="37" selection-start-line="164" selection-start-column="37" selection-end-line="164" selection-end-column="37" />
970
         </state>
923
         </state>
971
       </provider>
924
       </provider>
972
     </entry>
925
     </entry>
973
-    <entry file="file://$PROJECT_DIR$/src/main/java/com.huiju.welcome/service/ITaPersonService.java">
926
+    <entry file="file://$PROJECT_DIR$/src/main/java/com.huiju.welcome/service/ICameraService.java">
974
       <provider selected="true" editor-type-id="text-editor">
927
       <provider selected="true" editor-type-id="text-editor">
975
-        <state relative-caret-position="454">
976
-          <caret line="58" column="12" selection-start-line="58" selection-start-column="12" selection-end-line="58" selection-end-column="12" />
928
+        <state relative-caret-position="147">
929
+          <caret line="9" column="12" selection-start-line="9" selection-start-column="12" selection-end-line="9" selection-end-column="12" />
977
         </state>
930
         </state>
978
       </provider>
931
       </provider>
979
     </entry>
932
     </entry>
980
-    <entry file="file://$PROJECT_DIR$/src/main/java/com.huiju.welcome/service/impl/TaPersonServiceImpl.java">
933
+    <entry file="file://$PROJECT_DIR$/src/main/java/com.huiju.welcome/utils/DateUtils.java">
981
       <provider selected="true" editor-type-id="text-editor">
934
       <provider selected="true" editor-type-id="text-editor">
982
-        <state relative-caret-position="-500">
983
-          <caret line="358" column="19" selection-start-line="358" selection-start-column="19" selection-end-line="358" selection-end-column="19" />
935
+        <state relative-caret-position="311">
936
+          <caret line="32" column="25" selection-start-line="32" selection-start-column="25" selection-end-line="32" selection-end-column="25" />
984
         </state>
937
         </state>
985
       </provider>
938
       </provider>
986
     </entry>
939
     </entry>
987
-    <entry file="file://$PROJECT_DIR$/src/main/java/com.huiju.welcome/service/impl/CameraServiceImpl.java">
940
+    <entry file="file://$PROJECT_DIR$/src/main/java/com.huiju.welcome/controller/TaMainUsherRecordController.java">
988
       <provider selected="true" editor-type-id="text-editor">
941
       <provider selected="true" editor-type-id="text-editor">
989
-        <state relative-caret-position="487">
990
-          <caret line="164" column="40" selection-start-line="164" selection-start-column="40" selection-end-line="164" selection-end-column="40" />
942
+        <state relative-caret-position="330">
943
+          <caret line="94" column="29" lean-forward="true" selection-start-line="94" selection-start-column="29" selection-end-line="94" selection-end-column="29" />
991
         </state>
944
         </state>
992
       </provider>
945
       </provider>
993
     </entry>
946
     </entry>
994
-    <entry file="file://$PROJECT_DIR$/src/main/java/com.huiju.welcome/service/ITaCustomerService.java">
947
+    <entry file="file://$PROJECT_DIR$/src/main/resources/mapper/TaMainUsherRecordMapper.xml">
948
+      <provider selected="true" editor-type-id="text-editor" />
949
+    </entry>
950
+    <entry file="file://$PROJECT_DIR$/src/main/java/com.huiju.welcome/mapper/TaMainUsherRecordMapper.java">
995
       <provider selected="true" editor-type-id="text-editor">
951
       <provider selected="true" editor-type-id="text-editor">
996
-        <state relative-caret-position="235">
997
-          <caret line="21" column="9" selection-start-line="21" selection-start-column="9" selection-end-line="21" selection-end-column="9" />
952
+        <state relative-caret-position="173">
953
+          <caret line="22" column="23" selection-start-line="22" selection-start-column="23" selection-end-line="22" selection-end-column="23" />
998
         </state>
954
         </state>
999
       </provider>
955
       </provider>
1000
     </entry>
956
     </entry>
1001
-    <entry file="file://$PROJECT_DIR$/src/main/java/com.huiju.welcome/service/ITaMainUsherRecordService.java">
957
+    <entry file="file://$PROJECT_DIR$/src/main/java/com.huiju.welcome/model/TaMainUsherRecord.java">
1002
       <provider selected="true" editor-type-id="text-editor">
958
       <provider selected="true" editor-type-id="text-editor">
1003
         <state relative-caret-position="561">
959
         <state relative-caret-position="561">
1004
-          <caret line="42" column="12" selection-start-line="42" selection-start-column="12" selection-end-line="42" selection-end-column="12" />
960
+          <caret line="79" lean-forward="true" selection-start-line="79" selection-end-line="79" />
1005
         </state>
961
         </state>
1006
       </provider>
962
       </provider>
1007
     </entry>
963
     </entry>
1008
-    <entry file="file://$PROJECT_DIR$/src/main/java/com.huiju.welcome/common/WebSocketServer.java">
964
+    <entry file="file://$PROJECT_DIR$/src/main/java/com.huiju.welcome/controller/TaCustomerController.java">
1009
       <provider selected="true" editor-type-id="text-editor">
965
       <provider selected="true" editor-type-id="text-editor">
1010
-        <state relative-caret-position="327">
1011
-          <caret line="117" lean-forward="true" selection-start-line="117" selection-end-line="117" />
966
+        <state relative-caret-position="113">
967
+          <caret line="232" column="57" lean-forward="true" selection-start-line="232" selection-start-column="57" selection-end-line="232" selection-end-column="57" />
1012
         </state>
968
         </state>
1013
       </provider>
969
       </provider>
1014
     </entry>
970
     </entry>
1015
-    <entry file="file://$PROJECT_DIR$/src/main/java/com.huiju.welcome/controller/CameraController.java">
971
+    <entry file="file://$PROJECT_DIR$/src/main/java/com.huiju.welcome/service/ITaCustomerService.java">
1016
       <provider selected="true" editor-type-id="text-editor">
972
       <provider selected="true" editor-type-id="text-editor">
1017
-        <state relative-caret-position="258">
1018
-          <caret line="128" lean-forward="true" selection-start-line="128" selection-end-line="128" />
973
+        <state relative-caret-position="798">
974
+          <caret line="43" column="14" selection-start-line="43" selection-start-column="4" selection-end-line="43" selection-end-column="14" />
1019
         </state>
975
         </state>
1020
       </provider>
976
       </provider>
1021
     </entry>
977
     </entry>
1022
-    <entry file="file://$PROJECT_DIR$/src/main/java/com.huiju.welcome/controller/TaMainUsherRecordController.java">
978
+    <entry file="file://$PROJECT_DIR$/src/main/java/com.huiju.welcome/service/ITaMainUsherRecordService.java">
1023
       <provider selected="true" editor-type-id="text-editor">
979
       <provider selected="true" editor-type-id="text-editor">
1024
-        <state relative-caret-position="21">
1025
-          <caret line="93" selection-start-line="93" selection-end-line="93" />
980
+        <state relative-caret-position="252">
981
+          <caret line="20" column="23" lean-forward="true" selection-start-line="20" selection-start-column="23" selection-end-line="20" selection-end-column="23" />
1026
         </state>
982
         </state>
1027
       </provider>
983
       </provider>
1028
     </entry>
984
     </entry>
1029
     <entry file="file://$PROJECT_DIR$/src/main/java/com.huiju.welcome/service/impl/TaMainUsherRecordServiceImpl.java">
985
     <entry file="file://$PROJECT_DIR$/src/main/java/com.huiju.welcome/service/impl/TaMainUsherRecordServiceImpl.java">
1030
       <provider selected="true" editor-type-id="text-editor">
986
       <provider selected="true" editor-type-id="text-editor">
1031
-        <state relative-caret-position="132">
1032
-          <caret line="241" selection-start-line="241" selection-end-line="241" />
987
+        <state relative-caret-position="-512">
988
+          <caret line="394" lean-forward="true" selection-start-line="394" selection-end-line="394" />
1033
           <folding>
989
           <folding>
1034
             <element signature="imports" expanded="true" />
990
             <element signature="imports" expanded="true" />
1035
           </folding>
991
           </folding>
1036
         </state>
992
         </state>
1037
       </provider>
993
       </provider>
1038
     </entry>
994
     </entry>
1039
-    <entry file="file://$PROJECT_DIR$/src/main/java/com.huiju.welcome/service/impl/TaCustomerServiceImpl.java">
995
+    <entry file="file://$PROJECT_DIR$/src/main/java/com.huiju.welcome/service/ITaFollowupRecordService.java">
1040
       <provider selected="true" editor-type-id="text-editor">
996
       <provider selected="true" editor-type-id="text-editor">
1041
-        <state relative-caret-position="132">
1042
-          <caret line="193" selection-start-line="193" selection-end-line="193" />
997
+        <state relative-caret-position="294">
998
+          <caret line="17" column="26" selection-start-line="17" selection-start-column="4" selection-end-line="17" selection-end-column="26" />
1043
         </state>
999
         </state>
1044
       </provider>
1000
       </provider>
1045
     </entry>
1001
     </entry>
1046
-    <entry file="file://$PROJECT_DIR$/src/main/java/com.huiju.welcome/utils/AliFaceUtils.java">
1002
+    <entry file="file://$PROJECT_DIR$/src/main/java/com.huiju.welcome/model/TaFollowupRecord.java">
1003
+      <provider selected="true" editor-type-id="text-editor">
1004
+        <state relative-caret-position="320">
1005
+          <caret line="28" column="25" selection-start-line="28" selection-start-column="20" selection-end-line="28" selection-end-column="25" />
1006
+        </state>
1007
+      </provider>
1008
+    </entry>
1009
+    <entry file="file://$PROJECT_DIR$/src/main/java/com.huiju.welcome/service/impl/TaFollowupRecordServiceImpl.java">
1047
       <provider selected="true" editor-type-id="text-editor">
1010
       <provider selected="true" editor-type-id="text-editor">
1048
-        <state relative-caret-position="132">
1049
-          <caret line="286" selection-start-line="286" selection-end-line="286" />
1011
+        <state relative-caret-position="420">
1012
+          <caret line="30" lean-forward="true" selection-start-line="30" selection-end-line="30" />
1013
+        </state>
1014
+      </provider>
1015
+    </entry>
1016
+    <entry file="file://$PROJECT_DIR$/src/main/java/com.huiju.welcome/service/impl/TaCustomerServiceImpl.java">
1017
+      <provider selected="true" editor-type-id="text-editor">
1018
+        <state relative-caret-position="60">
1019
+          <caret line="297" column="14" selection-start-line="297" selection-start-column="14" selection-end-line="297" selection-end-column="14" />
1050
           <folding>
1020
           <folding>
1051
-            <element signature="imports" expanded="true" />
1021
+            <element signature="e#1809#1810#0" expanded="true" />
1022
+            <element signature="e#1872#1873#0" expanded="true" />
1052
           </folding>
1023
           </folding>
1053
         </state>
1024
         </state>
1054
       </provider>
1025
       </provider>
1055
     </entry>
1026
     </entry>
1027
+    <entry file="file://$PROJECT_DIR$/src/main/java/com.huiju.welcome/model/TaCustomer.java">
1028
+      <provider selected="true" editor-type-id="text-editor">
1029
+        <state relative-caret-position="291">
1030
+          <caret line="67" column="41" selection-start-line="67" selection-start-column="32" selection-end-line="67" selection-end-column="41" />
1031
+        </state>
1032
+      </provider>
1033
+    </entry>
1056
   </component>
1034
   </component>
1057
   <component name="masterDetails">
1035
   <component name="masterDetails">
1058
     <states>
1036
     <states>

+ 30
- 21
src/main/java/com.huiju.welcome/controller/TaCustomerController.java 查看文件

7
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
7
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
8
 import com.huiju.welcome.common.base.BaseController;
8
 import com.huiju.welcome.common.base.BaseController;
9
 import com.huiju.welcome.common.base.ResponseBean;
9
 import com.huiju.welcome.common.base.ResponseBean;
10
-import com.huiju.welcome.model.TaCustomer;
11
-import com.huiju.welcome.model.TaCustomerMap;
12
-import com.huiju.welcome.model.TaPerson;
13
-import com.huiju.welcome.model.TaWechatUser;
10
+import com.huiju.welcome.model.*;
14
 import com.huiju.welcome.service.*;
11
 import com.huiju.welcome.service.*;
15
 import com.huiju.welcome.utils.DateUtils;
12
 import com.huiju.welcome.utils.DateUtils;
16
 import com.huiju.welcome.utils.JWTUtils;
13
 import com.huiju.welcome.utils.JWTUtils;
57
     @Autowired
54
     @Autowired
58
     ITaCustomerMapService iTaCustomerMapService;
55
     ITaCustomerMapService iTaCustomerMapService;
59
 
56
 
57
+    @Autowired
58
+    ISysUserService iSysUserService;
59
+
60
     /**
60
     /**
61
      * 保存对象
61
      * 保存对象
62
      * @param taCustomer 实体对象
62
      * @param taCustomer 实体对象
63
      * @return
63
      * @return
64
      */
64
      */
65
     @RequestMapping(value="/miniapp/customer",method= RequestMethod.POST)
65
     @RequestMapping(value="/miniapp/customer",method= RequestMethod.POST)
66
-    public ResponseBean save(@RequestBody String paramStr){
66
+    public ResponseBean save(@RequestBody String paramStr, HttpServletRequest request){
67
         JSONObject params = JSONObject.parseObject(paramStr);
67
         JSONObject params = JSONObject.parseObject(paramStr);
68
         if (null == params) {
68
         if (null == params) {
69
             return ResponseBean.error("保存内容格式非法或者为空", HttpStatus.SC_BAD_REQUEST);
69
             return ResponseBean.error("保存内容格式非法或者为空", HttpStatus.SC_BAD_REQUEST);
72
         TaCustomer taCustomer = JSONObject.parseObject(paramStr, TaCustomer.class);
72
         TaCustomer taCustomer = JSONObject.parseObject(paramStr, TaCustomer.class);
73
         JSONArray follows = params.getJSONArray("follows");
73
         JSONArray follows = params.getJSONArray("follows");
74
 
74
 
75
+        String userId = JWTUtils.getSubject(request);
76
+        SysUser user = iSysUserService.getById(iTaWechatUserService.getById(userId).getPersonId());
77
+        taCustomer.setConsultantId(user.getUserId());
78
+        taCustomer.setRealtyConsultant(user.getUsername());
79
+
75
         ResponseBean responseBean = new ResponseBean();
80
         ResponseBean responseBean = new ResponseBean();
76
         try {
81
         try {
77
             // 会员保存之前, 先保存人员
82
             // 会员保存之前, 先保存人员
107
             }
112
             }
108
             iTaCustomerMapService.saveBatch(customerMapList);
113
             iTaCustomerMapService.saveBatch(customerMapList);
109
 
114
 
115
+            // 新增会员来访信息
116
+            iTaMainUsherRecordService.newRecordByConsultant(taCustomer, follows);
117
+
110
             taCustomer.setStatus(StatusUtils.Normal);
118
             taCustomer.setStatus(StatusUtils.Normal);
111
             taCustomer.setCreateDate(LocalDateTime.now());
119
             taCustomer.setCreateDate(LocalDateTime.now());
120
+            taCustomer.setRemark(null);
112
             if (iTaCustomerService.save(taCustomer)){
121
             if (iTaCustomerService.save(taCustomer)){
113
-
114
-                // 新增会员来访信息
115
-                iTaMainUsherRecordService.newRecordByConsultant(taCustomer);
116
-
117
                 List<TaPerson> group = iTaCustomerService.getGroup(taCustomer.getCustomerId());
122
                 List<TaPerson> group = iTaCustomerService.getGroup(taCustomer.getCustomerId());
118
                 taCustomer.setGroup(group);
123
                 taCustomer.setGroup(group);
119
                 responseBean.addSuccess(taCustomer);
124
                 responseBean.addSuccess(taCustomer);
154
      * @return
159
      * @return
155
      */
160
      */
156
     @RequestMapping(value="/miniapp/customer/{id}",method= RequestMethod.PUT)
161
     @RequestMapping(value="/miniapp/customer/{id}",method= RequestMethod.PUT)
157
-    public ResponseBean update(@RequestBody String paramStr, @PathVariable Integer id){
162
+    public ResponseBean update(@RequestBody String paramStr, @PathVariable Integer id, HttpServletRequest request){
158
         JSONObject params = JSONObject.parseObject(paramStr);
163
         JSONObject params = JSONObject.parseObject(paramStr);
159
         if (null == params) {
164
         if (null == params) {
160
             return ResponseBean.error("保存内容格式非法或者为空", HttpStatus.SC_BAD_REQUEST);
165
             return ResponseBean.error("保存内容格式非法或者为空", HttpStatus.SC_BAD_REQUEST);
184
                 iTaCustomerMapService.saveBatch(customerMapList);
189
                 iTaCustomerMapService.saveBatch(customerMapList);
185
             }
190
             }
186
 
191
 
187
-            String remark = taCustomer.getRemark();
188
-            TaCustomer origin = iTaCustomerService.getById(id);
189
-            String originRemark = origin.getRemark();
190
-            if (null != remark && !"".equals(remark.trim())) {
191
-                originRemark = (null == originRemark || "".equals(originRemark)) ? "" : originRemark + "\n\n";
192
-                remark = originRemark + "---" + DateUtils.cutSecond(LocalDateTime.now())+ "---" + "\n" + remark;
193
-                taCustomer.setRemark(remark);
194
-            } else {
195
-                taCustomer.setRemark(originRemark);
196
-            }
192
+//            String remark = taCustomer.getRemark();
193
+//            TaCustomer origin = iTaCustomerService.getById(id);
194
+//            String originRemark = origin.getRemark();
195
+//            if (null != remark && !"".equals(remark.trim())) {
196
+//                originRemark = (null == originRemark || "".equals(originRemark)) ? "" : originRemark + "\n\n";
197
+//                remark = originRemark + "---" + DateUtils.cutSecond(LocalDateTime.now())+ "---" + "\n" + remark;
198
+//                taCustomer.setRemark(remark);
199
+//            } else {
200
+//                taCustomer.setRemark(originRemark);
201
+//            }
197
 
202
 
203
+            iTaMainUsherRecordService.updateByCustomer(taCustomer, follows, JWTUtils.getSubject(request));
204
+
205
+            taCustomer.setRemark(null);
198
             if (iTaCustomerService.updateById(taCustomer)){
206
             if (iTaCustomerService.updateById(taCustomer)){
199
 
207
 
200
                 // 反更新人员
208
                 // 反更新人员
222
     public ResponseBean get(@PathVariable Integer id){
230
     public ResponseBean get(@PathVariable Integer id){
223
         ResponseBean responseBean = new ResponseBean();
231
         ResponseBean responseBean = new ResponseBean();
224
         try {
232
         try {
225
-            TaCustomer cust = iTaCustomerService.getById(id);
233
+            TaCustomer cust = iTaCustomerService.getWithLastVisit(id);
226
             if (cust == null) {
234
             if (cust == null) {
227
                 responseBean.addError("未找到客户信息");
235
                 responseBean.addError("未找到客户信息");
228
                 return responseBean;
236
                 return responseBean;
248
         return ResponseBean.success(iTaCustomerService.getHistoryRecBy(filters));
256
         return ResponseBean.success(iTaCustomerService.getHistoryRecBy(filters));
249
     }
257
     }
250
 
258
 
259
+
251
     /**
260
     /**
252
      * 分页查询
261
      * 分页查询
253
      */
262
      */

+ 2
- 0
src/main/java/com.huiju.welcome/model/TaMainUsherRecord.java 查看文件

69
 
69
 
70
     private String purpose;
70
     private String purpose;
71
 
71
 
72
+    private String remark;
73
+
72
     @TableField(exist = false)
74
     @TableField(exist = false)
73
     private List<TaFollowupRecord> follows;
75
     private List<TaFollowupRecord> follows;
74
 
76
 

+ 4
- 0
src/main/java/com.huiju.welcome/service/ITaCustomerService.java 查看文件

38
     TaCustomer getSameByPerson(Integer personId);
38
     TaCustomer getSameByPerson(Integer personId);
39
 
39
 
40
     boolean updataByCarRecord(TaCustomer taCustomer, TaCarRecord taCarRecord);
40
     boolean updataByCarRecord(TaCustomer taCustomer, TaCarRecord taCarRecord);
41
+
42
+    TaCustomer getByPhoneOrPlate(String phone, String plateNumber);
43
+
44
+    TaCustomer getWithLastVisit(Integer id);
41
 }
45
 }

+ 3
- 0
src/main/java/com.huiju.welcome/service/ITaFollowupRecordService.java 查看文件

3
 import com.baomidou.mybatisplus.extension.service.IService;
3
 import com.baomidou.mybatisplus.extension.service.IService;
4
 import com.huiju.welcome.model.TaFollowupRecord;
4
 import com.huiju.welcome.model.TaFollowupRecord;
5
 
5
 
6
+import java.util.List;
7
+
6
 /**
8
 /**
7
  * <p>
9
  * <p>
8
  *  服务类
10
  *  服务类
13
  */
15
  */
14
 public interface ITaFollowupRecordService extends IService<TaFollowupRecord> {
16
 public interface ITaFollowupRecordService extends IService<TaFollowupRecord> {
15
 
17
 
18
+    List<TaFollowupRecord> getByMainRecord(Integer recId);
16
 }
19
 }

+ 6
- 1
src/main/java/com.huiju.welcome/service/ITaMainUsherRecordService.java 查看文件

1
 package com.huiju.welcome.service;
1
 package com.huiju.welcome.service;
2
 
2
 
3
+import com.alibaba.fastjson.JSONArray;
3
 import com.baomidou.mybatisplus.core.metadata.IPage;
4
 import com.baomidou.mybatisplus.core.metadata.IPage;
4
 import com.baomidou.mybatisplus.extension.service.IService;
5
 import com.baomidou.mybatisplus.extension.service.IService;
5
 import com.huiju.welcome.common.base.ResponseBean;
6
 import com.huiju.welcome.common.base.ResponseBean;
25
 
26
 
26
     boolean newRecordByDeviceDeprecated(TaCustomer taCustomer, TaPerson taPerson);
27
     boolean newRecordByDeviceDeprecated(TaCustomer taCustomer, TaPerson taPerson);
27
 
28
 
28
-    boolean newRecordByConsultant(TaCustomer taCustomer);
29
+    boolean newRecordByConsultant(TaCustomer taCustomer, JSONArray follows);
29
     IPage<TaMainUsherRecord> taMainUsherRecordList(IPage<TaMainUsherRecord> pg,String phone,String platNumber,String personName,Integer appointment);
30
     IPage<TaMainUsherRecord> taMainUsherRecordList(IPage<TaMainUsherRecord> pg,String phone,String platNumber,String personName,Integer appointment);
30
 
31
 
31
     /**
32
     /**
41
     boolean deleteRecord(Integer id);
42
     boolean deleteRecord(Integer id);
42
 
43
 
43
     boolean newRecordByDevice(TaPerson taPerson, TaCustomer taCustomer);
44
     boolean newRecordByDevice(TaPerson taPerson, TaCustomer taCustomer);
45
+
46
+    boolean updateByCustomer(TaCustomer taCustomer, JSONArray follows, String userId);
47
+
48
+    TaMainUsherRecord getTodayRecord(Integer customerId);
44
 }
49
 }

+ 3
- 2
src/main/java/com.huiju.welcome/service/impl/TaCarRecordServiceImpl.java 查看文件

119
                     taCarRecord.setCustomerName(appointments.get(0).getPersonName());
119
                     taCarRecord.setCustomerName(appointments.get(0).getPersonName());
120
                     taCarRecord.setPersonNum(appointments.get(0).getPersonNum());
120
                     taCarRecord.setPersonNum(appointments.get(0).getPersonNum());
121
                 } else {
121
                 } else {
122
-                    taCustomer = iTaCustomerService.newCustByCarDevice(taCarRecord);
122
+                    // 只有有预约才新建客户
123
+//                    taCustomer = iTaCustomerService.newCustByCarDevice(taCarRecord);
123
                 }
124
                 }
124
             }
125
             }
125
         } else {
126
         } else {
136
         iTaFirstUsherRecordService.notifyMiniapp(taFirstUsherRecord);
137
         iTaFirstUsherRecordService.notifyMiniapp(taFirstUsherRecord);
137
 
138
 
138
         // 如果客户有固定置业, 推送消息给置业
139
         // 如果客户有固定置业, 推送消息给置业
139
-        if (null != taCustomer.getConsultantId()) {
140
+        if (null != taCustomer && null != taCustomer.getConsultantId()) {
140
             try {
141
             try {
141
                 iTaCustomerService.notifyConsultant(taCustomer);
142
                 iTaCustomerService.notifyConsultant(taCustomer);
142
             } catch (Exception e) {
143
             } catch (Exception e) {

+ 36
- 0
src/main/java/com.huiju.welcome/service/impl/TaCustomerServiceImpl.java 查看文件

52
     @Autowired
52
     @Autowired
53
     ITaVisitorAppointmentService iTaVisitorAppointmentService;
53
     ITaVisitorAppointmentService iTaVisitorAppointmentService;
54
 
54
 
55
+    @Autowired
56
+    ITaFollowupRecordService iTaFollowupRecordService;
57
+
55
     @Autowired
58
     @Autowired
56
     TaWechatUserMapper taWechatUserMapper;
59
     TaWechatUserMapper taWechatUserMapper;
57
 
60
 
249
             result.put("consultantId", custs.get(0).getConsultantId());
252
             result.put("consultantId", custs.get(0).getConsultantId());
250
             result.put("consultantName", custs.get(0).getRealtyConsultant());
253
             result.put("consultantName", custs.get(0).getRealtyConsultant());
251
             result.put("purpose", custs.get(0).getPurpose());
254
             result.put("purpose", custs.get(0).getPurpose());
255
+            result.put("sex", custs.get(0).getSex());
252
             result.put("plateNumber", custs.get(0).getPlateNumber());
256
             result.put("plateNumber", custs.get(0).getPlateNumber());
253
         }
257
         }
254
 
258
 
277
         return true;
281
         return true;
278
     }
282
     }
279
 
283
 
284
+    @Override
285
+    public TaCustomer getByPhoneOrPlate(String phone, String plateNumber) {
286
+        QueryWrapper<TaCustomer> queryWrapper = new QueryWrapper<>();
287
+        queryWrapper.eq(phone != null,"phone", phone).or().eq(plateNumber != null, "plate_number", plateNumber);
288
+        queryWrapper.eq(null == phone || null == plateNumber, "customer_id", -1); // 故意设置一个查询不到数据的条件
289
+        queryWrapper.orderByDesc("status");
290
+        queryWrapper.orderByDesc("create_date");
291
+        queryWrapper.last("limit 1");
292
+
293
+        return taCustomerMapper.selectOne(queryWrapper);
294
+    }
295
+
296
+    @Override
297
+    public TaCustomer getWithLastVisit(Integer id) {
298
+        TaCustomer taCustomer = taCustomerMapper.selectById(id);
299
+        if (null == taCustomer) return null;
300
+
301
+        TaMainUsherRecord taMainUsherRecord = iTaMainUsherRecordService.getTodayRecord(taCustomer.getCustomerId());
302
+        if (null != taMainUsherRecord) {
303
+            List<TaFollowupRecord> follows = iTaFollowupRecordService.getByMainRecord(taMainUsherRecord.getRecId());
304
+
305
+            if (null != follows && follows.size() > 0) {
306
+                Map<String, Object> lastVisit = new HashMap<String, Object>(){{
307
+                    put("follows", follows);
308
+                }};
309
+                taCustomer.setLastVisit(lastVisit);
310
+            }
311
+        }
312
+
313
+        return taCustomer;
314
+    }
315
+
280
     private TaCustomer newCustomerByPerson(TaPerson taPerson) throws Exception {
316
     private TaCustomer newCustomerByPerson(TaPerson taPerson) throws Exception {
281
         TaCustomer taCustomer = new TaCustomer();
317
         TaCustomer taCustomer = new TaCustomer();
282
         taCustomer.setCustomerId(taPerson.getRealId());
318
         taCustomer.setCustomerId(taPerson.getRealId());

+ 11
- 0
src/main/java/com.huiju.welcome/service/impl/TaFollowupRecordServiceImpl.java 查看文件

1
 package com.huiju.welcome.service.impl;
1
 package com.huiju.welcome.service.impl;
2
 
2
 
3
 import com.alibaba.fastjson.JSONArray;
3
 import com.alibaba.fastjson.JSONArray;
4
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
4
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
5
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
5
 import com.huiju.welcome.mapper.TaFollowupRecordMapper;
6
 import com.huiju.welcome.mapper.TaFollowupRecordMapper;
6
 import com.huiju.welcome.model.TaFollowupRecord;
7
 import com.huiju.welcome.model.TaFollowupRecord;
8
 import org.springframework.beans.factory.annotation.Autowired;
9
 import org.springframework.beans.factory.annotation.Autowired;
9
 import org.springframework.stereotype.Service;
10
 import org.springframework.stereotype.Service;
10
 
11
 
12
+import java.util.List;
13
+
11
 /**
14
 /**
12
  * <p>
15
  * <p>
13
  *  服务实现类
16
  *  服务实现类
20
 public class TaFollowupRecordServiceImpl extends ServiceImpl<TaFollowupRecordMapper, TaFollowupRecord> implements ITaFollowupRecordService {
23
 public class TaFollowupRecordServiceImpl extends ServiceImpl<TaFollowupRecordMapper, TaFollowupRecord> implements ITaFollowupRecordService {
21
     @Autowired
24
     @Autowired
22
     TaFollowupRecordMapper taFollowupRecordMapper;
25
     TaFollowupRecordMapper taFollowupRecordMapper;
26
+
27
+    @Override
28
+    public List<TaFollowupRecord> getByMainRecord(Integer recId) {
29
+        QueryWrapper<TaFollowupRecord> queryWrapper = new QueryWrapper<>();
30
+        queryWrapper.eq("rec_id", recId);
31
+
32
+        return taFollowupRecordMapper.selectList(queryWrapper);
33
+    }
23
 }
34
 }

+ 119
- 19
src/main/java/com.huiju.welcome/service/impl/TaMainUsherRecordServiceImpl.java 查看文件

1
 package com.huiju.welcome.service.impl;
1
 package com.huiju.welcome.service.impl;
2
 
2
 
3
+import com.alibaba.fastjson.JSONArray;
3
 import com.alibaba.fastjson.JSONObject;
4
 import com.alibaba.fastjson.JSONObject;
4
 import com.alibaba.fastjson.serializer.SerializerFeature;
5
 import com.alibaba.fastjson.serializer.SerializerFeature;
6
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
5
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
7
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
6
 import com.baomidou.mybatisplus.core.metadata.IPage;
8
 import com.baomidou.mybatisplus.core.metadata.IPage;
7
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
9
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
8
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
10
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
9
 import com.huiju.welcome.common.Action;
11
 import com.huiju.welcome.common.Action;
10
 import com.huiju.welcome.common.WebSocketServer;
12
 import com.huiju.welcome.common.WebSocketServer;
11
-import com.huiju.welcome.mapper.SysUserMapper;
12
-import com.huiju.welcome.mapper.TaMainUsherRecordMapper;
13
-import com.huiju.welcome.mapper.TaVisitorAppointmentMapper;
14
-import com.huiju.welcome.mapper.TaWechatUserMapper;
13
+import com.huiju.welcome.mapper.*;
15
 import com.huiju.welcome.model.*;
14
 import com.huiju.welcome.model.*;
16
 import com.huiju.welcome.common.base.ResponseBean;
15
 import com.huiju.welcome.common.base.ResponseBean;
17
-import com.huiju.welcome.mapper.TaCustomerMapper;
18
 import com.huiju.welcome.model.TaCustomer;
16
 import com.huiju.welcome.model.TaCustomer;
19
 import com.huiju.welcome.model.TaMainUsherRecord;
17
 import com.huiju.welcome.model.TaMainUsherRecord;
20
 import com.huiju.welcome.service.ITaCustomerService;
18
 import com.huiju.welcome.service.ITaCustomerService;
21
 import com.huiju.welcome.service.ITaMainUsherRecordService;
19
 import com.huiju.welcome.service.ITaMainUsherRecordService;
22
 import com.huiju.welcome.service.ITaPersonService;
20
 import com.huiju.welcome.service.ITaPersonService;
23
-import com.huiju.welcome.utils.CommConstant;
24
-import com.huiju.welcome.utils.MiniApp;
25
-import com.huiju.welcome.utils.StatusUtils;
26
-import com.huiju.welcome.utils.StringUtils;
21
+import com.huiju.welcome.service.ITaWechatUserService;
22
+import com.huiju.welcome.utils.*;
23
+import lombok.extern.slf4j.Slf4j;
27
 import org.springframework.beans.factory.annotation.Autowired;
24
 import org.springframework.beans.factory.annotation.Autowired;
28
 import org.springframework.stereotype.Service;
25
 import org.springframework.stereotype.Service;
29
 
26
 
39
  * @author jobob
36
  * @author jobob
40
  * @since 2019-06-04
37
  * @since 2019-06-04
41
  */
38
  */
39
+@Slf4j
42
 @Service
40
 @Service
43
 public class TaMainUsherRecordServiceImpl extends ServiceImpl<TaMainUsherRecordMapper, TaMainUsherRecord> implements ITaMainUsherRecordService {
41
 public class TaMainUsherRecordServiceImpl extends ServiceImpl<TaMainUsherRecordMapper, TaMainUsherRecord> implements ITaMainUsherRecordService {
44
     @Autowired
42
     @Autowired
50
     @Autowired
48
     @Autowired
51
     TaVisitorAppointmentMapper taVisitorAppointmentMapper;
49
     TaVisitorAppointmentMapper taVisitorAppointmentMapper;
52
 
50
 
51
+    @Autowired
52
+    TaFollowupRecordMapper taFollowupRecordMapper;
53
+
53
     @Autowired
54
     @Autowired
54
     TaWechatUserMapper taWechatUserMapper;
55
     TaWechatUserMapper taWechatUserMapper;
55
 
56
 
84
 
85
 
85
     @Override
86
     @Override
86
     public boolean newRecordByDeviceDeprecated(TaCustomer taCustomer, TaPerson taPerson) {
87
     public boolean newRecordByDeviceDeprecated(TaCustomer taCustomer, TaPerson taPerson) {
87
-        TaMainUsherRecord taMainUsherRecord = newRecordByCust(taCustomer);
88
+        TaMainUsherRecord taMainUsherRecord = newRecordByCust(taCustomer, null);
88
         taMainUsherRecord.setStatus(StatusUtils.Ready);
89
         taMainUsherRecord.setStatus(StatusUtils.Ready);
89
         taMainUsherRecord.setPersonId(taPerson.getRealId());
90
         taMainUsherRecord.setPersonId(taPerson.getRealId());
90
         int row = taMainUsherRecordMapper.insert(taMainUsherRecord);
91
         int row = taMainUsherRecordMapper.insert(taMainUsherRecord);
105
     }
106
     }
106
 
107
 
107
     @Override
108
     @Override
108
-    public boolean newRecordByConsultant(TaCustomer taCustomer) {
109
-        TaMainUsherRecord taMainUsherRecord = newRecordByCust(taCustomer);
109
+    public boolean newRecordByConsultant(TaCustomer taCustomer, JSONArray follows) {
110
+        TaMainUsherRecord taMainUsherRecord = newRecordByCust(taCustomer, null);
111
+        taMainUsherRecord.setCustomerId(taCustomer.getCustomerId());
110
         int row = taMainUsherRecordMapper.insert(taMainUsherRecord);
112
         int row = taMainUsherRecordMapper.insert(taMainUsherRecord);
111
 
113
 
114
+        insertFollows(follows, taMainUsherRecord);
115
+
112
         return row > 0;
116
         return row > 0;
113
     }
117
     }
114
 
118
 
115
-    private TaMainUsherRecord newRecordByCust(TaCustomer taCustomer) {
119
+    private boolean insertFollows(JSONArray follows, TaMainUsherRecord taMainUsherRecord) {
120
+        if (null != follows && follows.size() > 0) {
121
+            for (int i = 0; i < follows.size(); i ++) {
122
+                TaFollowupRecord rec = new TaFollowupRecord();
123
+                rec.setRecId(taMainUsherRecord.getRecId());
124
+                rec.setPersonId(follows.getJSONObject(i).getInteger("personId"));
125
+                rec.setAvatar(follows.getJSONObject(i).getString("avatar"));
126
+                taFollowupRecordMapper.insert(rec);
127
+            }
128
+        }
129
+
130
+        return true;
131
+    }
132
+
133
+    private TaMainUsherRecord newRecordByCust(TaCustomer taCustomer, SysUser user) {
116
         TaMainUsherRecord taMainUsherRecord = new TaMainUsherRecord();
134
         TaMainUsherRecord taMainUsherRecord = new TaMainUsherRecord();
117
         taMainUsherRecord.setCustomerId(taCustomer.getCustomerId());
135
         taMainUsherRecord.setCustomerId(taCustomer.getCustomerId());
136
+        taMainUsherRecord.setPersonId(taCustomer.getCustomerId());
118
         taMainUsherRecord.setPersonName(taCustomer.getCustomerName());
137
         taMainUsherRecord.setPersonName(taCustomer.getCustomerName());
119
         taMainUsherRecord.setAvatar(taCustomer.getAvatar());
138
         taMainUsherRecord.setAvatar(taCustomer.getAvatar());
120
         taMainUsherRecord.setPhone(taCustomer.getPhone());
139
         taMainUsherRecord.setPhone(taCustomer.getPhone());
121
         taMainUsherRecord.setAppointment(taCustomer.getApointment());
140
         taMainUsherRecord.setAppointment(taCustomer.getApointment());
122
-        taMainUsherRecord.setConsultantId(taCustomer.getConsultantId());
123
         taMainUsherRecord.setChannel(taCustomer.getChannel());
141
         taMainUsherRecord.setChannel(taCustomer.getChannel());
124
         taMainUsherRecord.setPurpose(taCustomer.getPurpose());
142
         taMainUsherRecord.setPurpose(taCustomer.getPurpose());
125
         taMainUsherRecord.setPlateNumber(taCustomer.getPlateNumber());
143
         taMainUsherRecord.setPlateNumber(taCustomer.getPlateNumber());
126
         taMainUsherRecord.setVisiteDate(LocalDateTime.now());
144
         taMainUsherRecord.setVisiteDate(LocalDateTime.now());
145
+        taMainUsherRecord.setRemark(taCustomer.getRemark());
146
+
147
+        if (null != user) {
148
+            taMainUsherRecord.setConsultantId(user.getUserId());
149
+            taMainUsherRecord.setRealtyConsultant(user.getUsername());
150
+        } else {
151
+            taMainUsherRecord.setConsultantId(taCustomer.getConsultantId());
152
+            taMainUsherRecord.setRealtyConsultant(taCustomer.getRealtyConsultant());
153
+        }
127
 
154
 
128
         if (StringUtils.isEmpty(taCustomer.getPhone())) {
155
         if (StringUtils.isEmpty(taCustomer.getPhone())) {
129
             taMainUsherRecord.setStatus(StatusUtils.Ready);
156
             taMainUsherRecord.setStatus(StatusUtils.Ready);
238
 
265
 
239
         // 是否更新了置业
266
         // 是否更新了置业
240
         TaCustomer taCustomer = null;
267
         TaCustomer taCustomer = null;
241
-        if (null == taMainUsherRecord.getCustomerId()) {
242
-            taCustomer = iTaCustomerService.newCustByMainUsher(taMainUsherRecord);
243
-        } else {
244
-            taCustomer = iTaCustomerService.getById(taMainUsherRecord.getCustomerId());
268
+        // 尝试使用手机号去查找
269
+        if (null != taMainUsherRecord.getPhone() || null != taMainUsherRecord.getPlateNumber()) {
270
+            taCustomer = iTaCustomerService.getByPhoneOrPlate(taMainUsherRecord.getPhone(), taMainUsherRecord.getPlateNumber());
271
+        }
272
+
273
+        if (null == taCustomer) {
274
+            if (null == taMainUsherRecord.getCustomerId()) {
275
+                taCustomer = iTaCustomerService.newCustByMainUsher(taMainUsherRecord);
276
+            } else {
277
+                taCustomer = iTaCustomerService.getById(taMainUsherRecord.getCustomerId());
278
+            }
245
         }
279
         }
246
 
280
 
247
         Integer originConsultant = taCustomer.getConsultantId();
281
         Integer originConsultant = taCustomer.getConsultantId();
248
 
282
 
249
         // 是否需要更新客户信息
283
         // 是否需要更新客户信息
284
+        // 只更新空内容
250
         if (StringUtils.isEmpty(taCustomer.getCustomerName()) || StringUtils.isEmpty(taCustomer.getPhone())) {
285
         if (StringUtils.isEmpty(taCustomer.getCustomerName()) || StringUtils.isEmpty(taCustomer.getPhone())) {
251
             if (StringUtils.isEmpty(taCustomer.getCustomerName())) {
286
             if (StringUtils.isEmpty(taCustomer.getCustomerName())) {
252
                 taCustomer.setCustomerName(taMainUsherRecord.getPersonName());
287
                 taCustomer.setCustomerName(taMainUsherRecord.getPersonName());
256
                 taCustomer.setPhone(taMainUsherRecord.getPhone());
291
                 taCustomer.setPhone(taMainUsherRecord.getPhone());
257
             }
292
             }
258
 
293
 
294
+            if (null == taCustomer.getSex()) {
295
+                taCustomer.setSex(taMainUsherRecord.getSex());
296
+            }
297
+
298
+            if (StringUtils.isEmpty(taCustomer.getAvatar())) {
299
+                taCustomer.setAvatar(taMainUsherRecord.getAvatar());
300
+            }
301
+
302
+            if (StringUtils.isEmpty(taCustomer.getPlateNumber())) {
303
+                taCustomer.setPlateNumber(taMainUsherRecord.getPlateNumber());
304
+            }
305
+
306
+            if (StringUtils.isEmpty(taCustomer.getCarModel())) {
307
+                taCustomer.setCarModel(taMainUsherRecord.getCarModel());
308
+            }
309
+
259
             iTaCustomerService.updateById(taCustomer);
310
             iTaCustomerService.updateById(taCustomer);
260
         }
311
         }
261
 
312
 
321
     public boolean newRecordByDevice(TaPerson taPerson, TaCustomer taCustomer) {
372
     public boolean newRecordByDevice(TaPerson taPerson, TaCustomer taCustomer) {
322
         TaMainUsherRecord taMainUsherRecord = null;
373
         TaMainUsherRecord taMainUsherRecord = null;
323
         if (null != taCustomer) {
374
         if (null != taCustomer) {
324
-            taMainUsherRecord = newRecordByCust(taCustomer);
375
+            taMainUsherRecord = newRecordByCust(taCustomer, null);
325
         } else {
376
         } else {
326
             taMainUsherRecord = newRecordByPerson(taPerson);
377
             taMainUsherRecord = newRecordByPerson(taPerson);
327
         }
378
         }
338
         return row > 0;
389
         return row > 0;
339
     }
390
     }
340
 
391
 
392
+    @Override
393
+    public boolean updateByCustomer(TaCustomer taCustomer, JSONArray follows, String userId) {
394
+        TaMainUsherRecord taMainUsherRecord = getTodayRecord(taCustomer.getCustomerId());
395
+
396
+        if (null == taMainUsherRecord) {
397
+            Integer personId = taWechatUserMapper.selectById(userId).getPersonId();
398
+            taMainUsherRecord = newRecordByCust(taCustomer, sysUserMapper.selectById(personId));
399
+
400
+            int row = taMainUsherRecordMapper.insert(taMainUsherRecord);
401
+            if (row < 1) {
402
+                log.error("新增跟进记录失败");
403
+                return false;
404
+            }
405
+        } else {
406
+            String remark = taMainUsherRecord.getRemark();
407
+
408
+            if (null == remark) {
409
+                remark = taCustomer.getRemark();
410
+            } else {
411
+                remark += "\n\n---" + DateUtils.cutSecond(LocalDateTime.now())+ "---" + "\n" + taCustomer.getRemark();
412
+            }
413
+            taMainUsherRecord.setRemark(remark);
414
+
415
+            int row = taMainUsherRecordMapper.updateById(taMainUsherRecord);
416
+            if (row < 1) {
417
+                log.error("更新跟进记录失败");
418
+                return false;
419
+            }
420
+        }
421
+
422
+        insertFollows(follows, taMainUsherRecord);
423
+
424
+        return true;
425
+    }
426
+
427
+    @Override
428
+    public TaMainUsherRecord getTodayRecord(Integer customerId) {
429
+        LocalDateTime now = LocalDateTime.now();
430
+        String today = DateUtils.localDatetime2day(now);
431
+
432
+        QueryWrapper<TaMainUsherRecord> queryWrapper = new QueryWrapper<>();
433
+        queryWrapper.gt("visite_date", today);
434
+        queryWrapper.eq("customer_id", customerId);
435
+        queryWrapper.orderByDesc("visite_date");
436
+        queryWrapper.last("limit 1");
437
+
438
+        return taMainUsherRecordMapper.selectOne(queryWrapper);
439
+    }
440
+
341
     private TaMainUsherRecord newRecordByPerson(TaPerson taPerson) {
441
     private TaMainUsherRecord newRecordByPerson(TaPerson taPerson) {
342
         TaMainUsherRecord taMainUsherRecord = new TaMainUsherRecord();
442
         TaMainUsherRecord taMainUsherRecord = new TaMainUsherRecord();
343
         taMainUsherRecord.setPersonName(taPerson.getName());
443
         taMainUsherRecord.setPersonName(taPerson.getName());