Commit 8a042a84 authored by suntao's avatar suntao

渠道信息查询 优化

parent 8b984c37
...@@ -36,7 +36,7 @@ public class ChannelConfController { ...@@ -36,7 +36,7 @@ public class ChannelConfController {
@Security(authorityId = "Channel.getChannelList") @Security(authorityId = "Channel.getChannelList")
@ChannelIdInit @ChannelIdInit
@PostMapping("/info") @PostMapping("/info")
public Result channelInfo(Long channelId, Integer pageNumber, Integer pageSize) { public Result channelList(Long channelId, Integer pageNumber, Integer pageSize) {
if (pageNumber == null || pageSize == null) { if (pageNumber == null || pageSize == null) {
return Result.buildFial("page信息不对"); return Result.buildFial("page信息不对");
} }
......
...@@ -11,6 +11,7 @@ import cn.quantgroup.cashloanflowboss.spi.clf.entity.ClfCallbackConfiguration; ...@@ -11,6 +11,7 @@ import cn.quantgroup.cashloanflowboss.spi.clf.entity.ClfCallbackConfiguration;
import cn.quantgroup.cashloanflowboss.spi.clf.entity.ClfChannelConfiguration; import cn.quantgroup.cashloanflowboss.spi.clf.entity.ClfChannelConfiguration;
import cn.quantgroup.cashloanflowboss.api.channel.repository.ChannelConfRepository; import cn.quantgroup.cashloanflowboss.api.channel.repository.ChannelConfRepository;
import cn.quantgroup.cashloanflowboss.spi.clf.entity.ClfOrderCallBack; import cn.quantgroup.cashloanflowboss.spi.clf.entity.ClfOrderCallBack;
import cn.quantgroup.cashloanflowboss.spi.clf.model.KANoticeType;
import cn.quantgroup.cashloanflowboss.spi.clf.repository.ClfCallbackConfigurationRepository; import cn.quantgroup.cashloanflowboss.spi.clf.repository.ClfCallbackConfigurationRepository;
import cn.quantgroup.cashloanflowboss.spi.clf.repository.ClfChannelConfigurationRepository; import cn.quantgroup.cashloanflowboss.spi.clf.repository.ClfChannelConfigurationRepository;
import cn.quantgroup.cashloanflowboss.api.channel.util.ChannelConfUtil; import cn.quantgroup.cashloanflowboss.api.channel.util.ChannelConfUtil;
...@@ -82,7 +83,18 @@ public class ChannelConfService { ...@@ -82,7 +83,18 @@ public class ChannelConfService {
public ChannelConfVo getChannelConf(Long channelId) { public ChannelConfVo getChannelConf(Long channelId) {
ChannelConf channelConf = channelConfRepository.getByChannelId(channelId); ChannelConf channelConf = channelConfRepository.getByChannelId(channelId);
if (channelConf != null) {
return ChannelConfUtil.channelConfConvertVOModel(channelConf); return ChannelConfUtil.channelConfConvertVOModel(channelConf);
} else {
// boss channel_conf 为空,从clf 查询数据
ClfChannelConfiguration channelConfiguration = clfChannelConfigurationRepository.findByRegisteredFrom(channelId);
ClfOrderCallBack approve = clfOrderCallbackRepository.findByCallbackStatusAndRegisteredFrom(KANoticeType.FUAD_ASSIFN_SUCC.name(), channelId);
ClfOrderCallBack orderStatus = clfOrderCallbackRepository.findByCallbackStatusAndRegisteredFrom(KANoticeType.FUND_SUCC.name(), channelId);
ClfOrderCallBack repaymentPlan = clfOrderCallbackRepository.findByCallbackStatusAndRegisteredFrom(KANoticeType.REPAYMENT.name(), channelId);
return ChannelConfUtil.getChannelConfVoByClf(channelConfiguration, approve, orderStatus, repaymentPlan);
}
} }
......
...@@ -208,4 +208,37 @@ public class ChannelConfUtil { ...@@ -208,4 +208,37 @@ public class ChannelConfUtil {
return channelConf.getP2pFundId(); return channelConf.getP2pFundId();
} }
} }
public static ChannelConfVo getChannelConfVoByClf(ClfChannelConfiguration channelConfiguration, ClfOrderCallBack approve, ClfOrderCallBack orderStatus, ClfOrderCallBack repaymentPlan) {
ChannelConfVo channelConfVo = new ChannelConfVo();
ChannelConfBaseModel channelConfBaseModel = new ChannelConfBaseModel();
if (channelConfiguration != null) {
channelConfBaseModel.setChannelId(channelConfiguration.getRegisteredFrom());
channelConfBaseModel.setChannelName(channelConfiguration.getChannelName());
channelConfBaseModel.setChannelCode(channelConfiguration.getChannelCode());
channelConfBaseModel.setEnv("");
channelConfBaseModel.setFundId(0);
channelConfBaseModel.setP2pFundId(0);
channelConfBaseModel.setBizType(0);
channelConfBaseModel.setAesKey(channelConfiguration.getAesKey());
channelConfBaseModel.setMd5Key(channelConfiguration.getMd5Key());
channelConfBaseModel.setAuthCode(channelConfiguration.getSpiderCenterMerchantChannelCode());
channelConfBaseModel.setRiskCode(channelConfiguration.getSpiderCenterChannelCode());
}
ChannelConfAddModel channelConfAddModel = new ChannelConfAddModel();
channelConfAddModel.setEnvPath("");
channelConfAddModel.setChannelIp("");
channelConfAddModel.setApproveCallBackUrl(approve != null ? approve.getCallbackUrl() : "");
channelConfAddModel.setOrderStatusCallBackUrl(orderStatus != null ? orderStatus.getCallbackUrl() : "");
channelConfAddModel.setRepayResultCallBackUrl("");
channelConfAddModel.setRepaymentPlanCallBackUrl(repaymentPlan != null ? repaymentPlan.getCallbackUrl() : "");
channelConfAddModel.setMessage("");
channelConfAddModel.setExtendData("");
channelConfVo.setBasicInfo(channelConfBaseModel);
channelConfVo.setAddInfo(channelConfAddModel);
return channelConfVo;
}
} }
package cn.quantgroup.cashloanflowboss.core.base;
import org.springframework.core.convert.converter.Converter;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.data.domain.Sort;
import java.util.Iterator;
import java.util.List;
/**
* function:
* date: 2019/8/6
*
* @author: suntao
*/
public class BossPageImpl<T> implements Page {
@Override
public int getTotalPages() {
return 0;
}
@Override
public long getTotalElements() {
return 0;
}
@Override
public Page map(Converter converter) {
return null;
}
@Override
public int getNumber() {
return 0;
}
@Override
public int getSize() {
return 0;
}
@Override
public int getNumberOfElements() {
return 0;
}
@Override
public List getContent() {
return null;
}
@Override
public boolean hasContent() {
return false;
}
@Override
public Sort getSort() {
return null;
}
@Override
public boolean isFirst() {
return false;
}
@Override
public boolean isLast() {
return false;
}
@Override
public boolean hasNext() {
return false;
}
@Override
public boolean hasPrevious() {
return false;
}
@Override
public Pageable nextPageable() {
return null;
}
@Override
public Pageable previousPageable() {
return null;
}
@Override
public Iterator iterator() {
return null;
}
}
package cn.quantgroup.cashloanflowboss.spi.xyqb.model;
import cn.quantgroup.cashloanflowboss.spi.clf.entity.ClfOrderMapping;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* 查询订单状态 model
* Created with suntao on 2018/12/26
*/
@Data
@NoArgsConstructor
public class OrderStatusQueryModel {
/** APPROVE 时 非空,元 */
private String drawTryAmount;
/** APPROVE 时 非空,元 */
private String drawTryTerm;
private ClfOrderMapping orderMapping;
/** 可以为空 */
private QueryType queryType;
public OrderStatusQueryModel(ClfOrderMapping orderMapping) {
this.orderMapping = orderMapping;
}
public enum QueryType {
APPROVE("审批状态查询"),
WITHDRAW("提现状态查询,贷前提现"),
CANCEL_LOAN("取消借款"),
CANCEL_AFTER_LOAN("取消借款,贷后,退款"),
PAY("放款状态查询"),
ALL_REPAID("结清状态查询");
private String desc;
public String getDesc(){
return this.desc;
}
QueryType(String desc) {
this.desc = desc;
}
}
}
package cn.quantgroup.cashloanflowboss.spi.xyqb.model;
import cn.quantgroup.cashloanflowboss.spi.clf.model.KANoticeType;
import lombok.Data;
import java.util.Date;
/**
* Created with suntao on 2018/12/26
*/
@Data
public class OrderStatusQueryResultOnlyStatus {
private String applyNo;
private Long loanId;
private KANoticeType kaNoticeType;
private Date updateTime;
}
package cn.quantgroup.cashloanflowboss.spi.xyqb.service;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
/**
* Created with suntao on 2018/12/26
*/
@Slf4j
@Service
public class OrderStatusQueryService {
//
// @Autowired
// private XyqbService xyqbService;
// @Autowired
// private IRepaymentPlanService repaymentPlanService;
// @Autowired
// private ILoanApplicationManifestHistoryService loanApplicationManifestHistoryService;
// @Autowired
// private IRepaymentPlanService xyqbRepaymentPlanService;
//
//
// /**
// * 只查询订单状态,不查询每个状态对应的数据,推荐使用
// * @param queryModel
// * @return
// */
// public OrderStatusQueryResultOnlyStatus queryOrderStatusKaNoticeType(OrderStatusQueryModel queryModel) {
// LoanOrderMapping orderMapping = queryModel.getOrderMapping();
// if (orderMapping == null) {
// log.info("[orderStatusQueryServiceImpl_queryOrderStatusKaNoticeType]参数异常,orderMapping空");
// return null;
// }
// final Long channelId = orderMapping.getRegisteredFrom();
// final String channelOrderNo = orderMapping.getChannelOrderNo();
// final String channelPaymentNo = orderMapping.getChannelPaymentNo();
// final String applyNo = orderMapping.getApplyNo();
// final Long loanId = orderMapping.getLoanId();
// final OrderStatusQueryModel.QueryType queryType = queryModel.getQueryType();
//
// if (StringUtils.isEmpty(channelOrderNo) && StringUtils.isEmpty(channelPaymentNo) && StringUtils.isEmpty(applyNo) && loanId == null) {
// log.info("[orderStatusQueryServiceImpl_queryOrderStatusKaNoticeType]参数异常,channelOrderNo={},channelPaymentNo={},applyNo={},loanId={}", channelOrderNo, channelPaymentNo, applyNo, loanId);
// return null;
// }
// if (channelId == null) {
// log.info("[orderStatusQueryServiceImpl_queryOrderStatusKaNoticeType]参数异常,channelId 为空");
// return null;
// }
// OrderStatusQueryResultOnlyStatus queryResult = new OrderStatusQueryResultOnlyStatus();
// if (queryType != null) {
// // 查询条件不为空 按照查询条件查询
// switch (queryType) {
// case APPROVE:
// return loadApproveOnlyStatus(queryResult, orderMapping);
// case WITHDRAW:
// return loadDrawOnlyStatus(queryResult, orderMapping);
// case PAY:
// return loadPayOnlyStatus(queryResult, orderMapping);
// case ALL_REPAID:
// case CANCEL_LOAN:
// case CANCEL_AFTER_LOAN:
// return loadFinalStatusOnlyStatus(queryResult, orderMapping);
// default:
// return queryResult;
// }
// }
//
// OrderStatusQueryResultOnlyStatus loadFinalStatus = loadFinalStatusOnlyStatus(queryResult, orderMapping);
// if (loadFinalStatus == null) {
// // 加载前面的状态
// return loadPayOnlyStatus(queryResult, orderMapping);
// } else {
// return loadFinalStatus;
// }
// }
//
// @Override
// public Boolean finalStatusQuery(String applyNo, Long loanId) {
// LoanOrderMapping orderMapping = new LoanOrderMapping();
// orderMapping.setApplyNo(applyNo);
// orderMapping.setLoanId(loanId);
// final Boolean isFinalStatus = loadFinalStatus(new OrderStatusQueryResult(), orderMapping);
// if (isFinalStatus) {
// // 状态
// log.error("[finalStatusQuery]订单终态查询,结果:终态。applyNo={},loanId={}", applyNo, loanId);
// } else {
// // 非终态
// log.info("[finalStatusQuery]订单终态查询,结果:非终态。applyNo={},loanId={}", applyNo, loanId);
// }
// return isFinalStatus;
// }
//
//
// /**
// * 授信结果查询
// * @param queryModel
// * @return true 授信成功;false:授信失败,null:授信中
// */
// @Override
// public OrderStatusQueryResult.CreditStatus queryCreditStatus(OrderStatusQueryModel queryModel) {
// LoanOrderMapping orderMapping = queryModel.getOrderMapping();
// if (orderMapping == null) {
// log.info("[orderStatusQueryServiceImpl_queryOrderStatus]参数异常,orderMapping空");
// return null;
// }
// final Long channelId = orderMapping.getRegisteredFrom();
// final String channelOrderNo = orderMapping.getChannelOrderNo();
// final String applyNo = orderMapping.getApplyNo();
//
// if (StringUtils.isEmpty(channelOrderNo) && StringUtils.isEmpty(applyNo)) {
// log.info("[orderStatusQueryServiceImpl_queryOrderStatus]参数异常,channelOrderNo={},,applyNo={}", channelOrderNo, applyNo);
// return null;
// }
// if (channelId == null) {
// log.info("[orderStatusQueryServiceImpl_queryOrderStatus]参数异常,channelId 为空");
// return null;
// }
// Optional<QuotaCreditInfo> quotaCreditInfoOptional = xyqbService.queryQuotaCreditInfo(applyNo);
// if (!quotaCreditInfoOptional.isPresent()) {
// return null;
// }
// final QuotaCreditInfo quotaCreditInfo = quotaCreditInfoOptional.get();
// // '0:发起授信;1:授信成功;2:授信失败;3:授信处理中',
// if (1 == quotaCreditInfo.getCreditStatus()) {
// return OrderStatusQueryResult.CreditStatus.SUCCESS;
// } else if (2 == quotaCreditInfo.getCreditStatus()) {
// return OrderStatusQueryResult.CreditStatus.FAIL;
// } else {
// return OrderStatusQueryResult.CreditStatus.PROGRESSING;
// }
// }
//
//
// /**
// * 查询订单状态 并查询每个状态对应的数据 不推荐使用
// * @param queryModel
// * @return
// */
// @Override
// public OrderStatusQueryResult queryOrderStatus(OrderStatusQueryModel queryModel) {
// LoanOrderMapping orderMapping = queryModel.getOrderMapping();
// if (orderMapping == null) {
// log.info("[orderStatusQueryServiceImpl_queryOrderStatus]参数异常,orderMapping空");
// return null;
// }
// final Long channelId = orderMapping.getRegisteredFrom();
// final String channelOrderNo = orderMapping.getChannelOrderNo();
// final String channelPaymentNo = orderMapping.getChannelPaymentNo();
// final String applyNo = orderMapping.getApplyNo();
// final Long loanId = orderMapping.getLoanId();
// final OrderStatusQueryModel.QueryType queryType = queryModel.getQueryType();
//
// if (StringUtils.isEmpty(channelOrderNo) && StringUtils.isEmpty(channelPaymentNo) && StringUtils.isEmpty(applyNo) && loanId == null) {
// log.info("[orderStatusQueryServiceImpl_queryOrderStatus]参数异常,channelOrderNo={},channelPaymentNo={},applyNo={},loanId={}", channelOrderNo, channelPaymentNo, applyNo, loanId);
// return null;
// }
// if (channelId == null) {
// log.info("[orderStatusQueryServiceImpl_queryOrderStatus]参数异常,channelId 为空");
// return null;
// }
// OrderStatusQueryResult queryResult = new OrderStatusQueryResult();
// if (queryType != null) {
// // 查询条件不为空 按照查询条件查询
// switch (queryType) {
// case APPROVE:
// loadApprove(queryResult, orderMapping);
// return queryResult;
// case WITHDRAW:
// loadDraw(queryResult, orderMapping);
// return queryResult;
// case PAY:
// loadPay(queryResult, orderMapping);
// return queryResult;
// case ALL_REPAID:
// case CANCEL_LOAN:
// case CANCEL_AFTER_LOAN:
// loadFinalStatus(queryResult, orderMapping);
// return queryResult;
// default:
// return queryResult;
// }
// }
//
// Boolean loadFinalStatus = loadFinalStatus(queryResult, orderMapping);
// if (!loadFinalStatus) {
// // 说明目前还不是终态
// loadPay(queryResult, orderMapping);
// }
// return queryResult;
// }
//
// /**
// * 审批状态加载
// * @param queryResult
// * @param orderMapping
// * @return true:订单终态,false:订单还可以继续流转
// */
// private Boolean loadApprove(OrderStatusQueryResult queryResult, LoanOrderMapping orderMapping) {
// if(StringUtils.isEmpty(orderMapping.getApplyNo())){
// return false;
// }
// JsonResult jsonResultApprove = exService.queryApproveStatus(orderMapping.getApplyNo());
// queryResult.setApplyNo(orderMapping.getApplyNo());
// queryResult.setCurrentOrderStatus(OrderStatusQueryResult.CurrentOrderStatus.APPROVE);
// // 格式:"2018-04-21 13:54:02"
// String updateAt = String.valueOf(jsonResultApprove.getData());
// Date date = DateUtil.dateStr2Date(updateAt, DateUtil.DATE_FORMAT_1);
//
// if (jsonResultApprove.isSuccess()) {
// Optional<QuotaInfo> quotaInfo = xyqbService.queryQuotaInfo(orderMapping.getQgUserId(), orderMapping.getRegisteredFrom());
// if (!quotaInfo.isPresent()) {
// queryResult.setUpdateTime(date);
// queryResult.setApproveStatus(OrderStatusQueryResult.ApproveStatus.PROGRESSING);
// log.info("[orderStatusQuery][loadApprove]审批状态查询加载,结果:审批状态成功,但是额度查询失败,视为审批中,applyNo={}, loanId={}", orderMapping.getApplyNo(), orderMapping.getLoanId());
// return false;
// }
// // 审批通过
// queryResult.setApproveStatus(OrderStatusQueryResult.ApproveStatus.PASS);
// BigDecimal maxAmount = quotaInfo.get().getRule().getMaxAmount();
// int maxTerm = quotaInfo.get().getRule().getMaxAmountAndTerm().getMaxTerm();
// OrderStatusQueryResult.LoanDetail loanDetail = new OrderStatusQueryResult.LoanDetail();
// loanDetail.setApproveAmount(maxAmount);
// loanDetail.setLoanTerm(maxTerm);
// List<QuotaRepaymentPreview> quotaRepaymentPreviews = repaymentPlanService.trialRepaymentPlan(String.valueOf(orderMapping.getQgUserId()), ProductUtil.getProductId(orderMapping.getRegisteredFrom()),
// Constants.DECIMAL_FORMAT2.format(maxAmount), String.valueOf(maxTerm), orderMapping.getApplyNo(), orderMapping.getLoanId());
// loanDetail.setQuotaRepaymentPreview(quotaRepaymentPreviews);
// queryResult.setLoanDetail(loanDetail);
// queryResult.setUpdateTime(DateUtil.dateStr2Date(String.valueOf(jsonResultApprove.getData()), DateUtil.DATE_FORMAT_1));
// log.info("[orderStatusQuery][loadApprove]审批状态查询加载,结果:审批状态成功,applyNo={}, loanId={}", orderMapping.getApplyNo(), orderMapping.getLoanId());
// return false;
// } else if (Constants.APPROVE_FUND_ING_B_CODE.getKey().equals(jsonResultApprove.getBusinessCode())) {
// // 待审批
// queryResult.setUpdateTime(date);
// queryResult.setApproveStatus(OrderStatusQueryResult.ApproveStatus.PROGRESSING);
// log.info("[orderStatusQuery][loadApprove]审批状态查询加载,结果:审批状态审批中,applyNo={}, loanId={}", orderMapping.getApplyNo(), orderMapping.getLoanId());
// return false;
// } else if (Constants.APPROVE_FUND_FAIL_B_CODE.getKey().equals(jsonResultApprove.getBusinessCode())) {
// // 未通过
// queryResult.setApproveStatus(OrderStatusQueryResult.ApproveStatus.REFUSE);
// queryResult.setUpdateTime(date);
// log.info("[orderStatusQuery][loadApprove]审批状态查询加载,结果:审批未通过,applyNo={}, loanId={}", orderMapping.getApplyNo(), orderMapping.getLoanId());
// return true;
// } else if (Constants.LOAN_CANCEL_B_CODE.getKey().equals(jsonResultApprove.getBusinessCode())) {
// // 借款取消
// queryResult.setCurrentOrderStatus(OrderStatusQueryResult.CurrentOrderStatus.CANCEL_LOAN);
// queryResult.setUpdateTime(date);
// queryResult.setApplyNo(orderMapping.getApplyNo());
// log.info("[orderStatusQuery][loadApprove]审批状态查询加载,结果:借款取消,applyNo={}, loanId={}", orderMapping.getApplyNo(), orderMapping.getLoanId());
// return true;
// }
// queryResult.setCurrentOrderStatus(OrderStatusQueryResult.CurrentOrderStatus.UNKOWN);
// log.info("[orderStatusQuery][loadApprove]审批状态查询加载,结果:未知,applyNo={}, loanId={}", orderMapping.getApplyNo(), orderMapping.getLoanId());
// return false;
// }
//
// /**
// * 加载提现状态,不管当前状态是什么,都需要加载审批状态
// * 方法必须 保证 1、是确定当前状态结束 或者 2、加载前置状态
// * @return true:当前状态结束;false:当前状态加载前置状态
// */
// private void loadDraw(OrderStatusQueryResult queryResult, LoanOrderMapping orderMapping) {
//
// // 先加载审批状态,填充OrderStatusQueryResult.LoanDetail(当状态是提现成功状态,OrderStatusQueryResult.LoanDetail也是有效的)
// // 必须 先加载审批方法,否则状态会覆盖
// loadApprove(queryResult, orderMapping);
//
// final Long loanId = orderMapping.getLoanId();
// if (loanId != null) {
// queryResult.setLoanId(loanId);
// XyqbLoanApplicationManifestHistory manifestHistory = loanApplicationManifestHistoryService.findByLoanApplicationHistoryId(loanId);
// if (manifestHistory != null) {
// // 提现成功状态
// queryResult.setCurrentOrderStatus(OrderStatusQueryResult.CurrentOrderStatus.DRAW);
// queryResult.setDrawStatus(OrderStatusQueryResult.DrawStatus.SUCCESS);
// OrderStatusQueryResult.DrawDetail drawDetail = new OrderStatusQueryResult.DrawDetail();
// drawDetail.setXyqbLoanApplicationManifestHistory(manifestHistory);
// queryResult.setDrawDetail(drawDetail);
// queryResult.setUpdateTime(manifestHistory.getCreatedAt());
// log.info("[orderStatusQuery][loadDraw]加载提现状态,结果:提现状态成功,applyNo={}, loanId={}", orderMapping.getApplyNo(), orderMapping.getLoanId());
// } else {
// log.info("[orderStatusQuery][loadDraw]加载提现状态,结果:提现状态成功,但是借款清单不存在,该状态异常,视为当前状态为审批状态,applyNo={}, loanId={}", orderMapping.getApplyNo(), orderMapping.getLoanId());
// }
// }
// }
//
// /**
// * 方法必须 保证 1、是确定当前状态结束 或者 2、加载前置状态
// * @return true:当前状态结束;false:当前状态加载前置状态
// */
// private Boolean loadPay(OrderStatusQueryResult queryResult, LoanOrderMapping orderMapping) {
//
// final Long loanId = orderMapping.getLoanId();
// if (loanId == null) {
// // loanId=null, 调用 提现状态加载(前置状态)
// log.info("[orderStatusQuery][loadPay]放款状态加载,结果:loanId=null,加载前置状态,applyNo={}, loanId={}", orderMapping.getApplyNo(), orderMapping.getLoanId());
// loadDraw(queryResult, orderMapping);
// return false;
// }
// queryResult.setLoanId(loanId);
// Optional<QueryXyqbFundStatusResponse> queryXyqbFundStatusResponseOptional = xyqbRepaymentPlanService.queryFundStatus(orderMapping.getApplyNo(), loanId);
// if (!queryXyqbFundStatusResponseOptional.isPresent()) {
// log.info("[orderStatusQuery][loadPay]放款状态加载,结果:放款中,加载前置状态(提现状态),applyNo={}, loanId={}", orderMapping.getApplyNo(), orderMapping.getLoanId());
// loadDraw(queryResult, orderMapping);
// return false;
// }
//
// QueryXyqbFundStatusResponse queryXyqbFundStatusResponse = queryXyqbFundStatusResponseOptional.get();
// FundStatusEnum fundStatusEnum = queryXyqbFundStatusResponse.getStatus();
// // 2018-09-26 08:47:13
// queryResult.setUpdateTime(DateUtil.dateStr2Date(queryXyqbFundStatusResponse.getUpdatedAt(), DateUtil.DATE_FORMAT_1));
//
// if (fundStatusEnum == null) {
// log.info("[orderStatusQuery][loadPay]放款状态加载,结果:放款中,加载前置状态(提现状态),applyNo={}, loanId={}", orderMapping.getApplyNo(), orderMapping.getLoanId());
// loadDraw(queryResult, orderMapping);
// return false;
// }
// switch (fundStatusEnum) {
// case SUCC:
// queryResult.setCurrentOrderStatus(OrderStatusQueryResult.CurrentOrderStatus.PAY);
// initPayDetail(queryResult, orderMapping);
// return false;
// case DEPOSITORY_SUCC:
// queryResult.setCurrentOrderStatus(OrderStatusQueryResult.CurrentOrderStatus.DEPOSITORY);
// queryResult.setDepositoryStatus(OrderStatusQueryResult.DepositoryStatus.DEPOSITORY_SUCC);
// initPayDetail(queryResult, orderMapping);
// return false;
// case FAIL:
// // 失败
// queryResult.setCurrentOrderStatus(OrderStatusQueryResult.CurrentOrderStatus.PAY);
// queryResult.setPayStatus(OrderStatusQueryResult.PayStatus.FAIL);
// // 结束 当前状态 放款失败
// log.info("[orderStatusQuery][loadPay]放款状态加载,结果:放款失败,applyNo={}, loanId={}", orderMapping.getApplyNo(), orderMapping.getLoanId());
// return true;
// case DEPOSITORY_FAIL:
// queryResult.setCurrentOrderStatus(OrderStatusQueryResult.CurrentOrderStatus.DEPOSITORY);
// queryResult.setDepositoryStatus(OrderStatusQueryResult.DepositoryStatus.DEPOSITORY_FAIL);
// initPayDetail(queryResult, orderMapping);
// return true;
// case DEPOSITORY_HANDING:
// // 视为放款成功
// queryResult.setCurrentOrderStatus(OrderStatusQueryResult.CurrentOrderStatus.PAY);
// queryResult.setPayStatus(OrderStatusQueryResult.PayStatus.SUCCESS);
// initPayDetail(queryResult, orderMapping);
// return false;
// case HANDING:
// queryResult.setCurrentOrderStatus(OrderStatusQueryResult.CurrentOrderStatus.PAY);
// queryResult.setPayStatus(OrderStatusQueryResult.PayStatus.PROGRESSING);
// // 待放款 调用 提现状态加载(前置状态)
// log.info("[orderStatusQuery][loadPay]放款状态加载,结果:放款中,加载前置状态(提现状态),applyNo={}, loanId={}", orderMapping.getApplyNo(), orderMapping.getLoanId());
// // 不能去查还款计划预览,xyqb报错
// //loadDraw(queryResult, orderMapping);
// return false;
// default:
// queryResult.setCurrentOrderStatus(OrderStatusQueryResult.CurrentOrderStatus.PAY);
// queryResult.setPayStatus(OrderStatusQueryResult.PayStatus.PROGRESSING);
// // 待放款 调用 提现状态加载(前置状态)
// log.info("[orderStatusQuery][loadPay]放款状态加载,结果:放款中,加载前置状态(提现状态),applyNo={}, loanId={}", orderMapping.getApplyNo(), orderMapping.getLoanId());
// //loadDraw(queryResult, orderMapping);
// return false;
// }
//
// }
//
// private void initPayDetail(OrderStatusQueryResult queryResult, LoanOrderMapping orderMapping) {
//
// XyqbLoanApplicationManifestHistory manifestHistory = loanApplicationManifestHistoryService.findByLoanApplicationHistoryId(orderMapping.getLoanId());
// if (manifestHistory != null) {
// queryResult.setPayStatus(OrderStatusQueryResult.PayStatus.SUCCESS);
//
// OrderStatusQueryResult.PayDetail payDetail = new OrderStatusQueryResult.PayDetail();
// payDetail.setPayAmount(manifestHistory.getContractLoanAmount());
// payDetail.setTerm(manifestHistory.getContractTerm());
// payDetail.setRepayAmount(manifestHistory.getTotalRepaymentAmount());
// payDetail.setMouthlyAmount(manifestHistory.getMonthlyRepayment());
// payDetail.setYearRate(manifestHistory.getAnnualInterestRate());
// payDetail.setMouthlyRate(manifestHistory.getMonthlyInterestRate());
//
// Optional<DepositoryBusiness> depositoryBusinessOptional = xyqbService.queryDepositoryBusiness(orderMapping.getApplyNo(), orderMapping.getLoanId());
// if (depositoryBusinessOptional.isPresent()) {
// Boolean withdrawType = depositoryBusinessOptional.get().getWithdrawType();
// payDetail.setIsDepository(withdrawType == null ? false : withdrawType);
// } else {
// payDetail.setIsDepository(false);
// }
// queryResult.setPayDetail(payDetail);
// queryResult.setRepaymentPlanViews(repaymentPlanService.queryRepaymentPlanFromXyqb(manifestHistory.getLoanApplicationHistoryId()));
//
// // 结束 当前状态 放款成功
// log.info("[orderStatusQuery][loadPay]放款状态加载,结果:放款成功,applyNo={}, loanId={}", orderMapping.getApplyNo(), orderMapping.getLoanId());
// } else {
// queryResult.setPayStatus(OrderStatusQueryResult.PayStatus.PROGRESSING);
// // 数据有误,试做前置状态对待,待放款 调用 提现状态加载(前置状态)
// log.info("[orderStatusQuery][loadPay]放款状态加载,已经查出是放款成功,但是借款清单无记录,数据异常,加载前置状态(提现状态),applyNo={}, loanId={}", orderMapping.getApplyNo(), orderMapping.getLoanId());
// loadDraw(queryResult, orderMapping);
// }
// }
//
// /**
// * @return true:订单终态,false:订单还可以继续流转
// */
// private Boolean loadFinalStatus(OrderStatusQueryResult queryResult, LoanOrderMapping orderMapping) {
// FinalStatusResponse finalStatusResponse = xyqbService.queryFinalStatus(orderMapping.getApplyNo(), orderMapping.getLoanId());
// if (finalStatusResponse != null) {
// if (FinalStatusEnum.LOAN_COMPLETE.equals(finalStatusResponse.getStatus())) {
// // 结清终态
// queryResult.setCurrentOrderStatus(OrderStatusQueryResult.CurrentOrderStatus.ALL_REPAID);
// queryResult.setUpdateTime(finalStatusResponse.getUpdatedAt());
// queryResult.setApplyNo(orderMapping.getApplyNo());
// log.info("[orderStatusQuery][loadFinalStatus]订单终态查询,结果:终态结清,applyNo={}, loanId={}", orderMapping.getApplyNo(), orderMapping.getLoanId());
// return true;
// } else if (finalStatusResponse.getStatus().isCancelLoan()) {
// // 借款取消
// queryResult.setCurrentOrderStatus(OrderStatusQueryResult.CurrentOrderStatus.CANCEL_LOAN);
// queryResult.setUpdateTime(finalStatusResponse.getUpdatedAt());
// queryResult.setApplyNo(orderMapping.getApplyNo());
// log.info("[orderStatusQuery][loadFinalStatus]订单终态查询,结果:终态取消,status={},applyNo={},loanId={}", finalStatusResponse.getStatus().name(), orderMapping.getApplyNo(), orderMapping.getLoanId());
// return true;
// } else if (FinalStatusEnum.CANCEL_AFTER_LOAN.equals(finalStatusResponse.getStatus())) {
// // 借款取消 贷后超时 取消
// queryResult.setCurrentOrderStatus(OrderStatusQueryResult.CurrentOrderStatus.CANCEL_AFTER_LOAN);
// queryResult.setUpdateTime(finalStatusResponse.getUpdatedAt());
// queryResult.setApplyNo(orderMapping.getApplyNo());
// log.info("[orderStatusQuery][loadFinalStatus]订单终态查询,结果:终态存管提现取消关闭,status={},applyNo={},loanId={}", finalStatusResponse.getStatus().name(), orderMapping.getApplyNo(), orderMapping.getLoanId());
// return true;
// }else {
// log.info("[orderStatusQuery][loadFinalStatus]订单终态查询,结果:未知,applyNo={}, loanId={}", orderMapping.getApplyNo(), orderMapping.getLoanId());
// return false;
// }
// }
// log.info("[orderStatusQuery][loadFinalStatus]订单终态查询,结果:未知,applyNo={}, loanId={}", orderMapping.getApplyNo(), orderMapping.getLoanId());
// return false;
// }
//
//
// // =======================================only status begin ====================================
//
//
// private OrderStatusQueryResultOnlyStatus loadFinalStatusOnlyStatus(OrderStatusQueryResultOnlyStatus queryResult, LoanOrderMapping orderMapping) {
// if (orderMapping.getLoanId() == null) {
// log.info("[orderStatusQuery][OnlyStatus][loadFinalStatus]订单终态查询loanId为空,结果未知");
// return null;
// }
// FinalStatusResponse finalStatusResponse = xyqbService.queryFinalStatus(orderMapping.getApplyNo(), orderMapping.getLoanId());
// if (finalStatusResponse != null) {
// if (FinalStatusEnum.LOAN_COMPLETE.equals(finalStatusResponse.getStatus())) {
// // 结清终态
// log.info("[orderStatusQuery][OnlyStatus][loadFinalStatus]订单终态查询,结果:终态结清,applyNo={}, loanId={}", orderMapping.getApplyNo(), orderMapping.getLoanId());
// queryResult.setKaNoticeType(KANoticeType.ALL_REPAID);
// return queryResult;
// } else if (finalStatusResponse.getStatus().isCancelLoan()) {
// // 借款取消
// queryResult.setKaNoticeType(KANoticeType.CANCEL_LOAN);
// log.info("[orderStatusQuery][OnlyStatus][loadFinalStatus]订单终态查询,结果:终态取消,status={},applyNo={},loanId={}", finalStatusResponse.getStatus().name(), orderMapping.getApplyNo(), orderMapping.getLoanId());
// return queryResult;
// } else if (FinalStatusEnum.CANCEL_AFTER_LOAN.equals(finalStatusResponse.getStatus())) {
// // 借款取消 贷后超时 取消
// log.info("[orderStatusQuery][loadFinalStatus]订单终态查询,结果:终态存管提现取消关闭,status={},applyNo={},loanId={}", finalStatusResponse.getStatus().name(), orderMapping.getApplyNo(), orderMapping.getLoanId());
// queryResult.setKaNoticeType(KANoticeType.CANCEL_AFTER_LOAN);
// return queryResult;
// }else {
// log.info("[orderStatusQuery][OnlyStatus][loadFinalStatus]订单终态查询,结果:未知,applyNo={}, loanId={}", orderMapping.getApplyNo(), orderMapping.getLoanId());
// return null;
// }
// }
// log.info("[orderStatusQuery][OnlyStatus][loadFinalStatus]订单终态查询,结果:未知,applyNo={}, loanId={}", orderMapping.getApplyNo(), orderMapping.getLoanId());
// return null;
// }
//
// private OrderStatusQueryResultOnlyStatus loadPayOnlyStatus(OrderStatusQueryResultOnlyStatus queryResult, LoanOrderMapping orderMapping) {
// final Long loanId = orderMapping.getLoanId();
// if (loanId == null) {
// // loanId=null, 调用 提现状态加载(前置状态)
// log.info("[orderStatusQuery][OnlyStatus][loadPay]放款状态加载,结果:loanId=null,加载前置状态,applyNo={}, loanId={}", orderMapping.getApplyNo(), orderMapping.getLoanId());
// return loadDrawOnlyStatus(queryResult, orderMapping);
// }
// queryResult.setLoanId(loanId);
// Optional<QueryXyqbFundStatusResponse> queryXyqbFundStatusResponseOptional = xyqbRepaymentPlanService.queryFundStatus(orderMapping.getApplyNo(), loanId);
// if (!queryXyqbFundStatusResponseOptional.isPresent()) {
// log.info("[orderStatusQuery][OnlyStatus][loadPay]放款状态加载,结果:放款中,加载前置状态(提现状态),applyNo={}, loanId={}", orderMapping.getApplyNo(), orderMapping.getLoanId());
// return loadDrawOnlyStatus(queryResult, orderMapping);
// }
//
// QueryXyqbFundStatusResponse queryXyqbFundStatusResponse = queryXyqbFundStatusResponseOptional.get();
// FundStatusEnum fundStatusEnum = queryXyqbFundStatusResponse.getStatus();
// // 2018-09-26 08:47:13
// queryResult.setUpdateTime(DateUtil.dateStr2Date(queryXyqbFundStatusResponse.getUpdatedAt(), DateUtil.DATE_FORMAT_1));
//
// if (fundStatusEnum == null) {
// log.info("[orderStatusQuery][OnlyStatus][loadPay]放款状态加载,结果:放款中,加载前置状态(提现状态),applyNo={}, loanId={}", orderMapping.getApplyNo(), orderMapping.getLoanId());
// return loadDrawOnlyStatus(queryResult, orderMapping);
// }
// switch (fundStatusEnum) {
// case SUCC:
// queryResult.setKaNoticeType(KANoticeType.FUND_SUCC);
// return queryResult;
// case DEPOSITORY_SUCC:
// queryResult.setKaNoticeType(KANoticeType.FUND_WITHDRAW_SUCC);
// return queryResult;
// case FAIL:
// // 失败
// queryResult.setKaNoticeType(KANoticeType.FUND_FAIL);
// log.info("[orderStatusQuery][loadPay]放款状态加载,结果:放款失败,applyNo={}, loanId={}", orderMapping.getApplyNo(), orderMapping.getLoanId());
// return queryResult;
// case DEPOSITORY_FAIL:
// queryResult.setKaNoticeType(KANoticeType.CANCEL_AFTER_LOAN);
// return queryResult;
// case DEPOSITORY_HANDING:
// // 视为放款成功
// queryResult.setKaNoticeType(KANoticeType.FUND_SUCC);
// return queryResult;
// case HANDING:
// queryResult.setKaNoticeType(KANoticeType.PAY_ING);
// return queryResult;
// default:
// log.info("[orderStatusQuery][loadPay]放款状态加载,结果:放款中,加载前置状态(提现状态),applyNo={}, loanId={}", orderMapping.getApplyNo(), orderMapping.getLoanId());
// return loadDrawOnlyStatus(queryResult, orderMapping);
// }
// }
//
// /**
// *
// * @param queryResult
// * @param orderMapping
// * @return
// */
// private OrderStatusQueryResultOnlyStatus loadDrawOnlyStatus(OrderStatusQueryResultOnlyStatus queryResult, LoanOrderMapping orderMapping) {
// final Long loanId = orderMapping.getLoanId();
// if (loanId != null) {
// queryResult.setKaNoticeType(KANoticeType.WITHDRAW);
// return queryResult;
// } else {
// return loadApproveOnlyStatus(queryResult, orderMapping);
// }
// }
//
// /**
// *
// * @param queryResult
// * @param orderMapping
// * @return
// */
// private OrderStatusQueryResultOnlyStatus loadApproveOnlyStatus(OrderStatusQueryResultOnlyStatus queryResult, LoanOrderMapping orderMapping) {
// JsonResult jsonResultApprove = exService.queryApproveStatus(orderMapping.getApplyNo());
// queryResult.setApplyNo(orderMapping.getApplyNo());
// // 格式:"2018-04-21 13:54:02"
// final String updateAt = String.valueOf(jsonResultApprove.getData());
// queryResult.setUpdateTime(DateUtil.dateStr2Date(updateAt, DateUtil.DATE_FORMAT_1));
//
// if (jsonResultApprove.isSuccess()) {
// queryResult.setKaNoticeType(KANoticeType.FUAD_ASSIFN_SUCC);
// log.info("[orderStatusQuery][OnlyStatus][loadApprove]审批状态查询加载,结果:审批状态成功,applyNo={}, loanId={}", orderMapping.getApplyNo(), orderMapping.getLoanId());
// } else if (Constants.APPROVE_FUND_ING_B_CODE.getKey().equals(jsonResultApprove.getBusinessCode())) {
// // 待审批
// queryResult.setKaNoticeType(KANoticeType.CREDIT_SUCC);
// log.info("[orderStatusQuery][OnlyStatus][loadApprove]审批状态查询加载,结果:审批状态审批中,applyNo={}, loanId={}", orderMapping.getApplyNo(), orderMapping.getLoanId());
// } else if (Constants.APPROVE_FUND_FAIL_B_CODE.getKey().equals(jsonResultApprove.getBusinessCode())) {
// // 未通过
// queryResult.setKaNoticeType(KANoticeType.REJECT);
// log.info("[orderStatusQuery][OnlyStatus][loadApprove]审批状态查询加载,结果:审批未通过,applyNo={}, loanId={}", orderMapping.getApplyNo(), orderMapping.getLoanId());
// } else if (Constants.LOAN_CANCEL_B_CODE.getKey().equals(jsonResultApprove.getBusinessCode())) {
// // 借款取消
// queryResult.setKaNoticeType(KANoticeType.CANCEL_LOAN);
// log.info("[orderStatusQuery][OnlyStatus][loadApprove]审批状态查询加载,结果:借款取消,applyNo={}, loanId={}", orderMapping.getApplyNo(), orderMapping.getLoanId());
// } else {
// queryResult.setKaNoticeType(KANoticeType.CREDIT_SUCC);
// log.info("[orderStatusQuery][OnlyStatus][loadApprove]审批状态查询加载,结果:未知,applyNo={}, loanId={}", orderMapping.getApplyNo(), orderMapping.getLoanId());
// }
// return queryResult;
// }
//
// // =======================================only status end ====================================
//
//
// /**
// * 审批状态查询
// * @param applyNo
// * @return
// */
// public JsonResult queryApproveStatus(String applyNo) {
// Optional<QueryCheckResultResponse> queryApproveStatusOptional = xyqbService.queryCheckResultStatus(applyNo);
//
// if (!queryApproveStatusOptional.isPresent()) {
// return JsonResult.buildErrorStateResult("请求失败", "", Constants.APPROVE_FUND_ING_B_CODE.getValue());
// }
// if (QueryCheckResultResponse.ProductTypeEnum.CASH.equals(queryApproveStatusOptional.get().getProductType())) {
// if (queryApproveStatusOptional.get().getStatus() != null) {
// switch (queryApproveStatusOptional.get().getStatus()) {
// case WAITING_RISKCONTROL:
// case ASSIGN_INIT:
// case ASSIGN_QUEUE:
// case ON_ASSIGNING:
// case ASSIGN_HANG:
// case UN_KNOWN:
// // RISKCONTROL_PASS : 风控审批通过,还没分配资金方,不能查询额度
// case RISKCONTROL_PASS:
// return JsonResult.buildErrorStateResult("审批中", queryApproveStatusOptional.get().getUpdatedAt(), Constants.APPROVE_FUND_ING_B_CODE.getValue());
// case FUND_REFUSE://add 风控通过,资金分配失败
// case RISKCONTROL_REFUSE:
// return JsonResult.buildErrorStateResult("审批未通过", queryApproveStatusOptional.get().getUpdatedAt(), Constants.APPROVE_FUND_FAIL_B_CODE.getValue());
// case ASSIGN_FAIL:
// case USER_CANCEL:
// return JsonResult.buildErrorStateResult("订单取消", queryApproveStatusOptional.get().getUpdatedAt(), Constants.LOAN_CANCEL_B_CODE.getValue());
// case ASSIGN_SUCC:
// return JsonResult.buildSuccessResult("审批通过", queryApproveStatusOptional.get().getUpdatedAt());
// default:return JsonResult.buildErrorStateResult("审批未通过", queryApproveStatusOptional.get().getUpdatedAt(), Constants.APPROVE_FUND_FAIL_B_CODE.getValue());
// }
// }
// } else if (QueryCheckResultResponse.ProductTypeEnum.UN_KNOWN.equals(queryApproveStatusOptional.get().getProductType())) {
// return JsonResult.buildErrorStateResult("审批中", queryApproveStatusOptional.get().getUpdatedAt(), Constants.APPROVE_FUND_ING_B_CODE.getValue());
// }
// return JsonResult.buildErrorStateResult("审批中", queryApproveStatusOptional.get().getUpdatedAt(), Constants.APPROVE_FUND_ING_B_CODE.getValue());
// }
}
package cn.quantgroup.cashloanflowboss.spi.xyqb.service;
import cn.quantgroup.cashloanflowboss.spi.model.JsonResult;
import cn.quantgroup.cashloanflowboss.spi.util.HttpService;
import cn.quantgroup.cashloanflowboss.spi.xyqb.model.ProductUtil;
import cn.quantgroup.cashloanflowboss.spi.xyqb.model.QuotaCreditInfo;
import cn.quantgroup.cashloanflowboss.spi.xyqb.model.QuotaInfo;
import cn.quantgroup.cashloanflowboss.utils.JSONTools;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.fasterxml.jackson.core.type.TypeReference;
import com.google.common.collect.ImmutableMap;
import com.google.common.collect.Maps;
import com.google.common.reflect.TypeToken;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.exception.ExceptionUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service;
import java.lang.reflect.Type;
import java.math.BigDecimal;
import java.util.*;
/**
*
* @author abe
* @Date 20180105
*/
@Service
public class XyqbService {
// private static final Logger LOGGER = LoggerFactory.getLogger(XyqbService.class);
//
// @Value("${api.http}")
// private String xyqbUrl;
//
// @Autowired
// private HttpService httpService;
//
//// @Override
//// public String queryXyqbForData(String interfaceUrl , Map<String, String> param){
//// try{
//// LOGGER.info("[KA_INVOKE_XYQB][queryXyqbForData]开始调用查询xyqb库接口,路径是={},参数是={}", interfaceUrl, param);
//// return httpService.get(xyqbUrl+interfaceUrl,param);
//// }catch(Exception e){
//// LOGGER.error("[exception][KA_INVOKE_XYQB][queryXyqbForData]调用xyqb接口查询出现异常,接口路径={},参数是={}", interfaceUrl, param, e);
//// return null;
//// }
//// }
////
//// @Override
//// public String postXyqbSaveData(String interfaceUrl , Map<String, String> param){
//// try{
//// LOGGER.info("[postXyqbSaveData]开始调用查询xyqb库接口,路径是={},参数是={}", interfaceUrl, param);
//// return httpService.post(xyqbUrl+interfaceUrl,param);
//// }catch(Exception e){
//// LOGGER.error("[exception][KA_INVOKE_XYQB][postXyqbSaveData]调用xyqb接口查询出现异常,接口路径={},参数是={}", interfaceUrl, param, e);
//// return null;
//// }
//// }
//
//
// /** 关闭授信订单 */
// public boolean closeCreditLoan(Long userId, String applyNo) {
// String url = String.valueOf(xyqbUrl + "/ex/ka/quota/credit/close");
// Map<String, String> param = new HashMap<>(4);
// param.put("userId", String.valueOf(userId));
// param.put("orderNo", applyNo);
// String result = httpService.post(url, param);
// JsonResult jsonResult = JSONTools.deserialize(result, JsonResult.class);
// if (jsonResult != null && jsonResult.isSuccess()) {
// return true;
// } else {
// LOGGER.error("[closeCreditLoan][closeCreditLoan_fail]授信订单关闭失败,userId={},applyNo={}", userId, applyNo);
// return false;
// }
// }
//
// /**
// * 查询额度创建之后的详细信息
// * @param userId
// * @param registeredFrom
// * @return
// */
// public Optional<QuotaInfo> queryQuotaInfo(Long userId, Long registeredFrom) {
// final String url = String.valueOf(xyqbUrl + "/ex/ka/quota/info");
// final Map<String, String> param = new HashMap<>(4);
// param.put("userId", String.valueOf(userId));
// param.put("productId", ProductUtil.getProductId(registeredFrom));
//
// final String result = httpService.get(url, param);
// TypeReference<JsonResult<QuotaInfo>> typeReference = new TypeReference<JsonResult<QuotaInfo>>() {};
// JsonResult<QuotaInfo> jsonResult = JSONTools.deserialize(result, typeReference);
// if (jsonResult != null && jsonResult.isSuccess()) {
// QuotaInfo quotaInfo = jsonResult.getData();
// if (QuotaInfo.validationQuotaInfo(quotaInfo)) {
// return Optional.ofNullable(quotaInfo);
// } else {
// LOGGER.error("[queryQuotaInfo_{}][queryQuotaInfo_fail]授信订单查询结果未通过验证,userId={},result={}",registeredFrom, userId, result);
// return Optional.empty();
// }
// }
// LOGGER.error("[queryQuotaInfo_{}][queryQuotaInfo_fail]授信订单结果查询失败,userId={},result={}",registeredFrom, userId, result);
// return Optional.empty();
// }
//
// public Optional<QuotaCreditInfo> queryQuotaCreditInfo(String orderNo) {
// final String url = String.valueOf(xyqbUrl + "/ex/ka/quota/credit-info");
// final Map<String, String> param = new HashMap<>(2);
// param.put("orderNo", orderNo);
//
// final String result = httpService.get(url, param);
//
// TypeReference<JsonResult<QuotaCreditInfo>> typeReference = new TypeReference<JsonResult<QuotaCreditInfo>>() {};
// JsonResult<QuotaCreditInfo> jsonResult = JSONTools.deserialize(result, typeReference);
// if (jsonResult != null && jsonResult.isSuccess()) {
// return Optional.ofNullable(jsonResult.getData());
// } else {
// LOGGER.error("[queryQuotaCreditInfo_{}][queryQuotaCreditInfo_fail]授信订单结果查询失败,orderNo={},result={}", orderNo, result);
// return Optional.empty();
// }
// }
////
//// public Optional<QuotaCreditInfo> queryQuotaCreditInfo(Long loanId) {
//// final String url = String.valueOf(xyqbUrl + "/ex/ka/quota/loan/credit");
//// final Map<String, String> param = new HashMap<>(2);
//// param.put("loanId", String.valueOf(loanId));
////
//// final String result = httpService.get(url, param);
//// final Type type = new TypeToken<JsonResultGenericData<QuotaCreditInfo>>() {}.getType();
//// Optional<JsonResultGenericData<QuotaCreditInfo>> jsonResultOptional = JsonUtil.fromGsonByParamType(result, type);
//// if (jsonResultOptional.isPresent() && jsonResultOptional.get().isSuccess()) {
//// return Optional.ofNullable(jsonResultOptional.get().getData());
//// } else {
//// LOGGER.error("[queryQuotaCreditInfo_{}][queryQuotaCreditInfo_fail]授信订单结果查询失败,loanId={},result={}", loanId, result);
//// return Optional.empty();
//// }
//// }
//
//
//
// /**
// * 查询订单终态
// * @param applyNo
// * @param loanId
// * @return
// */
// @Override
// public FinalStatusResponse queryFinalStatus(String applyNo, Long loanId) {
// FinalStatusResponse finalStatusResponse = new FinalStatusResponse();
//
//
// if (LoanUtil.isQuotaLoanId(loanId)) {
// final String url = String.valueOf(xyqbUrl + "/ex/ka/quota/loan/final/status");
// final Map<String, String> param = new HashMap<>(2);
// param.put("loanId", String.valueOf(loanId));
//
// final String result = httpService.get(url, param);
// LOGGER.info("[queryFinalStatus_{}][queryFinalStatus]订单终态查询,loanId={},result={}", loanId, result);
// final Type type = new TypeToken<JsonResultGenericData<FinalStatusResponse.QueryXyqbFinalStatusResponse>>() {}.getType();
// Optional<JsonResultGenericData<FinalStatusResponse.QueryXyqbFinalStatusResponse>> jsonResultOptional = JsonUtil.fromGsonByParamType(result, type);
// if (jsonResultOptional.isPresent() && jsonResultOptional.get().isSuccess()) {
// final FinalStatusResponse.QueryXyqbFinalStatusResponse data = jsonResultOptional.get().getData();
// if (data != null) {
// finalStatusResponse.setStatus(FinalStatusEnum.getFinalStatusEnum(data.getStatus()));
// finalStatusResponse.setUpdatedAt(DateUtil.dateStr2Date(data.getUpdatedAt(), DateUtil.DATE_FORMAT_1));
// return finalStatusResponse;
// }
// }
// } else {
// if (StringUtils.isNotEmpty(applyNo)) {
// Optional<QueryCheckResultResponse> queryCheckResultResponseOptional = queryCheckResultStatus(applyNo);
// if (queryCheckResultResponseOptional.isPresent()) {
// QueryCheckResultResponse queryCheckResultResponse = queryCheckResultResponseOptional.get();
// finalStatusResponse.setStatus(FinalStatusEnum.getFinalStatusEnum(queryCheckResultResponse.getStatus()));
// finalStatusResponse.setUpdatedAt(DateUtil.dateStr2Date(queryCheckResultResponse.getUpdatedAt(), DateUtil.DATE_FORMAT_1));
// return finalStatusResponse;
// }
// }
// }
// LOGGER.error("[queryFinalStatus][queryFinalStatus_default]订单终态查询,未查询到终态,loanId={},applyNo={}", loanId, applyNo);
// finalStatusResponse.setStatus(FinalStatusEnum.UNKNOWN);
// finalStatusResponse.setUpdatedAt(new Date());
// return finalStatusResponse;
// }
//
// @Override
// public Optional<QueryXyqbFundStatusResponse> queryFundStatus(Long loanId) {
// final String url = String.valueOf(xyqbUrl + "/ex/ka/quota/fund/status");
// final Map<String, String> param = new HashMap<>(2);
// param.put("loanId", String.valueOf(loanId));
//
// final String result = httpService.get(url, param);
// LOGGER.info("[queryFundStatus_{}][queryFundStatus]放款状态查询,loanId={},result={}", loanId, result);
// final Type type = new TypeToken<JsonResultGenericData<QueryXyqbFundStatusResponse>>() {}.getType();
// Optional<JsonResultGenericData<QueryXyqbFundStatusResponse>> jsonResultOptional = JsonUtil.fromGsonByParamType(result, type);
// if (jsonResultOptional.isPresent() && jsonResultOptional.get().isSuccess()) {
// return Optional.ofNullable(jsonResultOptional.get().getData());
// } else {
// LOGGER.error("[queryFundStatus_{}][queryFundStatus_fail]放款状态查询失败,loanId={},result={}", loanId, result);
// return Optional.empty();
// }
// }
//
// /**
// * 查询该笔授信订单 目前状态
// * @param applyNo
// * @return
// */
// @Override
// public Optional<QueryCheckResultResponse> queryCheckResultStatus(String applyNo) {
// final String url = String.valueOf(xyqbUrl + "/ex/ka/quota/current/status");
// final Map<String, String> param = new HashMap<>(2);
// param.put("orderNo", applyNo);
//
// final String result = httpService.get(url, param);
// LOGGER.info("[queryCheckResultStatus_{}][queryCheckResultStatus]查询审批状态,applyNo={},result={}", applyNo, result);
// final Type type = new TypeToken<JsonResultGenericData<QueryCheckResultResponse>>() {}.getType();
// Optional<JsonResultGenericData<QueryCheckResultResponse>> jsonResultOptional = JsonUtil.fromGsonByParamType(result, type);
// if (jsonResultOptional.isPresent() && jsonResultOptional.get().isSuccess()) {
// return Optional.ofNullable(jsonResultOptional.get().getData());
// } else {
// LOGGER.error("[queryCheckResultStatus_{}][queryCheckResultStatus_fail]查询审批状态失败,applyNo={},result={}", applyNo, result);
// return Optional.empty();
// }
// }
//
// @Override
// public Optional<QuotaRepaymentPreview> queryQuotaPreviewByFirstTerm(Long userId, Long productId, BigDecimal totalAmount, Integer term){
// List<QuotaRepaymentPreview> quotaRepaymentPreviews = trialRepaymentPlan(String.valueOf(userId), String.valueOf(productId), Constants.DECIMAL_FORMAT0.format(totalAmount), String.valueOf(term));
// if (CollectionUtils.isNotEmpty(quotaRepaymentPreviews)) {
// return Optional.ofNullable(quotaRepaymentPreviews.get(0));
// } else {
// return Optional.empty();
// }
// }
//
// @Override
// public Optional<PaymentBusinessInfo> queryPaymentBusinessInfo(Long loanId, Long channelId) {
// String url = String.valueOf(xyqbUrl + "/ex/ka/xiaoniu/card");
// Map<String, String> param = new HashMap<>(4);
// param.put("loanId", String.valueOf(loanId));
// param.put("channel", String.valueOf(channelId));
// String result = httpService.get(url, param);
// Optional<JsonResult> jsonResultOptional = JsonUtil.fromJson(result, JsonResult.class);
// if (jsonResultOptional.isPresent() && jsonResultOptional.get().isSuccess()) {
// LOGGER.info("[queryPaymentBusinessInfo]查询放款信息,loanId={},result={}",loanId, result);
// PaymentBusinessInfo paymentBusinessInfo = new PaymentBusinessInfo();
// paymentBusinessInfo.setPaymentAccount(String.valueOf(jsonResultOptional.get().getData()));
// return Optional.ofNullable(paymentBusinessInfo);
// } else {
// LOGGER.error("[queryPaymentBusinessInfo][queryPaymentBusinessInfo_fail]查询放款卡信息,loanId={},result={}",loanId, result);
// return Optional.empty();
// }
// }
//
// @Override
// public JsonResult applyQuitCourse(String applyNo, Long loanId, Long channelId) {
// String url = String.valueOf(xyqbUrl + "/ex/ka/xiaoniu/drop_course");
// Map<String, String> param = new HashMap<>(4);
// param.put("loanId", String.valueOf(loanId));
// param.put("channel", Objects.toString(channelId));
// param.put("orderNo", applyNo);
// String result = httpService.post(url, param);
// Optional<JsonResult> jsonResultOptional = JsonUtil.fromJson(result, JsonResult.class);
// if (jsonResultOptional.isPresent()) {
// LOGGER.info("[xiaoniu_applyQuitCourse]小牛在xyqb 申请退课,loanId={},applyNo={},result={}",loanId, applyNo, result);
// return jsonResultOptional.get();
// } else {
// LOGGER.error("[xiaoniu_applyQuitCourse][xiaoniu_applyQuitCourse_fail]小牛在xyqb 申请退课请求异常,loanId={},applyNo={},result={}",loanId, applyNo, result);
// return JsonResult.buildEmptyStateResult("系统异常");
// }
// }
//
// @Override
// public Optional<DepositoryBusiness> queryDepositoryBusiness(String applyNo, Long loanId) {
// String url = String.valueOf(xyqbUrl + "/ex/ka/fund/withdraw");
// Map<String, String> param = new HashMap<>(2);
// param.put("loanId", String.valueOf(loanId));
// String result = httpService.get(url, param);
// Type type = new TypeToken<JsonResultGenericData<DepositoryBusiness>>() {}.getType();
// Optional<JsonResultGenericData<DepositoryBusiness>> jsonResultOptional = JsonUtil.fromGsonByParamType(result, type);
// if (jsonResultOptional.isPresent() && jsonResultOptional.get().isSuccess()) {
// LOGGER.info("[queryDepositoryBusiness]查询存管状态,loanId={},result={}",loanId, result);
// return Optional.ofNullable(jsonResultOptional.get().getData());
// } else {
// LOGGER.error("[queryDepositoryBusiness][paymentAndBindCard_fail]查询存管状态,loanId={},result={}",loanId, result);
// return Optional.empty();
// }
// }
//
// @Override
// public List<QuotaRepaymentPreview> trialRepaymentPlan(String userId, String productId, String amount, String term) {
// final String url = String.valueOf(xyqbUrl + "/ex/ka/quota/preview/plans");
// final Map<String, String> param = new HashMap<>(8);
// param.put("userId", userId);
// param.put("amount", amount);
// // term=1 查第一期,term=9 查1-9期
// param.put("term", term);
// param.put("productId", productId);
//
// final String result = httpService.get(url, param);
// final Type type = new TypeToken<JsonResultGenericData<List<QuotaRepaymentPreview>>>() {}.getType();
// final Optional<JsonResultGenericData<List<QuotaRepaymentPreview>>> jsonResultOptional = JsonUtil.fromGsonByParamType(result, type);
// if (jsonResultOptional.isPresent() && jsonResultOptional.get().isSuccess()) {
// return jsonResultOptional.get().getData();
// } else {
// LOGGER.error("[queryQueryQuotaPreview_{}][queryQueryQuotaPreview_fail]预览还款计划失败,userId={},productId={},amount={},term={},result={}", userId, amount, term, result);
// return null;
// }
// }
//
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment