|
@@ -1,5 +1,6 @@
|
|
|
package com.fjhx.oa.service.internal.impl;
|
|
|
|
|
|
+import cn.hutool.core.util.ObjectUtil;
|
|
|
import com.baomidou.dynamic.datasource.annotation.DS;
|
|
|
import com.baomidou.dynamic.datasource.toolkit.DynamicDataSourceContextHolder;
|
|
|
import com.fjhx.common.constant.SourceConstant;
|
|
@@ -14,6 +15,7 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import com.fjhx.oa.entity.internal.dto.InternalAddressBookDto;
|
|
|
import cn.hutool.core.bean.BeanUtil;
|
|
|
+import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
import java.util.List;
|
|
|
import java.util.Map;
|
|
@@ -67,14 +69,15 @@ public class InternalAddressBookServiceImpl extends ServiceImpl<InternalAddressB
|
|
|
this.save(internalAddressBookDto);
|
|
|
}
|
|
|
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
@Override
|
|
|
public void edit(InternalAddressBookDto internalAddressBookDto) {
|
|
|
List<InternalAddressBook> internalAddressBookList = internalAddressBookDto.getInternalAddressBookList();
|
|
|
for (InternalAddressBook internalAddressBook :internalAddressBookList){
|
|
|
internalAddressBook.setUserId(internalAddressBookDto.getUserId());
|
|
|
}
|
|
|
- List<Long> internalAddressBookIds = internalAddressBookList.stream().map(InternalAddressBook::getId).collect(Collectors.toList());
|
|
|
- remove(q->q.in(InternalAddressBook::getId,internalAddressBookIds));
|
|
|
+ List<Long> internalAddressBookIds = internalAddressBookList.stream().filter(item-> ObjectUtil.isNotEmpty(item.getId())).map(InternalAddressBook::getId).collect(Collectors.toList());
|
|
|
+ remove(q->q.notIn(InternalAddressBook::getId,internalAddressBookIds).eq(InternalAddressBook::getUserId,internalAddressBookDto.getUserId()));
|
|
|
saveOrUpdateBatch(internalAddressBookList);
|
|
|
}
|
|
|
|