diff --git a/mall-shop/src/main/java/com/suisung/mall/shop/lakala/service/impl/LakalaApiServiceImpl.java b/mall-shop/src/main/java/com/suisung/mall/shop/lakala/service/impl/LakalaApiServiceImpl.java index 49a2da64..6edbdc51 100644 --- a/mall-shop/src/main/java/com/suisung/mall/shop/lakala/service/impl/LakalaApiServiceImpl.java +++ b/mall-shop/src/main/java/com/suisung/mall/shop/lakala/service/impl/LakalaApiServiceImpl.java @@ -43,6 +43,7 @@ import org.springframework.data.util.Pair; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; import javax.annotation.Resource; @@ -83,15 +84,14 @@ public class LakalaApiServiceImpl implements LakalaApiService { private String lklNotifyCerPath; //拉卡拉支付平台证书地址2(用于拉卡拉通知验签) @Value("${lakala.org_code}") private String orgCode; - @Value("${lakala.tk.ratio}") - private String ratio; + @Value("${lakala.tk.split_lowest_ratio}") + private String splitLowestRatio; @Value("${project.domain}") private String projectDomain; @Value("${spring.profiles.active}") private String profile; @Value("${lakala.is_prod}") private Boolean isLklProd; - @Value("#{accountBaseConfigService.getConfig('tengxun_default_dir')}") private String TENGXUN_DEFAULT_DIR; @@ -588,7 +588,7 @@ public class LakalaApiServiceImpl implements LakalaApiService { ecParams.put("E2", "小发同城平台商户合作协议"); ecParams.put("E3", "2"); ecParams.put("E5", platformName); - ecParams.put("E6", ratio); + ecParams.put("E6", splitLowestRatio); ecParams.put("E7", signDate); ecParams.put("E8", shopMchEntry.getAccount_holder_name()); @@ -654,6 +654,12 @@ public class LakalaApiServiceImpl implements LakalaApiService { } + /** + * 商户分账业务开通申请 + * + * @param merCupNo + * @return + */ @Override public Pair innerApplyLedgerMer(String merCupNo) { log.debug("商户分账业务开通申请开始"); @@ -687,7 +693,7 @@ public class LakalaApiServiceImpl implements LakalaApiService { req.setContactMobile(shopMchEntry.getLogin_mobile()); // 商户入驻注册的手机号 // 分账比例为了考虑低价订单的运费占比高,分账比例暂时定70%分账给商户,30%分账给平台 // new BigDecimal(paramsJSON.getStr("splitLowestRatio")) - req.setSplitLowestRatio(new BigDecimal(ratio)); + req.setSplitLowestRatio(new BigDecimal(splitLowestRatio)); req.setEleContractNo(shopMchEntry.getLkl_ec_no()); String fileName = "小发同城分账授权委托书.pdf";//paramsJSON.getStr("splitEntrustFileName"); req.setSplitEntrustFileName(fileName); @@ -765,6 +771,7 @@ public class LakalaApiServiceImpl implements LakalaApiService { * @param request * @return */ + @Transactional @Override public JSONObject applyLedgerMerEcNotify(HttpServletRequest request) { log.debug("商户入网电子合同申请回调通知开始"); @@ -779,14 +786,14 @@ public class LakalaApiServiceImpl implements LakalaApiService { boolean checkSuccess = LakalaUtil.verify(authorization, requestBody, lklNotifyCerPath); if (!checkSuccess) { log.error(errMsg + "验签失败"); - return JSONUtil.createObj().set("retCode", "OP90002").set("retMsg", "验签失败!"); + return JSONUtil.createObj().set("code", "OP90002").set("retMsg", "验签失败!"); } JSONObject paramsJSON = JSONUtil.parseObj(requestBody); JSONObject respData = new JSONObject(); - respData.put("retCode", "OP90003"); - respData.put("retMsg", "系统处理失败!"); + respData.put("code", "FAIL"); + respData.put("message", "处理失败!"); if (paramsJSON != null) { Long ecApplyId = paramsJSON.getLong("ecApplyId"); @@ -794,26 +801,27 @@ public class LakalaApiServiceImpl implements LakalaApiService { String ecStatus = paramsJSON.getStr("ecStatus"); // COMPLETED if (ecStatus == null || !ecStatus.equals("COMPLETED")) { log.debug("商户入网电子合同申请状态尚未签署完成!"); - respData.put("retMsg", "入网电子合同尚未签署,请稍候!"); + respData.put("message", "入网电子合同尚未签署,请稍候!"); return respData; } if (ecApplyId == null || StrUtil.isBlank(ecNo)) { log.error("商户入网电子合同申请回调:ecApplyId 为空"); - respData.put("retMsg", "ecApplyId 返回空值!"); + respData.put("message", "ecApplyId 返回空值!"); return respData; } LklLedgerEc lklLedgerEc = lklLedgerEcService.getByApplyId(ecApplyId, "", CommonConstant.Enable); if (lklLedgerEc == null) { log.error("商户入网电子合同申请回调:找不到对应入网lklLedgerEc电子合同记录"); - respData.put("retMsg", "找不到对应入网电子合同记录!"); + respData.put("message", "找不到对应入网电子合同记录!"); +// throw new ApiException("找不到对应入网电子合同记录!"); return respData; } if ("COMPLETED".equals(lklLedgerEc.getEc_status())) { - respData.put("retCode", lklSuccessCode); - respData.put("retMsg", "操作成功!"); + respData.put("code", "SUCCESS"); + respData.put("message", "操作成功!"); log.info("商户入网电子合同申请回调:已处理成功,不需再重新处理"); return respData; } @@ -839,19 +847,21 @@ public class LakalaApiServiceImpl implements LakalaApiService { Pair resultPair = lklTkService.registrationMerchant(lklLedgerEc.getMch_mobile(), ""); if (!resultPair.getFirst()) { errMsg += resultPair.getSecond(); - log.error(errMsg); +// log.error(errMsg); shopMchEntryService.updateMerchEntryApprovalByMchId(lklLedgerEc.getMch_id(), "", CommonConstant.MCH_APPR_STA_NOPASS, errMsg); - respData.put("retMsg", errMsg); - return respData; +// respData.put("message", errMsg); + throw new ApiException(errMsg); +// return respData; } - respData.put("retCode", lklSuccessCode); - respData.put("retMsg", "操作成功!"); + respData.put("code", "SUCCESS"); + respData.put("message", "操作成功!"); log.info("商户入网电子合同申请回调:处理成功"); + return respData; } } - return respData; + throw new ApiException("商户入网电子合同申请回调:处理失败!"); } /** @@ -947,84 +957,91 @@ public class LakalaApiServiceImpl implements LakalaApiService { */ @Override public CommonResult applyLedgerMer(JSONObject paramsJSON) { - log.debug("商户分账业务开通申请1开始"); - - // TODO 判断是否已经申请过? - // 1. 配置初始化 - initLKLSDK(); - - //2. 装配数据 - V2MmsOpenApiLedgerApplyLedgerMerRequest req = new V2MmsOpenApiLedgerApplyLedgerMerRequest(); - req.setVersion("2.0"); - req.setOrderNo(StringUtils.genLklOrderNo(8));// 14位年月日时(24小时制)分秒+8位的随机数 - req.setOrgCode(orgCode); - req.setMerInnerNo(paramsJSON.getStr("merInnerNo"));// 从进件申请返回的商户号 - req.setMerCupNo(paramsJSON.getStr("merCupNo")); // 从进件申请返回的商户号 - req.setContactMobile(paramsJSON.getStr("contactMobile")); // 商户入驻注册的手机号 - // 分账比例为了考虑低价订单的运费占比高,分账比例暂时定70%分账给商户,30%分账给平台 - // new BigDecimal(paramsJSON.getStr("splitLowestRatio")) - req.setSplitLowestRatio(new BigDecimal(ratio)); - String fileName = paramsJSON.getStr("splitEntrustFileName"); - req.setSplitEntrustFileName(fileName); - - // 分账结算委托书文件上传到拉卡拉服务器 - JSONObject fileUploadResp = uploadFile(req.getOrderNo(), "SPLIT_ENTRUST_FILE", StringUtils.getFileExt(fileName), UploadUtil.fileUrlToBase64(paramsJSON.getStr("splitEntrustFile"))); - if (fileUploadResp == null || StrUtil.isBlank(fileUploadResp.getStr("attFileId"))) { - throw new ApiException(I18nUtil._("分账结算委托书上传失败!")); + Pair resultPair = innerApplyLedgerMer(paramsJSON.getStr("merCupNo")); + if (!resultPair.getFirst()) { + return CommonResult.failed(resultPair.getSecond()); } - String splitEntrustFilePath = fileUploadResp.getStr("attFileId"); - req.setSplitEntrustFilePath(splitEntrustFilePath); //比如:G1/M00/06/64/CrFdEmBQc-aAGc_XAAAiIbS3WIE960.pdf; + return CommonResult.success(); - // 正式上线的时候,调整 api 地址 - String domain = projectDomain; - if (isProdProject()) { - domain += "/api"; - } - // 给拉卡拉通知的回调地址 - String retUrl = domain + "/mobile/shop/lakala/ledger/applyLedgerMerNotify"; - req.setRetUrl(retUrl); - - paramsJSON.set("orderNo", req.getOrderNo()); - paramsJSON.set("version", "2.0"); - paramsJSON.set("ret_url", retUrl); - paramsJSON.set("org_code", orgCode); - paramsJSON.set("split_entrust_file_path", splitEntrustFilePath); - - String errMsg = "商户分账业务开通申请:"; - - try { - //3. 发送请求 - String responseStr = LKLSDK.httpPost(req); - - // 成功返回示例:{'retCode':'000000','retMsg':'申请已受理,请等待审核结果','respData':{'version':'1.0','orderNo':'KFPT20230223181025407788734','orgCode':'1','applyId':681201215598657536}} - JSONObject lakalaRespJSON = JSONUtil.parseObj(responseStr); - if (StrUtil.isBlank(responseStr) || lakalaRespJSON == null) { - return CommonResult.failed(I18nUtil._("申请开通分账失败!")); - } - - if (!lakalaRespJSON.getStr("retCode").equals(lklSuccessCode)) { - return CommonResult.failed(lakalaRespJSON.getStr("retMsg")); - } - - paramsJSON.set("apply_id", lakalaRespJSON.getByPath("respData.applyId")); - paramsJSON.set("remark", lakalaRespJSON.getStr("retMsg")); - paramsJSON.set("audit_status_text", paramsJSON.get("remark")); - - paramsJSON.set("mch_id", paramsJSON.get("mchId")); - - // 新增数据 - // 将 JSON 对象的键名转换为下划线命名 - LklLedgerMember lklLedgerMember = JSONUtil.toBean(StringUtils.convertCamelToSnake(paramsJSON.toString()), LklLedgerMember.class); - lklLedgerMemberService.saveOrUpdateByMerCupNo(lklLedgerMember); - - return CommonResult.success(null, "提交成功,待审核中!"); - } catch (SDKException e) { - errMsg += e.getMessage(); - log.error(errMsg); - shopMchEntryService.updateMerchEntryApprovalByMchId(paramsJSON.getLong("mchId"), paramsJSON.getStr("mchMobile"), CommonConstant.MCH_APPR_STA_NOPASS, errMsg); - throw new ApiException(I18nUtil._("商家申请开通分账出错!"), e); - } +// log.debug("商户分账业务开通申请1开始"); +// +// // TODO 判断是否已经申请过? +// // 1. 配置初始化 +// initLKLSDK(); +// +// //2. 装配数据 +// V2MmsOpenApiLedgerApplyLedgerMerRequest req = new V2MmsOpenApiLedgerApplyLedgerMerRequest(); +// req.setVersion("2.0"); +// req.setOrderNo(StringUtils.genLklOrderNo(8));// 14位年月日时(24小时制)分秒+8位的随机数 +// req.setOrgCode(orgCode); +// req.setMerInnerNo(paramsJSON.getStr("merInnerNo"));// 从进件申请返回的商户号 +// req.setMerCupNo(paramsJSON.getStr("merCupNo")); // 从进件申请返回的商户号 +// req.setContactMobile(paramsJSON.getStr("contactMobile")); // 商户入驻注册的手机号 +// // 分账比例为了考虑低价订单的运费占比高,分账比例暂时定70%分账给商户,30%分账给平台 +// // new BigDecimal(paramsJSON.getStr("splitLowestRatio")) +// req.setSplitLowestRatio(new BigDecimal(splitLowestRatio)); +// String fileName = paramsJSON.getStr("splitEntrustFileName"); +// req.setSplitEntrustFileName(fileName); +// +// // 分账结算委托书文件上传到拉卡拉服务器 +// JSONObject fileUploadResp = uploadFile(req.getOrderNo(), "SPLIT_ENTRUST_FILE", StringUtils.getFileExt(fileName), UploadUtil.fileUrlToBase64(paramsJSON.getStr("splitEntrustFile"))); +// if (fileUploadResp == null || StrUtil.isBlank(fileUploadResp.getStr("attFileId"))) { +// throw new ApiException(I18nUtil._("分账结算委托书上传失败!")); +// } +// +// String splitEntrustFilePath = fileUploadResp.getStr("attFileId"); +// req.setSplitEntrustFilePath(splitEntrustFilePath); //比如:G1/M00/06/64/CrFdEmBQc-aAGc_XAAAiIbS3WIE960.pdf; +// +// // 正式上线的时候,调整 api 地址 +// String domain = projectDomain; +// if (isProdProject()) { +// domain += "/api"; +// } +// // 给拉卡拉通知的回调地址 +// String retUrl = domain + "/mobile/shop/lakala/ledger/applyLedgerMerNotify"; +// req.setRetUrl(retUrl); +// +// paramsJSON.set("orderNo", req.getOrderNo()); +// paramsJSON.set("version", "2.0"); +// paramsJSON.set("ret_url", retUrl); +// paramsJSON.set("org_code", orgCode); +// paramsJSON.set("split_entrust_file_path", splitEntrustFilePath); +// +// String errMsg = "商户分账业务开通申请:"; +// +// try { +// //3. 发送请求 +// String responseStr = LKLSDK.httpPost(req); +// +// // 成功返回示例:{'retCode':'000000','retMsg':'申请已受理,请等待审核结果','respData':{'version':'1.0','orderNo':'KFPT20230223181025407788734','orgCode':'1','applyId':681201215598657536}} +// JSONObject lakalaRespJSON = JSONUtil.parseObj(responseStr); +// if (StrUtil.isBlank(responseStr) || lakalaRespJSON == null) { +// return CommonResult.failed(I18nUtil._("申请开通分账失败!")); +// } +// +// if (!lakalaRespJSON.getStr("retCode").equals(lklSuccessCode)) { +// return CommonResult.failed(lakalaRespJSON.getStr("retMsg")); +// } +// +// paramsJSON.set("apply_id", lakalaRespJSON.getByPath("respData.applyId")); +// paramsJSON.set("remark", lakalaRespJSON.getStr("retMsg")); +// paramsJSON.set("audit_status_text", paramsJSON.get("remark")); +// +// paramsJSON.set("mch_id", paramsJSON.get("mchId")); +// +// // 新增数据 +// // 将 JSON 对象的键名转换为下划线命名 +// LklLedgerMember lklLedgerMember = JSONUtil.toBean(StringUtils.convertCamelToSnake(paramsJSON.toString()), LklLedgerMember.class); +// lklLedgerMemberService.saveOrUpdateByMerCupNo(lklLedgerMember); +// +// return CommonResult.success(null, "提交成功,待审核中!"); +// } catch (SDKException e) { +// errMsg += e.getMessage(); +// log.error(errMsg); +// shopMchEntryService.updateMerchEntryApprovalByMchId(paramsJSON.getLong("mchId"), paramsJSON.getStr("mchMobile"), CommonConstant.MCH_APPR_STA_NOPASS, errMsg); +// throw new ApiException(I18nUtil._("商家申请开通分账出错!"), e); +// } } /** @@ -1034,6 +1051,7 @@ public class LakalaApiServiceImpl implements LakalaApiService { * @param request * @return */ + @Transactional @Override public JSONObject applyLedgerMerNotify(HttpServletRequest request) { log.debug("商户分账申请业务异步回调通知开始"); @@ -1047,15 +1065,15 @@ public class LakalaApiServiceImpl implements LakalaApiService { boolean checkSuccess = LakalaUtil.verify(authorization, requestBody, lklNotifyCerPath); if (!checkSuccess) { log.error("商户分账申请业务回调:验签失败"); - return JSONUtil.createObj().put("retCode", "OP90002").put("retMsg", "验签失败!"); + return JSONUtil.createObj().put("code", "FAIL").put("message", "验签失败!"); } JSONObject paramsJSON = JSONUtil.parseObj(requestBody); String errMsg = "商户分账申请业务回调:"; JSONObject respData = new JSONObject(); - respData.put("retCode", "OP90003"); - respData.put("retMsg", "响应处理失败!"); + respData.put("code", "FAIL"); + respData.put("message", "处理失败!"); if (paramsJSON != null) { String applyId = paramsJSON.getStr("applyId"); @@ -1064,20 +1082,20 @@ public class LakalaApiServiceImpl implements LakalaApiService { errMsg += "缺少返回必要参数"; log.error(errMsg + ":applyId={}, auditStatus={}", applyId, auditStatus); - respData.put("retMsg", errMsg); + respData.put("message", errMsg); return respData; } //auditStatus:1:通过,2拒绝 if (!auditStatus.equals("1")) { - respData.put("retMsg", "商户分账申请被驳回!"); + respData.put("message", "商户分账申请被驳回!"); return respData; } LklLedgerMember lklLedgerMember = lklLedgerMemberService.getByApplyId(applyId, CommonConstant.Enable); if (lklLedgerMember != null) { - respData.put("retCode", lklSuccessCode); - respData.put("retMsg", "商户分账申请已处理成功!"); + respData.put("code", "SUCCESS"); + respData.put("message", "商户分账申请已处理成功!"); log.debug("商户分账申请业务回调:已处理成功,不需再重新处理"); return respData; } @@ -1105,21 +1123,22 @@ public class LakalaApiServiceImpl implements LakalaApiService { log.error("商户{}预绑定接收方出错:{}", merCupNo, bindResult.getSecond()); shopMchEntryService.updateMerchEntryApprovalByMchId(lklLedgerMember.getMch_id(), "", CommonConstant.MCH_APPR_STA_NOPASS, errMsg); - respData.put("retMsg", "操作成功!"); - return respData; +// respData.put("message", errMsg); + throw new ApiException(errMsg); +// return respData; } // 更新商家的hasApplySplit状态=1;has_esigned=1 lklLedgerMemberService.updateMulStatus(merCupNo, "", 1, 1, 0, 0); - respData.put("retCode", lklSuccessCode); - respData.put("retMsg", "操作成功!"); + respData.put("code", "SUCCESS"); + respData.put("message", "操作成功!"); log.debug("商户分账申请业务回调:处理成功"); return respData; } } - return respData; + throw new ApiException("商户分账申请业务回调:操作失败!"); } /** @@ -1460,6 +1479,7 @@ public class LakalaApiServiceImpl implements LakalaApiService { * @param request * @return */ + @Transactional @Override public JSONObject applyLedgerMerReceiverBindNotify(HttpServletRequest request) { log.debug("分账商家绑定接收方异步回调通知开始"); @@ -1471,13 +1491,13 @@ public class LakalaApiServiceImpl implements LakalaApiService { boolean checkSuccess = LakalaUtil.verify(authorization, requestBody, lklNotifyCerPath); if (!checkSuccess) { - return JSONUtil.createObj().put("retCode", "OP90002").put("retMsg", "验签失败!"); + return JSONUtil.createObj().put("code", "FAIL").put("message", "验签失败!"); } JSONObject paramsJSON = JSONUtil.parseObj(requestBody); JSONObject respData = new JSONObject(); - respData.put("retCode", "OP90003"); - respData.put("retMsg", "响应处理失败!"); + respData.put("code", "FAIL"); + respData.put("message", "处理失败!"); if (paramsJSON != null) { String merCupNo = paramsJSON.getStr("merCupNo"); @@ -1487,13 +1507,13 @@ public class LakalaApiServiceImpl implements LakalaApiService { String errMsg = "缺少返回必要参数"; log.error(errMsg + ":applyId={}, applyId={}, auditStatus={}", merCupNo, applyId, auditStatus); - respData.put("retMsg", errMsg); + respData.put("message", errMsg); return respData; } //auditStatus:1:通过,2拒绝 if (!auditStatus.equals("1")) { - respData.put("retMsg", "绑定接收方被驳回!"); + respData.put("message", "绑定接收方被驳回!"); return respData; } @@ -1524,16 +1544,21 @@ public class LakalaApiServiceImpl implements LakalaApiService { // esignContractFillingFileService.updateContractFillingStoreId(mchMobile, retPair.getFirst()); // 店铺创建状态已完成 shopMchEntryService.updateMerchEntryStoreStatus(mchMobile, CommonConstant.Enable); + } else { + throw new ApiException("商家绑定接收方:创建初始化店铺失败!"); } } - respData.put("retCode", lklSuccessCode); - respData.put("retMsg", "操作成功!"); + respData.put("code", "SUCCESS"); + respData.put("message", "操作成功!"); return respData; } } - return respData; + throw new ApiException("商家绑定接收方:操作失败!"); + +// throw new ServiceException("分账绑定关系申请回调失败!"); +// return respData; } /** diff --git a/mall-shop/src/main/java/com/suisung/mall/shop/lakala/service/impl/LklTkServiceImpl.java b/mall-shop/src/main/java/com/suisung/mall/shop/lakala/service/impl/LklTkServiceImpl.java index 7d2089db..4414aea6 100644 --- a/mall-shop/src/main/java/com/suisung/mall/shop/lakala/service/impl/LklTkServiceImpl.java +++ b/mall-shop/src/main/java/com/suisung/mall/shop/lakala/service/impl/LklTkServiceImpl.java @@ -18,6 +18,7 @@ import com.suisung.mall.common.api.CommonResult; import com.suisung.mall.common.api.ResultCode; import com.suisung.mall.common.constant.CommonConstant; import com.suisung.mall.common.domain.UserDto; +import com.suisung.mall.common.exception.ApiException; import com.suisung.mall.common.modules.store.ShopMchEntry; import com.suisung.mall.common.utils.RestTemplateHttpUtil; import com.suisung.mall.common.utils.StringUtils; @@ -37,6 +38,7 @@ import org.springframework.data.util.Pair; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import org.springframework.web.multipart.MultipartFile; import javax.annotation.Resource; @@ -531,6 +533,7 @@ public class LklTkServiceImpl { * @param request * @return */ + @Transactional public JSONObject registrationMerchantNotify(HttpServletRequest request) { logger.debug("拉卡拉进件异步通知开始"); @@ -538,24 +541,24 @@ public class LklTkServiceImpl { String requestBody = LakalaUtil.getBody(request); logger.debug("拉卡拉进件异步通知返回参数:{}", requestBody); if (StrUtil.isBlank(requestBody)) { - return new JSONObject().set("code", "500").set("message", "返回参数为空"); + return new JSONObject().set("code", "FAIL").set("message", "返回参数为空"); } JSONObject reqBodyJSON = JSONUtil.parseObj(requestBody); if (reqBodyJSON.isEmpty() || reqBodyJSON.get("data") == null) { - return new JSONObject().set("code", "500").set("message", "参数格式有误,无法解析"); + return new JSONObject().set("code", "FAIL").set("message", "参数格式有误,无法解析"); } String srcData = reqBodyJSON.getStr("data"); if (StrUtil.isBlank(srcData)) { - return new JSONObject().set("code", "500").set("message", "关键参数为空值"); + return new JSONObject().set("code", "FAIL").set("message", "关键参数为空值"); } // 公钥解密出来的数据 String notifyPubKey = LakalaUtil.getResourceFile(notifyPubKeyPath, false, false); String data = LakalaUtil.decryptNotifyData(notifyPubKey, srcData); if (StrUtil.isBlank(data)) { - return new JSONObject().set("code", "500").set("message", "密文解密出错!"); + return new JSONObject().set("code", "FAIL").set("message", "密文解密出错!"); } logger.debug("拉卡拉进件异步通知data解密成功,开始处理逻辑"); @@ -568,7 +571,7 @@ public class LklTkServiceImpl { String auditStatus = dataJSON.getStr("status"); if (!"SUCCESS".equals(auditStatus) && !"REVIEW_PASS".equals(auditStatus)) { - return new JSONObject().set("code", "500").set("message", "返回审核状态有误"); + return new JSONObject().set("code", "FAIL").set("message", "返回审核状态有误"); } // 给商家入驻表增加拉卡拉的商户号和拉卡拉返回的数据 @@ -577,12 +580,13 @@ public class LklTkServiceImpl { ShopMchEntry shopMchEntry = shopMchEntryService.getShopMerchEntryByMerInnerNo(merInnerNo); if (ObjectUtil.isEmpty(shopMchEntry)) { logger.error("拉卡拉进件异步通知:返回的内部商户号:{} 入驻信息不存在!", merInnerNo); - return new JSONObject().set("code", "500").set("message", "内部商户号:" + merInnerNo + " 入驻信息不存在"); + return new JSONObject().put("code", "FAIL").put("message", "内部商户号:" + merInnerNo + " 入驻信息不存在"); } Boolean success = shopMchEntryService.updateMerchEntryLklAuditStatusByLklMerCupNo(merInnerNo, merCupNo, CommonConstant.Enable, data); if (!success) { - return new JSONObject().set("code", "500").set("message", "更新商户号失败"); +// return new JSONObject().set("code", "FAIL").set("message", "更新商户号失败"); + throw new ApiException("更新商户号失败"); } // 备注:RMK 采用拉卡拉的入网电子合同签署流程,暂停e签宝的电子合同生成流程 @@ -606,7 +610,9 @@ public class LklTkServiceImpl { // 下一步等待拉卡拉审核通过,再绑定接收方和商家的关系 Pair retPair = lakalaApiService.innerApplyLedgerMer(shopMchEntry.getLkl_mer_cup_no()); if (!retPair.getFirst()) { - logger.error("商家申请分账功能失败:{}", retPair.getSecond()); + String message = "商家申请分账功能失败:" + retPair.getSecond(); + logger.error(message); + throw new ApiException(message); } // 更新商家的hasEsigned状态=1 @@ -616,11 +622,13 @@ public class LklTkServiceImpl { Boolean genSuccess = lklLedgerReceiverService.innerApplyLedgerReceiver(merCupNo, shopMchEntry.getDistributor_id()); if (!genSuccess) { logger.error("申请分账接收方失败"); + throw new ApiException("申请分账接收方失败"); } + + return new JSONObject().put("code", "SUCCESS").put("message", "处理成功"); } - - return new JSONObject().set("code", "200").set("message", "成功"); + throw new ApiException("进件回调处理失败"); } /** diff --git a/mall-shop/src/main/resources/bootstrap-local.yml b/mall-shop/src/main/resources/bootstrap-local.yml index 9ad43920..f79745fd 100644 --- a/mall-shop/src/main/resources/bootstrap-local.yml +++ b/mall-shop/src/main/resources/bootstrap-local.yml @@ -169,7 +169,7 @@ lakala: client_id: lsycs client_secret: XPa1HB5d55Ig0qV8 user_no: 29153396 - ratio: 70.00 + split_lowest_ratio: 70.00 api_pub_key_path: payKey/lakala/dev/tk_api_public_key.txt api_pri_key_path: payKey/lakala/dev/tk_api_private_key.txt notify_pub_key_path: payKey/lakala/dev/tk_notify_public_key.txt diff --git a/mall-shop/src/main/resources/bootstrap-prod.yml b/mall-shop/src/main/resources/bootstrap-prod.yml index 25a4154f..841800e5 100644 --- a/mall-shop/src/main/resources/bootstrap-prod.yml +++ b/mall-shop/src/main/resources/bootstrap-prod.yml @@ -196,7 +196,7 @@ lakala: client_id: lsycs client_secret: XPa1HB5d55Ig0qV8 user_no: 29153396 - ratio: 70.00 + split_lowest_ratio: 70.00 api_pub_key_path: payKey/lakala/dev/tk_api_public_key.txt api_pri_key_path: payKey/lakala/dev/tk_api_private_key.txt notify_pub_key_path: payKey/lakala/dev/tk_notify_public_key.txt