diff --git a/mall-common/src/main/java/com/suisung/mall/common/modules/lakala/LklLedgerMerReceiverBind.java b/mall-common/src/main/java/com/suisung/mall/common/modules/lakala/LklLedgerMerReceiverBind.java index 2495d37a..3a913973 100644 --- a/mall-common/src/main/java/com/suisung/mall/common/modules/lakala/LklLedgerMerReceiverBind.java +++ b/mall-common/src/main/java/com/suisung/mall/common/modules/lakala/LklLedgerMerReceiverBind.java @@ -41,6 +41,7 @@ public class LklLedgerMerReceiverBind implements Serializable { private String ret_url; private String apply_id; private Long platform_id; + private Long mch_id; private String audit_status; private String audit_status_text; private String remark; diff --git a/mall-shop/src/main/java/com/suisung/mall/shop/lakala/controller/mobile/LklTkController.java b/mall-shop/src/main/java/com/suisung/mall/shop/lakala/controller/mobile/LklTkController.java index 27341391..f0192c58 100644 --- a/mall-shop/src/main/java/com/suisung/mall/shop/lakala/controller/mobile/LklTkController.java +++ b/mall-shop/src/main/java/com/suisung/mall/shop/lakala/controller/mobile/LklTkController.java @@ -58,7 +58,7 @@ public class LklTkController extends BaseControllerImpl { @ApiOperation(value = "拉卡拉进件申请", notes = "拉卡拉进件申请") @RequestMapping(value = "/registrationMerchant", method = {RequestMethod.POST, RequestMethod.GET}) public CommonResult registrationMerchant(@RequestBody JSONObject paramsJSON) { - Pair resp = lklTkService.registrationMerchant(paramsJSON.getStr("mchMobile"), paramsJSON.getStr("bizLicenseNumber")); + Pair resp = lklTkService.registrationMerchant(paramsJSON.getLong("mchId")); if (resp.getFirst()) { return CommonResult.success(null, resp.getSecond()); } diff --git a/mall-shop/src/main/java/com/suisung/mall/shop/lakala/service/LakalaApiService.java b/mall-shop/src/main/java/com/suisung/mall/shop/lakala/service/LakalaApiService.java index 8a347a8d..2b462ef8 100644 --- a/mall-shop/src/main/java/com/suisung/mall/shop/lakala/service/LakalaApiService.java +++ b/mall-shop/src/main/java/com/suisung/mall/shop/lakala/service/LakalaApiService.java @@ -72,10 +72,10 @@ public interface LakalaApiService { /** * 商家申请入网电子合同 * - * @param mchMobile + * @param mchId * @return */ - Pair applyLedgerMerEc(String mchMobile); + Pair applyLedgerMerEc(Long mchId); /** @@ -211,5 +211,5 @@ public interface LakalaApiService { * @return 响应结果 提交是否成功? */ Boolean sacsSeparateCancel(String merchantNo, String originSeparateNo, String originOutSeparateNo, String outSeparateNo, String totalAmt); - + } diff --git a/mall-shop/src/main/java/com/suisung/mall/shop/lakala/service/LklLedgerReceiverService.java b/mall-shop/src/main/java/com/suisung/mall/shop/lakala/service/LklLedgerReceiverService.java index 8ef43983..c7e6d88a 100644 --- a/mall-shop/src/main/java/com/suisung/mall/shop/lakala/service/LklLedgerReceiverService.java +++ b/mall-shop/src/main/java/com/suisung/mall/shop/lakala/service/LklLedgerReceiverService.java @@ -51,11 +51,12 @@ public interface LklLedgerReceiverService extends IBaseService applyLedgerMerEc(String mchMobile) { + public Pair applyLedgerMerEc(Long mchId) { log.debug("商家开始申请入网电子合同"); - if (StrUtil.isBlank(mchMobile)) { + if (ObjectUtil.isEmpty(mchId)) { return Pair.of(false, I18nUtil._("缺少商家必要参数!")); } // 获取商家信息 - ShopMchEntry shopMchEntry = shopMchEntryService.getShopMerchEntryByCondition(mchMobile, ""); + ShopMchEntry shopMchEntry = shopMchEntryService.shopMerchEntryById(mchId); if (shopMchEntry == null) { return Pair.of(false, I18nUtil._("缺少商家相关信息!")); } - LklLedgerEc lklLedgerEc = lklLedgerEcService.getByMchMobile(shopMchEntry.getId(), mchMobile, "", CommonConstant.Enable); + String contractMobile = shopMchEntry.getLegal_person_mobile(); + + LklLedgerEc lklLedgerEc = lklLedgerEcService.getByMchMobile(shopMchEntry.getId(), null, "", CommonConstant.Enable); if (lklLedgerEc != null && "COMPLETED".equals(lklLedgerEc.getEc_status())) { // TODO 这种情况,需要怎么处理? // 更新拉卡拉的电子合同信息到商家入驻表中 // return Pair.of(true, I18nUtil._("已提交进件申请,请等待机构审核!")); - log.info("商户:{} 电子合同已签署过,重新提交将被覆盖!", mchMobile); + log.info("商户:{} 电子合同已签署过,重新提交将被覆盖!", mchId); } // 是企业类型商家 @@ -402,7 +404,7 @@ public class LakalaApiServiceImpl implements LakalaApiService { String larIdCard = isQy ? shopMchEntry.getLegal_person_id_number() : shopMchEntry.getIndividual_id_number(); reqData.put("cert_name", larName); reqData.put("cert_no", larIdCard); - reqData.put("mobile", shopMchEntry.getLogin_mobile()); + reqData.put("mobile", contractMobile); if (isQy) { reqData.put("business_license_no", shopMchEntry.getBiz_license_number()); @@ -458,18 +460,18 @@ public class LakalaApiServiceImpl implements LakalaApiService { ecParams.put("B24", isQy ? shopMchEntry.getLegal_person_name() : shopMchEntry.getIndividual_id_name()); ecParams.put("B25", isQy ? shopMchEntry.getLegal_person_id_number() : shopMchEntry.getIndividual_id_number()); - ecParams.put("B26", isQy ? shopMchEntry.getLegal_person_mobile() : shopMchEntry.getLogin_mobile()); + ecParams.put("B26", shopMchEntry.getLegal_person_mobile()); ecParams.put("B27", shopMchEntry.getContact_name()); ecParams.put("B28", shopMchEntry.getEmail()); ecParams.put("B31", shopMchEntry.getStore_name()); ecParams.put("B32", shopMchEntry.getContact_name()); ecParams.put("B33", shopMchEntry.getStore_address()); - ecParams.put("B34", shopMchEntry.getLogin_mobile()); + ecParams.put("B34", contractMobile); ecParams.put("D1", shopMchEntry.getBank_name()); ecParams.put("D2", signDate); ecParams.put("D4", platformName); - ecParams.put("D5", shopMchEntry.getLogin_mobile()); + ecParams.put("D5", contractMobile); ecParams.put("D7", signDate); ecParams.put("D9", signDate); ecParams.put("D11", signDate); @@ -491,9 +493,6 @@ public class LakalaApiServiceImpl implements LakalaApiService { reqBody.put("req_data", reqData); String reqUrl = serverUrl + "/api/v3/mms/open_api/ec/apply"; - if (isLklProd) { - reqUrl = serverUrl + "/api/v3/mms/open_api/ec/apply"; - } String privateKey = LakalaUtil.getResourceFile(priKeyPath, false, true); String authorization = LakalaUtil.genAuthorization(privateKey, appId, serialNo, reqBody.toString()); @@ -509,29 +508,30 @@ public class LakalaApiServiceImpl implements LakalaApiService { if (ObjectUtil.isEmpty(response) || response.getStatusCode() != HttpStatus.OK) { errMsg = "申请入网电子合同失败,无响应数据!"; - shopMchEntryService.updateMerchEntryApprovalByMchId(shopMchEntry.getId(), "", CommonConstant.MCH_APPR_STA_LKL_NOPASS, errMsg); + shopMchEntryService.updateMerchEntryApprovalByMchId(shopMchEntry.getId(), CommonConstant.MCH_APPR_STA_LKL_NOPASS, errMsg); return Pair.of(false, errMsg); } JSONObject respBody = response.getBody(); if (ObjectUtil.isNotEmpty(respBody) && !lklSuccessCode.equals(respBody.getStr("code"))) { errMsg = "申请入网电子合同失败," + (StrUtil.isBlank(respBody.getStr("msg")) ? "返回状态有误" : respBody.getStr("msg")); - shopMchEntryService.updateMerchEntryApprovalByMchId(shopMchEntry.getId(), "", CommonConstant.MCH_APPR_STA_LKL_NOPASS, errMsg); + shopMchEntryService.updateMerchEntryApprovalByMchId(shopMchEntry.getId(), CommonConstant.MCH_APPR_STA_LKL_NOPASS, errMsg); return Pair.of(false, errMsg); } JSONObject respData = respBody.getJSONObject("resp_data"); if (respData == null) { errMsg = "申请入网电子合同失败,无data返回数据!"; - shopMchEntryService.updateMerchEntryApprovalByMchId(shopMchEntry.getId(), "", CommonConstant.MCH_APPR_STA_LKL_NOPASS, errMsg); + shopMchEntryService.updateMerchEntryApprovalByMchId(shopMchEntry.getId(), CommonConstant.MCH_APPR_STA_LKL_NOPASS, errMsg); return Pair.of(false, errMsg); } // 商家入网申请电子合同处理数据 // 先写入本地数据库表中 + LklLedgerEc record = new LklLedgerEc(); record.setMch_id(shopMchEntry.getId()); - record.setMch_mobile(mchMobile); + record.setMch_mobile(contractMobile); record.setReq_params(reqBody.toString()); record.setNotify_url(retUrl); record.setEc_apply_id(respData.getLong("ec_apply_id")); @@ -542,7 +542,7 @@ public class LakalaApiServiceImpl implements LakalaApiService { Boolean success = lklLedgerEcService.addOrUpdateByMchId(record); if (!success) { errMsg = "申请入网电子合同失败,数据保存失败"; - shopMchEntryService.updateMerchEntryApprovalByMchId(shopMchEntry.getId(), "", CommonConstant.MCH_APPR_STA_NOPASS, errMsg); + shopMchEntryService.updateMerchEntryApprovalByMchId(shopMchEntry.getId(), CommonConstant.MCH_APPR_STA_NOPASS, errMsg); return Pair.of(false, errMsg); } @@ -551,7 +551,7 @@ public class LakalaApiServiceImpl implements LakalaApiService { // 发短信给商家,及时签署合同 SMS_488465246 // 【小发同城商家】恭喜您的开店入驻申请已审核通过!请尽快登录APP平台签署电子合同,签署链接24小时内有效(逾期需重新提交申请)。如有疑问请联系客服,感谢您的支持! - shopMessageTemplateService.aliyunSmsSend(mchMobile, "SMS_489795044", null);//SMS_479760276 + shopMessageTemplateService.aliyunSmsSend(contractMobile, "SMS_489795044", null);//SMS_479760276 JSONObject payload = new JSONObject(); payload.put("category", CommonConstant.PUSH_MSG_CATE_EC); @@ -735,6 +735,13 @@ public class LakalaApiServiceImpl implements LakalaApiService { return respData; } + Long mchId = lklLedgerEc.getMch_id(); + if (ObjectUtil.isEmpty(mchId)) { + log.error("入网电子合同申请回调:找不到商家关联数据"); + respData.put("message", "找不到商家关联数据!"); + return respData; + } + // if ("COMPLETED".equals(lklLedgerEc.getEc_status())) { // ShopMchEntry shopMchEntry = shopMchEntryService.shopMerchEntryById(lklLedgerEc.getMch_id()); // if (shopMchEntry != null @@ -770,24 +777,24 @@ public class LakalaApiServiceImpl implements LakalaApiService { // 更新本地数据状态和合同编号、合同名字 Boolean success = lklLedgerEcService.updateByApplyId(updRecord); if (!success) { - shopMchEntryService.updateMerchEntryApprovalByMchId(lklLedgerEc.getMch_id(), "", CommonConstant.MCH_APPR_STA_LKL_NOPASS, "更新电子合同失败!"); + shopMchEntryService.updateMerchEntryApprovalByMchId(mchId, CommonConstant.MCH_APPR_STA_LKL_NOPASS, "更新电子合同失败!"); respData.set("code", "FAIL").set("message", "更新电子合同失败!"); return respData; } // 更新商家入驻表的合同编号,和签署地址,更改状态 - shopMchEntryService.updateMerchantLklElectronicContractInfo(lklLedgerEc.getMch_id(), ecNo, paramsJSON.getStr("ecName"), lklLedgerEc.getResult_url(), ecCosFileUrl, eclklFilePath); + shopMchEntryService.updateMerchantLklElectronicContractInfo(mchId, ecNo, paramsJSON.getStr("ecName"), lklLedgerEc.getResult_url(), ecCosFileUrl, eclklFilePath); // 商家电子合同签署完毕后,收到异步通知,触发拉卡拉商家进件(重要环节) - Pair resultPair = lklTkService.registrationMerchant(lklLedgerEc.getMch_mobile(), ""); + Pair resultPair = lklTkService.registrationMerchant(mchId); if (!resultPair.getFirst()) { errMsg = resultPair.getSecond(); - shopMchEntryService.updateMerchEntryApprovalByMchId(lklLedgerEc.getMch_id(), "", CommonConstant.MCH_APPR_STA_LKL_NOPASS, errMsg); + shopMchEntryService.updateMerchEntryApprovalByMchId(mchId, CommonConstant.MCH_APPR_STA_LKL_NOPASS, errMsg); log.error(errMsg); throw new ApiException(errMsg); } - shopMchEntryService.updateMerchEntryApprovalByMchId(lklLedgerEc.getMch_id(), "", CommonConstant.MCH_APPR_STA_LKL_PADDING, "已提交进件申请,请等待机构审核!"); + shopMchEntryService.updateMerchEntryApprovalByMchId(mchId, CommonConstant.MCH_APPR_STA_LKL_PADDING, "已提交进件申请,请等待机构审核!"); respData.put("code", "SUCCESS"); respData.put("message", "操作成功!"); @@ -916,7 +923,7 @@ public class LakalaApiServiceImpl implements LakalaApiService { Long receiverCnt = lklLedgerReceiverService.countByCondition("", "", shopMchEntry.getDistributor_id()); if (receiverCnt <= 0) { // 1:新增一个接收方记录,起码要一个平台方,代理商根据入驻信息新增 - Boolean success = lklLedgerReceiverService.innerApplyLedgerReceiver(merCupNo, shopMchEntry.getDistributor_id()); + Boolean success = lklLedgerReceiverService.innerApplyLedgerReceiver(shopMchEntry.getId(), merCupNo, shopMchEntry.getDistributor_id()); if (!success) { return CommonResult.failed("申请分账接收方失败"); } @@ -979,7 +986,7 @@ public class LakalaApiServiceImpl implements LakalaApiService { log.warn("商户分账业务申请回调:审核未通过,状态={}", auditStatus); if (lklLedgerMember != null) { shopMchEntryService.updateMerchEntryApprovalByMchId( - lklLedgerMember.getMch_id(), "", CommonConstant.MCH_APPR_STA_NOPASS, "分账业务申请被驳回:" + auditStatusText + lklLedgerMember.getMch_id(), CommonConstant.MCH_APPR_STA_NOPASS, "分账业务申请被驳回:" + auditStatusText ); } return JSONUtil.createObj().put("code", "FAIL").put("message", "商户分账申请被驳回!"); @@ -1018,7 +1025,7 @@ public class LakalaApiServiceImpl implements LakalaApiService { // 更新商户审批状态 if (lklLedgerMember != null) { // 防御性判断(理论上此时应为null,但保留安全检查) shopMchEntryService.updateMerchEntryApprovalByMchId( - lklLedgerMember.getMch_id(), "", CommonConstant.MCH_APPR_STA_NOPASS, errMsg + lklLedgerMember.getMch_id(), CommonConstant.MCH_APPR_STA_NOPASS, errMsg ); } return JSONUtil.createObj().put("code", "FAIL").put("message", errMsg); @@ -1027,7 +1034,7 @@ public class LakalaApiServiceImpl implements LakalaApiService { log.error("商户分账业务申请回调:", e); if (lklLedgerMember != null) { // 防御性判断(理论上此时应为null,但保留安全检查) shopMchEntryService.updateMerchEntryApprovalByMchId( - lklLedgerMember.getMch_id(), "", CommonConstant.MCH_APPR_STA_NOPASS, "商户分账业务绑定或状态更新失败" + lklLedgerMember.getMch_id(), CommonConstant.MCH_APPR_STA_NOPASS, "商户分账业务绑定或状态更新失败" ); } return JSONUtil.createObj().put("code", "FAIL").put("message", "商户分账业务绑定或状态更新失败"); @@ -1060,6 +1067,8 @@ public class LakalaApiServiceImpl implements LakalaApiService { return CommonResult.success(existingReceiver, "该接收方已创建过!"); } + Long mchId = paramsJSON.getLong("mchId"); + // 1. 配置初始化 initLKLSDK(); @@ -1156,7 +1165,7 @@ public class LakalaApiServiceImpl implements LakalaApiService { ? lakalaRespJSON.getStr("retMsg", "未知错误") : "响应解析失败"; shopMchEntryService.updateMerchEntryApprovalByMchId( - null, mchMobile, CommonConstant.MCH_APPR_STA_NOPASS, "创建分账接收方失败:" + lakalaRespJSON.getStr("retMsg") + mchId, CommonConstant.MCH_APPR_STA_NOPASS, "创建分账接收方失败:" + lakalaRespJSON.getStr("retMsg") ); return CommonResult.failed(I18nUtil._(errorMsg)); @@ -1184,7 +1193,7 @@ public class LakalaApiServiceImpl implements LakalaApiService { } catch (Exception e) { shopMchEntryService.updateMerchEntryApprovalByMchId( - null, mchMobile, CommonConstant.MCH_APPR_STA_NOPASS, "创建分账接收方失败:" + e.getMessage() + mchId, CommonConstant.MCH_APPR_STA_NOPASS, "创建分账接收方失败:" + e.getMessage() ); log.error("接收方创建失败:{}", e.getMessage(), e); @@ -1312,6 +1321,7 @@ public class LakalaApiServiceImpl implements LakalaApiService { paramsJSON.set("ret_url", retUrl); paramsJSON.set("remark", respJson.getStr("retMsg")); paramsJSON.set("platform_id", receiver.getPlatform_id()); + paramsJSON.set("mch_id", lklLedgerMember.getMch_id()); // 转换JSON键名格式并保存 String snakeJson = StringUtils.convertCamelToSnake(paramsJSON.toString()); @@ -1333,7 +1343,7 @@ public class LakalaApiServiceImpl implements LakalaApiService { if (successCount == 0) { if (lklLedgerMember != null) { shopMchEntryService.updateMerchEntryApprovalByMchId( - lklLedgerMember.getMch_id(), "", CommonConstant.MCH_APPR_STA_NOPASS, "分账接收方绑定失败:" + lklLedgerMember.getMch_id(), CommonConstant.MCH_APPR_STA_NOPASS, "分账接收方绑定失败:" ); } return Pair.of(false, "分账接收方绑定失败"); diff --git a/mall-shop/src/main/java/com/suisung/mall/shop/lakala/service/impl/LklLedgerReceiverServiceImpl.java b/mall-shop/src/main/java/com/suisung/mall/shop/lakala/service/impl/LklLedgerReceiverServiceImpl.java index cf46f1b3..7db01e18 100644 --- a/mall-shop/src/main/java/com/suisung/mall/shop/lakala/service/impl/LklLedgerReceiverServiceImpl.java +++ b/mall-shop/src/main/java/com/suisung/mall/shop/lakala/service/impl/LklLedgerReceiverServiceImpl.java @@ -215,12 +215,13 @@ public class LklLedgerReceiverServiceImpl extends BaseServiceImpl * 参考拉卡拉给的独立文档:2、拓客SAAS商户管理接口(新).docx * - * @param mchMobile 商家手机号 + * @param mchId 入驻商家自增Id * @return */ - public Pair registrationMerchant(String mchMobile, String bizLicenseNumber) { + public Pair registrationMerchant(Long mchId) { + if (ObjectUtil.isEmpty(mchId)) { + return Pair.of(false, "入驻商户Id不能为空"); + } + String authorization = getLklTkAuthorization(); if (StrUtil.isBlank(authorization)) { return Pair.of(false, "获取拉卡拉token失败"); @@ -333,7 +337,7 @@ public class LklTkServiceImpl { header.put("Authorization", getLklTkAuthorization()); // 获取商家入驻信息,组成请求参数 - ShopMchEntry shopMchEntry = shopMchEntryService.getShopMerchEntryByCondition(mchMobile, bizLicenseNumber); + ShopMchEntry shopMchEntry = shopMchEntryService.shopMerchEntryById(mchId); if (ObjectUtil.isEmpty(shopMchEntry)) { return Pair.of(false, "商家入驻信息不存在"); } @@ -379,7 +383,7 @@ public class LklTkServiceImpl { formData.put("licenseDtEnd", shopMchEntry.getBiz_license_period_end()); // 长期:9999-12-31 } - formData.put("contactMobile", mchMobile); + formData.put("contactMobile", shopMchEntry.getLegal_person_mobile()); formData.put("contactName", shopMchEntry.getContact_name());// 联系人姓名 formData.put("contractNo", shopMchEntry.getLkl_ec_no()); // 拉卡拉入网合同编号 @@ -517,7 +521,7 @@ public class LklTkServiceImpl { if (response.getStatusCode() != HttpStatus.OK && ObjectUtil.isNotEmpty(respBody)) { String errMsg = respBody.getStr("message") == null ? "未知错误" : respBody.getStr("message"); - shopMchEntryService.updateMerchEntryApprovalByMchId(shopMchEntry.getId(), "", CommonConstant.MCH_APPR_STA_LKL_NOPASS, "进件失败:" + errMsg); + shopMchEntryService.updateMerchEntryApprovalByMchId(shopMchEntry.getId(), CommonConstant.MCH_APPR_STA_LKL_NOPASS, "进件失败:" + errMsg); return Pair.of(false, "进件失败:" + errMsg); } @@ -525,22 +529,22 @@ public class LklTkServiceImpl { // 更改入驻记录的拉卡拉内部商户号和进件请求参数 String lklMerInnerNo = respBody.getStr("merchantNo"); //拉卡拉内部商户号 // 表中的内部外部商户号暂时都传同一个内部商户号,以便异步通知更改记录 - Boolean success = shopMchEntryService.updateMerchEntryLklMerCupNo(mchMobile, CommonConstant.Disable2, lklMerInnerNo, lklMerInnerNo, formData.toString(), respBody.toString()); + Boolean success = shopMchEntryService.updateMerchEntryLklMerCupNo(mchId, CommonConstant.Disable2, lklMerInnerNo, lklMerInnerNo, formData.toString(), respBody.toString()); if (!success) { - shopMchEntryService.updateMerchEntryApprovalByMchId(shopMchEntry.getId(), "", CommonConstant.MCH_APPR_STA_LKL_NOPASS, "进件成功,但更新商户号失败!"); + shopMchEntryService.updateMerchEntryApprovalByMchId(shopMchEntry.getId(), CommonConstant.MCH_APPR_STA_LKL_NOPASS, "进件成功,但更新商户号失败!"); return Pair.of(false, "请求进件成功,但更新商户号失败!"); } } catch (Exception e) { logger.error("拉卡拉进件异常:{}", e.getMessage()); - shopMchEntryService.updateMerchEntryApprovalByMchId(shopMchEntry.getId(), "", CommonConstant.MCH_APPR_STA_LKL_NOPASS, "进件失败:" + e.getMessage()); + shopMchEntryService.updateMerchEntryApprovalByMchId(shopMchEntry.getId(), CommonConstant.MCH_APPR_STA_LKL_NOPASS, "进件失败:" + e.getMessage()); return Pair.of(false, "进件失败:" + e.getMessage()); } - shopMchEntryService.updateMerchEntryApprovalByMchId(shopMchEntry.getId(), "", CommonConstant.MCH_APPR_STA_LKL_NOPASS, "商户进件:提交进件成功,请等待审核!"); + shopMchEntryService.updateMerchEntryApprovalByMchId(shopMchEntry.getId(), CommonConstant.MCH_APPR_STA_LKL_NOPASS, "商户进件:提交进件成功,请等待审核!"); return Pair.of(true, "提交进件成功,请等待审核!"); } @@ -601,7 +605,7 @@ public class LklTkServiceImpl { // 校验审核状态 if (!"SUCCESS".equals(auditStatus) && !"REVIEW_PASS".equals(auditStatus)) { logger.debug("返回的审核状态:{}", auditStatus); - shopMchEntryService.updateMerchEntryApprovalByMchId(shopMchEntry.getId(), "", CommonConstant.MCH_APPR_STA_LKL_NOPASS, "进件失败:" + dataJSON.getStr("remark")); + shopMchEntryService.updateMerchEntryApprovalByMchId(shopMchEntry.getId(), CommonConstant.MCH_APPR_STA_LKL_NOPASS, "进件失败:" + dataJSON.getStr("remark")); return new JSONObject().set("code", "FAIL").set("message", "返回审核状态有误"); } @@ -664,7 +668,7 @@ public class LklTkServiceImpl { Pair retPair = lakalaApiService.innerApplyLedgerMer(merCupNo); // 2:新增一个接收方记录,起码要一个平台方,代理商根据入驻信息新增 - Boolean genSuccess = lklLedgerReceiverService.innerApplyLedgerReceiver(merCupNo, shopMchEntry.getDistributor_id()); + Boolean genSuccess = lklLedgerReceiverService.innerApplyLedgerReceiver(shopMchEntry.getId(), merCupNo, shopMchEntry.getDistributor_id()); // 统一处理分账申请结果 if (retPair.getFirst() && genSuccess) { diff --git a/mall-shop/src/main/java/com/suisung/mall/shop/store/service/ShopMchEntryService.java b/mall-shop/src/main/java/com/suisung/mall/shop/store/service/ShopMchEntryService.java index 15f6dc7a..056281a9 100644 --- a/mall-shop/src/main/java/com/suisung/mall/shop/store/service/ShopMchEntryService.java +++ b/mall-shop/src/main/java/com/suisung/mall/shop/store/service/ShopMchEntryService.java @@ -167,7 +167,7 @@ public interface ShopMchEntryService { /** * 更新商家入驻申请的拉卡拉商户号 * - * @param loginMobile 商家注册的手机号 + * @param mchId 入驻商家自增Id * @param lklAuditStatus 拉卡拉审核状态 * @param lklMerCupNo 拉卡拉银联商户号 * @param lklMerInnerNo 拉卡拉内部商户号 @@ -175,7 +175,7 @@ public interface ShopMchEntryService { * @param lklTkRegResp 进件返回的数据 * @return */ - Boolean updateMerchEntryLklMerCupNo(String loginMobile, Integer lklAuditStatus, String lklMerCupNo, String lklMerInnerNo, String lklTkRegParams, String lklTkRegResp); + Boolean updateMerchEntryLklMerCupNo(Long mchId, Integer lklAuditStatus, String lklMerCupNo, String lklMerInnerNo, String lklTkRegParams, String lklTkRegResp); /** * 根据拉卡拉内部商户号更新商家入驻申请的拉卡拉审核状态和响应数据 @@ -216,13 +216,12 @@ public interface ShopMchEntryService { /** * 更新商家入驻申请的审批状态和审批备注 * - * @param mchId 商家入驻申请 ID,mchId和mchMobile至少必填一个 - * @param mchMobile 商家注册的手机号 mchId和mchMobile至少必填一个 + * @param mchId 商家入驻申请 ID,mchId 必填 * @param approvalStatus 入驻审批状态:1-已通过;2-未通过;3-待审核;4-未申请过;5-已提交拉卡拉审核;21-拉卡拉审核未通过; * @param approvalRemark 审批备注 * @return */ - Boolean updateMerchEntryApprovalByMchId(Long mchId, String mchMobile, Integer approvalStatus, String approvalRemark); + Boolean updateMerchEntryApprovalByMchId(Long mchId, Integer approvalStatus, String approvalRemark); /** * 更新商家入驻申请的审批状态和审批备注 diff --git a/mall-shop/src/main/java/com/suisung/mall/shop/store/service/impl/ShopMchEntryServiceImpl.java b/mall-shop/src/main/java/com/suisung/mall/shop/store/service/impl/ShopMchEntryServiceImpl.java index b7ff396c..3f6d46c5 100644 --- a/mall-shop/src/main/java/com/suisung/mall/shop/store/service/impl/ShopMchEntryServiceImpl.java +++ b/mall-shop/src/main/java/com/suisung/mall/shop/store/service/impl/ShopMchEntryServiceImpl.java @@ -740,7 +740,7 @@ public class ShopMchEntryServiceImpl extends BaseServiceImpl resultPair = lakalaApiService.applyLedgerMerEc(record.getLogin_mobile()); + Pair resultPair = lakalaApiService.applyLedgerMerEc(id); if (!resultPair.getFirst()) { log.warn("拉卡拉电子合同签署申请失败: {}", resultPair.getSecond()); return CommonResult.failed(resultPair.getSecond()); @@ -903,12 +903,29 @@ public class ShopMchEntryServiceImpl extends BaseServiceImpl queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("id", mchId) // 修正字段名:应为"id"而非"mch_id" + .eq("status", CommonConstant.Enable); + + // 3. 执行查询并返回结果 + return findOne(queryWrapper); + } catch (Exception e) { + // 4. 异常处理:记录异常信息,避免程序中断 + log.error("根据商户ID获取商户入驻信息时发生异常, mchId: {}", mchId, e); + return null; // 发生异常时返回null + } } /** @@ -1062,13 +1079,13 @@ public class ShopMchEntryServiceImpl extends BaseServiceImpl updateWrapper = new UpdateWrapper<>(); - updateWrapper.eq("login_mobile", loginMobile); + updateWrapper.eq("id", mchId); if (ObjectUtil.isNotEmpty(lklAuditStatus)) { updateWrapper.set("lkl_tk_audit_status", lklAuditStatus); } @@ -1264,17 +1281,52 @@ public class ShopMchEntryServiceImpl extends BaseServiceImpl updateWrapper = new UpdateWrapper<>(); + updateWrapper.eq("id", mchId); + + // 3. 设置更新字段:审批状态和审批备注 + if (ObjectUtil.isNotEmpty(approvalStatus)) { + updateWrapper.set("approval_status", approvalStatus); + } + if (StrUtil.isNotBlank(approvalRemark)) { + updateWrapper.set("approval_remark", approvalRemark); + } + + // 4. 执行更新操作并返回结果 + return update(updateWrapper); + + } catch (Exception e) { + // 5. 异常处理:记录异常信息,避免程序中断 + log.error("更新商家入驻审批状态和备注时发生异常", e); + return false; // 发生异常时返回 false + } + } + + + public Boolean updateMerchEntryApprovalByMchIdBak(Long mchId, String mchMobile, Integer approvalStatus, String approvalRemark) { + // 1. 参数校验:mchId 和 mchMobile 必须至少有一个不为空 + if (ObjectUtil.isEmpty(mchId) && StrUtil.isBlank(mchMobile)) { + log.error("更新入驻审批状态和备注失败:mchId 和 mchMobile 至少需要一个"); return false; } @@ -1282,11 +1334,11 @@ public class ShopMchEntryServiceImpl extends BaseServiceImpl updateWrapper = new UpdateWrapper<>(); - // 3. 设置更新条件:优先使用 merchantId,如果为空则使用 merchantMobile - if (ObjectUtil.isNotEmpty(merchantId)) { - updateWrapper.eq("id", merchantId); + // 3. 设置更新条件:优先使用 mchId,如果为空则使用 mchMobile + if (ObjectUtil.isNotEmpty(mchId)) { + updateWrapper.eq("id", mchId); } else { - updateWrapper.eq("login_mobile", merchantMobile); + updateWrapper.eq("login_mobile", mchMobile); } // 4. 设置更新字段:审批状态和审批备注