package com.feetao.web.support;
import java.util.HashMap;
import java.util.Map;
import org.apache.commons.lang.StringUtils;
import com.feetao.web.constants.Constants;
import com.feetao.web.utils.SignerHelper;
public class UrlContainer {
private Map<String, String> urls = new HashMap<String, String>();
public Map<String, String> getUrls() {
return urls;
}
public void setUrls(Map<String, String> urls) {
this.urls = urls;
}
public String get(String key) {
if(!key.toLowerCase().startsWith("http")) {
key = urls.get(key);
if(StringUtils.isBlank(key))
key = urls.get("news_banner");
}
return key;
}
public RequestData parserCookie(String cookieValue) {
try{
if(StringUtils.isBlank(cookieValue)) return null;
String[] values = cookieValue.split(Constants.COOKIESPLIT);
long userId = Long.parseLong(values[0]);
String openId = values[1];
String pubId = values[2];
String sign = values[3];
String tsign = SignerHelper.MD5(userId + openId + pubId + Constants.COOKIEFIXSALT);
if(tsign.equals(sign)){
RequestData data = new RequestData();
data.setUserId(userId);
data.setOpenId(openId);
data.setPubId(pubId);
return data;
}
}catch(Exception e) {
}
return null;
}
public String createComingLink(String key , Long userId, String openId , String pubId) {
String tsign = SignerHelper.MD5(userId + openId + pubId + Constants.COOKIEFIXSALT);
StringBuilder sb = new StringBuilder(get(key));
sb.append("?").append(Constants.COOKIEKEY).append("=").append(userId).append(Constants.COOKIESPLIT).append(openId).append(Constants.COOKIESPLIT).append(pubId)
.append(Constants.COOKIESPLIT).append(tsign).append(urls.get("anchor"));
return sb.toString();
}
public String createPluginLink(String key , Long id) {
if(StringUtils.isBlank(key)) key = "detail";
StringBuilder sb = new StringBuilder(get(key));
sb.append("?").append("id").append("=").append(id).append(urls.get("anchor"));
return sb.toString();
}
}