diff --git a/mall-shop/src/main/java/com/suisung/mall/shop/lakala/service/impl/LklLedgerEcServiceImpl.java b/mall-shop/src/main/java/com/suisung/mall/shop/lakala/service/impl/LklLedgerEcServiceImpl.java index 1c3108c2..455135cf 100644 --- a/mall-shop/src/main/java/com/suisung/mall/shop/lakala/service/impl/LklLedgerEcServiceImpl.java +++ b/mall-shop/src/main/java/com/suisung/mall/shop/lakala/service/impl/LklLedgerEcServiceImpl.java @@ -8,38 +8,19 @@ package com.suisung.mall.shop.lakala.service.impl; -import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.suisung.mall.common.modules.lakala.LklLedgerEc; +import com.suisung.mall.common.utils.CheckUtil; import com.suisung.mall.core.web.service.impl.BaseServiceImpl; -import com.suisung.mall.shop.esign.service.EsignPlatformInfoService; import com.suisung.mall.shop.lakala.mapper.LklLedgerEcMapper; -import com.suisung.mall.shop.lakala.service.LakalaApiService; import com.suisung.mall.shop.lakala.service.LklLedgerEcService; -import com.suisung.mall.shop.store.service.ShopMchEntryService; -import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; -import javax.annotation.Resource; -import java.util.List; - @Service public class LklLedgerEcServiceImpl extends BaseServiceImpl implements LklLedgerEcService { - - - @Resource - private EsignPlatformInfoService esignPlatformInfoService; - - @Lazy - @Resource - private LakalaApiService lakalaApiService; - - @Lazy - @Resource - private ShopMchEntryService shopMchEntryService; - + /** * 根据商家Id新增或更新记录 * @@ -53,19 +34,21 @@ public class LklLedgerEcServiceImpl extends BaseServiceImpl queryWrapper = new QueryWrapper<>(); - if (ObjectUtil.isEmpty(record.getMch_id())) { + if (CheckUtil.isNotEmpty(record.getMch_id())) { queryWrapper.eq("mch_id", record.getMch_id()); } - if (ObjectUtil.isEmpty(record.getMch_mobile())) { + + if (StrUtil.isNotBlank(record.getMch_mobile())) { queryWrapper.eq("mch_mobile", record.getMch_mobile()); } - List existsRecordList = list(queryWrapper); - if (CollectionUtil.isNotEmpty(existsRecordList) - && existsRecordList.get(0) != null - && existsRecordList.get(0).getId() > 0) { + queryWrapper.orderByDesc("id"); + + LklLedgerEc existsRecord = findOne(queryWrapper); + if (existsRecord != null + && existsRecord.getId() > 0) { // 更新记录 - record.setId(existsRecordList.get(0).getId()); + record.setId(existsRecord.getId()); return updateById(record); } @@ -81,14 +64,14 @@ public class LklLedgerEcServiceImpl extends BaseServiceImpl queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("ec_apply_id", record.getEc_apply_id()); + queryWrapper.eq("ec_apply_id", record.getEc_apply_id()).orderByDesc("id"); - LklLedgerEc existsRecord = getOne(queryWrapper); + LklLedgerEc existsRecord = findOne(queryWrapper); if (existsRecord == null) { return false; } @@ -108,13 +91,13 @@ public class LklLedgerEcServiceImpl extends BaseServiceImpl queryWrapper = new QueryWrapper<>(); queryWrapper.eq("ec_apply_id", applyId); - if (ObjectUtil.isNotEmpty(status)) { + if (CheckUtil.isNotEmpty(status)) { queryWrapper.eq("status", status); } @@ -142,12 +125,12 @@ public class LklLedgerEcServiceImpl extends BaseServiceImpl queryWrapper = new QueryWrapper<>(); - if (StrUtil.isNotBlank(mchMobile)) { - queryWrapper.eq("mch_mobile", mchMobile); + if (CheckUtil.isNotEmpty(mchId)) { + queryWrapper.eq("mch_id", mchId); } - if (mchId != null && mchId > 0) { - queryWrapper.eq("mch_id", mchId); + if (StrUtil.isNotBlank(mchMobile)) { + queryWrapper.eq("mch_mobile", mchMobile); } queryWrapper.orderByDesc("id"); @@ -155,16 +138,11 @@ public class LklLedgerEcServiceImpl extends BaseServiceImpl lklLedgerEcList = list(queryWrapper); - if (CollectionUtil.isEmpty(lklLedgerEcList)) { - return null; - } - - return lklLedgerEcList.get(0); + return findOne(queryWrapper); } } diff --git a/mall-shop/src/main/java/com/suisung/mall/shop/order/service/impl/ShopOrderReturnServiceImpl.java b/mall-shop/src/main/java/com/suisung/mall/shop/order/service/impl/ShopOrderReturnServiceImpl.java index b4fcc255..d913a305 100644 --- a/mall-shop/src/main/java/com/suisung/mall/shop/order/service/impl/ShopOrderReturnServiceImpl.java +++ b/mall-shop/src/main/java/com/suisung/mall/shop/order/service/impl/ShopOrderReturnServiceImpl.java @@ -2186,12 +2186,12 @@ public class ShopOrderReturnServiceImpl extends BaseServiceImpl contractInfo = esignContractService.checkSignFlowStatus(record.getLogin_mobile()); - if (contractInfo != null) { - record.setSigned_status(contractInfo.getFirst()); - record.setContract_download_url(contractInfo.getSecond()); - - // 更改同步合同审核状态和合同下载地址 - taskService.executeTask(() -> { - log.debug("###更改同步合同审核状态和下载地址###"); - if (!updateMerchEntrySignedStatusAndContractDownloadUrl(record.getLogin_mobile(), record.getSigned_status(), record.getContract_download_url())) { - log.error("###更改同步合同审核状态和下载地址失败###"); - } - }); + @Async("asyncExecutor") + @Override + public void updateMerchEntrySignedStatusAndContractDownloadUrl(ShopMchEntry record) { + try { + // === 参数校验 === + if (record == null || CheckUtil.isEmpty(record.getId())) { + log.warn("商户入驻记录为空或ID为空"); + return; } + + // 这是E签宝的逻辑 +// if (CommonConstant.MCH_APPR_STA_PASS.equals(record.getApproval_status()) +// && (StrUtil.isBlank(record.getContract_download_url()) || !CommonConstant.CONTRACT_SIGN_STA_FINISH.equals(record.getSigned_status()))) { +// // 审核通过的,但是没有合同文件的情况,要进一步同步状态和合同文件 +// Pair contractInfo = esignContractService.checkSignFlowStatus(record.getLogin_mobile()); +// if (contractInfo != null) { +// record.setSigned_status(contractInfo.getFirst()); +// record.setContract_download_url(contractInfo.getSecond()); +// +// // 更改同步合同审核状态和合同下载地址 +// taskService.executeTask(() -> { +// log.debug("###更改同步合同审核状态和下载地址###"); +// if (!updateMerchEntrySignedStatusAndContractDownloadUrl(record.getLogin_mobile(), record.getSigned_status(), record.getContract_download_url())) { +// log.error("###更改同步合同审核状态和下载地址失败###"); +// } +// }); +// } +// } + + // === 拉卡拉签约逻辑 === + + if (CommonConstant.Enable.equals(record.getHas_ec_signed())) { + LklLedgerEc ec = lklLedgerEcService.getByMchMobile( + record.getId(), + "", + "COMPLETED", + CommonConstant.Enable + ); + + if (ec != null && StrUtil.isNotBlank(ec.getEc_file())) { + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.eq("id", record.getId()) + .set("signed_status", CommonConstant.Enable) + .set("contract_download_url", ec.getEc_file()); + + if (!update(updateWrapper)) { + log.error("更新商户签约状态失败, recordId:{}", record.getId()); + } + } + } + } catch (Exception e) { + log.error("更新商户签约状态异常, recordId:{}, error:{}", + record != null ? record.getId() : "null", + e.getMessage(), + e); } } @@ -793,14 +834,9 @@ public class ShopMchEntryServiceImpl extends BaseServiceImpl recordList = list(queryWrapper); - if (CollectionUtil.isEmpty(recordList)) { - return null; - } + ShopMchEntry record = findOne(queryWrapper); - ShopMchEntry record = recordList.get(0); - - // 试试更新入驻表的合同下载地址和合同签署状态 + // 试试更新入驻表的合同下载地址和合同签署状态(E 签宝) updateMerchEntrySignedStatusAndContractDownloadUrl(record); return record;