| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- package com.izouma.nineth.service;
- import com.izouma.nineth.domain.SysConfig;
- import com.izouma.nineth.dto.PageQuery;
- import com.izouma.nineth.exception.BusinessException;
- import com.izouma.nineth.repo.SysConfigRepo;
- import com.izouma.nineth.utils.JpaUtils;
- import lombok.AllArgsConstructor;
- import org.springframework.cache.annotation.Cacheable;
- import org.springframework.data.domain.Page;
- import org.springframework.stereotype.Service;
- import java.math.BigDecimal;
- import java.time.LocalTime;
- import java.time.format.DateTimeFormatter;
- @Service
- @AllArgsConstructor
- public class SysConfigService {
- private SysConfigRepo sysConfigRepo;
- public Page<SysConfig> all(PageQuery pageQuery) {
- return sysConfigRepo.findAll(JpaUtils.toSpecification(pageQuery, SysConfig.class), JpaUtils.toPageRequest(pageQuery));
- }
- @Cacheable("SysConfigServiceGetBigDecimal")
- public BigDecimal getBigDecimal(String name) {
- try {
- Thread.sleep(3000);
- } catch (InterruptedException e) {
- e.printStackTrace();
- }
- return sysConfigRepo.findByName(name).map(sysConfig -> new BigDecimal(sysConfig.getValue()))
- .orElse(BigDecimal.ZERO);
- }
- @Cacheable("SysConfigServiceGetTime")
- public LocalTime getTime(String name) {
- String str = sysConfigRepo.findByName(name).map(SysConfig::getValue)
- .orElseThrow(new BusinessException("配置不存在"));
- DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("HH:mm");
- return LocalTime.from(dateTimeFormatter.parse(str));
- }
- @Cacheable("SysConfigServiceGetBoolean")
- public boolean getBoolean(String name) {
- String str = sysConfigRepo.findByName(name).map(SysConfig::getValue)
- .orElseThrow(new BusinessException("配置不存在"));
- return str.equals("1");
- }
- @Cacheable("SysConfigServiceGetInt")
- public int getInt(String name) {
- String str = sysConfigRepo.findByName(name).map(SysConfig::getValue)
- .orElseThrow(new BusinessException("配置不存在"));
- return Integer.parseInt(str);
- }
- }
|