|
|
|
@ -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);
|
|
|
|
|
// 修改时,门店关联的客户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));
|
|
|
|
|
}
|
|
|
|
|