Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
Y
yudao-cloud
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
hblj
yudao-cloud
Commits
284ee500
提交
284ee500
authored
6月 13, 2022
作者:
YunaiV
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
优化 yudao-spring-boot-starter-biz-operatelog 的封装,和 yudao-cloud 保持一致
上级
8174916c
全部展开
隐藏空白字符变更
内嵌
并排
正在显示
18 个修改的文件
包含
273 行增加
和
50 行删除
+273
-50
pom.xml
...ramework/yudao-spring-boot-starter-biz-operatelog/pom.xml
+14
-0
YudaoOperateLogAutoConfiguration.java
...k/operatelog/config/YudaoOperateLogAutoConfiguration.java
+8
-0
YudaoOperateLogRpcAutoConfiguration.java
...peratelog/config/YudaoOperateLogRpcAutoConfiguration.java
+16
-0
OperateLogAspect.java
...yudao/framework/operatelog/core/aop/OperateLogAspect.java
+0
-0
OperateLog.java
...r/yudao/framework/operatelog/core/service/OperateLog.java
+110
-0
OperateLogFrameworkService.java
...k/operatelog/core/service/OperateLogFrameworkService.java
+7
-7
OperateLogFrameworkServiceImpl.java
...eratelog/core/service/OperateLogFrameworkServiceImpl.java
+30
-0
spring.factories
...z-operatelog/src/main/resources/META-INF/spring.factories
+1
-0
FileConfigController.http
...ule/infra/controller/admin/file/FileConfigController.http
+1
-1
TmpConfiguration.java
...ocoder/yudao/module/infra/framework/TmpConfiguration.java
+0
-13
OperateLogApi.java
...iocoder/yudao/module/system/api/logger/OperateLogApi.java
+24
-0
OperateLogCreateReqDTO.java
.../module/system/api/logger/dto/OperateLogCreateReqDTO.java
+3
-5
OperateLogApiImpl.java
...der/yudao/module/system/api/logger/OperateLogApiImpl.java
+29
-0
SmsTemplateController.http
...le/system/controller/admin/sms/SmsTemplateController.http
+3
-2
OperateLogConvert.java
...yudao/module/system/convert/logger/OperateLogConvert.java
+3
-3
OperateLogService.java
...yudao/module/system/service/logger/OperateLogService.java
+13
-1
OperateLogServiceImpl.java
...o/module/system/service/logger/OperateLogServiceImpl.java
+7
-14
OperateLogServiceImplTest.java
...dule/system/service/logger/OperateLogServiceImplTest.java
+4
-4
没有找到文件。
yudao-framework/yudao-spring-boot-starter-biz-operatelog/pom.xml
浏览文件 @
284ee500
...
...
@@ -34,6 +34,20 @@
<scope>
provided
</scope>
</dependency>
<!-- RPC 远程调用相关 -->
<dependency>
<groupId>
cn.iocoder.cloud
</groupId>
<artifactId>
yudao-spring-boot-starter-rpc
</artifactId>
<optional>
true
</optional>
</dependency>
<!-- 业务组件 -->
<dependency>
<groupId>
cn.iocoder.cloud
</groupId>
<artifactId>
yudao-module-system-api
</artifactId>
<!-- 需要使用它,进行操作日志的记录 -->
<version>
${revision}
</version>
</dependency>
<!-- 工具类相关 -->
<dependency>
<groupId>
com.google.guava
</groupId>
...
...
yudao-framework/yudao-spring-boot-starter-biz-operatelog/src/main/java/cn/iocoder/yudao/framework/operatelog/config/YudaoOperateLogAutoConfiguration.java
浏览文件 @
284ee500
package
cn
.
iocoder
.
yudao
.
framework
.
operatelog
.
config
;
import
cn.iocoder.yudao.framework.operatelog.core.aop.OperateLogAspect
;
import
cn.iocoder.yudao.framework.operatelog.core.service.OperateLogFrameworkService
;
import
cn.iocoder.yudao.framework.operatelog.core.service.OperateLogFrameworkServiceImpl
;
import
cn.iocoder.yudao.module.system.api.logger.OperateLogApi
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
...
...
@@ -12,4 +15,9 @@ public class YudaoOperateLogAutoConfiguration {
return
new
OperateLogAspect
();
}
@Bean
public
OperateLogFrameworkService
operateLogFrameworkService
(
OperateLogApi
operateLogApi
)
{
return
new
OperateLogFrameworkServiceImpl
(
operateLogApi
);
}
}
yudao-framework/yudao-spring-boot-starter-biz-operatelog/src/main/java/cn/iocoder/yudao/framework/operatelog/config/YudaoOperateLogRpcAutoConfiguration.java
0 → 100644
浏览文件 @
284ee500
package
cn
.
iocoder
.
yudao
.
framework
.
operatelog
.
config
;
import
cn.iocoder.yudao.module.system.api.logger.OperateLogApi
;
import
org.springframework.cloud.openfeign.EnableFeignClients
;
import
org.springframework.context.annotation.Configuration
;
/**
* 操作日志使用到 Feign 的配置项
*
* @author 芋道源码
*/
@Configuration
(
proxyBeanMethods
=
false
)
@EnableFeignClients
(
clients
=
OperateLogApi
.
class
)
// 主要是引入相关的 API 服务
public
class
YudaoOperateLogRpcAutoConfiguration
{
}
yudao-framework/yudao-spring-boot-starter-biz-operatelog/src/main/java/cn/iocoder/yudao/framework/operatelog/core/aop/OperateLogAspect.java
浏览文件 @
284ee500
差异被折叠。
点击展开。
yudao-framework/yudao-spring-boot-starter-biz-operatelog/src/main/java/cn/iocoder/yudao/framework/operatelog/core/service/OperateLog.java
0 → 100644
浏览文件 @
284ee500
package
cn
.
iocoder
.
yudao
.
framework
.
operatelog
.
core
.
service
;
import
lombok.Data
;
import
java.util.Date
;
import
java.util.Map
;
/**
* 操作日志
*
* @author 芋道源码
*/
@Data
public
class
OperateLog
{
/**
* 链路追踪编号
*/
private
String
traceId
;
/**
* 用户编号
*/
private
Long
userId
;
/**
* 用户类型
*/
private
Integer
userType
;
/**
* 操作模块
*/
private
String
module
;
/**
* 操作名
*/
private
String
name
;
/**
* 操作分类
*/
private
Integer
type
;
/**
* 操作明细
*/
private
String
content
;
/**
* 拓展字段
*/
private
Map
<
String
,
Object
>
exts
;
/**
* 请求方法名
*/
private
String
requestMethod
;
/**
* 请求地址
*/
private
String
requestUrl
;
/**
* 用户 IP
*/
private
String
userIp
;
/**
* 浏览器 UserAgent
*/
private
String
userAgent
;
/**
* Java 方法名
*/
private
String
javaMethod
;
/**
* Java 方法的参数
*/
private
String
javaMethodArgs
;
/**
* 开始时间
*/
private
Date
startTime
;
/**
* 执行时长,单位:毫秒
*/
private
Integer
duration
;
/**
* 结果码
*/
private
Integer
resultCode
;
/**
* 结果提示
*/
private
String
resultMsg
;
/**
* 结果数据
*/
private
String
resultData
;
}
yudao-framework/yudao-spring-boot-starter-biz-operatelog/src/main/java/cn/iocoder/yudao/framework/operatelog/core/service/OperateLogFrameworkService.java
浏览文件 @
284ee500
package
cn
.
iocoder
.
yudao
.
framework
.
operatelog
.
core
.
service
;
import
cn.iocoder.yudao.framework.operatelog.core.dto.OperateLogCreateReqDTO
;
import
java.util.concurrent.Future
;
/**
* 操作日志 Framework Service 接口
*
* @author 芋道源码
*/
public
interface
OperateLogFrameworkService
{
/**
* 异步记录操作日志
*
* @param reqVO 操作日志请求
* @return true: 记录成功,false: 记录失败
* @param operateLog 操作日志请求
*/
Future
<
Boolean
>
createOperateLogAsync
(
OperateLogCreateReqDTO
reqVO
);
void
createOperateLog
(
OperateLog
operateLog
);
}
yudao-framework/yudao-spring-boot-starter-biz-operatelog/src/main/java/cn/iocoder/yudao/framework/operatelog/core/service/OperateLogFrameworkServiceImpl.java
0 → 100644
浏览文件 @
284ee500
package
cn
.
iocoder
.
yudao
.
framework
.
operatelog
.
core
.
service
;
import
cn.hutool.core.bean.BeanUtil
;
import
cn.iocoder.yudao.framework.common.pojo.CommonResult
;
import
cn.iocoder.yudao.module.system.api.logger.OperateLogApi
;
import
cn.iocoder.yudao.module.system.api.logger.dto.OperateLogCreateReqDTO
;
import
lombok.RequiredArgsConstructor
;
import
org.springframework.scheduling.annotation.Async
;
/**
* 操作日志 Framework Service 实现类
*
* 基于 {@link OperateLogApi} 远程服务,记录操作日志
*
* @author 芋道源码
*/
@RequiredArgsConstructor
public
class
OperateLogFrameworkServiceImpl
implements
OperateLogFrameworkService
{
private
final
OperateLogApi
operateLogApi
;
@Override
@Async
public
void
createOperateLog
(
OperateLog
operateLog
)
{
OperateLogCreateReqDTO
reqDTO
=
BeanUtil
.
copyProperties
(
operateLog
,
OperateLogCreateReqDTO
.
class
);
CommonResult
<
Boolean
>
result
=
operateLogApi
.
createOperateLog
(
reqDTO
);
result
.
checkError
();
}
}
yudao-framework/yudao-spring-boot-starter-biz-operatelog/src/main/resources/META-INF/spring.factories
浏览文件 @
284ee500
org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
cn.iocoder.yudao.framework.operatelog.config.YudaoOperateLogRpcAutoConfiguration,\
cn.iocoder.yudao.framework.operatelog.config.YudaoOperateLogAutoConfiguration
yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/file/FileConfigController.http
浏览文件 @
284ee500
...
...
@@ -19,7 +19,7 @@ Authorization: Bearer {{token}}
}
### 请求 /infra/file-config/update 接口 => 成功
PUT {{
b
aseUrl}}/infra/file-config/update
PUT {{
infaB
aseUrl}}/infra/file-config/update
Content-Type: application/json
tenant-id: {{adminTenentId}}
Authorization: Bearer {{token}}
...
...
yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/framework/TmpConfiguration.java
浏览文件 @
284ee500
package
cn
.
iocoder
.
yudao
.
module
.
infra
.
framework
;
import
cn.iocoder.yudao.framework.operatelog.core.dto.OperateLogCreateReqDTO
;
import
cn.iocoder.yudao.framework.operatelog.core.service.OperateLogFrameworkService
;
import
cn.iocoder.yudao.framework.tenant.core.service.TenantFrameworkService
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
import
java.util.List
;
import
java.util.concurrent.Future
;
@Configuration
public
class
TmpConfiguration
{
@Bean
public
OperateLogFrameworkService
operateLogFrameworkService
()
{
return
new
OperateLogFrameworkService
()
{
@Override
public
Future
<
Boolean
>
createOperateLogAsync
(
OperateLogCreateReqDTO
reqVO
)
{
return
null
;
}
};
}
@Bean
public
TenantFrameworkService
tenantFrameworkService
()
{
return
new
TenantFrameworkService
()
{
...
...
yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/logger/OperateLogApi.java
0 → 100644
浏览文件 @
284ee500
package
cn
.
iocoder
.
yudao
.
module
.
system
.
api
.
logger
;
import
cn.iocoder.yudao.framework.common.pojo.CommonResult
;
import
cn.iocoder.yudao.module.system.api.logger.dto.OperateLogCreateReqDTO
;
import
cn.iocoder.yudao.module.system.enums.ApiConstants
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
org.springframework.cloud.openfeign.FeignClient
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
javax.validation.Valid
;
@FeignClient
(
name
=
ApiConstants
.
NAME
)
// TODO 芋艿:fallbackFactory =
@Api
(
tags
=
"RPC 服务 - 操作日志"
)
public
interface
OperateLogApi
{
String
PREFIX
=
ApiConstants
.
PREFIX
+
"/operate-log"
;
@PostMapping
(
PREFIX
+
"/create"
)
@ApiOperation
(
"创建操作日志"
)
CommonResult
<
Boolean
>
createOperateLog
(
@Valid
@RequestBody
OperateLogCreateReqDTO
createReqDTO
);
}
yudao-
framework/yudao-spring-boot-starter-biz-operatelog/src/main/java/cn/iocoder/yudao/framework/operatelog/core
/dto/OperateLogCreateReqDTO.java
→
yudao-
module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/logger
/dto/OperateLogCreateReqDTO.java
浏览文件 @
284ee500
package
cn
.
iocoder
.
yudao
.
framework
.
operatelog
.
core
.
dto
;
package
cn
.
iocoder
.
yudao
.
module
.
system
.
api
.
logger
.
dto
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
...
...
@@ -8,14 +9,11 @@ import javax.validation.constraints.NotNull;
import
java.util.Date
;
import
java.util.Map
;
/**
* 操作日志创建 Request DTO
*/
@ApiModel
(
"操作日志创建 Request DTO"
)
@Data
public
class
OperateLogCreateReqDTO
{
@ApiModelProperty
(
value
=
"链路追踪编号"
,
required
=
true
,
example
=
"89aca178-a370-411c-ae02-3f0d672be4ab"
)
@NotEmpty
(
message
=
"链路追踪编号不能为空"
)
private
String
traceId
;
@ApiModelProperty
(
value
=
"用户编号"
,
required
=
true
,
example
=
"1024"
)
...
...
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/api/logger/OperateLogApiImpl.java
0 → 100644
浏览文件 @
284ee500
package
cn
.
iocoder
.
yudao
.
module
.
system
.
api
.
logger
;
import
cn.iocoder.yudao.framework.common.pojo.CommonResult
;
import
cn.iocoder.yudao.module.system.api.logger.dto.OperateLogCreateReqDTO
;
import
cn.iocoder.yudao.module.system.service.logger.OperateLogService
;
import
org.apache.dubbo.config.annotation.DubboService
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.RestController
;
import
javax.annotation.Resource
;
import
static
cn
.
iocoder
.
yudao
.
framework
.
common
.
pojo
.
CommonResult
.
success
;
import
static
cn
.
iocoder
.
yudao
.
module
.
system
.
enums
.
ApiConstants
.
VERSION
;
@RestController
// 提供 RESTful API 接口,给 Feign 调用
@DubboService
(
version
=
VERSION
)
// 提供 Dubbo RPC 接口,给 Dubbo Consumer 调用
@Validated
public
class
OperateLogApiImpl
implements
OperateLogApi
{
@Resource
private
OperateLogService
operateLogService
;
@Override
public
CommonResult
<
Boolean
>
createOperateLog
(
OperateLogCreateReqDTO
createReqDTO
)
{
operateLogService
.
createOperateLog
(
createReqDTO
);
return
success
(
true
);
}
}
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/sms/SmsTemplateController.http
浏览文件 @
284ee500
### 请求 /system/sms-template/send-sms 接口 => 成功
POST {{
b
aseUrl}}/system/sms-template/send-sms
POST {{
systemB
aseUrl}}/system/sms-template/send-sms
Authorization: Bearer {{token}}
Content-Type: application/json
tenant-id: {{adminTenentId}}
{
"code": "test_01",
"templateCode": "test_01",
"mobile": "156016913900",
"params": {
"key01": "value01",
"key02": "value02"
...
...
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/convert/logger/OperateLogConvert.java
浏览文件 @
284ee500
package
cn
.
iocoder
.
yudao
.
module
.
system
.
convert
.
logger
;
import
cn.iocoder.yudao.framework.common.pojo.PageResult
;
import
cn.iocoder.yudao.framework.common.util.collection.MapUtils
;
import
cn.iocoder.yudao.module.system.api.logger.dto.OperateLogCreateReqDTO
;
import
cn.iocoder.yudao.module.system.controller.admin.logger.vo.operatelog.OperateLogExcelVO
;
import
cn.iocoder.yudao.module.system.controller.admin.logger.vo.operatelog.OperateLogRespVO
;
import
cn.iocoder.yudao.module.system.dal.dataobject.logger.OperateLogDO
;
import
cn.iocoder.yudao.module.system.dal.dataobject.user.AdminUserDO
;
import
cn.iocoder.yudao.framework.common.pojo.PageResult
;
import
cn.iocoder.yudao.framework.common.util.collection.MapUtils
;
import
cn.iocoder.yudao.framework.operatelog.core.dto.OperateLogCreateReqDTO
;
import
org.mapstruct.Mapper
;
import
org.mapstruct.factory.Mappers
;
...
...
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/logger/OperateLogService.java
浏览文件 @
284ee500
package
cn
.
iocoder
.
yudao
.
module
.
system
.
service
.
logger
;
import
cn.iocoder.yudao.framework.common.pojo.PageResult
;
import
cn.iocoder.yudao.framework.operatelog.core.service.OperateLog
;
import
cn.iocoder.yudao.framework.operatelog.core.service.OperateLogFrameworkService
;
import
cn.iocoder.yudao.module.system.api.logger.dto.OperateLogCreateReqDTO
;
import
cn.iocoder.yudao.module.system.controller.admin.logger.vo.operatelog.OperateLogExportReqVO
;
import
cn.iocoder.yudao.module.system.controller.admin.logger.vo.operatelog.OperateLogPageReqVO
;
import
cn.iocoder.yudao.module.system.dal.dataobject.logger.OperateLogDO
;
import
javax.validation.Valid
;
import
java.util.List
;
/**
* 操作日志 Service 接口
*
* @author 芋道源码
*/
public
interface
OperateLogService
extends
OperateLogFrameworkService
{
public
interface
OperateLogService
{
/**
* 记录操作日志
*
* @param createReqDTO 操作日志请求
*/
void
createOperateLog
(
@Valid
OperateLogCreateReqDTO
createReqDTO
);
/**
* 获得操作日志分页列表
...
...
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/logger/OperateLogServiceImpl.java
浏览文件 @
284ee500
...
...
@@ -4,7 +4,8 @@ import cn.hutool.core.collection.CollUtil;
import
cn.hutool.core.util.StrUtil
;
import
cn.iocoder.yudao.framework.common.pojo.PageResult
;
import
cn.iocoder.yudao.framework.common.util.string.StrUtils
;
import
cn.iocoder.yudao.framework.operatelog.core.dto.OperateLogCreateReqDTO
;
import
cn.iocoder.yudao.framework.operatelog.core.service.OperateLog
;
import
cn.iocoder.yudao.module.system.api.logger.dto.OperateLogCreateReqDTO
;
import
cn.iocoder.yudao.module.system.controller.admin.logger.vo.operatelog.OperateLogExportReqVO
;
import
cn.iocoder.yudao.module.system.controller.admin.logger.vo.operatelog.OperateLogPageReqVO
;
import
cn.iocoder.yudao.module.system.convert.logger.OperateLogConvert
;
...
...
@@ -40,19 +41,11 @@ public class OperateLogServiceImpl implements OperateLogService {
private
AdminUserService
userService
;
@Override
@Async
public
Future
<
Boolean
>
createOperateLogAsync
(
OperateLogCreateReqDTO
reqVO
)
{
boolean
success
=
false
;
try
{
OperateLogDO
logDO
=
OperateLogConvert
.
INSTANCE
.
convert
(
reqVO
);
logDO
.
setJavaMethodArgs
(
StrUtils
.
maxLength
(
logDO
.
getJavaMethodArgs
(),
JAVA_METHOD_ARGS_MAX_LENGTH
));
logDO
.
setResultData
(
StrUtils
.
maxLength
(
logDO
.
getResultData
(),
RESULT_MAX_LENGTH
));
success
=
operateLogMapper
.
insert
(
logDO
)
==
1
;
}
catch
(
Throwable
throwable
)
{
// 仅仅打印日志,不对外抛出。原因是,还是要保留现场数据。
log
.
error
(
"[createOperateLogAsync][记录操作日志异常,日志为 ({})]"
,
reqVO
,
throwable
);
}
return
new
AsyncResult
<>(
success
);
public
void
createOperateLog
(
OperateLogCreateReqDTO
createReqDTO
)
{
OperateLogDO
logDO
=
OperateLogConvert
.
INSTANCE
.
convert
(
createReqDTO
);
logDO
.
setJavaMethodArgs
(
StrUtils
.
maxLength
(
logDO
.
getJavaMethodArgs
(),
JAVA_METHOD_ARGS_MAX_LENGTH
));
logDO
.
setResultData
(
StrUtils
.
maxLength
(
logDO
.
getResultData
(),
RESULT_MAX_LENGTH
));
operateLogMapper
.
insert
(
logDO
);
}
@Override
...
...
yudao-module-system/yudao-module-system-biz/src/test/java/cn/iocoder/yudao/module/system/service/logger/OperateLogServiceImplTest.java
浏览文件 @
284ee500
...
...
@@ -7,9 +7,10 @@ import cn.iocoder.yudao.framework.common.exception.enums.GlobalErrorCodeConstant
import
cn.iocoder.yudao.framework.common.pojo.PageResult
;
import
cn.iocoder.yudao.framework.common.util.monitor.TracerUtils
;
import
cn.iocoder.yudao.framework.common.util.object.ObjectUtils
;
import
cn.iocoder.yudao.framework.operatelog.core.
dto.OperateLogCreateReqDTO
;
import
cn.iocoder.yudao.framework.operatelog.core.
service.OperateLog
;
import
cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum
;
import
cn.iocoder.yudao.framework.test.core.util.RandomUtils
;
import
cn.iocoder.yudao.module.system.api.logger.dto.OperateLogCreateReqDTO
;
import
cn.iocoder.yudao.module.system.controller.admin.logger.vo.operatelog.OperateLogExportReqVO
;
import
cn.iocoder.yudao.module.system.controller.admin.logger.vo.operatelog.OperateLogPageReqVO
;
import
cn.iocoder.yudao.module.system.dal.dataobject.logger.OperateLogDO
;
...
...
@@ -49,7 +50,7 @@ public class OperateLogServiceImplTest extends BaseDbUnitTest {
private
AdminUserService
userService
;
@Test
public
void
testCreateOperateLogAsync
()
throws
InterruptedException
,
ExecutionException
{
public
void
testCreateOperateLogAsync
()
{
String
traceId
=
TracerUtils
.
getTraceId
();
OperateLogCreateReqDTO
reqVO
=
RandomUtils
.
randomPojo
(
OperateLogCreateReqDTO
.
class
,
o
->
{
o
.
setTraceId
(
traceId
);
...
...
@@ -59,8 +60,7 @@ public class OperateLogServiceImplTest extends BaseDbUnitTest {
});
// 执行service方法
Future
<
Boolean
>
future
=
operateLogServiceImpl
.
createOperateLogAsync
(
reqVO
);
future
.
get
();
operateLogServiceImpl
.
createOperateLog
(
reqVO
);
// 断言插入是否正确
OperateLogDO
sysOperateLogDO
=
operateLogMapper
.
selectOne
(
"trace_id"
,
traceId
);
assertPojoEquals
(
reqVO
,
sysOperateLogDO
);
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论