Commit 7d61f114c9d48735e7ca4a7c26bccb7d6e2b8c86
1 parent
1f0913bc
查询功能修改;
处理可能出现的bug; 添加接口文档;
Showing
3 changed files
with
469 additions
and
6 deletions
Linux服务器监听运维功能.md
0 → 100644
1 | +# 1. 基础资源占用 | ||
2 | + | ||
3 | +## 1.1 获取指定module的输出 | ||
4 | + | ||
5 | +| 调用方式 | 接口地址 | | ||
6 | +| ------------ | :-------------------------------------------------------- | | ||
7 | +| POST | http://ip:port/occupationOfBasicResources/getInfoByModule | | ||
8 | +| Content-Type | application/json;charset=UTF-8 | | ||
9 | + | ||
10 | +| 请求参数 | | | | | | ||
11 | +| ----------- | ------------ | ------ | ---- | ------------------------------------- | | ||
12 | +| 参数项 | 名称 | 类型 | 必选 | 描述 | | ||
13 | +| module | 功能编码 | string | 是 | | | ||
14 | +``` | ||
15 | +请求示例 | ||
16 | +{ | ||
17 | + "module": "disk_partitions" | ||
18 | +} | ||
19 | +``` | ||
20 | + | ||
21 | +| 返回结果 | | | | | ||
22 | +| -------- | -------- | ------ | -------------------------------------- | | ||
23 | +| 参数项 | 名称 | 类型 | 描述 | | ||
24 | +| code | 响应码 | int | 200为操作成功,其他code表示失败 | | ||
25 | +| message | 提示信息 | string | 返回提示信息 | | ||
26 | +| data | 返回信息 | string | 200,返回操作成功;其他code对应失败信息 | | ||
27 | + | ||
28 | +``` | ||
29 | +响应示例 | ||
30 | +{ | ||
31 | + "code": 200, | ||
32 | + "message": "操作成功", | ||
33 | + "data": []// 对应module返回内容信息 | ||
34 | +} | ||
35 | +``` | ||
36 | + | ||
37 | +## 1.2 jar包发布 | ||
38 | + | ||
39 | +| 调用方式 | 接口地址 | | ||
40 | +| ------------ | :------------------------------------------------------ | | ||
41 | +| POST | http://ip:port/occupationOfBasicResources/deployJarFile | | ||
42 | +| Content-Type | application/json;charset=UTF-8 | | ||
43 | + | ||
44 | +| 请求参数 | | | | | | ||
45 | +| -------- | ------------- | ------ | ---- | -------------------------------------------- | | ||
46 | +| 参数项 | 名称 | 类型 | 必选 | 描述 | | ||
47 | +| filePath | jar包保存位置 | string | 是 | jar包保存位置 | | ||
48 | +| logPath | 日志输出位置 | string | 否 | 默认jar包相同位置名称和jar包文件名相同 | | ||
49 | +| user | 用户信息 | string | 否 | 用户信息(权限用, 默认-1, 表示超级管理员权限) | | ||
50 | + | ||
51 | +``` | ||
52 | +请求示例 | ||
53 | +{ | ||
54 | + "filePath": "/home/liuhaoyu/linuxTest/linuxTest-1.0-SNAPSHOT.jar" | ||
55 | +} | ||
56 | +``` | ||
57 | + | ||
58 | +| 返回结果 | | | | | ||
59 | +| -------- | -------- | ------ | ------------------------------- | | ||
60 | +| 参数项 | 名称 | 类型 | 描述 | | ||
61 | +| code | 响应码 | int | 200为操作成功,其他code表示失败 | | ||
62 | +| message | 提示信息 | string | 返回提示信息 | | ||
63 | +| data | 返回信息 | string | 发布包对应的进程id | | ||
64 | + | ||
65 | +``` | ||
66 | +响应示例 | ||
67 | +{ | ||
68 | + "code": 200, | ||
69 | + "message": "操作成功", | ||
70 | + "data": { | ||
71 | + "taskId" : "12390" | ||
72 | + } | ||
73 | +} | ||
74 | +``` | ||
75 | + | ||
76 | +## 1.3 获取当前进行中的java服务 | ||
77 | + | ||
78 | +| 调用方式 | 接口地址 | | ||
79 | +| ------------ | :-------------------------------------------------------- | | ||
80 | +| POST | http://ip:port/occupationOfBasicResources/getJpsInfo | | ||
81 | +| Content-Type | application/json;charset=UTF-8 | | ||
82 | + | ||
83 | +| 返回结果 | | | | | ||
84 | +| -------- | -------- | -------- | ------------------------------- | | ||
85 | +| 参数项 | 名称 | 类型 | 描述 | | ||
86 | +| code | 响应码 | int | 200为操作成功,其他code表示失败 | | ||
87 | +| message | 提示信息 | string | 返回提示信息 | | ||
88 | +| data | 返回信息 | string | | | ||
89 | +| +process | 线程信息 | string[] | 对应的进程信息 | | ||
90 | + | ||
91 | +``` | ||
92 | +响应示例 | ||
93 | +{ | ||
94 | + "code": 200, | ||
95 | + "message": "操作成功", | ||
96 | + "data": { | ||
97 | + "process": [ | ||
98 | + "39921 Jps", | ||
99 | + "39864 linuxListener-0.0.1-SNAPSHOT.jar" | ||
100 | + ] | ||
101 | + } | ||
102 | +} | ||
103 | +``` | ||
104 | + | ||
105 | +## 1.4 停止jar包进程 | ||
106 | + | ||
107 | +| 调用方式 | 接口地址 | | ||
108 | +| ------------ | :---------------------------------------------------- | | ||
109 | +| POST | http://ip:port/occupationOfBasicResources/killJarTask | | ||
110 | +| Content-Type | application/json;charset=UTF-8 | | ||
111 | + | ||
112 | +| 请求参数 | | | | | | ||
113 | +| -------- | -------- | ------ | ---- | ---------------------- | | ||
114 | +| 参数项 | 名称 | 类型 | 必选 | 描述 | | ||
115 | +| taskId | 进程号 | string | 是 | 需要停止的进程号 | | ||
116 | +| user | 用户信息 | string | 是 | 用户信息(做权限控制用) | | ||
117 | + | ||
118 | +``` | ||
119 | +请求示例 | ||
120 | +{ | ||
121 | + "user": "-1", | ||
122 | + "taskId": "37527" | ||
123 | +} | ||
124 | +``` | ||
125 | + | ||
126 | +| 返回结果 | | | | | ||
127 | +| -------- | -------- | ------ | --------------------------------- | | ||
128 | +| 参数项 | 名称 | 类型 | 描述 | | ||
129 | +| code | 响应码 | int | 200为操作成功,其他code表示失败 | | ||
130 | +| message | 提示信息 | string | 200为操作成功, 其他为对应错误信息 | | ||
131 | +| data | 返回信息 | | | | ||
132 | + | ||
133 | +``` | ||
134 | +响应示例 | ||
135 | +{ | ||
136 | + "code": 200, | ||
137 | + "message": "操作成功", | ||
138 | + "data": {} | ||
139 | +} | ||
140 | +``` | ||
141 | + | ||
142 | + | ||
143 | + | ||
144 | +# 2. 日志监控 | ||
145 | + | ||
146 | +## 2.1 设置log文件所在位置信息 | ||
147 | + | ||
148 | +| 调用方式 | 接口地址 | | ||
149 | +| ------------ | :----------------------------------- | | ||
150 | +| POST | http://ip:port/logListener/setLogMsg | | ||
151 | +| Content-Type | application/json;charset=UTF-8 | | ||
152 | + | ||
153 | +| 请求参数 | | | | | | ||
154 | +| -------- | ---------------- | ------ | ---- | ---------------- | | ||
155 | +| 参数项 | 名称 | 类型 | 必选 | 描述 | | ||
156 | +| filePath | 日志文件存在位置 | string | 是 | 日志文件存在位置 | | ||
157 | + | ||
158 | +``` | ||
159 | +请求示例 | ||
160 | +{ | ||
161 | + "filePath": "/home/liuhaoyu/linuxTest.log" | ||
162 | +} | ||
163 | +``` | ||
164 | + | ||
165 | +| 返回结果 | | | | | ||
166 | +| -------- | ------------- | ------ | --------------------------------- | | ||
167 | +| 参数项 | 名称 | 类型 | 描述 | | ||
168 | +| code | 响应码 | int | 200为操作成功,其他code表示失败 | | ||
169 | +| message | 提示信息 | string | 200为操作成功, 其他为对应错误信息 | | ||
170 | +| data | 返回信息 | | | | ||
171 | +| +logKey | 监听用日志key | String | 监听用日志key | | ||
172 | + | ||
173 | +``` | ||
174 | +响应示例 | ||
175 | +{ | ||
176 | + "code": 200, | ||
177 | + "message": "操作成功", | ||
178 | + "data": { | ||
179 | + "logKey": "linuxTest-1.0-SNAPSHOT.log|1575596806840" | ||
180 | + } | ||
181 | +} | ||
182 | +``` | ||
183 | + | ||
184 | + | ||
185 | + | ||
186 | +## 2.2 开启日志监控输出 | ||
187 | + | ||
188 | +| 调用方式 | 接口地址 | | ||
189 | +| ------------ | :------------------------------------------ | | ||
190 | +| POST | http://ip:port/logListener/startLogListener | | ||
191 | +| Content-Type | application/json;charset=UTF-8 | | ||
192 | + | ||
193 | +| 请求参数 | | | | | | ||
194 | +| -------- | ------------- | ------ | ---- | ------------- | | ||
195 | +| 参数项 | 名称 | 类型 | 必选 | 描述 | | ||
196 | +| logKey | 监听用日志key | string | 是 | 监听用日志key | | ||
197 | + | ||
198 | +``` | ||
199 | +请求示例 | ||
200 | +{ | ||
201 | + "logKey": "linuxTest-1.0-SNAPSHOT.log|1575596806840" | ||
202 | +} | ||
203 | +``` | ||
204 | + | ||
205 | +| 返回结果 | | | | | ||
206 | +| -------- | -------- | ------ | --------------------------------- | | ||
207 | +| 参数项 | 名称 | 类型 | 描述 | | ||
208 | +| code | 响应码 | int | 200为操作成功,其他code表示失败 | | ||
209 | +| message | 提示信息 | string | 200为操作成功, 其他为对应错误信息 | | ||
210 | +| data | 返回信息 | | | | ||
211 | + | ||
212 | +``` | ||
213 | +响应示例 | ||
214 | +{ | ||
215 | + "code": 200, | ||
216 | + "message": "操作成功", | ||
217 | + "data": null | ||
218 | +} | ||
219 | +``` | ||
220 | + | ||
221 | + | ||
222 | + | ||
223 | +## 2.3 获取日志的输出内容 | ||
224 | + | ||
225 | +| 调用方式 | 接口地址 | | ||
226 | +| ------------ | :-------------------------------------- | | ||
227 | +| POST | http://ip:port/logListener/getLogOutput | | ||
228 | +| Content-Type | application/json;charset=UTF-8 | | ||
229 | + | ||
230 | +| 请求参数 | | | | | | ||
231 | +| -------- | ------------- | ------ | ---- | ------------- | | ||
232 | +| 参数项 | 名称 | 类型 | 必选 | 描述 | | ||
233 | +| logKey | 监听用日志key | string | 是 | 监听用日志key | | ||
234 | + | ||
235 | +``` | ||
236 | +请求示例 | ||
237 | +{ | ||
238 | + "logKey": "linuxTest-1.0-SNAPSHOT.log|1575596806840" | ||
239 | +} | ||
240 | +``` | ||
241 | + | ||
242 | +| 返回结果 | | | | | ||
243 | +| -------- | -------- | ------ | --------------------------------- | | ||
244 | +| 参数项 | 名称 | 类型 | 描述 | | ||
245 | +| code | 响应码 | int | 200为操作成功,其他code表示失败 | | ||
246 | +| message | 提示信息 | string | 200为操作成功, 其他为对应错误信息 | | ||
247 | +| data | 返回信息 | String | 时间段内日志的具体输出 | | ||
248 | + | ||
249 | +``` | ||
250 | +响应示例 | ||
251 | +{ | ||
252 | + "code": 200, | ||
253 | + "message": "操作成功", | ||
254 | + "data": "0\n****************swapUse*****************\n6810\n*****************memUse*****************\n执行命令[ cat /proc/meminfo]\n0\n****************swapUse*****************\n6808\n*****************memUse*****************\n执行命令[ cat /proc/meminfo]\n0\n****************swapUse*****************\n6806\n*****************memUse*****************\n执行命令[ cat /proc/meminfo]\n0\n****************swapUse*****************\n6804\n*****************memUse*****************\n执行命令[ cat /proc/meminfo]\n0\n****************swapUse*****************\n6799\n*****************memUse*****************\n执行命令[ cat /proc/meminfo]" | ||
255 | +} | ||
256 | +``` | ||
257 | + | ||
258 | + | ||
259 | + | ||
260 | +## 2.4 停止日志监控输出 | ||
261 | + | ||
262 | +| 调用方式 | 接口地址 | | ||
263 | +| ------------ | :----------------------------------------- | | ||
264 | +| POST | http://ip:port/logListener/stopLogListener | | ||
265 | +| Content-Type | application/json;charset=UTF-8 | | ||
266 | + | ||
267 | +| 请求参数 | | | | | | ||
268 | +| -------- | ------------- | ------ | ---- | ------------- | | ||
269 | +| 参数项 | 名称 | 类型 | 必选 | 描述 | | ||
270 | +| logKey | 监听用日志key | string | 是 | 监听用日志key | | ||
271 | + | ||
272 | +``` | ||
273 | +请求示例 | ||
274 | +{ | ||
275 | + "logKey": "linuxTest-1.0-SNAPSHOT.log|1575596806840" | ||
276 | +} | ||
277 | +``` | ||
278 | + | ||
279 | +| 返回结果 | | | | | ||
280 | +| -------- | -------- | ------ | --------------------------------- | | ||
281 | +| 参数项 | 名称 | 类型 | 描述 | | ||
282 | +| code | 响应码 | int | 200为操作成功,其他code表示失败 | | ||
283 | +| message | 提示信息 | string | 200为操作成功, 其他为对应错误信息 | | ||
284 | +| data | 返回信息 | | | | ||
285 | + | ||
286 | +``` | ||
287 | +响应示例 | ||
288 | +{ | ||
289 | + "code": 200, | ||
290 | + "message": "操作成功", | ||
291 | + "data": null | ||
292 | +} | ||
293 | +``` | ||
294 | + | ||
295 | + | ||
296 | +# 3. 监控器调度 | ||
297 | + | ||
298 | +## 3.1 获取正在生效的监控功能 | ||
299 | + | ||
300 | +| 调用方式 | 接口地址 | | ||
301 | +| ------------ | :----------------------------------------- | | ||
302 | +| POST | http://ip:port/background/getWorkingListener | | ||
303 | +| Content-Type | application/json;charset=UTF-8 | | ||
304 | + | ||
305 | + | ||
306 | +| 返回结果 | | | | | ||
307 | +| -------- | ---------------- | -------- | --------------------------------- | | ||
308 | +| 参数项 | 名称 | 类型 | 描述 | | ||
309 | +| code | 响应码 | int | 200为操作成功,其他code表示失败 | | ||
310 | +| message | 提示信息 | string | 200为操作成功, 其他为对应错误信息 | | ||
311 | +| data | 返回信息 | | | | ||
312 | +| +result | 生效中的监控功能 | String[] | 生效中的监控功能 | | ||
313 | + | ||
314 | +``` | ||
315 | +响应示例 | ||
316 | +{ | ||
317 | + "code": 200, | ||
318 | + "message": "操作成功", | ||
319 | + "data": { | ||
320 | + "result": [ | ||
321 | + "cpu_utilization", | ||
322 | + "memory_info" | ||
323 | + ] | ||
324 | + } | ||
325 | +} | ||
326 | +``` | ||
327 | + | ||
328 | + | ||
329 | + | ||
330 | +## 3.2 添加新的监控器 | ||
331 | + | ||
332 | +| 调用方式 | 接口地址 | | ||
333 | +| ------------ | :------------------------------------------- | | ||
334 | +| POST | http://ip:port/background/addWorkingListener | | ||
335 | +| Content-Type | application/json;charset=UTF-8 | | ||
336 | + | ||
337 | +| 请求参数 | | | | | | ||
338 | +| -------- | ------------------ | -------- | ---- | ------------------ | | ||
339 | +| 参数项 | 名称 | 类型 | 必选 | 描述 | | ||
340 | +| modules | 添加到监听的功能id | string[] | 是 | 添加到监听的功能id | | ||
341 | + | ||
342 | +``` | ||
343 | +请求示例 | ||
344 | +{ | ||
345 | + "modules": ["cpu_utilization", "memory_info"] | ||
346 | +} | ||
347 | +``` | ||
348 | + | ||
349 | + | ||
350 | +| 返回结果 | | | | | ||
351 | +| -------- | -------- | ------ | --------------------------------- | | ||
352 | +| 参数项 | 名称 | 类型 | 描述 | | ||
353 | +| code | 响应码 | int | 200为操作成功,其他code表示失败 | | ||
354 | +| message | 提示信息 | string | 200为操作成功, 其他为对应错误信息 | | ||
355 | +| data | 返回信息 | | | | ||
356 | + | ||
357 | +``` | ||
358 | +响应示例 | ||
359 | +{ | ||
360 | + "code": 200, | ||
361 | + "message": "操作成功", | ||
362 | + "data": {} | ||
363 | +} | ||
364 | +``` | ||
365 | + | ||
366 | + | ||
367 | + | ||
368 | +## 3.3 删除存在的监控器 | ||
369 | + | ||
370 | +| 调用方式 | 接口地址 | | ||
371 | +| ------------ | :---------------------------------------------- | | ||
372 | +| POST | http://ip:port/background/removeWorkingListener | | ||
373 | +| Content-Type | application/json;charset=UTF-8 | | ||
374 | + | ||
375 | +| 请求参数 | | | | | | ||
376 | +| -------- | ---------------- | -------- | ---- | ---------------- | | ||
377 | +| 参数项 | 名称 | 类型 | 必选 | 描述 | | ||
378 | +| modules | 停止监听的功能id | string[] | 是 | 停止监听的功能id | | ||
379 | + | ||
380 | +``` | ||
381 | +请求示例 | ||
382 | +{ | ||
383 | + "modules": ["cpu_utilization", "memory_info"] | ||
384 | +} | ||
385 | +``` | ||
386 | + | ||
387 | + | ||
388 | +| 返回结果 | | | | | ||
389 | +| -------- | -------- | ------ | --------------------------------- | | ||
390 | +| 参数项 | 名称 | 类型 | 描述 | | ||
391 | +| code | 响应码 | int | 200为操作成功,其他code表示失败 | | ||
392 | +| message | 提示信息 | string | 200为操作成功, 其他为对应错误信息 | | ||
393 | +| data | 返回信息 | | | | ||
394 | + | ||
395 | +``` | ||
396 | +响应示例 | ||
397 | +{ | ||
398 | + "code": 200, | ||
399 | + "message": "操作成功", | ||
400 | + "data": {} | ||
401 | +} | ||
402 | +``` | ||
403 | + | ||
404 | + | ||
405 | + | ||
406 | +## 3.4 获取module对应的内容 | ||
407 | + | ||
408 | +| 调用方式 | 接口地址 | | ||
409 | +| ------------ | :---------------------------------------------- | | ||
410 | +| POST | http://ip:port/background/removeWorkingListener | | ||
411 | +| Content-Type | application/json;charset=UTF-8 | | ||
412 | + | ||
413 | +| 请求参数 | | | | | | ||
414 | +| --------- | -------- | ------ | ---- | ---------- | | ||
415 | +| 参数项 | 名称 | 类型 | 必选 | 描述 | | ||
416 | +| modules | 功能id | string | 是 | 功能id | | ||
417 | +| startTime | 开始时间 | long | 是 | 开始时间戳 | | ||
418 | +| endTime | 结束时间 | long | 是 | 结束时间戳 | | ||
419 | + | ||
420 | +``` | ||
421 | +请求示例 | ||
422 | +{ | ||
423 | + "module": "cpu_utilization", | ||
424 | + "startTime": 1575599542344, | ||
425 | + "endTime": 1575599545346 | ||
426 | +} | ||
427 | +``` | ||
428 | + | ||
429 | + | ||
430 | +| 返回结果 | | | | | ||
431 | +| --------------- | ------------ | ------ | --------------------------------- | | ||
432 | +| 参数项 | 名称 | 类型 | 描述 | | ||
433 | +| code | 响应码 | int | 200为操作成功,其他code表示失败 | | ||
434 | +| message | 提示信息 | string | 200为操作成功, 其他为对应错误信息 | | ||
435 | +| data | 返回信息 | | | | ||
436 | +| +id | 主键 | string | 主键 | | ||
437 | +| +moduleId | 功能id | string | 功能id | | ||
438 | +| +occurrenceTime | 数据获取时间 | long | 数据获取时间 | | ||
439 | +| +occupancy | 占用率 | double | 占用率 | | ||
440 | + | ||
441 | +``` | ||
442 | +响应示例 | ||
443 | +{ | ||
444 | + "code": 200, | ||
445 | + "message": "操作成功", | ||
446 | + "data": [ | ||
447 | + { | ||
448 | + "id": "1", | ||
449 | + "moduleId": "cpu_utilization", | ||
450 | + "occurrenceTime": 1575599542344, | ||
451 | + "occupancy": 1.0 | ||
452 | + }, | ||
453 | + { | ||
454 | + "id": "2", | ||
455 | + "moduleId": "cpu_utilization", | ||
456 | + "occurrenceTime": 1575599545346, | ||
457 | + "occupancy": 4.0 | ||
458 | + } | ||
459 | + ] | ||
460 | +} | ||
461 | +``` | ||
462 | + |
src/main/java/com/objecteye/service/impl/OccupationOfBasicResourcesServiceImpl.java
@@ -117,7 +117,7 @@ public class OccupationOfBasicResourcesServiceImpl implements IOccupationOfBasic | @@ -117,7 +117,7 @@ public class OccupationOfBasicResourcesServiceImpl implements IOccupationOfBasic | ||
117 | JSONObject resultObj = new JSONObject(); | 117 | JSONObject resultObj = new JSONObject(); |
118 | if (redisTemplate.opsForHash().hasKey(GeneralContent.REDIS_TASK_ID_OWNER, taskId)) { | 118 | if (redisTemplate.opsForHash().hasKey(GeneralContent.REDIS_TASK_ID_OWNER, taskId)) { |
119 | String owner = (String) redisTemplate.opsForHash().get(GeneralContent.REDIS_TASK_ID_OWNER, taskId); | 119 | String owner = (String) redisTemplate.opsForHash().get(GeneralContent.REDIS_TASK_ID_OWNER, taskId); |
120 | - if (Objects.equals(owner, user) || superPower) { | 120 | + if (Objects.equals(user, owner) || superPower) { |
121 | String cmd = "kill -9 " + taskId; | 121 | String cmd = "kill -9 " + taskId; |
122 | List<String> outList = new ArrayList<>(); | 122 | List<String> outList = new ArrayList<>(); |
123 | executeLinuxCmd(cmd, outList); | 123 | executeLinuxCmd(cmd, outList); |
src/main/resources/com.objecteye.mapper/SyBasicResourceHistoryMapper.xml
@@ -16,11 +16,12 @@ | @@ -16,11 +16,12 @@ | ||
16 | from sy_basic_resource_history | 16 | from sy_basic_resource_history |
17 | where id = #{id,jdbcType=VARCHAR} | 17 | where id = #{id,jdbcType=VARCHAR} |
18 | </select> | 18 | </select> |
19 | - <select id="getModuleInfoQueryByCondition" resultType="com.objecteye.entity.SyBasicResourceHistory"> | ||
20 | - select * from sy_basic_resource_history a | 19 | + <select id="getModuleInfoQueryByCondition" parameterType="java.util.HashMap" |
20 | + resultType="com.objecteye.entity.SyBasicResourceHistory"> | ||
21 | + select id, module_id moduleId, occurrence_time occurrenceTime, occupancy from sy_basic_resource_history a | ||
21 | <where> | 22 | <where> |
22 | <if test="module != null and '' != module"> | 23 | <if test="module != null and '' != module"> |
23 | - and a.module_id like '%' || #{module} || '%' | 24 | + and a.module_id like concat('%', #{module,jdbcType=VARCHAR},'%') |
24 | </if> | 25 | </if> |
25 | <if test="startTime != null"><![CDATA[ | 26 | <if test="startTime != null"><![CDATA[ |
26 | and a.occurrence_time >= #{startTime,jdbcType=BIGINT} | 27 | and a.occurrence_time >= #{startTime,jdbcType=BIGINT} |
@@ -44,8 +45,8 @@ | @@ -44,8 +45,8 @@ | ||
44 | <insert id="insert" parameterType="com.objecteye.entity.SyBasicResourceHistory"> | 45 | <insert id="insert" parameterType="com.objecteye.entity.SyBasicResourceHistory"> |
45 | insert into sy_basic_resource_history (id, module_id, occurrence_time, | 46 | insert into sy_basic_resource_history (id, module_id, occurrence_time, |
46 | occupancy) | 47 | occupancy) |
47 | - values (#{id,jdbcType=VARCHAR}, #{moduleId,jdbcType=VARCHAR}, #{occurrenceTime,jdbcType=BIGINT}, | ||
48 | - #{occupancy,jdbcType=DOUBLE}) | 48 | + values (#{id,jdbcType=VARCHAR}, #{moduleId,jdbcType=VARCHAR}, #{occurrenceTime,jdbcType=BIGINT}, |
49 | + #{occupancy,jdbcType=DOUBLE}) | ||
49 | </insert> | 50 | </insert> |
50 | <insert id="insertSelective" parameterType="com.objecteye.entity.SyBasicResourceHistory"> | 51 | <insert id="insertSelective" parameterType="com.objecteye.entity.SyBasicResourceHistory"> |
51 | insert into sy_basic_resource_history | 52 | insert into sy_basic_resource_history |