Sunshine
2024-11-04 177f10973fd9bc1f0930369bb086ad9f0053440c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
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<CustomerCapitalResultVmMapper, CustomerCapitalResultVm> 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.<CustomerUser>lambdaQuery()
                    .eq(CustomerUser::getPhone, customer.getPhone()));
            if (customerUser == null) {
                log.error("日志编号:" + logNumber + "资方列表-对应用户不存在");
            }
            List<CapitalInfo> result = capitalInfoMapper.selectList(Wrappers.<CapitalInfo>lambdaQuery()
                    .eq(CapitalInfo::getEnableFlag, 1));
            List<CustomerCapitalResultVm> capitalResultList = lambdaQuery()
                    .eq(CustomerCapitalResultVm::getCustomerUserId, customerUser.getId())
                    .eq(CustomerCapitalResultVm::getCustomerRecordId, customer.getId()).list();
            Map<String, List<CustomerCapitalResultVm>> 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 + "虚拟撞库结束");
    }*/
}