diff --git a/sql/mysql/update.sql b/sql/mysql/update.sql new file mode 100644 index 000000000..7ef4f12e8 --- /dev/null +++ b/sql/mysql/update.sql @@ -0,0 +1,3 @@ +-- 添加新字段 is_success 在 action 字段之后 +ALTER TABLE system_operate_log +ADD COLUMN success BIT NOT NULL DEFAULT b'1' COMMENT '操作结果' AFTER action; \ No newline at end of file diff --git a/yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common/biz/system/logger/dto/OperateLogCreateReqDTO.java b/yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common/biz/system/logger/dto/OperateLogCreateReqDTO.java index 342c027db..a4dbee230 100644 --- a/yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common/biz/system/logger/dto/OperateLogCreateReqDTO.java +++ b/yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common/biz/system/logger/dto/OperateLogCreateReqDTO.java @@ -31,6 +31,9 @@ public class OperateLogCreateReqDTO { example = "修改编号为 1 的用户信息,将性别从男改成女,将姓名从芋道改成源码") @NotEmpty(message = "操作内容不能为空") private String action; + @Schema(description = "操作结果", requiredMode = Schema.RequiredMode.REQUIRED, example = "true") + @NotNull(message = "操作结果不能为空") + private Boolean success; @Schema(description = "拓展字段", example = "{\"orderId\": \"1\"}") private String extra; diff --git a/yudao-framework/yudao-spring-boot-starter-security/src/main/java/cn/iocoder/yudao/framework/operatelog/core/service/LogRecordServiceImpl.java b/yudao-framework/yudao-spring-boot-starter-security/src/main/java/cn/iocoder/yudao/framework/operatelog/core/service/LogRecordServiceImpl.java index d1aead272..21e83b1a9 100644 --- a/yudao-framework/yudao-spring-boot-starter-security/src/main/java/cn/iocoder/yudao/framework/operatelog/core/service/LogRecordServiceImpl.java +++ b/yudao-framework/yudao-spring-boot-starter-security/src/main/java/cn/iocoder/yudao/framework/operatelog/core/service/LogRecordServiceImpl.java @@ -63,6 +63,7 @@ public class LogRecordServiceImpl implements ILogRecordService { reqDTO.setSubType(logRecord.getSubType());// 操作名称,例如:转移客户 reqDTO.setBizId(Long.parseLong(logRecord.getBizNo())); // 业务编号,例如:客户编号 reqDTO.setAction(logRecord.getAction());// 操作内容,例如:修改编号为 1 的用户信息,将性别从男改成女,将姓名从芋道改成源码。 + reqDTO.setSuccess(!logRecord.isFail()); // 操作结果,true 表示操作成功,false 表示操作失败。 reqDTO.setExtra(logRecord.getExtra()); // 拓展字段,有些复杂的业务,需要记录一些字段 ( JSON 格式 ),例如说,记录订单编号,{ orderId: "1"} } diff --git a/yudao-module-system/yudao-module-system-server/src/main/java/cn/iocoder/yudao/module/system/controller/admin/logger/vo/operatelog/OperateLogPageReqVO.java b/yudao-module-system/yudao-module-system-server/src/main/java/cn/iocoder/yudao/module/system/controller/admin/logger/vo/operatelog/OperateLogPageReqVO.java index 1061f6d05..28a22ac21 100644 --- a/yudao-module-system/yudao-module-system-server/src/main/java/cn/iocoder/yudao/module/system/controller/admin/logger/vo/operatelog/OperateLogPageReqVO.java +++ b/yudao-module-system/yudao-module-system-server/src/main/java/cn/iocoder/yudao/module/system/controller/admin/logger/vo/operatelog/OperateLogPageReqVO.java @@ -28,6 +28,9 @@ public class OperateLogPageReqVO extends PageParam { @Schema(description = "操作明细,模拟匹配", example = "修改编号为 1 的用户信息") private String action; + @Schema(description = "操作结果", example = "false") + private Boolean success; + @Schema(description = "开始时间", example = "[2022-07-01 00:00:00,2022-07-01 23:59:59]") @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) private LocalDateTime[] createTime; diff --git a/yudao-module-system/yudao-module-system-server/src/main/java/cn/iocoder/yudao/module/system/controller/admin/logger/vo/operatelog/OperateLogRespVO.java b/yudao-module-system/yudao-module-system-server/src/main/java/cn/iocoder/yudao/module/system/controller/admin/logger/vo/operatelog/OperateLogRespVO.java index e017ba7cb..e53bf329d 100644 --- a/yudao-module-system/yudao-module-system-server/src/main/java/cn/iocoder/yudao/module/system/controller/admin/logger/vo/operatelog/OperateLogRespVO.java +++ b/yudao-module-system/yudao-module-system-server/src/main/java/cn/iocoder/yudao/module/system/controller/admin/logger/vo/operatelog/OperateLogRespVO.java @@ -46,6 +46,9 @@ public class OperateLogRespVO implements VO { @Schema(description = "操作明细", example = "修改编号为 1 的用户信息,将性别从男改成女,将姓名从芋道改成源码。") private String action; + @Schema(description = "操作结果", requiredMode = Schema.RequiredMode.REQUIRED, example = "false") + private Boolean success; + @Schema(description = "拓展字段", example = "{'orderId': 1}") private String extra; diff --git a/yudao-module-system/yudao-module-system-server/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/logger/OperateLogDO.java b/yudao-module-system/yudao-module-system-server/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/logger/OperateLogDO.java index 3c7d17128..e5953be1d 100644 --- a/yudao-module-system/yudao-module-system-server/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/logger/OperateLogDO.java +++ b/yudao-module-system/yudao-module-system-server/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/logger/OperateLogDO.java @@ -58,6 +58,12 @@ public class OperateLogDO extends BaseDO { * 例如说,修改编号为 1 的用户信息,将性别从男改成女,将姓名从芋道改成源码。 */ private String action; + /** + * 操作结果,是否成功 + * + * true:成功,false:失败 + */ + private Boolean success; /** * 拓展字段,有些复杂的业务,需要记录一些字段 ( JSON 格式 ) * diff --git a/yudao-module-system/yudao-module-system-server/src/main/java/cn/iocoder/yudao/module/system/service/user/AdminUserServiceImpl.java b/yudao-module-system/yudao-module-system-server/src/main/java/cn/iocoder/yudao/module/system/service/user/AdminUserServiceImpl.java index 955b7ea99..58fa102e3 100644 --- a/yudao-module-system/yudao-module-system-server/src/main/java/cn/iocoder/yudao/module/system/service/user/AdminUserServiceImpl.java +++ b/yudao-module-system/yudao-module-system-server/src/main/java/cn/iocoder/yudao/module/system/service/user/AdminUserServiceImpl.java @@ -84,8 +84,8 @@ public class AdminUserServiceImpl implements AdminUserService { @Override @Transactional(rollbackFor = Exception.class) - @LogRecord(type = SYSTEM_USER_TYPE, subType = SYSTEM_USER_CREATE_SUB_TYPE, bizNo = "{{#user.id}}", - success = SYSTEM_USER_CREATE_SUCCESS) + @LogRecord(type = SYSTEM_USER_TYPE, subType = SYSTEM_USER_CREATE_SUB_TYPE, bizNo = "{{#user != null? user.id : 0}}", + success = SYSTEM_USER_CREATE_SUCCESS,fail = "创建用户失败,失败原因:【{{#_errorMsg}}】") public Long createUser(UserSaveReqVO createReqVO) { // 1.1 校验账户配合 tenantService.handleTenantInfo(tenant -> {