package com.izouma.nineth.service; import com.izouma.nineth.domain.MetaParamsConfig; import com.izouma.nineth.dto.PageQuery; import com.izouma.nineth.exception.BusinessException; import com.izouma.nineth.repo.MetaParamsConfigRepo; import com.izouma.nineth.utils.JpaUtils; import lombok.AllArgsConstructor; import org.springframework.data.domain.Page; import org.springframework.stereotype.Service; import java.time.LocalTime; import java.time.format.DateTimeFormatter; @Service @AllArgsConstructor public class MetaParamsConfigService { private MetaParamsConfigRepo metaParamsConfigRepo; public Page all(PageQuery pageQuery) { return metaParamsConfigRepo.findAll(JpaUtils.toSpecification(pageQuery, MetaParamsConfig.class), JpaUtils.toPageRequest(pageQuery)); } public boolean getBoolean(String name) { String str = metaParamsConfigRepo.findByName(name).map(MetaParamsConfig::getValue) .orElseThrow(new BusinessException("配置不存在")); return str.equals("1"); } public String getString(String name) { return metaParamsConfigRepo.findByName(name).map(MetaParamsConfig::getValue).orElse(null); } public LocalTime getTime(String name) { String str = metaParamsConfigRepo.findByName(name).map(MetaParamsConfig::getValue) .orElseThrow(new BusinessException("配置不存在")); DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("HH:mm"); return LocalTime.from(dateTimeFormatter.parse(str)); } }