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 eff4e2a6..232b1596 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 @@ -695,7 +695,6 @@ public class LakalaApiServiceImpl implements LakalaApiService { return JSONUtil.createObj().set("code", "FAIL").set("retMsg", checkResult.getSecond()); } - String errMsg = "入网电子合同申请回调:"; JSONObject respData = new JSONObject(); respData.set("code", "FAIL").set("message", "处理失败!"); @@ -1140,6 +1139,10 @@ public class LakalaApiServiceImpl implements LakalaApiService { String errorMsg = lakalaRespJSON != null ? lakalaRespJSON.getStr("retMsg", "未知错误") : "响应解析失败"; + shopMchEntryService.updateMerchEntryApprovalByMchId( + null, mchMobile, CommonConstant.MCH_APPR_STA_NOPASS, "创建分账接收方失败:" + lakalaRespJSON.getStr("retMsg") + ); + return CommonResult.failed(I18nUtil._(errorMsg)); } @@ -1164,6 +1167,10 @@ public class LakalaApiServiceImpl implements LakalaApiService { return CommonResult.success(receiver, "创建接收方成功!"); } catch (Exception e) { + shopMchEntryService.updateMerchEntryApprovalByMchId( + null, mchMobile, CommonConstant.MCH_APPR_STA_NOPASS, "创建分账接收方失败:" + e.getMessage() + ); + log.error("接收方创建失败:{}", e.getMessage(), e); throw new ApiException(I18nUtil._("创建接收方失败: {}" + e.getMessage()), e); } @@ -1308,7 +1315,12 @@ public class LakalaApiServiceImpl implements LakalaApiService { // 10. 返回结果 if (successCount == 0) { - return Pair.of(false, "所有分账绑定均失败"); + if (lklLedgerMember != null) { + shopMchEntryService.updateMerchEntryApprovalByMchId( + lklLedgerMember.getMch_id(), "", CommonConstant.MCH_APPR_STA_NOPASS, "分账接收方绑定失败:" + ); + } + return Pair.of(false, "分账接收方绑定失败"); } else if (successCount < totalCount) { return Pair.of(true, "部分提交成功(" + successCount + "/" + totalCount + "),待审核中"); } else { @@ -1360,10 +1372,10 @@ public class LakalaApiServiceImpl implements LakalaApiService { // 5. 审核状态判断,仅处理通过的情况 if (!"1".equals(auditStatus)) { log.warn("商家绑定分账接收方异步通知,申请被驳回不做任何操作,返回状态:{}", auditStatus); -// shopMchEntryService.updateMerchEntryApprovalByMchId( -// 1L, "", CommonConstant.MCH_APPR_STA_NOPASS, "商家绑定分账接收被驳回" -// ); - return JSONUtil.createObj().put("code", "FAIL").put("message", "申请被驳回不做任何操作"); + shopMchEntryService.updateMerchEntryApprovalByMerCupNo( + merCupNo, CommonConstant.MCH_APPR_STA_NOPASS, "分账接收方绑定被驳回" + ); + return JSONUtil.createObj().put("code", "FAIL").put("message", "分账接收方绑定被驳回!"); } // 6. 更新绑定记录的状态信息 @@ -1390,7 +1402,7 @@ public class LakalaApiServiceImpl implements LakalaApiService { shopMchEntryService.checkMerchEntryFinished("", merCupNo); // 8. 日志记录并返回成功响应 log.debug("商家绑定分账接收方异步通知处理完成,merCupNo:{}", merCupNo); - return JSONUtil.createObj().put("code", "SUCCESS").put("message", "操作成功"); + return JSONUtil.createObj().put("code", "SUCCESS").put("message", "分账接收方绑定成功"); } catch (Exception e) { log.error("商家绑定分账接收方异步通知处理发生异常", e); 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 18dd9433..a45190c4 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 @@ -501,7 +501,6 @@ public class LklTkServiceImpl { urlPath = "/registration/merchant"; } - // String urlPath = isProd() ? "/registration/merchant" : "/sit/htkregistration/merchant"; try { logger.info("进件请求参数:{}", JSONUtil.toJsonStr(formData)); @@ -594,16 +593,19 @@ public class LklTkServiceImpl { return new JSONObject().set("code", "500").set("message", "参数解析出错"); } + ShopMchEntry shopMchEntry = shopMchEntryService.getShopMerchEntryByMerInnerNo(merInnerNo); + // 校验审核状态 if (!"SUCCESS".equals(auditStatus) && !"REVIEW_PASS".equals(auditStatus)) { logger.debug("返回的审核状态:{}", auditStatus); + shopMchEntryService.updateMerchEntryApprovalByMchId(shopMchEntry.getId(), "", CommonConstant.MCH_APPR_STA_LKL_NOPASS, "进件失败:" + dataJSON.getStr("remark")); return new JSONObject().set("code", "FAIL").set("message", "返回审核状态有误"); } // RMK 拉卡拉进价提交成功,边处理周边的数据,边等待审核异步通知 // 给商家入驻表增加拉卡拉的商户号和拉卡拉返回的数据 - ShopMchEntry shopMchEntry = shopMchEntryService.getShopMerchEntryByMerInnerNo(merInnerNo); + if (ObjectUtil.isEmpty(shopMchEntry)) { logger.error("拉卡拉进件异步通知:{}内部商户号入驻信息不存在!", merInnerNo); return new JSONObject().put("code", "500").put("message", merInnerNo + "内部商户号入驻信息不存在"); 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 e288945f..dba2562c 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 @@ -213,6 +213,16 @@ public interface ShopMchEntryService { */ Boolean updateMerchEntryApprovalByMchId(Long mchId, String mchMobile, Integer approvalStatus, String approvalRemark); + /** + * 更新商家入驻申请的审批状态和审批备注 + * + * @param merCupNo 拉卡拉银联商户号(唯一) + * @param approvalStatus 审批状态:1-已通过;2-未通过;3-待审核;4-未申请过;5-已提交拉卡拉审核; + * @param approvalRemark 审批备注 + * @return 更新成功返回 true,否则返回 false + */ + Boolean updateMerchEntryApprovalByMerCupNo(String merCupNo, 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 0c07e3f8..bd1c2336 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 @@ -1190,6 +1190,46 @@ public class ShopMchEntryServiceImpl extends BaseServiceImpl updateWrapper = new UpdateWrapper<>(); + updateWrapper.eq("lkl_mer_cup_no", merCupNo).set("approval_status", approvalStatus); + + if (StrUtil.isNotBlank(approvalRemark)) { + updateWrapper.set("approval_remark", approvalRemark); + } + + // 5. 执行更新操作并返回结果 + return update(updateWrapper); + + } catch (Exception e) { + // 6. 异常处理:记录异常信息,避免程序中断 + log.error("更新商家入驻审批状态和备注时发生异常", e); + return false; // 发生异常时返回 false + } + } + @Override public Boolean updateMerchEntryEcResultUrlByMchId(Long mchId, String lklEcResultUrl) { // 检查参数是否有效