import axios from '@/utils/request';
import { getIds } from '@/utils/common';

const host = `http://192.168.31.51:9000`;

export const accessStrategyGovernmentBlacklistList = async (data: Record<string, any>): Promise<any> =>
  (
    await axios.post(`${host}/product/accessStrategyGovernmentBlacklist/list`, {
      ...getIds(),
      ...data,
    })
  ).data;
export const accessStrategyGovernmentBlacklistFind = async (params: Record<string, any>): Promise<any> =>
  (await axios.post(`${host}/product/accessStrategyGovernmentBlacklist/details`, {}, { params })).data;
export const accessStrategyGovernmentBlacklistSave = async (data: Record<string, any>): Promise<any> =>
  (await axios.post(`${host}/product/accessStrategyGovernmentBlacklist/saveOrUpdate`, data)).data;
export const accessStrategyGovernmentBlacklistDel = async (data: Record<string, any>): Promise<any> =>
  (await axios.post(`${host}/product/accessStrategyGovernmentBlacklist/delete`, data)).data;

export const accessStrategyEnterpriseBlacklist = async (data: Record<string, any>): Promise<any> =>
  (
    await axios.post(`${host}/product/accessStrategyEnterpriseBlacklist/list`, {
      ...getIds(),
      ...data,
    })
  ).data;
export const accessStrategyEnterpriseBlacklistFind = async (params: Record<string, any>): Promise<any> =>
  (await axios.post(`/product/accessStrategyEnterpriseBlacklist/details`, {}, { params })).data;
export const accessStrategyEnterpriseBlacklistSave = async (data: Record<string, any>): Promise<any> =>
  (await axios.post(`/product/accessStrategyEnterpriseBlacklist/saveOrUpdate`, data)).data;
export const accessStrategyEnterpriseBlacklistDel = async (data: Record<string, any>): Promise<any> =>
  (await axios.post(`${host}/product/accessStrategyEnterpriseBlacklist/delete`, data)).data;

export const accessStrategyAntiFraudStrategy = async (data: Record<string, any>): Promise<any> =>
  (
    await axios.post(`${host}/product/accessStrategyAntiFraudStrategy/list`, {
      ...getIds(),
      ...data,
    })
  ).data;
export const accessStrategyAntiFraudStrategyFind = async (params: Record<string, any>): Promise<any> =>
  (await axios.post(`/product/accessStrategyAntiFraudStrategy/details`, {}, { params })).data;
export const accessStrategyAntiFraudStrategySave = async (data: Record<string, any>): Promise<any> =>
  (await axios.post(`/product/accessStrategyAntiFraudStrategy/saveOrUpdate`, data)).data;
export const accessStrategyAntiFraudStrategyDel = async (data: Record<string, any>): Promise<any> =>
  (await axios.post(`${host}/product/accessStrategyAntiFraudStrategy/delete`, data)).data;

export const accessStrategyBusinessBlacklist = async (data: Record<string, any>): Promise<any> =>
  (
    await axios.post(`${host}/product/accessStrategyBusinessBlacklist/list`, {
      ...getIds(),
      ...data,
    })
  ).data;
export const accessStrategyBusinessBlacklistFind = async (params: Record<string, any>): Promise<any> =>
  (await axios.post(`${host}/product/accessStrategyBusinessBlacklist/details`, {}, { params })).data;
export const accessStrategyBusinessBlacklistSave = async (data: Record<string, any>): Promise<any> =>
  (await axios.post(`${host}/product/accessStrategyBusinessBlacklist/saveOrUpdate`, data)).data;
export const accessStrategyBusinessBlacklistDel = async (data: Record<string, any>): Promise<any> =>
  (await axios.post(`${host}/product/accessStrategyBusinessBlacklist/delete`, data)).data;

export const accessStrategyCreditBlacklist = async (data: Record<string, any>): Promise<any> =>
  (
    await axios.post(`${host}/product/accessStrategyCreditBlacklist/list`, {
      ...getIds(),
      ...data,
    })
  ).data;
export const accessStrategyCreditBlacklistFind = async (params: Record<string, any>): Promise<any> =>
  (await axios.post(`${host}/product/accessStrategyCreditBlacklist/details`, {}, { params })).data;
export const accessStrategyCreditBlacklistSave = async (data: Record<string, any>): Promise<any> =>
  (await axios.post(`${host}/product/accessStrategyCreditBlacklist/saveOrUpdate`, data)).data;
export const accessStrategyCreditBlacklistDel = async (data: Record<string, any>): Promise<any> =>
  (await axios.post(`${host}/product/accessStrategyCreditBlacklist/delete`, data)).data;

export const accessStrategyInlineBlacklist = async (data: Record<string, any>): Promise<any> =>
  (
    await axios.post(`${host}/product/accessStrategyInlineBlacklist/list`, {
      ...getIds(),
      ...data,
    })
  ).data;
export const accessStrategyInlineBlacklistFind = async (params: Record<string, any>): Promise<any> =>
  (await axios.post(`/product/accessStrategyInlineBlacklist/details`, {}, { params })).data;
export const accessStrategyInlineBlacklistSave = async (data: Record<string, any>): Promise<any> =>
  (await axios.post(`/product/accessStrategyInlineBlacklist/saveOrUpdate`, data)).data;
export const accessStrategyInlineBlacklistDel = async (data: Record<string, any>): Promise<any> =>
  (await axios.post(`${host}/product/accessStrategyInlineBlacklist/delete`, data)).data;

export const accessStrategyNegativeIndustryStrategy = async (data: Record<string, any>): Promise<any> =>
  (
    await axios.post(`${host}/product/accessStrategyNegativeIndustryStrategy/list`, {
      ...getIds(),
      ...data,
    })
  ).data;
