Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
X
xzxt-shiro
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
常超
xzxt-shiro
Commits
44d05eb2
Commit
44d05eb2
authored
Mar 16, 2022
by
wang_jiaxing
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
删除用户时记录日志
parent
cb4a5730
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
368 additions
and
0 deletions
+368
-0
src/main/java/com/xzxtshiro/dao/SysUserDao.java
+2
-0
src/main/java/com/xzxtshiro/mapper/SysUserMapper.xml
+64
-0
src/main/java/com/xzxtshiro/pojo/SysGnsyrz.java
+185
-0
src/main/java/com/xzxtshiro/service/imp/SysUserServiceImpl.java
+117
-0
No files found.
src/main/java/com/xzxtshiro/dao/SysUserDao.java
View file @
44d05eb2
...
@@ -58,4 +58,6 @@ public interface SysUserDao {
...
@@ -58,4 +58,6 @@ public interface SysUserDao {
List
<
SysUser
>
selectSxSysUserByCondition
(
SysUser
user
);
List
<
SysUser
>
selectSxSysUserByCondition
(
SysUser
user
);
Integer
selectSxSysUserCountByCondition
(
SysUser
user
);
Integer
selectSxSysUserCountByCondition
(
SysUser
user
);
void
addGnsyrz
(
SysGnsyrz
sysGnsyrz
);
}
}
src/main/java/com/xzxtshiro/mapper/SysUserMapper.xml
View file @
44d05eb2
...
@@ -647,6 +647,70 @@
...
@@ -647,6 +647,70 @@
#{isshow,jdbcType=VARCHAR},#{lrr,jdbcType=VARCHAR},#{lrsj,jdbcType=DATE},
#{isshow,jdbcType=VARCHAR},#{lrr,jdbcType=VARCHAR},#{lrsj,jdbcType=DATE},
#{lrdwdm,jdbcType=VARCHAR},#{lrdwmc,jdbcType=VARCHAR})
#{lrdwdm,jdbcType=VARCHAR},#{lrdwmc,jdbcType=VARCHAR})
</insert>
</insert>
<insert
id=
"addGnsyrz"
>
INSERT INTO sys_gnsyrz (
rzlsh
,fwsj
,yymc_jyqk
,yh_gmsfhm
,yh_ip
,yhdw_gajgjgdm
,yhdw_gajgmc
,czlxdm
,czxx_jyqk
,xxsc_pdbz
,xxdjdw_gajgjgdm
,xxdjdw_gajgmc
,xxdjry_xm
,xxdjry_gmsfhm
,xxdjry_lxdh
,djsj
,xxczdw_gajgjgdm
,xxczdw_gajgmc
,xxczry_xm
,xxczry_gmsfhm
,gxsj
,xxlyms
,yymcdm
,ywbhlxdm
,ywbh
,yh_xm
,cxnrlbdm
,cxnrbh
,cxxxjg
)
VALUES(
#{ rzlsh , jdbcType=VARCHAR }
,sysdate
,#{ yymcJyqk , jdbcType=VARCHAR }
,#{ yhGmsfhm , jdbcType=VARCHAR }
,#{ yhIp , jdbcType=VARCHAR }
,#{ yhdwGajgjgdm , jdbcType=VARCHAR }
,#{ yhdwGajgmc , jdbcType=VARCHAR }
,#{ czlxdm , jdbcType=VARCHAR }
,#{ czxxJyqk , jdbcType=VARCHAR }
,#{ xxscPdbz , jdbcType=VARCHAR }
,#{ xxdjdwGajgjgdm , jdbcType=VARCHAR }
,#{ xxdjdwGajgmc , jdbcType=VARCHAR }
,#{ xxdjryXm , jdbcType=VARCHAR }
,#{ xxdjryGmsfhm , jdbcType=VARCHAR }
,#{ xxdjryLxdh , jdbcType=VARCHAR }
,sysdate
,#{ xxczdwGajgjgdm , jdbcType=VARCHAR }
,#{ xxczdwGajgmc , jdbcType=VARCHAR }
,#{ xxczryXm , jdbcType=VARCHAR }
,#{ xxczryGmsfhm , jdbcType=VARCHAR }
,sysdate
,#{ xxlyms , jdbcType=VARCHAR }
,#{ yymcdm , jdbcType=VARCHAR }
,#{ ywbhlxdm , jdbcType=VARCHAR }
,#{ ywbh , jdbcType=VARCHAR }
,#{ yhXm , jdbcType=VARCHAR }
,#{ cxnrlbdm , jdbcType=VARCHAR }
,#{ cxnrbh , jdbcType=VARCHAR }
,#{ cxxxjg , jdbcType=VARCHAR }
)
</insert>
<!--查询用户照片-->
<!--查询用户照片-->
<select
id=
"selectUserZpByUserId"
resultType=
"com.xzxtshiro.pojo.SysUserZp"
>
<select
id=
"selectUserZpByUserId"
resultType=
"com.xzxtshiro.pojo.SysUserZp"
>
...
...
src/main/java/com/xzxtshiro/pojo/SysGnsyrz.java
0 → 100644
View file @
44d05eb2
package
com
.
xzxtshiro
.
pojo
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
/**
* @author jing
* @date 2021/9/26 -- 16:57
*/
@Data
@ApiModel
(
value
=
"SysGnsyrz"
,
description
=
"功能使用日志"
)
public
class
SysGnsyrz
{
//日志流水号
@ApiModelProperty
(
value
=
"日志流水号"
)
private
String
rzlsh
;
//访问时间
@ApiModelProperty
(
value
=
"访问时间"
)
private
String
fwsj
;
private
String
fwsjkssj
;
private
String
fwsjjssj
;
//应用名称
@ApiModelProperty
(
value
=
"应用名称"
)
private
String
yymcJyqk
;
//用户_公民身份号码
@ApiModelProperty
(
value
=
"用户_公民身份号码"
)
private
String
yhGmsfhm
;
//用户IP
@ApiModelProperty
(
value
=
"用户IP"
)
private
String
yhIp
;
//用户单位公安机关机构代码
@ApiModelProperty
(
value
=
"用户单位公安机关机构代码"
)
private
String
yhdwGajgjgdm
;
//用户单位名称
@ApiModelProperty
(
value
=
"用户单位名称"
)
private
String
yhdwGajgmc
;
//操作类型代码
@ApiModelProperty
(
value
=
"操作类型代码"
)
private
String
czlxdm
;
//操作信息
@ApiModelProperty
(
value
=
"操作信息"
)
private
String
czxxJyqk
;
private
String
czxxParam
;
//应用名称代码
@ApiModelProperty
(
value
=
"应用名称代码"
)
private
String
yymcdm
;
//业务编号类型代码
@ApiModelProperty
(
value
=
"业务编号类型代码"
)
private
String
ywbhlxdm
;
//业务编号
@ApiModelProperty
(
value
=
"业务编号"
)
private
String
ywbh
;
//用户_姓名
@ApiModelProperty
(
value
=
"用户_姓名"
)
private
String
yhXm
;
//查询内容类别代码
@ApiModelProperty
(
value
=
"查询内容类别代码"
)
private
String
cxnrlbdm
;
//查询内容编号
@ApiModelProperty
(
value
=
"查询内容编号"
)
private
String
cxnrbh
;
//操作(查询)信息结果
@ApiModelProperty
(
value
=
"操作(查询)信息结果"
)
private
String
cxxxjg
;
/**
* 登记时间
*/
@ApiModelProperty
(
value
=
"登记时间"
)
private
String
djsj
;
/**
* 更新时间
*/
@ApiModelProperty
(
value
=
"更新时间"
)
private
String
gxsj
;
/**
* 信息删除_判断标识/1-是,0-否/CODE_IF
*/
@ApiModelProperty
(
value
=
"信息删除_判断标识"
)
private
String
xxscPdbz
;
/**
* 信息登记单位_公安机关机构代码/采用GA 380《全国公安机关机构代码编码规则》统一编制的代码/CODE_GXS
*/
@ApiModelProperty
(
value
=
"信息登记单位_公安机关机构代码"
)
private
String
xxdjdwGajgjgdm
;
/**
* 信息登记单位_公安机关名称
*/
@ApiModelProperty
(
value
=
"信息登记单位_公安机关名称"
)
private
String
xxdjdwGajgmc
;
/**
* 信息登记人员_公民身份号码/符合GB 11643《公民身份号码》
*/
@ApiModelProperty
(
value
=
"信息登记人员_公民身份号码"
)
private
String
xxdjryGmsfhm
;
/**
* 信息登记人员_联系电话
*/
@ApiModelProperty
(
value
=
"信息登记人员_联系电话"
)
private
String
xxdjryLxdh
;
/**
* 信息登记人员_姓名
*/
@ApiModelProperty
(
value
=
"信息登记人员_姓名"
)
private
String
xxdjryXm
;
/**
* 信息操作单位_公安机关机构代码/采用GA 380《全国公安机关机构代码编码规则》统一编制的代码/CODE_GXS
*/
@ApiModelProperty
(
value
=
"信息操作单位_公安机关机构代码"
)
private
String
xxczdwGajgjgdm
;
/**
* 信息操作单位_公安机关名称
*/
@ApiModelProperty
(
value
=
"信息操作单位_公安机关名称"
)
private
String
xxczdwGajgmc
;
/**
* 信息操作人员_公民身份号码/符合GB 11643《公民身份号码》
*/
@ApiModelProperty
(
value
=
"信息操作人员_公民身份号码"
)
private
String
xxczryGmsfhm
;
/**
* 信息操作人员_联系电话
*/
@ApiModelProperty
(
value
=
"信息操作人员_联系电话"
)
private
String
xxczryLxdh
;
/**
* 信息操作人员_姓名
*/
@ApiModelProperty
(
value
=
"信息操作人员_姓名"
)
private
String
xxczryXm
;
/**
* 信息入部库时间
*/
@ApiModelProperty
(
value
=
"信息入部库时间"
)
private
String
xxrbksj
;
/**
* 信息入省库时间
*/
@ApiModelProperty
(
value
=
"信息入省库时间"
)
private
String
xxrsksj
;
/**
* 信息来源描述
*/
@ApiModelProperty
(
value
=
"信息来源描述"
)
private
String
xxlyms
;
/**
* 信息入部库_判断标识/1-是,0-否/CODE_IF
*/
@ApiModelProperty
(
value
=
"信息入部库_判断标识"
)
private
String
xxrbkPdbz
;
/**
* 信息入省库_判断标识/1-是,0-否/CODE_IF
*/
@ApiModelProperty
(
value
=
"信息入省库_判断标识"
)
private
String
xxrskPdbz
;
@ApiModelProperty
(
value
=
"第几页"
)
private
int
page
;
@ApiModelProperty
(
value
=
"每页行数"
)
private
int
rows
;
private
int
limit
;
@ApiModelProperty
(
value
=
"开始行"
)
private
int
begin
;
@ApiModelProperty
(
value
=
"结束行"
)
private
int
end
;
}
src/main/java/com/xzxtshiro/service/imp/SysUserServiceImpl.java
View file @
44d05eb2
...
@@ -9,11 +9,18 @@ import org.apache.shiro.authc.LockedAccountException;
...
@@ -9,11 +9,18 @@ import org.apache.shiro.authc.LockedAccountException;
import
org.apache.shiro.authc.UnknownAccountException
;
import
org.apache.shiro.authc.UnknownAccountException
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
org.springframework.web.context.request.RequestContextHolder
;
import
org.springframework.web.context.request.ServletRequestAttributes
;
import
javax.servlet.http.HttpServletRequest
;
import
java.io.File
;
import
java.io.File
;
import
java.net.InetAddress
;
import
java.net.UnknownHostException
;
import
java.text.SimpleDateFormat
;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
import
java.util.Date
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.List
;
import
java.util.UUID
;
/**
/**
* @author liuys
* @author liuys
...
@@ -338,6 +345,8 @@ public class SysUserServiceImpl implements SysUserService {
...
@@ -338,6 +345,8 @@ public class SysUserServiceImpl implements SysUserService {
int
a
=
userDao
.
deleteUserById
(
user
.
getId
());
int
a
=
userDao
.
deleteUserById
(
user
.
getId
());
//2.删除用户和角色的绑定关系
//2.删除用户和角色的绑定关系
int
b
=
userDao
.
deleteSysUserRoleByUserId
(
user
.
getId
());
int
b
=
userDao
.
deleteSysUserRoleByUserId
(
user
.
getId
());
insertDeleteUserSyslog
(
dlUser
,
"用户:"
+
dlUser
.
getTrueName
()
+
"操作了删除了用户"
);
if
(
a
+
b
>=
2
)
{
if
(
a
+
b
>=
2
)
{
return
1
;
return
1
;
}
else
{
}
else
{
...
@@ -345,6 +354,114 @@ public class SysUserServiceImpl implements SysUserService {
...
@@ -345,6 +354,114 @@ public class SysUserServiceImpl implements SysUserService {
}
}
}
}
private
void
insertDeleteUserSyslog
(
SysUser
dlUser
,
String
czxxJyqk
)
{
String
ip
=
getIp
();
// String ip = (String) request.getSession().getAttribute("userIp");
if
(
dlUser
!=
null
)
{
insertSysLog
(
dlUser
,
ip
,
"04"
,
"用户管理-删除用户"
,
czxxJyqk
);
}
}
private
String
getIp
()
{
HttpServletRequest
request
=
((
ServletRequestAttributes
)
RequestContextHolder
.
getRequestAttributes
()).
getRequest
();
String
ip
=
request
.
getHeader
(
"X-Forwarded-For"
);
if
(
ip
==
null
||
ip
.
length
()
==
0
||
"unknown"
.
equalsIgnoreCase
(
ip
))
{
ip
=
request
.
getHeader
(
"Proxy-Client-IP"
);
}
if
(
ip
==
null
||
ip
.
length
()
==
0
||
"unknown"
.
equalsIgnoreCase
(
ip
))
{
ip
=
request
.
getHeader
(
"WL-Proxy-Client-IP"
);
}
if
(
ip
==
null
||
ip
.
length
()
==
0
||
"unknown"
.
equalsIgnoreCase
(
ip
))
{
ip
=
request
.
getHeader
(
"HTTP_CLIENT_IP"
);
}
if
(
ip
==
null
||
ip
.
length
()
==
0
||
"unknown"
.
equalsIgnoreCase
(
ip
))
{
ip
=
request
.
getHeader
(
"HTTP_X_FORWARDED_FOR"
);
}
if
(
ip
==
null
||
ip
.
length
()
==
0
||
"unknown"
.
equalsIgnoreCase
(
ip
))
{
ip
=
request
.
getHeader
(
"X-Real-IP"
);
}
if
(
ip
==
null
||
ip
.
length
()
==
0
||
"unknown"
.
equalsIgnoreCase
(
ip
))
{
ip
=
request
.
getRemoteAddr
();
}
//有些网络通过多层代理,那么获取到的ip就会有多个,一般都是通过逗号(,)分割开来,并且第一个ip为客户端的真实IP
if
(
ip
!=
null
&&
ip
.
length
()
!=
0
)
{
ip
=
ip
.
split
(
","
)[
0
];
}
if
(
"127.0.0.1"
.
equals
(
ip
)
||
"0:0:0:0:0:0:0:1"
.
equals
(
ip
))
{
try
{
ip
=
InetAddress
.
getLocalHost
().
getHostAddress
();
}
catch
(
UnknownHostException
e
)
{
e
.
printStackTrace
();
}
}
return
ip
;
}
private
void
insertSysLog
(
SysUser
user
,
String
ip
,
String
czxxLbdm
,
String
yymcJyqk
,
String
czxxJyqk
)
{
//拼接日志流水号
//公安机关机构代码(前6位)
String
qlw
=
user
.
getUnitcode
().
substring
(
0
,
6
);
SimpleDateFormat
formatter
=
new
SimpleDateFormat
(
"yyyyMMdd"
);
//8位年月日
String
sjdate
=
formatter
.
format
(
new
Date
());
String
lsh
=
getOrderIdByUuid
();
String
yrzlsh
=
qlw
+
sjdate
+
lsh
;
String
rzlsh
=
yrzlsh
.
replace
(
" "
,
""
);
SysGnsyrz
sysGnsyrz
=
new
SysGnsyrz
();
sysGnsyrz
.
setRzlsh
(
rzlsh
);
sysGnsyrz
.
setYymcJyqk
(
yymcJyqk
);
sysGnsyrz
.
setYhGmsfhm
(
user
.
getIdentitycard
());
// 1.6新增字段
sysGnsyrz
.
setYhXm
(
user
.
getTrueName
());
sysGnsyrz
.
setYymcdm
(
""
);
sysGnsyrz
.
setYwbhlxdm
(
""
);
sysGnsyrz
.
setYwbh
(
""
);
sysGnsyrz
.
setCxnrlbdm
(
""
);
sysGnsyrz
.
setCxnrbh
(
""
);
sysGnsyrz
.
setCxxxjg
(
""
);
//==========
sysGnsyrz
.
setYhIp
(
ip
);
sysGnsyrz
.
setYhdwGajgjgdm
(
user
.
getUnitcode
());
sysGnsyrz
.
setYhdwGajgmc
(
user
.
getUnitname
());
sysGnsyrz
.
setCzlxdm
(
czxxLbdm
);
sysGnsyrz
.
setCzxxJyqk
(
czxxJyqk
);
sysGnsyrz
.
setXxscPdbz
(
"0"
);
sysGnsyrz
.
setXxdjdwGajgjgdm
(
user
.
getUnitcode
());
sysGnsyrz
.
setXxdjdwGajgmc
(
user
.
getUnitname
());
sysGnsyrz
.
setXxdjryXm
(
user
.
getTrueName
());
sysGnsyrz
.
setXxdjryGmsfhm
(
user
.
getIdentitycard
());
sysGnsyrz
.
setXxdjryLxdh
(
user
.
getTelephone
());
sysGnsyrz
.
setXxczdwGajgjgdm
(
user
.
getUnitcode
());
sysGnsyrz
.
setXxczdwGajgmc
(
user
.
getUnitname
());
sysGnsyrz
.
setXxczryXm
(
user
.
getTrueName
());
sysGnsyrz
.
setXxczryGmsfhm
(
user
.
getIdentitycard
());
sysGnsyrz
.
setXxlyms
(
"系统功能日志"
);
try
{
userDao
.
addGnsyrz
(
sysGnsyrz
);
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
}
private
static
String
getOrderIdByUuid
()
{
//最大支持1-9个集群机器部署
int
machineId
=
1
;
int
hashCodeV
=
UUID
.
randomUUID
().
toString
().
hashCode
();
//有可能是负数
if
(
hashCodeV
<
0
)
{
hashCodeV
=
-
hashCodeV
;
}
// 0 代表前面补充0
// 4 代表长度为4
// d 代表参数为正数型
return
machineId
+
String
.
format
(
"%015d"
,
hashCodeV
);
}
@Override
@Override
public
SysUser
loadByUsername
(
String
username
)
{
public
SysUser
loadByUsername
(
String
username
)
{
SysUser
user
=
new
SysUser
();
SysUser
user
=
new
SysUser
();
...
...
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