package com.mooctest.service.impl; import com.mooctest.annotation.AutoValue; import com.mooctest.dao.ConfigurationDao; import com.mooctest.model.Configuration; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.dao.ConcurrencyFailureException; import org.springframework.stereotype.Service; import java.util.List; import java.util.Map; import java.util.Optional; import java.util.stream.Collectors; /** * @author guochao * @date 2021-05-11 11:39 */ @Service public class ConfigurationServiceImpl implements ConfigurationService{ @Autowired private ConfigurationDao configurationDao; @Override public List getConfigurationList() { return configurationDao.findAll(); } @Override public Map getConfigurationMap() { return configurationDao.findAll().stream().collect(Collectors.toMap(configuration -> configuration.getName(), configuration -> configuration.getValue())); } @Override public String getConfigurationByName(String name) { Optional configurationOptional = configurationDao.findByName(name); if(!configurationOptional.isPresent()){ throw new ConcurrencyFailureException(name + "配置不存在"); }else{ return configurationOptional.get().getValue(); } } }