package com.gblfy.gxts;import com.google.common.collect.Lists;
import lombok.AllArgsConstructor;
import lombok.Data;
import org.junit.Before;
import org.junit.Test;import java.util.List;/*** 案例2:* 标签管理功能模块。允许用户批量添加标签,后台需要对标签去重,* 并且需要防止数据库中存在同名的标签。*/
public class CaseOne {/*** 用户请求的创建标签模型*/@Data@AllArgsConstructorstatic class TagReqDTO {/*** 标签名字*/private String name;/*** 标签值:年龄*/private Integer age;}//从DB中查询出来已经存在的标签名List<String> tagListFromDB;//用户请求的标签列表List<TagReqDTO> tagListFromrEeq;//初始化数据@Beforepublic void init() {//数据库中存在的标签名列表tagListFromDB = Lists.newArrayList("李四", "王五", "赵六");//用户提交的tagListFromrEeq = Lists.newArrayList(new TagReqDTO("张三", 10),new TagReqDTO("李四", 20),new TagReqDTO("张三", 10));}/*** 过滤去重后需要提交的标签列表*/@Testpublic void distinctTag() {tagListFromrEeq.stream()//TODO true:通过测试,数据不过滤 false:未通过测试数据过滤.filter(tagReqDTO -> !tagListFromDB.contains(tagReqDTO.getName()))//TODO 通过equals对元素去重.distinct().forEach(tagReqDTO -> System.out.println(tagReqDTO));}
}