Commit d7aa7daf authored by suntao's avatar suntao

放款功能

parent b3e722a6
...@@ -249,14 +249,13 @@ public class OrderService { ...@@ -249,14 +249,13 @@ public class OrderService {
xyqbCenterService.saveFundLending(fundLending); xyqbCenterService.saveFundLending(fundLending);
} }
// 如果是非存管,创建放款MQ
if (orderApprove.getFundType() == 0) { if (orderApprove.getFundType() == 0) {
// 如果是非存管
this.xyqbCenterService.payResultNotify(orderMapping.getLoanId(), lendingFormModel.getResult());
} else { } 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); Map data = this.xyqbCenterService.queryLendingRecordCount(orderApprove.getFundId(), 0);
if (data.size() > 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> { ...@@ -21,9 +21,11 @@ public interface ContractRepository extends JpaRepository<Contract, Long> {
* @param status * @param status
* @return * @return
*/ */
@Deprecated
@Modifying @Modifying
@Query(value = "update contract set generate_status = ?2 where user_id = ?1", nativeQuery = true) @Query(value = "update contract set generate_status = ?2 where user_id = ?1", nativeQuery = true)
int updateContractStatus(Long userId, Integer status); 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; ...@@ -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.XyqbCurrentOrderStatusServiceResultModel;
import cn.quantgroup.cashloanflowboss.api.order.model.XyqbHistoryOrderStatusServiceResultModel; 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.core.base.ServiceResult;
import cn.quantgroup.cashloanflowboss.spi.xyqb.client.XYQBCenter; import cn.quantgroup.cashloanflowboss.spi.xyqb.client.XYQBCenter;
import cn.quantgroup.cashloanflowboss.spi.xyqb.entity.Contract; import cn.quantgroup.cashloanflowboss.spi.xyqb.entity.Contract;
...@@ -69,29 +68,44 @@ public class XYQBCenterService { ...@@ -69,29 +68,44 @@ public class XYQBCenterService {
return this.fundLendingRepository.queryLendingRecordCount(fundId, progress); return this.fundLendingRepository.queryLendingRecordCount(fundId, progress);
} }
/** /**
* 生成放款结果MQ * 贷前取消借款
* * @param channelOrderNumber
* @param loanId
* @param status
* @return * @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); * 通过userId获取合同
put("payOrderNo", loanId); * @param userId
put("payTime", System.currentTimeMillis()); * @return
put("payStatus", status); */
}}); 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 * @param creditOrderNumber
...@@ -128,25 +142,19 @@ public class XYQBCenterService { ...@@ -128,25 +142,19 @@ public class XYQBCenterService {
return xyqbCenter.getXyqbOrderHistoryStatus(paramMap); return xyqbCenter.getXyqbOrderHistoryStatus(paramMap);
} }
/**
public Long cancelPreLoan(String channelOrderNumber) { * 放款 放款结果通知
return cancelPreLoanRepository.cancelPreLoan(channelOrderNumber); * @param loanId 订单loanId
} * @param expectPayResult 期望放款结果 true 放款成功 false 放款失败
* @return
*/
public Contract findContractByUserId(Long userId) { public boolean payResultNotify(Long loanId, Boolean expectPayResult) {
return contractRepository.findByUserId(userId); Map paramMap = Maps.newHashMap();
} paramMap.put("orderNo", loanId);
paramMap.put("payOrderNo", loanId);
public void saveContract(Contract contract) { paramMap.put("payTime", "");
contractRepository.save(contract); paramMap.put("payStatus", expectPayResult ? 3 : 4);
} return "success".equals(xyqbCenter.pushLendingResult(paramMap));
public FundLending findFundLendingByLoanId(Long loanId) {
return fundLendingRepository.findByLoanId(loanId);
} }
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