美文网首页
Bean对象通用属性校验工具类校验对象是否为空并返回相应提示

Bean对象通用属性校验工具类校验对象是否为空并返回相应提示

作者: Ernest_Chou | 来源:发表于2023-03-15 17:01 被阅读0次

原文链接:https://blog.csdn.net/y_qc_lookup/article/details/117037411

BeanCheckUtils代码:

import com.fasterxml.jackson.annotation.JsonProperty;
import com.sdmc.smarthome.entity.SysUser;

import java.lang.reflect.Field;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**

 * @创建人: Dylan

 * @创建时间: 2020/8/12

 * @描述
   */
   public class BeanCheckUtils {

   /**
    *

    * @param obj 需要检测的数据对象
    * @param ignoreParms 需要忽略的字段名称
    * @return 返回
      */
      public static Map<String, Object> checkObject(Object obj, List<String> ignoreParms, Map<String, Object> checkInfor){
      ignoreParms.add("id");
      for(Field f : obj.getClass().getDeclaredFields()){
          f.setAccessible(true);
          try {
              String propetryName=f.getName();
              // 排除忽略的字段
              if(!ignoreParms.contains(propetryName)){
                  if(EmptyUtil.isEmpty(f.get(obj))){
                      return getResMap(false,checkInfor.get(propetryName)+"");
                  }
              }
          } catch (IllegalAccessException e) {
              e.printStackTrace();
          }
      }
      return getResMap(true,"数据正常");
      }

   /**

    * 只验证指定的字段
    * @param obj
    * @param parms
    * @param checkInfor
    * @return
      */
      public static Map<String, Object> checkObjectByParms(Object obj, List<String> parms, Map<String, Object> checkInfor){
      for(Field f : obj.getClass().getDeclaredFields()){
          f.setAccessible(true);
          try {
              String propetryName=f.getName();
              // 只判断指定的字段
              if(parms.contains(propetryName)){
                  if(EmptyUtil.isEmpty(f.get(obj))){
                      return getResMap(false,checkInfor.get(propetryName)+"");
                  }
              }
          } catch (IllegalAccessException e) {
              e.printStackTrace();
          }
      }
      return getResMap(true,"数据正常");
      }
      private static Map<String, Object> getResMap(boolean checkStatus, String memo){
      Map<String, Object> resMap=new HashMap<>();
      resMap.put("status",checkStatus);
      resMap.put("memo",memo);
      return resMap;
      }
      public static Map<String, Object> getCheckInfor(Object obj){
      Map<String, Object> checkInfor=new HashMap<>();
      for(Field field : obj.getClass().getDeclaredFields()) {
          field.setAccessible(true);
          JsonProperty annotation = field.getAnnotation(JsonProperty.class);
          if(EmptyUtil.isNotEmpty(annotation)){
              checkInfor.put(field.getName(),annotation.value()+",不能为空!");
          }else{
              checkInfor.put(field.getName(),field.getName()+",不能为空!");
          }
      }
      return checkInfor;
      }

   public static void main(String[] args) {

   }
   }

对象属性:

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.TableId;
import java.io.Serializable;

import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**

 * <p>

 * </p>
   *

 * @author Dylan

 * @since 2020-11-27
   */
   @Data
   @EqualsAndHashCode(callSuper = false)
   @Accessors(chain = true)
   public class BrandBasStorentp extends Model<BrandBasStorentp> {

   private static final long serialVersionUID = 1L;

   /**

    * 自增id
      */
      @TableId(value = "id", type = IdType.AUTO)
      private Integer id;

   /**

    * brand_basic_infor id,
      */
      private Integer brandId;

   /**

    * 入库企业名
      */
      @JsonProperty("入库企业名")
      private String rkqym;

   /**

    * 入库证明图片
      */
      @JsonProperty("入库证明图片")
      private String rkzmImg;

   /**

    * 新增时间
      */
      private Date addTime;


    @Override
    protected Serializable pkVal() {
        return this.id;
    }

}

相关文章

网友评论

      本文标题:Bean对象通用属性校验工具类校验对象是否为空并返回相应提示

      本文链接:https://www.haomeiwen.com/subject/pbglrdtx.html