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("*****************************************");
        }
  • 相关阅读:
    C# 基于密钥的64位加密与解密方法(原创)
    爱情 前途 命运
    设计模式学习笔记装饰模式
    jquery暂无图片插件
    IIS GZIP压缩(转)
    Fckeditor使用笔记
    设计模式学习笔记策略模式
    电子商务网站搜索架构方案
    批量修改数据库表的架构sql
    win 2003 安装 vs2005 sp1 问题1718
  • 原文地址:https://www.cnblogs.com/SimonHu1993/p/9771395.html
Copyright © 2011-2022 走看看