Commit b3e722a6 authored by suntao's avatar suntao

代码整理

parent b4715240
...@@ -8,21 +8,15 @@ import cn.quantgroup.cashloanflowboss.api.order.model.*; ...@@ -8,21 +8,15 @@ import cn.quantgroup.cashloanflowboss.api.order.model.*;
import cn.quantgroup.cashloanflowboss.api.order.repository.OrderApproveRepository; import cn.quantgroup.cashloanflowboss.api.order.repository.OrderApproveRepository;
import cn.quantgroup.cashloanflowboss.api.order.util.OrderUtil; import cn.quantgroup.cashloanflowboss.api.order.util.OrderUtil;
import cn.quantgroup.cashloanflowboss.core.Application; import cn.quantgroup.cashloanflowboss.core.Application;
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.core.base.Tuple; import cn.quantgroup.cashloanflowboss.core.base.Tuple;
import cn.quantgroup.cashloanflowboss.spi.clf.entity.ClfOrderMapping; import cn.quantgroup.cashloanflowboss.spi.clf.entity.ClfOrderMapping;
import cn.quantgroup.cashloanflowboss.spi.clf.repository.ClfOrderMappingRepository; import cn.quantgroup.cashloanflowboss.spi.clf.repository.ClfOrderMappingRepository;
import cn.quantgroup.cashloanflowboss.spi.clf.service.CLFCenter;
import cn.quantgroup.cashloanflowboss.spi.clotho.client.ClothoCenter;
import cn.quantgroup.cashloanflowboss.spi.clotho.service.ClothoCenterService; import cn.quantgroup.cashloanflowboss.spi.clotho.service.ClothoCenterService;
import cn.quantgroup.cashloanflowboss.spi.jolyne.JolyneCenter; import cn.quantgroup.cashloanflowboss.spi.jolyne.JolyneCenter;
import cn.quantgroup.cashloanflowboss.spi.user.service.XyqbUserService; import cn.quantgroup.cashloanflowboss.spi.user.service.XyqbUserService;
import cn.quantgroup.cashloanflowboss.spi.xyqb.entity.Contract; import cn.quantgroup.cashloanflowboss.spi.xyqb.entity.Contract;
import cn.quantgroup.cashloanflowboss.spi.xyqb.entity.FundLending; import cn.quantgroup.cashloanflowboss.spi.xyqb.entity.FundLending;
import cn.quantgroup.cashloanflowboss.spi.xyqb.repository.CancelPreLoanRepository;
import cn.quantgroup.cashloanflowboss.spi.xyqb.repository.ContractRepository;
import cn.quantgroup.cashloanflowboss.spi.xyqb.repository.FundLendingRepository;
import cn.quantgroup.cashloanflowboss.spi.xyqb.service.XYQBCenterService; import cn.quantgroup.cashloanflowboss.spi.xyqb.service.XYQBCenterService;
import cn.quantgroup.cashloanflowboss.utils.JSONTools; import cn.quantgroup.cashloanflowboss.utils.JSONTools;
import cn.quantgroup.user.retbean.XUser; import cn.quantgroup.user.retbean.XUser;
...@@ -32,7 +26,6 @@ import com.google.common.collect.Maps; ...@@ -32,7 +26,6 @@ import com.google.common.collect.Maps;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.time.ZoneId; import java.time.ZoneId;
import java.time.ZoneOffset;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Calendar; import java.util.Calendar;
import java.util.Date; import java.util.Date;
...@@ -50,7 +43,6 @@ import org.springframework.beans.factory.annotation.Autowired; ...@@ -50,7 +43,6 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page; import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest; import org.springframework.data.domain.PageRequest;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.TransactionManagementConfigurationSelector;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
/** /**
...@@ -69,32 +61,25 @@ public class OrderService { ...@@ -69,32 +61,25 @@ public class OrderService {
@Autowired @Autowired
private OrderApproveRepository orderApproveRepository; private OrderApproveRepository orderApproveRepository;
@Autowired @Autowired
private XyqbUserService xyqbUserService; private XyqbUserService xyqbUserService;
@Autowired @Autowired
private ClothoCenter clothoCenter; private XYQBCenterService xyqbCenterService;
@Autowired @Autowired
private JolyneCenter jolyneCenter; private ClothoCenterService clothoCenterService;
@Autowired @Autowired
private CLFCenter clfCenter; private JolyneCenter jolyneCenter;
@Autowired
private ClothoCenterService clothoCenterService;
@Autowired
private XYQBCenterService xyqbCenterService;
@Autowired @Autowired
private ClfOrderMappingRepository clfOrderMappingRepository; private ClfOrderMappingRepository clfOrderMappingRepository;
@Autowired
private CancelPreLoanRepository cancelPreLoanRepository;
@Autowired
private ContractRepository contractRepository;
@Autowired
private FundLendingRepository fundLendingRepository;
public Page<OrderVo> getOrders(Long channelId, String channelOrderNo, Integer pageNumber, Integer pageSize) { public Page<OrderVo> getOrders(Long channelId, String channelOrderNo, Integer pageNumber, Integer pageSize) {
Page<ClfOrderMapping> page = this.clfOrderMappingRepository.findAll((root, criteriaQuery, criteriaBuilder) -> { Page<ClfOrderMapping> page = this.clfOrderMappingRepository.findAll((root, criteriaQuery, criteriaBuilder) -> {
...@@ -220,7 +205,7 @@ public class OrderService { ...@@ -220,7 +205,7 @@ public class OrderService {
data.put("financeProducts", fundFormat); data.put("financeProducts", fundFormat);
// 发起审批 // 发起审批
String approveResult = clothoCenter.approve(data); String approveResult = clothoCenterService.approve(data);
if ("success".equals(approveResult)) { if ("success".equals(approveResult)) {
log.info("审批申请成功,channelOrderNumber={}", orderMapping.getChannelOrderNo()); log.info("审批申请成功,channelOrderNumber={}", orderMapping.getChannelOrderNo());
return true; return true;
...@@ -240,35 +225,44 @@ public class OrderService { ...@@ -240,35 +225,44 @@ public class OrderService {
@Transactional @Transactional
public boolean lending(LendingFormModel lendingFormModel) { public boolean lending(LendingFormModel lendingFormModel) {
boolean result; boolean result = false;
OrderApprove orderApprove = this.orderApproveRepository.findByChannelOrderNumber(lendingFormModel.getChannelOrderNumber()); OrderApprove orderApprove = this.orderApproveRepository.findByChannelOrderNumber(lendingFormModel.getChannelOrderNumber());
ClfOrderMapping orderMapping = this.clfOrderMappingRepository.findByChannelOrderNoAndRegisteredFromLastOne(lendingFormModel.getChannelOrderNumber(), lendingFormModel.getChannelId()); ClfOrderMapping orderMapping = this.clfOrderMappingRepository.findByChannelOrderNoAndRegisteredFromLastOne(lendingFormModel.getChannelOrderNumber(), lendingFormModel.getChannelId());
// 更新合同状态 // 更新合同状态
Contract conscont= contractRepository.findByUserId(orderMapping.getQgUserId()); Contract conscont= xyqbCenterService.findContractByUserId(orderMapping.getQgUserId());
if (conscont != null) { if (conscont != null) {
conscont.setGenerateStatus(2); conscont.setGenerateStatus(2);
contractRepository.save(conscont); xyqbCenterService.saveContract(conscont);
} else {
// 合同为空 log表记录问题,UI用户查询
} }
// 更新待放款时间 // 更新待放款时间
FundLending fundLending = fundLendingRepository.findByLoanId(orderMapping.getLoanId()); FundLending fundLending = xyqbCenterService.findFundLendingByLoanId(orderMapping.getLoanId());
if (fundLending != null) { if (fundLending != null) {
LocalDateTime localDateTime = LocalDateTime.now(); LocalDateTime localDateTime = LocalDateTime.now();
localDateTime.plusMinutes(-5L); localDateTime.plusMinutes(-5L);
fundLending.setCreateTime(new Date(localDateTime.atZone(ZoneId.systemDefault()).toInstant().toEpochMilli())); fundLending.setCreateTime(new Date(localDateTime.atZone(ZoneId.systemDefault()).toInstant().toEpochMilli()));
fundLendingRepository.save(fundLending); xyqbCenterService.saveFundLending(fundLending);
} }
// 如果是非存管,创建放款MQ
if (orderApprove.getFundType() == 0) {
} else {
this.xyqbCenterService.pushLendingResult(orderMapping.getLoanId(), lendingFormModel.getResult() ? 3 : 4);
Map data = this.xyqbCenterService.queryLendingRecordCount(orderApprove.getFundId(), 0); Map data = this.xyqbCenterService.queryLendingRecordCount(orderApprove.getFundId(), 0);
if (data.size() > 0) {
result = this.clothoCenterService.lending(orderApprove.getFundId(), new BigDecimal(String.valueOf(data.get("totalAmount"))), Integer.valueOf(String.valueOf(data.get("totalCount")))); result = this.clothoCenterService.lending(orderApprove.getFundId(), new BigDecimal(String.valueOf(data.get("totalAmount"))), Integer.valueOf(String.valueOf(data.get("totalCount"))));
}
// 如果是非存管,创建放款MQ
if (orderApprove.getFundType() == 0) {
this.xyqbCenterService.pushLendingResult(orderMapping.getLoanId(), lendingFormModel.getResult() ? 3 : 4);
} }
return result; return result;
...@@ -346,12 +340,12 @@ public class OrderService { ...@@ -346,12 +340,12 @@ public class OrderService {
return false; return false;
}*/ }*/
Long id = cancelPreLoanRepository.cancelPreLoan(channelOrderNumber); Long id = xyqbCenterService.cancelPreLoan(channelOrderNumber);
ConcurrentMap<Object, Object> data = Maps.newConcurrentMap(); ConcurrentMap<Object, Object> data = Maps.newConcurrentMap();
data.put("data", id); data.put("data", id);
data.put("remark", "系统关单"); data.put("remark", "系统关单");
String result = clothoCenter.cancelPreLoan(data); String result = clothoCenterService.cancelPreLoan(data);
return true; return true;
} }
...@@ -377,7 +371,7 @@ public class OrderService { ...@@ -377,7 +371,7 @@ public class OrderService {
data.put("loanId", orderMapping.getLoanId()); data.put("loanId", orderMapping.getLoanId());
data.put("userId", orderMapping.getQgUserId()); data.put("userId", orderMapping.getQgUserId());
data.put("flowNo", UUID.randomUUID()); data.put("flowNo", UUID.randomUUID());
String id = clothoCenter.cancelAfterLoan(data); String id = clothoCenterService.cancelAfterLoan(data);
return true; return true;
} }
......
...@@ -6,9 +6,11 @@ import cn.quantgroup.cashloanflowboss.utils.JSONTools; ...@@ -6,9 +6,11 @@ import cn.quantgroup.cashloanflowboss.utils.JSONTools;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.web.bind.annotation.RequestParam;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map;
/** /**
* Created by WeiWei on 2019/8/12. * Created by WeiWei on 2019/8/12.
...@@ -38,7 +40,7 @@ public class ClothoCenterService { ...@@ -38,7 +40,7 @@ public class ClothoCenterService {
// TODO WEIWEI 根据返回的数据结构补充判断逻辑 // TODO WEIWEI 根据返回的数据结构补充判断逻辑
String data = this.clothoCenter.lending(new HashMap() {{ String data = this.clothoCenter.lending(new HashMap(4) {{
put("fundingCorpId", fundId); put("fundingCorpId", fundId);
put("amountLimit", amountLimit); put("amountLimit", amountLimit);
put("peopleLimit", pepoleLimit); put("peopleLimit", pepoleLimit);
...@@ -48,4 +50,22 @@ public class ClothoCenterService { ...@@ -48,4 +50,22 @@ public class ClothoCenterService {
} }
/**
* 审批
* @param approveData
* @return
*/
public String approve(Map<String, Object> approveData) {
return clothoCenter.approve(approveData);
}
public String cancelPreLoan(Map<Object, Object> data) {
return clothoCenter.cancelPreLoan(data);
}
public String cancelAfterLoan(Map<Object, Object> data) {
return clothoCenter.cancelAfterLoan(data);
}
} }
...@@ -5,6 +5,9 @@ import cn.quantgroup.cashloanflowboss.api.order.model.XyqbHistoryOrderStatusServ ...@@ -5,6 +5,9 @@ import cn.quantgroup.cashloanflowboss.api.order.model.XyqbHistoryOrderStatusServ
import cn.quantgroup.cashloanflowboss.core.base.Result; 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.FundLending;
import cn.quantgroup.cashloanflowboss.spi.xyqb.repository.CancelPreLoanRepository;
import cn.quantgroup.cashloanflowboss.spi.xyqb.repository.ContractRepository; import cn.quantgroup.cashloanflowboss.spi.xyqb.repository.ContractRepository;
import cn.quantgroup.cashloanflowboss.spi.xyqb.repository.FundLendingRepository; import cn.quantgroup.cashloanflowboss.spi.xyqb.repository.FundLendingRepository;
import cn.quantgroup.cashloanflowboss.spi.xyqb.util.SignUtil; import cn.quantgroup.cashloanflowboss.spi.xyqb.util.SignUtil;
...@@ -25,9 +28,12 @@ public class XYQBCenterService { ...@@ -25,9 +28,12 @@ public class XYQBCenterService {
@Autowired @Autowired
private FundLendingRepository fundLendingRepository; private FundLendingRepository fundLendingRepository;
@Autowired @Autowired
private ContractRepository contractRepository; private ContractRepository contractRepository;
@Autowired
private CancelPreLoanRepository cancelPreLoanRepository;
@Autowired @Autowired
private XYQBCenter xyqbCenter; private XYQBCenter xyqbCenter;
...@@ -77,7 +83,7 @@ public class XYQBCenterService { ...@@ -77,7 +83,7 @@ public class XYQBCenterService {
String data = this.xyqbCenter.pushLendingResult(new HashMap() {{ String data = this.xyqbCenter.pushLendingResult(new HashMap() {{
put("orderNo", loanId); put("orderNo", loanId);
put("payOrderNo", loanId); put("payOrderNo", loanId);
put("payTime", new Date().getTime()); put("payTime", System.currentTimeMillis());
put("payStatus", status); put("payStatus", status);
}}); }});
...@@ -122,4 +128,25 @@ public class XYQBCenterService { ...@@ -122,4 +128,25 @@ public class XYQBCenterService {
return xyqbCenter.getXyqbOrderHistoryStatus(paramMap); 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);
}
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