package com.by4cloud.platformx.business.service.impl; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.ObjUtil; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.by4cloud.platformx.business.entity.BusinessCustomer; import com.by4cloud.platformx.business.mapper.BipBanklViewMapper; import com.by4cloud.platformx.business.mapper.BipViewMapper; import com.by4cloud.platformx.business.mapper.BusinessCustomerMapper; import com.by4cloud.platformx.business.service.BusinessCustomerService; import com.by4cloud.platformx.business.vo.BankNameVo; import com.by4cloud.platformx.business.vo.BusinessCustomerMainVo; import com.by4cloud.platformx.business.vo.CustBankVo; import com.by4cloud.platformx.business.vo.CustInfoVo; import com.by4cloud.platformx.common.core.util.R; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import java.util.List; /** * 客商信息 * * @author platformx * @date 2026-05-07 10:13:22 */ @Slf4j @RequiredArgsConstructor @Service public class BusinessCustomerServiceImpl extends ServiceImpl implements BusinessCustomerService { private final BipViewMapper bipViewMapper; private final BipBanklViewMapper bipBanklViewMapper; @Override public R syncMainBusCus(String compId) { List bcList = baseMapper.selectList(Wrappers.lambdaQuery() .eq(StrUtil.isNotEmpty(compId),BusinessCustomer::getCompId,compId) .and(wrapper -> wrapper.isNull(BusinessCustomer::getCreditCode) .or().isNull(BusinessCustomer::getLegalPerson) .or().isNull(BusinessCustomer::getBankName) .or().isNull(BusinessCustomer::getBankAccount) .or().isNull(BusinessCustomer::getRegisterName) .or().isNull(BusinessCustomer::getBipCode)) ); if (CollUtil.isNotEmpty(bcList)){ for (BusinessCustomer bc:bcList ) { log.info("开始同步{}信息",bc.getCompanyName()); CustInfoVo custInfo = bipViewMapper.selectBaseInfoByCustName(bc.getCompanyName()); if (ObjUtil.isNull(custInfo)){ continue; } if (ObjUtil.isNotNull(custInfo)){ bc.setCreditCode(custInfo.getCertificateId()); bc.setRegisterName(custInfo.getCustName()); bc.setLegalPerson(custInfo.getLegalPerson()); bc.setAddress(custInfo.getRegistrationAddress()); bc.setBipCode(custInfo.getCustCode()); baseMapper.updateById(bc); log.info("{}同步名称、法人、地址、信用码、bipcode信息成功",bc.getCompanyName()); } List bankVoList = bipViewMapper.selectBankByCustName(bc.getCompanyName()); if (CollUtil.isEmpty(bankVoList)){ continue; } if (CollUtil.isNotEmpty(bankVoList)){ if (StrUtil.isEmpty(bc.getBankAccount())){ bc.setBankAccount(bankVoList.get(0).getBankAccount()); baseMapper.updateById(bc); log.info("{}同步银行卡号信息成功",bc.getCompanyName()); } List bankNameVoList = bipBanklViewMapper.selectBankByCode(bankVoList.get(0).getBankName()); if (CollUtil.isNotEmpty(bankNameVoList)){ bc.setBankName(bankNameVoList.get(0).getBankNameName()); baseMapper.updateById(bc); log.info("{}同步银行名称信息成功",bc.getCompanyName()); } } } } return R.ok(); } @Override public BusinessCustomerMainVo queryMainBC(String companyName) { BusinessCustomerMainVo bc = new BusinessCustomerMainVo(); bc.setCompanyName(companyName); log.info("主数据查询{}信息",companyName); CustInfoVo custInfo = bipViewMapper.selectBaseInfoByCustName(companyName); if (ObjUtil.isNotNull(custInfo)){ bc.setCreditCode(custInfo.getCertificateId()); bc.setRegisterName(custInfo.getCustName()); bc.setLegalPerson(custInfo.getLegalPerson()); bc.setAddress(custInfo.getRegistrationAddress()); log.info("{}主数据查询名称、法人、地址、信用码信息成功",companyName); } List bankVoList = bipViewMapper.selectBankByCustName(bc.getCompanyName()); if (CollUtil.isNotEmpty(bankVoList)){ if (StrUtil.isEmpty(bc.getBankAccount())){ bc.setBankAccount(bankVoList.get(0).getBankAccount()); log.info("{}主数据查询银行卡号信息成功",companyName); } List bankNameVoList = bipBanklViewMapper.selectBankByCode(bankVoList.get(0).getBankName()); if (CollUtil.isNotEmpty(bankNameVoList)){ bc.setBankName(bankNameVoList.get(0).getBankNameName()); log.info("{}主数据查询银行名称信息成功",companyName); } } return bc; } }