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("*****************************************");
        }
  • 相关阅读:
    AngularJS数据建模(转载)
    Entity Framework Code First ---EF Power Tool 和MySql一起使用遇到的问题
    EF开发程序经常用的几个东西
    jQuery插件---轻量级的弹出窗口wBox
    SQL Server 索引维护sql语句
    windows server2008 r2 下启用 sqlserver 2008的远程连接
    windows2012 r2 提高网速方法
    jQuery validation
    Bootstrap Modal 垂直居中
    shell 循环读取文件及字符串转为数组
  • 原文地址:https://www.cnblogs.com/SimonHu1993/p/9771395.html
Copyright © 2011-2022 走看看