importjava.util.ArrayList;importjava.util.List;public classDataFilter {/*** 功能描述: 根据两个集合唯一标识,筛选新增、删除、修改数据,并保存
*
* @Param: [userBoList, userList]
* @Return: void
* @Author: XinHai.Ma
* @Date: 2020/12/5 22:57*/
public static void filter(List userBoList, ListuserList) {
List userBoSameList = new ArrayList<>(); //UserBo与User共有的数据
List userSameList = new ArrayList<>(); //UserBo与User共有的数据
for(UserBo userBo : userBoList) {for(User user : userList) {if(userBo.getUsername().equals(user.getUsername())) {
user.setPassword(userBo.getPassword());
userBoSameList.add(userBo);
userSameList.add(user);
}
}
}
userBoList.removeAll(userBoSameList);//要增加的数据
userList.removeAll(userSameList); //要删除的数据//保存要新增的数据
if (userBoList.size() > 0) {
List users = new ArrayList<>();for(UserBo userBo : userBoList) {
User user= newUser();
user.setUsername(userBo.getUsername());
user.setPassword(userBo.getPassword());
users.add(user);
}//this.dao.saveAll(users);
System.out.println("新增数据: " +users);
}//逻辑删除数据
if (userList.size() > 0) {for(User user : userList) {
user.setIsDelete(1); //删除状态
}//this.dao.saveAll(userList);
System.out.println("删除数据: " +userList);
}//要保存的修改数据
if (userSameList.size() > 0) {//this.dao.saveAll(userSameList);
System.out.println("修改数据: " +userSameList);
}
}public static voidmain(String[] args) {
List userBoList = new ArrayList<>();
List userList = new ArrayList<>();//初始化数据
for(long i=0; i<10; i++) {if(i > 5) {
User user= new User(i, "username"+(i+1), "password"+(i+1));
userList.add(user);
}
UserBo userBo= new UserBo(i, "username"+i, "password"+i);
userBoList.add(userBo);
}
System.out.println("userList数据: " +userList);
System.out.println("userBoList数据: " +userBoList);//根据userBo集合同步userList数据
filter(userBoList, userList);
}
}/*** 功能描述: 用户
*
* @Param:
* @Return:
* @Author: XinHai.Ma
* @Date: 2020/12/5 22:54*/
classUser {privateLong id;privateString username;privateString password;privateInteger isDelete;publicInteger getIsDelete() {returnisDelete;
}public voidsetIsDelete(Integer isDelete) {this.isDelete =isDelete;
}publicLong getId() {returnid;
}public voidsetId(Long id) {this.id =id;
}publicString getUsername() {returnusername;
}public voidsetUsername(String username) {this.username =username;
}publicString getPassword() {returnpassword;
}public voidsetPassword(String password) {this.password =password;
}publicUser() {
}publicUser(Long id, String username, String password) {this.id =id;this.username =username;this.password =password;
}
@OverridepublicString toString() {return "User{" +
"id=" + id +
", username='" + username + '\'' +
", password='" + password + '\'' +
", isDelete=" + isDelete +
'}';
}
}/*** 功能描述: 用户Bo
*
* @Param:
* @Return:
* @Author: XinHai.Ma
* @Date: 2020/12/5 22:54*/
classUserBo {privateLong id;privateString username;privateString password;publicLong getId() {returnid;
}public voidsetId(Long id) {this.id =id;
}publicString getUsername() {returnusername;
}public voidsetUsername(String username) {this.username =username;
}publicString getPassword() {returnpassword;
}public voidsetPassword(String password) {this.password =password;
}publicUserBo(Long id, String username, String password) {this.id =id;this.username =username;this.password =password;
}publicUserBo() {
}
@OverridepublicString toString() {return "UserBo{" +
"id=" + id +
", username='" + username + '\'' +
", password='" + password + '\'' +
'}';
}
}