package com.nova.sankuai.service.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.nova.sankuai.domain.api.channelUnion.ChannelUnionAutoUtil; import com.nova.sankuai.domain.api.doudouqian.DdqUtil; import com.nova.sankuai.domain.api.huizhixin.HzxUtil; import com.nova.sankuai.domain.api.rongduoduo.RongDuoDuoUtil; import com.nova.sankuai.domain.api.taojinhui.TjhUtil; import com.nova.sankuai.domain.api.xinyeyoupin.XinYeYouPinUtil; import com.nova.sankuai.domain.api.xinyongfei.XinYongFeiUtil; import com.nova.sankuai.domain.api.yibeifenqi.YiBeiUtil; import com.nova.sankuai.domain.api.yixin.YXUtil; import com.nova.sankuai.domain.entity.Customer; import com.nova.sankuai.domain.entity.CustomerCapitalResultVm; import com.nova.sankuai.infra.mapper.*; import com.nova.sankuai.infra.utils.ZzxfUtil; import com.nova.sankuai.service.*; import lombok.AllArgsConstructor; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Service; /** * @author weikangdi * @create 2022/5/7 */ @Service @AllArgsConstructor public class CustomerCapitalResultVmServiceImpl extends ServiceImpl implements ICustomerCapitalResultVmService { private final CustomerMapper customerMapper; private final YXUtil yxUtil; private final CustomerCapitalResultVmMapper capitalResultMapper; private final CapitalInfoMapper capitalInfoMapper; private final CustomerUserMapper customerUserMapper; private final XinYongFeiUtil xinYongFeiUtil; private static final Logger log = LoggerFactory.getLogger("capitalLogger"); private final HzxUtil hzxUtil; private final YiBeiUtil yiBeiUtil; private final ZzxfUtil zzxfUtil; private final TjhUtil tjhUtil; private final XinYeYouPinUtil xinYeYouPinUtil; private final ChannelUnionAutoUtil channelUnionAutoUtil; private final DdqUtil doudouUtil; private final UnionloginProductMapper unionloginProductMapper; private final RongDuoDuoUtil rongDuoDuoUtil; private final ICapitalResultCommonService capitalResultCommonService; private final IHengYiDaiService hengYiDaiService; private final IXiaoBaiYouKaService xiaoBaiYouKaService; private final ITaoHuiHuaService taoHuiHuaService; private final SmsTemplateMapper smsMapper; @Override public void collisionlibrary(Customer customer) { /*String logNumber = IdUtil.randomUUID(); log.info("日志编号:" + logNumber + "资方列表-虚拟撞库开始"); try { CustomerUser customerUser = customerUserMapper.selectOne(Wrappers.lambdaQuery() .eq(CustomerUser::getPhone, customer.getPhone())); if (customerUser == null) { log.error("日志编号:" + logNumber + "资方列表-对应用户不存在"); } List result = capitalInfoMapper.selectList(Wrappers.lambdaQuery() .eq(CapitalInfo::getEnableFlag, 1)); List capitalResultList = lambdaQuery() .eq(CustomerCapitalResultVm::getCustomerUserId, customerUser.getId()) .eq(CustomerCapitalResultVm::getCustomerRecordId, customer.getId()).list(); Map> collect = null; if (capitalResultList != null && !capitalResultList.isEmpty()) { collect = capitalResultList.stream().collect(Collectors.groupingBy(CustomerCapitalResultVm::getCapitalInfoCode)); } for (CapitalInfo capitalInfo : result) { int fundType = capitalInfo.getFundType().intValue(); if (fundType == 0) {// 只虚拟银行直贷撞库,线上贷款略过 continue; } if (collect != null && collect.get(capitalInfo.getCode()) != null && !collect.get(capitalInfo.getCode()).isEmpty()) { continue; } if (CustomerUserBusinessTypeEnum.RONG_YI_TUI.getCode().equals(customerUser.getBusinessType())) { if (!(CapitalInfoTypeCodeEnum.YI_XIN.getCode().equals(capitalInfo.getCode()) || CapitalInfoTypeCodeEnum.XIAO_HUA_QIAN_BAO.getCode().equals(capitalInfo.getCode()))) { continue; } } // 虚拟撞库 vmCollisionlibrary(capitalInfo, customer, customerUser, logNumber); } } catch (Exception e) { log.error("日志编号:" + logNumber + "资方列表批量虚拟撞库失败", e); } log.info("日志编号:" + logNumber + "资方列表-虚拟撞库结束");*/ } /** * 虚拟撞库 */ /*@Transactional(rollbackFor = Exception.class) public void vmCollisionlibrary(CapitalInfo capitalInfo, Customer customer, CustomerUser customerUser, String logNumber) { log.info("日志编号:" + logNumber + "虚拟撞库开始"); CustomerCapitalResult capitalResult = CustomerCapitalResult.initResult(capitalInfo, customerUser.getId(), customer.getId()); CustomerCapitalResult filterResult = capitalResultCommonService.filterCustomer(customer, capitalInfo, capitalResult, logNumber); if (filterResult != null) { log.info("日志编号:" + logNumber + capitalInfo.getName() + "虚拟撞库时不满足资方信息筛选条件,虚拟撞库失败"); return; } // 虚拟成功 capitalResult.setStatus(CapitalResultStatusEnum.APPLY.getCode()); capitalResult.setCheckResult(CustomerCapitalResult.CHECK_SUCCESS); CustomerCapitalResultVm capitalResultVm = new CustomerCapitalResultVm(); BeanUtil.copyProperties(capitalResult, capitalResultVm, true); capitalResultMapper.insert(capitalResultVm); log.info("日志编号:" + logNumber + "虚拟撞库结束"); }*/ }