Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
D
datax-cloud
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
黄营
datax-cloud
Commits
05a43fad
Commit
05a43fad
authored
May 29, 2020
by
yuwei
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
2.0.0项目初始化
parent
bb934ebd
Hide whitespace changes
Inline
Side-by-side
Showing
19 changed files
with
516 additions
and
28 deletions
+516
-28
serviceImpl.java.vm
...-service/src/main/resources/templates/serviceImpl.java.vm
+2
-0
LoginLogDto.java
...ain/java/cn/datax/service/system/api/dto/LoginLogDto.java
+38
-0
LoginLogEntity.java
...va/cn/datax/service/system/api/entity/LoginLogEntity.java
+62
-0
LoginLogQuery.java
...java/cn/datax/service/system/api/query/LoginLogQuery.java
+25
-0
LoginLogVo.java
.../main/java/cn/datax/service/system/api/vo/LoginLogVo.java
+30
-0
LogController.java
...ava/cn/datax/service/system/controller/LogController.java
+40
-0
LoginLogController.java
...n/datax/service/system/controller/LoginLogController.java
+116
-0
UserController.java
...va/cn/datax/service/system/controller/UserController.java
+0
-7
LoginLogDao.java
...rc/main/java/cn/datax/service/system/dao/LoginLogDao.java
+18
-0
LoginLogMapper.java
...ava/cn/datax/service/system/mapstruct/LoginLogMapper.java
+20
-0
LogService.java
...main/java/cn/datax/service/system/service/LogService.java
+8
-0
LoginLogService.java
...java/cn/datax/service/system/service/LoginLogService.java
+26
-0
UserService.java
...ain/java/cn/datax/service/system/service/UserService.java
+0
-3
LogServiceImpl.java
.../cn/datax/service/system/service/impl/LogServiceImpl.java
+20
-0
LoginLogServiceImpl.java
...atax/service/system/service/impl/LoginLogServiceImpl.java
+71
-0
UserServiceImpl.java
...cn/datax/service/system/service/impl/UserServiceImpl.java
+0
-16
LoginLogMapper.xml
...stem-service/src/main/resources/mapper/LoginLogMapper.xml
+22
-0
RoleDetail.vue
datax-ui/src/views/system/role/RoleDetail.vue
+9
-1
RoleEdit.vue
datax-ui/src/views/system/role/RoleEdit.vue
+9
-1
No files found.
datax-modules/codegen-service-parent/codegen-service/src/main/resources/templates/serviceImpl.java.vm
View file @
05a43fad
...
@@ -11,6 +11,8 @@ import org.springframework.stereotype.Service;
...
@@ -11,6 +11,8 @@ import org.springframework.stereotype.Service;
import
org
.
springframework
.
transaction
.
annotation
.
Propagation
;
import
org
.
springframework
.
transaction
.
annotation
.
Propagation
;
import
org
.
springframework
.
transaction
.
annotation
.
Transactional
;
import
org
.
springframework
.
transaction
.
annotation
.
Transactional
;
import
java
.
util
.
List
;
/**
/**
*
<
p
>
*
<
p
>
*
$
!{table.comment} 服务实现类
*
$
!{table.comment} 服务实现类
...
...
datax-modules/system-service-parent/system-service-api/src/main/java/cn/datax/service/system/api/dto/LoginLogDto.java
0 → 100644
View file @
05a43fad
package
cn
.
datax
.
service
.
system
.
api
.
dto
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.io.Serializable
;
import
java.time.LocalDateTime
;
/**
* <p>
* 登录日志信息表 实体DTO
* </p>
*
* @author yuwei
* @since 2020-05-29
*/
@ApiModel
(
value
=
"登录日志信息表Model"
)
@Data
public
class
LoginLogDto
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
@ApiModelProperty
(
value
=
"主键ID"
)
private
String
id
;
@ApiModelProperty
(
value
=
"操作系统"
)
private
String
opOs
;
@ApiModelProperty
(
value
=
"浏览器类型"
)
private
String
opBrowser
;
@ApiModelProperty
(
value
=
"登录IP地址"
)
private
String
opIp
;
@ApiModelProperty
(
value
=
"登录时间"
)
private
LocalDateTime
opDate
;
@ApiModelProperty
(
value
=
"登录用户ID"
)
private
String
userId
;
@ApiModelProperty
(
value
=
"登录用户名称"
)
private
String
userName
;
}
datax-modules/system-service-parent/system-service-api/src/main/java/cn/datax/service/system/api/entity/LoginLogEntity.java
0 → 100644
View file @
05a43fad
package
cn
.
datax
.
service
.
system
.
api
.
entity
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
java.io.Serializable
;
import
java.time.LocalDateTime
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
lombok.Data
;
import
lombok.experimental.Accessors
;
/**
* <p>
* 登录日志信息表
* </p>
*
* @author yuwei
* @since 2020-05-29
*/
@Data
@Accessors
(
chain
=
true
)
@TableName
(
"sys_login_log"
)
public
class
LoginLogEntity
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
/**
* 主键
*/
@TableId
(
value
=
"id"
,
type
=
IdType
.
ASSIGN_ID
)
private
String
id
;
/**
* 操作系统
*/
private
String
opOs
;
/**
* 浏览器类型
*/
private
String
opBrowser
;
/**
* 登录IP地址
*/
private
String
opIp
;
/**
* 登录时间
*/
private
LocalDateTime
opDate
;
/**
* 登录用户ID
*/
private
String
userId
;
/**
* 登录用户名称
*/
private
String
userName
;
}
datax-modules/system-service-parent/system-service-api/src/main/java/cn/datax/service/system/api/query/LoginLogQuery.java
0 → 100644
View file @
05a43fad
package
cn
.
datax
.
service
.
system
.
api
.
query
;
import
cn.datax.common.base.BaseQueryParams
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
/**
* <p>
* 登录日志信息表 查询实体
* </p>
*
* @author yuwei
* @since 2020-05-29
*/
@Data
@EqualsAndHashCode
(
callSuper
=
true
)
public
class
LoginLogQuery
extends
BaseQueryParams
{
private
static
final
long
serialVersionUID
=
1L
;
/**
* 登录用户名称
*/
private
String
userName
;
}
datax-modules/system-service-parent/system-service-api/src/main/java/cn/datax/service/system/api/vo/LoginLogVo.java
0 → 100644
View file @
05a43fad
package
cn
.
datax
.
service
.
system
.
api
.
vo
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
lombok.Data
;
import
java.io.Serializable
;
import
java.time.LocalDateTime
;
/**
* <p>
* 登录日志信息表 实体VO
* </p>
*
* @author yuwei
* @since 2020-05-29
*/
@Data
public
class
LoginLogVo
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
private
String
id
;
private
String
opOs
;
private
String
opBrowser
;
private
String
opIp
;
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
LocalDateTime
opDate
;
private
String
userId
;
private
String
userName
;
}
datax-modules/system-service-parent/system-service/src/main/java/cn/datax/service/system/controller/LogController.java
View file @
05a43fad
...
@@ -41,6 +41,20 @@ public class LogController extends BaseController {
...
@@ -41,6 +41,20 @@ public class LogController extends BaseController {
@Autowired
@Autowired
private
LogMapper
logMapper
;
private
LogMapper
logMapper
;
/**
* 通过ID查询信息
*
* @param id
* @return
*/
@ApiOperation
(
value
=
"获取详细信息"
,
notes
=
"根据url的id来获取详细信息"
)
@ApiImplicitParam
(
name
=
"id"
,
value
=
"ID"
,
required
=
true
,
dataType
=
"String"
,
paramType
=
"path"
)
@GetMapping
(
"/{id}"
)
public
R
getLogById
(
@PathVariable
String
id
)
{
LogEntity
logEntity
=
logService
.
getLogById
(
id
);
return
R
.
ok
().
setData
(
logMapper
.
toVO
(
logEntity
));
}
@ApiOperation
(
value
=
"日志分页查询"
,
notes
=
""
)
@ApiOperation
(
value
=
"日志分页查询"
,
notes
=
""
)
@ApiImplicitParams
({
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
"logQuery"
,
value
=
"查询实体logQuery"
,
required
=
true
,
dataTypeClass
=
LogQuery
.
class
)
@ApiImplicitParam
(
name
=
"logQuery"
,
value
=
"查询实体logQuery"
,
required
=
true
,
dataTypeClass
=
LogQuery
.
class
)
...
@@ -54,4 +68,30 @@ public class LogController extends BaseController {
...
@@ -54,4 +68,30 @@ public class LogController extends BaseController {
JsonPage
<
LogVo
>
jsonPage
=
new
JsonPage
<>(
page
.
getCurrent
(),
page
.
getSize
(),
page
.
getTotal
(),
collect
);
JsonPage
<
LogVo
>
jsonPage
=
new
JsonPage
<>(
page
.
getCurrent
(),
page
.
getSize
(),
page
.
getTotal
(),
collect
);
return
R
.
ok
().
setData
(
jsonPage
);
return
R
.
ok
().
setData
(
jsonPage
);
}
}
/**
* 删除
* @param id
* @return
*/
@ApiOperation
(
value
=
"删除"
,
notes
=
"根据url的id来指定删除对象"
)
@ApiImplicitParam
(
name
=
"id"
,
value
=
"ID"
,
required
=
true
,
dataType
=
"String"
,
paramType
=
"path"
)
@DeleteMapping
(
"/{id}"
)
public
R
deleteLogById
(
@PathVariable
String
id
)
{
logService
.
deleteLogById
(
id
);
return
R
.
ok
();
}
/**
* 批量删除
* @param ids
* @return
*/
@ApiOperation
(
value
=
"批量删除角色"
,
notes
=
"根据url的ids来批量删除对象"
)
@ApiImplicitParam
(
name
=
"ids"
,
value
=
"ID集合"
,
required
=
true
,
dataType
=
"List"
,
paramType
=
"path"
)
@DeleteMapping
(
"/batch/{ids}"
)
public
R
deleteLogBatch
(
@PathVariable
List
<
String
>
ids
)
{
logService
.
deleteLogBatch
(
ids
);
return
R
.
ok
();
}
}
}
datax-modules/system-service-parent/system-service/src/main/java/cn/datax/service/system/controller/LoginLogController.java
0 → 100644
View file @
05a43fad
package
cn
.
datax
.
service
.
system
.
controller
;
import
cn.datax.common.core.JsonPage
;
import
cn.datax.common.core.R
;
import
cn.datax.service.system.api.entity.LoginLogEntity
;
import
cn.datax.service.system.api.vo.LoginLogVo
;
import
cn.datax.service.system.api.query.LoginLogQuery
;
import
cn.datax.service.system.mapstruct.LoginLogMapper
;
import
cn.datax.service.system.service.LoginLogService
;
import
cn.hutool.core.util.StrUtil
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiImplicitParam
;
import
io.swagger.annotations.ApiImplicitParams
;
import
io.swagger.annotations.ApiOperation
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.*
;
import
cn.datax.common.base.BaseController
;
import
javax.servlet.http.HttpServletRequest
;
import
java.util.List
;
import
java.util.stream.Collectors
;
/**
* <p>
* 登录日志信息表 前端控制器
* </p>
*
* @author yuwei
* @since 2020-05-29
*/
@Api
(
tags
=
{
"登录日志信息表"
})
@RestController
@RequestMapping
(
"/login/logs"
)
public
class
LoginLogController
extends
BaseController
{
@Autowired
private
LoginLogService
loginLogService
;
@Autowired
private
LoginLogMapper
loginLogMapper
;
/**
* 通过ID查询信息
*
* @param id
* @return
*/
@ApiOperation
(
value
=
"获取详细信息"
,
notes
=
"根据url的id来获取详细信息"
)
@ApiImplicitParam
(
name
=
"id"
,
value
=
"ID"
,
required
=
true
,
dataType
=
"String"
,
paramType
=
"path"
)
@GetMapping
(
"/{id}"
)
public
R
getLoginLogById
(
@PathVariable
String
id
)
{
LoginLogEntity
loginLogEntity
=
loginLogService
.
getLoginLogById
(
id
);
return
R
.
ok
().
setData
(
loginLogMapper
.
toVO
(
loginLogEntity
));
}
/**
* 分页查询信息
*
* @param loginLogQuery
* @return
*/
@ApiOperation
(
value
=
"分页查询"
,
notes
=
""
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
"loginLogQuery"
,
value
=
"查询实体loginLogQuery"
,
required
=
true
,
dataTypeClass
=
LoginLogQuery
.
class
)
})
@GetMapping
(
"/page"
)
public
R
getLoginLogPage
(
LoginLogQuery
loginLogQuery
)
{
QueryWrapper
<
LoginLogEntity
>
queryWrapper
=
new
QueryWrapper
<>();
queryWrapper
.
like
(
StrUtil
.
isNotBlank
(
loginLogQuery
.
getUserName
()),
"user_name"
,
loginLogQuery
.
getUserName
());
IPage
<
LoginLogEntity
>
page
=
loginLogService
.
page
(
new
Page
<>(
loginLogQuery
.
getPageNum
(),
loginLogQuery
.
getPageSize
()),
queryWrapper
);
List
<
LoginLogVo
>
collect
=
page
.
getRecords
().
stream
().
map
(
loginLogMapper:
:
toVO
).
collect
(
Collectors
.
toList
());
JsonPage
<
LoginLogVo
>
jsonPage
=
new
JsonPage
<>(
page
.
getCurrent
(),
page
.
getSize
(),
page
.
getTotal
(),
collect
);
return
R
.
ok
().
setData
(
jsonPage
);
}
/**
* 添加登录日志
* @return
*/
@ApiOperation
(
value
=
"添加信息"
,
notes
=
"根据request对象添加信息"
)
@PostMapping
()
public
R
loginLog
(
HttpServletRequest
request
)
{
loginLogService
.
saveLoginLog
(
request
);
return
R
.
ok
();
}
/**
* 删除
* @param id
* @return
*/
@ApiOperation
(
value
=
"删除"
,
notes
=
"根据url的id来指定删除对象"
)
@ApiImplicitParam
(
name
=
"id"
,
value
=
"ID"
,
required
=
true
,
dataType
=
"String"
,
paramType
=
"path"
)
@DeleteMapping
(
"/{id}"
)
public
R
deleteLoginLogById
(
@PathVariable
String
id
)
{
loginLogService
.
deleteLoginLogById
(
id
);
return
R
.
ok
();
}
/**
* 批量删除
* @param ids
* @return
*/
@ApiOperation
(
value
=
"批量删除角色"
,
notes
=
"根据url的ids来批量删除对象"
)
@ApiImplicitParam
(
name
=
"ids"
,
value
=
"ID集合"
,
required
=
true
,
dataType
=
"List"
,
paramType
=
"path"
)
@DeleteMapping
(
"/batch/{ids}"
)
public
R
deleteLoginLogBatch
(
@PathVariable
List
<
String
>
ids
)
{
loginLogService
.
deleteLoginLogBatch
(
ids
);
return
R
.
ok
();
}
}
datax-modules/system-service-parent/system-service/src/main/java/cn/datax/service/system/controller/UserController.java
View file @
05a43fad
...
@@ -28,7 +28,6 @@ import org.springframework.web.bind.annotation.*;
...
@@ -28,7 +28,6 @@ import org.springframework.web.bind.annotation.*;
import
cn.datax.common.base.BaseController
;
import
cn.datax.common.base.BaseController
;
import
javax.servlet.http.HttpServletRequest
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Map
;
import
java.util.stream.Collectors
;
import
java.util.stream.Collectors
;
...
@@ -135,11 +134,5 @@ public class UserController extends BaseController {
...
@@ -135,11 +134,5 @@ public class UserController extends BaseController {
Map
<
String
,
Object
>
result
=
userService
.
getRouteById
(
id
);
Map
<
String
,
Object
>
result
=
userService
.
getRouteById
(
id
);
return
R
.
ok
().
setData
(
result
);
return
R
.
ok
().
setData
(
result
);
}
}
@PostMapping
(
"/login/log"
)
public
R
loginLog
(
HttpServletRequest
request
)
{
userService
.
loginLog
(
request
);
return
R
.
ok
();
}
}
}
datax-modules/system-service-parent/system-service/src/main/java/cn/datax/service/system/dao/LoginLogDao.java
0 → 100644
View file @
05a43fad
package
cn
.
datax
.
service
.
system
.
dao
;
import
cn.datax.common.base.BaseDao
;
import
cn.datax.service.system.api.entity.LoginLogEntity
;
import
org.apache.ibatis.annotations.Mapper
;
/**
* <p>
* 登录日志信息表 Mapper 接口
* </p>
*
* @author yuwei
* @since 2020-05-29
*/
@Mapper
public
interface
LoginLogDao
extends
BaseDao
<
LoginLogEntity
>
{
}
datax-modules/system-service-parent/system-service/src/main/java/cn/datax/service/system/mapstruct/LoginLogMapper.java
0 → 100644
View file @
05a43fad
package
cn
.
datax
.
service
.
system
.
mapstruct
;
import
cn.datax.common.mapstruct.EntityMapper
;
import
cn.datax.service.system.api.dto.LoginLogDto
;
import
cn.datax.service.system.api.entity.LoginLogEntity
;
import
cn.datax.service.system.api.vo.LoginLogVo
;
import
org.mapstruct.Mapper
;
/**
* <p>
* 登录日志信息表 Mapper 实体映射
* </p>
*
* @author yuwei
* @since 2020-05-29
*/
@Mapper
(
componentModel
=
"spring"
)
public
interface
LoginLogMapper
extends
EntityMapper
<
LoginLogDto
,
LoginLogEntity
,
LoginLogVo
>
{
}
datax-modules/system-service-parent/system-service/src/main/java/cn/datax/service/system/service/LogService.java
View file @
05a43fad
...
@@ -4,6 +4,8 @@ import cn.datax.common.base.BaseService;
...
@@ -4,6 +4,8 @@ import cn.datax.common.base.BaseService;
import
cn.datax.service.system.api.dto.LogDto
;
import
cn.datax.service.system.api.dto.LogDto
;
import
cn.datax.service.system.api.entity.LogEntity
;
import
cn.datax.service.system.api.entity.LogEntity
;
import
java.util.List
;
/**
/**
* <p>
* <p>
* 服务类
* 服务类
...
@@ -15,4 +17,10 @@ import cn.datax.service.system.api.entity.LogEntity;
...
@@ -15,4 +17,10 @@ import cn.datax.service.system.api.entity.LogEntity;
public
interface
LogService
extends
BaseService
<
LogEntity
>
{
public
interface
LogService
extends
BaseService
<
LogEntity
>
{
void
saveLog
(
LogDto
log
);
void
saveLog
(
LogDto
log
);
LogEntity
getLogById
(
String
id
);
void
deleteLogById
(
String
id
);
void
deleteLogBatch
(
List
<
String
>
ids
);
}
}
datax-modules/system-service-parent/system-service/src/main/java/cn/datax/service/system/service/LoginLogService.java
0 → 100644
View file @
05a43fad
package
cn
.
datax
.
service
.
system
.
service
;
import
cn.datax.service.system.api.entity.LoginLogEntity
;
import
cn.datax.common.base.BaseService
;
import
javax.servlet.http.HttpServletRequest
;
import
java.util.List
;
/**
* <p>
* 登录日志信息表 服务类
* </p>
*
* @author yuwei
* @since 2020-05-29
*/
public
interface
LoginLogService
extends
BaseService
<
LoginLogEntity
>
{
void
saveLoginLog
(
HttpServletRequest
request
);
LoginLogEntity
getLoginLogById
(
String
id
);
void
deleteLoginLogById
(
String
id
);
void
deleteLoginLogBatch
(
List
<
String
>
ids
);
}
datax-modules/system-service-parent/system-service/src/main/java/cn/datax/service/system/service/UserService.java
View file @
05a43fad
...
@@ -9,7 +9,6 @@ import cn.datax.service.system.api.vo.UserInfo;
...
@@ -9,7 +9,6 @@ import cn.datax.service.system.api.vo.UserInfo;
import
com.baomidou.mybatisplus.core.conditions.Wrapper
;
import
com.baomidou.mybatisplus.core.conditions.Wrapper
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
javax.servlet.http.HttpServletRequest
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Map
;
...
@@ -38,6 +37,4 @@ public interface UserService extends BaseService<UserEntity> {
...
@@ -38,6 +37,4 @@ public interface UserService extends BaseService<UserEntity> {
IPage
<
UserEntity
>
pageDataScope
(
IPage
<
UserEntity
>
page
,
Wrapper
<
UserEntity
>
queryWrapper
,
DataScope
dataScope
);
IPage
<
UserEntity
>
pageDataScope
(
IPage
<
UserEntity
>
page
,
Wrapper
<
UserEntity
>
queryWrapper
,
DataScope
dataScope
);
Map
<
String
,
Object
>
getRouteById
(
String
id
);
Map
<
String
,
Object
>
getRouteById
(
String
id
);
void
loginLog
(
HttpServletRequest
request
);
}
}
datax-modules/system-service-parent/system-service/src/main/java/cn/datax/service/system/service/impl/LogServiceImpl.java
View file @
05a43fad
...
@@ -11,6 +11,8 @@ import org.springframework.stereotype.Service;
...
@@ -11,6 +11,8 @@ import org.springframework.stereotype.Service;
import
org.springframework.transaction.annotation.Propagation
;
import
org.springframework.transaction.annotation.Propagation
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.transaction.annotation.Transactional
;
import
java.util.List
;
/**
/**
* <p>
* <p>
* 服务实现类
* 服务实现类
...
@@ -34,4 +36,22 @@ public class LogServiceImpl extends BaseServiceImpl<LogDao, LogEntity> implement
...
@@ -34,4 +36,22 @@ public class LogServiceImpl extends BaseServiceImpl<LogDao, LogEntity> implement
LogEntity
log
=
logMapper
.
toEntity
(
logDto
);
LogEntity
log
=
logMapper
.
toEntity
(
logDto
);
logDao
.
insert
(
log
);
logDao
.
insert
(
log
);
}
}
@Override
public
LogEntity
getLogById
(
String
id
)
{
LogEntity
logEntity
=
super
.
getById
(
id
);
return
logEntity
;
}
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
void
deleteLogById
(
String
id
)
{
logDao
.
deleteById
(
id
);
}
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
void
deleteLogBatch
(
List
<
String
>
ids
)
{
logDao
.
deleteBatchIds
(
ids
);
}
}
}
datax-modules/system-service-parent/system-service/src/main/java/cn/datax/service/system/service/impl/LoginLogServiceImpl.java
0 → 100644
View file @
05a43fad
package
cn
.
datax
.
service
.
system
.
service
.
impl
;
import
cn.datax.common.core.DataUser
;
import
cn.datax.common.utils.IPUtil
;
import
cn.datax.common.utils.SecurityUtil
;
import
cn.datax.service.system.api.entity.LoginLogEntity
;
import
cn.datax.service.system.service.LoginLogService
;
import
cn.datax.service.system.mapstruct.LoginLogMapper
;
import
cn.datax.service.system.dao.LoginLogDao
;
import
cn.datax.common.base.BaseServiceImpl
;
import
eu.bitwalker.useragentutils.UserAgent
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Propagation
;
import
org.springframework.transaction.annotation.Transactional
;
import
javax.servlet.http.HttpServletRequest
;
import
java.time.LocalDateTime
;
import
java.util.List
;
/**
* <p>
* 登录日志信息表 服务实现类
* </p>
*
* @author yuwei
* @since 2020-05-29
*/
@Service
@Transactional
(
propagation
=
Propagation
.
SUPPORTS
,
readOnly
=
true
,
rollbackFor
=
Exception
.
class
)
public
class
LoginLogServiceImpl
extends
BaseServiceImpl
<
LoginLogDao
,
LoginLogEntity
>
implements
LoginLogService
{
@Autowired
private
LoginLogDao
loginLogDao
;
@Autowired
private
LoginLogMapper
loginLogMapper
;
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
void
saveLoginLog
(
HttpServletRequest
request
)
{
String
ip
=
IPUtil
.
getIpAddr
(
request
);
UserAgent
userAgent
=
UserAgent
.
parseUserAgentString
(
request
.
getHeader
(
"User-Agent"
));
String
os
=
userAgent
.
getOperatingSystem
().
getName
();
String
browser
=
userAgent
.
getBrowser
().
getName
();
DataUser
user
=
SecurityUtil
.
getDataUser
();
String
userId
=
user
.
getId
();
String
username
=
user
.
getUsername
();
LoginLogEntity
loginLog
=
new
LoginLogEntity
();
loginLog
.
setOpIp
(
ip
).
setOpOs
(
os
).
setOpBrowser
(
browser
).
setUserId
(
userId
).
setUserName
(
username
).
setOpDate
(
LocalDateTime
.
now
());
loginLogDao
.
insert
(
loginLog
);
}
@Override
public
LoginLogEntity
getLoginLogById
(
String
id
)
{
LoginLogEntity
loginLogEntity
=
super
.
getById
(
id
);
return
loginLogEntity
;
}
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
void
deleteLoginLogById
(
String
id
)
{
loginLogDao
.
deleteById
(
id
);
}
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
void
deleteLoginLogBatch
(
List
<
String
>
ids
)
{
loginLogDao
.
deleteBatchIds
(
ids
);
}
}
datax-modules/system-service-parent/system-service/src/main/java/cn/datax/service/system/service/impl/UserServiceImpl.java
View file @
05a43fad
...
@@ -2,10 +2,7 @@ package cn.datax.service.system.service.impl;
...
@@ -2,10 +2,7 @@ package cn.datax.service.system.service.impl;
import
cn.datax.common.base.DataScope
;
import
cn.datax.common.base.DataScope
;
import
cn.datax.common.core.DataConstant
;
import
cn.datax.common.core.DataConstant
;
import
cn.datax.common.core.DataUser
;
import
cn.datax.common.exception.DataException
;
import
cn.datax.common.exception.DataException
;
import
cn.datax.common.utils.IPUtil
;
import
cn.datax.common.utils.SecurityUtil
;
import
cn.datax.service.system.api.dto.UserDto
;
import
cn.datax.service.system.api.dto.UserDto
;
import
cn.datax.service.system.api.dto.UserPasswordDto
;
import
cn.datax.service.system.api.dto.UserPasswordDto
;
import
cn.datax.service.system.api.entity.*
;
import
cn.datax.service.system.api.entity.*
;
...
@@ -24,14 +21,12 @@ import cn.hutool.core.util.StrUtil;
...
@@ -24,14 +21,12 @@ import cn.hutool.core.util.StrUtil;
import
com.baomidou.mybatisplus.core.conditions.Wrapper
;
import
com.baomidou.mybatisplus.core.conditions.Wrapper
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
eu.bitwalker.useragentutils.UserAgent
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder
;
import
org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Propagation
;
import
org.springframework.transaction.annotation.Propagation
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.transaction.annotation.Transactional
;
import
javax.servlet.http.HttpServletRequest
;
import
java.util.*
;
import
java.util.*
;
import
java.util.stream.Collectors
;
import
java.util.stream.Collectors
;
...
@@ -221,15 +216,4 @@ public class UserServiceImpl extends BaseServiceImpl<UserDao, UserEntity> implem
...
@@ -221,15 +216,4 @@ public class UserServiceImpl extends BaseServiceImpl<UserDao, UserEntity> implem
}
}
return
result
;
return
result
;
}
}
@Override
public
void
loginLog
(
HttpServletRequest
request
)
{
String
ip
=
IPUtil
.
getIpAddr
(
request
);
UserAgent
userAgent
=
UserAgent
.
parseUserAgentString
(
request
.
getHeader
(
"User-Agent"
));
String
os
=
userAgent
.
getOperatingSystem
().
getName
();
String
browser
=
userAgent
.
getBrowser
().
getName
();
DataUser
user
=
SecurityUtil
.
getDataUser
();
String
userId
=
user
.
getId
();
String
username
=
user
.
getUsername
();
}
}
}
datax-modules/system-service-parent/system-service/src/main/resources/mapper/LoginLogMapper.xml
0 → 100644
View file @
05a43fad
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"cn.datax.service.system.dao.LoginLogDao"
>
<!-- 通用查询映射结果 -->
<resultMap
id=
"BaseResultMap"
type=
"cn.datax.service.system.api.entity.LoginLogEntity"
>
<result
column=
"id"
property=
"id"
/>
<result
column=
"op_os"
property=
"opOs"
/>
<result
column=
"op_browser"
property=
"opBrowser"
/>
<result
column=
"op_ip"
property=
"opIp"
/>
<result
column=
"op_date"
property=
"opDate"
/>
<result
column=
"user_id"
property=
"userId"
/>
<result
column=
"user_name"
property=
"userName"
/>
</resultMap>
<!-- 通用查询结果列 -->
<sql
id=
"Base_Column_List"
>
id,
op_os, op_browser, op_ip, op_date, user_id, user_name
</sql>
</mapper>
datax-ui/src/views/system/role/RoleDetail.vue
View file @
05a43fad
...
@@ -23,6 +23,7 @@
...
@@ -23,6 +23,7 @@
ref=
"menu"
ref=
"menu"
node-key=
"id"
node-key=
"id"
empty-text=
"加载中,请稍后"
empty-text=
"加载中,请稍后"
:check-strictly=
"menuCheckstrictly"
:props=
"menuDefaultProps"
:props=
"menuDefaultProps"
></el-tree>
></el-tree>
</el-form-item>
</el-form-item>
...
@@ -46,6 +47,7 @@
...
@@ -46,6 +47,7 @@
ref=
"dept"
ref=
"dept"
node-key=
"id"
node-key=
"id"
empty-text=
"加载中,请稍后"
empty-text=
"加载中,请稍后"
:check-strictly=
"deptCheckstrictly"
:props=
"deptDefaultProps"
:props=
"deptDefaultProps"
></el-tree>
></el-tree>
</el-form-item>
</el-form-item>
...
@@ -113,7 +115,9 @@ export default {
...
@@ -113,7 +115,9 @@ export default {
deptDefaultProps
:
{
deptDefaultProps
:
{
children
:
'children'
,
children
:
'children'
,
label
:
'deptName'
label
:
'deptName'
}
},
menuCheckstrictly
:
false
,
deptCheckstrictly
:
false
}
}
},
},
created
()
{
created
()
{
...
@@ -187,8 +191,12 @@ export default {
...
@@ -187,8 +191,12 @@ export default {
this
.
form
=
response
.
data
this
.
form
=
response
.
data
let
menuCheckedKeys
=
response
.
data
.
menus
.
map
(
menu
=>
menu
.
id
)
let
menuCheckedKeys
=
response
.
data
.
menus
.
map
(
menu
=>
menu
.
id
)
let
deptCheckedKeys
=
response
.
data
.
depts
.
map
(
dept
=>
dept
.
id
)
let
deptCheckedKeys
=
response
.
data
.
depts
.
map
(
dept
=>
dept
.
id
)
this
.
menuCheckstrictly
=
true
this
.
deptCheckstrictly
=
true
this
.
$refs
.
menu
.
setCheckedKeys
(
menuCheckedKeys
)
this
.
$refs
.
menu
.
setCheckedKeys
(
menuCheckedKeys
)
this
.
$refs
.
dept
.
setCheckedKeys
(
deptCheckedKeys
)
this
.
$refs
.
dept
.
setCheckedKeys
(
deptCheckedKeys
)
this
.
menuCheckstrictly
=
false
this
.
deptCheckstrictly
=
false
}
}
})
})
}
}
...
...
datax-ui/src/views/system/role/RoleEdit.vue
View file @
05a43fad
...
@@ -24,6 +24,7 @@
...
@@ -24,6 +24,7 @@
ref=
"menu"
ref=
"menu"
node-key=
"id"
node-key=
"id"
empty-text=
"加载中,请稍后"
empty-text=
"加载中,请稍后"
:check-strictly=
"menuCheckstrictly"
:props=
"menuDefaultProps"
:props=
"menuDefaultProps"
></el-tree>
></el-tree>
</el-form-item>
</el-form-item>
...
@@ -47,6 +48,7 @@
...
@@ -47,6 +48,7 @@
ref=
"dept"
ref=
"dept"
node-key=
"id"
node-key=
"id"
empty-text=
"加载中,请稍后"
empty-text=
"加载中,请稍后"
:check-strictly=
"deptCheckstrictly"
:props=
"deptDefaultProps"
:props=
"deptDefaultProps"
></el-tree>
></el-tree>
</el-form-item>
</el-form-item>
...
@@ -129,7 +131,9 @@ export default {
...
@@ -129,7 +131,9 @@ export default {
deptDefaultProps
:
{
deptDefaultProps
:
{
children
:
'children'
,
children
:
'children'
,
label
:
'deptName'
label
:
'deptName'
}
},
menuCheckstrictly
:
false
,
deptCheckstrictly
:
false
}
}
},
},
created
()
{
created
()
{
...
@@ -203,8 +207,12 @@ export default {
...
@@ -203,8 +207,12 @@ export default {
this
.
form
=
response
.
data
this
.
form
=
response
.
data
let
menuCheckedKeys
=
response
.
data
.
menus
.
map
(
menu
=>
menu
.
id
)
let
menuCheckedKeys
=
response
.
data
.
menus
.
map
(
menu
=>
menu
.
id
)
let
deptCheckedKeys
=
response
.
data
.
depts
.
map
(
dept
=>
dept
.
id
)
let
deptCheckedKeys
=
response
.
data
.
depts
.
map
(
dept
=>
dept
.
id
)
this
.
menuCheckstrictly
=
true
this
.
deptCheckstrictly
=
true
this
.
$refs
.
menu
.
setCheckedKeys
(
menuCheckedKeys
)
this
.
$refs
.
menu
.
setCheckedKeys
(
menuCheckedKeys
)
this
.
$refs
.
dept
.
setCheckedKeys
(
deptCheckedKeys
)
this
.
$refs
.
dept
.
setCheckedKeys
(
deptCheckedKeys
)
this
.
menuCheckstrictly
=
false
this
.
deptCheckstrictly
=
false
}
}
})
})
},
},
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment