package com.jshop.action.taobao;
import java.io.UnsupportedEncodingException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Iterator;
import java.util.Map;
import java.util.TreeMap;
import org.apache.struts2.convention.annotation.Action;
import org.apache.struts2.convention.annotation.Namespace;
import org.apache.struts2.convention.annotation.ParentPackage;
import org.apache.struts2.convention.annotation.Result;
import org.springframework.stereotype.Controller;
import com.opensymphony.xwork2.ActionSupport;
@ParentPackage("jshop")
@Controller("tbregister")
public class Tbregister extends ActionSupport {
private String redirecturl;
public String getRedirecturl() {
return redirecturl;
}
public void setRedirecturl(String redirecturl) {
this.redirecturl = redirecturl;
}
/**
* 清理错误
*/
@Override
public void validate() {
this.clearErrorsAndMessages();
}
/**
* 注册帐号
* @return
* @throws UnsupportedEncodingException
*/
private String registerparams() throws UnsupportedEncodingException {
TreeMap<String, String> apiparamsMap = new TreeMap<String, String>();
// 组装协议参数。
apiparamsMap.put("sign_method", "md5");
apiparamsMap.put("app_key", Util.APP_KEY);
apiparamsMap.put("timestamp", new SimpleDateFormat(
"yyyy-MM-dd HH:mm:ss").format(new Date()));
// 生成签名
String sign = Util.sign(apiparamsMap, Util.APP_SERCET);
apiparamsMap.put("sign", sign);
StringBuilder param = new StringBuilder();
for (Iterator<Map.Entry<String, String>> it = apiparamsMap.entrySet().iterator(); it.hasNext();) {
Map.Entry<String, String> e = it.next();
param.append("&").append(e.getKey()).append("=").append(
e.getValue());
}
return param.toString().substring(1);
}
/*
* 获取注册帐号URL
*/
public String getURL() throws UnsupportedEncodingException {
// 组装请求URL
StringBuilder url = new StringBuilder("http://container.api.taobao.com/container/register?");
url.append(registerparams());
return url.toString();
}
/**
* 第三方注册淘宝用户
* @return
* @throws UnsupportedEncodingException
*/
@Action(value = "registerTbuser", results = {
@Result(name = "json",type="json")
})
public String registerTbuser() throws UnsupportedEncodingException{
this.setRedirecturl(this.getURL());
return "json";
}
}