Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
Y
yudao-cloud
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
hblj
yudao-cloud
Commits
4ed8d5fc
提交
4ed8d5fc
authored
7月 15, 2020
作者:
YunaiV
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
访问日志的管理功能的迁移
上级
e1e42c0c
全部展开
隐藏空白字符变更
内嵌
并排
正在显示
59 个修改的文件
包含
706 行增加
和
481 行删除
+706
-481
ServiceExceptionUtil.java
...n/iocoder/common/framework/util/ServiceExceptionUtil.java
+3
-0
CommonWebAutoConfiguration.java
...n/iocoder/mall/web/config/CommonWebAutoConfiguration.java
+1
-1
GlobalExceptionHandler.java
...iocoder/mall/web/core/handler/GlobalExceptionHandler.java
+8
-8
AccessLogInterceptor.java
...coder/mall/web/core/interceptor/AccessLogInterceptor.java
+8
-8
mall_system_data.sql
docs/sql/mall_system_data.sql
+0
-0
mall_system_schema.sql
docs/sql/mall_system_schema.sql
+0
-0
mall_admin.sql
docs/sql/old/mall_admin.sql
+0
-0
mall_order.sql
docs/sql/old/mall_order.sql
+0
-0
mall_pay.sql
docs/sql/old/mall_pay.sql
+0
-0
mall_product.sql
docs/sql/old/mall_product.sql
+0
-0
mall_promotion.sql
docs/sql/old/mall_promotion.sql
+0
-0
mall_user.sql
docs/sql/old/mall_user.sql
+0
-0
DataDictController.java
...managementweb/controller/datadict/DataDictController.java
+9
-1
SystemAccessLogController.http
...ntweb/controller/systemlog/SystemAccessLogController.http
+7
-0
SystemAccessLogController.java
...ntweb/controller/systemlog/SystemAccessLogController.java
+36
-0
SystemAccessLogPageDTO.java
...tweb/controller/systemlog/dto/SystemAccessLogPageDTO.java
+19
-0
SystemAccessLogVO.java
...agementweb/controller/systemlog/vo/SystemAccessLogVO.java
+23
-41
SystemAccessLogConvert.java
...nagementweb/convert/systemlog/SystemAccessLogConvert.java
+18
-0
DataDictManager.java
.../mall/managementweb/manager/datadict/DataDictManager.java
+1
-1
SystemAccessLogManager.java
...nagementweb/manager/systemlog/SystemAccessLogManager.java
+34
-0
application.yml
management-web-app/src/main/resources/application.yml
+4
-2
SystemAccessLogRpc.java
.../mall/systemservice/rpc/systemlog/SystemAccessLogRpc.java
+30
-0
SystemExceptionLogRpc.java
...ll/systemservice/rpc/systemlog/SystemExceptionLogRpc.java
+10
-0
SystemLogRPC.java
...ocoder/mall/systemservice/rpc/systemlog/SystemLogRPC.java
+0
-13
SystemAccessLogCreateDTO.java
...emservice/rpc/systemlog/dto/SystemAccessLogCreateDTO.java
+2
-2
SystemExceptionLogCreateDTO.java
...ervice/rpc/systemlog/dto/SystemExceptionLogCreateDTO.java
+2
-2
SystemAccessLogPageDTO.java
...ystemservice/rpc/systemlog/vo/SystemAccessLogPageDTO.java
+29
-0
SystemAccessLogVO.java
...all/systemservice/rpc/systemlog/vo/SystemAccessLogVO.java
+73
-0
SystemAccessLogConvert.java
...stemservice/convert/systemlog/SystemAccessLogConvert.java
+32
-0
SystemExceptionLogConvert.java
...mservice/convert/systemlog/SystemExceptionLogConvert.java
+18
-0
SystemLogConvert.java
...all/systemservice/convert/systemlog/SystemLogConvert.java
+0
-34
DataDictDO.java
...stemservice/dal/mysql/dataobject/datadict/DataDictDO.java
+1
-1
SystemAccessLogDO.java
...ice/dal/mysql/dataobject/systemlog/SystemAccessLogDO.java
+6
-2
SystemExceptionLogDO.java
.../dal/mysql/dataobject/systemlog/SystemExceptionLogDO.java
+2
-2
DataDictMapper.java
...stemservice/dal/mysql/mapper/datadict/DataDictMapper.java
+3
-3
AccessLogMapper.java
...emservice/dal/mysql/mapper/systemlog/AccessLogMapper.java
+0
-15
SystemAccessLogMapper.java
...ice/dal/mysql/mapper/systemlog/SystemAccessLogMapper.java
+26
-0
SystemExceptionLogMapper.java
.../dal/mysql/mapper/systemlog/SystemExceptionLogMapper.java
+2
-2
SystemAccessLogManager.java
...stemservice/manager/systemlog/SystemAccessLogManager.java
+42
-0
SystemExceptionLogManager.java
...mservice/manager/systemlog/SystemExceptionLogManager.java
+22
-0
SystemLogManager.java
...all/systemservice/manager/systemlog/SystemLogManager.java
+0
-24
SystemAccessLogRpcImpl.java
...l/systemservice/rpc/systemlog/SystemAccessLogRpcImpl.java
+34
-0
SystemExceptionLogRpcImpl.java
...ystemservice/rpc/systemlog/SystemExceptionLogRpcImpl.java
+21
-0
SystemLogRPCImpl.java
...er/mall/systemservice/rpc/systemlog/SystemLogRPCImpl.java
+0
-28
SystemAccessLogService.java
...stemservice/service/systemlog/SystemAccessLogService.java
+44
-0
SystemExceptionLogService.java
...mservice/service/systemlog/SystemExceptionLogService.java
+24
-0
SystemLogService.java
...all/systemservice/service/systemlog/SystemLogService.java
+0
-39
SystemAccessLogBO.java
...systemservice/service/systemlog/bo/SystemAccessLogBO.java
+76
-0
SystemAccessLogCreateBO.java
...service/service/systemlog/bo/SystemAccessLogCreateBO.java
+1
-2
SystemAccessLogPageBO.java
...emservice/service/systemlog/bo/SystemAccessLogPageBO.java
+29
-0
SystemExceptionLogCreateBO.java
...vice/service/systemlog/bo/SystemExceptionLogCreateBO.java
+2
-2
application.yaml
...ct/system-service-app/src/main/resources/application.yaml
+4
-2
UserConvert.java
.../cn/iocoder/mall/system/biz/convert/user/UserConvert.java
+0
-4
AccessLogPageDTO.java
.../iocoder/mall/system/biz/dto/system/AccessLogPageDTO.java
+0
-32
DataDictController.java
...tem/application/controller/admins/DataDictController.java
+0
-80
SystemLogController.java
...em/application/controller/admins/SystemLogController.java
+0
-56
AccessLogConvert.java
...der/mall/system/application/convert/AccessLogConvert.java
+0
-30
DataDictConvert.java
...oder/mall/system/application/convert/DataDictConvert.java
+0
-19
AccessLogPageVo.java
...coder/mall/system/application/vo/log/AccessLogPageVo.java
+0
-25
没有找到文件。
common/common-framework/src/main/java/cn/iocoder/common/framework/util/ServiceExceptionUtil.java
浏览文件 @
4ed8d5fc
...
...
@@ -33,8 +33,11 @@ public class ServiceExceptionUtil {
public
interface
Enumerable
<
V
extends
Enum
>
{
int
getCode
();
String
getMessage
();
int
getGroup
();
}
/**
...
...
common/mall-spring-boot-starter-web/src/main/java/cn/iocoder/mall/web/config/CommonWebAutoConfiguration.java
浏览文件 @
4ed8d5fc
...
...
@@ -48,7 +48,7 @@ public class CommonWebAutoConfiguration implements WebMvcConfigurer {
// ========== 拦截器相关 ==========
@Bean
@ConditionalOnClass
(
name
=
{
"cn.iocoder.mall.systemservice.rpc.systemlog.System
LogRPC
"
,
"org.apache.dubbo.config.annotation.Reference"
})
@ConditionalOnClass
(
name
=
{
"cn.iocoder.mall.systemservice.rpc.systemlog.System
ExceptionLogRpc
"
,
"org.apache.dubbo.config.annotation.Reference"
})
@ConditionalOnMissingBean
(
AccessLogInterceptor
.
class
)
public
AccessLogInterceptor
accessLogInterceptor
()
{
return
new
AccessLogInterceptor
();
...
...
common/mall-spring-boot-starter-web/src/main/java/cn/iocoder/mall/web/core/handler/GlobalExceptionHandler.java
浏览文件 @
4ed8d5fc
...
...
@@ -6,8 +6,8 @@ import cn.iocoder.common.framework.util.ExceptionUtil;
import
cn.iocoder.common.framework.util.HttpUtil
;
import
cn.iocoder.common.framework.util.MallUtils
;
import
cn.iocoder.common.framework.vo.CommonResult
;
import
cn.iocoder.mall.systemservice.rpc.systemlog.System
LogRPC
;
import
cn.iocoder.mall.systemservice.rpc.systemlog.dto.
ExceptionLogAdd
DTO
;
import
cn.iocoder.mall.systemservice.rpc.systemlog.System
ExceptionLogRpc
;
import
cn.iocoder.mall.systemservice.rpc.systemlog.dto.
SystemExceptionLogCreate
DTO
;
import
cn.iocoder.mall.web.core.util.CommonWebUtil
;
import
com.alibaba.fastjson.JSON
;
import
org.apache.commons.lang3.exception.ExceptionUtils
;
...
...
@@ -44,8 +44,8 @@ public class GlobalExceptionHandler {
private
String
applicationName
;
// TODO 目前存在一个问题,如果未引入 system-rpc-api 依赖,GlobalExceptionHandler 会报类不存在。未来封装出 Repository 解决该问题
@Reference
(
validation
=
"true"
,
version
=
"${dubbo.consumer.System
LogRPC
.version}"
)
private
System
LogRPC
systemLogRPC
;
@Reference
(
validation
=
"true"
,
version
=
"${dubbo.consumer.System
ExceptionLogRpc
.version}"
)
private
System
ExceptionLogRpc
systemExceptionLogRpc
;
// 逻辑异常
@ExceptionHandler
(
value
=
ServiceException
.
class
)
...
...
@@ -76,7 +76,7 @@ public class GlobalExceptionHandler {
public
CommonResult
exceptionHandler
(
HttpServletRequest
req
,
Exception
e
)
{
logger
.
error
(
"[exceptionHandler]"
,
e
);
// 插入异常日志
ExceptionLogAddDTO
exceptionLog
=
new
ExceptionLogAdd
DTO
();
SystemExceptionLogCreateDTO
exceptionLog
=
new
SystemExceptionLogCreate
DTO
();
try
{
// 增加异常计数 metrics TODO 暂时去掉
// EXCEPTION_COUNTER.increment();
...
...
@@ -91,7 +91,7 @@ public class GlobalExceptionHandler {
return
CommonResult
.
error
(
SysErrorCodeEnum
.
SYS_ERROR
.
getCode
(),
SysErrorCodeEnum
.
SYS_ERROR
.
getMessage
());
}
private
void
initExceptionLog
(
ExceptionLogAddDTO
exceptionLog
,
HttpServletRequest
request
,
Exception
e
)
{
private
void
initExceptionLog
(
SystemExceptionLogCreateDTO
exceptionLog
,
HttpServletRequest
request
,
Exception
e
)
{
// 设置账号编号
exceptionLog
.
setUserId
(
CommonWebUtil
.
getUserId
(
request
));
exceptionLog
.
setUserType
(
CommonWebUtil
.
getUserType
(
request
));
...
...
@@ -119,9 +119,9 @@ public class GlobalExceptionHandler {
}
@Async
public
void
addExceptionLog
(
ExceptionLogAdd
DTO
exceptionLog
)
{
public
void
addExceptionLog
(
SystemExceptionLogCreate
DTO
exceptionLog
)
{
try
{
system
LogRPC
.
add
ExceptionLog
(
exceptionLog
);
system
ExceptionLogRpc
.
createSystem
ExceptionLog
(
exceptionLog
);
}
catch
(
Throwable
th
)
{
logger
.
error
(
"[addAccessLog][插入异常日志({}) 发生异常({})"
,
JSON
.
toJSONString
(
exceptionLog
),
ExceptionUtils
.
getRootCauseMessage
(
th
));
}
...
...
common/mall-spring-boot-starter-web/src/main/java/cn/iocoder/mall/web/core/interceptor/AccessLogInterceptor.java
浏览文件 @
4ed8d5fc
...
...
@@ -3,8 +3,8 @@ package cn.iocoder.mall.web.core.interceptor;
import
cn.iocoder.common.framework.util.HttpUtil
;
import
cn.iocoder.common.framework.util.MallUtils
;
import
cn.iocoder.common.framework.vo.CommonResult
;
import
cn.iocoder.mall.systemservice.rpc.systemlog.System
LogRPC
;
import
cn.iocoder.mall.systemservice.rpc.systemlog.dto.
AccessLogAdd
DTO
;
import
cn.iocoder.mall.systemservice.rpc.systemlog.System
AccessLogRpc
;
import
cn.iocoder.mall.systemservice.rpc.systemlog.dto.
SystemAccessLogCreate
DTO
;
import
cn.iocoder.mall.web.core.util.CommonWebUtil
;
import
com.alibaba.fastjson.JSON
;
import
org.apache.commons.lang3.exception.ExceptionUtils
;
...
...
@@ -26,8 +26,8 @@ public class AccessLogInterceptor extends HandlerInterceptorAdapter {
private
Logger
logger
=
LoggerFactory
.
getLogger
(
getClass
());
@Reference
(
validation
=
"false"
,
version
=
"${dubbo.consumer.System
LogRPC
.version}"
)
private
System
LogRPC
systemLogRPC
;
@Reference
(
validation
=
"false"
,
version
=
"${dubbo.consumer.System
AccessLogRpc
.version}"
)
private
System
AccessLogRpc
systemAccessLogRpc
;
@Value
(
"${spring.application.name}"
)
private
String
applicationName
;
...
...
@@ -41,7 +41,7 @@ public class AccessLogInterceptor extends HandlerInterceptorAdapter {
@Override
public
void
afterCompletion
(
HttpServletRequest
request
,
HttpServletResponse
response
,
Object
handler
,
Exception
ex
)
{
AccessLogAddDTO
accessLog
=
new
AccessLogAdd
DTO
();
SystemAccessLogCreateDTO
accessLog
=
new
SystemAccessLogCreate
DTO
();
try
{
// 初始化 accessLog
initAccessLog
(
accessLog
,
request
);
...
...
@@ -53,7 +53,7 @@ public class AccessLogInterceptor extends HandlerInterceptorAdapter {
}
}
private
void
initAccessLog
(
AccessLogAdd
DTO
accessLog
,
HttpServletRequest
request
)
{
private
void
initAccessLog
(
SystemAccessLogCreate
DTO
accessLog
,
HttpServletRequest
request
)
{
// 设置账号编号
accessLog
.
setUserId
(
CommonWebUtil
.
getUserId
(
request
));
accessLog
.
setUserType
(
CommonWebUtil
.
getUserType
(
request
));
...
...
@@ -78,9 +78,9 @@ public class AccessLogInterceptor extends HandlerInterceptorAdapter {
}
@Async
// 异步入库
public
void
addAccessLog
(
AccessLogAdd
DTO
accessLog
)
{
public
void
addAccessLog
(
SystemAccessLogCreate
DTO
accessLog
)
{
try
{
system
LogRPC
.
add
AccessLog
(
accessLog
);
system
AccessLogRpc
.
createSystem
AccessLog
(
accessLog
);
}
catch
(
Throwable
th
)
{
logger
.
error
(
"[addAccessLog][插入访问日志({}) 发生异常({})"
,
JSON
.
toJSONString
(
accessLog
),
ExceptionUtils
.
getRootCauseMessage
(
th
));
}
...
...
docs/sql/mall_system_data.sql
0 → 100644
浏览文件 @
4ed8d5fc
docs/sql/mall_system_schema.sql
0 → 100644
浏览文件 @
4ed8d5fc
差异被折叠。
点击展开。
docs/sql/mall_admin.sql
→
docs/sql/
old/
mall_admin.sql
浏览文件 @
4ed8d5fc
File moved
docs/sql/mall_order.sql
→
docs/sql/
old/
mall_order.sql
浏览文件 @
4ed8d5fc
File moved
docs/sql/mall_pay.sql
→
docs/sql/
old/
mall_pay.sql
浏览文件 @
4ed8d5fc
File moved
docs/sql/mall_product.sql
→
docs/sql/
old/
mall_product.sql
浏览文件 @
4ed8d5fc
File moved
docs/sql/mall_promotion.sql
→
docs/sql/
old/
mall_promotion.sql
浏览文件 @
4ed8d5fc
File moved
docs/sql/mall_user.sql
→
docs/sql/
old/
mall_user.sql
浏览文件 @
4ed8d5fc
File moved
management-web-app/src/main/java/cn/iocoder/mall/managementweb/controller/datadict/DataDictController.java
浏览文件 @
4ed8d5fc
...
...
@@ -6,6 +6,7 @@ import cn.iocoder.mall.managementweb.controller.datadict.dto.DataDictUpdateDTO;
import
cn.iocoder.mall.managementweb.controller.datadict.vo.DataDictSimpleVO
;
import
cn.iocoder.mall.managementweb.controller.datadict.vo.DataDictVO
;
import
cn.iocoder.mall.managementweb.manager.datadict.DataDictManager
;
import
cn.iocoder.security.annotations.RequiresPermissions
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiImplicitParam
;
import
io.swagger.annotations.ApiOperation
;
...
...
@@ -22,7 +23,7 @@ import static cn.iocoder.common.framework.vo.CommonResult.success;
* 数据字典 Controller
*/
@RestController
@RequestMapping
(
"/data
_
dict"
)
@RequestMapping
(
"/data
-
dict"
)
@Api
(
tags
=
"数据字典"
)
@Validated
public
class
DataDictController
{
...
...
@@ -32,12 +33,14 @@ public class DataDictController {
@PostMapping
(
"/create"
)
@ApiOperation
(
"创建数据字典"
)
@RequiresPermissions
(
"system:data-dict:create"
)
public
CommonResult
<
Integer
>
createDataDict
(
@Valid
DataDictCreateDTO
createDTO
)
{
return
success
(
dataDictManager
.
createDataDict
(
createDTO
));
}
@PostMapping
(
"/update"
)
@ApiOperation
(
"更新数据字典"
)
@RequiresPermissions
(
"system:data-dict:update"
)
public
CommonResult
<
Boolean
>
updateDataDict
(
@Valid
DataDictUpdateDTO
updateDTO
)
{
dataDictManager
.
updateDataDict
(
updateDTO
);
return
success
(
true
);
...
...
@@ -46,6 +49,7 @@ public class DataDictController {
@PostMapping
(
"/delete"
)
@ApiOperation
(
"删除数据字典"
)
@ApiImplicitParam
(
name
=
"dataDictId"
,
value
=
"数据字典编号"
,
required
=
true
)
@RequiresPermissions
(
"system:data-dict:delete"
)
public
CommonResult
<
Boolean
>
deleteDataDict
(
@RequestParam
(
"dataDictId"
)
Integer
dataDictId
)
{
dataDictManager
.
deleteDataDict
(
dataDictId
);
return
success
(
true
);
...
...
@@ -54,6 +58,7 @@ public class DataDictController {
@GetMapping
(
"/get"
)
@ApiOperation
(
"获得数据字典"
)
@ApiImplicitParam
(
name
=
"dataDictId"
,
value
=
"数据字典编号"
,
required
=
true
)
@RequiresPermissions
(
"system:data-dict:list"
)
public
CommonResult
<
DataDictVO
>
getDataDict
(
@RequestParam
(
"dataDictId"
)
Integer
dataDictId
)
{
return
success
(
dataDictManager
.
getDataDict
(
dataDictId
));
}
...
...
@@ -61,18 +66,21 @@ public class DataDictController {
@GetMapping
(
"/list"
)
@ApiOperation
(
"获得数据字典列表"
)
@ApiImplicitParam
(
name
=
"dataDictIds"
,
value
=
"数据字典编号列表"
,
required
=
true
)
@RequiresPermissions
(
"system:data-dict:list"
)
public
CommonResult
<
List
<
DataDictVO
>>
listDataDicts
(
@RequestParam
(
"dataDictIds"
)
List
<
Integer
>
dataDictIds
)
{
return
success
(
dataDictManager
.
listDataDicts
(
dataDictIds
));
}
@GetMapping
(
"/list-all"
)
@ApiOperation
(
"获得全部数据字典列表"
)
@RequiresPermissions
(
"system:data-dict:list"
)
public
CommonResult
<
List
<
DataDictVO
>>
listDataDicts
()
{
return
success
(
dataDictManager
.
listDataDicts
());
}
@GetMapping
(
"/list-all-simple"
)
@ApiOperation
(
value
=
"获得全部数据字典列表"
,
notes
=
"一般用于管理后台缓存数据字典在本地"
)
// 无需添加权限认证,因为前端全局都需要
public
CommonResult
<
List
<
DataDictSimpleVO
>>
listSimpleDataDicts
()
{
return
success
(
dataDictManager
.
listSimpleDataDicts
());
}
...
...
management-web-app/src/main/java/cn/iocoder/mall/managementweb/controller/systemlog/SystemAccessLogController.http
0 → 100644
浏览文件 @
4ed8d5fc
### /system-access-log/page 成功
GET {{baseUrl}}/system-access-log/page?pageNo=1&pageSize=10
Content-Type: application/x-www-form-urlencoded
Authorization: Bearer {{accessToken}}
###
management-web-app/src/main/java/cn/iocoder/mall/managementweb/controller/systemlog/SystemAccessLogController.java
0 → 100644
浏览文件 @
4ed8d5fc
package
cn
.
iocoder
.
mall
.
managementweb
.
controller
.
systemlog
;
import
cn.iocoder.common.framework.vo.CommonResult
;
import
cn.iocoder.common.framework.vo.PageResult
;
import
cn.iocoder.mall.managementweb.controller.systemlog.dto.SystemAccessLogPageDTO
;
import
cn.iocoder.mall.managementweb.controller.systemlog.vo.SystemAccessLogVO
;
import
cn.iocoder.mall.managementweb.manager.systemlog.SystemAccessLogManager
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
static
cn
.
iocoder
.
common
.
framework
.
vo
.
CommonResult
.
success
;
/**
* 系统访问日志 Controller
*/
@RestController
@RequestMapping
(
"/system-access-log"
)
@Api
(
tags
=
"系统访问日志"
)
@Validated
public
class
SystemAccessLogController
{
@Autowired
private
SystemAccessLogManager
systemAccessLogManager
;
@GetMapping
(
"/page"
)
@ApiOperation
(
"获得系统访问日志分页"
)
public
CommonResult
<
PageResult
<
SystemAccessLogVO
>>
pageSystemAccessLog
(
SystemAccessLogPageDTO
pageDTO
)
{
return
success
(
systemAccessLogManager
.
pageSystemAccessLog
(
pageDTO
));
}
}
management-web-app/src/main/java/cn/iocoder/mall/managementweb/controller/systemlog/dto/SystemAccessLogPageDTO.java
0 → 100644
浏览文件 @
4ed8d5fc
package
cn
.
iocoder
.
mall
.
managementweb
.
controller
.
systemlog
.
dto
;
import
cn.iocoder.common.framework.vo.PageParam
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
@ApiModel
(
"系统访问日志分页 DTO"
)
@Data
public
class
SystemAccessLogPageDTO
extends
PageParam
{
@ApiModelProperty
(
value
=
"用户编号"
)
private
Integer
userId
;
@ApiModelProperty
(
value
=
"用户类型"
)
private
Integer
userType
;
@ApiModelProperty
(
value
=
"应用名"
,
required
=
true
)
private
String
applicationName
;
}
system/system-start/src/main/java/cn/iocoder/mall/system/application/vo/log/AccessLogVo
.java
→
management-web-app/src/main/java/cn/iocoder/mall/managementweb/controller/systemlog/vo/SystemAccessLogVO
.java
浏览文件 @
4ed8d5fc
package
cn
.
iocoder
.
mall
.
system
.
application
.
vo
.
log
;
package
cn
.
iocoder
.
mall
.
managementweb
.
controller
.
systemlog
.
vo
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
lombok.experimental.Accessors
;
import
lombok.*
;
import
io.swagger.annotations.*
;
import
java.util.*
;
import
java.util.Date
;
/**
* @author:yuxj
* @descriptio
* @create:2019-06-23 17:04
*/
@ApiModel
(
"访问日志 VO"
)
@ApiModel
(
"系统访问日志 VO"
)
@Data
@Accessors
(
chain
=
true
)
public
class
AccessLogVo
{
@ApiModelProperty
(
value
=
"链路追踪编号"
,
required
=
true
,
example
=
"1"
)
private
String
traceId
;
public
class
SystemAccessLogVO
{
@ApiModelProperty
(
value
=
"用户编号"
,
required
=
true
,
example
=
"1"
)
@ApiModelProperty
(
value
=
"编号"
,
required
=
true
)
private
Integer
id
;
@ApiModelProperty
(
value
=
"用户编号"
,
example
=
"1024"
)
private
Integer
userId
;
@ApiModelProperty
(
value
=
"用户类型"
,
required
=
true
,
example
=
"1"
)
@ApiModelProperty
(
value
=
"用户类型"
,
example
=
"1"
)
private
Integer
userType
;
@ApiModelProperty
(
value
=
"应用名"
,
required
=
true
,
example
=
"1"
)
@ApiModelProperty
(
value
=
"链路追踪编号"
,
example
=
"89aca178-a370-411c-ae02-3f0d672be4ab"
)
private
String
traceId
;
@ApiModelProperty
(
value
=
"应用名"
,
required
=
true
,
example
=
"user-shop-application"
)
private
String
applicationName
;
@ApiModelProperty
(
value
=
"访问地址"
,
required
=
true
,
example
=
"1"
)
@ApiModelProperty
(
value
=
"访问地址"
,
required
=
true
,
example
=
"/management-api/system-access-log/page"
)
private
String
uri
;
@ApiModelProperty
(
value
=
"请求参数"
,
required
=
true
,
example
=
"1"
)
@ApiModelProperty
(
value
=
"参数"
,
required
=
true
,
example
=
"pageNo=1&pageSize=10"
)
private
String
queryString
;
@ApiModelProperty
(
value
=
"http 请求方法"
,
required
=
true
,
example
=
"1"
)
@ApiModelProperty
(
value
=
"http 方法"
,
required
=
true
,
example
=
"GET"
)
private
String
method
;
@ApiModelProperty
(
value
=
"User-Agent "
,
required
=
true
,
example
=
"1"
)
@ApiModelProperty
(
value
=
"userAgent"
,
required
=
true
,
example
=
"Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0"
)
private
String
userAgent
;
@ApiModelProperty
(
value
=
"ip"
,
required
=
true
,
example
=
"1"
)
@ApiModelProperty
(
value
=
"ip"
,
required
=
true
,
example
=
"127.0.0.1"
)
private
String
ip
;
@ApiModelProperty
(
value
=
"请求时间"
,
required
=
true
,
example
=
"1"
)
@ApiModelProperty
(
value
=
"请求时间"
,
required
=
true
)
private
Date
startTime
;
@ApiModelProperty
(
value
=
"响应时长"
,
required
=
true
,
example
=
"1"
)
@ApiModelProperty
(
value
=
"响应时长 -- 毫秒级"
,
required
=
true
,
example
=
"1024"
)
private
Integer
responseTime
;
@ApiModelProperty
(
value
=
"错误码"
,
required
=
true
,
example
=
"1"
)
@ApiModelProperty
(
value
=
"错误码"
,
required
=
true
,
example
=
"0"
)
private
Integer
errorCode
;
@ApiModelProperty
(
value
=
"错误提示"
,
example
=
"你的昵称过长~"
)
private
String
errorMessage
;
}
management-web-app/src/main/java/cn/iocoder/mall/managementweb/convert/systemlog/SystemAccessLogConvert.java
0 → 100644
浏览文件 @
4ed8d5fc
package
cn
.
iocoder
.
mall
.
managementweb
.
convert
.
systemlog
;
import
cn.iocoder.common.framework.vo.PageResult
;
import
cn.iocoder.mall.managementweb.controller.systemlog.vo.SystemAccessLogVO
;
import
cn.iocoder.mall.systemservice.rpc.systemlog.vo.SystemAccessLogPageDTO
;
import
org.mapstruct.Mapper
;
import
org.mapstruct.factory.Mappers
;
@Mapper
public
interface
SystemAccessLogConvert
{
SystemAccessLogConvert
INSTANCE
=
Mappers
.
getMapper
(
SystemAccessLogConvert
.
class
);
SystemAccessLogPageDTO
convert
(
cn
.
iocoder
.
mall
.
managementweb
.
controller
.
systemlog
.
dto
.
SystemAccessLogPageDTO
bean
);
PageResult
<
SystemAccessLogVO
>
convertPage
(
PageResult
<
cn
.
iocoder
.
mall
.
systemservice
.
rpc
.
systemlog
.
vo
.
SystemAccessLogVO
>
page
);
}
management-web-app/src/main/java/cn/iocoder/mall/managementweb/manager/datadict/DataDictManager.java
浏览文件 @
4ed8d5fc
...
...
@@ -21,7 +21,7 @@ public class DataDictManager {
private
static
final
Comparator
<
cn
.
iocoder
.
mall
.
systemservice
.
rpc
.
datadict
.
vo
.
DataDictVO
>
COMPARATOR_ENUM_VALUE_SORT
=
(
o1
,
o2
)
->
{
int
cmp
=
o1
.
getEnumValue
().
compareTo
(
o2
.
getEnumValue
());
if
(
cmp
=
=
0
)
{
if
(
cmp
!
=
0
)
{
return
cmp
;
}
return
o1
.
getSort
().
compareTo
(
o2
.
getSort
());
...
...
management-web-app/src/main/java/cn/iocoder/mall/managementweb/manager/systemlog/SystemAccessLogManager.java
0 → 100644
浏览文件 @
4ed8d5fc
package
cn
.
iocoder
.
mall
.
managementweb
.
manager
.
systemlog
;
import
cn.iocoder.common.framework.vo.CommonResult
;
import
cn.iocoder.common.framework.vo.PageResult
;
import
cn.iocoder.mall.managementweb.controller.systemlog.dto.SystemAccessLogPageDTO
;
import
cn.iocoder.mall.managementweb.controller.systemlog.vo.SystemAccessLogVO
;
import
cn.iocoder.mall.managementweb.convert.systemlog.SystemAccessLogConvert
;
import
cn.iocoder.mall.systemservice.rpc.systemlog.SystemAccessLogRpc
;
import
org.apache.dubbo.config.annotation.Reference
;
import
org.springframework.stereotype.Service
;
/**
* 系统访问日志 Manager
*/
@Service
public
class
SystemAccessLogManager
{
@Reference
(
version
=
"${dubbo.consumer.SystemAccessLogRpc.version}"
,
validation
=
"false"
)
private
SystemAccessLogRpc
systemAccessLogRpc
;
/**
* 获得系统访问日志分页
*
* @param pageDTO 系统访问日志分页查询
* @return 系统访问日志分页结果
*/
public
PageResult
<
SystemAccessLogVO
>
pageSystemAccessLog
(
SystemAccessLogPageDTO
pageDTO
)
{
CommonResult
<
PageResult
<
cn
.
iocoder
.
mall
.
systemservice
.
rpc
.
systemlog
.
vo
.
SystemAccessLogVO
>>
pageSystemAccessLogResult
=
systemAccessLogRpc
.
pageSystemAccessLog
(
SystemAccessLogConvert
.
INSTANCE
.
convert
(
pageDTO
));
pageSystemAccessLogResult
.
checkError
();
return
SystemAccessLogConvert
.
INSTANCE
.
convertPage
(
pageSystemAccessLogResult
.
getData
());
}
}
management-web-app/src/main/resources/application.yml
浏览文件 @
4ed8d5fc
...
...
@@ -28,8 +28,6 @@ dubbo:
version
:
1.0.0
AdminRpc
:
version
:
1.0.0
SystemLogRPC
:
version
:
1.0.0
ResourceRpc
:
version
:
1.0.0
RoleRpc
:
...
...
@@ -40,6 +38,10 @@ dubbo:
version
:
1.0.0
DataDictRpc
:
version
:
1.0.0
SystemAccessLogRpc
:
version
:
1.0.0
SystemExceptionLogRpc
:
version
:
1.0.0
# Swagger 配置项
swagger
:
...
...
system-service-project/system-service-api/src/main/java/cn/iocoder/mall/systemservice/rpc/systemlog/SystemAccessLogRpc.java
0 → 100644
浏览文件 @
4ed8d5fc
package
cn
.
iocoder
.
mall
.
systemservice
.
rpc
.
systemlog
;
import
cn.iocoder.common.framework.vo.CommonResult
;
import
cn.iocoder.common.framework.vo.PageResult
;
import
cn.iocoder.mall.systemservice.rpc.systemlog.dto.SystemAccessLogCreateDTO
;
import
cn.iocoder.mall.systemservice.rpc.systemlog.vo.SystemAccessLogPageDTO
;
import
cn.iocoder.mall.systemservice.rpc.systemlog.vo.SystemAccessLogVO
;
/**
* 系统访问日志 Rpc 接口
*/
public
interface
SystemAccessLogRpc
{
/**
* 创建系统访问日志
*
* @param createDTO 创建系统访问日志 DTO
* @return 系统访问日志编号
*/
CommonResult
<
Boolean
>
createSystemAccessLog
(
SystemAccessLogCreateDTO
createDTO
);
/**
* 获得系统访问日志分页
*
* @param pageDTO 系统访问日志分页查询
* @return 系统访问日志分页结果
*/
CommonResult
<
PageResult
<
SystemAccessLogVO
>>
pageSystemAccessLog
(
SystemAccessLogPageDTO
pageDTO
);
}
system-service-project/system-service-api/src/main/java/cn/iocoder/mall/systemservice/rpc/systemlog/SystemExceptionLogRpc.java
0 → 100644
浏览文件 @
4ed8d5fc
package
cn
.
iocoder
.
mall
.
systemservice
.
rpc
.
systemlog
;
import
cn.iocoder.common.framework.vo.CommonResult
;
import
cn.iocoder.mall.systemservice.rpc.systemlog.dto.SystemExceptionLogCreateDTO
;
public
interface
SystemExceptionLogRpc
{
CommonResult
<
Boolean
>
createSystemExceptionLog
(
SystemExceptionLogCreateDTO
createDTO
);
}
system-service-project/system-service-api/src/main/java/cn/iocoder/mall/systemservice/rpc/systemlog/SystemLogRPC.java
deleted
100644 → 0
浏览文件 @
e1e42c0c
package
cn
.
iocoder
.
mall
.
systemservice
.
rpc
.
systemlog
;
import
cn.iocoder.common.framework.vo.CommonResult
;
import
cn.iocoder.mall.systemservice.rpc.systemlog.dto.AccessLogAddDTO
;
import
cn.iocoder.mall.systemservice.rpc.systemlog.dto.ExceptionLogAddDTO
;
public
interface
SystemLogRPC
{
CommonResult
<
Boolean
>
addAccessLog
(
AccessLogAddDTO
accessLogAddDTO
);
CommonResult
<
Boolean
>
addExceptionLog
(
ExceptionLogAddDTO
exceptionLogAddDTO
);
}
system-service-project/system-service-api/src/main/java/cn/iocoder/mall/systemservice/rpc/systemlog/dto/
AccessLogAdd
DTO.java
→
system-service-project/system-service-api/src/main/java/cn/iocoder/mall/systemservice/rpc/systemlog/dto/
SystemAccessLogCreate
DTO.java
浏览文件 @
4ed8d5fc
...
...
@@ -9,11 +9,11 @@ import java.io.Serializable;
import
java.util.Date
;
/**
* 访问日志添加 DTO
*
系统
访问日志添加 DTO
*/
@Data
@Accessors
(
chain
=
true
)
public
class
AccessLogAdd
DTO
implements
Serializable
{
public
class
SystemAccessLogCreate
DTO
implements
Serializable
{
/**
* 账号编号
...
...
system-service-project/system-service-api/src/main/java/cn/iocoder/mall/systemservice/rpc/systemlog/dto/
ExceptionLogAdd
DTO.java
→
system-service-project/system-service-api/src/main/java/cn/iocoder/mall/systemservice/rpc/systemlog/dto/
SystemExceptionLogCreate
DTO.java
浏览文件 @
4ed8d5fc
...
...
@@ -9,11 +9,11 @@ import java.io.Serializable;
import
java.util.Date
;
/**
* 异常日志添加 DTO
*
系统
异常日志添加 DTO
*/
@Data
@Accessors
(
chain
=
true
)
public
class
ExceptionLogAdd
DTO
implements
Serializable
{
public
class
SystemExceptionLogCreate
DTO
implements
Serializable
{
/**
* 账号编号
...
...
system-service-project/system-service-api/src/main/java/cn/iocoder/mall/systemservice/rpc/systemlog/vo/SystemAccessLogPageDTO.java
0 → 100644
浏览文件 @
4ed8d5fc
package
cn
.
iocoder
.
mall
.
systemservice
.
rpc
.
systemlog
.
vo
;
import
cn.iocoder.common.framework.vo.PageParam
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
lombok.experimental.Accessors
;
/**
* 系统访问日志分页 DTO
*/
@Data
@EqualsAndHashCode
(
callSuper
=
true
)
@Accessors
(
chain
=
true
)
public
class
SystemAccessLogPageDTO
extends
PageParam
{
/**
* 用户编号
*/
private
Integer
userId
;
/**
* 用户类型
*/
private
Integer
userType
;
/**
* 应用名
*/
private
String
applicationName
;
}
system-service-project/system-service-api/src/main/java/cn/iocoder/mall/systemservice/rpc/systemlog/vo/SystemAccessLogVO.java
0 → 100644
浏览文件 @
4ed8d5fc
package
cn
.
iocoder
.
mall
.
systemservice
.
rpc
.
systemlog
.
vo
;
import
lombok.Data
;
import
lombok.experimental.Accessors
;
import
java.io.Serializable
;
import
java.util.Date
;
/**
* 系统访问日志 VO
*/
@Data
@Accessors
(
chain
=
true
)
public
class
SystemAccessLogVO
implements
Serializable
{
/**
* 编号
*/
private
Integer
id
;
/**
* 用户编号
*/
private
Integer
userId
;
/**
* 用户类型
*/
private
Integer
userType
;
/**
* 链路追踪编号
*/
private
String
traceId
;
/**
* 应用名
*/
private
String
applicationName
;
/**
* 访问地址
*/
private
String
uri
;
/**
* 参数
*/
private
String
queryString
;
/**
* http 方法
*/
private
String
method
;
/**
* userAgent
*/
private
String
userAgent
;
/**
* ip
*/
private
String
ip
;
/**
* 请求时间
*/
private
Date
startTime
;
/**
* 响应时长 -- 毫秒级
*/
private
Integer
responseTime
;
/**
* 错误码
*/
private
Integer
errorCode
;
/**
* 错误提示
*/
private
String
errorMessage
;
}
system-service-project/system-service-app/src/main/java/cn/iocoder/mall/systemservice/convert/systemlog/SystemAccessLogConvert.java
0 → 100644
浏览文件 @
4ed8d5fc
package
cn
.
iocoder
.
mall
.
systemservice
.
convert
.
systemlog
;
import
cn.iocoder.common.framework.vo.PageResult
;
import
cn.iocoder.mall.systemservice.dal.mysql.dataobject.systemlog.SystemAccessLogDO
;
import
cn.iocoder.mall.systemservice.rpc.systemlog.dto.SystemAccessLogCreateDTO
;
import
cn.iocoder.mall.systemservice.rpc.systemlog.vo.SystemAccessLogPageDTO
;
import
cn.iocoder.mall.systemservice.rpc.systemlog.vo.SystemAccessLogVO
;
import
cn.iocoder.mall.systemservice.service.systemlog.bo.SystemAccessLogBO
;
import
cn.iocoder.mall.systemservice.service.systemlog.bo.SystemAccessLogCreateBO
;
import
cn.iocoder.mall.systemservice.service.systemlog.bo.SystemAccessLogPageBO
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
org.mapstruct.Mapper
;
import
org.mapstruct.Mapping
;
import
org.mapstruct.factory.Mappers
;
@Mapper
public
interface
SystemAccessLogConvert
{
SystemAccessLogConvert
INSTANCE
=
Mappers
.
getMapper
(
SystemAccessLogConvert
.
class
);
SystemAccessLogDO
convert
(
SystemAccessLogCreateBO
bean
);
SystemAccessLogCreateBO
convert
(
SystemAccessLogCreateDTO
bean
);
@Mapping
(
source
=
"records"
,
target
=
"list"
)
PageResult
<
SystemAccessLogBO
>
convertPage
(
IPage
<
SystemAccessLogDO
>
page
);
SystemAccessLogPageBO
convert
(
SystemAccessLogPageDTO
bean
);
PageResult
<
SystemAccessLogVO
>
convertPage
(
PageResult
<
SystemAccessLogBO
>
page
);
}
system-service-project/system-service-app/src/main/java/cn/iocoder/mall/systemservice/convert/systemlog/SystemExceptionLogConvert.java
0 → 100644
浏览文件 @
4ed8d5fc
package
cn
.
iocoder
.
mall
.
systemservice
.
convert
.
systemlog
;
import
cn.iocoder.mall.systemservice.dal.mysql.dataobject.systemlog.SystemExceptionLogDO
;
import
cn.iocoder.mall.systemservice.rpc.systemlog.dto.SystemExceptionLogCreateDTO
;
import
cn.iocoder.mall.systemservice.service.systemlog.bo.SystemExceptionLogCreateBO
;
import
org.mapstruct.Mapper
;
import
org.mapstruct.factory.Mappers
;
@Mapper
public
interface
SystemExceptionLogConvert
{
SystemExceptionLogConvert
INSTANCE
=
Mappers
.
getMapper
(
SystemExceptionLogConvert
.
class
);
SystemExceptionLogDO
convert
(
SystemExceptionLogCreateBO
bean
);
SystemExceptionLogCreateBO
convert
(
SystemExceptionLogCreateDTO
bean
);
}
system-service-project/system-service-app/src/main/java/cn/iocoder/mall/systemservice/convert/systemlog/SystemLogConvert.java
deleted
100644 → 0
浏览文件 @
e1e42c0c
package
cn
.
iocoder
.
mall
.
systemservice
.
convert
.
systemlog
;
import
cn.iocoder.mall.systemservice.dal.mysql.dataobject.systemlog.AccessLogDO
;
import
cn.iocoder.mall.systemservice.dal.mysql.dataobject.systemlog.ExceptionLogDO
;
import
cn.iocoder.mall.systemservice.rpc.systemlog.dto.AccessLogAddDTO
;
import
cn.iocoder.mall.systemservice.rpc.systemlog.dto.ExceptionLogAddDTO
;
import
cn.iocoder.mall.systemservice.service.systemlog.bo.AccessLogAddBO
;
import
cn.iocoder.mall.systemservice.service.systemlog.bo.ExceptionLogAddBO
;
import
org.mapstruct.Mapper
;
import
org.mapstruct.factory.Mappers
;
@Mapper
public
interface
SystemLogConvert
{
SystemLogConvert
INSTANCE
=
Mappers
.
getMapper
(
SystemLogConvert
.
class
);
AccessLogDO
convert
(
AccessLogAddBO
bean
);
ExceptionLogDO
convert
(
ExceptionLogAddBO
bean
);
AccessLogAddBO
convert
(
AccessLogAddDTO
bean
);
ExceptionLogAddBO
convert
(
ExceptionLogAddDTO
bean
);
// AccessLogDO convert(AccessLogAddDTO bean);
//
// ExceptionLogDO convert(ExceptionLogAddDTO bean);
//
// @Mapping(source = "records", target = "list")
// PageResult<AccessLogBO> convertPage(IPage<AccessLogDO> page);
//
// AccessLogBO convert(AccessLogDO bean);
}
system-service-project/system-service-app/src/main/java/cn/iocoder/mall/systemservice/dal/mysql/dataobject/datadict/DataDictDO.java
浏览文件 @
4ed8d5fc
...
...
@@ -14,7 +14,7 @@ import lombok.experimental.Accessors;
* value:1 男
* value:2 女
*/
@TableName
(
"data_dict"
)
@TableName
(
"
system_
data_dict"
)
@Data
@Accessors
(
chain
=
true
)
public
class
DataDictDO
extends
DeletableDO
{
...
...
system-service-project/system-service-app/src/main/java/cn/iocoder/mall/systemservice/dal/mysql/dataobject/systemlog/AccessLogDO.java
→
system-service-project/system-service-app/src/main/java/cn/iocoder/mall/systemservice/dal/mysql/dataobject/systemlog/
System
AccessLogDO.java
浏览文件 @
4ed8d5fc
...
...
@@ -11,13 +11,17 @@ import lombok.experimental.Accessors;
import
java.util.Date
;
/**
* 访问日志 DO
* 系统访问日志 DO
*
* 记录用户、管理员对 API 接口的调用
*
* TODO 优化点:考虑到架构简单,暂时记录到 MySQL。因为访问日志容易比较大,所以建议未来存储到 ES 中,同时能够提供更丰富的检索能力
*/
@TableName
(
"system_access_log"
)
@Data
@EqualsAndHashCode
(
callSuper
=
true
)
@Accessors
(
chain
=
true
)
public
class
AccessLogDO
extends
BaseDO
{
public
class
System
AccessLogDO
extends
BaseDO
{
/**
* 编号
...
...
system-service-project/system-service-app/src/main/java/cn/iocoder/mall/systemservice/dal/mysql/dataobject/systemlog/ExceptionLogDO.java
→
system-service-project/system-service-app/src/main/java/cn/iocoder/mall/systemservice/dal/mysql/dataobject/systemlog/
System
ExceptionLogDO.java
浏览文件 @
4ed8d5fc
...
...
@@ -10,13 +10,13 @@ import lombok.experimental.Accessors;
import
java.util.Date
;
/**
* 异常日志 DO
*
系统
异常日志 DO
*/
@TableName
(
"system_exception_log"
)
@Data
@EqualsAndHashCode
(
callSuper
=
true
)
@Accessors
(
chain
=
true
)
public
class
ExceptionLogDO
extends
BaseDO
{
public
class
System
ExceptionLogDO
extends
BaseDO
{
/**
* 编号
...
...
system-service-project/system-service-app/src/main/java/cn/iocoder/mall/systemservice/dal/mysql/mapper/datadict/DataDictMapper.java
浏览文件 @
4ed8d5fc
...
...
@@ -13,16 +13,16 @@ public interface DataDictMapper extends BaseMapper<DataDictDO> {
default
DataDictDO
selectByEnumValueAndValue
(
String
enumValue
,
String
value
)
{
return
selectOne
(
new
QueryWrapper
<
DataDictDO
>()
.
eq
(
"enum
V
alue"
,
enumValue
).
eq
(
"value"
,
value
));
.
eq
(
"enum
_v
alue"
,
enumValue
).
eq
(
"value"
,
value
));
}
default
List
<
DataDictDO
>
selectByEnumValueAndValues
(
String
enumValue
,
Collection
<
String
>
values
)
{
return
selectList
(
new
QueryWrapper
<
DataDictDO
>()
.
eq
(
"enum
V
alue"
,
enumValue
).
in
(
"value"
,
values
));
.
eq
(
"enum
_v
alue"
,
enumValue
).
in
(
"value"
,
values
));
}
default
List
<
DataDictDO
>
selectByEnumValue
(
String
enumValue
)
{
return
selectList
(
new
QueryWrapper
<
DataDictDO
>().
eq
(
"enum
V
alue"
,
enumValue
));
return
selectList
(
new
QueryWrapper
<
DataDictDO
>().
eq
(
"enum
_v
alue"
,
enumValue
));
}
}
system-service-project/system-service-app/src/main/java/cn/iocoder/mall/systemservice/dal/mysql/mapper/systemlog/AccessLogMapper.java
deleted
100644 → 0
浏览文件 @
e1e42c0c
package
cn
.
iocoder
.
mall
.
systemservice
.
dal
.
mysql
.
mapper
.
systemlog
;
import
cn.iocoder.mall.systemservice.dal.mysql.dataobject.systemlog.AccessLogDO
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
org.springframework.stereotype.Repository
;
@Repository
public
interface
AccessLogMapper
extends
BaseMapper
<
AccessLogDO
>
{
// default IPage<AccessLogDO> selectPage(AccessLogPageDTO accessLogPageDTO) {
// return selectPage(new Page<>(accessLogPageDTO.getPageNo(), accessLogPageDTO.getPageSize()),
// new QueryWrapperX<AccessLogDO>().eqIfPresent("account_id", accessLogPageDTO.getAccountId()));
// }
}
system-service-project/system-service-app/src/main/java/cn/iocoder/mall/systemservice/dal/mysql/mapper/systemlog/SystemAccessLogMapper.java
0 → 100644
浏览文件 @
4ed8d5fc
package
cn
.
iocoder
.
mall
.
systemservice
.
dal
.
mysql
.
mapper
.
systemlog
;
import
cn.iocoder.mall.mybatis.query.QueryWrapperX
;
import
cn.iocoder.mall.systemservice.dal.mysql.dataobject.systemlog.SystemAccessLogDO
;
import
cn.iocoder.mall.systemservice.service.systemlog.bo.SystemAccessLogPageBO
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
org.springframework.stereotype.Repository
;
/**
* 系统访问日志 Mapper
*/
@Repository
public
interface
SystemAccessLogMapper
extends
BaseMapper
<
SystemAccessLogDO
>
{
default
IPage
<
SystemAccessLogDO
>
selectPage
(
SystemAccessLogPageBO
pageBO
)
{
return
selectPage
(
new
Page
<>(
pageBO
.
getPageNo
(),
pageBO
.
getPageSize
()),
new
QueryWrapperX
<
SystemAccessLogDO
>()
.
eqIfPresent
(
"user_id"
,
pageBO
.
getUserId
())
.
eqIfPresent
(
"user_type"
,
pageBO
.
getUserType
())
.
eqIfPresent
(
"application_name"
,
pageBO
.
getApplicationName
())
.
orderByDesc
(
"start_time"
));
}
}
system-service-project/system-service-app/src/main/java/cn/iocoder/mall/systemservice/dal/mysql/mapper/systemlog/ExceptionLogMapper.java
→
system-service-project/system-service-app/src/main/java/cn/iocoder/mall/systemservice/dal/mysql/mapper/systemlog/
System
ExceptionLogMapper.java
浏览文件 @
4ed8d5fc
package
cn
.
iocoder
.
mall
.
systemservice
.
dal
.
mysql
.
mapper
.
systemlog
;
import
cn.iocoder.mall.systemservice.dal.mysql.dataobject.systemlog.ExceptionLogDO
;
import
cn.iocoder.mall.systemservice.dal.mysql.dataobject.systemlog.
System
ExceptionLogDO
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
org.springframework.stereotype.Repository
;
@Repository
public
interface
ExceptionLogMapper
extends
BaseMapper
<
ExceptionLogDO
>
{
public
interface
SystemExceptionLogMapper
extends
BaseMapper
<
System
ExceptionLogDO
>
{
}
system-service-project/system-service-app/src/main/java/cn/iocoder/mall/systemservice/manager/systemlog/SystemAccessLogManager.java
0 → 100644
浏览文件 @
4ed8d5fc
package
cn
.
iocoder
.
mall
.
systemservice
.
manager
.
systemlog
;
import
cn.iocoder.common.framework.vo.PageResult
;
import
cn.iocoder.mall.systemservice.convert.systemlog.SystemAccessLogConvert
;
import
cn.iocoder.mall.systemservice.rpc.systemlog.dto.SystemAccessLogCreateDTO
;
import
cn.iocoder.mall.systemservice.rpc.systemlog.vo.SystemAccessLogPageDTO
;
import
cn.iocoder.mall.systemservice.rpc.systemlog.vo.SystemAccessLogVO
;
import
cn.iocoder.mall.systemservice.service.systemlog.SystemAccessLogService
;
import
cn.iocoder.mall.systemservice.service.systemlog.bo.SystemAccessLogBO
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
/**
* 系统访问日志 Manager
*/
@Service
public
class
SystemAccessLogManager
{
@Autowired
private
SystemAccessLogService
systemAccessLogService
;
/**
* 创建系统访问日志
*
* @param createDTO 创建系统访问日志 DTO
*/
public
void
createSystemAccessLog
(
SystemAccessLogCreateDTO
createDTO
)
{
systemAccessLogService
.
createSystemAccessLog
(
SystemAccessLogConvert
.
INSTANCE
.
convert
(
createDTO
));
}
/**
* 获得系统访问日志分页
*
* @param pageDTO 系统访问日志分页查询
* @return 系统访问日志分页结果
*/
public
PageResult
<
SystemAccessLogVO
>
pageSystemAccessLog
(
SystemAccessLogPageDTO
pageDTO
)
{
PageResult
<
SystemAccessLogBO
>
pageResultBO
=
systemAccessLogService
.
pageSystemAccessLog
(
SystemAccessLogConvert
.
INSTANCE
.
convert
(
pageDTO
));
return
SystemAccessLogConvert
.
INSTANCE
.
convertPage
(
pageResultBO
);
}
}
system-service-project/system-service-app/src/main/java/cn/iocoder/mall/systemservice/manager/systemlog/SystemExceptionLogManager.java
0 → 100644
浏览文件 @
4ed8d5fc
package
cn
.
iocoder
.
mall
.
systemservice
.
manager
.
systemlog
;
import
cn.iocoder.mall.systemservice.convert.systemlog.SystemExceptionLogConvert
;
import
cn.iocoder.mall.systemservice.rpc.systemlog.dto.SystemExceptionLogCreateDTO
;
import
cn.iocoder.mall.systemservice.service.systemlog.SystemExceptionLogService
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
/**
* 系统异常日志 Manager
*/
@Service
public
class
SystemExceptionLogManager
{
@Autowired
private
SystemExceptionLogService
systemLogService
;
public
void
createSystemExceptionLog
(
SystemExceptionLogCreateDTO
createDTO
)
{
systemLogService
.
createSystemExceptionLog
(
SystemExceptionLogConvert
.
INSTANCE
.
convert
(
createDTO
));
}
}
system-service-project/system-service-app/src/main/java/cn/iocoder/mall/systemservice/manager/systemlog/SystemLogManager.java
deleted
100644 → 0
浏览文件 @
e1e42c0c
package
cn
.
iocoder
.
mall
.
systemservice
.
manager
.
systemlog
;
import
cn.iocoder.mall.systemservice.convert.systemlog.SystemLogConvert
;
import
cn.iocoder.mall.systemservice.rpc.systemlog.dto.AccessLogAddDTO
;
import
cn.iocoder.mall.systemservice.rpc.systemlog.dto.ExceptionLogAddDTO
;
import
cn.iocoder.mall.systemservice.service.systemlog.SystemLogService
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
@Service
public
class
SystemLogManager
{
@Autowired
private
SystemLogService
systemLogService
;
public
void
addAccessLog
(
AccessLogAddDTO
accessLogAddDTO
)
{
systemLogService
.
addAccessLog
(
SystemLogConvert
.
INSTANCE
.
convert
(
accessLogAddDTO
));
}
public
void
addExceptionLog
(
ExceptionLogAddDTO
exceptionLogAddDTO
)
{
systemLogService
.
addExceptionLog
(
SystemLogConvert
.
INSTANCE
.
convert
(
exceptionLogAddDTO
));
}
}
system-service-project/system-service-app/src/main/java/cn/iocoder/mall/systemservice/rpc/systemlog/SystemAccessLogRpcImpl.java
0 → 100644
浏览文件 @
4ed8d5fc
package
cn
.
iocoder
.
mall
.
systemservice
.
rpc
.
systemlog
;
import
cn.iocoder.common.framework.vo.CommonResult
;
import
cn.iocoder.common.framework.vo.PageResult
;
import
cn.iocoder.mall.systemservice.manager.systemlog.SystemAccessLogManager
;
import
cn.iocoder.mall.systemservice.rpc.systemlog.dto.SystemAccessLogCreateDTO
;
import
cn.iocoder.mall.systemservice.rpc.systemlog.vo.SystemAccessLogPageDTO
;
import
cn.iocoder.mall.systemservice.rpc.systemlog.vo.SystemAccessLogVO
;
import
org.apache.dubbo.config.annotation.Service
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
static
cn
.
iocoder
.
common
.
framework
.
vo
.
CommonResult
.
success
;
/**
* 系统访问日志 Rpc 实现类
*/
@Service
(
version
=
"${dubbo.provider.SystemAccessLogRpc.version}"
,
validation
=
"false"
)
public
class
SystemAccessLogRpcImpl
implements
SystemAccessLogRpc
{
@Autowired
private
SystemAccessLogManager
systemAccessLogManager
;
@Override
public
CommonResult
<
Boolean
>
createSystemAccessLog
(
SystemAccessLogCreateDTO
createDTO
)
{
systemAccessLogManager
.
createSystemAccessLog
(
createDTO
);
return
success
(
true
);
}
@Override
public
CommonResult
<
PageResult
<
SystemAccessLogVO
>>
pageSystemAccessLog
(
SystemAccessLogPageDTO
pageDTO
)
{
return
success
(
systemAccessLogManager
.
pageSystemAccessLog
(
pageDTO
));
}
}
system-service-project/system-service-app/src/main/java/cn/iocoder/mall/systemservice/rpc/systemlog/SystemExceptionLogRpcImpl.java
0 → 100644
浏览文件 @
4ed8d5fc
package
cn
.
iocoder
.
mall
.
systemservice
.
rpc
.
systemlog
;
import
cn.iocoder.common.framework.vo.CommonResult
;
import
cn.iocoder.mall.systemservice.manager.systemlog.SystemExceptionLogManager
;
import
cn.iocoder.mall.systemservice.rpc.systemlog.dto.SystemExceptionLogCreateDTO
;
import
org.apache.dubbo.config.annotation.Service
;
import
org.springframework.beans.factory.annotation.Autowired
;
@Service
(
version
=
"${dubbo.provider.SystemExceptionLogRpc.version}"
,
validation
=
"false"
)
public
class
SystemExceptionLogRpcImpl
implements
SystemExceptionLogRpc
{
@Autowired
private
SystemExceptionLogManager
systemExceptionLogManager
;
@Override
public
CommonResult
<
Boolean
>
createSystemExceptionLog
(
SystemExceptionLogCreateDTO
createDTO
)
{
systemExceptionLogManager
.
createSystemExceptionLog
(
createDTO
);
return
CommonResult
.
success
(
true
);
}
}
system-service-project/system-service-app/src/main/java/cn/iocoder/mall/systemservice/rpc/systemlog/SystemLogRPCImpl.java
deleted
100644 → 0
浏览文件 @
e1e42c0c
package
cn
.
iocoder
.
mall
.
systemservice
.
rpc
.
systemlog
;
import
cn.iocoder.common.framework.vo.CommonResult
;
import
cn.iocoder.mall.systemservice.manager.systemlog.SystemLogManager
;
import
cn.iocoder.mall.systemservice.rpc.systemlog.dto.AccessLogAddDTO
;
import
cn.iocoder.mall.systemservice.rpc.systemlog.dto.ExceptionLogAddDTO
;
import
org.apache.dubbo.config.annotation.Service
;
import
org.springframework.beans.factory.annotation.Autowired
;
@Service
(
version
=
"${dubbo.provider.SystemLogRPC.version}"
,
validation
=
"false"
)
public
class
SystemLogRPCImpl
implements
SystemLogRPC
{
@Autowired
private
SystemLogManager
systemLogManager
;
@Override
public
CommonResult
<
Boolean
>
addAccessLog
(
AccessLogAddDTO
accessLogAddDTO
)
{
systemLogManager
.
addAccessLog
(
accessLogAddDTO
);
return
CommonResult
.
success
(
true
);
}
@Override
public
CommonResult
<
Boolean
>
addExceptionLog
(
ExceptionLogAddDTO
exceptionLogAddDTO
)
{
systemLogManager
.
addExceptionLog
(
exceptionLogAddDTO
);
return
CommonResult
.
success
(
true
);
}
}
system-service-project/system-service-app/src/main/java/cn/iocoder/mall/systemservice/service/systemlog/SystemAccessLogService.java
0 → 100644
浏览文件 @
4ed8d5fc
package
cn
.
iocoder
.
mall
.
systemservice
.
service
.
systemlog
;
import
cn.iocoder.common.framework.vo.PageResult
;
import
cn.iocoder.mall.systemservice.convert.systemlog.SystemAccessLogConvert
;
import
cn.iocoder.mall.systemservice.dal.mysql.dataobject.systemlog.SystemAccessLogDO
;
import
cn.iocoder.mall.systemservice.dal.mysql.mapper.systemlog.SystemAccessLogMapper
;
import
cn.iocoder.mall.systemservice.service.systemlog.bo.SystemAccessLogBO
;
import
cn.iocoder.mall.systemservice.service.systemlog.bo.SystemAccessLogCreateBO
;
import
cn.iocoder.mall.systemservice.service.systemlog.bo.SystemAccessLogPageBO
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
/**
* 系统访问日志 Service
*/
@Service
public
class
SystemAccessLogService
{
@Autowired
private
SystemAccessLogMapper
systemAccessLogMapper
;
/**
* 创建系统访问日志
*
* @param createBO 创建系统访问日志 BO
*/
public
void
createSystemAccessLog
(
SystemAccessLogCreateBO
createBO
)
{
SystemAccessLogDO
logDO
=
SystemAccessLogConvert
.
INSTANCE
.
convert
(
createBO
);
systemAccessLogMapper
.
insert
(
logDO
);
}
/**
* 获得系统访问日志分页
*
* @param pageBO 系统访问日志分页查询
* @return 系统访问日志分页结果
*/
public
PageResult
<
SystemAccessLogBO
>
pageSystemAccessLog
(
SystemAccessLogPageBO
pageBO
)
{
IPage
<
SystemAccessLogDO
>
systemAccessLogDOPage
=
systemAccessLogMapper
.
selectPage
(
pageBO
);
return
SystemAccessLogConvert
.
INSTANCE
.
convertPage
(
systemAccessLogDOPage
);
}
}
system-service-project/system-service-app/src/main/java/cn/iocoder/mall/systemservice/service/systemlog/SystemExceptionLogService.java
0 → 100644
浏览文件 @
4ed8d5fc
package
cn
.
iocoder
.
mall
.
systemservice
.
service
.
systemlog
;
import
cn.iocoder.mall.systemservice.convert.systemlog.SystemExceptionLogConvert
;
import
cn.iocoder.mall.systemservice.dal.mysql.dataobject.systemlog.SystemExceptionLogDO
;
import
cn.iocoder.mall.systemservice.dal.mysql.mapper.systemlog.SystemExceptionLogMapper
;
import
cn.iocoder.mall.systemservice.service.systemlog.bo.SystemExceptionLogCreateBO
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
/**
* 系统异常日志 Service
*/
@Service
public
class
SystemExceptionLogService
{
@Autowired
private
SystemExceptionLogMapper
systemExceptionLogMapper
;
public
void
createSystemExceptionLog
(
SystemExceptionLogCreateBO
createBO
)
{
SystemExceptionLogDO
logDO
=
SystemExceptionLogConvert
.
INSTANCE
.
convert
(
createBO
);
systemExceptionLogMapper
.
insert
(
logDO
);
}
}
system-service-project/system-service-app/src/main/java/cn/iocoder/mall/systemservice/service/systemlog/SystemLogService.java
deleted
100644 → 0
浏览文件 @
e1e42c0c
package
cn
.
iocoder
.
mall
.
systemservice
.
service
.
systemlog
;
import
cn.iocoder.mall.systemservice.convert.systemlog.SystemLogConvert
;
import
cn.iocoder.mall.systemservice.dal.mysql.dataobject.systemlog.AccessLogDO
;
import
cn.iocoder.mall.systemservice.dal.mysql.dataobject.systemlog.ExceptionLogDO
;
import
cn.iocoder.mall.systemservice.dal.mysql.mapper.systemlog.AccessLogMapper
;
import
cn.iocoder.mall.systemservice.dal.mysql.mapper.systemlog.ExceptionLogMapper
;
import
cn.iocoder.mall.systemservice.service.systemlog.bo.AccessLogAddBO
;
import
cn.iocoder.mall.systemservice.service.systemlog.bo.ExceptionLogAddBO
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
@Service
public
class
SystemLogService
{
@Autowired
private
AccessLogMapper
accessLogMapper
;
@Autowired
private
ExceptionLogMapper
exceptionLogMapper
;
public
void
addAccessLog
(
AccessLogAddBO
accessLogAddBO
)
{
AccessLogDO
logDO
=
SystemLogConvert
.
INSTANCE
.
convert
(
accessLogAddBO
);
accessLogMapper
.
insert
(
logDO
);
}
public
void
addExceptionLog
(
ExceptionLogAddBO
exceptionLogAddBO
)
{
ExceptionLogDO
logDO
=
SystemLogConvert
.
INSTANCE
.
convert
(
exceptionLogAddBO
);
exceptionLogMapper
.
insert
(
logDO
);
}
// @Override
// @SuppressWarnings("Duplicates")
// public PageResult<AccessLogBO> getAccessLogPage(AccessLogPageDTO accessLogPageDTO) {
// PageResult<AccessLogBO> accessLogPageBOPageResult = SystemLogConvert.INSTANCE.convertPage(
// accessLogMapper.selectPage(accessLogPageDTO)); // TODO FROM 芋艿 to 2447007062:可以考虑直接 return,简洁 + IDEA 不告警;
// return accessLogPageBOPageResult;
// }
}
system-service-project/system-service-app/src/main/java/cn/iocoder/mall/systemservice/service/systemlog/bo/SystemAccessLogBO.java
0 → 100644
浏览文件 @
4ed8d5fc
package
cn
.
iocoder
.
mall
.
systemservice
.
service
.
systemlog
.
bo
;
import
lombok.Data
;
import
lombok.experimental.Accessors
;
import
java.util.Date
;
/**
* 系统访问日志 BO
*/
@Data
@Accessors
(
chain
=
true
)
public
class
SystemAccessLogBO
{
/**
* 编号
*/
private
Integer
id
;
/**
* 用户编号
*/
private
Integer
userId
;
/**
* 用户类型
*/
private
Integer
userType
;
/**
* 链路追踪编号
*/
private
String
traceId
;
/**
* 应用名
*/
private
String
applicationName
;
/**
* 访问地址
*/
private
String
uri
;
/**
* 参数
*/
private
String
queryString
;
/**
* http 方法
*/
private
String
method
;
/**
* userAgent
*/
private
String
userAgent
;
/**
* ip
*/
private
String
ip
;
/**
* 请求时间
*/
private
Date
startTime
;
/**
* 响应时长 -- 毫秒级
*/
private
Integer
responseTime
;
/**
* 错误码
*/
private
Integer
errorCode
;
/**
* 错误提示
*/
private
String
errorMessage
;
/**
* 创建时间
*/
private
Date
createTime
;
}
system-service-project/system-service-app/src/main/java/cn/iocoder/mall/systemservice/service/systemlog/bo/
AccessLogAdd
BO.java
→
system-service-project/system-service-app/src/main/java/cn/iocoder/mall/systemservice/service/systemlog/bo/
SystemAccessLogCreate
BO.java
浏览文件 @
4ed8d5fc
...
...
@@ -5,7 +5,6 @@ import lombok.Data;
import
lombok.experimental.Accessors
;
import
javax.validation.constraints.NotNull
;
import
java.io.Serializable
;
import
java.util.Date
;
/**
...
...
@@ -13,7 +12,7 @@ import java.util.Date;
*/
@Data
@Accessors
(
chain
=
true
)
public
class
AccessLogAddBO
implements
Serializable
{
public
class
SystemAccessLogCreateBO
{
/**
* 账号编号
...
...
system-service-project/system-service-app/src/main/java/cn/iocoder/mall/systemservice/service/systemlog/bo/SystemAccessLogPageBO.java
0 → 100644
浏览文件 @
4ed8d5fc
package
cn
.
iocoder
.
mall
.
systemservice
.
service
.
systemlog
.
bo
;
import
cn.iocoder.common.framework.vo.PageParam
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
lombok.experimental.Accessors
;
/**
* 系统访问日志分页 BO
*/
@Data
@EqualsAndHashCode
(
callSuper
=
true
)
@Accessors
(
chain
=
true
)
public
class
SystemAccessLogPageBO
extends
PageParam
{
/**
* 用户编号
*/
private
Integer
userId
;
/**
* 用户类型
*/
private
Integer
userType
;
/**
* 应用名
*/
private
String
applicationName
;
}
system-service-project/system-service-app/src/main/java/cn/iocoder/mall/systemservice/service/systemlog/bo/
ExceptionLogAdd
BO.java
→
system-service-project/system-service-app/src/main/java/cn/iocoder/mall/systemservice/service/systemlog/bo/
SystemExceptionLogCreate
BO.java
浏览文件 @
4ed8d5fc
...
...
@@ -8,11 +8,11 @@ import javax.validation.constraints.NotNull;
import
java.util.Date
;
/**
* 异常日志添加 BO
*
系统
异常日志添加 BO
*/
@Data
@Accessors
(
chain
=
true
)
public
class
ExceptionLogAdd
BO
{
public
class
SystemExceptionLogCreate
BO
{
/**
* 账号编号
...
...
system-service-project/system-service-app/src/main/resources/application.yaml
浏览文件 @
4ed8d5fc
...
...
@@ -37,8 +37,6 @@ dubbo:
version
:
1.0.0
AdminRpc
:
version
:
1.0.0
SystemLogRPC
:
version
:
1.0.0
ResourceRpc
:
version
:
1.0.0
RoleRpc
:
...
...
@@ -49,3 +47,7 @@ dubbo:
version
:
1.0.0
DataDictRpc
:
version
:
1.0.0
SystemExceptionLogRpc
:
version
:
1.0.0
SystemAccessLogRpc
:
version
:
1.0.0
system/system-biz/src/main/java/cn/iocoder/mall/system/biz/convert/user/UserConvert.java
浏览文件 @
4ed8d5fc
...
...
@@ -18,10 +18,6 @@ public interface UserConvert {
UserConvert
INSTANCE
=
Mappers
.
getMapper
(
UserConvert
.
class
);
@Mapping
(
source
=
"userBO"
,
target
=
"user"
)
@Mapping
(
source
=
"accessTokenBO"
,
target
=
"token"
)
UserAuthenticateBO
convert
(
UserBO
userBO
,
OAuth2AuthenticateBO
accessTokenBO
);
UserBO
convert
(
UserDO
bean
);
/**
...
...
system/system-biz/src/main/java/cn/iocoder/mall/system/biz/dto/system/AccessLogPageDTO.java
deleted
100644 → 0
浏览文件 @
e1e42c0c
package
cn
.
iocoder
.
mall
.
system
.
biz
.
dto
.
system
;
import
lombok.Data
;
import
lombok.experimental.Accessors
;
import
javax.validation.constraints.NotNull
;
/**
* 访问日志添加 DTO
*/
@Data
@Accessors
(
chain
=
true
)
public
class
AccessLogPageDTO
{
// TODO FROM 芋艿 to 2447007062:有个 PageParams 类哈,可以继承
/**
* 账号编号
*/
private
Integer
accountId
;
/**
* 页码,从 1 开始
*/
@NotNull
(
message
=
"页码不能为空"
)
private
Integer
pageNo
;
/**
* 每页条数
*/
@NotNull
(
message
=
"每页条数不能为空"
)
private
Integer
pageSize
;
}
system/system-start/src/main/java/cn/iocoder/mall/system/application/controller/admins/DataDictController.java
deleted
100644 → 0
浏览文件 @
e1e42c0c
package
cn
.
iocoder
.
mall
.
system
.
application
.
controller
.
admins
;
import
cn.iocoder.common.framework.vo.CommonResult
;
import
cn.iocoder.mall.system.api.DataDictService
;
import
cn.iocoder.mall.system.api.bo.datadict.DataDictBO
;
import
cn.iocoder.mall.system.api.dto.datadict.DataDictAddDTO
;
import
cn.iocoder.mall.system.api.dto.datadict.DataDictUpdateDTO
;
import
cn.iocoder.mall.system.application.convert.DataDictConvert
;
import
cn.iocoder.mall.system.application.vo.datadict.DataDictEnumVO
;
import
cn.iocoder.mall.system.sdk.annotation.RequiresPermissions
;
import
cn.iocoder.mall.system.sdk.context.AdminSecurityContextHolder
;
import
com.google.common.collect.ImmutableListMultimap
;
import
com.google.common.collect.Multimaps
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiImplicitParam
;
import
io.swagger.annotations.ApiOperation
;
import
org.apache.dubbo.config.annotation.Reference
;
import
org.springframework.web.bind.annotation.*
;
import
java.util.ArrayList
;
import
java.util.List
;
import
static
cn
.
iocoder
.
common
.
framework
.
vo
.
CommonResult
.
success
;
@RestController
@RequestMapping
(
"admins/data_dict"
)
@Api
(
"数据字典模块"
)
public
class
DataDictController
{
@Reference
(
validation
=
"true"
,
version
=
"${dubbo.provider.DataDictService.version}"
)
private
DataDictService
dataDictService
;
@GetMapping
(
"/list"
)
@ApiOperation
(
value
=
"数据字典全列表"
)
@RequiresPermissions
(
"system.dataDict.list"
)
public
CommonResult
<
List
<
DataDictBO
>>
list
()
{
return
success
(
dataDictService
.
selectDataDictList
());
}
@GetMapping
(
"/tree"
)
@RequiresPermissions
({})
// 因为是通用的接口,所以无需权限标识
@ApiOperation
(
value
=
"数据字典树结构"
,
notes
=
"该接口返回的信息更为精简。一般用于前端缓存数据字典到本地。"
)
public
CommonResult
<
List
<
DataDictEnumVO
>>
tree
()
{
// 查询数据字典全列表
List
<
DataDictBO
>
dataDicts
=
dataDictService
.
selectDataDictList
();
// 构建基于 enumValue 聚合的 Multimap
ImmutableListMultimap
<
String
,
DataDictBO
>
dataDictMap
=
Multimaps
.
index
(
dataDicts
,
DataDictBO:
:
getEnumValue
);
// KEY 是 enumValue ,VALUE 是 DataDictBO 数组
// 构建返回结果
List
<
DataDictEnumVO
>
dataDictEnumVOs
=
new
ArrayList
<>(
dataDictMap
.
size
());
dataDictMap
.
keys
().
forEach
(
enumValue
->
{
DataDictEnumVO
dataDictEnumVO
=
new
DataDictEnumVO
().
setEnumValue
(
enumValue
)
.
setValues
(
DataDictConvert
.
INSTANCE
.
convert2
(
dataDictMap
.
get
(
enumValue
)));
dataDictEnumVOs
.
add
(
dataDictEnumVO
);
});
return
success
(
dataDictEnumVOs
);
}
@PostMapping
(
"/add"
)
@RequiresPermissions
(
"system.dataDict.add"
)
@ApiOperation
(
value
=
"创建数据字典"
)
public
CommonResult
<
DataDictBO
>
add
(
DataDictAddDTO
dataDictAddDTO
)
{
return
success
(
dataDictService
.
addDataDict
(
AdminSecurityContextHolder
.
getContext
().
getAdminId
(),
dataDictAddDTO
));
}
@PostMapping
(
"/update"
)
@RequiresPermissions
(
"system.dataDict.update"
)
@ApiOperation
(
value
=
"更新数据字典"
)
public
CommonResult
<
Boolean
>
update
(
DataDictUpdateDTO
dataDictUpdateDTO
)
{
return
success
(
dataDictService
.
updateDataDict
(
AdminSecurityContextHolder
.
getContext
().
getAdminId
(),
dataDictUpdateDTO
));
}
@PostMapping
(
"/delete"
)
@RequiresPermissions
(
"system.dataDict.delete"
)
@ApiOperation
(
value
=
"删除数据字典"
)
@ApiImplicitParam
(
name
=
"id"
,
value
=
"编号"
,
required
=
true
,
example
=
"100"
)
public
CommonResult
<
Boolean
>
delete
(
@RequestParam
(
"id"
)
Integer
id
)
{
return
success
(
dataDictService
.
deleteDataDict
(
AdminSecurityContextHolder
.
getContext
().
getAdminId
(),
id
));
}
}
system/system-start/src/main/java/cn/iocoder/mall/system/application/controller/admins/SystemLogController.java
deleted
100644 → 0
浏览文件 @
e1e42c0c
package
cn
.
iocoder
.
mall
.
system
.
application
.
controller
.
admins
;
import
cn.iocoder.common.framework.vo.CommonResult
;
import
cn.iocoder.mall.system.api.SystemLogService
;
import
cn.iocoder.mall.system.api.bo.systemlog.AccessLogPageBO
;
import
cn.iocoder.mall.system.api.dto.systemlog.AccessLogPageDTO
;
import
cn.iocoder.mall.system.application.convert.AccessLogConvert
;
import
cn.iocoder.mall.system.application.vo.log.AccessLogPageVo
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiImplicitParam
;
import
io.swagger.annotations.ApiImplicitParams
;
import
io.swagger.annotations.ApiOperation
;
import
org.apache.dubbo.config.annotation.Reference
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
org.springframework.web.bind.annotation.RestController
;
import
static
cn
.
iocoder
.
common
.
framework
.
vo
.
CommonResult
.
success
;
/**
* @author:ycjx
* @descriptio
* @create:2019-06-23 16:42
*/
@RestController
@RequestMapping
(
"admins/system/logs"
)
@Api
(
"系统日志"
)
public
class
SystemLogController
{
@Reference
(
validation
=
"true"
,
version
=
"${dubbo.provider.AdminAccessLogService.version}"
)
private
SystemLogService
systemLogService
;
@GetMapping
(
"access/page"
)
@ApiOperation
(
value
=
"访问日志分页"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
"userId"
,
value
=
"用户id"
,
example
=
"1"
),
@ApiImplicitParam
(
name
=
"pageNo"
,
value
=
"页码,从 1 开始"
,
example
=
"1"
),
@ApiImplicitParam
(
name
=
"pageSize"
,
value
=
"每页条数"
,
required
=
true
,
example
=
"10"
),
})
public
CommonResult
<
AccessLogPageVo
>
page
(
@RequestParam
(
value
=
"userId"
,
required
=
false
)
Integer
userId
,
@RequestParam
(
value
=
"pageNo"
,
defaultValue
=
"1"
)
Integer
pageNo
,
@RequestParam
(
value
=
"pageSize"
,
defaultValue
=
"10"
)
Integer
pageSize
)
{
AccessLogPageDTO
accessLogPageDTO
=
new
AccessLogPageDTO
().
setUserId
(
userId
)
.
setPageNo
(
pageNo
).
setPageSize
(
pageSize
);
// 查询分页
AccessLogPageBO
result
=
systemLogService
.
getAccessLogPage
(
accessLogPageDTO
);
// 转换结果
return
success
(
AccessLogConvert
.
INSTANCE
.
convert
(
result
));
}
}
system/system-start/src/main/java/cn/iocoder/mall/system/application/convert/AccessLogConvert.java
deleted
100644 → 0
浏览文件 @
e1e42c0c
package
cn
.
iocoder
.
mall
.
system
.
application
.
convert
;
import
cn.iocoder.mall.system.api.bo.systemlog.AccessLogBO
;
import
cn.iocoder.mall.system.api.bo.systemlog.AccessLogPageBO
;
import
cn.iocoder.mall.system.application.vo.log.AccessLogPageVo
;
import
cn.iocoder.mall.system.application.vo.log.AccessLogVo
;
import
org.mapstruct.Mapper
;
import
org.mapstruct.Mappings
;
import
org.mapstruct.factory.Mappers
;
/**
* @author:ycjx
* @descriptio
* @create:2019-06-23 17:36
*/
@Mapper
public
interface
AccessLogConvert
{
AccessLogConvert
INSTANCE
=
Mappers
.
getMapper
(
AccessLogConvert
.
class
);
@Mappings
({})
AccessLogPageVo
convert
(
AccessLogPageBO
result
);
@Mappings
({})
AccessLogVo
convert
(
AccessLogBO
result
);
}
system/system-start/src/main/java/cn/iocoder/mall/system/application/convert/DataDictConvert.java
deleted
100644 → 0
浏览文件 @
e1e42c0c
package
cn
.
iocoder
.
mall
.
system
.
application
.
convert
;
import
cn.iocoder.mall.system.api.bo.datadict.DataDictBO
;
import
cn.iocoder.mall.system.application.vo.datadict.DataDictEnumVO
;
import
org.mapstruct.Mapper
;
import
org.mapstruct.Mappings
;
import
org.mapstruct.factory.Mappers
;
import
java.util.List
;
@Mapper
public
interface
DataDictConvert
{
DataDictConvert
INSTANCE
=
Mappers
.
getMapper
(
DataDictConvert
.
class
);
@Mappings
({})
List
<
DataDictEnumVO
.
Value
>
convert2
(
List
<
DataDictBO
>
dataDictBOs
);
}
system/system-start/src/main/java/cn/iocoder/mall/system/application/vo/log/AccessLogPageVo.java
deleted
100644 → 0
浏览文件 @
e1e42c0c
package
cn
.
iocoder
.
mall
.
system
.
application
.
vo
.
log
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
lombok.experimental.Accessors
;
import
java.util.List
;
/**
* @author:ycjx
* @descriptio
* @create:2019-06-23 17:03
*/
@ApiModel
(
"访问日志分页 VO"
)
@Data
@Accessors
(
chain
=
true
)
public
class
AccessLogPageVo
{
@ApiModelProperty
(
value
=
"访问数据"
)
private
List
<
AccessLogVo
>
list
;
@ApiModelProperty
(
value
=
"访问总数"
)
private
Integer
total
;
}
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论