地缘获客编辑(未测试)

master
yqy 1 year ago
parent 44cf3335ae
commit 09c67e8dfa

@ -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<CustomMapper, CustomEnt
public boolean update(CustomDTO customDTO) {
CustomEntity customEntity = CustomConverter.INSTANCE.dtoToPo(customDTO);
// 编辑时门店信息的修改
List<CustomStoreEntity> customStoreEntities = customDTO.getCustomStoreEntities();
if (CollUtil.isNotEmpty(customStoreEntities)){
customStoreService.updateBatchById(customStoreEntities);
if (CollUtil.isNotEmpty(customStoreEntities)) {
// 修改时,门店关联的客户ID是确定的(编辑客户时新增门店,关联客户ID)
customStoreEntities.forEach(c -> c.setCustomId(customEntity.getCustomId()));
List<CustomStoreEntity> filterList = customStoreEntities.stream().filter(c -> c.getCustomStoreId() != null).collect(Collectors.toList());
if (CollUtil.isNotEmpty(filterList)) {
// 修改关联门店信息
customStoreService.updateBatchById(filterList);
// 修改时查看是否有删除的门店, 进行删除
List<CustomStoreEntity> entities = customStoreMapper.selectList(new LambdaQueryWrapper<CustomStoreEntity>().eq(CustomStoreEntity::getCustomId, customDTO.getCustomId()));
List<Long> allIdList = entities.stream().map(CustomStoreEntity::getCustomStoreId).collect(Collectors.toList());
List<Long> 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));
}

Loading…
Cancel
Save