Commit 83dbcaf6 authored by 朱晨阳's avatar 朱晨阳

添加银行开户接口

parent 5f0d70b0
package com.yeejoin.amos.boot.module.hygf.api.service;
import com.yeejoin.amos.boot.module.hygf.api.dto.IcbcBizContent;
import com.yeejoin.amos.boot.module.hygf.api.dto.IcbcRequest;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.Map;
/**
* 电子钱包接口类
*
* @author system_generator
* @date 2024-01-12
*/
public interface IHygfIcbcService {
void icbcRegisterWalletUrl(HttpServletRequest req, HttpServletResponse resp);
}
package com.yeejoin.amos.boot.module.hygf.biz.controller;
import com.yeejoin.amos.boot.biz.common.controller.BaseController;
import com.yeejoin.amos.boot.module.hygf.biz.service.impl.HygfIcbcServiceImpl;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.typroject.tyboot.core.foundation.enumeration.UserType;
import org.typroject.tyboot.core.restful.doc.TycloudOperation;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* 并网信息
*/
@RestController
@Api(tags = "电子钱包")
@RequestMapping(value = "/icbc")
public class HygfIcbcController extends BaseController {
@Autowired
HygfIcbcServiceImpl hygfIcbcService;
@TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false)
@GetMapping(value = "/icbcRegisterWalletUrl")
@ApiOperation(httpMethod = "GET",value = "注册电子钱包", notes = "注册电子钱包")
public void getHygfIcbcRegisterWalletUrl(HttpServletRequest req, HttpServletResponse resp) {
hygfIcbcService.icbcRegisterWalletUrl(req, resp);
}
}
package com.yeejoin.amos.boot.module.hygf.biz.service.impl;
import com.icbc.api.IcbcConstants;
import com.icbc.api.UiIcbcClient;
import com.icbc.api.request.JftUiUserEntrustopenacctSubmitRequestV1;
import com.yeejoin.amos.boot.module.hygf.api.service.IHygfIcbcService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.typroject.tyboot.core.restful.exception.instance.BadRequest;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.PrintWriter;
import java.util.UUID;
/**
* 并网信息服务实现类
*
* @author system_generator
* @date 2024-01-12
*/
@Service
@Slf4j
public class HygfIcbcServiceImpl implements IHygfIcbcService {
private static final long serialVersionUID = 1L;
// 合作方 APPID
private static final String APP_ID = "11000000000000028870";
// 此处替换合作方 APPID 对应私钥
private static final String MY_PRIVATE_KEY = "MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDAlcIeANdqipul3/qAIRlknSacHiFCMzLzUJisGcr9ipm3p2rir8WDsac2MxgtUt+f89SGNoWyjv4q0/QAKQQTd5U3KuGAksCJLBGVibuFe7G7YGYVezUksjvocvp8GIinCIkzq67KL2SOpGXAu3s+282rx8AxdTZA/EhXQvbORbWz5+DamyY+wS7Maa8KmIOb6WZPtiXgENZxDHAafrqW8Gt1BnVfJNf5yS5J9Wl+LcR1EPvi5iH8dSIdn1ZMVupoREjV/DvItSogVehsqTRZWuekAo2xH9YEli1UMG/l3deViRn/A4VmPPzdv0xXpn/yO+OTjWez+KmSmJfAZXBvAgMBAAECggEABRYviWFWTz8X+1qeIDI/nHO2KFt3X2tAxkJztd/8h5PYmYw3e4NPATp5Ayp4UgIlW/ExxNW91EiImBL/F939eJIpA8sDJ8U4hqb+U+fOZyksOZnDOIAHmE+I24vl588yFM9Z6F55gGeeDVJ0SZHqIG/nz8i339aLt02yj3N6V1peQugBP6L9arcD+gVu4F70whkqW+lHBK/WzX1OazqEx3Ip175jqzi9/0vO/h/kqnGGXuMi2VeuAPsa+d0a6lf/FScxqCt3t6dCkJ5DPA1MCj81dPi5ZfCM/vE0N8I6LEV+RyC7bb4YVO/PoicFjb2j8vfLvldOUrsvkNH51dZusQKBgQDpMHacOBpIuVzEFfNtS9SgA96cUV6NCSmHoQppJ/p9xKzY4DpcqoOCIBT4WCvVe6PeN5mrjzt8Q5gJWxiq0tVgIF9k8GjLmuiJ2v4Qh8aUmlRwn0T0DYiX/Y7uzX+pRlkpoKrSktlTOT9vmGwZDGDk0h2+H3hZ3YQEucfA6bhHmQKBgQDTbHrbr1WsUR9lrdLaGi/Uphpl3BXLuCnJXav3yIZOktO5V68MfPZXLP7aaNtbK3n0YHD+Uv8wpHBBSWQYjVYlGdvlniA/W1pr73GZJECFfS1BmmFC4GG3E92D5IkmrcPlUuz8XxKrlwHnfW1F0MoDvhp930vS0tS6u+WYTt9dRwKBgCeEQPVkRIACeYf5OFFTQmsDfNv8pgs8fD8xuTPsxHQ/uhLenMVLWBHbIfKb7oG0/CYSQgZitW/vfHpJZ7q7E9HAaqoOW5P1YmbKJ7fhanOQW7LiKqs5B+bJ30j0piendkCpq4kXvaBu2SMuL1NnV5wvRz8K0jhYY6DxYrp8YPAxAoGAZxWTaZ25tgTvvBHeprzx6Ur7wAJpFiU7KpVjjbLV2WW5mbro/LvJGIQ11qQdn/w4wDBtp3MsPblPimWQSnBPOlO7Zd+NdZbDJbFfv/1vACcic8Qj/AmPW0ZyUSaSwKskwqGGLx7j6Yn9QbNkHhBJDz4XiJvhSm/FjS6kKXj7a20CgYEArnEiPmL5g1Ca/qKK9ql8Q6P9gipIfGGpaFu23y0trbcFpVn8Oos/ic0Jgw4Xiz+rqvb6bW2V6lqBJ+9/kdn0i7zlZxKNpYsW2xFgi04OU3d5HkGL16Y1rpqMYYEhjFaOIn7J8P046UYR99yaybgQd18TE6oFrX8OL5uY8M4ge4Y=";
// 指定《聚富通委托代扣签约同步开户页面服务V1》URL
private static final String serviceUrl = "https://gw.open.icbc.com.cn/ui/jft/ui/user/entrustopenacct/submit/V1";
private static final String corpNo = "020240710000001169";
private static final String trxChannel = "05"; // 05表示小程序
// 此处替换合作方 AES 加密秘钥
private static final String AES_Key = "nuCVNzIxOTHZWv8YjEeYQA==";
private static final String CAMS_PUBLIC_KEY = "655CE8706E6ED9A30B92E57D8D645ADDE8C541C27C5C5AFD529C610C4C0B04F9074E3B6E933C50A3316AEA60CEF461BE4C7916D2AF51170D3A2631394A7F3939";
@Override
public void icbcRegisterWalletUrl(HttpServletRequest req, HttpServletResponse resp) {
try {
UiIcbcClient client = new UiIcbcClient(APP_ID, IcbcConstants.SIGN_TYPE_RSA2, MY_PRIVATE_KEY, IcbcConstants.CHARSET_UTF8);
String userId = req.getParameter("userId");
JftUiUserEntrustopenacctSubmitRequestV1 request = new JftUiUserEntrustopenacctSubmitRequestV1();
request.setServiceUrl(serviceUrl);
JftUiUserEntrustopenacctSubmitRequestV1.JftUiUserEntrustopenacctSubmitRequestV1Biz bizContent = new JftUiUserEntrustopenacctSubmitRequestV1.JftUiUserEntrustopenacctSubmitRequestV1Biz();
bizContent.setAppId(APP_ID);
bizContent.setCorpNo(corpNo);
bizContent.setOutUserId(userId);
bizContent.setCorpSerno(UUID.randomUUID().toString());
bizContent.setTrxChannel(trxChannel);
bizContent.setSignProtocol("0"); // 是否对接缴费代扣流程
// bizContent.setOutVendorId("MAA7TGFK-2"); // 企业外系统编号
// bizContent.setProjectId(UUID.randomUUID().toString().substring(0, 16)); // 缴费项目编号
// bizContent.setBusiCode(userId); // 缴费编号
// bizContent.setProtocolEndDate("2030-12-30");
// bizContent.setProtocolLimitAmount("99999999999999999");
// bizContent.setCallbackUrl("https://www.icbc.com.cn/notify");
// bizContent.setJumpUrl("https://www.icbc.com.cn/jumpback?userId=xxx");
// bizContent.setFailJumpUrl("https://www.icbc.com.cn/jumpback?userId=xxx");
bizContent.setCamsPublicKey(CAMS_PUBLIC_KEY);
request.setBizContent(bizContent);
// 调用工行 SDK,生成自动提交表单,将用户跳转到收方入驻页面
resp.setHeader("Content-Type", "text/html;charset=" + IcbcConstants.CHARSET_UTF8);
PrintWriter out = resp.getWriter();
out.write("<html>");
out.write("<head>");
out.write("<meta http-equiv=\"Content-Type\" content=\"text/html;charset=" + IcbcConstants.CHARSET_UTF8 + "\">");
out.write("</head>");
out.write("<body>");
System.out.println("111111111111111118888888888888" + client.buildPostForm(request).toString());
out.write(client.buildPostForm(request));
out.write("</body>");
out.write("</html>");
} catch (Exception e) {
log.error(e.getMessage(),e);
throw new BadRequest("报错了");
}
}
}
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment