记一次初次进入公司的考核任务

来源:互联网 发布:吃狗粮网络上什么意思 编辑:程序博客网 时间:2024/04/30 08:53
package com.core.advice;

import java.net.URLDecoder;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;

import org.apache.log4j.Logger;
import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.Around;
import org.aspectj.lang.annotation.Aspect;
import org.springframework.stereotype.Component;

import com.core.tool.JsonUtil;
import com.core.tool.Test2;

@Component
@Aspect
public class AdviceTest {
Logger log = Logger.getLogger(AdviceTest.class);

@Around("execution(* com..*.controller..*(..))")
public Object myprocess(ProceedingJoinPoint point) throws Throwable {
if (point.getTarget().toString().startsWith("com.spjz.webhtml")) {
String returnValue = (String) point.proceed(point.getArgs());
return returnValue;
}
JsonUtil util = new JsonUtil();
// 访问目标方法的参数:
Object[] args = point.getArgs();
String ve = "";

ve = (String) args[0];
ve = URLDecoder.decode(ve, "UTF-8");
boolean flag = true;
if (ve != null) {
if (ve.charAt(0) == '=') {
ve = ve.substring(1, ve.length());
flag = false;
}
}
Map<String, Object> map1 = util.jsonToMap(ve);

String key1 = (String) map1.get("key");
String message = (String) map1.get("message");
Test2 des = new Test2(key1);// 生成密钥

String messageDe = des.decrypt(message, flag);// 解密后的真实数据
// 用改变后的参数执行目标方法
args[0] = messageDe;
System.out.println("传入值==="+messageDe);
String returnValue = (String) point.proceed(args);// 用改变后的参数去执行方法
System.out.println("输出值==="+returnValue);
SimpleDateFormat dateFormater = new SimpleDateFormat("yyyy-MM-dd HH:mm");
Date date = new Date();
String currentTime = dateFormater.format(date);// 获取当前时间

Test2 key = new Test2(currentTime);// 自定义密钥
String values = key.encrypt(returnValue);
Map<String, Object> map = new HashMap<String, Object>();
map.put("message", values);
map.put("key", currentTime);
String reJson = util.objectToJson(map);

return reJson;
}

}
0 0
原创粉丝点击