业务数据切割显示的去重逻辑处理

2024-10-09 10:11:04 浏览数 (2)

业务数据切割显示的去重逻辑处理

业务背景:根据不同的数据来源封装到相同的VO对象,在后台界面上面按照不同的多个集合对象显示出来。 按照不同的条件(比如结算时间等维度来切割),但是实际上面比较难完整的避免重复的问题。

可以将不同的数据源的数据根据表名 主键ID来唯一标识,存在的话,就不添加到集合中。否则就添加到集合中显示。

//DEMO //根据表名 ID作为唯一键值来去重。 List<String> hasKey = new ArrayList<>(); if(StringUtils.isNotEmpty(vo.getStrId()) && hasKey.contains(vo.getStrId())){ continue; //不往集合中添加 } //增加标识 hasKey.add(vo.getStrId()); //往集合中添加

//唯一键字段标识,可以根据不同的数据来源:表名前缀 数据表ID vo.setStrId("收银" AAA.getId()); vo.setStrId("虚拟付" BBB.getId()); vo.setStrId("线下付" CCC.getId()); vo.setStrId("退款申请" DDD.getId());

0 人点赞