Commit da5a00ac by Lizh

与原接口对齐返回结构

parent bae1ccc6
package com.jomalls.custom.app.enums;
import com.jomalls.custom.app.exception.ServiceException;
import lombok.Getter;
import java.util.Arrays;
import java.util.List;
/**
* 州
* AF Africa 非洲
* AS Asia 亚洲
* EU Europe 欧洲
* NA North America 北美洲
* OC Oceania 大洋洲
* SA South America 南美洲
* AN Antarctica 南极洲
*/
@Getter
public enum ContinentEnum {
NA("NA", "North America", "北美洲"),
AS("AS", "Asia", "亚洲"),
EU("EU", "Europe", "欧洲"),
SA("SA", "South America", "南美洲"),
AF("AF", "Africa", "非洲"),
OC("OC", "Oceania", "大洋洲"),
AN("AN", "Antarctica", "南极洲");
private final String code;
private final String eName;
private final String cName;
ContinentEnum(String code, String eName, String cName) {
this.code = code;
this.eName = eName;
this.cName = cName;
}
public static ContinentEnum getStatusByCode(String code) {
for (ContinentEnum value : ContinentEnum.values()) {
if (value.getCode().equals(code)) {
return value;
}
}
throw new ServiceException("the code " + code + " not be supported by ContinentEnum");
}
public static List<ContinentEnum> getAllList() {
return Arrays.asList(ContinentEnum.values());
}
}
package com.jomalls.custom.app.service.system; package com.jomalls.custom.app.service.system;
import com.jomalls.custom.app.vo.system.CountryCodeVO; import com.jomalls.custom.app.vo.system.CountryCodeVO;
import com.jomalls.custom.integrate.model.CountryCodeModel;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
...@@ -17,7 +18,7 @@ public interface CountryCodeService { ...@@ -17,7 +18,7 @@ public interface CountryCodeService {
* *
* @return 国家代码映射 * @return 国家代码映射
*/ */
Map<String, String> getMap(); Map<String, List<CountryCodeModel>> getMap();
/** /**
* 获取全部国家代码列表 * 获取全部国家代码列表
......
package com.jomalls.custom.app.service.system.impl; package com.jomalls.custom.app.service.system.impl;
import com.jomalls.custom.app.enums.ContinentEnum;
import com.jomalls.custom.app.service.system.CountryCodeService; import com.jomalls.custom.app.service.system.CountryCodeService;
import com.jomalls.custom.app.vo.system.CountryCodeVO; import com.jomalls.custom.app.vo.system.CountryCodeVO;
import com.jomalls.custom.integrate.model.CountryCodeModel; import com.jomalls.custom.integrate.model.CountryCodeModel;
import com.jomalls.custom.integrate.service.SaasAdminService; import com.jomalls.custom.integrate.service.SaasAdminService;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.Collections; import java.util.*;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors; import java.util.stream.Collectors;
/** /**
...@@ -27,19 +27,24 @@ public class CountryCodeServiceImpl implements CountryCodeService { ...@@ -27,19 +27,24 @@ public class CountryCodeServiceImpl implements CountryCodeService {
private final SaasAdminService saasAdminService; private final SaasAdminService saasAdminService;
@Override @Override
public Map<String, String> getMap() { public Map<String, List<CountryCodeModel>> getMap() {
List<CountryCodeModel> list = saasAdminService.getAllCountryCode(); List<CountryCodeModel> list = saasAdminService.getAllCountryCode();
if (list == null || list.isEmpty()) { if (CollectionUtils.isEmpty(list)) {
return Collections.emptyMap(); return Collections.emptyMap();
} }
Map<String, String> result = new LinkedHashMap<>(); Map<String, List<CountryCodeModel>> map = new HashMap<>();
for (CountryCodeModel model : list) { for (CountryCodeModel countryCode : list) {
if (model.getCountryCode() != null) { String key = String.format("%s(%s)", countryCode.getContinentCode(), getContinentCName(countryCode));
result.put(String.valueOf(model.getCountryCode()), map.computeIfAbsent(key, k -> new ArrayList<>()).add(countryCode);
model.getNameCn() != null ? model.getNameCn() : ""); }
} return map;
}
private String getContinentCName(CountryCodeModel countryCodeModel) {
if (StringUtils.isNotEmpty(countryCodeModel.getContinentCode())) {
return ContinentEnum.getStatusByCode(countryCodeModel.getContinentCode()).getCName();
} }
return result; return "";
} }
@Override @Override
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment