<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12
      package com.irdstudio.basic.framework.core.annotation.checkAnnotation;
      
      import java.lang.annotation.*;
      
      /**
       * 需求編號:1=1校驗
       * 問題編號:條件查詢檢查可選條件是否全部為空
       * 開發人員:【xieziwei】
       * 創建日期:【2021/3/4 17:05】
       * 功能描述:
       */
      @Target(ElementType.METHOD)
      @Retention(RetentionPolicy.RUNTIME)
      @Documented
      @Inherited
      public @interface QueryParamsNullCheck {
      
      	/**
      	 * 校驗對象
      	 *
      	 * @return
      	 */
      	String objName() default "";
      
      	/**
      	 * 需要校驗的字段名字符串數組
      	 *
      	 * @return
      	 */
      	String[] queryParamNames() default {};
      }
      

        

      package com.irdstudio.basic.framework.core.annotation.checkAnnotation;
      
      import com.irdstudio.basic.framework.core.exception.ValidateException;
      import com.irdstudio.basic.framework.core.util.StringUtil;
      import org.aspectj.lang.ProceedingJoinPoint;
      import org.aspectj.lang.annotation.Around;
      import org.aspectj.lang.annotation.Aspect;
      import org.aspectj.lang.reflect.MethodSignature;
      import org.slf4j.Logger;
      import org.slf4j.LoggerFactory;
      import org.springframework.stereotype.Component;
      
      import java.lang.reflect.Method;
      import java.util.*;
      
      /**
       * @author xieziwei
       */
      @Aspect
      @Component
      public class QueryParamNullCheckAspect {
      
          private Logger logger = LoggerFactory.getLogger(QueryParamNullCheckAspect.class);
      
          @Around("@annotation(com.irdstudio.basic.framework.core.annotation.checkAnnotation.QueryParamsNullCheck)")
          public Object around(ProceedingJoinPoint joinPoint) throws Throwable {
              logger.info("查詢參數是否空切面校驗開始>>>>>>>>>>>>>>>>>>>>>>>>");
              MethodSignature signature = (MethodSignature) joinPoint.getSignature();
              Method method = signature.getMethod();
              //獲取函數的參數名
              String[] parameterNames = signature.getParameterNames();
              //獲取redislock注解對象
              QueryParamsNullCheck annotation = method.getAnnotation(QueryParamsNullCheck.class);
              //獲取校驗對象的參數名
              String objName = annotation.objName();
              //獲取校驗字段的字段名
              String[] ParamNames = annotation.queryParamNames();
              //獲取校驗對象的參數值(這里只有一個,故取數組的第一個)
              Object obj = joinPoint.getArgs()[0];
              try {
                  // 取對象的所有方法;
                  Method[] methods = obj.getClass().getDeclaredMethods();
                  Map<String,String> attrMap = new HashMap<>();
                  if (methods.length > 0){
                      // 遍歷數組,保存 屬性名-屬性值 到map中
                      for (Method item : methods){
                          if (item.getName().startsWith("get")){
                              Object o = item.invoke(obj);
                              String attrName = item.getName().substring(3);
                              String attrValue = "";
                              if (Objects.nonNull(o) && StringUtil.isNotEmpty(o.toString())){
                                  attrValue = o.toString();
                              }
                              attrMap.put(attrName,attrValue);
                          }
                      }
                      // 遍歷map 比較不等參數后的屬性是否為空
                      if (attrMap.size() > 0){
                          for (String col : ParamNames){
                              for (Map.Entry<String,String> entry : attrMap.entrySet()){
                                  if (entry.getKey().equalsIgnoreCase(col)){
                                      if (StringUtil.isNotEmpty(entry.getValue())){
                                          logger.info("查詢參數是否空切面校驗通過>>>>>>>>>>>>>>>>>>>>>>>>");
                                          try {
                                              return joinPoint.proceed();
                                          } catch (Throwable throwable) {
                                              throwable.printStackTrace();
                                          }
                                      }
                                  }
                              }
                          }
                          logger.info("查詢參數是否全空切面校驗不通過>>>>>>>>>>>>>>>>>>>>>>>>");
                          throw new Throwable();
                      }
                  }
              } catch (Exception e) {
                  e.printStackTrace();
              }
              logger.info("查詢參數是否全空切面校驗不通過>>>>>>>>>>>>>>>>>>>>>>>>");
              throw new Throwable();
          }
      }
      

        

      <?xml version="1.0" encoding="UTF-8"?>
      <beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.springframework.org/schema/beans" xsi:schemaLocation="
             http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
          <!--Spring工具類 -->
          <bean class="com.irdstudio.basic.framework.core.util.SpringContextUtils" />
      <bean id="queryParamNullCheckAspect" class="com.irdstudio.basic.framework.core.annotation.checkAnnotation.QueryParamNullCheckAspect" /> </beans>
      @QueryParamsNullCheck(objName = "reconciliationDocumentsVo",queryParamNames = {"prdId","partnerId"})

       

      posted on 2021-04-08 16:15  無心工作只想偷懶  閱讀(83)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 熟女一区二区中文在线| 伊人久久大香线蕉av一区二区 | 中文字幕乱码中文乱码毛片| 日本熟妇XXXX潮喷视频| 成人片黄网站a毛片免费| 成年午夜无码av片在线观看| 一区二区偷拍美女撒尿视频| 精品人妻伦九区久久69| 久操线在视频在线观看| 小嫩模无套内谢第一次| 99在线 | 亚洲| 亚洲av日韩av综合在线观看| 亚洲av成人一区二区三区| 天堂www在线中文| 国模精品视频一区二区三区| 人妻久久久一区二区三区| 性欧美VIDEOFREE高清大喷水| 欧美激烈精交gif动态图| 一区二区视频观看在线| 中文字幕av无码免费一区| 亚洲av午夜福利精品一区二区| 婷婷综合久久中文字幕| 欧美人与禽2o2o性论交| 国产又色又爽又黄的视频在线| 免费现黄频在线观看国产| 国产成人综合在线女婷五月99播放| 五月婷婷久久草| 一区二区三区四区黄色片| 国产精品福利中文字幕| 中国china体内裑精亚洲日本| 中文字幕人妻互换av久久| 国产精品中文字幕免费| 国产高清av首播原创麻豆| 色94色欧美sute亚洲线路二| 极品少妇无套内射视频| 99视频偷窥在线精品国自产拍| 日韩精品 在线一区二区| 中文字幕国产精品自拍| 男女裸体影院高潮| AV无码免费不卡在线观看| 国产成人欧美日本在线观看|