操作日志
This commit is contained in:
parent
6b96ea7ca0
commit
033e90aa34
|
|
@ -1,5 +1,6 @@
|
|||
package com.engine.organization.annotation;
|
||||
|
||||
import com.engine.organization.enums.LogModuleNameEnum;
|
||||
import com.engine.organization.enums.OperateTypeEnum;
|
||||
|
||||
import java.lang.annotation.*;
|
||||
|
|
@ -19,4 +20,9 @@ public @interface Log {
|
|||
* 操作说明
|
||||
*/
|
||||
String operateDesc() default "";
|
||||
|
||||
/**
|
||||
* 操作模块
|
||||
*/
|
||||
LogModuleNameEnum operateModule() default LogModuleNameEnum.OTHER;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@ public class LoggerContext implements Serializable {
|
|||
private String operatorName;
|
||||
|
||||
// 创建时间(yyyy-MM-dd HH:mm:ss)
|
||||
@JSONField(format="yyyy-MM-dd HH:mm:ss")
|
||||
@JSONField(format = "yyyy-MM-dd HH:mm:ss")
|
||||
private Date createTime;
|
||||
|
||||
//操作类型增删改查等
|
||||
|
|
@ -58,4 +58,10 @@ public class LoggerContext implements Serializable {
|
|||
//是否删除
|
||||
private int deleteType;
|
||||
|
||||
// 操作模块名称
|
||||
private String operateModuleName;
|
||||
|
||||
// 日志信息
|
||||
private String message;
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,33 @@
|
|||
package com.engine.organization.enums;
|
||||
|
||||
/**
|
||||
* @author:dxfeng
|
||||
* @createTime: 2022/07/04
|
||||
* @version: 1.0
|
||||
*/
|
||||
public enum LogModuleNameEnum {
|
||||
SCHEME("等级方案"),
|
||||
LEVEL("职等"),
|
||||
GRADE("职级"),
|
||||
SEQUENCE("岗位序列"),
|
||||
POST("职务分类"),
|
||||
POSTINFO("职务管理"),
|
||||
GROUP("集团管理"),
|
||||
COMPANY("公司/分部"),
|
||||
DEPARTMENT("部门管理"),
|
||||
JOB("岗位管理"),
|
||||
RESOURCE("人员管理"),
|
||||
STAFFPLAN("编制方案"),
|
||||
STAFF("编制上报"),
|
||||
OTHER("其他模块");
|
||||
|
||||
private String value;
|
||||
|
||||
LogModuleNameEnum(String value) {
|
||||
this.value = value;
|
||||
}
|
||||
|
||||
public String getValue() {
|
||||
return value;
|
||||
}
|
||||
}
|
||||
|
|
@ -17,7 +17,9 @@
|
|||
|
||||
<!-- 表字段 -->
|
||||
<sql id="baseColumns">
|
||||
t.id
|
||||
t
|
||||
.
|
||||
id
|
||||
, t.operate_desc
|
||||
, t.operator_id
|
||||
, t.operator_name
|
||||
|
|
@ -45,7 +47,9 @@
|
|||
client_ip,
|
||||
method_name,
|
||||
class_name,
|
||||
delete_type
|
||||
delete_type,
|
||||
operate_module_name,
|
||||
message
|
||||
</trim>
|
||||
<trim prefix="VALUES (" suffix=")" suffixOverrides=",">
|
||||
#{operateDesc},
|
||||
|
|
@ -57,12 +61,11 @@
|
|||
#{clientIp},
|
||||
#{methodName},
|
||||
#{className},
|
||||
#{deleteType}
|
||||
#{deleteType},
|
||||
#{operateModuleName},
|
||||
#{message}
|
||||
</trim>
|
||||
</insert>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</mapper>
|
||||
|
|
@ -1,19 +1,12 @@
|
|||
package com.engine.organization.service.impl;
|
||||
|
||||
import com.engine.core.impl.Service;
|
||||
import com.engine.organization.annotation.Log;
|
||||
import com.engine.organization.entity.LoggerContext;
|
||||
import com.engine.organization.entity.po.Demo;
|
||||
import com.engine.organization.enums.OperateTypeEnum;
|
||||
import com.engine.organization.mapper.DemoMapper;
|
||||
import com.engine.organization.service.DemoService;
|
||||
import com.engine.organization.util.HrmI18nUtil;
|
||||
import com.engine.organization.util.LogAspect;
|
||||
import com.engine.organization.util.OrganizationAssert;
|
||||
import com.engine.organization.util.db.MapperProxyFactory;
|
||||
import com.weaverboot.frame.ioc.anno.classAnno.WeaIocService;
|
||||
|
||||
import java.lang.reflect.Method;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
|
|
@ -28,18 +21,18 @@ public class DemoServiceImpl extends Service implements DemoService {
|
|||
|
||||
|
||||
@Override
|
||||
@Log(operateType = OperateTypeEnum.ADD,operateDesc = "测试自定义日志")
|
||||
//@Log(operateType = OperateTypeEnum.ADD,operateDesc = "测试自定义日志")
|
||||
public List<Demo> list(String name) {
|
||||
|
||||
OrganizationAssert.notNull(name,HrmI18nUtil.getI18nLabel(34721,"参数不能为空") );
|
||||
List<Demo> demos = MapperProxyFactory.getProxy(DemoMapper.class).listAll();
|
||||
//List<Demo> demos = MapperProxyFactory.getProxy(DemoMapper.class).listAll();
|
||||
//
|
||||
////操作日志记录
|
||||
//Method method = new Object(){}.getClass().getEnclosingMethod();
|
||||
//LoggerContext loggerContext = LoggerContext.builder().operatorId(user.getUID()).operatorName(user.getLastname()).build();
|
||||
//LogAspect logAspect = new LogAspect(DemoServiceImpl.class,method,loggerContext);
|
||||
//logAspect.start();
|
||||
|
||||
//操作日志记录
|
||||
Method method = new Object(){}.getClass().getEnclosingMethod();
|
||||
LoggerContext loggerContext = LoggerContext.builder().operatorId(user.getUID()).operatorName(user.getLastname()).build();
|
||||
LogAspect logAspect = new LogAspect(DemoServiceImpl.class,method,loggerContext);
|
||||
logAspect.start();
|
||||
|
||||
return demos;
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -49,14 +49,15 @@ public class LogAspect<T> {
|
|||
Parameter[] parameters = method.getParameters();
|
||||
String value = annotation.operateType().getValue();
|
||||
String operateDesc = annotation.operateDesc();
|
||||
String operateModuleName = annotation.operateModule().getValue();
|
||||
loggerContext.setOperateDesc(operateDesc);
|
||||
loggerContext.setCreateTime(new Date());
|
||||
loggerContext.setOperateType(value);
|
||||
loggerContext.setParamsStr(Arrays.toString(parameters));
|
||||
loggerContext.setClientIp("127.0.0.1");
|
||||
loggerContext.setMethodName(method.getName());
|
||||
loggerContext.setClassName(clazz.getName());
|
||||
loggerContext.setDeleteType(DeleteTypeEnum.NOT_DELETED.getValue());
|
||||
loggerContext.setOperateModuleName(operateModuleName);
|
||||
MapperProxyFactory.getProxy(SISLogMapper.class).insert(loggerContext);
|
||||
}
|
||||
});
|
||||
|
|
|
|||
|
|
@ -0,0 +1,31 @@
|
|||
package com.engine.organization.util;
|
||||
|
||||
import com.engine.core.impl.Service;
|
||||
import com.engine.organization.entity.LoggerContext;
|
||||
|
||||
import java.lang.reflect.Method;
|
||||
|
||||
/**
|
||||
* @author:dxfeng
|
||||
* @createTime: 2022/07/04
|
||||
* @version: 1.0
|
||||
*/
|
||||
public class OrganizationWrapper extends Service {
|
||||
|
||||
|
||||
/**
|
||||
* 记录操作日志
|
||||
*
|
||||
* @param clazz
|
||||
* @param message
|
||||
*/
|
||||
public void writeOperateLog(Class clazz,
|
||||
String message) {
|
||||
Method method = clazz.getEnclosingMethod();
|
||||
LoggerContext loggerContext = LoggerContext.builder().operatorId(user.getUID()).clientIp(user.getLoginip()).operatorName(user.getLastname()).message(message).build();
|
||||
LogAspect logAspect = new LogAspect(clazz, method, loggerContext);
|
||||
logAspect.start();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -1,10 +1,12 @@
|
|||
package com.engine.organization.wrapper;
|
||||
|
||||
import com.engine.common.util.ServiceUtil;
|
||||
import com.engine.core.impl.Service;
|
||||
import com.engine.organization.annotation.Log;
|
||||
import com.engine.organization.entity.po.Demo;
|
||||
import com.engine.organization.enums.OperateTypeEnum;
|
||||
import com.engine.organization.service.DemoService;
|
||||
import com.engine.organization.service.impl.DemoServiceImpl;
|
||||
import com.engine.organization.util.OrganizationWrapper;
|
||||
import com.engine.organization.util.response.ReturnResult;
|
||||
import weaver.hrm.User;
|
||||
|
||||
|
|
@ -16,14 +18,16 @@ import java.util.List;
|
|||
* @Date 2022/4/26
|
||||
* @Version V1.0
|
||||
**/
|
||||
public class DemoWrapper extends Service {
|
||||
public class DemoWrapper extends OrganizationWrapper {
|
||||
|
||||
private DemoService getDemoService(User user) {
|
||||
return ServiceUtil.getService(DemoServiceImpl.class,user);
|
||||
return ServiceUtil.getService(DemoServiceImpl.class, user);
|
||||
}
|
||||
|
||||
@Log(operateType = OperateTypeEnum.DELETE, operateDesc = "operateDesc")
|
||||
public ReturnResult testDemo(String name) {
|
||||
List<Demo> list = getDemoService(user).list(name);
|
||||
return ReturnResult.successed(list);
|
||||
writeOperateLog(new Object(){}.getClass(), "记录testDemo操作日志");
|
||||
return ReturnResult.successed(list);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue