Commit d7aa7daf authored by suntao's avatar suntao

放款功能

parent b3e722a6
......@@ -249,14 +249,13 @@ public class OrderService {
xyqbCenterService.saveFundLending(fundLending);
}
// 如果是非存管,创建放款MQ
if (orderApprove.getFundType() == 0) {
// 如果是非存管
this.xyqbCenterService.payResultNotify(orderMapping.getLoanId(), lendingFormModel.getResult());
} else {
this.xyqbCenterService.pushLendingResult(orderMapping.getLoanId(), lendingFormModel.getResult() ? 3 : 4);
// p2p
this.xyqbCenterService.payResultNotify(orderMapping.getLoanId(), lendingFormModel.getResult());
Map data = this.xyqbCenterService.queryLendingRecordCount(orderApprove.getFundId(), 0);
if (data.size() > 0) {
......
package cn.quantgroup.cashloanflowboss.spi.paycenter.client;
import cn.quantgroup.cashloanflowboss.spi.xyqb.client.XYQBCenter;
import org.springframework.cloud.netflix.feign.FeignClient;
import org.springframework.stereotype.Component;
/**
* function:
* date: 2019/9/2
*
* @author: suntao
*/
@Component
@FeignClient(name = "PayCenter", url = "${api.https}", fallback = XYQBCenter.Fallback.class)
public class PayCenter {
}
package cn.quantgroup.cashloanflowboss.spi.paycenter.service;
import org.springframework.stereotype.Service;
/**
* function:
* date: 2019/9/2
*
* @author: suntao
*/
@Service
public class PayCenterService {
}
......@@ -21,9 +21,11 @@ public interface ContractRepository extends JpaRepository<Contract, Long> {
* @param status
* @return
*/
@Deprecated
@Modifying
@Query(value = "update contract set generate_status = ?2 where user_id = ?1", nativeQuery = true)
int updateContractStatus(Long userId, Integer status);
Contract findByUserId(Long qgUserId);
@Query(value = "select * from contract where user_id = ?1 order by id desc limit 1", nativeQuery = true)
Contract findByUserIdLastOne(Long qgUserId);
}
......@@ -2,7 +2,6 @@ package cn.quantgroup.cashloanflowboss.spi.xyqb.service;
import cn.quantgroup.cashloanflowboss.api.order.model.XyqbCurrentOrderStatusServiceResultModel;
import cn.quantgroup.cashloanflowboss.api.order.model.XyqbHistoryOrderStatusServiceResultModel;
import cn.quantgroup.cashloanflowboss.core.base.Result;
import cn.quantgroup.cashloanflowboss.core.base.ServiceResult;
import cn.quantgroup.cashloanflowboss.spi.xyqb.client.XYQBCenter;
import cn.quantgroup.cashloanflowboss.spi.xyqb.entity.Contract;
......@@ -69,29 +68,44 @@ public class XYQBCenterService {
return this.fundLendingRepository.queryLendingRecordCount(fundId, progress);
}
/**
* 生成放款结果MQ
*
* @param loanId
* @param status
* 贷前取消借款
* @param channelOrderNumber
* @return
*/
public boolean pushLendingResult(Long loanId, Integer status) {
public Long cancelPreLoan(String channelOrderNumber) {
return cancelPreLoanRepository.cancelPreLoan(channelOrderNumber);
}
// TODO WEIWEI 查看返回的数据结构,补充判断逻辑
String data = this.xyqbCenter.pushLendingResult(new HashMap() {{
put("orderNo", loanId);
put("payOrderNo", loanId);
put("payTime", System.currentTimeMillis());
put("payStatus", status);
}});
/**
* 通过userId获取合同
* @param userId
* @return
*/
public Contract findContractByUserId(Long userId) {
return contractRepository.findByUserIdLastOne(userId);
}
return false;
/**
* 保存合同
* @param contract
*/
public void saveContract(Contract contract) {
contractRepository.save(contract);
}
public FundLending findFundLendingByLoanId(Long loanId) {
return fundLendingRepository.findByLoanId(loanId);
}
public void saveFundLending(FundLending fundLending) {
fundLendingRepository.save(fundLending);
}
/**
* 查询订单当前状态
* @param creditOrderNumber
......@@ -128,25 +142,19 @@ public class XYQBCenterService {
return xyqbCenter.getXyqbOrderHistoryStatus(paramMap);
}
public Long cancelPreLoan(String channelOrderNumber) {
return cancelPreLoanRepository.cancelPreLoan(channelOrderNumber);
}
public Contract findContractByUserId(Long userId) {
return contractRepository.findByUserId(userId);
}
public void saveContract(Contract contract) {
contractRepository.save(contract);
}
public FundLending findFundLendingByLoanId(Long loanId) {
return fundLendingRepository.findByLoanId(loanId);
/**
* 放款 放款结果通知
* @param loanId 订单loanId
* @param expectPayResult 期望放款结果 true 放款成功 false 放款失败
* @return
*/
public boolean payResultNotify(Long loanId, Boolean expectPayResult) {
Map paramMap = Maps.newHashMap();
paramMap.put("orderNo", loanId);
paramMap.put("payOrderNo", loanId);
paramMap.put("payTime", "");
paramMap.put("payStatus", expectPayResult ? 3 : 4);
return "success".equals(xyqbCenter.pushLendingResult(paramMap));
}
public void saveFundLending(FundLending fundLending) {
fundLendingRepository.save(fundLending);
}
}
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