啊啊

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 +
                "&timestamp" + 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&timestamp=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();
    }

}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章