您的位置:首页 > 其它

关于汇潮托管中文验证错误问题

2016-04-26 16:11 756 查看
<span style="font-family: Arial, Helvetica, sans-serif;">	    /***</span>
* 开通托管,用户开户
* @throws Exception
*/
public String Account() throws Exception {
request = ServletActionContext.getRequest();
response = ServletActionContext.getResponse();
response.setContentType("text/json;charset=UTF-8");
MySessionContext myc= MySessionContext.getInstance();
String basePath="";
String path=request.getContextPath();
if (request.getServerPort() == 80) {
basePath = request.getScheme() + "://" + request.getServerName()
+ path + "";
} else {
basePath = request.getScheme() + "://" + request.getServerName()
+ ":" + request.getServerPort() + path + "";
}
Map map = new HashMap();
try{
HttpSession sess = myc.getSession(request.getParameter("sessionId"));
Uservip uservip = (Uservip) sess.getAttribute(request.getParameter("uservip"));
if(uservip==null){
map.put("state", "0");
map.put("message", "未登录,请重新登录!");
net.sf.json.JSONObject jsonObject = net.sf.json.JSONObject
.fromObject(map);
try {
response.getWriter().print(jsonObject.toString());
request.setAttribute("mess", map.get("message"));
return "funm";
} catch (IOException e1) {
e1.printStackTrace();
System.out.println("发送josn失败!");
}
}
Basicinfor basicinfor = basicinforService.findBasicinforByUserId(uservip.getUserId().intValue());
if(basicinfor.getIdNum()==null||basicinfor.getIdNum().equals("")){
map.put("state", "0");
map.put("message", "未进行实名认证,请先认证!");
net.sf.json.JSONObject jsonObject = net.sf.json.JSONObject
.fromObject(map);
try {
response.getWriter().print(jsonObject.toString());
request.setAttribute("mess", map.get("message"));
return "funm";
} catch (IOException e1) {
e1.printStackTrace();
System.out.println("发送josn失败!");
}
}
if(uservip.getPhoneResult()==null||!uservip.getPhoneResult().equals("1")){
map.put("state", "0");
map.put("message", "未进行手机认证,请先认证!");
net.sf.json.JSONObject jsonObject = net.sf.json.JSONObject
.fromObject(map);
try {
response.getWriter().print(jsonObject.toString());
request.setAttribute("mess", map.get("message"));
return "funm";
} catch (IOException e1) {
e1.printStackTrace();
System.out.println("发送josn失败!");
}
}

if(uservip.getStatusMD()==null||uservip.getStatusMD()!=1){

}else{
map.put("state", "0");
map.put("message", "托管已开通,无需重复开通!");
net.sf.json.JSONObject jsonObject = net.sf.json.JSONObject
.fromObject(map);
try {
response.getWriter().print(jsonObject.toString());
request.setAttribute("mess", map.get("message"));
return "funm";
} catch (IOException e1) {
e1.printStackTrace();
System.out.println("发送josn失败!");
}
}
WebsiteService websiteService=new WebsiteServiceImpl();
Website website=websiteService.findWebsiteBywebsiteId(1);
String number_id=website.getNumberId();

String mode="personal";  //类型为:个人,企业personal/company
String account_name=basicinfor.getPhoneNum();
String real_name=basicinfor.getRealName();
String card_no=basicinfor.getIdNum();
String nick_name=uservip.getUserId()+"app"+basicinfor.getPhoneNum();
String advice_url=basePath+"/appjson/Accounty";
String return_url=basePath+"/appjson/Accountt";
String remark="[汇潮托管]";
String sa="number_id="+number_id+
"&mode="+mode+
"&account_name="+account_name+
"&real_name="+real_name+
"&card_no="+card_no+
"&nick_name="+nick_name+
"&advice_url="+advice_url+
"&return_url="+return_url+
"&remark="+remark+
"&merchantKey="+website.getMerchantKey();
System.out.println("*****************************"+sa);

String sign_info=MD5HC.md5(sa).toLowerCase();

request.setAttribute("url",(website.getIsTest()==0?"http://test.yemadai.com/openAccount":"https://gateway.yemadai.com/openAccount"));
request.setAttribute("number_id", number_id);
request.setAttribute("mode", mode);
request.setAttribute("account_name", account_name);
request.setAttribute("real_name", URLEncoder.encode(real_name,"utf-8"));
request.setAttribute("card_no", card_no);
request.setAttribute("nick_name",  URLEncoder.encode(nick_name,"utf-8"));
request.setAttribute("advice_url", advice_url);
request.setAttribute("return_url", return_url);
request.setAttribute("remark", remark);
request.setAttribute("sign_info", sign_info);

return "success";
}catch(Exception e){
e.printStackTrace();
map.put("state", "0");
map.put("message", "[手动滑稽]失败,请联系开发者!");
net.sf.json.JSONObject jsonObject = net.sf.json.JSONObject
.fromObject(map);
try {
response.getWriter().print(jsonObject.toString());
request.setAttribute("mess", map.get("message"));
return "funm";
} catch (IOException e1) {
e1.printStackTrace();
System.out.println("发送josn失败!");
}
}
return "funm";

}


package com.jqg.util;

import java.io.UnsupportedEncodingException;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;

public class MD5HC
{
public static String md5(String password)
throws NoSuchAlgorithmException
{
MessageDigest md = MessageDigest.getInstance("MD5");
try {
md.update(password.getBytes("utf-8"));
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
byte[] b = md.digest();

StringBuffer buf = new StringBuffer("");
for (int offset = 0; offset < b.length; offset++) {
int i = b[offset];
if (i < 0) i += 256;
if (i < 16)
buf.append("0");
buf.append(Integer.toHexString(i));
}

String pwd = buf.toString();

return pwd;
}
}


ps:1. md.update(password.getBytes("utf-8"));一定不能忘记utf-8转码
2.<span style="font-family: Arial, Helvetica, sans-serif;">URLEncoder.encode(nick_name,"utf-8") 中文传递使用url编码</span>
<span style="font-family: Arial, Helvetica, sans-serif;">      3.使用form表单post请求</span>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: