Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
wwwanlingxiao
mall
Commits
2d4dc7e0
Commit
2d4dc7e0
authored
Apr 18, 2018
by
zhh
Browse files
通用日志记录
parent
8dde877a
Changes
11
Hide whitespace changes
Inline
Side-by-side
README.md
View file @
2d4dc7e0
...
...
@@ -31,6 +31,7 @@ crud操作demo | ✔
集成监控功能 | ✔
包结构调整 | ✔
SpringSecurity登录改为Restful形式 |
SpringAOP通用日志处理 |
### 功能完善
...
...
mall-admin/pom.xml
View file @
2d4dc7e0
...
...
@@ -51,6 +51,10 @@
<artifactId>
spring-boot-starter-test
</artifactId>
<scope>
test
</scope>
</dependency>
<dependency>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-starter-aop
</artifactId>
</dependency>
<dependency>
<groupId>
io.springfox
</groupId>
<artifactId>
springfox-swagger2
</artifactId>
...
...
mall-admin/src/main/java/com/macro/mall/component/WebLogAspect.java
0 → 100644
View file @
2d4dc7e0
package
com.macro.mall.component
;
import
org.aspectj.lang.JoinPoint
;
import
org.aspectj.lang.annotation.AfterReturning
;
import
org.aspectj.lang.annotation.Aspect
;
import
org.aspectj.lang.annotation.Before
;
import
org.aspectj.lang.annotation.Pointcut
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.stereotype.Component
;
import
org.springframework.web.context.request.RequestContextHolder
;
import
org.springframework.web.context.request.ServletRequestAttributes
;
import
javax.servlet.http.HttpServletRequest
;
import
java.util.Arrays
;
/**
* 统一日志处理切面
*/
@Aspect
@Component
public
class
WebLogAspect
{
private
static
final
Logger
LOGGER
=
LoggerFactory
.
getLogger
(
WebLogAspect
.
class
);
private
ThreadLocal
<
Long
>
startTime
=
new
ThreadLocal
<>();
@Pointcut
(
"execution(public * com.macro.mall.controller.*.*(..))"
)
public
void
webLog
()
{
}
@Before
(
"webLog()"
)
public
void
doBefore
(
JoinPoint
joinPoint
)
throws
Throwable
{
startTime
.
set
(
System
.
currentTimeMillis
());
//获取当前请求对象
ServletRequestAttributes
attributes
=
(
ServletRequestAttributes
)
RequestContextHolder
.
getRequestAttributes
();
HttpServletRequest
request
=
attributes
.
getRequest
();
//记录请求信息(可以记录到数据库中)
String
classMethod
=
joinPoint
.
getSignature
().
getDeclaringTypeName
()
+
"."
+
joinPoint
.
getSignature
().
getName
();
String
args
=
Arrays
.
toString
(
joinPoint
.
getArgs
());
LOGGER
.
info
(
"HTTP URL:{}; HTTP_METHOD:{}; IP:{}; CLASS_METHOD:{}; ARGS:{}"
,
request
.
getRequestURL
(),
request
.
getMethod
(),
request
.
getRemoteAddr
(),
classMethod
,
args
);
}
@AfterReturning
(
value
=
"webLog()"
,
returning
=
"ret"
)
public
void
doAfterReturning
(
Object
ret
)
throws
Throwable
{
long
costTime
=
System
.
currentTimeMillis
()
-
startTime
.
get
();
LOGGER
.
info
(
"RESPONSE:{}; COST_TIME:{}ms"
,
ret
,
costTime
);
}
}
mall-admin/src/main/java/com/macro/mall/controller/PmsBrandController.java
View file @
2d4dc7e0
...
...
@@ -25,8 +25,6 @@ public class PmsBrandController {
@Autowired
private
PmsBrandService
brandService
;
private
static
final
Logger
LOGGER
=
LoggerFactory
.
getLogger
(
PmsBrandController
.
class
);
@ApiOperation
(
value
=
"获取全部品牌列表"
)
@RequestMapping
(
value
=
"/listAll"
,
method
=
RequestMethod
.
GET
)
@ResponseBody
...
...
@@ -45,10 +43,8 @@ public class PmsBrandController {
int
count
=
brandService
.
createBrand
(
pmsBrand
);
if
(
count
==
1
)
{
commonResult
=
new
CommonResult
().
success
(
pmsBrand
);
LOGGER
.
debug
(
"createBrand success:{}"
,
pmsBrand
);
}
else
{
commonResult
=
new
CommonResult
().
failed
();
LOGGER
.
debug
(
"createBrand failed:{}"
,
pmsBrand
);
}
return
commonResult
;
}
...
...
@@ -64,10 +60,8 @@ public class PmsBrandController {
int
count
=
brandService
.
updateBrand
(
id
,
pmsBrandParam
);
if
(
count
==
1
)
{
commonResult
=
new
CommonResult
().
success
(
pmsBrandParam
);
LOGGER
.
debug
(
"updateBrand success:{}"
,
pmsBrandParam
);
}
else
{
commonResult
=
new
CommonResult
().
failed
();
LOGGER
.
debug
(
"updateBrand failed:{}"
,
pmsBrandParam
);
}
return
commonResult
;
}
...
...
@@ -78,10 +72,8 @@ public class PmsBrandController {
public
Object
deleteBrand
(
@PathVariable
(
"id"
)
Long
id
)
{
int
count
=
brandService
.
deleteBrand
(
id
);
if
(
count
==
1
)
{
LOGGER
.
debug
(
"deleteBrand success:id={}"
,
id
);
return
new
CommonResult
().
success
(
null
);
}
else
{
LOGGER
.
debug
(
"deleteBrand failed:id={}"
,
id
);
return
new
CommonResult
().
failed
();
}
}
...
...
@@ -108,10 +100,8 @@ public class PmsBrandController {
public
Object
deleteBrandBatch
(
@RequestParam
(
"ids"
)
List
<
Long
>
ids
)
{
int
count
=
brandService
.
deleteBrand
(
ids
);
if
(
count
>
0
)
{
LOGGER
.
debug
(
"deleteBrandBatch success:ids={}"
,
ids
);
return
new
CommonResult
().
success
(
count
);
}
else
{
LOGGER
.
debug
(
"deleteBrandBatch failed:ids={}"
,
ids
);
return
new
CommonResult
().
failed
();
}
}
...
...
@@ -123,10 +113,8 @@ public class PmsBrandController {
@RequestParam
(
"showStatus"
)
Integer
showStatus
)
{
int
count
=
brandService
.
updateShowStatus
(
ids
,
showStatus
);
if
(
count
>
0
)
{
LOGGER
.
debug
(
"updateShowStatus success:ids={}"
,
ids
);
return
new
CommonResult
().
success
(
count
);
}
else
{
LOGGER
.
debug
(
"updateShowStatus failed:ids={}"
,
ids
);
return
new
CommonResult
().
failed
();
}
}
...
...
@@ -138,10 +126,8 @@ public class PmsBrandController {
@RequestParam
(
"factoryStatus"
)
Integer
factoryStatus
)
{
int
count
=
brandService
.
updateFactoryStatus
(
ids
,
factoryStatus
);
if
(
count
>
0
)
{
LOGGER
.
debug
(
"updateFactoryStatus success:{}"
,
ids
);
return
new
CommonResult
().
success
(
count
);
}
else
{
LOGGER
.
debug
(
"updateFactoryStatus failed:{}"
,
ids
);
return
new
CommonResult
().
failed
();
}
}
...
...
mall-admin/src/main/java/com/macro/mall/controller/PmsProductAttributeCategoryController.java
View file @
2d4dc7e0
...
...
@@ -18,7 +18,6 @@ import java.util.List;
@Controller
@RequestMapping
(
"/productAttribute/category"
)
public
class
PmsProductAttributeCategoryController
{
private
static
final
Logger
LOGGER
=
LoggerFactory
.
getLogger
(
PmsProductAttributeCategoryController
.
class
);
@Autowired
private
PmsProductAttributeCategoryService
productAttributeCategoryService
;
...
...
@@ -28,10 +27,8 @@ public class PmsProductAttributeCategoryController {
public
Object
create
(
@RequestParam
String
name
)
{
int
count
=
productAttributeCategoryService
.
create
(
name
);
if
(
count
>
0
)
{
LOGGER
.
debug
(
"create success name:{}"
,
name
);
return
new
CommonResult
().
success
(
count
);
}
else
{
LOGGER
.
debug
(
"create failed name:{}"
,
name
);
return
new
CommonResult
().
failed
();
}
}
...
...
@@ -42,10 +39,8 @@ public class PmsProductAttributeCategoryController {
public
Object
update
(
@PathVariable
Long
id
,
@RequestParam
String
name
)
{
int
count
=
productAttributeCategoryService
.
update
(
id
,
name
);
if
(
count
>
0
)
{
LOGGER
.
debug
(
"update success id:{}"
,
id
);
return
new
CommonResult
().
success
(
count
);
}
else
{
LOGGER
.
debug
(
"update failed id:{}"
,
id
);
return
new
CommonResult
().
failed
();
}
}
...
...
@@ -56,10 +51,8 @@ public class PmsProductAttributeCategoryController {
public
Object
delete
(
@PathVariable
Long
id
)
{
int
count
=
productAttributeCategoryService
.
delete
(
id
);
if
(
count
>
0
)
{
LOGGER
.
debug
(
"delete success name:{}"
,
id
);
return
new
CommonResult
().
success
(
count
);
}
else
{
LOGGER
.
debug
(
"delete failed name:{}"
,
id
);
return
new
CommonResult
().
failed
();
}
}
...
...
mall-admin/src/main/java/com/macro/mall/controller/PmsProductAttributeController.java
0 → 100644
View file @
2d4dc7e0
package
com.macro.mall.controller
;
import
com.macro.mall.service.PmsProductAttributeService
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Controller
;
import
org.springframework.web.bind.annotation.RequestMapping
;
/**
* 商品属性管理Controller
*/
@Controller
@RequestMapping
(
"/productAttribute"
)
public
class
PmsProductAttributeController
{
private
static
final
Logger
LOGGER
=
LoggerFactory
.
getLogger
(
PmsProductAttributeController
.
class
);
@Autowired
private
PmsProductAttributeService
productAttributeService
;
}
mall-admin/src/main/java/com/macro/mall/controller/PmsProductCategoryController.java
View file @
2d4dc7e0
...
...
@@ -21,7 +21,6 @@ import java.util.List;
@Controller
@RequestMapping
(
"/productCategory"
)
public
class
PmsProductCategoryController
{
private
static
final
Logger
LOGGER
=
LoggerFactory
.
getLogger
(
PmsProductCategoryController
.
class
);
@Autowired
private
PmsProductCategoryService
productCategoryService
;
...
...
@@ -34,10 +33,8 @@ public class PmsProductCategoryController {
}
int
count
=
productCategoryService
.
create
(
pmsProductCategoryParam
);
if
(
count
>
0
)
{
LOGGER
.
debug
(
"create success {}"
,
pmsProductCategoryParam
);
return
new
CommonResult
().
success
(
count
);
}
else
{
LOGGER
.
debug
(
"create failed {}"
,
pmsProductCategoryParam
);
return
new
CommonResult
().
failed
();
}
}
...
...
@@ -54,10 +51,8 @@ public class PmsProductCategoryController {
}
int
count
=
productCategoryService
.
update
(
id
,
pmsProductCategoryParam
);
if
(
count
>
0
)
{
LOGGER
.
debug
(
"update success {}"
,
pmsProductCategoryParam
);
return
new
CommonResult
().
success
(
count
);
}
else
{
LOGGER
.
debug
(
"update failed {}"
,
pmsProductCategoryParam
);
return
new
CommonResult
().
failed
();
}
}
...
...
@@ -78,10 +73,8 @@ public class PmsProductCategoryController {
public
Object
delete
(
@PathVariable
Long
id
)
{
int
count
=
productCategoryService
.
delete
(
id
);
if
(
count
>
0
)
{
LOGGER
.
debug
(
"delete success id:{}"
,
id
);
return
new
CommonResult
().
success
(
count
);
}
else
{
LOGGER
.
debug
(
"delete failed id:{}"
,
id
);
return
new
CommonResult
().
failed
();
}
}
...
...
mall-admin/src/main/java/com/macro/mall/dto/CommonResult.java
View file @
2d4dc7e0
package
com.macro.mall.dto
;
import
com.github.pagehelper.PageInfo
;
import
com.macro.mall.util.JsonUtils
;
import
org.springframework.validation.BindingResult
;
import
java.util.HashMap
;
...
...
@@ -76,6 +77,11 @@ public class CommonResult {
return
this
;
}
@Override
public
String
toString
()
{
return
JsonUtils
.
objectToJson
(
this
);
}
public
int
getCode
()
{
return
code
;
}
...
...
mall-admin/src/main/java/com/macro/mall/service/PmsProductAttributeService.java
0 → 100644
View file @
2d4dc7e0
package
com.macro.mall.service
;
/**
* 商品属性Service
*/
public
interface
PmsProductAttributeService
{
}
mall-admin/src/main/java/com/macro/mall/service/impl/PmsProductAttributeServiceImpl.java
0 → 100644
View file @
2d4dc7e0
package
com.macro.mall.service.impl
;
import
com.macro.mall.mapper.PmsProductAttributeMapper
;
import
com.macro.mall.service.PmsProductAttributeService
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
/**
* 商品属性Service实现类
*/
@Service
public
class
PmsProductAttributeServiceImpl
implements
PmsProductAttributeService
{
@Autowired
private
PmsProductAttributeMapper
productAttributeMapper
;
}
mall-admin/src/main/java/com/macro/mall/util/JsonUtils.java
0 → 100644
View file @
2d4dc7e0
package
com.macro.mall.util
;
import
com.fasterxml.jackson.core.JsonProcessingException
;
import
com.fasterxml.jackson.databind.JavaType
;
import
com.fasterxml.jackson.databind.ObjectMapper
;
import
java.util.List
;
/**
* 淘淘商城自定义响应结构
*/
public
class
JsonUtils
{
// 定义jackson对象
private
static
final
ObjectMapper
MAPPER
=
new
ObjectMapper
();
/**
* 将对象转换成json字符串。
* <p>Title: pojoToJson</p>
* <p>Description: </p>
* @param data
* @return
*/
public
static
String
objectToJson
(
Object
data
)
{
try
{
String
string
=
MAPPER
.
writeValueAsString
(
data
);
return
string
;
}
catch
(
JsonProcessingException
e
)
{
e
.
printStackTrace
();
}
return
null
;
}
/**
* 将json结果集转化为对象
*
* @param jsonData json数据
* @param beanType 对象中的object类型
* @return
*/
public
static
<
T
>
T
jsonToPojo
(
String
jsonData
,
Class
<
T
>
beanType
)
{
try
{
T
t
=
MAPPER
.
readValue
(
jsonData
,
beanType
);
return
t
;
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
return
null
;
}
/**
* 将json数据转换成pojo对象list
* <p>Title: jsonToList</p>
* <p>Description: </p>
* @param jsonData
* @param beanType
* @return
*/
public
static
<
T
>
List
<
T
>
jsonToList
(
String
jsonData
,
Class
<
T
>
beanType
)
{
JavaType
javaType
=
MAPPER
.
getTypeFactory
().
constructParametricType
(
List
.
class
,
beanType
);
try
{
List
<
T
>
list
=
MAPPER
.
readValue
(
jsonData
,
javaType
);
return
list
;
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
return
null
;
}
}
Write
Preview
Supports
Markdown
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