feat:增加事务

This commit is contained in:
wangyu 2022-03-09 10:04:49 +08:00
parent 4c518d423f
commit d5420fea49
2 changed files with 15 additions and 1 deletions

View File

@ -38,7 +38,8 @@ public final class DepartUtils {
.collect(Collectors.toSet());
List<String> removing = new ArrayList<>();
for (Department department : departments) {
if (CollectionUtils.containsAny(department.getParentIds(), departs)) {
if (CollectionUtils.isNotEmpty(department.getParentIds()) &&
CollectionUtils.containsAny(department.getParentIds(), departs)) {
removing.add(department.getId());
}
}

View File

@ -20,6 +20,7 @@ import org.springframework.data.domain.PageImpl;
import org.springframework.data.domain.Pageable;
import org.springframework.data.mongodb.repository.query.MongoEntityInformation;
import org.springframework.data.util.CastUtils;
import org.springframework.transaction.annotation.Transactional;
import reactor.core.publisher.Flux;
import reactor.core.publisher.Mono;
@ -227,6 +228,7 @@ public class BaseReactiveServiceImpl<T extends Domain> implements BaseReactiveSe
* @param entity 实体
*/
@Override
@Transactional(rollbackFor = Exception.class)
public Mono<T> create(T entity) {
return audit(entity).flatMap(repository::insert).flatMap(this::post);
}
@ -237,6 +239,7 @@ public class BaseReactiveServiceImpl<T extends Domain> implements BaseReactiveSe
* @param entity 实体
*/
@Override
@Transactional(rollbackFor = Exception.class)
public Mono<T> createSelective(T entity) {
return audit(entity).flatMap(repository::insert).flatMap(this::post);
}
@ -247,6 +250,7 @@ public class BaseReactiveServiceImpl<T extends Domain> implements BaseReactiveSe
* @param entity 实体
*/
@Override
@Transactional(rollbackFor = Exception.class)
public Mono<Void> delete(T entity) {
return repository.delete(entity);
}
@ -257,6 +261,7 @@ public class BaseReactiveServiceImpl<T extends Domain> implements BaseReactiveSe
* @param id 主键
*/
@Override
@Transactional(rollbackFor = Exception.class)
public Mono<Void> deleteById(String id) {
return repository.deleteById(id);
}
@ -267,6 +272,7 @@ public class BaseReactiveServiceImpl<T extends Domain> implements BaseReactiveSe
* @param entity 实体
*/
@Override
@Transactional(rollbackFor = Exception.class)
public Mono<T> updateById(T entity) {
return audit(entity).flatMap(repository::save).flatMap(this::post);
}
@ -277,6 +283,7 @@ public class BaseReactiveServiceImpl<T extends Domain> implements BaseReactiveSe
* @param entity 实体
*/
@Override
@Transactional(rollbackFor = Exception.class)
public Mono<T> updateSelectiveById(T entity) {
Assert.hasText(entity.getId(), "更新的主键不可为空!");
return repository.findById(entity.getId())
@ -291,6 +298,7 @@ public class BaseReactiveServiceImpl<T extends Domain> implements BaseReactiveSe
* @param ids id结合
*/
@Override
@Transactional(rollbackFor = Exception.class)
public Mono<Void> deleteBatchByIds(List<String> ids) {
return Flux.fromIterable(ids)
.flatMap(t -> repository.deleteById(t))
@ -303,6 +311,7 @@ public class BaseReactiveServiceImpl<T extends Domain> implements BaseReactiveSe
* @param qo 查询实体
*/
@Override
@Transactional(rollbackFor = Exception.class)
public Mono<Void> deleteAll(Qo<T> qo) {
return repository.deleteAll(qo);
}
@ -313,6 +322,7 @@ public class BaseReactiveServiceImpl<T extends Domain> implements BaseReactiveSe
* @param entity 查询
*/
@Override
@Transactional(rollbackFor = Exception.class)
public Mono<Void> deleteAll(T entity) {
return repository.delete(entity);
}
@ -321,6 +331,7 @@ public class BaseReactiveServiceImpl<T extends Domain> implements BaseReactiveSe
* 删除全部实体危险
*/
@Override
@Transactional(rollbackFor = Exception.class)
public Mono<Void> deleteAll() {
return repository.deleteAll();
}
@ -331,6 +342,7 @@ public class BaseReactiveServiceImpl<T extends Domain> implements BaseReactiveSe
* @param entities 要批量更新的集合
*/
@Override
@Transactional(rollbackFor = Exception.class)
public Flux<T> updateBatch(List<T> entities) {
if (CollectionUtils.isNotEmpty(entities)) {
// 带有id的集合
@ -361,6 +373,7 @@ public class BaseReactiveServiceImpl<T extends Domain> implements BaseReactiveSe
* @return 结果
*/
@Override
@Transactional(rollbackFor = Exception.class)
public Mono<SyncVo<T>> sync(List<T> entities) {
return this.updateBatch(entities)
.collectList()