• springboot:动态给父对象添加属性和值


       对象列表相对于调用者显示不同的标记(Tag),当然也可以在父类当中添加属性,再动态赋值。

      但对在用的系统,为了某个应用添加一堆没大用的空列我本人不爽,就直接做了个子类继承父类,增加两个标记属性。

    @EqualsAndHashCode(callSuper = true)
    @Data
    @AllArgsConstructor
    @NoArgsConstructor
    public class UserTag extends Userinfo {
    
        /**
         * 左右接点状态
         */
        private int isFull;
    
        /**
         * 是否完成众筹
         */
        /**/
        private int isGive;
    
    }

      应用时,动态拷贝父对象,set动态标记:

     for (Integer integer : teamId) {
                user = userMapper.selectById(integer);
                UserTag userTag = new UserTag();
                BeanUtils.copyProperties(user, userTag);
                int amount=0;  //左右边是否有人
                if (user.getLeftId()==0){amount++;}
                if(user.getRightId()==0){amount++;}
                userTag.setIsFull(amount);
                QueryWrapper<Goldbag> wrapper=new QueryWrapper<>();
                wrapper.eq("sendFrom",integer)
                        .eq("sendTo",userId)
                        .eq("sendState",3);
                Integer isGive = goldMapper.selectCount(wrapper);//红包是否发过
                userTag.setIsGive(isGive);
                layerTeam.add(userTag);
            }

    重点是工具:

    BeanUtils.copyProperties(父类对象, 子类对象)

    就是这样。

    以前的是程序员的老板,现在是末路出家的程序员小白。
  • 相关阅读:
    开发3dMax插件的方法和应用
    实现X*N
    fork与vfork的区别
    使用递归算法写一段程序
    宏和函数的区别
    多线程学习(一)
    [算法天天练]堆排序
    [转][算法天天练]堆与堆排序
    [转]快速排序 挖坑讲解方法
    [算法天天练]选择排序法
  • 原文地址:https://www.cnblogs.com/xiaoyao-blog/p/15333252.html
Copyright © 2020-2023  润新知