|
|
package com.yohoufo.resource.service.impl.resource;
|
|
|
|
|
|
import com.alibaba.fastjson.JSONArray;
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
import com.google.common.collect.Lists;
|
|
|
import com.yohoufo.resource.helper.MakeUrlService;
|
|
|
import com.yohoufo.resource.service.IResourceParse;
|
|
|
import com.yohoufo.resource.service.Resource;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
import org.slf4j.Logger;
|
|
|
import org.slf4j.LoggerFactory;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
import java.io.Serializable;
|
|
|
import java.util.List;
|
|
|
|
|
|
@Service
|
|
|
public class GuessLikeResourceParse implements IResourceParse {
|
|
|
|
|
|
private static final Logger logger = LoggerFactory.getLogger(GuessLikeResourceParse.class);
|
|
|
|
|
|
public static final String TEMPLATE_NAME="guessLike";
|
|
|
|
|
|
@javax.annotation.Resource
|
|
|
private MakeUrlService makeUrlService;
|
|
|
|
|
|
@Override
|
|
|
public Serializable parse(Resource resource) {
|
|
|
try {
|
|
|
return parseData(resource);
|
|
|
} catch (Exception e) {
|
|
|
logger.warn("Parse guessLike resource fail, resource code [{}] exception: {}", resource.getCode(), e);
|
|
|
return resource.getData();
|
|
|
}
|
|
|
}
|
|
|
|
|
|
|
|
|
private JSONObject parseData(Resource resource) {
|
|
|
JSONObject data = resource.getData();
|
|
|
data.put("template_id", resource.getId().toString());
|
|
|
data.put("template_name", TEMPLATE_NAME);
|
|
|
if (null == data.getJSONObject("data") || null == data.getJSONObject("data").getJSONObject("list")) {
|
|
|
return data;
|
|
|
}
|
|
|
JSONObject list = data.getJSONObject("data").getJSONObject("list");
|
|
|
for (String key : list.keySet()) {
|
|
|
JSONObject value = list.getJSONObject(key);
|
|
|
value.put("tab_name", value.getString("tab_name"));
|
|
|
value.put("url", makeUrlService.makeUrl(value.getJSONObject("url"), resource.getClientType()));
|
|
|
}
|
|
|
return data;
|
|
|
}
|
|
|
|
|
|
|
|
|
} |
...
|
...
|
|