package com.sinata.appointment.service; import com.sinata.appointment.constants.BizErrorCode; import com.sinata.appointment.exception.BizException; import java.util.ArrayList; import java.util.LinkedHashMap; import java.util.LinkedHashSet; import java.util.List; import java.util.Map; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; import org.springframework.util.StringUtils; @Service @RequiredArgsConstructor public class MiniSystemSettingApplicationService { private final SysBizSettingCacheService sysBizSettingCacheService; public Map getByCodeOrCodes(String code, String codes) { LinkedHashSet keys = new LinkedHashSet<>(); if (StringUtils.hasText(code)) { keys.add(code.trim()); } if (StringUtils.hasText(codes)) { String[] arr = codes.split(","); for (String s : arr) { if (StringUtils.hasText(s)) { keys.add(s.trim()); } } } if (keys.isEmpty()) { throw new BizException(BizErrorCode.AUTH_INVALID_CREDENTIALS, "请传 code 或 codes"); } List keyList = new ArrayList<>(keys); LinkedHashMap out = new LinkedHashMap<>(); for (String k : keyList) { out.put(k, sysBizSettingCacheService.getValue(k)); } return out; } }