JAVA 反射判断NULL

用户完善资料,会进行修改状态, 我本来是在用户添加资料那进行同步操作状态,但是产品经理说,用户可以选择不填满这个档案资料,好吧,只能

改需求30个字段,不可以一个一个去判断是否为NULL把,那么只能用反射机制了, 思路:根据用户填的数据做判断,看是否存在NULL,如果存在,则

进行保存用户此次填的数据,而不修改状态 ,如果用户数据全部完整,那么进行修改订单状态!

/**
     * 修改
     */
    @ApiOperation(value="修改用户档案资料", notes = ApiNotes.USER_ARCHIVES_ALL)
    @RequestMapping(value = "/update",method = RequestMethod.POST)
    @ResponseBody
    public Object update(@ModelAttribute UserArchives userArchives) {
        //cation(userArchives);
        checkObjFieldIsNotNull(userArchives,userArchives);
        return SUCCESS_TIP;
    }




 /**
     *  java反射机制判断对象所有属性是否全部为空
     * @param obj
     * @return 返回属性名称
     */
    public  Object checkObjFieldIsNotNull(Object obj,UserArchives userArchives){
        try {
            for (Field f : obj.getClass().getDeclaredFields()) {
                f.setAccessible(true);
                if (f.get(obj) == null || f.get(obj) == "") {
                    for(int i=0; i<=1; i++ ){
                        userArchives.setCreateTime(new Date());
                        userArchives.setStatus(0);
                        userArchivesService.updateById(userArchives);
                        return SUCCESS_TIP;
                    }
                }
            }
            userArchives.setCreateTime(new Date());
            userArchives.setStatus(1);
            userArchivesService.updateById(userArchives);
            OrderSupply orderSupply =new OrderSupply();
            orderSupply.setId(userArchives.getOrderId());
            orderSupply.setCondition(1);  //档案完善
            orderSupplyService.updateById(orderSupply);
        }catch (Exception e){
            return null;
        }
        return null;
    }

发布了72 篇原创文章 · 获赞 16 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/qq_40206199/article/details/89421809