拉卡拉支付,支付注释掉一些无用的接口。

This commit is contained in:
Jack 2025-08-25 07:49:09 +08:00
parent 69e97f1b28
commit 695e9d5739
6 changed files with 531 additions and 429 deletions

View File

@ -8,62 +8,60 @@
package com.suisung.mall.pay.controller.mobile; package com.suisung.mall.pay.controller.mobile;
import cn.hutool.json.JSONObject;
import com.suisung.mall.common.api.CommonResult;
import com.suisung.mall.common.service.impl.BaseControllerImpl; import com.suisung.mall.common.service.impl.BaseControllerImpl;
import com.suisung.mall.pay.service.LakalaPayService;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.util.Base64Utils; import org.springframework.util.Base64Utils;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.io.IOException; import java.io.IOException;
@Api(tags = "拉卡拉相关接口 - 前端控制器") @Api(tags = "拉卡拉相关接口 - 前端控制器")
@RestController @RestController
@RequestMapping("/mobile/pay/lakala") @RequestMapping("/mobile/pay/lakala")
public class LakalaController extends BaseControllerImpl { public class LakalaController extends BaseControllerImpl {
//
@Resource // @Resource
private LakalaPayService lakalaPayService; // private LakalaPayService lakalaPayService;
@ApiOperation(value = "本地文件转base64", notes = "本地文件转base64") @ApiOperation(value = "本地文件转base64", notes = "本地文件转base64")
@RequestMapping(value = "/file2base64", method = RequestMethod.POST) @RequestMapping(value = "/file2base64", method = RequestMethod.POST)
public String file2Base64(@RequestParam("file") MultipartFile file) throws IOException { public String file2Base64(@RequestParam("file") MultipartFile file) throws IOException {
String str=Base64Utils.encodeToString(file.getBytes()); String str = Base64Utils.encodeToString(file.getBytes());
return str; return str;
} }
@ApiOperation(value = "商户分账业务开通申请", notes = "商户分账业务开通申请") // @ApiOperation(value = "商户分账业务开通申请", notes = "商户分账业务开通申请")
@RequestMapping(value = "/ledger/applyLedgerMer", method = RequestMethod.POST) // @RequestMapping(value = "/ledger/applyLedgerMer", method = RequestMethod.POST)
public CommonResult ledgerApplyLedgerMer(@RequestBody JSONObject paramsJSON) { // public CommonResult ledgerApplyLedgerMer(@RequestBody JSONObject paramsJSON) {
return lakalaPayService.applyLedgerMer(paramsJSON); // return lakalaPayService.applyLedgerMer(paramsJSON);
} // }
//
@ApiOperation(value = "商户分账业务开通申请异步回调回调", notes = "商户分账业务开通申请异步回调回调") // @ApiOperation(value = "商户分账业务开通申请异步回调回调", notes = "商户分账业务开通申请异步回调回调")
@RequestMapping(value = "/ledger/applyLedgerMerNotify", method = RequestMethod.POST) // @RequestMapping(value = "/ledger/applyLedgerMerNotify", method = RequestMethod.POST)
public JSONObject ledgerApplyLedgerMerNotify(HttpServletRequest request) { // public JSONObject ledgerApplyLedgerMerNotify(HttpServletRequest request) {
return lakalaPayService.applyLedgerMerNotify(request); // return lakalaPayService.applyLedgerMerNotify(request);
} // }
//
@ApiOperation(value = "分账接收方创建申请", notes = "分账接收方创建申请") // @ApiOperation(value = "分账接收方创建申请", notes = "分账接收方创建申请")
@RequestMapping(value = "/ledger/applyLedgerReceiver", method = RequestMethod.POST) // @RequestMapping(value = "/ledger/applyLedgerReceiver", method = RequestMethod.POST)
public CommonResult applyLedgerReceiver(@RequestBody JSONObject paramsJSON) { // public CommonResult applyLedgerReceiver(@RequestBody JSONObject paramsJSON) {
return lakalaPayService.applyLedgerReceiver(paramsJSON); // return lakalaPayService.applyLedgerReceiver(paramsJSON);
} // }
//
@ApiOperation(value = "分账关系绑定申请", notes = "分账关系绑定申请") // @ApiOperation(value = "分账关系绑定申请", notes = "分账关系绑定申请")
@RequestMapping(value = "/ledger/applyBind", method = RequestMethod.POST) // @RequestMapping(value = "/ledger/applyBind", method = RequestMethod.POST)
public CommonResult applyBind(@RequestBody JSONObject paramsJSON) { // public CommonResult applyBind(@RequestBody JSONObject paramsJSON) {
return lakalaPayService.applyLedgerMerReceiverBind(paramsJSON); // return lakalaPayService.applyLedgerMerReceiverBind(paramsJSON);
} // }
//
@ApiOperation(value = "分账关系绑定申请异步回调通知", notes = "分账关系绑定申请异步回调通知") // @ApiOperation(value = "分账关系绑定申请异步回调通知", notes = "分账关系绑定申请异步回调通知")
@RequestMapping(value = "/ledger/applyBindNotify", method = RequestMethod.POST) // @RequestMapping(value = "/ledger/applyBindNotify", method = RequestMethod.POST)
public JSONObject applyBindNotify(HttpServletRequest request) { // public JSONObject applyBindNotify(HttpServletRequest request) {
return lakalaPayService.applyLedgerMerReceiverBindNotify(request); // return lakalaPayService.applyLedgerMerReceiverBindNotify(request);
} // }
} }

View File

