Commit 3c384ae6 authored by suntao's avatar suntao

service 抽离接口

parent 15901576
......@@ -12,19 +12,14 @@ import cn.quantgroup.cashloanflowboss.spi.clf.entity.ClfChannelConfiguration;
import cn.quantgroup.cashloanflowboss.api.channel.repository.ChannelConfRepository;
import cn.quantgroup.cashloanflowboss.spi.clf.entity.ClfOrderCallBack;
import cn.quantgroup.cashloanflowboss.spi.clf.model.KANoticeType;
import cn.quantgroup.cashloanflowboss.spi.clf.repository.ClfCallbackConfigurationRepository;
import cn.quantgroup.cashloanflowboss.spi.clf.repository.ClfChannelConfigurationRepository;
import cn.quantgroup.cashloanflowboss.api.channel.util.ChannelConfUtil;
import cn.quantgroup.cashloanflowboss.spi.clf.repository.ClfOrderCallbackRepository;
import cn.quantgroup.cashloanflowboss.spi.clf.service.CLFCenterService;
import cn.quantgroup.cashloanflowboss.utils.IgnorePropertiesUtil;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;
import org.springframework.stereotype.Service;
import javax.persistence.criteria.Predicate;
/**
* function:
* date: 2019/8/2
......@@ -36,42 +31,23 @@ import javax.persistence.criteria.Predicate;
public class ChannelConfService {
@Autowired
private ChannelConfRepository channelConfRepository;
@Autowired
private ClfChannelConfigurationRepository clfChannelConfigurationRepository;
@Autowired
private ClfCallbackConfigurationRepository clfCallbackConfigurationRepository;
@Autowired
private ClfOrderCallbackRepository clfOrderCallbackRepository;
private CLFCenterService clfCenterService;
public Page<ChannelListModel> getChannelInfo(Integer pageNumber, Integer pageSize, Long channelId) {
@Autowired
private ChannelConfRepository channelConfRepository;
Page<ClfChannelConfiguration> page = this.clfChannelConfigurationRepository.findAll((root, criteriaQuery, criteriaBuilder) -> {
List<Predicate> predicates = new ArrayList<>();
// 指定渠道号
if (Objects.nonNull(channelId)) {
predicates.add(criteriaBuilder.equal(root.get("registeredFrom"), channelId.longValue()));
}
// 设置查询条件
criteriaQuery.where(criteriaBuilder.and(predicates.toArray(new Predicate[predicates.size()])));
// 指定排序
criteriaQuery.orderBy(criteriaBuilder.desc(root.get("id")));
return criteriaQuery.getRestriction();
public Page<ChannelListModel> getChannelInfo(Integer pageNumber, Integer pageSize, Long channelId) {
}, new PageRequest(pageNumber, pageSize));
Page<ClfChannelConfiguration> page = clfCenterService.findChannelConfigurationByCriteriaQueryPage(pageNumber, pageSize, channelId);
Page<ChannelListModel> channelListModelPage = page.map(it -> {
ChannelListModel channelListModel = new ChannelListModel();
channelListModel.setChannelId(it.getRegisteredFrom());
channelListModel.setChannelName(it.getChannelName());
channelListModel.setChannelCode(it.getChannelCode());
// TODO
channelListModel.setBizType(null);
channelListModel.setCreatedAt(it.getCreatedAt());
return channelListModel;
......@@ -88,10 +64,11 @@ public class ChannelConfService {
return ChannelConfUtil.channelConfConvertVOModel(channelConf);
} else {
// boss channel_conf 为空,从clf 查询数据
ClfChannelConfiguration channelConfiguration = clfChannelConfigurationRepository.findByRegisteredFrom(channelId);
ClfOrderCallBack approve = clfOrderCallbackRepository.findByCallbackStatusAndRegisteredFrom(KANoticeType.FUAD_ASSIFN_SUCC.name(), channelId);
ClfOrderCallBack orderStatus = clfOrderCallbackRepository.findByCallbackStatusAndRegisteredFrom(KANoticeType.FUND_SUCC.name(), channelId);
ClfOrderCallBack repaymentPlan = clfOrderCallbackRepository.findByCallbackStatusAndRegisteredFrom(KANoticeType.REPAYMENT.name(), channelId);
ClfChannelConfiguration channelConfiguration = clfCenterService.findChannelConfigurationByChannelId(channelId);
ClfOrderCallBack approve = clfCenterService.findOrderCallBackByByCallbackStatusAndChannelId(KANoticeType.FUAD_ASSIFN_SUCC.name(), channelId);
ClfOrderCallBack orderStatus = clfCenterService.findOrderCallBackByByCallbackStatusAndChannelId(KANoticeType.FUND_SUCC.name(), channelId);
ClfOrderCallBack repaymentPlan = clfCenterService.findOrderCallBackByByCallbackStatusAndChannelId(KANoticeType.REPAYMENT.name(), channelId);
return ChannelConfUtil.getChannelConfVoByClf(channelConfiguration, approve, orderStatus, repaymentPlan);
}
......@@ -121,29 +98,29 @@ public class ChannelConfService {
// clf 库
ClfChannelConfiguration channelConfiguration = ChannelConfUtil.convert2ClfChannelConfiguration(basicInfo);
List<ClfOrderCallBack> clfOrderCallBackList = ChannelConfUtil.convert2ClfOrderCallback(basicInfo.getChannelId(), addInfo);
ClfChannelConfiguration channelConfigurationExsit = clfChannelConfigurationRepository.findByRegisteredFrom(basicInfo.getChannelId());
ClfChannelConfiguration channelConfigurationExsit = clfCenterService.findChannelConfigurationByChannelId(basicInfo.getChannelId());
if (channelConfigurationExsit == null) {
// 新保存
channelConfiguration.setCreatedAt(new Timestamp(System.currentTimeMillis()));
clfChannelConfigurationRepository.save(channelConfiguration);
clfCenterService.saveChannelConfiguration(channelConfiguration);
ClfCallbackConfiguration clfCallbackConfiguration = ChannelConfUtil.convert2ClfCallbackConfiguration(basicInfo);
clfCallbackConfigurationRepository.save(clfCallbackConfiguration);
clfCenterService.saveCallbackConfiguration(clfCallbackConfiguration);
clfOrderCallbackRepository.save(clfOrderCallBackList);
clfCenterService.saveOrderCall(clfOrderCallBackList);
} else {
// update
BeanUtils.copyProperties(channelConfiguration, channelConfigurationExsit, IgnorePropertiesUtil.getNullPropertyNames(channelConfiguration));
clfChannelConfigurationRepository.save(channelConfigurationExsit);
clfCenterService.saveChannelConfiguration(channelConfigurationExsit);
// 更新OrderCallBack
for (ClfOrderCallBack clfOrderCallBack : clfOrderCallBackList) {
ClfOrderCallBack orderCallBackExsit = clfOrderCallbackRepository.findByCallbackStatusAndRegisteredFrom(clfOrderCallBack.getCallbackStatus().name(), clfOrderCallBack.getRegisteredFrom());
ClfOrderCallBack orderCallBackExsit = clfCenterService.findOrderCallBackByByCallbackStatusAndChannelId(clfOrderCallBack.getCallbackStatus().name(), clfOrderCallBack.getRegisteredFrom());
if (orderCallBackExsit != null) {
clfOrderCallBack.setId(orderCallBackExsit.getId());
}
}
clfOrderCallbackRepository.save(clfOrderCallBackList);
clfCenterService.saveOrderCall(clfOrderCallBackList);
}
return true;
}
......
......@@ -15,7 +15,6 @@ import org.springframework.stereotype.Service;
import javax.persistence.criteria.Predicate;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
import java.util.Objects;
......
......@@ -25,7 +25,6 @@ import cn.quantgroup.cashloanflowboss.spi.jolyne.JolyneUtil;
import cn.quantgroup.cashloanflowboss.spi.user.service.XyqbUserService;
import cn.quantgroup.cashloanflowboss.spi.xyqb.entity.Contract;
import cn.quantgroup.cashloanflowboss.spi.xyqb.entity.LoanApplicationHistory;
import cn.quantgroup.cashloanflowboss.spi.xyqb.entity.WaitingFundingCorpOperatePeople;
import cn.quantgroup.cashloanflowboss.spi.xyqb.service.XYQBCenterService;
import cn.quantgroup.cashloanflowboss.utils.JSONTools;
import cn.quantgroup.user.retbean.XUser;
......@@ -33,9 +32,6 @@ import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import java.math.BigDecimal;
import java.sql.Timestamp;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
......@@ -52,7 +48,6 @@ import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.exception.ExceptionUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;
import org.springframework.stereotype.Service;
......
......@@ -2,75 +2,36 @@ package cn.quantgroup.cashloanflowboss.spi.clf.service;
import cn.quantgroup.cashloanflowboss.api.order.model.OrderBaseModel;
import cn.quantgroup.cashloanflowboss.spi.clf.entity.*;
import cn.quantgroup.cashloanflowboss.spi.clf.repository.*;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.persistence.criteria.Predicate;
import java.util.ArrayList;
import org.springframework.data.domain.Page;
import java.util.List;
import java.util.Objects;
/**
* function:
* date: 2019/9/3
* date: 2019/9/16
*
* @author: suntao
*/
@Service
public class CLFCenterService {
@Autowired
private CallbackFailRecordRepository callbackFailRecordRepository;
@Autowired
private CallbackRecordRepository callbackRecordRepository;
@Autowired
private ClfOrderMappingRepository orderMappingRepository;
@Autowired
private ApplyRequestHistoryRepository applyRequestHistoryRepository;
@Autowired
private WithdrawRecordRepository withdrawRecordRepository;
public interface CLFCenterService {
List<CallbackFailRecord> findCallbackFailRecordByApplyNo(String applyNo);
List<CallbackRecord> findCallbackRecordByApplyNo(String applyNo);
ClfOrderMapping findOrderMappingByChannelOrderNo(String channelOrderNumber);
public List<CallbackFailRecord> findCallbackFailRecordByApplyNo(String applyNo) {
return callbackFailRecordRepository.findByApplyNo(applyNo);
}
List<WithdrawRecord> findWithdrawRecordList(String channelOrderNumber, Long channelId);
public List<CallbackRecord> findCallbackRecordByApplyNo(String applyNo) {
return callbackRecordRepository.findByApplyNo(applyNo);
}
List<ApplyRequestHistory> findApplyRequestHistoryBySpecification(OrderBaseModel orderBaseModel);
public ClfOrderMapping findOrderMappingByChannelOrderNo(String channelOrderNumber) {
return orderMappingRepository.findByChannelOrderNoLastOne(channelOrderNumber);
}
Page<ClfChannelConfiguration> findChannelConfigurationByCriteriaQueryPage(Integer pageNumber, Integer pageSize, Long channelId);
public List<WithdrawRecord> findWithdrawRecordList(String channelOrderNumber, Long channelId) {
return withdrawRecordRepository.findByChannelOrderNoAndChannelId(channelOrderNumber, channelId);
}
ClfChannelConfiguration findChannelConfigurationByChannelId(Long channelId);
public List<ApplyRequestHistory> findApplyRequestHistoryBySpecification(OrderBaseModel orderBaseModel) {
List<ApplyRequestHistory> all = applyRequestHistoryRepository.findAll(((root, criteriaQuery, criteriaBuilder) -> {
List<Predicate> predicates = new ArrayList<>();
void saveChannelConfiguration(ClfChannelConfiguration channelConfiguration);
// 指定渠道号
if (Objects.nonNull(orderBaseModel.getChannelId())) {
predicates.add(criteriaBuilder.equal(root.get("channelId"), orderBaseModel.getChannelId().longValue()));
}
if (StringUtils.isNotEmpty(orderBaseModel.getChannelOrderNumber())) {
predicates.add(criteriaBuilder.equal(root.get("channelOrderNo"), orderBaseModel.getChannelOrderNumber()));
}
void saveCallbackConfiguration(ClfCallbackConfiguration clfCallbackConfiguration);
// 设置查询条件
criteriaQuery.where(criteriaBuilder.and(predicates.toArray(new Predicate[predicates.size()])));
// 指定排序
criteriaQuery.orderBy(criteriaBuilder.desc(root.get("id")));
void saveOrderCall(List<ClfOrderCallBack> clfOrderCallBackList);
return criteriaQuery.getRestriction();
}));
return all;
}
ClfOrderCallBack findOrderCallBackByByCallbackStatusAndChannelId(String name, Long channelId);
}
package cn.quantgroup.cashloanflowboss.spi.clf.service;
import cn.quantgroup.cashloanflowboss.api.order.model.OrderBaseModel;
import cn.quantgroup.cashloanflowboss.spi.clf.entity.*;
import cn.quantgroup.cashloanflowboss.spi.clf.model.KANoticeType;
import cn.quantgroup.cashloanflowboss.spi.clf.repository.*;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;
import org.springframework.stereotype.Service;
import javax.persistence.criteria.Predicate;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
/**
* function:
* date: 2019/9/3
*
* @author: suntao
*/
@Service
public class CLFCenterServiceImpl implements CLFCenterService{
@Autowired
private CallbackFailRecordRepository callbackFailRecordRepository;
@Autowired
private CallbackRecordRepository callbackRecordRepository;
@Autowired
private ClfOrderMappingRepository orderMappingRepository;
@Autowired
private ClfChannelConfigurationRepository clfChannelConfigurationRepository;
@Autowired
private ClfCallbackConfigurationRepository clfCallbackConfigurationRepository;
@Autowired
private ApplyRequestHistoryRepository applyRequestHistoryRepository;
@Autowired
private WithdrawRecordRepository withdrawRecordRepository;
@Autowired
private ClfOrderCallbackRepository clfOrderCallbackRepository;
@Override
public List<CallbackFailRecord> findCallbackFailRecordByApplyNo(String applyNo) {
return callbackFailRecordRepository.findByApplyNo(applyNo);
}
@Override
public List<CallbackRecord> findCallbackRecordByApplyNo(String applyNo) {
return callbackRecordRepository.findByApplyNo(applyNo);
}
@Override
public ClfOrderMapping findOrderMappingByChannelOrderNo(String channelOrderNumber) {
return orderMappingRepository.findByChannelOrderNoLastOne(channelOrderNumber);
}
@Override
public List<WithdrawRecord> findWithdrawRecordList(String channelOrderNumber, Long channelId) {
return withdrawRecordRepository.findByChannelOrderNoAndChannelId(channelOrderNumber, channelId);
}
@Override
public List<ApplyRequestHistory> findApplyRequestHistoryBySpecification(OrderBaseModel orderBaseModel) {
List<ApplyRequestHistory> all = applyRequestHistoryRepository.findAll(((root, criteriaQuery, criteriaBuilder) -> {
List<Predicate> predicates = new ArrayList<>();
// 指定渠道号
if (Objects.nonNull(orderBaseModel.getChannelId())) {
predicates.add(criteriaBuilder.equal(root.get("channelId"), orderBaseModel.getChannelId().longValue()));
}
if (StringUtils.isNotEmpty(orderBaseModel.getChannelOrderNumber())) {
predicates.add(criteriaBuilder.equal(root.get("channelOrderNo"), orderBaseModel.getChannelOrderNumber()));
}
// 设置查询条件
criteriaQuery.where(criteriaBuilder.and(predicates.toArray(new Predicate[predicates.size()])));
// 指定排序
criteriaQuery.orderBy(criteriaBuilder.desc(root.get("id")));
return criteriaQuery.getRestriction();
}));
return all;
}
@Override
public Page<ClfChannelConfiguration> findChannelConfigurationByCriteriaQueryPage(Integer pageNumber, Integer pageSize, Long channelId) {
return clfChannelConfigurationRepository.findAll((root, criteriaQuery, criteriaBuilder) -> {
List<Predicate> predicates = new ArrayList<>();
// 指定渠道号
if (Objects.nonNull(channelId)) {
predicates.add(criteriaBuilder.equal(root.get("registeredFrom"), channelId.longValue()));
}
// 设置查询条件
criteriaQuery.where(criteriaBuilder.and(predicates.toArray(new Predicate[predicates.size()])));
// 指定排序
criteriaQuery.orderBy(criteriaBuilder.desc(root.get("id")));
return criteriaQuery.getRestriction();
}, new PageRequest(pageNumber, pageSize));
}
@Override
public ClfChannelConfiguration findChannelConfigurationByChannelId(Long channelId) {
return clfChannelConfigurationRepository.findByRegisteredFrom(channelId);
}
@Override
public void saveChannelConfiguration(ClfChannelConfiguration channelConfiguration) {
clfChannelConfigurationRepository.save(channelConfiguration);
}
@Override
public void saveCallbackConfiguration(ClfCallbackConfiguration clfCallbackConfiguration) {
clfCallbackConfigurationRepository.save(clfCallbackConfiguration);
}
@Override
public void saveOrderCall(List<ClfOrderCallBack> clfOrderCallBackList) {
clfOrderCallbackRepository.save(clfOrderCallBackList);
}
@Override
public ClfOrderCallBack findOrderCallBackByByCallbackStatusAndChannelId(String kaNoticeName, Long channelId) {
return clfOrderCallbackRepository.findByCallbackStatusAndRegisteredFrom(kaNoticeName, channelId);
}
}
......@@ -72,7 +72,11 @@ public class XYQBCenterService {
* @return
*/
public Long cancelPreLoan(String channelOrderNumber) {
if (Application.isDebug()) {
return cancelPreLoanRepository.cancelPreLoan(channelOrderNumber);
} else {
return -1L;
}
}
......@@ -90,8 +94,10 @@ public class XYQBCenterService {
* @param contract
*/
public void saveContract(Contract contract) {
if (Application.isDebug()) {
contractRepository.save(contract);
}
}
public WaitingFundingCorpOperatePeople findWaitingFundingCorpOperatePeopleByLoanId(Long loanId) {
......@@ -100,8 +106,10 @@ public class XYQBCenterService {
@Transactional
public void saveWaitingFundingCorpOperatePeople(WaitingFundingCorpOperatePeople waitingFundingCorpOperatePeople) {
if (Application.isDebug()) {
waitingFundingCorpOperatePeopleRepository.saveAndFlush(waitingFundingCorpOperatePeople);
}
}
/**
......
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