Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
O
order-group
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
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
order-group-application
order-group
Commits
bef298c7
Commit
bef298c7
authored
Aug 03, 2021
by
ping.wu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
日志修改
parent
c45aeed3
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
260 additions
and
256 deletions
+260
-256
order-application-service/src/main/java/cn/freemud/annotations/LogIgnore.java
+45
-45
order-application-service/src/main/java/cn/freemud/aop/LogIgnoreAspect.java
+196
-196
order-application-service/src/main/java/cn/freemud/aop/LogIgnoreFeignAspect.java
+0
-1
order-application-service/src/main/java/cn/freemud/service/impl/CheckMCCafeOrder.java
+6
-6
order-application-service/src/main/java/cn/freemud/service/impl/MallOrderServiceImpl.java
+1
-1
order-application-service/src/main/java/cn/freemud/utils/AppLogUtil.java
+5
-4
order-application-service/src/test/java/cn.freemud/service/CouponActivityServiceTest.java
+3
-3
ordercenter-sdk/src/main/java/com/freemud/application/sdk/api/ordercenter/util/LogUtil.java
+4
-0
No files found.
order-application-service/src/main/java/cn/freemud/annotations/LogIgnore.java
View file @
bef298c7
package
cn
.
freemud
.
annotations
;
import
java.lang.annotation.Retention
;
import
java.lang.annotation.RetentionPolicy
;
/**
* @author wanghanghang
*/
@Retention
(
RetentionPolicy
.
RUNTIME
)
public
@interface
LogIgnore
{
/**
* 是否打印日志,true打印,false不打印,注意设置成false状态码和状态码信息都不会打印
*
* @return
*/
boolean
printLog
()
default
true
;
/**
* printLog 设置成true的时候,可以排除哪些状态码的响应不用打印响应报文,只会打印状态码
* 默认成功100
* @return
*/
String
[]
excludeSuccessCodes
()
default
"100"
;
/**
* statusCodeFieldName 默认返回状态码字段为code
*
* @return
*/
String
codeFieldName
()
default
"code"
;
/**
* statusCodeFieldName 默认返回状态码字段为message
*
* @return
*/
String
messageFieldName
()
default
"message"
;
/**
* logMessage 日志打印
* @return
*/
String
logMessage
()
default
""
;
}
//
package cn.freemud.annotations;
//
//
import java.lang.annotation.Retention;
//
import java.lang.annotation.RetentionPolicy;
//
/
//
**
//
* @author wanghanghang
//
*/
//
//
@Retention(RetentionPolicy.RUNTIME)
//
public @interface LogIgnore {
//
/**
//
* 是否打印日志,true打印,false不打印,注意设置成false状态码和状态码信息都不会打印
//
*
//
* @return
//
*/
//
boolean printLog() default true;
//
//
/**
//
* printLog 设置成true的时候,可以排除哪些状态码的响应不用打印响应报文,只会打印状态码
//
* 默认成功100
//
* @return
//
*/
//
String[] excludeSuccessCodes() default "100";
//
//
/**
//
* statusCodeFieldName 默认返回状态码字段为code
//
*
//
* @return
//
*/
//
String codeFieldName() default "code";
//
//
/**
//
* statusCodeFieldName 默认返回状态码字段为message
//
*
//
* @return
//
*/
//
String messageFieldName() default "message";
//
//
/**
//
* logMessage 日志打印
//
* @return
//
*/
//
String logMessage() default "";
//
}
order-application-service/src/main/java/cn/freemud/aop/LogIgnoreAspect.java
View file @
bef298c7
package
cn
.
freemud
.
aop
;
import
cn.freemud.annotations.LogIgnore
;
import
cn.freemud.utils.AppLogUtil
;
import
com.alibaba.fastjson.JSON
;
import
com.freemud.application.sdk.api.base.SDKCommonBaseContextWare
;
import
com.freemud.application.sdk.api.exception.IgnoreErrorAnnotation
;
import
com.freemud.application.sdk.api.log.ApiLog
;
import
com.freemud.application.sdk.api.log.ErrorLog
;
import
com.freemud.application.sdk.api.log.LogParams
;
import
com.freemud.application.sdk.api.log.LogThreadLocal
;
import
com.freemud.application.sdk.api.service.EmailAlertService
;
import
com.google.common.collect.Lists
;
import
org.apache.commons.beanutils.BeanUtils
;
import
org.aspectj.lang.JoinPoint
;
import
org.aspectj.lang.ProceedingJoinPoint
;
import
org.aspectj.lang.Signature
;
import
org.aspectj.lang.annotation.AfterThrowing
;
import
org.aspectj.lang.annotation.Around
;
import
org.aspectj.lang.annotation.Aspect
;
import
org.aspectj.lang.annotation.Pointcut
;
import
org.aspectj.lang.reflect.MethodSignature
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.core.Ordered
;
import
org.springframework.stereotype.Component
;
import
org.springframework.util.StringUtils
;
import
org.springframework.web.context.request.RequestContextHolder
;
import
org.springframework.web.context.request.ServletRequestAttributes
;
import
javax.servlet.http.HttpServletRequest
;
import
java.lang.reflect.Method
;
import
java.lang.reflect.Parameter
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.UUID
;
/**
* @author freemud_whh
*/
@Aspect
@Component
public
class
LogIgnoreAspect
implements
Ordered
{
@Autowired
private
EmailAlertService
emailAlertService
;
/**
* 是否打印响应报文日志,默认是false,若为true会覆盖注解里面的{@link LogIgnore}配置,输出响应报文里面所有的信息
*/
@Value
(
"${print-response-body-log-order-application-service:false}"
)
private
volatile
boolean
printResponseBodyLog
=
false
;
/**
* 即使printResponseBodyLog设置为true, 该参数中包含的url也会被过滤且不打印日志
*/
@Value
(
"${exclude-print-body-log-methods:findNearPickUpStores,getMenuCategory}"
)
private
volatile
List
<
String
>
excludePrintBodyLogMethods
=
Lists
.
newArrayList
();
@Pointcut
(
"@annotation(cn.freemud.annotations.LogIgnore)"
)
public
void
pointcut
()
{
}
@Around
(
"pointcut()"
)
public
Object
doAroundAdvice
(
ProceedingJoinPoint
joinPoint
)
throws
Throwable
{
long
startTime
=
System
.
currentTimeMillis
();
StringBuilder
logMethod
=
new
StringBuilder
(
joinPoint
.
getSignature
().
getDeclaringTypeName
());
logMethod
.
append
(
"."
);
logMethod
.
append
(
joinPoint
.
getSignature
().
getName
());
Signature
sig
=
joinPoint
.
getSignature
();
MethodSignature
msig
=
null
;
if
(!(
sig
instanceof
MethodSignature
))
{
throw
new
IllegalArgumentException
(
"非法参数使用 "
);
}
else
{
msig
=
(
MethodSignature
)
sig
;
Object
target
=
joinPoint
.
getTarget
();
Method
currentMethod
=
target
.
getClass
().
getMethod
(
msig
.
getName
(),
msig
.
getParameterTypes
());
HttpServletRequest
request
=
((
ServletRequestAttributes
)
RequestContextHolder
.
getRequestAttributes
()).
getRequest
();
AppLogUtil
.
debugLotsParams
(
"获取tracking的值====>{}"
,
new
Object
[]{
request
.
getHeader
(
"x-transaction-id"
)});
LogThreadLocal
.
setTrackingNo
(
StringUtils
.
isEmpty
(
request
.
getHeader
(
"x-transaction-id"
))
?
UUID
.
randomUUID
().
toString
().
replaceAll
(
"-"
,
""
)
:
request
.
getHeader
(
"x-transaction-id"
));
List
logArgs
=
this
.
getLogArgs
(
currentMethod
,
joinPoint
);
String
requestData
=
JSON
.
toJSONString
(
logArgs
);
LogIgnore
logIgnore
=
currentMethod
.
getAnnotation
(
LogIgnore
.
class
);
Object
object
=
joinPoint
.
proceed
();
Object
logObj
=
object
;
if
(
logIgnore
!=
null
&&
logIgnore
.
printLog
())
{
if
(!
this
.
printResponseBodyLog
||
excludePrintBodyLogMethods
.
contains
(
logIgnore
.
logMessage
()))
{
String
statusCodeValue
=
BeanUtils
.
getProperty
(
object
,
logIgnore
.
codeFieldName
());
String
messageValue
=
BeanUtils
.
getProperty
(
object
,
logIgnore
.
messageFieldName
());
String
[]
excludeStatusCodes
=
logIgnore
.
excludeSuccessCodes
();
//当排除了这个状态码不打印响应的具体内容只会打印状态码和状态描述信息
//当返回code在不打印的范围,则将打印信息变更为只打印code和message
if
(
this
.
containStatusCode
(
excludeStatusCodes
,
statusCodeValue
))
{
logObj
=
object
.
getClass
().
newInstance
();
BeanUtils
.
setProperty
(
logObj
,
logIgnore
.
codeFieldName
(),
statusCodeValue
);
BeanUtils
.
setProperty
(
logObj
,
logIgnore
.
messageFieldName
(),
messageValue
);
}
}
}
ApiLog
.
infoConvertJson
(
logMethod
.
toString
(),
logIgnore
.
logMessage
(),
request
,
startTime
,
System
.
currentTimeMillis
(),
requestData
,
logObj
,
null
,
null
);
LogThreadLocal
.
removeTrackingNo
();
return
object
;
}
}
/**
* 过滤返参code是否在excludeStatusCodes存在
*
* @param excludeStatusCodes
* @param statusCodeValue
* @return
*/
private
boolean
containStatusCode
(
String
[]
excludeStatusCodes
,
String
statusCodeValue
)
{
if
(
excludeStatusCodes
==
null
||
excludeStatusCodes
.
length
==
0
)
{
return
false
;
}
for
(
int
i
=
0
;
i
<
excludeStatusCodes
.
length
;
i
++)
{
if
(
excludeStatusCodes
[
i
].
equals
(
statusCodeValue
))
{
return
true
;
}
}
return
false
;
}
/**
* 系统异常时,AfterThrowing在ApiAnnotation注解中已经处理。
* 此处先注释,暂不删除,代码保留
*
* @param joinPoint
* @return
*/
@AfterThrowing
(
pointcut
=
"pointcut()"
,
throwing
=
"e"
)
public
void
doAfterThrowing
(
JoinPoint
joinPoint
,
Exception
e
)
{
long
startTime
=
System
.
currentTimeMillis
();
Signature
sig
=
joinPoint
.
getSignature
();
Method
currentMethod
=
null
;
MethodSignature
msig
=
null
;
if
(!(
sig
instanceof
MethodSignature
))
{
throw
new
IllegalArgumentException
(
"非法参数使用"
);
}
else
{
msig
=
(
MethodSignature
)
sig
;
Object
target
=
joinPoint
.
getTarget
();
try
{
currentMethod
=
target
.
getClass
().
getMethod
(
msig
.
getName
(),
msig
.
getParameterTypes
());
}
catch
(
NoSuchMethodException
var19
)
{
var19
.
printStackTrace
();
}
StringBuilder
logMethod
=
new
StringBuilder
(
joinPoint
.
getSignature
().
getDeclaringTypeName
());
logMethod
.
append
(
"."
);
logMethod
.
append
(
joinPoint
.
getSignature
().
getName
());
HttpServletRequest
request
=
((
ServletRequestAttributes
)
RequestContextHolder
.
getRequestAttributes
()).
getRequest
();
try
{
Class
<?>
clz
=
e
.
getClass
();
boolean
clzHasAnno
=
clz
.
isAnnotationPresent
(
IgnoreErrorAnnotation
.
class
);
if
(!
clzHasAnno
)
{
this
.
emailAlertService
.
sendEmailAlert
(
"系统全局异常"
,
e
);
}
}
catch
(
Exception
var17
)
{
ErrorLog
.
errorConvertJson
(
SDKCommonBaseContextWare
.
getAppName
(),
logMethod
.
toString
(),
"出错:"
+
e
.
getMessage
(),
request
,
startTime
,
System
.
currentTimeMillis
(),
this
.
getLogArgs
(
currentMethod
,
joinPoint
),
var17
);
}
finally
{
ErrorLog
.
errorConvertJson
(
SDKCommonBaseContextWare
.
getAppName
(),
logMethod
.
toString
(),
"出错:"
+
e
.
getMessage
(),
request
,
startTime
,
System
.
currentTimeMillis
(),
this
.
getLogArgs
(
currentMethod
,
joinPoint
),
e
);
LogThreadLocal
.
removeTrackingNo
();
}
}
}
private
List
getLogArgs
(
Method
method
,
JoinPoint
joinPoint
)
{
if
(
method
==
null
)
{
return
null
;
}
else
{
Object
[]
args
=
joinPoint
.
getArgs
();
if
(
args
!=
null
&&
args
.
length
!=
0
)
{
List
logArgs
=
new
ArrayList
();
Parameter
[]
parameters
=
method
.
getParameters
();
for
(
int
j
=
0
;
j
<
parameters
.
length
;
++
j
)
{
Parameter
parameter
=
parameters
[
j
];
LogParams
logParams
=
(
LogParams
)
parameter
.
getAnnotation
(
LogParams
.
class
);
if
(
logParams
!=
null
)
{
logArgs
.
add
(
args
[
j
]);
}
}
return
logArgs
;
}
else
{
return
null
;
}
}
}
@Override
public
int
getOrder
()
{
return
0
;
}
}
//
package cn.freemud.aop;
//
//
import cn.freemud.annotations.LogIgnore;
//
import cn.freemud.utils.AppLogUtil;
//
import com.alibaba.fastjson.JSON;
//
import com.freemud.application.sdk.api.base.SDKCommonBaseContextWare;
//
import com.freemud.application.sdk.api.exception.IgnoreErrorAnnotation;
//
import com.freemud.application.sdk.api.log.ApiLog;
//
import com.freemud.application.sdk.api.log.ErrorLog;
//
import com.freemud.application.sdk.api.log.LogParams;
//
import com.freemud.application.sdk.api.log.LogThreadLocal;
//
import com.freemud.application.sdk.api.service.EmailAlertService;
//
import com.google.common.collect.Lists;
//
import org.apache.commons.beanutils.BeanUtils;
//
import org.aspectj.lang.JoinPoint;
//
import org.aspectj.lang.ProceedingJoinPoint;
//
import org.aspectj.lang.Signature;
//
import org.aspectj.lang.annotation.AfterThrowing;
//
import org.aspectj.lang.annotation.Around;
//
import org.aspectj.lang.annotation.Aspect;
//
import org.aspectj.lang.annotation.Pointcut;
//
import org.aspectj.lang.reflect.MethodSignature;
//
import org.springframework.beans.factory.annotation.Autowired;
//
import org.springframework.beans.factory.annotation.Value;
//
import org.springframework.core.Ordered;
//
import org.springframework.stereotype.Component;
//
import org.springframework.util.StringUtils;
//
import org.springframework.web.context.request.RequestContextHolder;
//
import org.springframework.web.context.request.ServletRequestAttributes;
//
//
import javax.servlet.http.HttpServletRequest;
//
import java.lang.reflect.Method;
//
import java.lang.reflect.Parameter;
//
import java.util.ArrayList;
//
import java.util.List;
//
import java.util.UUID;
//
/
//
**
//
* @author freemud_whh
//
*/
//
@Aspect
//
@Component
//
public class LogIgnoreAspect implements Ordered {
//
//
@Autowired
//
private EmailAlertService emailAlertService;
//
//
/**
//
* 是否打印响应报文日志,默认是false,若为true会覆盖注解里面的{@link LogIgnore}配置,输出响应报文里面所有的信息
//
*/
//
@Value("${print-response-body-log-order-application-service:false}")
//
private volatile boolean printResponseBodyLog = false;
//
//
/**
//
* 即使printResponseBodyLog设置为true, 该参数中包含的url也会被过滤且不打印日志
//
*/
//
@Value("${exclude-print-body-log-methods:findNearPickUpStores,getMenuCategory}")
//
private volatile List<String> excludePrintBodyLogMethods = Lists.newArrayList();
//
//
@Pointcut("@annotation(cn.freemud.annotations.LogIgnore)")
//
public void pointcut() {
//
}
//
//
@Around("pointcut()")
//
public Object doAroundAdvice(ProceedingJoinPoint joinPoint) throws Throwable {
//
long startTime = System.currentTimeMillis();
//
StringBuilder logMethod = new StringBuilder(joinPoint.getSignature().getDeclaringTypeName());
//
logMethod.append(".");
//
logMethod.append(joinPoint.getSignature().getName());
//
Signature sig = joinPoint.getSignature();
//
MethodSignature msig = null;
//
if (!(sig instanceof MethodSignature)) {
//
throw new IllegalArgumentException("非法参数使用 ");
//
} else {
//
msig = (MethodSignature) sig;
//
Object target = joinPoint.getTarget();
//
Method currentMethod = target.getClass().getMethod(msig.getName(), msig.getParameterTypes());
//
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
//
AppLogUtil.debugLotsParams("获取tracking的值====>{}", new Object[]{request.getHeader("x-transaction-id")});
//
LogThreadLocal.setTrackingNo(StringUtils.isEmpty(request.getHeader("x-transaction-id")) ? UUID.randomUUID().toString().replaceAll("-", "") : request.getHeader("x-transaction-id"));
//
List logArgs = this.getLogArgs(currentMethod, joinPoint);
//
String requestData = JSON.toJSONString(logArgs);
//
LogIgnore logIgnore = currentMethod.getAnnotation(LogIgnore.class);
//
Object object = joinPoint.proceed();
//
Object logObj = object;
//
if (logIgnore != null && logIgnore.printLog()) {
//
if (!this.printResponseBodyLog || excludePrintBodyLogMethods.contains(logIgnore.logMessage())) {
//
String statusCodeValue = BeanUtils.getProperty(object, logIgnore.codeFieldName());
//
String messageValue = BeanUtils.getProperty(object, logIgnore.messageFieldName());
//
String[] excludeStatusCodes = logIgnore.excludeSuccessCodes();
//
//当排除了这个状态码不打印响应的具体内容只会打印状态码和状态描述信息
//
//当返回code在不打印的范围,则将打印信息变更为只打印code和message
//
if (this.containStatusCode(excludeStatusCodes, statusCodeValue)) {
//
logObj = object.getClass().newInstance();
//
BeanUtils.setProperty(logObj, logIgnore.codeFieldName(), statusCodeValue);
//
BeanUtils.setProperty(logObj, logIgnore.messageFieldName(), messageValue);
//
}
//
}
//
}
//
ApiLog.infoConvertJson(logMethod.toString(), logIgnore.logMessage(), request, startTime, System.currentTimeMillis(), requestData, logObj,null,null);
//
LogThreadLocal.removeTrackingNo();
//
return object;
//
}
//
}
//
//
/**
//
* 过滤返参code是否在excludeStatusCodes存在
//
*
//
* @param excludeStatusCodes
//
* @param statusCodeValue
//
* @return
//
*/
//
private boolean containStatusCode(String[] excludeStatusCodes, String statusCodeValue) {
//
if (excludeStatusCodes == null || excludeStatusCodes.length == 0) {
//
return false;
//
}
//
for (int i = 0; i < excludeStatusCodes.length; i++) {
//
if (excludeStatusCodes[i].equals(statusCodeValue)) {
//
return true;
//
}
//
}
//
return false;
//
}
//
//
/**
//
* 系统异常时,AfterThrowing在ApiAnnotation注解中已经处理。
//
* 此处先注释,暂不删除,代码保留
//
*
//
* @param joinPoint
//
* @return
//
*/
//
@AfterThrowing(
//
pointcut = "pointcut()",
//
throwing = "e"
//
)
//
public void doAfterThrowing(JoinPoint joinPoint, Exception e) {
//
long startTime = System.currentTimeMillis();
//
Signature sig = joinPoint.getSignature();
//
Method currentMethod = null;
//
MethodSignature msig = null;
//
if (!(sig instanceof MethodSignature)) {
//
throw new IllegalArgumentException("非法参数使用");
//
} else {
//
msig = (MethodSignature) sig;
//
Object target = joinPoint.getTarget();
//
try {
//
currentMethod = target.getClass().getMethod(msig.getName(), msig.getParameterTypes());
//
} catch (NoSuchMethodException var19) {
//
var19.printStackTrace();
//
}
//
StringBuilder logMethod = new StringBuilder(joinPoint.getSignature().getDeclaringTypeName());
//
logMethod.append(".");
//
logMethod.append(joinPoint.getSignature().getName());
//
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
//
try {
//
Class<?> clz = e.getClass();
//
boolean clzHasAnno = clz.isAnnotationPresent(IgnoreErrorAnnotation.class);
//
if (!clzHasAnno) {
//
this.emailAlertService.sendEmailAlert("系统全局异常", e);
//
}
//
} catch (Exception var17) {
//
ErrorLog.errorConvertJson(SDKCommonBaseContextWare.getAppName(), logMethod.toString(), "出错:" + e.getMessage(), request, startTime, System.currentTimeMillis(), this.getLogArgs(currentMethod, joinPoint), var17);
//
} finally {
//
ErrorLog.errorConvertJson(SDKCommonBaseContextWare.getAppName(), logMethod.toString(), "出错:" + e.getMessage(), request, startTime, System.currentTimeMillis(), this.getLogArgs(currentMethod, joinPoint), e);
//
LogThreadLocal.removeTrackingNo();
//
}
//
}
//
}
//
//
private List getLogArgs(Method method, JoinPoint joinPoint) {
//
if (method == null) {
//
return null;
//
} else {
//
Object[] args = joinPoint.getArgs();
//
if (args != null && args.length != 0) {
//
List logArgs = new ArrayList();
//
Parameter[] parameters = method.getParameters();
//
for (int j = 0; j < parameters.length; ++j) {
//
Parameter parameter = parameters[j];
//
LogParams logParams = (LogParams) parameter.getAnnotation(LogParams.class);
//
if (logParams != null) {
//
logArgs.add(args[j]);
//
}
//
}
//
return logArgs;
//
} else {
//
return null;
//
}
//
}
//
}
//
//
@Override
//
public int getOrder() {
//
return 0;
//
}
//
}
order-application-service/src/main/java/cn/freemud/aop/LogIgnoreFeignAspect.java
View file @
bef298c7
package
cn
.
freemud
.
aop
;
import
cn.freemud.annotations.LogIgnore
;
import
cn.freemud.annotations.LogIgnoreFeign
;
import
cn.freemud.entities.vo.ThirdPartLogVo
;
import
cn.freemud.utils.AppLogUtil
;
...
...
order-application-service/src/main/java/cn/freemud/service/impl/CheckMCCafeOrder.java
View file @
bef298c7
...
...
@@ -507,16 +507,16 @@ public class CheckMCCafeOrder {
McdNetBatchQueryResponse
mcdNetBatchQueryResponse
=
couponClientService
.
batchQuery
(
mcCafeCouponRequest
);
if
(
mcdNetBatchQueryResponse
==
null
||
!
ResponseCodeConstant
.
RESPONSE_SUCCESS
.
equals
(
mcdNetBatchQueryResponse
.
getStatusCode
())
||
CollectionUtils
.
isEmpty
(
mcdNetBatchQueryResponse
.
getCouponlist
()))
{
AppLogUtil
.
error
Log
(
"部分优惠券当前不可用"
,
mcCafeCouponRequest
,
mcdNetBatchQueryResponse
);
AppLogUtil
.
info
Log
(
"部分优惠券当前不可用"
,
mcCafeCouponRequest
,
mcdNetBatchQueryResponse
);
throw
new
ServiceException
(
ResponseResult
.
COUPON_SHOP_NOTSUPPORT
,
"部分优惠券当前不可用"
);
}
else
if
(!
ResponseCodeConstant
.
RESPONSE_SUCCESS
.
equals
(
mcdNetBatchQueryResponse
.
getCouponlist
().
get
(
0
).
getStatusCode
()))
{
mcdNetBatchQueryResponse
.
getCouponlist
().
forEach
(
o
->
{
if
(!
ResponseCodeConstant
.
RESPONSE_SUCCESS
.
equals
(
o
.
getStatusCode
()))
{
if
(
o
.
getCodeInfo
()
!=
null
)
{
AppLogUtil
.
error
Log
(
o
.
getCodeInfo
().
getAct_name
()+
"当前不可用"
,
mcCafeCouponRequest
,
mcdNetBatchQueryResponse
);
AppLogUtil
.
info
Log
(
o
.
getCodeInfo
().
getAct_name
()+
"当前不可用"
,
mcCafeCouponRequest
,
mcdNetBatchQueryResponse
);
throw
new
ServiceException
(
ResponseResult
.
COUPON_SHOP_NOTSUPPORT
,
o
.
getCodeInfo
().
getAct_name
()+
"当前不可用"
);
}
else
{
AppLogUtil
.
error
Log
(
"部分优惠券暂时不可用"
,
mcCafeCouponRequest
,
mcdNetBatchQueryResponse
);
AppLogUtil
.
info
Log
(
"部分优惠券暂时不可用"
,
mcCafeCouponRequest
,
mcdNetBatchQueryResponse
);
throw
new
ServiceException
(
ResponseResult
.
COUPON_SHOP_NOTSUPPORT
,
"部分优惠券暂时不可用"
);
}
}
...
...
@@ -604,16 +604,16 @@ public class CheckMCCafeOrder {
McdNetBatchQueryResponse
mcdNetBatchQueryResponse
=
couponClientService
.
batchQuery
(
mcCafeCouponRequest
);
if
(
mcdNetBatchQueryResponse
==
null
||
!
ResponseCodeConstant
.
RESPONSE_SUCCESS
.
equals
(
mcdNetBatchQueryResponse
.
getStatusCode
())
||
CollectionUtils
.
isEmpty
(
mcdNetBatchQueryResponse
.
getCouponlist
()))
{
AppLogUtil
.
error
Log
(
"部分优惠券当前不可用"
,
mcCafeCouponRequest
,
mcdNetBatchQueryResponse
);
AppLogUtil
.
info
Log
(
"部分优惠券当前不可用"
,
mcCafeCouponRequest
,
mcdNetBatchQueryResponse
);
throw
new
ServiceException
(
ResponseResult
.
COUPON_SHOP_NOTSUPPORT
,
"部分优惠券当前不可用"
);
}
else
{
mcdNetBatchQueryResponse
.
getCouponlist
().
forEach
(
o
->
{
if
(!
ResponseCodeConstant
.
RESPONSE_SUCCESS
.
equals
(
o
.
getStatusCode
()))
{
if
(
o
.
getCodeInfo
()
!=
null
)
{
AppLogUtil
.
error
Log
(
o
.
getCodeInfo
().
getAct_name
()+
"当前不可用"
,
mcCafeCouponRequest
,
mcdNetBatchQueryResponse
);
AppLogUtil
.
info
Log
(
o
.
getCodeInfo
().
getAct_name
()+
"当前不可用"
,
mcCafeCouponRequest
,
mcdNetBatchQueryResponse
);
throw
new
ServiceException
(
ResponseResult
.
COUPON_SHOP_NOTSUPPORT
,
o
.
getCodeInfo
().
getAct_name
()+
"当前不可用"
);
}
else
{
AppLogUtil
.
error
Log
(
"部分优惠券暂时不可用"
,
mcCafeCouponRequest
,
mcdNetBatchQueryResponse
);
AppLogUtil
.
info
Log
(
"部分优惠券暂时不可用"
,
mcCafeCouponRequest
,
mcdNetBatchQueryResponse
);
throw
new
ServiceException
(
ResponseResult
.
COUPON_SHOP_NOTSUPPORT
,
"部分优惠券暂时不可用"
);
}
}
...
...
order-application-service/src/main/java/cn/freemud/service/impl/MallOrderServiceImpl.java
View file @
bef298c7
...
...
@@ -564,7 +564,7 @@ public class MallOrderServiceImpl implements MallOrderService {
try
{
com
.
freemud
.
application
.
sdk
.
api
.
ordercenter
.
response
.
BaseResponse
baseResponse
=
orderSdkService
.
acceptOrder
(
acceptOrderReq
,
LogThreadLocal
.
getTrackingNo
());
if
(
baseResponse
==
null
||
!
ResponseCodeConstant
.
RESPONSE_SUCCESS_STR
.
equals
(
baseResponse
.
getCode
()))
{
AppLogUtil
.
error
Log
(
"paySuccessCallback_acceptOrder_faild"
,
gson
.
toJson
(
confirmOrderDto
),
gson
.
toJson
(
payAccessResponse
));
AppLogUtil
.
info
Log
(
"paySuccessCallback_acceptOrder_faild"
,
gson
.
toJson
(
confirmOrderDto
),
gson
.
toJson
(
payAccessResponse
));
}
}
catch
(
Exception
e
){
AppLogUtil
.
errorLog
(
"paySuccessCallback_acceptOrder_error"
,
orderId
,
e
);
...
...
order-application-service/src/main/java/cn/freemud/utils/AppLogUtil.java
View file @
bef298c7
...
...
@@ -69,12 +69,13 @@ public class AppLogUtil implements BeanFactoryAware {
public
void
info
(
String
message
,
Object
...
params
)
{
logUtil
.
info
(
message
,
params
);
}
public
void
error
(
String
message
,
Exception
e
,
String
...
params
)
{
logUtil
.
error
(
message
,
e
,
params
);
}
public
void
error
(
String
message
,
Object
...
params
)
{
ErrorLog
.
errorDev
(
message
,
params
);
logUtil
.
errorDev
(
""
,
message
,
e
,
params
);
}
// public void error(String message, Object... params) {
// ErrorLog.errorDev(message, params);
// }
public
void
errorSe
(
String
message
,
Exception
e
,
String
...
params
)
{
...
...
order-application-service/src/test/java/cn.freemud/service/CouponActivityServiceTest.java
View file @
bef298c7
...
...
@@ -221,16 +221,16 @@ public class CouponActivityServiceTest {
System
.
out
.
println
(
JSON
.
toJSONString
(
mcdNetBatchQueryResponse
));
if
(
mcdNetBatchQueryResponse
==
null
||
!
ResponseCodeConstant
.
RESPONSE_SUCCESS
.
equals
(
mcdNetBatchQueryResponse
.
getStatusCode
())
||
CollectionUtils
.
isEmpty
(
mcdNetBatchQueryResponse
.
getCouponlist
()))
{
AppLogUtil
.
error
Log
(
"部分优惠券当前不可用"
,
mcCafeCouponRequest
,
mcdNetBatchQueryResponse
);
AppLogUtil
.
info
Log
(
"部分优惠券当前不可用"
,
mcCafeCouponRequest
,
mcdNetBatchQueryResponse
);
throw
new
ServiceException
(
ResponseResult
.
COUPON_SHOP_NOTSUPPORT
,
"部分优惠券当前不可用"
);
}
else
{
mcdNetBatchQueryResponse
.
getCouponlist
().
forEach
(
o
->
{
if
(!
ResponseCodeConstant
.
RESPONSE_SUCCESS
.
equals
(
o
.
getStatusCode
()))
{
if
(
o
.
getCodeInfo
()
!=
null
)
{
AppLogUtil
.
error
Log
(
o
.
getCodeInfo
().
getAct_name
()+
"当前不可用"
,
mcCafeCouponRequest
,
mcdNetBatchQueryResponse
);
AppLogUtil
.
info
Log
(
o
.
getCodeInfo
().
getAct_name
()+
"当前不可用"
,
mcCafeCouponRequest
,
mcdNetBatchQueryResponse
);
throw
new
ServiceException
(
ResponseResult
.
COUPON_SHOP_NOTSUPPORT
,
o
.
getCodeInfo
().
getAct_name
()+
"当前不可用"
);
}
else
{
AppLogUtil
.
error
Log
(
"部分优惠券暂时不可用"
,
mcCafeCouponRequest
,
mcdNetBatchQueryResponse
);
AppLogUtil
.
info
Log
(
"部分优惠券暂时不可用"
,
mcCafeCouponRequest
,
mcdNetBatchQueryResponse
);
throw
new
ServiceException
(
ResponseResult
.
COUPON_SHOP_NOTSUPPORT
,
"部分优惠券暂时不可用"
);
}
}
...
...
ordercenter-sdk/src/main/java/com/freemud/application/sdk/api/ordercenter/util/LogUtil.java
View file @
bef298c7
...
...
@@ -62,6 +62,10 @@ public class LogUtil {
ErrorLog
.
errorDev
(
message
,
e
,
params
);
}
public
void
errorDev
(
String
statusCode
,
String
message
,
Exception
e
,
Object
...
params
)
{
ErrorLog
.
errorDev
(
statusCode
,
message
,
e
,
params
);
}
public
void
errorSe
(
String
message
,
Exception
e
,
Object
...
params
)
{
ErrorLog
.
errorSe
(
message
,
e
,
params
);
}
...
...
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