@ -9,11 +9,8 @@
package com.suisung.mall.pay.service; package com.suisung.mall.pay.service;
import cn.hutool.json.JSONObject; import cn.hutool.json.JSONObject;
import com.suisung.mall.common.api.CommonResult;
import org.springframework.data.util.Pair; import org.springframework.data.util.Pair;
import javax.servlet.http.HttpServletRequest;
public interface LakalaPayService { public interface LakalaPayService {
Boolean initLKLSDK(); Boolean initLKLSDK();
@ -26,6 +23,7 @@ public interface LakalaPayService {
* @param termNo 终端号 * @param termNo 终端号
* @param xcxAppId 小程序appid * @param xcxAppId 小程序appid
* @param openId openid * @param openId openid
* @param storeId 店铺Id
* @param orderId 订单号 * @param orderId 订单号
* @param subject 订单标题 * @param subject 订单标题
* @param totalAmount 订单金额 * @param totalAmount 订单金额
@ -36,6 +34,26 @@ public interface LakalaPayService {
*/ */
JSONObject lklTransPreOrder(String merchantNo, String termNo, String xcxAppId, String openId, String storeId, String orderId, String subject, String totalAmount, String notifyURL, String requestIP, String remark); JSONObject lklTransPreOrder(String merchantNo, String termNo, String xcxAppId, String openId, String storeId, String orderId, String subject, String totalAmount, String notifyURL, String requestIP, String remark);
/**
* 拉卡拉合单预下单
* 参考https://o.lakala.com/#/home/document/detail?id=208
*
* @param merchantNo 商户号(商城商家)
* @param termNo 终端号
* @param agentMerchantNo 运费代理商商户号
* @param xcxAppId 小程序appid
* @param openId openid
* @param storeId 店铺Id
* @param orderId 订单号
* @param subject 订单标题
* @param totalAmount 订单总金额
* @param agentAmount 代理商收取金额
* @param notifyURL 回调地址
* @param requestIP 请求ip
**/
JSONObject lklTransMergePreOrder(String merchantNo, String termNo, String agentMerchantNo, String xcxAppId, String openId, String storeId, String orderId, String subject, String totalAmount, String agentAmount, String notifyURL, String requestIP, String remark);
/** /**
* 执行内部拉卡拉交易退款 * 执行内部拉卡拉交易退款
* 参考地址https://o.lakala.com/#/home/document/detail?id=113 * 参考地址https://o.lakala.com/#/home/document/detail?id=113
@ -62,52 +80,52 @@ public interface LakalaPayService {
JSONObject uploadFile(String orderNo, String attType, String attExtName, String attContext); JSONObject uploadFile(String orderNo, String attType, String attExtName, String attContext);
/** // /**
* 商户分账业务开通申请 // * 商户分账业务开通申请
* 参考https://o.lakala.com/#/home/document/detail?id=379 // * 参考https://o.lakala.com/#/home/document/detail?id=379
* // *
* @param paramsJSON // * @param paramsJSON
* @return // * @return
*/ // */
CommonResult applyLedgerMer(JSONObject paramsJSON); // CommonResult applyLedgerMer(JSONObject paramsJSON);
//
/** // /**
* 商户分账业务开通申请回调 // * 商户分账业务开通申请回调
* 参考https://o.lakala.com/#/home/document/detail?id=379 // * 参考https://o.lakala.com/#/home/document/detail?id=379
* // *
* @param request // * @param request
* @return // * @return
*/ // */
JSONObject applyLedgerMerNotify(HttpServletRequest request); // JSONObject applyLedgerMerNotify(HttpServletRequest request);
//
/** // /**
* 分账接收方创建申请 // * 分账接收方创建申请
* 参考https://o.lakala.com/#/home/document/detail?id=380 // * 参考https://o.lakala.com/#/home/document/detail?id=380
* // *
* @param paramsJSON // * @param paramsJSON
* @return // * @return
*/ // */
CommonResult applyLedgerReceiver(JSONObject paramsJSON); // CommonResult applyLedgerReceiver(JSONObject paramsJSON);
//
//
/** // /**
* 分账关系绑定申请 // * 分账关系绑定申请
* 参考https://o.lakala.com/#/home/document/detail?id=386 // * 参考https://o.lakala.com/#/home/document/detail?id=386
* // *
* @param paramsJSON // * @param paramsJSON
* @return // * @return
*/ // */
CommonResult applyLedgerMerReceiverBind(JSONObject paramsJSON); // CommonResult applyLedgerMerReceiverBind(JSONObject paramsJSON);
//
//
/** // /**
* 分账关系绑定申请回调 // * 分账关系绑定申请回调
* 参考https://o.lakala.com/#/home/document/detail?id=379 // * 参考https://o.lakala.com/#/home/document/detail?id=379
* // *
* @param request // * @param request
* @return // * @return
*/ // */
JSONObject applyLedgerMerReceiverBindNotify(HttpServletRequest request); // JSONObject applyLedgerMerReceiverBindNotify(HttpServletRequest request);
} }

View File

@ -16,18 +16,15 @@ import cn.hutool.json.JSONUtil;
import com.ijpay.core.kit.IpKit; import com.ijpay.core.kit.IpKit;
import com.lkl.laop.sdk.LKLSDK; import com.lkl.laop.sdk.LKLSDK;
import com.lkl.laop.sdk.exception.SDKException; import com.lkl.laop.sdk.exception.SDKException;
import com.lkl.laop.sdk.request.*; import com.lkl.laop.sdk.request.V2MmsOpenApiUploadFileRequest;
import com.lkl.laop.sdk.request.V3LabsRelationRefundRequest;
import com.lkl.laop.sdk.request.V3LabsTransPreorderRequest;
import com.lkl.laop.sdk.request.model.V3LabsTradeLocationInfo; import com.lkl.laop.sdk.request.model.V3LabsTradeLocationInfo;
import com.lkl.laop.sdk.request.model.V3LabsTradePreorderWechatBus; import com.lkl.laop.sdk.request.model.V3LabsTradePreorderWechatBus;
import com.suisung.mall.common.api.CommonResult;
import com.suisung.mall.common.exception.ApiException; import com.suisung.mall.common.exception.ApiException;
import com.suisung.mall.common.feignService.ShopService; import com.suisung.mall.common.feignService.ShopService;
import com.suisung.mall.common.modules.lakala.LklLedgerMember;
import com.suisung.mall.common.modules.lakala.LklLedgerMerReceiverBind;
import com.suisung.mall.common.modules.lakala.LklLedgerReceiver;
import com.suisung.mall.common.modules.store.ShopStoreBase; import com.suisung.mall.common.modules.store.ShopStoreBase;
import com.suisung.mall.common.utils.I18nUtil; import com.suisung.mall.common.utils.I18nUtil;
import com.suisung.mall.common.utils.StringUtils;
import com.suisung.mall.pay.service.LakalaPayService; import com.suisung.mall.pay.service.LakalaPayService;
import com.suisung.mall.pay.service.LklLedgerMemberService; import com.suisung.mall.pay.service.LklLedgerMemberService;
import com.suisung.mall.pay.service.LklLedgerMerReceiverBindService; import com.suisung.mall.pay.service.LklLedgerMerReceiverBindService;
@ -43,9 +40,6 @@ import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes; import org.springframework.web.context.request.ServletRequestAttributes;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
@Slf4j @Slf4j
@ -187,6 +181,95 @@ public class LakalaPayServiceImpl implements LakalaPayService {
} }
} }
/**
* 拉卡拉合单预下单主要有运费的订单使用合单
* 参考https://o.lakala.com/#/home/document/detail?id=208
*
* @param merchantNo 商户号(商城商家)
* @param termNo 终端号
* @param agentMerchantNo 运费代理商商户号
* @param xcxAppId 小程序appid
* @param openId openid
* @param storeId 店铺Id
* @param orderId 订单号
* @param subject 订单标题
* @param totalAmount 订单总金额
* @param agentAmount 代理商收取金额
* @param notifyURL 回调地址
* @param requestIP 请求ip
* @param remark
**/
@Override
public JSONObject lklTransMergePreOrder(String merchantNo, String termNo, String agentMerchantNo, String xcxAppId, String openId, String storeId, String orderId, String subject, String totalAmount, String agentAmount, String notifyURL, String requestIP, String remark) {
// 1. 配置初始化
initLKLSDK();
if (StrUtil.isBlank(merchantNo) || StrUtil.isBlank(termNo)) {
throw new ApiException("缺少商户号或终端号!");
}
if (StrUtil.isBlank(agentMerchantNo)) {
throw new ApiException("缺少代理商商户号!");
}
//2. 装配数据
/*** 微信主扫场景示例 */
V3LabsTransPreorderRequest v3LabsTransPreorderWechatReq = new V3LabsTransPreorderRequest();
v3LabsTransPreorderWechatReq.setMerchantNo(merchantNo);
v3LabsTransPreorderWechatReq.setTermNo(termNo);
v3LabsTransPreorderWechatReq.setOutTradeNo(orderId);
v3LabsTransPreorderWechatReq.setSubject(subject);
//微信WECHAT 支付宝ALIPAY 银联UQRCODEPAY 翼支付: BESTPAY 苏宁易付宝: SUNING 拉卡拉支付账户LKLACC 网联小钱包NUCSPAY 京东钱包JD
v3LabsTransPreorderWechatReq.setAccountType("WECHAT");
// 41:NATIVEALIPAY云闪付支持京东白条分期51:JSAPI微信公众号支付支付宝服务窗支付银联JS支付翼支付JS支付拉卡拉钱包支付71:微信小程序支付 61:APP支付微信APP支付
v3LabsTransPreorderWechatReq.setTransType("51");
v3LabsTransPreorderWechatReq.setTotalAmount(totalAmount); // 应支付金额单位
v3LabsTransPreorderWechatReq.setSettleType("1"); //0或者空常规结算方式如需接拉卡拉分账通需传1商户未开通分账之前切记不用上送此参数
v3LabsTransPreorderWechatReq.setNotifyUrl(notifyURL);
v3LabsTransPreorderWechatReq.setRemark(remark);
//地址位置信息
V3LabsTradeLocationInfo v3LabsTradePreorderLocationInfo = new V3LabsTradeLocationInfo(requestIP);
v3LabsTransPreorderWechatReq.setLocationInfo(v3LabsTradePreorderLocationInfo);
//微信主扫场景下 acc_busi_fields 域内容
V3LabsTradePreorderWechatBus wechatBus = new V3LabsTradePreorderWechatBus();
wechatBus.setSubAppid(xcxAppId); // 小程序appId
wechatBus.setUserId(openId); // 微信 openId
wechatBus.setDeviceInfo("WEB"); // 终端设备号(门店号或收银设备ID)注意PC网页或JSAPI支付请传WEB
// wechatBus.setAttach(storeId); // 附加数据商户自定义数据在查询交易结果时原样返回
v3LabsTransPreorderWechatReq.setAccBusiFields(wechatBus);
try {
log.info("拉卡拉预下单请求参数:{}", JSONUtil.toJsonStr(v3LabsTransPreorderWechatReq));
//3. 发送请求
String responseStr = LKLSDK.httpPost(v3LabsTransPreorderWechatReq);
log.info("拉卡拉预下单响应数据:{}", responseStr);
if (StrUtil.isBlank(responseStr)) {
return null;
}
JSONObject lakalaRespJSON = JSONUtil.parseObj(responseStr);
if (lakalaRespJSON != null && lakalaRespJSON.getStr("code").equals("BBS00000")) {
// 新增一个拉卡拉订单记录 shop_order_lkl
JSONObject lklPayReqAndRespJson = new JSONObject();
lklPayReqAndRespJson.put("req", JSONUtil.parseObj(v3LabsTransPreorderWechatReq));
lklPayReqAndRespJson.put("resp", lakalaRespJSON);
shopService.lklPayAddShopOrderLkl(lklPayReqAndRespJson);
}
//4. 响应
return lakalaRespJSON;
} catch (SDKException e) {
log.error("拉卡拉支付出错:", e);
throw new ApiException(I18nUtil._("支付失败!"), e);
}
}
/** /**
* 执行内部拉卡拉交易退款 * 执行内部拉卡拉交易退款
@ -319,330 +402,330 @@ public class LakalaPayServiceImpl implements LakalaPayService {
} }
} }
@Override // @Override
public CommonResult applyLedgerMer(JSONObject paramsJSON) { // public CommonResult applyLedgerMer(JSONObject paramsJSON) {
// 1. 配置初始化 // // 1. 配置初始化
initLKLSDK(); // initLKLSDK();
//
//2. 装配数据 // //2. 装配数据
V2MmsOpenApiLedgerApplyLedgerMerRequest req = new V2MmsOpenApiLedgerApplyLedgerMerRequest(); // V2MmsOpenApiLedgerApplyLedgerMerRequest req = new V2MmsOpenApiLedgerApplyLedgerMerRequest();
req.setVersion("2.0"); // req.setVersion("2.0");
String orderNo = StringUtils.genLklOrderNo(8); // 8位随机数 // String orderNo = StringUtils.genLklOrderNo(8); // 8位随机数
req.setOrderNo(orderNo); // req.setOrderNo(orderNo);
req.setOrgCode(orgCode); // req.setOrgCode(orgCode);
req.setMerInnerNo(paramsJSON.getStr("merInnerNo")); // req.setMerInnerNo(paramsJSON.getStr("merInnerNo"));
req.setMerCupNo(paramsJSON.getStr("merCupNo")); // req.setMerCupNo(paramsJSON.getStr("merCupNo"));
req.setContactMobile(paramsJSON.getStr("contactMobile")); // req.setContactMobile(paramsJSON.getStr("contactMobile"));
req.setSplitLowestRatio(new BigDecimal(paramsJSON.getStr("splitLowestRatio"))); // req.setSplitLowestRatio(new BigDecimal(paramsJSON.getStr("splitLowestRatio")));
String fileName = paramsJSON.getStr("splitEntrustFileName"); // String fileName = paramsJSON.getStr("splitEntrustFileName");
req.setSplitEntrustFileName(fileName); // req.setSplitEntrustFileName(fileName);
//
// 分账结算委托书文件上传到拉卡拉服务器 // // 分账结算委托书文件上传到拉卡拉服务器
JSONObject fileUploadResp = uploadFile(orderNo, "SPLIT_ENTRUST_FILE", StringUtils.getFileExt(fileName), paramsJSON.getStr("splitEntrustFile")); // JSONObject fileUploadResp = uploadFile(orderNo, "SPLIT_ENTRUST_FILE", StringUtils.getFileExt(fileName), paramsJSON.getStr("splitEntrustFile"));
if (fileUploadResp == null || StrUtil.isBlank(fileUploadResp.getStr("attFileId"))) { // if (fileUploadResp == null || StrUtil.isBlank(fileUploadResp.getStr("attFileId"))) {
throw new ApiException(I18nUtil._("分账结算委托书上传失败!")); // throw new ApiException(I18nUtil._("分账结算委托书上传失败!"));
} // }
//
String splitEntrustFilePath = fileUploadResp.getStr("attFileId"); // String splitEntrustFilePath = fileUploadResp.getStr("attFileId");
req.setSplitEntrustFilePath(splitEntrustFilePath); //比如G1/M00/06/64/CrFdEmBQc-aAGc_XAAAiIbS3WIE960.pdf; // req.setSplitEntrustFilePath(splitEntrustFilePath); //比如G1/M00/06/64/CrFdEmBQc-aAGc_XAAAiIbS3WIE960.pdf;
//
if (isProdProject()) { // if (isProdProject()) {
projectDomain = projectDomain + "/api"; // projectDomain = projectDomain + "/api";
} // }
// 给拉卡拉通知的回调地址 // // 给拉卡拉通知的回调地址
String retUrl = projectDomain + "/mobile/pay/lakala/ledger/applyLedgerMerNotify"; // String retUrl = projectDomain + "/mobile/pay/lakala/ledger/applyLedgerMerNotify";
req.setRetUrl(retUrl); // req.setRetUrl(retUrl);
//
paramsJSON.set("orderNo", orderNo); // paramsJSON.set("orderNo", orderNo);
paramsJSON.set("version", "2.0"); // paramsJSON.set("version", "2.0");
paramsJSON.set("ret_url", retUrl); // paramsJSON.set("ret_url", retUrl);
paramsJSON.set("org_code", orgCode); // paramsJSON.set("org_code", orgCode);
paramsJSON.set("split_entrust_file_path", splitEntrustFilePath); // paramsJSON.set("split_entrust_file_path", splitEntrustFilePath);
//
try { // try {
//3. 发送请求 // //3. 发送请求
String responseStr = LKLSDK.httpPost(req); // String responseStr = LKLSDK.httpPost(req);
//
// {'retCode':'000000','retMsg':'申请已受理请等待审核结果','respData':{'version':'1.0','orderNo':'KFPT20230223181025407788734','orgCode':'1','applyId':681201215598657536}} // // {'retCode':'000000','retMsg':'申请已受理请等待审核结果','respData':{'version':'1.0','orderNo':'KFPT20230223181025407788734','orgCode':'1','applyId':681201215598657536}}
JSONObject lakalaRespJSON = JSONUtil.parseObj(responseStr); // JSONObject lakalaRespJSON = JSONUtil.parseObj(responseStr);
if (lakalaRespJSON == null || !lakalaRespJSON.getStr("retCode").equals("000000")) { // if (lakalaRespJSON == null || !lakalaRespJSON.getStr("retCode").equals("000000")) {
throw new ApiException(I18nUtil._(lakalaRespJSON.getStr("retMsg"))); // throw new ApiException(I18nUtil._(lakalaRespJSON.getStr("retMsg")));
} // }
//
paramsJSON.set("apply_id", lakalaRespJSON.getByPath("respData.applyId")); // paramsJSON.set("apply_id", lakalaRespJSON.getByPath("respData.applyId"));
paramsJSON.set("remark", lakalaRespJSON.getStr("retMsg")); // paramsJSON.set("remark", lakalaRespJSON.getStr("retMsg"));
paramsJSON.set("audit_status_text", paramsJSON.get("remark")); // paramsJSON.set("audit_status_text", paramsJSON.get("remark"));
//
// 新增数据 // // 新增数据
// JSON 对象的键名转换为下划线命名 // // JSON 对象的键名转换为下划线命名
LklLedgerMember lklLedgerMember = JSONUtil.toBean(StringUtils.convertCamelToSnake(paramsJSON.toString()), LklLedgerMember.class); // LklLedgerMember lklLedgerMember = JSONUtil.toBean(StringUtils.convertCamelToSnake(paramsJSON.toString()), LklLedgerMember.class);
lklLedgerMemberService.saveOrUpdateByMerCupNo(lklLedgerMember); // lklLedgerMemberService.saveOrUpdateByMerCupNo(lklLedgerMember);
//
return CommonResult.success(null, "提交成功,待审核中!"); // return CommonResult.success(null, "提交成功,待审核中!");
} catch (SDKException e) { // } catch (SDKException e) {
log.error("分账申请失败:", e); // log.error("分账申请失败:", e);
throw new ApiException(I18nUtil._("分账申请失败!"), e); // throw new ApiException(I18nUtil._("分账申请失败!"), e);
} // }
} // }
//
/** // /**
* 商户分账业务开通申请回调 // * 商户分账业务开通申请回调
* 参考https://o.lakala.com/#/home/document/detail?id=379 // * 参考https://o.lakala.com/#/home/document/detail?id=379
* // *
* @param request // * @param request
* @return // * @return
*/ // */
@Override // @Override
public JSONObject applyLedgerMerNotify(HttpServletRequest request) { // public JSONObject applyLedgerMerNotify(HttpServletRequest request) {
// 验签 // // 验签
String authorization = request.getHeader("Authorization"); // String authorization = request.getHeader("Authorization");
String requestBody = LakalaUtil.getBody(request);
boolean checkSuccess = LakalaUtil.verify(authorization, requestBody, lklNotifyCerPath);
if (!checkSuccess) {
return JSONUtil.createObj().set("retCode", "OP90002").set("retMsg", "验签失败!");
}
JSONObject paramsJSON = JSONUtil.parseObj(requestBody);
JSONObject respData = new JSONObject();
respData.put("retCode", "OP90003");
respData.put("retMsg", "响应处理失败!");
if (paramsJSON != null && paramsJSON.get("respData") != null) {
JSONObject reqData = (JSONObject) paramsJSON.get("respData");
Boolean success = lklLedgerMemberService.updateAuditResult(reqData.getStr("applyId"),
reqData.getStr("merInnerNo"),
reqData.getStr("merCupNo"),
reqData.getStr("entrustFileName"),
reqData.getStr("entrustFilePath"),
reqData.getStr("auditStatus"),
reqData.getStr("auditStatusText"),
reqData.getStr("remark"));
if (success) {
respData.put("retCode", "000000");
respData.put("retMsg", "操作成功!");
}
}
return respData;
}
/**
* 分账接收方创建申请
* 参考https://o.lakala.com/#/home/document/detail?id=380
*
* @param paramsJSON
* @return
*/
@Override
public CommonResult applyLedgerReceiver(JSONObject paramsJSON) {
// 1. 配置初始化
initLKLSDK();
//2. 装配数据
V2MmsOpenApiLedgerApplyLedgerReceiverRequest req = new V2MmsOpenApiLedgerApplyLedgerReceiverRequest();
String orderNo = StringUtils.genLklOrderNo(8); // 8位随机数
req.setOrderNo(orderNo);
req.setOrgCode(orgCode);
req.setVersion("2.0");
req.setReceiverName(paramsJSON.getStr("receiverName"));
req.setContactMobile(paramsJSON.getStr("contactMobile"));
req.setLicenseNo(paramsJSON.getStr("licenseNo"));
req.setLicenseName(paramsJSON.getStr("licenseName"));
req.setLegalPersonName(paramsJSON.getStr("legalPersonName"));
req.setLegalPersonCertificateType(paramsJSON.getStr("legalPersonCertificateType"));
req.setLegalPersonCertificateNo(paramsJSON.getStr("legalPersonCertificateNo"));
req.setAcctNo(paramsJSON.getStr("acctNo"));
req.setAcctName(paramsJSON.getStr("acctName"));
req.setAcctTypeCode(paramsJSON.getStr("acctTypeCode"));
req.setAcctCertificateType(paramsJSON.getStr("acctCertificateType"));
req.setAcctCertificateNo(paramsJSON.getStr("acctCertificateNo"));
req.setAcctOpenBankCode(paramsJSON.getStr("acctOpenBankCode"));
req.setAcctOpenBankName(paramsJSON.getStr("acctOpenBankName"));
req.setAcctClearBankCode(paramsJSON.getStr("acctClearBankCode"));
if (paramsJSON.getJSONArray("attachList") != null && paramsJSON.getJSONArray("attachList").size() > 0) {
List<V2MmsOpenApiLedgerApplyLedgerReceiverRequest.AttachInfo> attachList = new ArrayList<>();
V2MmsOpenApiLedgerApplyLedgerReceiverRequest.AttachInfo attachInfo = new V2MmsOpenApiLedgerApplyLedgerReceiverRequest.AttachInfo();
for (JSONObject attachJSON : paramsJSON.getJSONArray("attachList").jsonIter()) {
String fileName = attachJSON.getStr("attachName");
String attachType = attachJSON.getStr("attachType");
String fileBase64 = attachJSON.getStr("attachStoreFile");
attachInfo.setAttachName(fileName);
attachInfo.setAttachType(attachType);
JSONObject fileUploadResp = uploadFile(StringUtils.genLklOrderNo(8), attachType,
StringUtils.getFileExt(fileName), fileBase64);
if (fileUploadResp == null || StrUtil.isBlank(fileUploadResp.getStr("attFileId"))) {
throw new ApiException(I18nUtil._("附件上传失败!"));
}
attachInfo.setAttachStorePath(fileUploadResp.getStr("attFileId"));
attachList.add(attachInfo);
}
req.setAttachList(attachList);
paramsJSON.set("attach_list", JSONUtil.toJsonStr(attachList));
}
paramsJSON.set("orderNo", orderNo);
paramsJSON.set("version", "2.0");
paramsJSON.set("org_code", orgCode);
try {
//3. 发送请求申请创建分账接收方
String responseStr = LKLSDK.httpPost(req);
JSONObject lakalaRespJSON = JSONUtil.parseObj(responseStr);
if (lakalaRespJSON == null || !lakalaRespJSON.getStr("retCode").equals("000000")) {
throw new ApiException(I18nUtil._(lakalaRespJSON.getStr("retMsg")));
}
paramsJSON.set("receiver_no", lakalaRespJSON.getByPath("respData.receiverNo"));
paramsJSON.set("org_id", lakalaRespJSON.getByPath("respData.orgId"));
paramsJSON.set("org_name", lakalaRespJSON.getByPath("respData.orgName"));
// 新增数据
// JSON 对象的键名转换为下划线命名
LklLedgerReceiver lklLedgerReceiver = JSONUtil.toBean(StringUtils.convertCamelToSnake(paramsJSON.toString()), LklLedgerReceiver.class);
// 新增或修改本地数据
lklLedgerReceiverService.saveOrUpdateByReceiverNo(lklLedgerReceiver);
return CommonResult.success(null, "接收方创建成功!");
} catch (SDKException e) {
log.error("接收方创建失败:", e);
throw new ApiException(I18nUtil._("接收方创建失败!"), e);
}
}
/**
* 分账关系绑定申请
* 参考https://o.lakala.com/#/home/document/detail?id=386
*
* @param paramsJSON
* @return
*/
@Override
public CommonResult applyLedgerMerReceiverBind(JSONObject paramsJSON) {
// 1. 配置初始化
initLKLSDK();
//2. 装配数据
V2MmsOpenApiLedgerApplyBindRequest req = new V2MmsOpenApiLedgerApplyBindRequest();
String orderNo = StringUtils.genLklOrderNo(8); // 8位随机数
req.setOrderNo(orderNo);
req.setOrgCode(orgCode);
req.setVersion("2.0");
req.setMerInnerNo(paramsJSON.getStr("merInnerNo"));
req.setMerCupNo(paramsJSON.getStr("merCupNo"));
req.setReceiverNo(paramsJSON.getStr("receiverNo"));
String fileName = paramsJSON.getStr("entrustFileName");
String splitEntrustFileBase64 = paramsJSON.getStr("entrustFile");
req.setEntrustFileName(fileName);
String retUrl = projectDomain + "/mobile/pay/lakala/ledger/applyLedgerMerReceiverBindNotify";
req.setRetUrl(retUrl);
// 文件上传到拉卡拉服务器
JSONObject fileUploadResp = uploadFile(orderNo,
"SPLIT_COOPERATION_FILE",
StringUtils.getFileExt(fileName),
splitEntrustFileBase64);
if (fileUploadResp == null || StrUtil.isBlank(fileUploadResp.getStr("attFileId"))) {
throw new ApiException(I18nUtil._("合作协议上传失败!"));
}
String entrustFilePath = fileUploadResp.getStr("attFileId");
req.setEntrustFilePath(entrustFilePath);
paramsJSON.set("orderNo", orderNo);
paramsJSON.set("version", "2.0");
paramsJSON.set("ret_url", retUrl);
paramsJSON.set("org_code", orgCode);
paramsJSON.set("entrust_file_name", fileName);
paramsJSON.set("entrust_file_path", entrustFilePath);
try {
//3. 发送请求
String responseStr = LKLSDK.httpPost(req);
JSONObject lakalaRespJSON = JSONUtil.parseObj(responseStr);
if (lakalaRespJSON == null || !lakalaRespJSON.getStr("retCode").equals("000000")) {
throw new ApiException(I18nUtil._(lakalaRespJSON.getStr("retMsg")));
}
paramsJSON.set("apply_id", lakalaRespJSON.getByPath("respData.applyId"));
paramsJSON.set("remark", lakalaRespJSON.getStr("retMsg"));
// 新增数据
// JSON 对象的键名转换为下划线命名
LklLedgerMerReceiverBind lklLedgerMerReceiverBind = JSONUtil.toBean(StringUtils.convertCamelToSnake(paramsJSON.toString()), LklLedgerMerReceiverBind.class);
lklLedgerMerReceiverBindService.saveOrUpdateByMerCupNoReceiverNo(lklLedgerMerReceiverBind);
return CommonResult.success(null, "提交成功,待审核中!");
} catch (SDKException e) {
log.error("分账绑定关系申请失败:", e);
throw new ApiException(I18nUtil._("分账绑定关系申请失败!"), e);
}
}
/**
* 分账关系绑定申请回调
* 参考https://o.lakala.com/#/home/document/detail?id=379
*
* @param request
* @return
*/
@Override
public JSONObject applyLedgerMerReceiverBindNotify(HttpServletRequest request) {
// 验签
String authorization = request.getHeader("Authorization");
String requestBody = LakalaUtil.getBody(request);
boolean checkSuccess = LakalaUtil.verify(authorization, requestBody, lklNotifyCerPath);
if (!checkSuccess) {
return JSONUtil.createObj().set("retCode", "OP90002").set("retMsg", "验签失败!");
}
// String requestBody = LakalaUtil.getBody(request); // String requestBody = LakalaUtil.getBody(request);
//
JSONObject paramsJSON = JSONUtil.parseObj(requestBody); // boolean checkSuccess = LakalaUtil.verify(authorization, requestBody, lklNotifyCerPath);
JSONObject respData = new JSONObject(); // if (!checkSuccess) {
respData.put("retCode", "OP90003"); // return JSONUtil.createObj().set("retCode", "OP90002").set("retMsg", "验签失败!");
respData.put("retMsg", "响应处理失败!"); // }
//
if (paramsJSON != null && paramsJSON.get("respData") != null) { // JSONObject paramsJSON = JSONUtil.parseObj(requestBody);
JSONObject reqData = (JSONObject) paramsJSON.get("respData"); //
// JSONObject respData = new JSONObject();
Boolean success = lklLedgerMerReceiverBindService.updateAuditResult(reqData.getStr("applyId"), // respData.put("retCode", "OP90003");
reqData.getStr("merInnerNo"), // respData.put("retMsg", "响应处理失败!");
reqData.getStr("merCupNo"), //
reqData.getStr("receiverNo"), // if (paramsJSON != null && paramsJSON.get("respData") != null) {
reqData.getStr("entrustFileName"), // JSONObject reqData = (JSONObject) paramsJSON.get("respData");
reqData.getStr("entrustFilePath"), //
reqData.getStr("auditStatus"), // Boolean success = lklLedgerMemberService.updateAuditResult(reqData.getStr("applyId"),
reqData.getStr("auditStatusText"), // reqData.getStr("merInnerNo"),
reqData.getStr("remark")); // reqData.getStr("merCupNo"),
if (success) { // reqData.getStr("entrustFileName"),
respData.put("retCode", "000000"); // reqData.getStr("entrustFilePath"),
respData.put("retMsg", "操作成功!"); // reqData.getStr("auditStatus"),
} // reqData.getStr("auditStatusText"),
} // reqData.getStr("remark"));
//
return respData; // if (success) {
} // respData.put("retCode", "000000");
// respData.put("retMsg", "操作成功!");
// }
// }
//
// return respData;
// }
//
// /**
// * 分账接收方创建申请
// * 参考https://o.lakala.com/#/home/document/detail?id=380
// *
// * @param paramsJSON
// * @return
// */
// @Override
// public CommonResult applyLedgerReceiver(JSONObject paramsJSON) {
// // 1. 配置初始化
// initLKLSDK();
//
// //2. 装配数据
// V2MmsOpenApiLedgerApplyLedgerReceiverRequest req = new V2MmsOpenApiLedgerApplyLedgerReceiverRequest();
//
// String orderNo = StringUtils.genLklOrderNo(8); // 8位随机数
// req.setOrderNo(orderNo);
// req.setOrgCode(orgCode);
// req.setVersion("2.0");
//
// req.setReceiverName(paramsJSON.getStr("receiverName"));
// req.setContactMobile(paramsJSON.getStr("contactMobile"));
//
// req.setLicenseNo(paramsJSON.getStr("licenseNo"));
// req.setLicenseName(paramsJSON.getStr("licenseName"));
// req.setLegalPersonName(paramsJSON.getStr("legalPersonName"));
// req.setLegalPersonCertificateType(paramsJSON.getStr("legalPersonCertificateType"));
// req.setLegalPersonCertificateNo(paramsJSON.getStr("legalPersonCertificateNo"));
//
// req.setAcctNo(paramsJSON.getStr("acctNo"));
// req.setAcctName(paramsJSON.getStr("acctName"));
// req.setAcctTypeCode(paramsJSON.getStr("acctTypeCode"));
// req.setAcctCertificateType(paramsJSON.getStr("acctCertificateType"));
//
// req.setAcctCertificateNo(paramsJSON.getStr("acctCertificateNo"));
// req.setAcctOpenBankCode(paramsJSON.getStr("acctOpenBankCode"));
// req.setAcctOpenBankName(paramsJSON.getStr("acctOpenBankName"));
// req.setAcctClearBankCode(paramsJSON.getStr("acctClearBankCode"));
//
// if (paramsJSON.getJSONArray("attachList") != null && paramsJSON.getJSONArray("attachList").size() > 0) {
// List<V2MmsOpenApiLedgerApplyLedgerReceiverRequest.AttachInfo> attachList = new ArrayList<>();
// V2MmsOpenApiLedgerApplyLedgerReceiverRequest.AttachInfo attachInfo = new V2MmsOpenApiLedgerApplyLedgerReceiverRequest.AttachInfo();
// for (JSONObject attachJSON : paramsJSON.getJSONArray("attachList").jsonIter()) {
// String fileName = attachJSON.getStr("attachName");
// String attachType = attachJSON.getStr("attachType");
// String fileBase64 = attachJSON.getStr("attachStoreFile");
// attachInfo.setAttachName(fileName);
// attachInfo.setAttachType(attachType);
//
// JSONObject fileUploadResp = uploadFile(StringUtils.genLklOrderNo(8), attachType,
// StringUtils.getFileExt(fileName), fileBase64);
// if (fileUploadResp == null || StrUtil.isBlank(fileUploadResp.getStr("attFileId"))) {
// throw new ApiException(I18nUtil._("附件上传失败!"));
// }
//
// attachInfo.setAttachStorePath(fileUploadResp.getStr("attFileId"));
// attachList.add(attachInfo);
// }
//
// req.setAttachList(attachList);
// paramsJSON.set("attach_list", JSONUtil.toJsonStr(attachList));
// }
//
// paramsJSON.set("orderNo", orderNo);
// paramsJSON.set("version", "2.0");
// paramsJSON.set("org_code", orgCode);
//
// try {
// //3. 发送请求申请创建分账接收方
// String responseStr = LKLSDK.httpPost(req);
//
// JSONObject lakalaRespJSON = JSONUtil.parseObj(responseStr);
// if (lakalaRespJSON == null || !lakalaRespJSON.getStr("retCode").equals("000000")) {
// throw new ApiException(I18nUtil._(lakalaRespJSON.getStr("retMsg")));
// }
//
// paramsJSON.set("receiver_no", lakalaRespJSON.getByPath("respData.receiverNo"));
// paramsJSON.set("org_id", lakalaRespJSON.getByPath("respData.orgId"));
// paramsJSON.set("org_name", lakalaRespJSON.getByPath("respData.orgName"));
//
// // 新增数据
// // JSON 对象的键名转换为下划线命名
// LklLedgerReceiver lklLedgerReceiver = JSONUtil.toBean(StringUtils.convertCamelToSnake(paramsJSON.toString()), LklLedgerReceiver.class);
//
// // 新增或修改本地数据
// lklLedgerReceiverService.saveOrUpdateByReceiverNo(lklLedgerReceiver);
//
// return CommonResult.success(null, "接收方创建成功!");
// } catch (SDKException e) {
// log.error("接收方创建失败:", e);
// throw new ApiException(I18nUtil._("接收方创建失败!"), e);
// }
// }
//
// /**
// * 分账关系绑定申请
// * 参考https://o.lakala.com/#/home/document/detail?id=386
// *
// * @param paramsJSON
// * @return
// */
// @Override
// public CommonResult applyLedgerMerReceiverBind(JSONObject paramsJSON) {
// // 1. 配置初始化
// initLKLSDK();
//
// //2. 装配数据
// V2MmsOpenApiLedgerApplyBindRequest req = new V2MmsOpenApiLedgerApplyBindRequest();
//
// String orderNo = StringUtils.genLklOrderNo(8); // 8位随机数
// req.setOrderNo(orderNo);
// req.setOrgCode(orgCode);
// req.setVersion("2.0");
//
// req.setMerInnerNo(paramsJSON.getStr("merInnerNo"));
// req.setMerCupNo(paramsJSON.getStr("merCupNo"));
// req.setReceiverNo(paramsJSON.getStr("receiverNo"));
//
// String fileName = paramsJSON.getStr("entrustFileName");
// String splitEntrustFileBase64 = paramsJSON.getStr("entrustFile");
// req.setEntrustFileName(fileName);
//
// String retUrl = projectDomain + "/mobile/pay/lakala/ledger/applyLedgerMerReceiverBindNotify";
// req.setRetUrl(retUrl);
//
// // 文件上传到拉卡拉服务器
// JSONObject fileUploadResp = uploadFile(orderNo,
// "SPLIT_COOPERATION_FILE",
// StringUtils.getFileExt(fileName),
// splitEntrustFileBase64);
// if (fileUploadResp == null || StrUtil.isBlank(fileUploadResp.getStr("attFileId"))) {
// throw new ApiException(I18nUtil._("合作协议上传失败!"));
// }
//
// String entrustFilePath = fileUploadResp.getStr("attFileId");
// req.setEntrustFilePath(entrustFilePath);
//
// paramsJSON.set("orderNo", orderNo);
// paramsJSON.set("version", "2.0");
// paramsJSON.set("ret_url", retUrl);
// paramsJSON.set("org_code", orgCode);
// paramsJSON.set("entrust_file_name", fileName);
// paramsJSON.set("entrust_file_path", entrustFilePath);
//
// try {
// //3. 发送请求
// String responseStr = LKLSDK.httpPost(req);
//
// JSONObject lakalaRespJSON = JSONUtil.parseObj(responseStr);
// if (lakalaRespJSON == null || !lakalaRespJSON.getStr("retCode").equals("000000")) {
// throw new ApiException(I18nUtil._(lakalaRespJSON.getStr("retMsg")));
// }
//
// paramsJSON.set("apply_id", lakalaRespJSON.getByPath("respData.applyId"));
// paramsJSON.set("remark", lakalaRespJSON.getStr("retMsg"));
//
// // 新增数据
// // JSON 对象的键名转换为下划线命名
// LklLedgerMerReceiverBind lklLedgerMerReceiverBind = JSONUtil.toBean(StringUtils.convertCamelToSnake(paramsJSON.toString()), LklLedgerMerReceiverBind.class);
// lklLedgerMerReceiverBindService.saveOrUpdateByMerCupNoReceiverNo(lklLedgerMerReceiverBind);
//
// return CommonResult.success(null, "提交成功,待审核中!");
// } catch (SDKException e) {
// log.error("分账绑定关系申请失败:", e);
// throw new ApiException(I18nUtil._("分账绑定关系申请失败!"), e);
// }
// }
//
// /**
// * 分账关系绑定申请回调
// * 参考https://o.lakala.com/#/home/document/detail?id=379
// *
// * @param request
// * @return
// */
// @Override
// public JSONObject applyLedgerMerReceiverBindNotify(HttpServletRequest request) {
// // 验签
// String authorization = request.getHeader("Authorization");
// String requestBody = LakalaUtil.getBody(request);
//
// boolean checkSuccess = LakalaUtil.verify(authorization, requestBody, lklNotifyCerPath);
// if (!checkSuccess) {
// return JSONUtil.createObj().set("retCode", "OP90002").set("retMsg", "验签失败!");
// }
//
//// String requestBody = LakalaUtil.getBody(request);
//
// JSONObject paramsJSON = JSONUtil.parseObj(requestBody);
// JSONObject respData = new JSONObject();
// respData.put("retCode", "OP90003");
// respData.put("retMsg", "响应处理失败!");
//
// if (paramsJSON != null && paramsJSON.get("respData") != null) {
// JSONObject reqData = (JSONObject) paramsJSON.get("respData");
//
// Boolean success = lklLedgerMerReceiverBindService.updateAuditResult(reqData.getStr("applyId"),
// reqData.getStr("merInnerNo"),
// reqData.getStr("merCupNo"),
// reqData.getStr("receiverNo"),
// reqData.getStr("entrustFileName"),
// reqData.getStr("entrustFilePath"),
// reqData.getStr("auditStatus"),
// reqData.getStr("auditStatusText"),
// reqData.getStr("remark"));
// if (success) {
// respData.put("retCode", "000000");
// respData.put("retMsg", "操作成功!");
// }
// }
//
// return respData;
// }
} }

