BaseProjectModel.java
3.33 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
/**
* Copyright 2015-2025 FLY的狐狸(email:jflyfox@sina.com qq:369191470).
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
*/
package com.jflyfox.component.base;
import com.jfinal.plugin.activerecord.Db;
import com.jfinal.plugin.activerecord.Model;
import com.jflyfox.jfinal.base.BaseModel;
import com.jflyfox.system.log.SysLog;
import com.jflyfox.util.DateUtils;
import com.jflyfox.util.NumberUtils;
/**
* Model 优化修改
*
* 2016年1月16日 下午4:57:39 flyfox 369191470@qq.com
*/
public class BaseProjectModel<M extends Model<M>> extends BaseModel<M> {
private static final long serialVersionUID = 1L;
/****************************************** 加入公共日志 ******************************************/
public boolean saveLog() {
boolean flag = super.save();
String tableName = getTable().getName();
String[] keys = getTable().getPrimaryKey();
Object id = null;
if (keys != null && keys.length >= 1) {
id = get(keys[0]);
}
Integer primaryId = (id != null) ? NumberUtils.parseInt(id) : null;
saveLog(tableName, primaryId, SysLog.MODEL_SAVE);
return flag;
}
public boolean deleteLog() {
boolean flag = super.delete();
String tableName = getTable().getName();
String[] keys = getTable().getPrimaryKey();
Object id = null;
if (keys != null && keys.length >= 1) {
id = get(keys[0]);
}
Integer primaryId = (id != null) ? NumberUtils.parseInt(id) : null;
saveLog(tableName, primaryId, SysLog.MODEL_DELETE);
return flag;
}
public boolean deleteByIdLog(Object id) {
boolean flag = super.deleteById(id);
String tableName = getTable().getName();
Integer primaryId = (id != null) ? NumberUtils.parseInt(id) : null;
saveLog(tableName, primaryId, SysLog.MODEL_DELETE);
return flag;
}
public boolean updateLog() {
boolean flag = super.update();
String tableName = getTable().getName();
String[] keys = getTable().getPrimaryKey();
Object id = null;
if (keys != null && keys.length >= 1) {
id = get(keys[0]);
}
Integer primaryId = (id != null) ? NumberUtils.parseInt(id) : null;
saveLog(tableName, primaryId, SysLog.MODEL_UPDATE);
return flag;
}
protected void saveLog(String tableName, Integer primaryId, String operType) {
try {
Integer updateId = getAttrs().containsKey("update_id") ? getInt("update_id") : 0;
String updateTime = getAttrs().containsKey("update_id") ? getStr("update_time") : DateUtils
.getNow(DateUtils.DEFAULT_REGEX_YYYY_MM_DD_HH_MIN_SS);
String sql = "INSERT INTO `sys_log` ( `log_type`, `oper_object`, `oper_table`," //
+ " `oper_id`, `oper_type`, `oper_remark`, `create_time`, `create_id`) " //
+ "VALUES (?, ?, ?, ?, ?, ?, ?, ?)";
Db.update(sql, SysLog.TYPE_MODEL, SysLog.getTableRemark(tableName), tableName, //
primaryId, operType, "", updateTime, updateId);
} catch (Exception e) {
log.error("添加日志失败", e);
}
}
}