SysConfigService.java 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. package com.izouma.awesomeAdmin.service;
  2. import com.izouma.awesomeAdmin.domain.SysConfig;
  3. import com.izouma.awesomeAdmin.exception.BusinessException;
  4. import com.izouma.awesomeAdmin.repo.SysConfigRepo;
  5. import lombok.AllArgsConstructor;
  6. import org.springframework.stereotype.Service;
  7. import springfox.documentation.annotations.Cacheable;
  8. import java.math.BigDecimal;
  9. import java.time.LocalTime;
  10. import java.time.format.DateTimeFormatter;
  11. @Service
  12. @AllArgsConstructor
  13. public class SysConfigService {
  14. private SysConfigRepo sysConfigRepo;
  15. @Cacheable("SysConfigServiceGetBigDecimal")
  16. public BigDecimal getBigDecimal(String name) {
  17. return sysConfigRepo.findByName(name).map(sysConfig -> new BigDecimal(sysConfig.getValue()))
  18. .orElse(BigDecimal.ZERO);
  19. }
  20. @Cacheable("SysConfigServiceGetTime")
  21. public LocalTime getTime(String name) {
  22. String str = sysConfigRepo.findByName(name).map(SysConfig::getValue)
  23. .orElseThrow(new BusinessException("配置不存在"));
  24. DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("HH:mm");
  25. return LocalTime.from(dateTimeFormatter.parse(str));
  26. }
  27. @Cacheable("SysConfigServiceGetBoolean")
  28. public boolean getBoolean(String name) {
  29. String str = sysConfigRepo.findByName(name).map(SysConfig::getValue)
  30. .orElseThrow(new BusinessException("配置不存在"));
  31. return str.equals("1");
  32. }
  33. }