Toggle navigation
Toggle navigation
This project
Loading...
Sign in
ufo
/
ufo-platform
·
Commits
Go to a project
GitLab
Go to group
Project
Activity
Files
Commits
Pipelines
0
Builds
0
Graphs
Milestones
Issues
0
Merge Requests
0
Members
Labels
Wiki
Forks
Network
Create a new issue
Download as
Plain Diff
Browse Files
Authored by
bevishuang
5 years ago
Commit
8425fed2f58d7fda110f911253c9b429505cbbb0
2 parents
50327826
8bddcf12
Merge branch 'test6.9.17' of
http://git.yoho.cn/ufo/ufo-platform
into test6.9.17
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
440 additions
and
1 deletions
dal/src/main/java/com/yoho/order/dal/OperationLogMapper.java
dal/src/main/java/com/yoho/order/model/OperationLog.java
dal/src/main/java/com/yoho/order/model/OperationLogReq.java
dal/src/main/java/com/yoho/order/model/OperationLogResp.java
dal/src/main/resources/META-INF/mybatis/OperationLogMapper.xml
order/src/main/java/com/yoho/ufo/order/aop/OperationLogAspect.java
order/src/main/java/com/yoho/ufo/order/controller/OperationLogController.java
order/src/main/java/com/yoho/ufo/order/service/IOperationLogService.java
order/src/main/java/com/yoho/ufo/order/service/impl/OperationLogServiceImpl.java
web/src/main/resources/databases.yml
web/src/main/webapp/META-INF/autoconf/databases.yml
web/src/main/webapp/html/orderManage/editConfig.html
dal/src/main/java/com/yoho/order/dal/OperationLogMapper.java
0 → 100644
View file @
8425fed
package
com
.
yoho
.
order
.
dal
;
import
com.yoho.order.model.OperationLog
;
import
com.yoho.order.model.OperationLogReq
;
import
java.util.List
;
/**
* @Author: 杨长江
* @Date: 2019-12-10 10:52
* @Description: 操作日志持久类
*/
public
interface
OperationLogMapper
{
/**
* 保存
* @param operationLog
*/
int
save
(
OperationLog
operationLog
);
/**
* 单条查询
* @param id
* @return
*/
OperationLog
detail
(
int
id
);
/**
* 分页查询
* @param req
* @return
*/
List
<
OperationLog
>
page
(
OperationLogReq
req
);
/**
* 统计
* @param req
* @return
*/
int
count
(
OperationLogReq
req
);
}
...
...
dal/src/main/java/com/yoho/order/model/OperationLog.java
0 → 100644
View file @
8425fed
package
com
.
yoho
.
order
.
model
;
import
lombok.Data
;
/**
* @Author: 杨长江
* @Date: 2019-12-09 19:03
* @Description: 操作日志
*/
@Data
public
class
OperationLog
{
private
int
id
;
private
Integer
uId
;
/**
* 方法名称
*/
private
String
methodName
;
/**
* 方法参数
*/
private
String
methodParam
;
private
int
createTime
;
/**
* 操作人
*/
private
String
uName
;
private
String
ip
;
}
...
...
dal/src/main/java/com/yoho/order/model/OperationLogReq.java
0 → 100644
View file @
8425fed
package
com
.
yoho
.
order
.
model
;
import
com.yoho.ufo.service.model.PageRequestBO
;
import
lombok.Data
;
/**
* @Author: 杨长江
* @Date: 2019-12-10 10:44
* @Description: 日志分页查询实体
*/
@Data
public
class
OperationLogReq
extends
PageRequestBO
{
/**
* 操作人
*/
private
String
operationName
;
}
...
...
dal/src/main/java/com/yoho/order/model/OperationLogResp.java
0 → 100644
View file @
8425fed
package
com
.
yoho
.
order
.
model
;
import
lombok.Data
;
/**
* @Author: 杨长江
* @Date: 2019-12-09 19:03
* @Description: 操作日志
*/
@Data
public
class
OperationLogResp
{
private
int
id
;
/**
* 方法名称
*/
private
String
methodName
;
/**
* 方法参数
*/
private
String
methodParam
;
private
String
createTimeStr
;
/**
* 操作人
*/
private
String
uName
;
private
String
ip
;
}
...
...
dal/src/main/resources/META-INF/mybatis/OperationLogMapper.xml
0 → 100644
View file @
8425fed
<?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=
"com.yoho.order.dal.OperationLogMapper"
>
<resultMap
id=
"BaseResultMap"
type=
"com.yoho.order.model.OperationLog"
>
<result
column=
"id"
property=
"id"
jdbcType=
"INTEGER"
/>
<result
column=
"uid"
property=
"uId"
jdbcType=
"INTEGER"
/>
<result
column=
"uname"
property=
"uName"
jdbcType=
"VARCHAR"
/>
<result
column=
"method_name"
property=
"methodName"
jdbcType=
"VARCHAR"
/>
<result
column=
"method_param"
property=
"methodParam"
jdbcType=
"VARCHAR"
/>
<result
column=
"create_time"
property=
"createTime"
jdbcType=
"INTEGER"
/>
<result
column=
"ip"
property=
"ip"
jdbcType=
"VARCHAR"
/>
</resultMap>
<sql
id=
"Base_Column_List"
>
id, uid, method_name, method_param, create_time, uname, ip
</sql>
<select
id=
"page"
parameterType=
"com.yoho.order.model.OperationLogReq"
resultMap=
"BaseResultMap"
>
select
<include
refid=
"Base_Column_List"
/>
from operation_log
where 1 = 1
<if
test=
"operationName != null and operationName != ''"
>
and uname like concat('%', #{operationName,jdbcType=VARCHAR}, '%')
</if>
order by id desc
limit #{start,jdbcType=INTEGER},#{size,jdbcType=INTEGER}
</select>
<select
id=
"detail"
parameterType=
"int"
resultMap=
"BaseResultMap"
>
select
<include
refid=
"Base_Column_List"
/>
from operation_log
where id = #{id,jdbcType=INTEGER}
limit 1
</select>
<select
id=
"count"
parameterType=
"com.yoho.order.model.OperationLogReq"
resultType=
"int"
>
select count(1)
from operation_log
where 1 = 1
<if
test=
"operationName != null and operationName != ''"
>
and uname like concat(#{operationName,jdbcType=VARCHAR}, '%')
</if>
</select>
<insert
id=
"save"
parameterType=
"com.yoho.order.model.OperationLog"
>
insert into
operation_log(`uid`,`method_name`,`method_param`,`create_time`,`uname`,`ip`)
values(#{uId,jdbcType=INTEGER},#{methodName,jdbcType=VARCHAR},#{methodParam,jdbcType=VARCHAR},
#{createTime,jdbcType=INTEGER},#{uName,jdbcType=VARCHAR},#{ip,jdbcType=VARCHAR})
</insert>
</mapper>
\ No newline at end of file
...
...
order/src/main/java/com/yoho/ufo/order/aop/OperationLogAspect.java
0 → 100644
View file @
8425fed
package
com
.
yoho
.
ufo
.
order
.
aop
;
import
com.alibaba.fastjson.JSONObject
;
import
com.yoho.core.common.utils.DateUtil
;
import
com.yoho.order.model.OperationLog
;
import
com.yoho.ufo.login.model.UserInfoResponseBO
;
import
com.yoho.ufo.order.service.IOperationLogService
;
import
org.aspectj.lang.JoinPoint
;
import
org.aspectj.lang.annotation.Aspect
;
import
org.aspectj.lang.annotation.Before
;
import
org.aspectj.lang.annotation.Pointcut
;
import
org.aspectj.lang.reflect.MethodSignature
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Component
;
import
javax.servlet.http.HttpServletRequest
;
import
java.util.HashMap
;
import
java.util.Map
;
import
java.util.Objects
;
/**
* @Author: 杨长江
* @Date: 2019-12-09 18:46
* @Description: 记录操作日志切面
*/
@Component
@Aspect
public
class
OperationLogAspect
{
@Autowired
private
HttpServletRequest
request
;
@Autowired
private
IOperationLogService
operationLogService
;
/**
* 切RequestMapping注解的方法
*/
@Pointcut
(
"execution(* com.yoho.ufo.order.controller.MetaConfigController.update*(..))"
)
private
void
pointcut
(){}
@Before
(
"pointcut()"
)
public
void
before
(
JoinPoint
point
){
Object
[]
objects
=
point
.
getArgs
();
System
.
out
.
println
(
objects
);
// 获取方法签名
MethodSignature
signature
=
(
MethodSignature
)
point
.
getSignature
();
String
className
=
signature
.
getMethod
().
getDeclaringClass
().
getName
();
String
methodName
=
signature
.
getMethod
().
getName
();
OperationLog
operationLog
=
new
OperationLog
();
operationLog
.
setMethodName
(
className
+
"."
+
methodName
);
operationLog
.
setCreateTime
(
DateUtil
.
getCurrentTimeSecond
());
operationLog
.
setMethodParam
(
getParam
(
request
));
operationLog
.
setIp
(
request
.
getRemoteAddr
());
operationLog
.
setUName
(
getUname
(
request
));
operationLog
.
setUId
(
getUid
(
request
));
operationLogService
.
save
(
operationLog
);
}
/**
* 获取参数
* @param request
* @return
*/
private
String
getParam
(
HttpServletRequest
request
){
Map
<
String
,
Object
>
map
=
new
HashMap
<>(
16
);
map
.
put
(
"id"
,
request
.
getParameter
(
"id"
));
map
.
put
(
"code"
,
request
.
getParameter
(
"code"
));
map
.
put
(
"title"
,
request
.
getParameter
(
"title"
));
map
.
put
(
"desc"
,
request
.
getParameter
(
"desc"
));
map
.
put
(
"value"
,
request
.
getParameter
(
"value"
));
//这样拼接返回的不是一个json格式数据,此处不使用JSONObject序列化
//是因为json序列化会使value字段里的 " 被转义为 \",不好做json格式校验
StringBuffer
stringBuffer
=
new
StringBuffer
(
"{"
);
map
.
forEach
((
key
,
value
)
->
stringBuffer
.
append
(
key
).
append
(
":"
).
append
(
value
).
append
(
","
));
String
json
=
stringBuffer
.
substring
(
0
,
stringBuffer
.
length
()-
1
);
return
json
+
"}"
;
}
/**
* 获取用户名
* @param request
* @return
*/
private
String
getUname
(
HttpServletRequest
request
){
UserInfoResponseBO
responseBO
=
(
UserInfoResponseBO
)
request
.
getSession
().
getAttribute
(
"platformUser"
);
if
(
Objects
.
isNull
(
responseBO
)){
return
null
;
}
return
responseBO
.
getAccount
();
}
/**
* 获取userId
* @param request
* @return
*/
private
Integer
getUid
(
HttpServletRequest
request
){
UserInfoResponseBO
responseBO
=
(
UserInfoResponseBO
)
request
.
getSession
().
getAttribute
(
"platformUser"
);
if
(
Objects
.
isNull
(
responseBO
)){
return
null
;
}
return
Integer
.
valueOf
(
responseBO
.
getPid
());
}
}
...
...
order/src/main/java/com/yoho/ufo/order/controller/OperationLogController.java
0 → 100644
View file @
8425fed
package
com
.
yoho
.
ufo
.
order
.
controller
;
import
com.yoho.order.model.OperationLogReq
;
import
com.yoho.order.model.OperationLogResp
;
import
com.yoho.ufo.order.service.IOperationLogService
;
import
com.yoho.ufo.service.model.ApiResponse
;
import
com.yoho.ufo.service.model.PageResponseBO
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.http.HttpStatus
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
/**
* @Author: 杨长江
* @Date: 2019-12-10 15:10
* @Description: 操作日志接口
*/
@RestController
@RequestMapping
(
value
=
"/operationLog"
)
public
class
OperationLogController
{
@Autowired
private
IOperationLogService
operationLogService
;
/**
* 分页查询
* @return
*/
@RequestMapping
(
value
=
"/queryLogList"
)
public
ApiResponse
page
(
OperationLogReq
operationLogReq
){
PageResponseBO
<
OperationLogResp
>
pageResponseBO
=
operationLogService
.
page
(
operationLogReq
);
return
new
ApiResponse
.
ApiResponseBuilder
().
data
(
pageResponseBO
).
code
(
HttpStatus
.
OK
.
value
()).
build
();
}
/**
* 查询单条记录
* @param id
* @return
*/
@RequestMapping
(
value
=
"/detail"
)
public
ApiResponse
detail
(
int
id
){
return
operationLogService
.
detail
(
id
);
}
}
...
...
order/src/main/java/com/yoho/ufo/order/service/IOperationLogService.java
0 → 100644
View file @
8425fed
package
com
.
yoho
.
ufo
.
order
.
service
;
import
com.yoho.order.model.OperationLogReq
;
import
com.yoho.order.model.OperationLogResp
;
import
com.yoho.ufo.service.model.ApiResponse
;
import
com.yoho.order.model.OperationLog
;
import
com.yoho.ufo.service.model.PageResponseBO
;
/**
* @Author: 杨长江
* @Date: 2019-12-10 09:27
* @Description: 操作日志服务类
*/
public
interface
IOperationLogService
{
/**
* 保存
* @param operationLog
* @return
*/
void
save
(
OperationLog
operationLog
);
/**
* 分页查询
* @param operationLogReq
* @return
*/
PageResponseBO
<
OperationLogResp
>
page
(
OperationLogReq
operationLogReq
);
/**
* 查询单条日志信息
* @param id
* @return
*/
ApiResponse
detail
(
int
id
);
}
...
...
order/src/main/java/com/yoho/ufo/order/service/impl/OperationLogServiceImpl.java
0 → 100644
View file @
8425fed
package
com
.
yoho
.
ufo
.
order
.
service
.
impl
;
import
com.yoho.order.dal.OperationLogMapper
;
import
com.yoho.order.model.OperationLogReq
;
import
com.yoho.order.model.OperationLog
;
import
com.yoho.order.model.OperationLogResp
;
import
com.yoho.ufo.order.service.IOperationLogService
;
import
com.yoho.ufo.service.model.ApiResponse
;
import
com.yoho.ufo.service.model.PageResponseBO
;
import
com.yoho.ufo.util.DateUtil
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.http.HttpStatus
;
import
org.springframework.stereotype.Service
;
import
java.util.ArrayList
;
import
java.util.List
;
/**
* @Author: 杨长江
* @Date: 2019-12-10 10:49
* @Description: 说明
*/
@Service
public
class
OperationLogServiceImpl
implements
IOperationLogService
{
@Autowired
private
OperationLogMapper
operationLogMapper
;
@Override
public
void
save
(
OperationLog
operationLog
)
{
operationLogMapper
.
save
(
operationLog
);
}
@Override
public
PageResponseBO
<
OperationLogResp
>
page
(
OperationLogReq
operationLogReq
)
{
int
count
=
operationLogMapper
.
count
(
operationLogReq
);
if
(
count
==
0
){
return
null
;
}
PageResponseBO
<
OperationLogResp
>
pageResponseBO
=
new
PageResponseBO
<>();
List
<
OperationLog
>
list
=
operationLogMapper
.
page
(
operationLogReq
);
List
<
OperationLogResp
>
operationLogRespList
=
new
ArrayList
<>(
list
.
size
());
for
(
OperationLog
log
:
list
)
{
OperationLogResp
resp
=
new
OperationLogResp
();
BeanUtils
.
copyProperties
(
log
,
resp
);
resp
.
setCreateTimeStr
(
DateUtil
.
int2DateStr
(
log
.
getCreateTime
(),
DateUtil
.
DATE_TIME_FORMAT
));
operationLogRespList
.
add
(
resp
);
}
pageResponseBO
.
setTotal
(
count
);
pageResponseBO
.
setList
(
operationLogRespList
);
return
pageResponseBO
;
}
@Override
public
ApiResponse
detail
(
int
id
)
{
if
(
id
<=
0
){
return
new
ApiResponse
.
ApiResponseBuilder
()
.
code
(
HttpStatus
.
INTERNAL_SERVER_ERROR
.
value
())
.
message
(
"非法参数"
)
.
build
();
}
return
new
ApiResponse
.
ApiResponseBuilder
()
.
code
(
HttpStatus
.
OK
.
value
())
.
data
(
operationLogMapper
.
detail
(
id
))
.
build
();
}
}
...
...
web/src/main/resources/databases.yml
View file @
8425fed
...
...
@@ -73,6 +73,7 @@ datasources:
-
com.yoho.order.dal.BuyerOrderStatusFlowMapper
-
com.yoho.order.dal.BlackUserMapper
-
com.yoho.order.dal.MetaConfigMapper
-
com.yoho.order.dal.OperationLogMapper
ufo_resource
:
servers
:
...
...
web/src/main/webapp/META-INF/autoconf/databases.yml
View file @
8425fed
...
...
@@ -74,6 +74,7 @@ datasources:
-
com.yoho.order.dal.BuyerOrderStatusFlowMapper
-
com.yoho.order.dal.BlackUserMapper
-
com.yoho.order.dal.MetaConfigMapper
-
com.yoho.order.dal.OperationLogMapper
ufo_resource
:
servers
:
...
...
web/src/main/webapp/html/orderManage/editConfig.html
View file @
8425fed
<!DOCTYPE html>
<div
id=
"tt"
class=
"easyui-layout"
fit=
"true"
style=
"overflow-y: scroll"
>
<form
name=
"metaConfigEditForm"
id=
"metaConfigEditForm"
method=
"post"
enctype=
"multipart/form-data"
>
<form
name=
"metaConfigEditForm"
id=
"metaConfigEditForm"
method=
"post"
>
<input
type=
"hidden"
name=
"id"
id=
"id"
/>
<div
style=
"margin-top: 20px;margin-left: 30px"
>
<table
border=
"0"
style=
"width:95%;margin-top:5px;line-height:30px;"
id=
"tab"
>
...
...
Please
register
or
login
to post a comment