export const accessStrategyNegativeIndustryStrategyFind = async (params: Record<string, any>): Promise<any> =>
  (await axios.post(`/product/accessStrategyNegativeIndustryStrategy/details`, {}, { params })).data;
export const accessStrategyNegativeIndustryStrategySave = async (data: Record<string, any>): Promise<any> =>
  (await axios.post(`/product/accessStrategyNegativeIndustryStrategy/saveOrUpdate`, data)).data;
export const accessStrategyNegativeIndustryStrategyDel = async (data: Record<string, any>): Promise<any> =>
  (await axios.post(`${host}/product/accessStrategyNegativeIndustryStrategy/delete`, data)).data;

export const delCredit = async (data: Record<string, any>): Promise<any> => (await axios.post(`/product/creditScoringStrategy/delete`, data)).data;
export const findCredit = async (id: number): Promise<any> => (await axios.post(`/product/creditScoringStrategy/details?strategyId=${id}`)).data;
export const listCredit = async (data: Record<string, any>): Promise<any> =>
  (
    await axios.post(`/product/creditScoringStrategy/list`, {
      ...data,
      ...getIds(),
    })
  ).data;
export const saveCredit = async (data: Record<string, any>): Promise<any> => (await axios.post(`/product/creditScoringStrategy/saveOrUpdate`, data)).data;

export const detailRick = async (type: number): Promise<any> =>
  (
    await axios.post(`/product/riskDegreeStrategy/details`, {
      ...getIds(),
      type,
    })
  ).data;
export const saveRick = async (data: Record<string, any>): Promise<any> => (await axios.post(`/product/riskDegreeStrategy/saveOrUpdate`, data)).data;

export const interestRateModelList = async (data: Record<string, any>): Promise<any> =>
  (
    await axios.post(`${host}/product/interestRateModel/list`, {
      ...getIds(),
      ...data,
    })
  ).data;
export const businessInterestRateDetails = async (params: Record<string, any>): Promise<any> =>
  (await axios.post(`/product/interestRateModel/businessInterestRateDetails`, {}, { params })).data;
export const businessInterestRateSaveOrUpdate = async (data: Record<string, any>): Promise<any> =>
  (await axios.post(`/product/interestRateModel/businessInterestRateSaveOrUpdate`, data)).data;
export const personalInterestRateDetails = async (params: Record<string, any>): Promise<any> =>
  (await axios.post(`/product/interestRateModel/personalInterestRateDetails`, {}, { params })).data;
export const personalInterestRateSaveOrUpdate = async (data: Record<string, any>): Promise<any> =>
  (await axios.post(`/product/interestRateModel/personalInterestRateSaveOrUpdate`, data)).data;
export const deleteBusinessInterestRate = async (data: Record<string, any>): Promise<any> =>
  (await axios.post(`${host}/product/interestRateModel/deleteBusinessInterestRate`, data)).data;
export const deletePersonalInterestRate = async (data: Record<string, any>): Promise<any> =>
  (await axios.post(`${host}/product/interestRateModel/deletePersonalInterestRate`, data)).data;

export const quotaModelList = async (data: Record<string, any>): Promise<any> =>
  (
    await axios.post(`/product/quotaModel/list`, {
      ...getIds(),
      ...data,
    })
  ).data;
export const quotaModelDel = async (data: Record<string, any>): Promise<any> => (await axios.post(`${host}/product/quotaModel/delete`, data)).data;
export const businessQuotaModelDetails = async (): Promise<any> => (await axios.post(`/product/quotaModel/businessQuotaModelDetails`, getIds())).data;
export const businessQuotaModelSaveOrUpdate = async (data: Record<string, any>): Promise<any> =>
  (await axios.post(`/product/quotaModel/businessQuotaModelSaveOrUpdate`, data)).data;
export const personalCreditModelDetails = async (params: Record<string, any>): Promise<any> =>
  (await axios.post(`/product/quotaModel/personalCreditModelDetails`, {}, { params })).data;
export const personalCreditModelSaveOrUpdate = async (data: Record<string, any>): Promise<any> =>
  (await axios.post(`/product/quotaModel/personalCreditModelSaveOrUpdate`, data)).data;

export const fiveLevelClassificationDetails = async (): Promise<any> => (await axios.post(`/product/fiveLevelClassification/details`, getIds())).data;
export const fiveLevelClassificationSave = async (data: Record<string, any>): Promise<any> => (await axios.post(`/product/fiveLevelClassification/saveOrUpdate`, data)).data;

export const postLoanInspectionDetails = async (): Promise<any> => (await axios.post(`/product/postLoanInspection/details`, getIds())).data;
export const postLoanInspectionSave = async (data: Record<string, any>): Promise<any> => (await axios.post(`/product/postLoanInspection/saveOrUpdate`, data)).data;

export const postCreditScoreDetails = async (): Promise<any> => (await axios.post(`/product/postCreditScore/details`, getIds())).data;
export const postCreditScoreSave = async (data: Record<string, any>): Promise<any> => (await axios.post(`/product/postCreditScore/saveOrUpdate`, data)).data;

export const postLoanWarningDetails = async (): Promise<any> => (await axios.post(`/product/postLoanWarning/details`, getIds())).data;
export const postLoanWarningSave = async (data: Record<string, any>): Promise<any> => (await axios.post(`/product/postLoanWarning/saveOrUpdate`, data)).data;

export const collectionAfterLoanDetails = async (): Promise<any> => (await axios.post(`/product/collectionAfterLoan/details`, getIds())).data;
export const collectionAfterLoanSave = async (data: Record<string, any>): Promise<any> => (await axios.post(`/product/collectionAfterLoan/saveOrUpdate`, data)).data;