//package com.jd.jdt.ftdev.qed.link.backend.controller.gatewaytools;
//
//import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
//import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
//import com.jd.jdt.ftdev.qed.link.backend.common.controller.BaseController;
//import com.mashape.unirest.http.HttpResponse;
//import com.mashape.unirest.http.Unirest;
//import com.mashape.unirest.http.exceptions.UnirestException;
//import lombok.extern.slf4j.Slf4j;
//import net.sf.json.JSONObject;
//import org.apache.commons.lang3.StringUtils;
//import org.apache.commons.lang3.time.StopWatch;
//import org.apache.shiro.authz.annotation.RequiresPermissions;
//import org.springframework.http.HttpHeaders;
//import org.springframework.http.HttpStatus;
//import org.springframework.http.ResponseEntity;
//import org.springframework.stereotype.Controller;
//import org.springframework.web.bind.annotation.*;
//import org.springframework.web.client.RestTemplate;
//
//import javax.servlet.http.HttpServletResponse;
//import java.net.URLEncoder;
//import java.text.MessageFormat;
//import java.text.SimpleDateFormat;
//import java.util.*;
//
//@Controller
//@Slf4j
//@RequestMapping("/gatewaytools")
//public class GatewayController extends BaseController {
//
// private final TypeService typeService;
// private final KeyService keyService;
// private final UserService userService;
// private final RoleService roleService;
// private final MerchantService merchantService;
// private final CreditUserService creditUserService;
//
// private String message;
//
// public GatewayController(TypeService typeService, KeyService keyService, UserService userService, RoleService roleService, MerchantService merchantService, CreditUserService creditUserService) {
// Unirest.setTimeouts(1000 * 50, 1000 * 50);
// this.typeService = typeService;
// this.keyService = keyService;
// this.userService = userService;
// this.roleService = roleService;
// this.merchantService = merchantService;
// this.creditUserService = creditUserService;
// }
//
// public GateWayResponse req(GateWayRequest model) {
// GatewayEntity req = new GatewayEntity();
// req.setMerchantCode(model.getMerchantCode()); // 白条测提供, 每个商户唯一
// req.setMerchantUserId(model.getMerchantUserId()); // 商户的用户ID,唯一标识一个用户
// req.setJrOpenId(StringUtils.isEmpty(model.getJrOpenId()) ? "" : model.getJrOpenId()); // 京东金融openId
// req.setCharset("UTF-8"); // 默认utf-8
// req.setType(model.getTypeCode()); // 白条测研发提供,对应唯一接口
// req.setVersion("1.0"); // 默认1.0,对接前和白条研发确定
//// if ("2".equals(model.getGateVersion())) {
//// req.setToken(model.getToken());
//// }
// if(model.getToken() != null && model.getToken().length() != 0){
// req.setToken(model.getToken());
// }
//
// String bodyStr = model.getBodyString();
// GateWayResponse gateWayResponse = new GateWayResponse();
// try {
// // 1、使用RSA算法生成签名
// String signStr = (new StringBuffer())
// .append(req.getMerchantCode())
// .append(req.getMerchantUserId())
// .append(req.getJrOpenId())
// .append(req.getCharset())
// .append(req.getType())
// .append(req.getVersion())
// .append(bodyStr)
// .toString();
// req.setSign(RSA.sign(signStr, model.getMerchantPrivatekey())); // 签名
// // 2、随机生成16位AES密钥
// String aesKey = RandomUtil.getRandom(16);
// System.out.println("aesKey:" + aesKey);
// gateWayResponse.setAesKey(aesKey);
// // 3、使用AES算法加密入参
// String bodyStrEncrypted = AES.encryptToBase64(bodyStr, aesKey);
// req.setBody(bodyStrEncrypted); // 加密后报文
//
// // 4、使用RSA算法加密aesKey
// //4.1、白条公钥实时获取
// List<Key> keys = keyService.selKey(model.getMerchantCode());
// String publicKey = "";
// /*if (keys.size()>1){
// ArrayList<Float> versions = new ArrayList<Float>();
// for (Key k:keys){
// Float version = Float.valueOf(k.getVersion());
// versions.add(version);
// }
// //将版本号从大到小排序
// Collections.sort(versions, Collections.reverseOrder());
// for (Key k:keys){
// if (k.getVersion().equals(String.valueOf(versions.get(0)))){
// publicKey = k.getPublicKey();
// }
// }
// }else {
// publicKey = keys.get(0).getPublicKey();
// }*/
// publicKey = model.getBaitiaoPublickey();
// String aesKeyEncrypted = RSA.encrypt(aesKey, publicKey);//model.getBaitiaoPublickey()
//
// req.setKey(aesKeyEncrypted); // 加密后的aesKey
// System.out.println("网关入参组装完毕:" + GsonUtil.toJson(req));
//
// gateWayResponse.setRequestData(GsonUtil.toJson(req));
// StopWatch stopWatch = new StopWatch();
// stopWatch.start();
// // 5、http调用
// HttpResponse<String> responseData = doPostTest( GsonUtil.toJson(req));
// stopWatch.stop();
// gateWayResponse.setMs(stopWatch.getTime());
// if (responseData.getStatus() == 200) {
// // 6、转化响应结果
// GatewayEntity responseEntity = GsonUtil.fromJson(responseData.getBody(), GatewayEntity.class);
// if (Objects.nonNull(responseEntity.getResult()) && !Boolean.valueOf(String.valueOf(responseEntity.getResult().get("success")))) {
// gateWayResponse.setResponseData(responseData.getBody());
// } else {
// // 7、RSA算法解密aes密钥
// String responseAesKey = RSA.decrypt(responseEntity.getKey(), model.getMerchantPrivatekey());
// System.out.println("响应报文aesKey为:" + responseAesKey);
// // 8、AES算法解密报文
// String decryptedBody = AES.decryptFromBase64(responseEntity.getBody(), responseAesKey);
// System.out.println("解密后的报文:" + decryptedBody);
// gateWayResponse.setResponseData(decryptedBody);
// // 9、RSA算法验签
// String responseSignStr = (new StringBuffer()).append(responseEntity.getMerchantCode()).append(responseEntity.getMerchantUserId()).append(responseEntity.getJrOpenId()).append(responseEntity.getCharset()).
// append(responseEntity.getType()).append(responseEntity.getVersion()).append(decryptedBody).toString();
// boolean signRes = RSA.checkSign(responseSignStr, responseEntity.getSign(), model.getBaitiaoPublickey());
// System.out.println("验签结果:" + signRes);
// gateWayResponse.setSignRes(signRes);
// }
// } else {
// gateWayResponse.setResponseData(responseData.getBody());
// }
// } catch (Exception ex) {
// ex.printStackTrace();
// gateWayResponse.setResponseData(ex.getMessage());
// }
//
// return gateWayResponse;
// }
//
// public static HttpResponse<String> doPostTest(String requestJson) throws UnirestException {
// HttpResponse<String> response = Unirest.post("http://test.btgateway.jd.com/service/gatewayproxy")
// .header("Content-Type", "a
没有合适的资源?快使用搜索试试~ 我知道了~
联调后后联调后后联调后后联调后后
共389个文件
java:338个
xml:25个
ftl:6个
0 下载量 161 浏览量
2024-05-22
13:58:23
上传
评论
收藏 43.06MB ZIP 举报
温馨提示
联调后后联调后后联调后后联调后后
资源推荐
资源详情
资源评论
收起资源包目录
联调后后联调后后联调后后联调后后 (389个子文件)
npp_11_API2.cer 893B
ip2region.db 2.6MB
entity.java.ftl 4KB
mapper.xml.ftl 1KB
controller.java.ftl 890B
serviceImpl.java.ftl 581B
service.java.ftl 307B
mapper.java.ftl 301B
.gitignore 464B
GatewayController.java 47KB
InterfaceFieldController.java 46KB
Base64.java 20KB
WyHttpClientUtil.java 18KB
CgrzController.java 17KB
Access.java 17KB
R2MServiceImpl.java 17KB
TradeStatusController.java 17KB
CodecUtils.java 15KB
WyyyLoginUtilDemo.java 14KB
JieqianController.java 13KB
CgrzToolServiceImpl.java 12KB
InterfaceFieldServiceImpl.java 12KB
WyyyLoginUtil.java 12KB
AuthRealNameServiceImpl.java 11KB
JsonUtils.java 11KB
TradeStatusServiceImpl.java 11KB
PKCS7Tool.java 11KB
LoginController.java 10KB
ConvertUtils.java 10KB
ConvertUtil.java 10KB
MerchantServiceImpl.java 10KB
EncryptUtils.java 9KB
RedisInfo.java 9KB
InterfaceController.java 9KB
UserController.java 9KB
GsonUtil.java 8KB
UserServiceImpl.java 8KB
GenericServiceEngineImpl.java 8KB
ExcelXlsxWriterUtil.java 8KB
JsonController.java 8KB
XXTEA.java 8KB
SortUtil.java 7KB
JtwaichangController.java 7KB
HttpUtilExt.java 7KB
SignServiceImpl.java 7KB
SignController.java 7KB
PKCS7Demo.java 7KB
SignUtils.java 7KB
CgrzToolsController.java 7KB
LogServiceImpl.java 6KB
Constants.java 6KB
MenuServiceImpl.java 6KB
HBSignUtils.java 6KB
GatewayServiceImpl.java 6KB
HttpUtil.java 6KB
DocsServiceImpl.java 6KB
JobServiceImpl.java 6KB
BaseController.java 6KB
CacheServiceImpl.java 6KB
RSA.java 6KB
RoleController.java 6KB
PayMerchantController.java 6KB
TestSsoUtil.java 5KB
R2MService.java 5KB
UserManager.java 5KB
CodeGenerator.java 5KB
DocsController.java 5KB
TreeUtil.java 5KB
JobController.java 5KB
RoleServiceImpl.java 5KB
ScheduleUtils.java 5KB
TestController.java 5KB
MerchantController.java 5KB
DeptServiceImpl.java 5KB
JWTFilter.java 5KB
AES.java 5KB
InterfaceField.java 4KB
StringUtils.java 4KB
LimitAspect.java 4KB
JsonServiceImpl.java 4KB
InterfaceServiceImpl.java 4KB
Digest.java 4KB
ShiroRealm.java 4KB
EcoTestResult.java 4KB
GlobalExceptionHandler.java 4KB
SignRequest.java 4KB
MenuController.java 4KB
EcoTestUtil.java 4KB
ZgController.java 4KB
User.java 4KB
JSFGenericInvokeTest.java 4KB
DataUtil.java 4KB
InterfacePermissionAspect.java 3KB
DictController.java 3KB
InterfaceRecordController.java 3KB
DeptController.java 3KB
DcrzController.java 3KB
PayMerchantServiceImpl.java 3KB
EcoGatewayApi.java 3KB
GatewayRecordController.java 3KB
共 389 条
- 1
- 2
- 3
- 4
资源评论
WIN赢
- 粉丝: 282
- 资源: 25
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功