From 09c67e8dfa93ce24a9dbb7a47baff62722d212bb Mon Sep 17 00:00:00 2001 From: yqy Date: Tue, 12 Sep 2023 17:16:36 +0800 Subject: [PATCH] =?UTF-8?q?=E5=9C=B0=E7=BC=98=E8=8E=B7=E5=AE=A2=E7=BC=96?= =?UTF-8?q?=E8=BE=91(=E6=9C=AA=E6=B5=8B=E8=AF=95)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/CustomServiceImpl.java | 27 ++++++++++++++++--- 1 file changed, 23 insertions(+), 4 deletions(-) diff --git a/admin/src/main/java/com/baiye/modules/distribute/service/impl/CustomServiceImpl.java b/admin/src/main/java/com/baiye/modules/distribute/service/impl/CustomServiceImpl.java index f8bfcbe..f25e1c5 100644 --- a/admin/src/main/java/com/baiye/modules/distribute/service/impl/CustomServiceImpl.java +++ b/admin/src/main/java/com/baiye/modules/distribute/service/impl/CustomServiceImpl.java @@ -13,7 +13,6 @@ import com.baiye.modules.distribute.mapper.CustomStoreMapper; import com.baiye.modules.distribute.qo.CustomQo; import com.baiye.modules.distribute.service.CustomService; import com.baiye.modules.distribute.service.CustomStoreService; -import com.baiye.modules.distribute.vo.CustomStoreVO; import com.baiye.modules.distribute.vo.CustomVO; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.toolkit.SqlHelper; @@ -22,8 +21,8 @@ import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import java.util.ArrayList; import java.util.List; +import java.util.stream.Collectors; @Service @RequiredArgsConstructor @@ -55,9 +54,29 @@ public class CustomServiceImpl extends ExtendServiceImpl customStoreEntities = customDTO.getCustomStoreEntities(); - if (CollUtil.isNotEmpty(customStoreEntities)){ - customStoreService.updateBatchById(customStoreEntities); + if (CollUtil.isNotEmpty(customStoreEntities)) { + // 修改时,门店关联的客户ID是确定的(编辑客户时新增门店,关联客户ID) + customStoreEntities.forEach(c -> c.setCustomId(customEntity.getCustomId())); + + List filterList = customStoreEntities.stream().filter(c -> c.getCustomStoreId() != null).collect(Collectors.toList()); + if (CollUtil.isNotEmpty(filterList)) { + // 修改关联门店信息 + customStoreService.updateBatchById(filterList); + // 修改时查看是否有删除的门店, 进行删除 + List entities = customStoreMapper.selectList(new LambdaQueryWrapper().eq(CustomStoreEntity::getCustomId, customDTO.getCustomId())); + List allIdList = entities.stream().map(CustomStoreEntity::getCustomStoreId).collect(Collectors.toList()); + List customStoreIdList = filterList.stream().map(CustomStoreEntity::getCustomStoreId).collect(Collectors.toList()); + allIdList.removeAll(customStoreIdList); + if (CollUtil.isNotEmpty(allIdList)) customStoreService.removeBatchByIds(allIdList); + // 编辑时新增了门店 + customStoreEntities.removeAll(filterList); + if (CollUtil.isNotEmpty(customStoreEntities)) customStoreService.saveBatch(customStoreEntities); + } else { + // 编辑时新增了门店 + customStoreService.saveBatch(customStoreEntities); + } } return SqlHelper.retBool(baseMapper.updateById(customEntity)); }