AOP(面向切面编程)

aop执行多次解析随记

2020-04-02  本文已影响0人  sakura_L

System.out.println("===>" + "执行了logPointcat");

// 其实可以发现 每一调用一次joinPoint.proceed 就会执行一次。
Object result =null ;
Object[] args = joinPoint.getArgs();
System.out.println("===>" + args[0].getClass().getSimpleName());
// String className = args[0].getClass().getSimpleName();
String params = new Gson().toJson(args[0]);
// JsonObject json = new JsonObject();
JSONObject jsonObject = JSONObject.parseObject(params);
if (jsonObject.containsKey("sysId") && !TextUtils.isBlank(jsonObject.getString("sysId"))) {
String sysId = jsonObject.getString("sysId");
for (Map.Entry<String, Object> entry : jsonObject.entrySet()) {
String id = jsonObject.getString(entry.getKey());
if (!TextUtils.isBlank(id)) {
TreeLineEntity treeLineEntity = treeLineEntityMapper.selectByLineAndSysId(TreeLineEntity.builder().ourTreeId(id)
.sysId(sysId).build());
if (treeLineEntity != null) {
jsonObject.put(entry.getKey(), treeLineEntity.getTreeId());
}
}
}
args[0] = ListUtil.parse(jsonObject.toJSONString(), args[0].getClass());
result = joinPoint.proceed(args);
}

    return result;
上一篇下一篇

猜你喜欢

热点阅读