package com.nova.sankuai.service.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.nova.sankuai.domain.entity.ApiCompany; import com.nova.sankuai.domain.entity.ChannelCompanyConfig; import com.nova.sankuai.infra.mapper.ChannelCompanyConfigMapper; import com.nova.sankuai.service.IChannelCompanyConfigService; import lombok.AllArgsConstructor; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; import java.util.List; import java.util.stream.Collectors; /** * @author weikangdi * @create 2022/3/31 */ @AllArgsConstructor @Component public class ChannelCompanyConfigServiceImpl extends ServiceImpl implements IChannelCompanyConfigService { private final ChannelCompanyConfigMapper channelCompanyConfigMapper; @Override @Transactional(rollbackFor = Exception.class) public void updateConfig(ApiCompany apiCompany) { channelCompanyConfigMapper.removeByCompanyId(apiCompany.getId()); if (apiCompany.getChannelIds() != null && apiCompany.getChannelIds().size() > 0) { List channelIds = apiCompany.getChannelIds().stream().distinct().collect(Collectors.toList()); channelCompanyConfigMapper.updateConfig(channelIds, apiCompany.getId()); } } @Override public List getChannelsByCompanyId(Long companyId) { List result = channelCompanyConfigMapper.getChannelsByCompanyId(companyId); return result; } }