zoukankan      html  css  js  c++  java
  • AspectJ(AOP)切面获取参数名称和参数

      @Async
        @AfterReturning(value ="execution(public * com.zhx.recharge.service.RechargeService.buildOrder(..))", returning = "result")
        public void buildOrder(JoinPoint joinPoint, Object result) throws  Throwable {
            log.info("*****************************************");
            log.info("*****************************************");
            log.info("*****************************************");
            //保存所有请求参数,用于输出到日志中
    //        Map allParams = new HashMap();
            /*Object[] paramValues = joinPoint.getArgs();
            String[] paramNames = ((CodeSignature) joinPoint.getSignature()).getParameterNames();
            for(int i=0;i<paramNames.length;i++){
                if (paramValues[i] instanceof Map<?, ?>) {
                    //提取方法中的MAP参数,用于记录进日志中
                    @SuppressWarnings("unchecked")
                    Map<String, Object> map = (Map<String, Object>) paramValues[i];
                    allParams.putAll(map);
                }else {
                    allParams.put(paramNames[i],paramValues[i]);
                }
            }*/
            Map<String, Object> allParams = (Map<String, Object>) result;
            log.info("this is object={}",allParams);
            String goods_id = String.valueOf(allParams.get("goods_id"));
            String order_no = String.valueOf(allParams.get("order_no"));
            String user_id = String.valueOf(allParams.get("user_id"));
            String uid = String.valueOf(allParams.get("uid"));
            String buy_count = String.valueOf(allParams.get("buy_count"));
            String unitprice= String.valueOf(allParams.get("unitprice"));
            String amount= String.valueOf(allParams.get("amount"));
            String amount_realpay= String.valueOf(allParams.get("amount_realpay"));
            String paygate= String.valueOf(allParams.get("paygate"));
            String goods_priceid= String.valueOf(allParams.get("goods_priceid"));
            String area= String.valueOf(allParams.get("area"));
            String os= String.valueOf(allParams.get("os"));
            String user_ip= String.valueOf(allParams.get("user_ip"));
            String deviceid = String.valueOf(allParams.get("deviceid"));
            String goldcoin = String.valueOf(allParams.get("goldcoin"));
            String flower = String.valueOf(allParams.get("flower"));
            coreWebOrderApi.buildOrder(goods_id,order_no,user_id,uid,buy_count,unitprice,amount,amount_realpay,paygate,goods_priceid,area,os,user_ip,deviceid,goldcoin,flower);
            log.info("success");
            log.info("*****************************************");
            log.info("*****************************************");
        }
  • 相关阅读:
    iOS面试题及答案大总结
    iOS 画音频波形曲线 根据音频数据版
    iPhone-获取网络数据或者路径的文件名
    python语言使用yaml 管理selenium元素
    出现事故后我们怎么复盘分析
    如何提升测试质量,减少漏测
    robotframework环境搭建
    如何做ui自动化---步骤详解
    Jenkins报错Caused: java.io.IOException: Cannot run program "sh" (in directory "D:JenkinsJenkins_homeworkspacejmeter_test"): CreateProcess error=2, 系统找不到指定的文件。
    使用jmeter使用Jenkins发送自定义消息内容
  • 原文地址:https://www.cnblogs.com/SimonHu1993/p/9771395.html
Copyright © 2011-2022 走看看