feat: 카카오톡/페이 모바일 페이지 호출 반영

main
Jonguk. Lim 3 months ago
parent 8891e11370
commit 8be75eb544

@ -1,10 +1,14 @@
package kr.xit.biz.mbl.service;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.springframework.stereotype.Service;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import kr.xit.biz.ens.model.cntc.CntcDTO;
import kr.xit.biz.ens.model.kakao.v1.KkopayDocDTO;
import kr.xit.biz.ens.model.kt.KtCommonDTO;
@ -18,6 +22,7 @@ import kr.xit.core.model.ApiResponseDTO;
import kr.xit.core.model.IApiResponse;
import kr.xit.core.service.AbstractService;
import kr.xit.core.spring.annotation.TraceLogging;
import kr.xit.core.spring.util.MapDeserailizer;
import kr.xit.core.support.utils.Checks;
import kr.xit.core.support.utils.JsonUtils;
import kr.xit.ens.kakao.v1.service.IKkopayEltrcDocService;
@ -50,6 +55,7 @@ public class MobilePageService extends AbstractService implements IMobilePageSer
private final IKkotalkEltrcDocService kkotalkService;
private final IKtBcService ktMmsService;
private Gson gson = new GsonBuilder().registerTypeAdapter(Map.class, new MapDeserailizer()).serializeNulls().create();
/**
* <pre>
* </h3>
@ -127,7 +133,10 @@ public class MobilePageService extends AbstractService implements IMobilePageSer
// if(!res.isSuccess()){
// throw BizRuntimeException.create(res.getMessage());
// }
return JsonUtils.toObject(mobilePageManage.getMobilePageCn(), Map.class);
Map<String, List<Map<String, Object>>> map = gson.fromJson(mobilePageManage.getMobilePageCn(), Map.class);
Map<String, List<Map<String, Object>>> mobilePage = new HashMap<>();
mobilePage.put("details", map.get("details"));
return mobilePage;
}
/**

@ -0,0 +1,67 @@
package kr.xit.core.spring.util;
import java.lang.reflect.Type;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
import com.google.gson.JsonArray;
import com.google.gson.JsonDeserializationContext;
import com.google.gson.JsonDeserializer;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import com.google.gson.JsonParseException;
import com.google.gson.JsonPrimitive;
public class MapDeserailizer implements JsonDeserializer<Map<String, Object>> {
@Override @SuppressWarnings("unchecked")
public Map<String, Object> deserialize(JsonElement json, Type typeOfT,
JsonDeserializationContext context) throws JsonParseException {
return (Map<String, Object>) read(json);
}
public Object read(JsonElement in) {
if(in.isJsonArray()){
List<Object> list = new ArrayList<Object>();
JsonArray arr = in.getAsJsonArray();
for (JsonElement anArr : arr) {
list.add(read(anArr));
}
return list;
}else if(in.isJsonObject()){
Map<String, Object> map = new HashMap<String, Object>();
JsonObject obj = in.getAsJsonObject();
Set<Map.Entry<String, JsonElement>> entitySet = obj.entrySet();
for(Map.Entry<String, JsonElement> entry: entitySet){
map.put(entry.getKey(), read(entry.getValue()));
}
return map;
}else if( in.isJsonPrimitive()){
JsonPrimitive prim = in.getAsJsonPrimitive();
if(prim.isBoolean()){
return prim.getAsBoolean();
}else if(prim.isString()){
return prim.getAsString();
}else if(prim.isNumber()){
Number num = prim.getAsNumber();
if(Math.ceil(num.doubleValue()) == num.longValue())
return num.longValue();
else{
return num.doubleValue();
}
}
}
return null;
}
}
Loading…
Cancel
Save