View File

@ -693,6 +693,7 @@ public class PayUserPayServiceImpl extends BaseServiceImpl<PayUserPayMapper, Pay
Map result = new HashMap(); Map result = new HashMap();
result.put("data", params); result.put("data", params);
result.put("statusCode", 200); result.put("statusCode", 200);
data.put("status", 200); data.put("status", 200);
data.put("data", result); data.put("data", result);
data.put("message", "OK"); data.put("message", "OK");

View File

@ -398,11 +398,7 @@ public class LklTkServiceImpl {
reqJsonBody.put("accountNo", shopMchEntry.getAccount_number()); //结算人银行卡号 reqJsonBody.put("accountNo", shopMchEntry.getAccount_number()); //结算人银行卡号
reqJsonBody.put("accountName", shopMchEntry.getAccount_holder_name()); //结算人账户名称 reqJsonBody.put("accountName", shopMchEntry.getAccount_holder_name()); //结算人账户名称
reqJsonBody.put("accountIdCard", larIdCard);//结算法人或小微个人证件号码(身份证) reqJsonBody.put("accountIdCard", larIdCard);//结算法人或小微个人证件号码(身份证)
// Integer SettlementMethod = shopMchEntry.getSettlement_method();
// if (SettlementMethod == null || SettlementMethod < 0 || SettlementMethod > 1) {
// SettlementMethod = 1; // 结算类型0-秒到不分账1-次日结算需要分账
// }
String settleType = String.format("D%d", 1); String settleType = String.format("D%d", 1);
reqJsonBody.put("settleType", settleType); //结算类型0-秒到不分账1-次日结算需要分账 reqJsonBody.put("settleType", settleType); //结算类型0-秒到不分账1-次日结算需要分账
// formData.put("settlementType", "AUTOMATIC"); // 结算方式MANUAL:手动结算(结算至拉卡拉APP钱包),AUTOMATIC:自动结算到银行卡,REGULAR:定时结算仅企业商户支持 // formData.put("settlementType", "AUTOMATIC"); // 结算方式MANUAL:手动结算(结算至拉卡拉APP钱包),AUTOMATIC:自动结算到银行卡,REGULAR:定时结算仅企业商户支持
@ -521,7 +517,6 @@ public class LklTkServiceImpl {
JSONObject response = RestTemplateHttpUtil.sendLklPost(buildLklTkUrl(urlPath), header, reqJsonBody, JSONObject.class); JSONObject response = RestTemplateHttpUtil.sendLklPost(buildLklTkUrl(urlPath), header, reqJsonBody, JSONObject.class);
logger.debug("拉卡拉进件响应参数:{}", response); logger.debug("拉卡拉进件响应参数:{}", response);
if (ObjectUtil.isEmpty(response) if (ObjectUtil.isEmpty(response)
|| response.get("retCode") == null || response.get("retCode") == null
|| !"000000".equals(response.getStr("retCode"))) { || !"000000".equals(response.getStr("retCode"))) {

View File

@ -70,8 +70,9 @@ public class LakalaUtil {
/** /**
* 获取配置文件内容 * 获取配置文件内容
* *
* @param fileName recource 文件夹下的路径palyKey/wx/lakala_public_key.cer * @param fileName recource 文件夹下的路径palyKey/wx/lakala_public_key.cer
* @param keepLineBreaks 保留换行符 * @param keepLineBreaks 保留换行符
* @param stripPemHeaders 是否去除PEM格式的密钥头和尾 BEGGIN和END标签
* @return * @return
*/ */
public static String getResourceFile(String fileName, boolean keepLineBreaks, boolean stripPemHeaders) { public static String getResourceFile(String fileName, boolean keepLineBreaks, boolean stripPemHeaders) {
@ -148,6 +149,12 @@ public class LakalaUtil {
} }
} }
/**
* 去除PEM格式的密钥头和尾 BEGGIN和END标签
*
* @param key
* @return
*/
public static String stripPemHeaders(String key) { public static String stripPemHeaders(String key) {
if (key == null || key.isEmpty()) { if (key == null || key.isEmpty()) {
return key; return key;