package com.lebaoxun.modules.pay.controller;
import com.lebaoxun.allinpay.AllInPayUtils;
import com.lebaoxun.commons.exception.ResponseMessage;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.util.Map;
/**
* @Auther: Administrator
* @Date: 2020/1/16 12:40
* @Description: 通联支付
*/
@RestController
@Slf4j
@RequestMapping("allinpay")
public class AllInPayController {
// 当前类名
private static String currentClassName = Thread.currentThread().getStackTrace()[1].getClassName();
@RequestMapping(value = {"/memberservice/createMember"}, method = {RequestMethod.POST})
@ResponseBody
// ResponseMessage createMember(@RequestParam("userId") Long userId){
ResponseMessage createMember(){
log.info("当前类名:{}", currentClassName);
log.info("当前方法名称:{}", Thread.currentThread() .getStackTrace()[1].getMethodName());
// 请求参数
// bizUserId 可使用userId填补
String bizUserId = "221550527";
Map<String, Object> param = AllInPayUtils.param(bizUserId);
//会员类型 企业会员 2 个人会员 3
param.put("memberType", 3L);
//访问终端类型 Mobile移动端1 PC电脑端2
param.put("source", 1L);
// 构建服务请求的 JSON req对象
// 服务对象
String service = "MemberService";
// 调用方法 里面放入嵌套的请求参数
String method = "createMember";
Map<String, Object> req = AllInPayUtils.req(service, method, param);
// 请求报文
Map<String, Object> reqMsg = AllInPayUtils.reqMsg(req);
// 拼接URL
// url(reqMsg);
String sysid = (String) reqMsg.get("sysid");
String sign = (String) reqMsg.get("sign");
String timestamp = (String) reqMsg.get("timestamp");
String v = (String) reqMsg.get("v");
Map<String, Object> req1 = (Map<String, Object>) reqMsg.get("req");
String url = AllInPayUtils.testInterfaceURL+"?sysid" + sysid +"&sign" + sign +
"×tamp" + timestamp +"&v" + v +"&req" + req1;
log.info("拼接URL:{}", url);
return ResponseMessage.ok(reqMsg);
}
/**
* 请求报文
*
* http://116.228.64.55:6900/service/soa?sysid=100000000002&sign=WtgdkRhN7529Pgw9e%2bvq
*
* OKODHSMywpkqf0h0GTt%2bSz2LilRqr6wp%2b3jKFUan2WdRxSUSVDOgk%2fFTDMHRG392aRgV
*
* V0QNdO%2bao77oZ2Qg%2f9KBzkl%2fP0UzWxPnzB9S4Ijw057MSp%2bWdAebrn3hO2v%2fWDR
*
* KsfhWnk62qcr77BfStdo%3d×tamp=2019-03-06+13%3a28%3a15&v=2.0&req=%7b%22ser
*
* vice%22%3a%22MemberService%22%2c%22method%22%3a%22createMember%22%2c%22par
*
* am%22%3a%7b%22bizUserId%22%3a%22ceshitiyan%22%2c%22memberType%22%3a3%2c%22
*
* source%22%3a1%7d%7d&
* url拼接
* @param reqMsg
*/
public static String url(Map<String, Object> reqMsg){
String sysid = (String) reqMsg.get("sysid");
String sign = (String) reqMsg.get("sign");
String timestamp = (String) reqMsg.get("timestamp");
String v = (String) reqMsg.get("v");
String req = (String) reqMsg.get("req");
String url = AllInPayUtils.testInterfaceURL + sysid + sign + timestamp + v + req;
log.info("拼接URL:{}", url);
String aa = null;
try {
aa = URLEncoder.encode(url, "UTF8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
log.info("拼接URL大纲· :{}", aa);
return url;
}
public static void main(String[] args) {
AllInPayController a = new AllInPayController();
ResponseMessage member = a.createMember();
}
}