package com.nova.sankuai.domain.api.aizhudai; import cn.hutool.core.codec.Base64Encoder; import cn.hutool.crypto.SecureUtil; import cn.hutool.crypto.symmetric.AES; import cn.hutool.json.JSONObject; import com.nova.sankuai.domain.dto.CustomerCompareDto; import com.nova.sankuai.domain.entity.Customer; import com.nova.sankuai.domain.enums.customerinfo.LargeLoanAmountEnum; import com.nova.sankuai.domain.enums.customerinfo.MonthlyIncomeEnum; import io.swagger.annotations.ApiModel; import lombok.Data; import java.util.HashMap; /** * @author weikangdi * @create 2021/11/12 */ @ApiModel(value = "爱助贷公司接口对接") @Data public class AiZhuDaiUtil { public static final String HIT_URL = "http://azd.yunhang518.com/postuser/checkPhone"; public static final String COMMIT_URL = "http://azd.yunhang518.com/PostUser/ImportUser"; public static final String PID = ""; public static final String KEY = "78op72k30gkgzth5vjhkl3wb"; public static HashMap parseHitParam(String phone) { HashMap param = new HashMap<>(); param.put("pid", PID); param.put("phone", "phone"); return param; } public static HashMap parseCommitParam(Customer customer) { CustomerCompareDto parse = CustomerCompareDto.parse(customer); JSONObject json = new JSONObject(); json.putOnce("phoneNumber", customer.getPhone()); json.putOnce("amount", formatAmount(customer)); json.putOnce("age", customer.getAge()); json.putOnce("sexy", 1); json.putOnce("idNumber", customer.getIdCard() != null ? customer.getIdCard() : ""); json.putOnce("realName", customer.getName()); json.putOnce("incomeMounth", formatMonthlyIncome(customer.getMonthlyIncome())); json.putOnce("source", ""); json.putOnce("city", customer.getCity()); json.putOnce("house", parse.isHouseStatus()); json.putOnce("car", parse.isCarStatus()); json.putOnce("gjj", parse.isProvidentFund()); json.putOnce("social", parse.isSocialSecurity()); json.putOnce("wages", false); json.putOnce("policy", parse.isInsurancePolicy()); json.putOnce("license", false); AES aes = SecureUtil.aes(KEY.getBytes()); byte[] encrypt = aes.encrypt(json.toString()); String encode = Base64Encoder.encode(encrypt); HashMap param = new HashMap<>(); param.put("data", encode); return param; } private static Integer formatAmount(Customer customer) { if (customer.getLoanAmount() != null) { double amount = customer.getLoanAmount() / 10000; if (amount > 5) { return 1; } else if (amount > 10) { return 2; } else if (amount > 20) { return 3; } else if (amount >= 30) { return 4; } } else if (customer.getLargeLoanAmount() != null) { Integer amount = customer.getLargeLoanAmount(); if (LargeLoanAmountEnum.Amount_6W_10W.equals(amount)) { return 2; } else if (LargeLoanAmountEnum.Amount_16W_20W.equals(amount)) { return 3; } } return 1; } private static Integer formatMonthlyIncome(Integer monthly) { if (monthly != null) { if (MonthlyIncomeEnum.INCOME_3Q_UNDER.equals(monthly)) { return 3000; } else if (MonthlyIncomeEnum.Income_3Q_6Q.equals(monthly)) { return 6000; } else if (MonthlyIncomeEnum.Income_6Q_1W.equals(monthly)) { return 10000; } else if (MonthlyIncomeEnum.Income_2W5_3W.equals(monthly)) { return 30000; } else if (MonthlyIncomeEnum.Income_2W5_3W.equals(monthly)) { return 40000; } } return 0; } }