Commit 0b4a4568 authored by shangying's avatar shangying

提交部分代码

parent 805cb120
...@@ -27,7 +27,9 @@ public enum LoanStatusEnum { ...@@ -27,7 +27,9 @@ public enum LoanStatusEnum {
DIRECT_INVESTMENT_FAILURE(34,"直投打款失败"), DIRECT_INVESTMENT_FAILURE(34,"直投打款失败"),
LOAN_REQUEST_FAILED (35,"放款请求失败"), LOAN_REQUEST_FAILED (35,"放款请求失败"),
DIRECT_INVESTMENT_SUCCESS_STATUSNOTRIGHT (36,"直投打款成功,但状态不对"), DIRECT_INVESTMENT_SUCCESS_STATUSNOTRIGHT (36,"直投打款成功,但状态不对"),
FINAL_FUNDED_APPROVAL_FAIL(37,"马上金融放款失败"); FINAL_FUNDED_APPROVAL_FAIL(37,"马上金融放款失败"),
LOAN_REQUEST_NULL(38,"放款结果空"),
LOAN_SCHEDULE_FAIL(39,"定时任务放款也失败了");
private int code; private int code;
private String desc; private String desc;
......
...@@ -40,6 +40,11 @@ public interface OneClickDataRespository extends JpaRepository<OneClickData, Lon ...@@ -40,6 +40,11 @@ public interface OneClickDataRespository extends JpaRepository<OneClickData, Lon
@Query(value = "select * from one_click_data where credit_status = ?1 and type not in (?2) order by id desc", nativeQuery = true) @Query(value = "select * from one_click_data where credit_status = ?1 and type not in (?2) order by id desc", nativeQuery = true)
List<OneClickData> findByCreditStatusAndTypeNotIn(Integer creditStatus,Integer type); List<OneClickData> findByCreditStatusAndTypeNotIn(Integer creditStatus,Integer type);
// 通过授信状态查询,申请类型是非1的
@Query(value = "select * from one_click_data where credit_status = ?1 and type not in (?2,?3,?4,?5) and loan_status != 15 order by id desc", nativeQuery = true)
List<OneClickData> findByCreditStatusAndTypeNotIn(Integer creditStatus,Integer type,Integer type1,Integer type2,Integer type3);
// 通过id修改 放款loanid // 通过id修改 放款loanid
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@Modifying @Modifying
......
...@@ -14,11 +14,11 @@ public interface ApplyLoanService { ...@@ -14,11 +14,11 @@ public interface ApplyLoanService {
public static boolean reslut=true; public static boolean reslut=true;
Result applyLoan(OneClickModel oneClickModel); Result applyLoan(OneClickModel oneClickModel);
JSONObject apply(OneClickModel oneClickModel,String md5Keywy,String aesKeywy); JSONObject apply(OneClickModel oneClickModel,String md5Keywy,String aesKeywy);
Map<String, Object> zhangZhongApply(OneClickModel oneClickModel,String name,String channelUserId); Map<String, Object> zhangZhongApply(OneClickModel oneClickModel,String name,String channelUserId,String orderNo);
Map<String, Object> shiGuangFenQiApply(OneClickModel oneClickModel,String name,String channelUserId); Map<String, Object> shiGuangFenQiApply(OneClickModel oneClickModel,String name,String channelUserId,String orderNo);
Map<String, Object> xiaoJMApply(OneClickModel oneClickModel,String name,String channelUserId); Map<String, Object> xiaoJMApply(OneClickModel oneClickModel,String name,String channelUserId,String orderNo);
Map<String, Object> guoMeiApply(OneClickModel oneClickModel,String name,String channelUserId); Map<String, Object> guoMeiApply(OneClickModel oneClickModel,String name,String channelUserId,String orderNo);
Map<String, Object> weiDianApply(OneClickModel oneClickModel,String name,String channelUserId); Map<String, Object> weiDianApply(OneClickModel oneClickModel,String name,String channelUserId,String orderNo);
Map<String, Object> defautApply(OneClickModel oneClickModel,String name,String channelUserId); Map<String, Object> defautApply(OneClickModel oneClickModel,String name,String channelUserId);
} }
...@@ -23,6 +23,14 @@ public interface LoanOperationService { ...@@ -23,6 +23,14 @@ public interface LoanOperationService {
LoanApplicationHistory selectLoanId(Long userId,Integer businessType); LoanApplicationHistory selectLoanId(Long userId,Integer businessType);
/**
* 查询放款单
* @param id
*/
LoanApplicationHistory selectLoanId(Long id);
/** /**
* 二次风控 * 二次风控
* */ * */
...@@ -47,7 +55,7 @@ public interface LoanOperationService { ...@@ -47,7 +55,7 @@ public interface LoanOperationService {
Map queryLendingRecordCount(Long fundId); Map queryLendingRecordCount(Long fundId);
Long queryLendingRecordSumCount(Long fundId); Integer queryLendingRecordSumCount(Long fundId);
BigDecimal queryLendingRecordAmountMountSumCount(Long fundId); BigDecimal queryLendingRecordAmountMountSumCount(Long fundId);
......
...@@ -4,32 +4,37 @@ package cn.quantgroup.cashloanflowboss.api.oneclickdata.service; ...@@ -4,32 +4,37 @@ package cn.quantgroup.cashloanflowboss.api.oneclickdata.service;
* Created by shang on 2019/12/12. * Created by shang on 2019/12/12.
*/ */
public interface OneClickDataOperateJobService { public interface OneClickDataOperateJobService {
/* /**
* 执行授信成功请求 * 执行授信成功请求
* */ * */
void excuteCreditSuccessJob(); void excuteCreditSuccessJob();
/* /**
* 执行授信失败请求 * 执行授信失败请求
* */ * */
void excuteCreditFailJob(); void excuteCreditFailJob();
/* /**
* 执行查询授信状态 * 执行查询授信状态
* */ * */
void excuteSelectCreditStatusJob(); void excuteSelectCreditStatusJob();
/* /**
* 执行放款成功请求 * 执行放款成功请求
* */ * */
void excuteFundSucessJob(); void excuteFundSucessJob();
/* /**
* 执行放款失败请求 * 执行放款失败请求
* */ * */
void excuteFundFailJob(); void excuteFundFailJob();
/* /**
* 执行放款请求
* */
void excuteFundJob();
/**
* 执行查询放款状态 * 执行查询放款状态
* */ * */
void excuteSelectFundStatusJob(); void excuteSelectFundStatusJob();
......
...@@ -12,13 +12,13 @@ import org.springframework.data.domain.Page; ...@@ -12,13 +12,13 @@ import org.springframework.data.domain.Page;
*/ */
public interface OneClickDataOperateService { public interface OneClickDataOperateService {
Result OnekeyApply(OneClickModel oneClickModel); Result onekeyApply(OneClickModel oneClickModel);
Result OneKeyCashWithdrawal(OneClickModel oneClickModel) throws Exception; Result oneKeyCashWithdrawal(OneClickModel oneClickModel) throws Exception;
Result OneKeyCreditSuccessOrFail(OneClickModel oneClickModel) throws Exception; Result oneKeyCreditSuccessOrFail(OneClickModel oneClickModel) throws Exception;
Result OneKeyLoanSuccessOrFail(OneClickModel oneClickModel) throws Exception; Result oneKeyLoanSuccessOrFail(OneClickModel oneClickModel) throws Exception;
Page<OneClickSelectModel> findOneClickSelectModelByCriteriaQueryPage(OneClickSelectModel oneClickSelectModel ); Page<OneClickSelectModel> findOneClickSelectModelByCriteriaQueryPage(OneClickSelectModel oneClickSelectModel );
} }
package cn.quantgroup.cashloanflowboss.api.oneclickdata.service; package cn.quantgroup.cashloanflowboss.api.oneclickdata.service;
import cn.quantgroup.cashloanflowboss.api.oneclickdata.entity.OneClickData;
import cn.quantgroup.cashloanflowboss.core.base.Result;
import com.alibaba.fastjson.JSONObject;
/** /**
* Created by shang on 2019/12/19. * Created by shang on 2019/12/19.
*/ */
public interface OneClickDataQueueOperateService { public interface OneClickDataQueueOperateService {
void getCreditNotifyIsSucess(String queueMsg); void getCreditNotifyIsSucess(String queueMsg);
Result commonFundAssifnSucc(OneClickData oneClickData);
JSONObject applyLendingNotifyOnly(OneClickData oneClickData);
} }
package cn.quantgroup.cashloanflowboss.api.oneclickdata.service; package cn.quantgroup.cashloanflowboss.api.oneclickdata.service;
import cn.quantgroup.cashloanflowboss.spi.xyqb.entity.FinanceProduct;
import cn.quantgroup.cashloanflowboss.spi.xyqb.entity.QuotaCredit; import cn.quantgroup.cashloanflowboss.spi.xyqb.entity.QuotaCredit;
import cn.quantgroup.user.retbean.XUser; import cn.quantgroup.user.retbean.XUser;
import java.util.List;
/** /**
* Created by shang on 2019/12/3. * Created by shang on 2019/12/3.
*/ */
...@@ -108,4 +111,8 @@ public interface PhoneInfoService { ...@@ -108,4 +111,8 @@ public interface PhoneInfoService {
*/ */
void updat800QouteProductType(); void updat800QouteProductType();
/**
* 通过fundCorpId返回
*/
List<FinanceProduct> getFinanceProduct(Long fundCorpId);
} }
package cn.quantgroup.cashloanflowboss.api.oneclickdata.service; package cn.quantgroup.cashloanflowboss.api.oneclickdata.service;
import cn.quantgroup.cashloanflowboss.api.oneclickdata.entity.OneClickData; import cn.quantgroup.cashloanflowboss.api.oneclickdata.entity.OneClickData;
import cn.quantgroup.cashloanflowboss.core.base.Result;
import cn.quantgroup.cashloanflowboss.spi.xyqb.entity.RepaymentPlan; import cn.quantgroup.cashloanflowboss.spi.xyqb.entity.RepaymentPlan;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
...@@ -11,11 +12,11 @@ public interface RepaymentPlatService { ...@@ -11,11 +12,11 @@ public interface RepaymentPlatService {
/** /**
* 是否有未还款计划 * 是否有未还款计划
**/ **/
RepaymentPlan whetherHaveRepayment0rdersList(OneClickData oneClickData); Result whetherHaveRepayment0rdersList(OneClickData oneClickData);
/** /**
* 获取还款计划表 * 获取还款计划表
**/ **/
JSONObject getRepaymentOrdersList(String loanID, String token,String repaymentToken,OneClickData oneClickData); JSONObject getRepaymentOrdersList(String loanID, String token,OneClickData oneClickData);
/** /**
* 支付中心token获取 * 支付中心token获取
**/ **/
......
...@@ -61,19 +61,6 @@ public class ApplyLoanServiceImpl implements ApplyLoanService { ...@@ -61,19 +61,6 @@ public class ApplyLoanServiceImpl implements ApplyLoanService {
md5Keywy=clfChannelConfiguration.getMd5Key(); md5Keywy=clfChannelConfiguration.getMd5Key();
aesKeywy=clfChannelConfiguration.getAesKey(); aesKeywy=clfChannelConfiguration.getAesKey();
result=apply(oneClickModel,md5Keywy,aesKeywy); result=apply(oneClickModel,md5Keywy,aesKeywy);
// if(oneClickModel.getChannel().equals(ChannelEnum.ZHANGHZONG.getCode())){
// result= zhangZhongApply(oneClickModel,md5Keywy,aesKeywy);
// }else if(oneClickModel.getChannel().equals(ChannelEnum.SHIGUANGFQ.getCode())){
// result= shiGuangFenQiApply();
// }else if(oneClickModel.getChannel().equals(ChannelEnum.XIAOJUMAO.getCode())){
// result= xiaoJMApply();
// }else if(oneClickModel.getChannel().equals(ChannelEnum.GUOMEI.getCode())){
// result= guoMeiApply();
// }else if(oneClickModel.getChannel().equals(ChannelEnum.WEIDIAN.getCode())){
// result= weiDianApply();
// }else{
// result= defautApply();
// }
String getDecryption = AESUtil.decryptAfterBase64Decode(result.get("context").toString(), aesKeywy); String getDecryption = AESUtil.decryptAfterBase64Decode(result.get("context").toString(), aesKeywy);
log.info("解密的getDecryption的结果={}" , getDecryption); log.info("解密的getDecryption的结果={}" , getDecryption);
JSONObject getDecryptionResult = (JSONObject) JSONObject.parse(getDecryption); JSONObject getDecryptionResult = (JSONObject) JSONObject.parse(getDecryption);
...@@ -126,48 +113,52 @@ public class ApplyLoanServiceImpl implements ApplyLoanService { ...@@ -126,48 +113,52 @@ public class ApplyLoanServiceImpl implements ApplyLoanService {
String channelCode="ZHANGZHONG"; String channelCode="ZHANGZHONG";
String orderNoStart="begin"; String orderNoStart="begin";
//测试 //测试
// String url = "http://qapi-arch.liangkebang.net"+"/ex/api/v2/applyLoan/ZHANGZHONG"; // String url = "http://qapi-arch.liangkebang.net"+"/ex/api/v2/applyLoan/ZHANGZHONG";
orderNo=orderNoStart+"_"+oneClickModel.getPhone()+"_"+System.currentTimeMillis();
String name = "简介"; String name = "简介";
String channelUserId = orderNoStart+"_"+ oneClickModel.getPhone(); String channelUserId = orderNoStart+"_"+ oneClickModel.getPhone();
Map<String, Object> paras=new HashMap<String, Object>(); Map<String, Object> paras=new HashMap<String, Object>();
if(oneClickModel.getChannel().equals(ChannelEnum.ZHANGHZONG.getCode())){ if(oneClickModel.getChannel().equals(ChannelEnum.ZHANGHZONG.getCode())){
channelCode="ZHANGZHONG"; channelCode="ZHANGZHONG";
orderNoStart="ZZ"; orderNoStart="ZZ";
orderNo=orderNoStart+"_"+oneClickModel.getPhone()+"_"+System.currentTimeMillis();
channelUserId = orderNoStart+"_"+ oneClickModel.getPhone(); channelUserId = orderNoStart+"_"+ oneClickModel.getPhone();
paras= zhangZhongApply(oneClickModel,name,channelUserId); paras= zhangZhongApply(oneClickModel,name,channelUserId,orderNo);
}else if(oneClickModel.getChannel().equals(ChannelEnum.SHIGUANGFQ.getCode())){ }else if(oneClickModel.getChannel().equals(ChannelEnum.SHIGUANGFQ.getCode())){
channelCode="SHIGUANGFQ"; channelCode="SHIGUANGFQ";
orderNoStart="SGFQ"; orderNoStart="SGFQ";
orderNo=orderNoStart+"_"+oneClickModel.getPhone()+"_"+System.currentTimeMillis();
channelUserId = orderNoStart+"_"+ oneClickModel.getPhone(); channelUserId = orderNoStart+"_"+ oneClickModel.getPhone();
paras= shiGuangFenQiApply(oneClickModel,name,channelUserId); paras= shiGuangFenQiApply(oneClickModel,name,channelUserId,orderNo);
}else if(oneClickModel.getChannel().equals(ChannelEnum.XIAOJUMAO.getCode())){ }else if(oneClickModel.getChannel().equals(ChannelEnum.XIAOJUMAO.getCode())){
channelCode="XIAOJUMAO"; channelCode="XIAOJUMAO";
orderNoStart="XJM"; orderNoStart="XJM";
orderNo=orderNoStart+"_"+oneClickModel.getPhone()+"_"+System.currentTimeMillis();
channelUserId = orderNoStart+"_"+ oneClickModel.getPhone(); channelUserId = orderNoStart+"_"+ oneClickModel.getPhone();
paras= xiaoJMApply(oneClickModel,name,channelUserId); paras= xiaoJMApply(oneClickModel,name,channelUserId,orderNo);
}else if(oneClickModel.getChannel().equals(ChannelEnum.GUOMEI.getCode())){ }else if(oneClickModel.getChannel().equals(ChannelEnum.GUOMEI.getCode())){
channelCode="GUOMEI"; channelCode="GUOMEI";
orderNoStart="GM"; orderNoStart="GM";
orderNo=orderNoStart+"_"+oneClickModel.getPhone()+"_"+System.currentTimeMillis();
channelUserId = orderNoStart+"_"+ oneClickModel.getPhone(); channelUserId = orderNoStart+"_"+ oneClickModel.getPhone();
paras= guoMeiApply(oneClickModel,name,channelUserId); paras= guoMeiApply(oneClickModel,name,channelUserId,orderNo);
}else if(oneClickModel.getChannel().equals(ChannelEnum.WEIDIAN.getCode())){ }else if(oneClickModel.getChannel().equals(ChannelEnum.WEIDIAN.getCode())){
channelCode="WEIDIAN"; channelCode="WEIDIAN";
orderNoStart="WD"; orderNoStart="WD";
orderNo=orderNoStart+"_"+oneClickModel.getPhone()+"_"+System.currentTimeMillis();
channelUserId = orderNoStart+"_"+ oneClickModel.getPhone(); channelUserId = orderNoStart+"_"+ oneClickModel.getPhone();
paras= weiDianApply(oneClickModel,name,channelUserId); paras= weiDianApply(oneClickModel,name,channelUserId,orderNo);
}else{ }else{
paras= defautApply(oneClickModel,name,channelUserId); paras= defautApply(oneClickModel,name,channelUserId);
} }
log.info("获取进件的值paras={}",paras);
String url = qapiHttp+"/ex/api/v2/applyLoan/"+channelCode; String url = qapiHttp+"/ex/api/v2/applyLoan/"+channelCode;
String encryptContent = GetEncryptContentAndMd5.getEncryptContent(paras, aesKeywy, md5Keywy); String encryptContent = GetEncryptContentAndMd5.getEncryptContent(paras, aesKeywy, md5Keywy);
...@@ -180,7 +171,7 @@ public class ApplyLoanServiceImpl implements ApplyLoanService { ...@@ -180,7 +171,7 @@ public class ApplyLoanServiceImpl implements ApplyLoanService {
@Override @Override
public Map<String, Object> zhangZhongApply(OneClickModel oneClickModel,String name,String channelUserId) { public Map<String, Object> zhangZhongApply(OneClickModel oneClickModel,String name,String channelUserId,String orderNo) {
Map<String, Object> paras =new HashMap<String, Object>(); Map<String, Object> paras =new HashMap<String, Object>();
paras.put("address", "湖北省恩施州利川团堡"); paras.put("address", "湖北省恩施州利川团堡");
...@@ -262,7 +253,7 @@ public class ApplyLoanServiceImpl implements ApplyLoanService { ...@@ -262,7 +253,7 @@ public class ApplyLoanServiceImpl implements ApplyLoanService {
String name = "简介"; String name = "简介";
String channelUserId = "ZZ_"+ oneClickModel.getPhone(); String channelUserId = "ZZ_"+ oneClickModel.getPhone();
Map<String, Object> paras =getParas(oneClickModel,name,channelUserId); Map<String, Object> paras =getParas(oneClickModel,name,channelUserId,orderNo);
String encryptContent = GetEncryptContentAndMd5.getEncryptContent(paras, aesKeywy, md5Keywy); String encryptContent = GetEncryptContentAndMd5.getEncryptContent(paras, aesKeywy, md5Keywy);
...@@ -276,7 +267,7 @@ public class ApplyLoanServiceImpl implements ApplyLoanService { ...@@ -276,7 +267,7 @@ public class ApplyLoanServiceImpl implements ApplyLoanService {
} }
public Map<String, Object> getParas ( OneClickModel oneClickModel,String name,String channelUserId){ public Map<String, Object> getParas ( OneClickModel oneClickModel,String name,String channelUserId,String orderNo){
Map<String, Object> paras =new HashMap<String, Object>(); Map<String, Object> paras =new HashMap<String, Object>();
paras.put("address", "湖北省恩施州利川团堡"); paras.put("address", "湖北省恩施州利川团堡");
...@@ -350,7 +341,7 @@ public class ApplyLoanServiceImpl implements ApplyLoanService { ...@@ -350,7 +341,7 @@ public class ApplyLoanServiceImpl implements ApplyLoanService {
@Override @Override
public Map<String, Object> shiGuangFenQiApply(OneClickModel oneClickModel,String name,String channelUserId) { public Map<String, Object> shiGuangFenQiApply(OneClickModel oneClickModel,String name,String channelUserId,String orderNo) {
Map<String, Object> paras =new HashMap<String, Object>(); Map<String, Object> paras =new HashMap<String, Object>();
paras.put("address", "湖北省恩施州利川团堡"); paras.put("address", "湖北省恩施州利川团堡");
...@@ -422,7 +413,7 @@ public class ApplyLoanServiceImpl implements ApplyLoanService { ...@@ -422,7 +413,7 @@ public class ApplyLoanServiceImpl implements ApplyLoanService {
} }
@Override @Override
public Map<String, Object> xiaoJMApply(OneClickModel oneClickModel,String name,String channelUserId) { public Map<String, Object> xiaoJMApply(OneClickModel oneClickModel,String name,String channelUserId,String orderNo) {
Map<String, Object> paras =new HashMap<String, Object>(); Map<String, Object> paras =new HashMap<String, Object>();
paras.put("address", "湖北省恩施州利川团堡"); paras.put("address", "湖北省恩施州利川团堡");
...@@ -494,7 +485,7 @@ public class ApplyLoanServiceImpl implements ApplyLoanService { ...@@ -494,7 +485,7 @@ public class ApplyLoanServiceImpl implements ApplyLoanService {
} }
@Override @Override
public Map<String, Object> guoMeiApply(OneClickModel oneClickModel,String name,String channelUserId) { public Map<String, Object> guoMeiApply(OneClickModel oneClickModel,String name,String channelUserId,String orderNo) {
Map<String, Object> paras =new HashMap<String, Object>(); Map<String, Object> paras =new HashMap<String, Object>();
paras.put("address", "湖北省恩施州利川团堡"); paras.put("address", "湖北省恩施州利川团堡");
paras.put("applyAmount", oneClickModel.getAmount()); paras.put("applyAmount", oneClickModel.getAmount());
...@@ -571,7 +562,7 @@ public class ApplyLoanServiceImpl implements ApplyLoanService { ...@@ -571,7 +562,7 @@ public class ApplyLoanServiceImpl implements ApplyLoanService {
} }
@Override @Override
public Map<String, Object> weiDianApply(OneClickModel oneClickModel,String name,String channelUserId) { public Map<String, Object> weiDianApply(OneClickModel oneClickModel,String name,String channelUserId,String orderNo) {
Map<String, Object> paras =new HashMap<String, Object>(); Map<String, Object> paras =new HashMap<String, Object>();
paras.put("address", "湖北省恩施州利川团堡"); paras.put("address", "湖北省恩施州利川团堡");
paras.put("applyAmount", oneClickModel.getAmount()); paras.put("applyAmount", oneClickModel.getAmount());
......
...@@ -61,25 +61,12 @@ public class CashWithdrawalServiceImpl implements CashWithdrawalService{ ...@@ -61,25 +61,12 @@ public class CashWithdrawalServiceImpl implements CashWithdrawalService{
md5Keywy=clfChannelConfiguration.getMd5Key(); md5Keywy=clfChannelConfiguration.getMd5Key();
aesKeywy=clfChannelConfiguration.getAesKey(); aesKeywy=clfChannelConfiguration.getAesKey();
result= applyLoan(oneClickData, md5Keywy, aesKeywy); result= applyLoan(oneClickData, md5Keywy, aesKeywy);
// if(oneClickData.getChannelCode().trim().equals(ChannelEnum.ZHANGHZONG.getCode())){
// result= applyZhangZhongLoan(oneClickData, md5Keywy, aesKeywy);
//
// }else if(oneClickData.getChannel().equals(ChannelEnum.SHIGUANGFQ.getCode())){
// result= null;
// }else if(oneClickData.getChannel().equals(ChannelEnum.XIAOJUMAO.getCode())){
// result= null;
// }else if(oneClickData.getChannel().equals(ChannelEnum.GUOMEI.getCode())){
// result= null;
// }else if(oneClickData.getChannel().equals(ChannelEnum.WEIDIAN.getCode())){
// result= null;
// }else{
// result= null;
// }
String context=result.get("context").toString().trim(); String context=result.get("context").toString().trim();
if(!StringUtils.isBlank(context)){ if(!StringUtils.isBlank(context)){
String getDecryption = AESUtil.decryptAfterBase64Decode(context, aesKeywy); String getDecryption = AESUtil.decryptAfterBase64Decode(context, aesKeywy);
log.info("解密的getDecryption的结果={}" + getDecryption); log.info("解密的getDecryption的结果={}" , getDecryption);
JSONObject getDecryptionResult = (JSONObject) JSONObject.parse(getDecryption); JSONObject getDecryptionResult = (JSONObject) JSONObject.parse(getDecryption);
log.info("打印一下getDecryptionResult={}",getDecryptionResult.get("bizData")); log.info("打印一下getDecryptionResult={}",getDecryptionResult.get("bizData"));
...@@ -138,17 +125,17 @@ public class CashWithdrawalServiceImpl implements CashWithdrawalService{ ...@@ -138,17 +125,17 @@ public class CashWithdrawalServiceImpl implements CashWithdrawalService{
if(oneClickData.getChannelCode().trim().equals(ChannelEnum.ZHANGHZONG.getCode())){ if(oneClickData.getChannelCode().trim().equals(ChannelEnum.ZHANGHZONG.getCode())){
channelCode="ZHANGZHONG"; channelCode="ZHANGZHONG";
paras= applyZhangZhongLoan(oneClickData,bankCardNumber,bankCode,bankName); paras= applyZhangZhongLoan(oneClickData,bankCardNumber,bankCode,bankName);
}else if(oneClickData.getChannel().equals(ChannelEnum.SHIGUANGFQ.getCode())){ }else if(oneClickData.getChannelCode().equals(ChannelEnum.SHIGUANGFQ.getCode())){
channelCode="SHIGUANGFQ"; channelCode="SHIGUANGFQ";
paras= applyShiGuangFenQiLoan(oneClickData, bankCardNumber, bankCode, bankName); paras= applyShiGuangFenQiLoan(oneClickData, bankCardNumber, bankCode, bankName);
}else if(oneClickData.getChannel().equals(ChannelEnum.XIAOJUMAO.getCode())){ }else if(oneClickData.getChannelCode().equals(ChannelEnum.XIAOJUMAO.getCode())){
channelCode="XIAOJUMAO"; channelCode="XIAOJUMAO";
paras= applyXiaoJMLoan(oneClickData, bankCardNumber, bankCode, bankName); paras= applyXiaoJMLoan(oneClickData, bankCardNumber, bankCode, bankName);
}else if(oneClickData.getChannel().equals(ChannelEnum.GUOMEI.getCode())){ }else if(oneClickData.getChannelCode().equals(ChannelEnum.GUOMEI.getCode())){
channelCode="GUOMEI"; channelCode="GUOMEI";
paras= applyGuoMeiLoan(oneClickData, bankCardNumber, bankCode, bankName); paras= applyGuoMeiLoan(oneClickData, bankCardNumber, bankCode, bankName);
}else if(oneClickData.getChannel().equals(ChannelEnum.WEIDIAN.getCode())){ }else if(oneClickData.getChannelCode().equals(ChannelEnum.WEIDIAN.getCode())){
channelCode="WEIDIAN"; channelCode="WEIDIAN";
paras= applyWeiDianLoan(oneClickData, bankCardNumber, bankCode, bankName); paras= applyWeiDianLoan(oneClickData, bankCardNumber, bankCode, bankName);
...@@ -162,7 +149,7 @@ public class CashWithdrawalServiceImpl implements CashWithdrawalService{ ...@@ -162,7 +149,7 @@ public class CashWithdrawalServiceImpl implements CashWithdrawalService{
Map<String,String> content_map = new HashMap<String, String>(); Map<String,String> content_map = new HashMap<String, String>();
content_map.put("content",encryptContent); content_map.put("content",encryptContent);
log.info("获取当前的paras={}",paras); log.info("获取当前的paras={}", paras);
JSONObject result = HttpRequest.doPostReturnResponseJson(url, content_map); JSONObject result = HttpRequest.doPostReturnResponseJson(url, content_map);
return result; return result;
...@@ -172,7 +159,7 @@ public class CashWithdrawalServiceImpl implements CashWithdrawalService{ ...@@ -172,7 +159,7 @@ public class CashWithdrawalServiceImpl implements CashWithdrawalService{
/** /**
* 掌众的申请提现 * 掌众的申请提现
* */ * */
public Map applyZhangZhongLoan(OneClickData oneClickData,String bankCardNumber,String bankCode,String bankName){ public Map<String,String> applyZhangZhongLoan(OneClickData oneClickData,String bankCardNumber,String bankCode,String bankName){
Map<String,String> paras = new HashMap<String, String>(); Map<String,String> paras = new HashMap<String, String>();
paras.put("channelOrderNumber",oneClickData.getChannelOrderNo()); paras.put("channelOrderNumber",oneClickData.getChannelOrderNo());
paras.put("bankCardNumber",bankCardNumber); paras.put("bankCardNumber",bankCardNumber);
...@@ -195,8 +182,7 @@ public class CashWithdrawalServiceImpl implements CashWithdrawalService{ ...@@ -195,8 +182,7 @@ public class CashWithdrawalServiceImpl implements CashWithdrawalService{
paras.put("bankCode",bankCode); paras.put("bankCode",bankCode);
paras.put("bankName",bankName); paras.put("bankName",bankName);
paras.put("reservePhoneNumber", oneClickData.getPhone()); paras.put("reservePhoneNumber", oneClickData.getPhone());
log.info("获取当前的paras={}",paras);
return paras; return paras;
} }
......
...@@ -8,6 +8,7 @@ import cn.quantgroup.cashloanflowboss.api.oneclickdata.service.CreditGrantingSer ...@@ -8,6 +8,7 @@ import cn.quantgroup.cashloanflowboss.api.oneclickdata.service.CreditGrantingSer
import cn.quantgroup.cashloanflowboss.api.oneclickdata.service.PhoneInfoService; import cn.quantgroup.cashloanflowboss.api.oneclickdata.service.PhoneInfoService;
import cn.quantgroup.cashloanflowboss.core.base.Result; import cn.quantgroup.cashloanflowboss.core.base.Result;
import cn.quantgroup.cashloanflowboss.core.dictionary.ApplicationStatus; import cn.quantgroup.cashloanflowboss.core.dictionary.ApplicationStatus;
import cn.quantgroup.cashloanflowboss.spi.xyqb.entity.FinanceProduct;
import cn.quantgroup.cashloanflowboss.spi.xyqb.entity.QuotaCredit; import cn.quantgroup.cashloanflowboss.spi.xyqb.entity.QuotaCredit;
import cn.quantgroup.cashloanflowboss.utils.GetBiNoAndFinanceProducts; import cn.quantgroup.cashloanflowboss.utils.GetBiNoAndFinanceProducts;
import cn.quantgroup.cashloanflowboss.utils.http.HttpRequest; import cn.quantgroup.cashloanflowboss.utils.http.HttpRequest;
...@@ -18,10 +19,7 @@ import org.springframework.beans.factory.annotation.Autowired; ...@@ -18,10 +19,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.ArrayList; import java.util.*;
import java.util.HashMap;
import java.util.Map;
import java.util.Objects;
/** /**
* Created by shang on 2019/12/4. * Created by shang on 2019/12/4.
...@@ -191,49 +189,23 @@ public class CreditGrantingServiceImpl implements CreditGrantingService{ ...@@ -191,49 +189,23 @@ public class CreditGrantingServiceImpl implements CreditGrantingService{
} }
public Result applyCreditNotifyMq(OneClickData oneClickData, QuotaCredit quotaCredit,String auditResult) throws Exception { public Result applyCreditNotifyMq(OneClickData oneClickData, QuotaCredit quotaCredit,String auditResult) throws Exception {
String url = clothoHttp + "/external/quota/auth_amount_audit/notify"; log.info("打印quotaCredit={}",quotaCredit);
Map<String, String> paras = new HashMap<String, String>(); if (Objects.isNull(quotaCredit)){
ArrayList listPara1 =getPublicInfoMq(oneClickData); return Result.buildFail("授信记录未查询到quotaCredit!!!,请检查数据") ;
paras.put("code", "0"); }
paras.put("msg", "success");
paras.put("bizChannel", "1");
//通过手机号获取用户信息 //通过手机号获取用户信息
XUser xUser=phoneInfoService.selectUserID(oneClickData.getPhone()); XUser xUser=phoneInfoService.selectUserID(oneClickData.getPhone());
log.info("打印一下xUser:{}",xUser); log.info("打印一下xUser:{}",xUser);
String uuid=xUser.getUuid(); String uuid=xUser.getUuid();
Long userId=xUser.getId(); Long userId=xUser.getId();
paras.put("uuid", uuid); log.info("打印一下userid={},oneClickModel={}",userId,oneClickData); //通过用户id获取产品信息
//通过用户id获取产品信息 int productId= Integer.parseInt(quotaCredit.getProductId().toString().trim());
log.info("打印一下userid:{},oneClickModel:{}",userId,oneClickData);
if (Objects.isNull(quotaCredit)){
log.info("打印quotaCredit={}",quotaCredit);
return Result.buildFail("授信记录未查询到quotaCredit!!!,请检查数据") ;
}
int productId= Integer.parseInt(quotaCredit.getProductId().toString().trim()) ;
String biNo = String.valueOf(quotaCredit.getProductType()); String biNo = String.valueOf(quotaCredit.getProductType());
String quotaRecordOrderNo=quotaCredit.getOrderNo(); String quotaRecordOrderNo=quotaCredit.getOrderNo();
//获取产品分配基础信息,默认rate都是0 String getToken=phoneInfoService.getToken(oneClickData.getPhone(), oneClickData.getChannelCode()); // 通过手机号和渠道code获取token
HashMap<Object, Object> getBiNoAndFinanceProduct = GetBiNoAndFinanceProducts.getBiNoAndFinanceProduct(productId, listPara1); log.info("打印当前的oneClickData={},auditResult={},quotaRecordOrderNo={},uuid={}, biNo={}, productId={},getToken={}",oneClickData,auditResult,quotaRecordOrderNo,uuid, biNo, productId,getToken);
JSONObject result= getCreditNotifyResult(oneClickData,quotaCredit,auditResult,quotaRecordOrderNo,uuid, biNo, productId,getToken);
paras.put("bizNo", quotaRecordOrderNo); log.info("打印一下查看当前的授信状态={}",result);
paras.put("bizType", biNo);
paras.put("auditResult", auditResult);
paras.put("amount", oneClickData.getAmount().toString().trim());
paras.put("deadLine", "1607746332000");
paras.put("extData", "null");
paras.put("otherInformation", "");
paras.put("financeProducts", getBiNoAndFinanceProduct.get("financeProducts").toString().trim());
Map<String, String> header = new HashMap<String, String>();
header.put("Content-Type", "application/x-www-form-urlencoded");
// 通过手机号和渠道code获取token
String getToken=phoneInfoService.getToken(oneClickData.getPhone(), oneClickData.getChannelCode());
header.put("x-auth-token", getToken);
log.info("获取paras={},获取header={}",paras,header);
JSONObject result = HttpRequest.doPostReturnResponseJson(url, paras, header);
String statusCode=result.get("statusCode").toString().trim(); String statusCode=result.get("statusCode").toString().trim();
String statusCodeCompare="200"; String statusCodeCompare="200";
String context=result.get("context").toString().trim(); String context=result.get("context").toString().trim();
...@@ -254,6 +226,7 @@ public class CreditGrantingServiceImpl implements CreditGrantingService{ ...@@ -254,6 +226,7 @@ public class CreditGrantingServiceImpl implements CreditGrantingService{
boolean fundplan=fundsAllocationplanService.fundPlannedDistribution(oneClickData.getFundCorpId()); boolean fundplan=fundsAllocationplanService.fundPlannedDistribution(oneClickData.getFundCorpId());
if(fundplan){ if(fundplan){
log.info("自己分配计划ok",oneClickData); log.info("自己分配计划ok",oneClickData);
}else{ }else{
log.info("自己分配计划失败:{}",oneClickData); log.info("自己分配计划失败:{}",oneClickData);
} }
...@@ -269,6 +242,41 @@ public class CreditGrantingServiceImpl implements CreditGrantingService{ ...@@ -269,6 +242,41 @@ public class CreditGrantingServiceImpl implements CreditGrantingService{
} }
public JSONObject getCreditNotifyResult(OneClickData oneClickData,QuotaCredit quotaCredit,String auditResult,String quotaRecordOrderNo,String uuid,String biNo,int productId,String getToken){
String url = clothoHttp + "/external/quota/auth_amount_audit/notify";
Map<String, String> paras = new HashMap<String, String>();
ArrayList listPara1 =getPublicInfoMq(oneClickData,quotaCredit);
log.info("打印listPara1={}",listPara1);
paras.put("code", "0");
paras.put("msg", "success");
paras.put("bizChannel", "1");
paras.put("uuid", uuid);
//获取产品分配基础信息,默认rate都是0
HashMap<Object, Object> getBiNoAndFinanceProduct = GetBiNoAndFinanceProducts.getBiNoAndFinanceProduct(productId, listPara1);
log.info("打印getBiNoAndFinanceProduct={}", getBiNoAndFinanceProduct.get("financeProducts").toString().trim());
paras.put("bizNo", quotaRecordOrderNo);
paras.put("bizType", biNo);
log.info("打印一下auditResult={}",auditResult);
// paras.put("auditResult",auditResult);
paras.put("auditResult","true");
paras.put("amount", oneClickData.getAmount().toString().trim());
paras.put("deadLine", "1607746332000");
paras.put("extData", "null");
paras.put("otherInformation", "");
paras.put("financeProducts", getBiNoAndFinanceProduct.get("financeProducts").toString().trim());
Map<String, String> header = new HashMap<String, String>();
header.put("Content-Type", "application/x-www-form-urlencoded");
header.put("x-auth-token", getToken);
log.info("获取paras={},获取header={}",paras,header);
JSONObject result = HttpRequest.doPostReturnResponseJson(url, paras, header);
return result;
}
public ArrayList getPublicInfo(OneClickModel oneClickModel){ public ArrayList getPublicInfo(OneClickModel oneClickModel){
ArrayList listPara1 = new ArrayList(); ArrayList listPara1 = new ArrayList();
listPara1.add(0, oneClickModel.getAmount()); listPara1.add(0, oneClickModel.getAmount());
...@@ -280,13 +288,19 @@ public class CreditGrantingServiceImpl implements CreditGrantingService{ ...@@ -280,13 +288,19 @@ public class CreditGrantingServiceImpl implements CreditGrantingService{
} }
public ArrayList getPublicInfoMq(OneClickData oneClickData){ public ArrayList getPublicInfoMq(OneClickData oneClickData,QuotaCredit quotaCredit){
ArrayList listPara1 = new ArrayList(); ArrayList listPara1 = new ArrayList();
listPara1.add(0, oneClickData.getAmount().toString().trim()); listPara1.add(0, oneClickData.getAmount().toString().trim());
listPara1.add(1, oneClickData.getTermNo()); listPara1.add(1, oneClickData.getTermNo());
listPara1.add(2, oneClickData.getFundCorpId()); listPara1.add(2, oneClickData.getFundCorpId());
listPara1.add(3, rate); listPara1.add(3, rate);
listPara1.add(4, txAmount); listPara1.add(4, txAmount);
String fundProductId="1013";
List<FinanceProduct> getFinanceProduct=phoneInfoService.getFinanceProduct(quotaCredit.getProductId());
if(getFinanceProduct.size()>0){
fundProductId=String.valueOf(getFinanceProduct.get(0).getId());
}
listPara1.add(5, fundProductId);
return listPara1; return listPara1;
} }
......
...@@ -44,7 +44,7 @@ public class FundsAllocationplanServiceImpl implements FundsAllocationplanServic ...@@ -44,7 +44,7 @@ public class FundsAllocationplanServiceImpl implements FundsAllocationplanServic
@Override @Override
public String loginOPToken() { public String loginOPToken() {
log.info("打印opapiHttp:{}",opapiHttp); log.info("打印opapiHttp:{}",opapiHttp);
String url = opapiHttp + "/user/login?auth=dXNlcj14dWV6aiZwYXNzd29yZD0xMjMxMjNxd2Vxd2U%3D"; String url = opapiHttp + "/user/login?auth=dXNlcj1xYSZwYXNzd29yZD1xYXRlc3Q%3D";
JSONObject result = HttpRequest.doGetReturnResponseJson(url); JSONObject result = HttpRequest.doGetReturnResponseJson(url);
JSONObject resultData = (JSONObject) result.get("data"); JSONObject resultData = (JSONObject) result.get("data");
String businessCode=result.get("businessCode").toString().trim(); String businessCode=result.get("businessCode").toString().trim();
......
...@@ -120,7 +120,7 @@ public class LoanOperationServiceImpl implements LoanOperationService{ ...@@ -120,7 +120,7 @@ public class LoanOperationServiceImpl implements LoanOperationService{
* @return Long * @return Long
*/ */
@Override @Override
public Long queryLendingRecordSumCount(Long fundId) { public Integer queryLendingRecordSumCount(Long fundId) {
return xyqbCenterService.queryLendingRecordSumCount(fundId); return xyqbCenterService.queryLendingRecordSumCount(fundId);
} }
...@@ -156,6 +156,7 @@ public class LoanOperationServiceImpl implements LoanOperationService{ ...@@ -156,6 +156,7 @@ public class LoanOperationServiceImpl implements LoanOperationService{
// 查看当前的放款单的状态是21 // 查看当前的放款单的状态是21
LoanApplicationHistory loanApplicationHistory= loanOperationService.selectLoanId(Long.valueOf(oneClickData.getUserId().trim()), oneClickData.getBizType()); LoanApplicationHistory loanApplicationHistory= loanOperationService.selectLoanId(Long.valueOf(oneClickData.getUserId().trim()), oneClickData.getBizType());
String progress=loanApplicationHistory.getProgress().getDescription().trim(); String progress=loanApplicationHistory.getProgress().getDescription().trim();
log.info("执行放款之前查看当前的放款状态progress={}",progress);
if(LoanProgress.FINAL_SENDED_TO_FUNDING_CORP.getDescription().trim().equals(progress) ){ if(LoanProgress.FINAL_SENDED_TO_FUNDING_CORP.getDescription().trim().equals(progress) ){
//系统自动打款,无需调用打款操作 //系统自动打款,无需调用打款操作
return payNotify(oneClickData, payStatus); return payNotify(oneClickData, payStatus);
...@@ -177,13 +178,15 @@ public class LoanOperationServiceImpl implements LoanOperationService{ ...@@ -177,13 +178,15 @@ public class LoanOperationServiceImpl implements LoanOperationService{
String amountLimit=""; String amountLimit="";
String assignPeopleNum=""; String assignPeopleNum="";
BigDecimal AmountMountSumCount=queryLendingRecordAmountMountSumCount(Long.parseLong(oneClickData.getFundCorpId())); BigDecimal AmountMountSumCount=queryLendingRecordAmountMountSumCount(Long.parseLong(oneClickData.getFundCorpId()));
Long sumCount=queryLendingRecordSumCount(Long.parseLong(oneClickData.getFundCorpId())); Integer sumCount=queryLendingRecordSumCount(Long.parseLong(oneClickData.getFundCorpId()));
log.info("获取sql金额为AmountMountSumCount={},sumCount={}",AmountMountSumCount,sumCount); log.info("获取sql金额为AmountMountSumCount={},sumCount={}",AmountMountSumCount,sumCount);
if(Objects.isNull(AmountMountSumCount) || Objects.isNull(sumCount) ){
if(Objects.isNull(AmountMountSumCount) && sumCount == 0 ){
log.info("直接进行放款请求操作");
// 不需要提现已经进行提现,直接进行放款操作 // 不需要提现已经进行提现,直接进行放款操作
return payNotify(oneClickData, payStatus); return payNotify(oneClickData, payStatus);
}else { }else {
log.info("进行提现操作请求");
// 如有有需要提现操作的单,进行提现操作 // 如有有需要提现操作的单,进行提现操作
amountLimit = AmountMountSumCount.toString().trim(); amountLimit = AmountMountSumCount.toString().trim();
...@@ -202,17 +205,17 @@ public class LoanOperationServiceImpl implements LoanOperationService{ ...@@ -202,17 +205,17 @@ public class LoanOperationServiceImpl implements LoanOperationService{
if (ResposeResultEnum.BUSINESSCODE.getDesc().equals(businessCode) && ResposeResultEnum.BUSINESSCODE.getDesc().equals(code)) { if (ResposeResultEnum.BUSINESSCODE.getDesc().equals(businessCode) && ResposeResultEnum.BUSINESSCODE.getDesc().equals(code)) {
// 需要咨询这个接口 // 需要咨询这个接口
// 待续中。。。。。。 // 待续中。。。。。。
log.info("提现请求成功返回");
if (!fundCorpId.equals(ResposeResultEnum.FUND_CORD210.getDesc())) { if (!fundCorpId.equals(ResposeResultEnum.FUND_CORD210.getDesc())) {
// 查看当前的放款单的状态是21 // 查看当前的放款单的状态是21
LoanApplicationHistory loanApplicationHistory = loanOperationService.selectLoanId(Long.valueOf(oneClickData.getUserId().trim()), oneClickData.getBizType()); LoanApplicationHistory loanApplicationHistory = loanOperationService.selectLoanId(Long.valueOf(oneClickData.getUserId().trim()), oneClickData.getBizType());
log.info("放款通知请求完毕后loanApplicationHistory={}", loanApplicationHistory); log.info("提现完毕后通知请求完毕后loanApplicationHistory={}", loanApplicationHistory);
String progress=loanApplicationHistory.getProgress().getDescription().trim(); String progress=loanApplicationHistory.getProgress().getDescription().trim();
if (progress.equals(LoanProgress.FINAL_SENDED_TO_FUNDING_CORP.getDescription().trim())) { if (progress.equals(LoanProgress.FINAL_SENDED_TO_FUNDING_CORP.getDescription().trim()) || progress.equals(LoanProgress.WAITING_FUND.getDescription().trim())) {
//直投打款完毕进行放款操作 //直投打款完毕进行放款操作
return payNotify(oneClickData, payStatus); return payNotify(oneClickData, payStatus);
} else { } else {
log.info("走提现路线了,查询库中放款状态不是21"); log.info("走提现路线了,查询库中放款状态不是21、20");
oneClickDataRespository.updateLoanStatusById(LoanStatusEnum.DIRECT_INVESTMENT_FAILURE.getCode(), oneClickData.getId()); oneClickDataRespository.updateLoanStatusById(LoanStatusEnum.DIRECT_INVESTMENT_FAILURE.getCode(), oneClickData.getId());
} }
...@@ -245,8 +248,19 @@ public class LoanOperationServiceImpl implements LoanOperationService{ ...@@ -245,8 +248,19 @@ public class LoanOperationServiceImpl implements LoanOperationService{
paras.put("payTime", String.valueOf(payTime)); paras.put("payTime", String.valueOf(payTime));
paras.put("payStatus", payStatus); paras.put("payStatus", payStatus);
Map<String, String> header =new HashMap<String, String>(); Map<String, String> header =new HashMap<String, String>();
header.put("Content-Type", "application/x-www-form-urlencoded"); header.put("Content-Type", "application/x-www-form-urlencoded");
log.info("查看提现请求参数paras={},header={}", paras,header);
JSONObject result= HttpRequest.doPostReturnResponseJson(url, paras, header); JSONObject result= HttpRequest.doPostReturnResponseJson(url, paras, header);
log.info("查看提现结果={}",result);
return result; return result;
} }
/**
* 根据id查看表中的放款单
* */
@Override
public LoanApplicationHistory selectLoanId(Long id){
return loanApplicationHistoryRepository.findById(id);
}
} }
package cn.quantgroup.cashloanflowboss.api.oneclickdata.service.impl; import cn.quantgroup.cashloanflowboss.api.oneclickdata.entity.OneClickData;import cn.quantgroup.cashloanflowboss.api.oneclickdata.repository.OneClickDataRespository;import cn.quantgroup.cashloanflowboss.api.oneclickdata.service.CreditGrantingService;import cn.quantgroup.cashloanflowboss.api.oneclickdata.service.OneClickDataOperateJobService;import cn.quantgroup.cashloanflowboss.api.oneclickdata.service.PhoneInfoService;import cn.quantgroup.cashloanflowboss.spi.xyqb.entity.QuotaCredit;import lombok.extern.slf4j.Slf4j;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Service; import java.util.List;import java.util.Objects; /** * Created by shang on 2019/12/12. */@Slf4j@Servicepublic class OneClickDataOperateJobServiceImpl implements OneClickDataOperateJobService { @Autowired private PhoneInfoService phoneInfoService; @Autowired private OneClickDataRespository oneClickDataRespository; @Autowired private CreditGrantingService creditGrantingService; @Override public void excuteCreditSuccessJob() { } @Override public void excuteCreditFailJob() { } @Override public void excuteSelectCreditStatusJob() { //查找请求类型:2授信成功、4放款成功、5放款失败、6清算的单,并且当前的授信状态是0授信中 List<OneClickData> oneClickDataList=oneClickDataRespository.findByCreditStatusAndTypeNotIn(0, 1); if(oneClickDataList.size()>0 || oneClickDataList !=null) { for (OneClickData oneClickData : oneClickDataList) { // 当前授信中的单在apply_quota 查看状态是apply_status=1 时间倒序,进行授信请求操作 log.info("打印一下oneClickData.getUserId()={},oneClickData.getChannelCode()={}",oneClickData.getUserId(),oneClickData.getChannelCode()); QuotaCredit quotaCredit1 = phoneInfoService.selectUserAuditRecords(Long.parseLong(oneClickData.getUserId()), Long.parseLong(oneClickData.getChannelCode())); if (Objects.isNull(quotaCredit1)) { log.info("不符合授信审核申请的条件"); } else { //如何条件的单进行授信申请请求 log.info("符合授信审核申请的条件oneClickData={},quotaCredit1={}", oneClickData, quotaCredit1); try { creditGrantingService.authAmountAuditNotifyMq(oneClickData, quotaCredit1); } catch (Exception e) { log.info("进入异常e={}", e.getMessage()); } } } }else{ log.info("oneClickDataList为空={}",oneClickDataList); } } @Override public void excuteFundSucessJob() { } @Override public void excuteFundFailJob() { } @Override public void excuteSelectFundStatusJob() { } } package cn.quantgroup.cashloanflowboss.api.oneclickdata.service.impl; import cn.quantgroup.cashloanflowboss.api.oneclickdata.entity.OneClickData;import cn.quantgroup.cashloanflowboss.api.oneclickdata.model.LoanStatusEnum;import cn.quantgroup.cashloanflowboss.api.oneclickdata.model.TypeEnum;import cn.quantgroup.cashloanflowboss.api.oneclickdata.repository.OneClickDataRespository;import cn.quantgroup.cashloanflowboss.api.oneclickdata.service.*;import cn.quantgroup.cashloanflowboss.spi.clf.model.LoanProgress;import cn.quantgroup.cashloanflowboss.spi.xyqb.entity.LoanApplicationHistory;import cn.quantgroup.cashloanflowboss.spi.xyqb.entity.QuotaCredit;import lombok.extern.slf4j.Slf4j;import org.apache.commons.lang3.StringUtils;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Service; import java.util.List;import java.util.Objects; /** * Created by shang on 2019/12/12. */@Slf4j@Servicepublic class OneClickDataOperateJobServiceImpl implements OneClickDataOperateJobService { @Autowired private PhoneInfoService phoneInfoService; @Autowired private LoanOperationService loanOperationService; @Autowired private OneClickDataRespository oneClickDataRespository; @Autowired private CreditGrantingService creditGrantingService; @Autowired private OneClickDataQueueOperateService oneClickDataQueueOperateService; @Override public void excuteCreditSuccessJob() { } @Override public void excuteCreditFailJob() { } @Override public void excuteSelectCreditStatusJob() { //查找请求类型:2授信成功、3授信失败、4放款成功、5放款失败、6清算的单,7提现,并且当前的授信状态是0授信中 List<OneClickData> oneClickDataList=oneClickDataRespository.findByCreditStatusAndTypeNotIn(0, 1); if(oneClickDataList.size()>0 || oneClickDataList !=null) { for (OneClickData oneClickData : oneClickDataList) { // 当前授信中的单在apply_quota 查看状态是apply_status=1 时间倒序,进行授信请求操作 log.info("打印一下oneClickData.getUserId()={},oneClickData.getChannelCode()={}",oneClickData.getUserId(),oneClickData.getChannelCode()); QuotaCredit quotaCredit1 = phoneInfoService.selectUserAuditRecords(Long.parseLong(oneClickData.getUserId()), Long.parseLong(oneClickData.getChannelCode())); if (Objects.isNull(quotaCredit1)) { log.info("不符合授信审核申请的条件"); } else { //如何条件的单进行授信申请请求 log.info("符合授信审核申请的条件oneClickData={},quotaCredit1={}", oneClickData, quotaCredit1); try { creditGrantingService.authAmountAuditNotifyMq(oneClickData, quotaCredit1); } catch (Exception e) { log.info("进入异常e={}", e); } } } }else{ log.info("oneClickDataList为空={}",oneClickDataList); } } @Override public void excuteFundSucessJob() { } @Override public void excuteFundFailJob() { } @Override public void excuteFundJob() { //查找请求类型:4放款成功、5放款失败、6清算的单,并且当前的授信状态是0授信中 List<OneClickData> oneClickDataList = oneClickDataRespository.findByCreditStatusAndTypeNotIn(2, 1, 2, 3, 7); if (oneClickDataList.size() > 0 || oneClickDataList != null) { for (OneClickData oneClickData : oneClickDataList) { log.info("打印一下oneClickData.getLoanId={}", oneClickData.getLoanId()); if(StringUtils.isNotEmpty(oneClickData.getLoanId()) ){ LoanApplicationHistory loanApplicationHistory = loanOperationService.selectLoanId(Long.parseLong(oneClickData.getLoanId())); if (Objects.isNull(loanApplicationHistory)) { log.info("不符合放款条件的单"); } else { log.info("符合放款条件loanApplicationHistory={}", loanApplicationHistory); String progress=loanApplicationHistory.getProgress().getDescription().trim(); //提现操作尚未成功,重新操作提现 if(LoanProgress.WAITING_FUND.getDescription().equals(progress) || LoanProgress.START_ORDER.getDescription().equals(progress)){ // 没有成功提现,再次调用提现操作 oneClickDataQueueOperateService.applyLendingNotifyOnly(oneClickData); }else if(LoanProgress.FINAL_SENDED_TO_FUNDING_CORP.getDescription().equals(progress)){ try { String payStatus="3"; if(oneClickData.getType() == TypeEnum.LOANFAIL.getCode() ){ payStatus="4"; }else { payStatus="3"; } loanOperationService.payNotify(oneClickData,payStatus); } catch (Exception e) { log.info("进入异常e={}", e.getMessage()); } }else if(LoanProgress.CHECK_REPAYMENT_PLAN.getDescription().equals(progress)){ log.info("当前已经是放款状态了,直接修改放款成功15"); oneClickDataRespository.updateLoanStatusById(LoanStatusEnum.CHECK_REPAYMENT_PLAN.getCode(), oneClickData.getId()); }else { log.info("当前的放款状态不对,非20 21 ,请查看数据库状态"); oneClickDataRespository.updateLoanStatusById(LoanStatusEnum.LOAN_SCHEDULE_FAIL.getCode(), oneClickData.getId()); } } }else{ log.info("尚未生成放款单,未进入提现环节的错误数据"); } } }else{ log.info("oneClickDataList为空={}",oneClickDataList); } } @Override public void excuteSelectFundStatusJob() { } }
\ No newline at end of file \ No newline at end of file
......
...@@ -36,23 +36,23 @@ public class OneClickDataOperateServiceImpl implements OneClickDataOperateServic ...@@ -36,23 +36,23 @@ public class OneClickDataOperateServiceImpl implements OneClickDataOperateServic
private CreditGrantingService creditGrantingService; private CreditGrantingService creditGrantingService;
@Override @Override
public Result OnekeyApply(OneClickModel oneClickModel) { public Result onekeyApply(OneClickModel oneClickModel) {
return applyLoanService.applyLoan(oneClickModel); return applyLoanService.applyLoan(oneClickModel);
} }
@Override @Override
public Result OneKeyCashWithdrawal(OneClickModel oneClickModel)throws Exception { public Result oneKeyCashWithdrawal(OneClickModel oneClickModel)throws Exception {
return OneKeyCreditSuccessOrFail(oneClickModel); return oneKeyCreditSuccessOrFail(oneClickModel);
} }
@Override @Override
public Result OneKeyCreditSuccessOrFail(OneClickModel oneClickModel) throws Exception { public Result oneKeyCreditSuccessOrFail(OneClickModel oneClickModel) throws Exception {
return applyLoanService.applyLoan(oneClickModel); return applyLoanService.applyLoan(oneClickModel);
} }
public Result OneKeyCreditSuccessOrFailOld(OneClickModel oneClickModel) throws Exception { public Result oneKeyCreditSuccessOrFailOld(OneClickModel oneClickModel) throws Exception {
Result creditResult=applyLoanService.applyLoan(oneClickModel); Result creditResult=applyLoanService.applyLoan(oneClickModel);
if(creditResult.getCode()== ApplicationStatus.SUCCESS.getCode()){ if(creditResult.getCode()== ApplicationStatus.SUCCESS.getCode()){
log.info("申请成功后,进入风控回调环境={}",creditResult); log.info("申请成功后,进入风控回调环境={}",creditResult);
...@@ -66,8 +66,8 @@ public class OneClickDataOperateServiceImpl implements OneClickDataOperateServic ...@@ -66,8 +66,8 @@ public class OneClickDataOperateServiceImpl implements OneClickDataOperateServic
} }
@Override @Override
public Result OneKeyLoanSuccessOrFail(OneClickModel oneClickModel)throws Exception { public Result oneKeyLoanSuccessOrFail(OneClickModel oneClickModel)throws Exception {
return OneKeyCreditSuccessOrFail(oneClickModel); return oneKeyCreditSuccessOrFail(oneClickModel);
} }
public Page<OneClickSelectModel> findOneClickSelectModelByCriteriaQueryPage(OneClickSelectModel oneClickSelectModel){ public Page<OneClickSelectModel> findOneClickSelectModelByCriteriaQueryPage(OneClickSelectModel oneClickSelectModel){
......
...@@ -4,7 +4,9 @@ package cn.quantgroup.cashloanflowboss.api.oneclickdata.service.impl; ...@@ -4,7 +4,9 @@ package cn.quantgroup.cashloanflowboss.api.oneclickdata.service.impl;
import cn.quantgroup.cashloanflowboss.api.oneclickdata.model.ResposeResultEnum; import cn.quantgroup.cashloanflowboss.api.oneclickdata.model.ResposeResultEnum;
import cn.quantgroup.cashloanflowboss.api.oneclickdata.service.PhoneInfoService; import cn.quantgroup.cashloanflowboss.api.oneclickdata.service.PhoneInfoService;
import cn.quantgroup.cashloanflowboss.spi.user.service.XyqbUserService; import cn.quantgroup.cashloanflowboss.spi.user.service.XyqbUserService;
import cn.quantgroup.cashloanflowboss.spi.xyqb.entity.FinanceProduct;
import cn.quantgroup.cashloanflowboss.spi.xyqb.entity.QuotaCredit; import cn.quantgroup.cashloanflowboss.spi.xyqb.entity.QuotaCredit;
import cn.quantgroup.cashloanflowboss.spi.xyqb.repository.IFinanceProductRepository;
import cn.quantgroup.cashloanflowboss.spi.xyqb.repository.QuotaCreditRepository; import cn.quantgroup.cashloanflowboss.spi.xyqb.repository.QuotaCreditRepository;
import cn.quantgroup.cashloanflowboss.utils.GetAuthorization; import cn.quantgroup.cashloanflowboss.utils.GetAuthorization;
import cn.quantgroup.cashloanflowboss.utils.http.HttpRequest; import cn.quantgroup.cashloanflowboss.utils.http.HttpRequest;
...@@ -18,6 +20,7 @@ import org.testng.Assert; ...@@ -18,6 +20,7 @@ import org.testng.Assert;
import org.testng.annotations.Test; import org.testng.annotations.Test;
import java.util.HashMap; import java.util.HashMap;
import java.util.List;
import java.util.Map; import java.util.Map;
/** /**
...@@ -39,6 +42,8 @@ public class PhoneInfoServiceImpl implements PhoneInfoService { ...@@ -39,6 +42,8 @@ public class PhoneInfoServiceImpl implements PhoneInfoService {
@Autowired @Autowired
private QuotaCreditRepository quotaCreditRepository; private QuotaCreditRepository quotaCreditRepository;
@Autowired @Autowired
private IFinanceProductRepository iFinanceProductRepository;
@Autowired
private XyqbUserService xyqbUserService; private XyqbUserService xyqbUserService;
public String getToken(String phone,String createdFrom) throws Exception { public String getToken(String phone,String createdFrom) throws Exception {
...@@ -174,6 +179,11 @@ public class PhoneInfoServiceImpl implements PhoneInfoService { ...@@ -174,6 +179,11 @@ public class PhoneInfoServiceImpl implements PhoneInfoService {
} }
@Override
public List<FinanceProduct> getFinanceProduct(Long fundCorpId){
return iFinanceProductRepository.findByFundCorpId(fundCorpId);
}
public static void main(String[] args) throws Exception { public static void main(String[] args) throws Exception {
PhoneInfoServiceImpl phon = new PhoneInfoServiceImpl(); PhoneInfoServiceImpl phon = new PhoneInfoServiceImpl();
......
...@@ -5,6 +5,7 @@ import cn.quantgroup.cashloanflowboss.api.oneclickdata.model.ResposeResultEnum; ...@@ -5,6 +5,7 @@ import cn.quantgroup.cashloanflowboss.api.oneclickdata.model.ResposeResultEnum;
import cn.quantgroup.cashloanflowboss.api.oneclickdata.repository.OneClickDataRespository; import cn.quantgroup.cashloanflowboss.api.oneclickdata.repository.OneClickDataRespository;
import cn.quantgroup.cashloanflowboss.api.oneclickdata.service.PhoneInfoService; import cn.quantgroup.cashloanflowboss.api.oneclickdata.service.PhoneInfoService;
import cn.quantgroup.cashloanflowboss.api.oneclickdata.service.RepaymentPlatService; import cn.quantgroup.cashloanflowboss.api.oneclickdata.service.RepaymentPlatService;
import cn.quantgroup.cashloanflowboss.core.base.Result;
import cn.quantgroup.cashloanflowboss.spi.xyqb.entity.RepaymentPlan; import cn.quantgroup.cashloanflowboss.spi.xyqb.entity.RepaymentPlan;
import cn.quantgroup.cashloanflowboss.spi.xyqb.repository.IRepaymentPlanRepository; import cn.quantgroup.cashloanflowboss.spi.xyqb.repository.IRepaymentPlanRepository;
import cn.quantgroup.cashloanflowboss.utils.http.HttpRequest; import cn.quantgroup.cashloanflowboss.utils.http.HttpRequest;
...@@ -39,24 +40,36 @@ public class RepaymentPlatServiceImpl implements RepaymentPlatService { ...@@ -39,24 +40,36 @@ public class RepaymentPlatServiceImpl implements RepaymentPlatService {
@Value("${pay.http.net}") @Value("${pay.http.net}")
private String payHttp; private String payHttp;
@Override @Override
public RepaymentPlan whetherHaveRepayment0rdersList(OneClickData oneClickData) { public Result whetherHaveRepayment0rdersList(OneClickData oneClickData) {
try {
List<RepaymentPlan> repaymentPlanList=greRepaymentList(oneClickData.getLoanId()); List<RepaymentPlan> repaymentPlanList=greRepaymentList(oneClickData.getLoanId());
if(repaymentPlanList.size()>0){ if(repaymentPlanList.size()>0){
try {
String token=phoneInfoService.getToken(oneClickData.getPhone(),oneClickData.getChannelCode()); String token=phoneInfoService.getToken(oneClickData.getPhone(), oneClickData.getChannelCode());
String repayToken= getRepaymentToken( oneClickData.getLoanId(), token);
if(StringUtils.isNotEmpty(repayToken) && StringUtils.isNotEmpty(token)){ log.info("获取oneClickData={},token={}",oneClickData,token);
getRepaymentOrdersList(oneClickData.getLoanId(), token, repayToken, oneClickData); if( StringUtils.isNotEmpty(token)){
JSONObject resultRepaymentOrdersList= getRepaymentOrdersList(oneClickData.getLoanId(), token, oneClickData);
return Result.buildSuccess(resultRepaymentOrdersList,"返回结果值");
}else { }else {
log.info("token信息有问题,token={},repayToken={}",token,repayToken); log.info("token信息有问题,token={}",token);
return Result.buildFail("token信息有问题");
} }
}catch (Exception e){
log.info("获取token失败e={}",e);
} }else {
return Result.buildFail("token信息有问题");
}
}catch (Exception e){
log.info("获取token失败e={}",e);
return Result.buildFail("进入异常中。。。");
} }
return null;
} }
public List<RepaymentPlan> greRepaymentList(String loanId){ public List<RepaymentPlan> greRepaymentList(String loanId){
...@@ -64,8 +77,9 @@ public class RepaymentPlatServiceImpl implements RepaymentPlatService { ...@@ -64,8 +77,9 @@ public class RepaymentPlatServiceImpl implements RepaymentPlatService {
} }
@Override @Override
public JSONObject getRepaymentOrdersList(String loanID, String token,String repaymentToken,OneClickData oneClickData) { public JSONObject getRepaymentOrdersList(String loanID, String token,OneClickData oneClickData) {
String url= mapiHttp+"/xjd/repayment/plans"; String url= mapiHttp+"/xjd/repayment/plans";
Map<String, String> paras =new HashMap<String, String>(); Map<String, String> paras =new HashMap<String, String>();
paras.put("id", loanID); paras.put("id", loanID);
Map<String, String> header =new HashMap<String, String>(); Map<String, String> header =new HashMap<String, String>();
...@@ -74,9 +88,28 @@ public class RepaymentPlatServiceImpl implements RepaymentPlatService { ...@@ -74,9 +88,28 @@ public class RepaymentPlatServiceImpl implements RepaymentPlatService {
JSONObject result= HttpRequest.doPostReturnResponseJson(url, paras, header); JSONObject result= HttpRequest.doPostReturnResponseJson(url, paras, header);
String businessCode=result.get("businessCode").toString().trim(); String businessCode=result.get("businessCode").toString().trim();
if(businessCode.equals(ResposeResultEnum.BUSINESSCODE.getDesc())){ if(businessCode.equals(ResposeResultEnum.BUSINESSCODE.getDesc())){
getCardListInfo(repaymentToken, oneClickData); String repaymentToken= getRepaymentToken( oneClickData.getLoanId().trim(), token);
if(StringUtils.isNotEmpty(repaymentToken)){
return IsGetCardListInfo( repaymentToken, oneClickData);
}else {
return result;
}
}else {
return result;
}
}
public JSONObject IsGetCardListInfo(String repaymentToken,OneClickData oneClickData){
JSONObject resultGetCardListInfo= getCardListInfo(repaymentToken, oneClickData);
String businessCodeGetCardListInfo=resultGetCardListInfo.get("businessCode").toString().trim();
if(!Objects.isNull(resultGetCardListInfo) && businessCodeGetCardListInfo.equals(ResposeResultEnum.BUSINESSCODE.getDesc())){
return resultGetCardListInfo;
}else {
return resultGetCardListInfo;
} }
return result;
} }
@Override @Override
...@@ -92,6 +125,7 @@ public class RepaymentPlatServiceImpl implements RepaymentPlatService { ...@@ -92,6 +125,7 @@ public class RepaymentPlatServiceImpl implements RepaymentPlatService {
header.put("Content-Type", "application/x-www-form-urlencoded"); header.put("Content-Type", "application/x-www-form-urlencoded");
header.put("X-Auth-Token", token); header.put("X-Auth-Token", token);
JSONObject result= HttpRequest.doPostReturnResponseJson(url, paras, header); JSONObject result= HttpRequest.doPostReturnResponseJson(url, paras, header);
log.info("打印一下result={}",result);
String businessCode=result.get("businessCode").toString().trim(); String businessCode=result.get("businessCode").toString().trim();
if(!Objects.isNull(result) && businessCode.equals(ResposeResultEnum.BUSINESSCODE.getDesc())){ if(!Objects.isNull(result) && businessCode.equals(ResposeResultEnum.BUSINESSCODE.getDesc())){
if(StringUtils.isNotEmpty(result.get("data").toString().trim())){ if(StringUtils.isNotEmpty(result.get("data").toString().trim())){
...@@ -119,10 +153,12 @@ public class RepaymentPlatServiceImpl implements RepaymentPlatService { ...@@ -119,10 +153,12 @@ public class RepaymentPlatServiceImpl implements RepaymentPlatService {
if(!Objects.isNull(result) && businessCode.equals(ResposeResultEnum.BUSINESSCODE.getDesc())){ if(!Objects.isNull(result) && businessCode.equals(ResposeResultEnum.BUSINESSCODE.getDesc())){
if (!Objects.isNull(result.get("data"))){ if (!Objects.isNull(result.get("data"))){
JSONObject data=(JSONObject) result.get("data"); JSONObject data=(JSONObject) result.get("data");
log.info("获取卡信息的reslut={}",result);
boolean isRight=isCardInfo(data, oneClickData.getId()); boolean isRight=isCardInfo(data, oneClickData.getId());
//是继续调用金额还是重新绑卡确认 //是继续调用金额还是重新绑卡确认
isPayMoneyInfo(isRight,repaymentToken,oneClickData); isPayMoneyInfo(isRight,repaymentToken,oneClickData);
}else { }else {
return result; return result;
} }
...@@ -137,7 +173,7 @@ public class RepaymentPlatServiceImpl implements RepaymentPlatService { ...@@ -137,7 +173,7 @@ public class RepaymentPlatServiceImpl implements RepaymentPlatService {
if(isRight){ // 如果获取到了卡信息cardBindInfoId 调用获取金额信息接口 if(isRight){ // 如果获取到了卡信息cardBindInfoId 调用获取金额信息接口
JSONObject payMoneyInfoResult=getPayMoneyInfo(repaymentToken); JSONObject payMoneyInfoResult=getPayMoneyInfo(repaymentToken);
// 是否继续走支付确认页面 // 是否继续走支付确认页面
boolean isOk= isPaymentConfirmation(payMoneyInfoResult,repaymentToken,oneClickData); isPaymentConfirmation(payMoneyInfoResult,repaymentToken,oneClickData);
}else { }else {
log.info("卡中不存在cardBindInfoId,需要确认绑定"); log.info("卡中不存在cardBindInfoId,需要确认绑定");
...@@ -184,11 +220,20 @@ public class RepaymentPlatServiceImpl implements RepaymentPlatService { ...@@ -184,11 +220,20 @@ public class RepaymentPlatServiceImpl implements RepaymentPlatService {
String preservePhoneNo=cardListObject.get("preservePhoneNo").toString().trim(); String preservePhoneNo=cardListObject.get("preservePhoneNo").toString().trim();
String cardId= cardListObject.get("id").toString().trim(); String cardId= cardListObject.get("id").toString().trim();
String cardBindInfoId =""; String cardBindInfoId ="";
log.info("获取当前的cardListObject={}",cardListObject);
if(cardListObject.toString().contains("cardBindInfoId")) { if(cardListObject.toString().contains("cardBindInfoId")) {
cardBindInfoId=cardListObject.get("cardBindInfoId").toString().trim(); cardBindInfoId=cardListObject.get("cardBindInfoId").toString().trim();
//修改卡信息保存到表中 if(cardBindInfoId.equals("0")){
updateCardInfo(payApproach,preservePhoneNo,cardId,cardBindInfoId,id); //修改卡信息保存到表中,并且当前的cardBindInfoId没有值
return true; updateCardInfo(payApproach,preservePhoneNo,cardId,cardBindInfoId,id);
return false;
}else {
//修改卡信息保存到表中
updateCardInfo(payApproach,preservePhoneNo,cardId,cardBindInfoId,id);
return true;
}
}else{ }else{
//修改卡信息保存到表中 //修改卡信息保存到表中
updateCardInfo(payApproach,preservePhoneNo,cardId,"",id); updateCardInfo(payApproach,preservePhoneNo,cardId,"",id);
...@@ -276,6 +321,7 @@ public class RepaymentPlatServiceImpl implements RepaymentPlatService { ...@@ -276,6 +321,7 @@ public class RepaymentPlatServiceImpl implements RepaymentPlatService {
String businessCode= paymentConfirmationResult.get("businessCode").toString().trim(); String businessCode= paymentConfirmationResult.get("businessCode").toString().trim();
if(!Objects.isNull(paymentConfirmationResult) && businessCode.equals(ResposeResultEnum.BUSINESSCODE.getDesc())){ if(!Objects.isNull(paymentConfirmationResult) && businessCode.equals(ResposeResultEnum.BUSINESSCODE.getDesc())){
JSONObject bankCardAuthenticationInformationResult=bankCardAuthenticationInformation(repaymentToken); JSONObject bankCardAuthenticationInformationResult=bankCardAuthenticationInformation(repaymentToken);
log.info("打印bankCardAuthenticationInformationResult={}",bankCardAuthenticationInformationResult);
String bankCardAuthenticationInformationBusinessCode=bankCardAuthenticationInformationResult.get("businessCode").toString().trim(); String bankCardAuthenticationInformationBusinessCode=bankCardAuthenticationInformationResult.get("businessCode").toString().trim();
if (!Objects.isNull(bankCardAuthenticationInformationResult) && bankCardAuthenticationInformationBusinessCode.equals(ResposeResultEnum.BUSINESSCODE.getDesc())){ if (!Objects.isNull(bankCardAuthenticationInformationResult) && bankCardAuthenticationInformationBusinessCode.equals(ResposeResultEnum.BUSINESSCODE.getDesc())){
...@@ -335,7 +381,6 @@ public class RepaymentPlatServiceImpl implements RepaymentPlatService { ...@@ -335,7 +381,6 @@ public class RepaymentPlatServiceImpl implements RepaymentPlatService {
Map<String, String> header =new HashMap<String, String>(); Map<String, String> header =new HashMap<String, String>();
header.put("X-Auth-Token", repaymentToken); header.put("X-Auth-Token", repaymentToken);
JSONObject result= HttpRequest.doGetReturnResponseJson(url,param, header); JSONObject result= HttpRequest.doGetReturnResponseJson(url,param, header);
String businessCode =result.get("businessCode").toString().trim();
return result; return result;
} }
...@@ -345,7 +390,7 @@ public class RepaymentPlatServiceImpl implements RepaymentPlatService { ...@@ -345,7 +390,7 @@ public class RepaymentPlatServiceImpl implements RepaymentPlatService {
Map<String, String> header =new HashMap<String, String>(); Map<String, String> header =new HashMap<String, String>();
header.put("X-Auth-Token", repaymentToken); header.put("X-Auth-Token", repaymentToken);
JSONObject result= HttpRequest.doGetReturnResponseJson(url,null, header); JSONObject result= HttpRequest.doGetReturnResponseJson(url,null, header);
Assert.assertEquals(result.get("businessCode").toString().trim(), "0000"); log.info("银行卡信息认证结果result={}",result);
return result; return result;
} }
......
...@@ -53,7 +53,7 @@ public class ScheduleServiceImpl implements ScheduleService { ...@@ -53,7 +53,7 @@ public class ScheduleServiceImpl implements ScheduleService {
@Override @Override
public void fetchDataLoanJob() throws Exception { public void fetchDataLoanJob() throws Exception {
// GetScheduleJob.getScheduleJob(nameSpace, "clotho-elastic-job", "cn.qg.clotho.job.FetchDataLoanJob"); // GetScheduleJob.getScheduleJob(nameSpace, "clotho-elastic-job", "cn.qg.clotho.job.FetchDataLoanJob");
// jolyneService.reloadJob("cn.qg.clotho.job.FetchDataLoanJob"); jolyneService.reloadJob("cn.qg.clotho.job.FetchDataLoanJob");
} }
@Override @Override
......
...@@ -14,9 +14,14 @@ public class SelectCreditStatusJobNew { ...@@ -14,9 +14,14 @@ public class SelectCreditStatusJobNew {
private OneClickDataOperateJobService oneClickDataOperateJobService; private OneClickDataOperateJobService oneClickDataOperateJobService;
@Scheduled(cron = "0 0/1 * * * ?") @Scheduled(cron = "0 0/1 * * * ?")
// @Scheduled(cron = "0 45 20 * * ?")
public void execute() { public void execute() {
System.out.print("hello WORLD"); System.out.print("hello WORLD");
oneClickDataOperateJobService.excuteSelectCreditStatusJob(); oneClickDataOperateJobService.excuteSelectCreditStatusJob();
} }
@Scheduled(cron = "0 0/1 * * * ?")
public void executeFund() {
System.out.print("状态是21尚未成功放款的到哪");
oneClickDataOperateJobService.excuteFundJob();
}
} }
...@@ -12,7 +12,7 @@ public class QueueServiceImpl implements QueueService { ...@@ -12,7 +12,7 @@ public class QueueServiceImpl implements QueueService {
OneClickDataQueueOperateServiceImpl oneClickDataQueueOperateService; OneClickDataQueueOperateServiceImpl oneClickDataQueueOperateService;
@Override @Override
public void oneClickHandleMessage(String message) { public void oneClickHandleMessage(String message) {
log.info("[oneClickHandleMessage]message=" + message); log.info("[oneClickHandleMessage]message={}", message);
oneClickDataQueueOperateService.getCreditNotifyIsSucess(message); oneClickDataQueueOperateService.getCreditNotifyIsSucess(message);
} }
} }
package cn.quantgroup.cashloanflowboss.spi.xyqb.entity;
import lombok.Data;
import javax.persistence.*;
import java.io.Serializable;
import java.math.BigDecimal;
import java.sql.Timestamp;
/**
* 金融产品
*
* @author PoppyWong
* @since 2019/11/18.
*/
@Entity
@Data
@Table(name = "finance_product")
public class FinanceProduct implements Serializable {
private static final long serialVersionUID = -1L;
/**
* 主键id
*/
@Id
@Column(name = "id")
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
/**
* 资方id
*/
@Column(name = "fund_corp_id")
private Long fundCorpId;
/**
* 月利率
*/
@Column(name = "monthly_interest_rate")
private BigDecimal monthlyInterestRate;
/**
* 还款类型:1:等额本金:0:等额本息
*/
@Column(name = "repayment_type")
private Integer repaymentType;
/**
* 计息规则
*/
@Column(name = "repayment_rule")
private String repaymentRule;
/**
* 数据有效性标志位
*/
@Column(name = "is_active")
private Integer isActive;
/**
* 描述
*/
@Column(name = "remark")
private String remark;
/**
* 创建时间
*/
@Column(name = "created_at")
private Timestamp createdAt;
/**
* 更新时间
*/
@Column(name = "updated_at")
private Timestamp updatedAt;
/**
* {1:"0.0001",2:"0.00012",0:"0.00011"}0表示任何其他期
*/
@Column(name = "service_fee_config")
private String serviceFeeConfig;
/**
* 展示日利率
*/
@Column(name = "show_day_interest")
private BigDecimal showDayInterest;
/**
* 展示月利率
*/
@Column(name = "show_month_interest")
private BigDecimal showMonthInterest;
/**
* 展示年利率
*/
@Column(name = "show_year_interest")
private BigDecimal showYearInterest;
}
package cn.quantgroup.cashloanflowboss.spi.xyqb.repository;
import cn.quantgroup.cashloanflowboss.spi.xyqb.entity.FinanceProduct;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import java.util.List;
/**
* @author PoppyWong
* @since 2019/11/18.
*/
public interface IFinanceProductRepository extends JpaRepository<FinanceProduct, Long> {
@Query(value = "select * from finance_product where fund_corp_id = ?1 and is_active = 1", nativeQuery = true)
List<FinanceProduct> findByFundCorpId(Long fundCorpId);
@Query(value = "select * from finance_product where id = ?2 and fund_corp_id = ?1 and is_active = 1", nativeQuery = true)
FinanceProduct findByFundCorpIdAndProductId(Long fundCorpId, Long productId);
}
...@@ -48,7 +48,7 @@ public interface WaitingFundingCorpOperatePeopleRepository extends CrudRepositor ...@@ -48,7 +48,7 @@ public interface WaitingFundingCorpOperatePeopleRepository extends CrudRepositor
* @return * @return
*/ */
@Query(value = "select count(*) from xyqb.waiting_funding_corp_operate_people where funding_corp_progress=0 and funding_corp_id= ?1", nativeQuery = true) @Query(value = "select count(*) from xyqb.waiting_funding_corp_operate_people where funding_corp_progress=0 and funding_corp_id= ?1", nativeQuery = true)
Long queryCountByFundingCorpProgressAndCorpLoanId(Long fundId); Integer queryCountByFundingCorpProgressAndCorpLoanId(Long fundId);
......
...@@ -25,7 +25,7 @@ public interface XYQBCenterService { ...@@ -25,7 +25,7 @@ public interface XYQBCenterService {
Map queryLendingRecordCount(Long fundId); Map queryLendingRecordCount(Long fundId);
Long queryLendingRecordSumCount(Long fundId); Integer queryLendingRecordSumCount(Long fundId);
BigDecimal queryLendingRecordAmountMountSumCount(Long fundId); BigDecimal queryLendingRecordAmountMountSumCount(Long fundId);
......
...@@ -99,7 +99,7 @@ public class XYQBCenterServiceImpl implements XYQBCenterService { ...@@ -99,7 +99,7 @@ public class XYQBCenterServiceImpl implements XYQBCenterService {
* @return * @return
*/ */
@Override @Override
public Long queryLendingRecordSumCount(Long fundId) { public Integer queryLendingRecordSumCount(Long fundId) {
return this.waitingFundingCorpOperatePeopleRepository.queryCountByFundingCorpProgressAndCorpLoanId(fundId); return this.waitingFundingCorpOperatePeopleRepository.queryCountByFundingCorpProgressAndCorpLoanId(fundId);
} }
......
...@@ -16,7 +16,7 @@ public class GetBiNoAndFinanceProducts { ...@@ -16,7 +16,7 @@ public class GetBiNoAndFinanceProducts {
JSONArray financeProducts=new JSONArray(); JSONArray financeProducts=new JSONArray();
JSONArray terms=new JSONArray(); JSONArray terms=new JSONArray();
JSONObject para1=new JSONObject(); JSONObject para1=new JSONObject();
if (productId == CommonType.PRODUCTTYPEONE.getCode() || productId == CommonType.PRODUCTTYPEFOUR.getCode() || productId==CommonType.PRODUCTID900.getCode() || productId == CommonType.PRODUCTID910.getCode() || productId == CommonType.PRODUCTTYPEONE.getCode()){ if (productId == CommonType.PRODUCTTYPEONE.getCode() || productId == CommonType.PRODUCTTYPEFOUR.getCode() || productId == CommonType.PRODUCTID920.getCode() || productId == CommonType.PRODUCTID900.getCode() || productId == CommonType.PRODUCTID910.getCode() || productId == CommonType.PRODUCTTYPEONE.getCode()){
if(productId == CommonType.PRODUCTID900.getCode()){ if(productId == CommonType.PRODUCTID900.getCode()){
getResult.put("biNo", "9"); getResult.put("biNo", "9");
...@@ -41,6 +41,7 @@ public class GetBiNoAndFinanceProducts { ...@@ -41,6 +41,7 @@ public class GetBiNoAndFinanceProducts {
JSONObject jsonFundInfo=new JSONObject(); JSONObject jsonFundInfo=new JSONObject();
jsonFundInfo.put("fundId",listPara1.get(2).toString().trim()); jsonFundInfo.put("fundId",listPara1.get(2).toString().trim());
jsonFundInfo.put("rate",listPara1.get(3).toString().trim()); jsonFundInfo.put("rate",listPara1.get(3).toString().trim());
jsonFundInfo.put("fundProductId", listPara1.get(5).toString().trim());
jsonFundInfo.put("rateType","1"); jsonFundInfo.put("rateType","1");
jsonFundInfo.put("priority","1"); jsonFundInfo.put("priority","1");
jsonFundInfo.put("feeType","1"); jsonFundInfo.put("feeType","1");
......
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