Commit a09acac6 authored by 王向伟's avatar 王向伟

Merge remote-tracking branch 'origin/master' into features/userInfo_0708

parents def4b2d2 28060a1d
...@@ -2,6 +2,8 @@ package cn.quantgroup.cashloanflowboss.api.order.controller; ...@@ -2,6 +2,8 @@ package cn.quantgroup.cashloanflowboss.api.order.controller;
import cn.quantgroup.cashloanflowboss.api.order.model.ApproveVo; import cn.quantgroup.cashloanflowboss.api.order.model.ApproveVo;
import cn.quantgroup.cashloanflowboss.api.order.model.LendingFormModel; import cn.quantgroup.cashloanflowboss.api.order.model.LendingFormModel;
import cn.quantgroup.cashloanflowboss.api.order.model.RepayStatusEnum;
import cn.quantgroup.cashloanflowboss.api.order.model.RepaymentPlansResultModel;
import cn.quantgroup.cashloanflowboss.api.order.service.MoOrderServiceImpl; import cn.quantgroup.cashloanflowboss.api.order.service.MoOrderServiceImpl;
import cn.quantgroup.cashloanflowboss.api.order.service.OrderService; import cn.quantgroup.cashloanflowboss.api.order.service.OrderService;
import cn.quantgroup.cashloanflowboss.component.route.ServiceRoute; import cn.quantgroup.cashloanflowboss.component.route.ServiceRoute;
...@@ -216,10 +218,16 @@ public class OrderController { ...@@ -216,10 +218,16 @@ public class OrderController {
return Result.buildFail("channelOrderNumber 和 loanId 不能同时为空"); return Result.buildFail("channelOrderNumber 和 loanId 不能同时为空");
} }
OrderService orderService = serviceRoute.routeOrderService(null,channelOrderNumber,loanId); OrderService orderService = serviceRoute.routeOrderService(null,channelOrderNumber,loanId);
return Result.buildSuccess(orderService.findRepaymentPlan(channelOrderNumber, loanId)); RepaymentPlansResultModel result = orderService.findRepaymentPlan(channelOrderNumber, loanId);
if (result != null) {
result.getRepaymentPlans().forEach(r -> {
RepayStatusEnum statusEnum = RepayStatusEnum.getByValue(r.getRepaymentStatus());
r.setRepaymentStatus(statusEnum == null ? null : statusEnum.getDesc());
});
}
return Result.buildSuccess(result);
} }
/** /**
* 发起结清 * 发起结清
* *
......
package cn.quantgroup.cashloanflowboss.api.order.model;
import lombok.Getter;
import org.apache.commons.lang3.StringUtils;
/**
* 还款状态
*
* 还款状态,0 ("未还款")、2 ("已逾期")、3 ("已还款")
*
* @author lupeng
* 2020/7/10
*/
public enum RepayStatusEnum {
NO_REPAYMENT("0", "未还款"),
OVERDUE("2", "已逾期"),
OK_REPAYMENT("3", "已还款"),
;
@Getter
private String value;
@Getter
private String desc;
RepayStatusEnum (String value, String desc) {
this.desc = desc;
this.value = value;
}
public static RepayStatusEnum getByValue(String value) {
if (StringUtils.isNotBlank(value)) {
for (RepayStatusEnum statusEnum : RepayStatusEnum.values()) {
if (statusEnum.value.equals(value)) {
return statusEnum;
}
}
}
return null;
}
}
...@@ -27,7 +27,7 @@ public class RepaymentPlanItem { ...@@ -27,7 +27,7 @@ public class RepaymentPlanItem {
/** /**
* 还款状态,0 ("未还款")、2 ("已逾期")、3 ("已还款") * 还款状态,0 ("未还款")、2 ("已逾期")、3 ("已还款")
*/ */
private Integer repaymentStatus; private String repaymentStatus;
/** /**
* 应还本金 * 应还本金
*/ */
......
...@@ -549,7 +549,7 @@ public class MoOrderServiceImpl implements OrderService{ ...@@ -549,7 +549,7 @@ public class MoOrderServiceImpl implements OrderService{
callbackRecordVoModel.setTermNo(callbackRecord.getTermNo()); callbackRecordVoModel.setTermNo(callbackRecord.getTermNo());
Tuple<String, String> stringStringTuple = OrderUtil.KaNoticeTypeNameConvertChnName(callbackRecord.getNoticeType()); Tuple<String, String> stringStringTuple = OrderUtil.KaNoticeTypeNameConvertChnName(callbackRecord.getNoticeType());
callbackRecordVoModel.setNoticeType(stringStringTuple != null ? stringStringTuple.getValue() : callbackRecord.getNoticeType().name()); callbackRecordVoModel.setNoticeType(!"未知状态".equals(stringStringTuple.getValue()) ? stringStringTuple.getValue() : callbackRecord.getNoticeType().getDesc());
callbackRecordVoModel.setCallbackStatus(callbackRecord.getCallbackStatus()); callbackRecordVoModel.setCallbackStatus(callbackRecord.getCallbackStatus());
callbackRecordVoModel.setChannelId(callbackRecord.getChannelId()); callbackRecordVoModel.setChannelId(callbackRecord.getChannelId());
...@@ -570,7 +570,7 @@ public class MoOrderServiceImpl implements OrderService{ ...@@ -570,7 +570,7 @@ public class MoOrderServiceImpl implements OrderService{
callbackFailRecordVoModel.setTermNo(callbackFailRecord.getTermNo()); callbackFailRecordVoModel.setTermNo(callbackFailRecord.getTermNo());
Tuple<String, String> stringStringTuple = OrderUtil.KaNoticeTypeNameConvertChnName(callbackFailRecord.getNoticeType()); Tuple<String, String> stringStringTuple = OrderUtil.KaNoticeTypeNameConvertChnName(callbackFailRecord.getNoticeType());
callbackFailRecordVoModel.setNoticeType(stringStringTuple != null ? stringStringTuple.getValue() : callbackFailRecord.getNoticeType().name()); callbackFailRecordVoModel.setNoticeType(!"未知状态".equals(stringStringTuple.getValue()) ? stringStringTuple.getValue() : callbackFailRecord.getNoticeType().getDesc());
callbackFailRecordVoModel.setCallbackStatus(callbackFailRecord.getCallbackStatus()); callbackFailRecordVoModel.setCallbackStatus(callbackFailRecord.getCallbackStatus());
callbackFailRecordVoModel.setChannelId(callbackFailRecord.getChannelId()); callbackFailRecordVoModel.setChannelId(callbackFailRecord.getChannelId());
...@@ -608,7 +608,7 @@ public class MoOrderServiceImpl implements OrderService{ ...@@ -608,7 +608,7 @@ public class MoOrderServiceImpl implements OrderService{
ServiceResult<RepaymentPlansResultModel> serviceResult = xyqbCenterService.findRepaymentPlan(loanId); ServiceResult<RepaymentPlansResultModel> serviceResult = xyqbCenterService.findRepaymentPlan(loanId);
log.info("[findRepaymentPlan] 查询还款计划,返回信息 channelOrderNumber={},loanId={},serviceResult={}", channelOrderNumber, loanId, serviceResult); log.info("[findRepaymentPlan] 查询还款计划,返回信息 channelOrderNumber={},loanId={},serviceResult={}", channelOrderNumber, loanId, serviceResult);
if (Objects.isNull(serviceResult) || !serviceResult.isSuccess()) { if (Objects.isNull(serviceResult) || !serviceResult.isSuccess() || Objects.isNull(serviceResult.getData())) {
log.error("[findRepaymentPlan] 查询还款计划异常,返回页面空list"); log.error("[findRepaymentPlan] 查询还款计划异常,返回页面空list");
return null; return null;
} }
......
...@@ -232,18 +232,19 @@ public class OrderServiceImpl implements OrderService { ...@@ -232,18 +232,19 @@ public class OrderServiceImpl implements OrderService {
if (clfChannelConfiguration == null) { if (clfChannelConfiguration == null) {
return new Tuple(false, "审批失败,clfChannelConfiguration渠道配置为空"); return new Tuple(false, "审批失败,clfChannelConfiguration渠道配置为空");
} }
QuotaProduct quotaProduct = null; QuotaProduct quotaProduct ;
Map<String, Object> data = null; Map<String, Object> data ;
if (channels.contains(orderMapping.getRegisteredFrom())) { Long channelId = orderMapping.getRegisteredFrom();
data = getApproveObjectMap(approveVo, orderMapping, xUser, fundFormat, 9); if (StringUtils.isEmpty(clfChannelConfiguration.getXyqbProductId())) {
//没有配置productId多订单类型
quotaProduct = xyqbCenterService.getXyqbProduct(channelId);
} else { } else {
quotaProduct = xyqbCenterService.getXyqbProduct(clfChannelConfiguration.getXyqbProductId()); quotaProduct = xyqbCenterService.getXyqbProduct(clfChannelConfiguration.getXyqbProductId());
if (quotaProduct == null) {
return new Tuple(false, "审批失败,xyqb.quota_product配置为空(".concat(clfChannelConfiguration.getXyqbProductId()).concat(")"));
}
data = getApproveObjectMap(approveVo, orderMapping, xUser, fundFormat, quotaProduct.getProductType());
} }
if (quotaProduct == null) {
return new Tuple(false, "审批失败,xyqb.quota_product配置为空(".concat(clfChannelConfiguration.getXyqbProductId()).concat(")"));
}
data = getApproveObjectMap(approveVo, orderMapping, xUser, fundFormat, quotaProduct.getProductType());
// 发起审批 // 发起审批
...@@ -563,7 +564,7 @@ public class OrderServiceImpl implements OrderService { ...@@ -563,7 +564,7 @@ public class OrderServiceImpl implements OrderService {
callbackRecordVoModel.setTermNo(callbackRecord.getTermNo()); callbackRecordVoModel.setTermNo(callbackRecord.getTermNo());
Tuple<String, String> stringStringTuple = OrderUtil.KaNoticeTypeNameConvertChnName(callbackRecord.getNoticeType()); Tuple<String, String> stringStringTuple = OrderUtil.KaNoticeTypeNameConvertChnName(callbackRecord.getNoticeType());
callbackRecordVoModel.setNoticeType(stringStringTuple != null ? stringStringTuple.getValue() : callbackRecord.getNoticeType().name()); callbackRecordVoModel.setNoticeType(!"未知状态".equals(stringStringTuple.getValue()) ? stringStringTuple.getValue() : callbackRecord.getNoticeType().getDesc());
callbackRecordVoModel.setCallbackStatus(callbackRecord.getCallbackStatus()); callbackRecordVoModel.setCallbackStatus(callbackRecord.getCallbackStatus());
callbackRecordVoModel.setChannelId(callbackRecord.getChannelId()); callbackRecordVoModel.setChannelId(callbackRecord.getChannelId());
...@@ -584,7 +585,7 @@ public class OrderServiceImpl implements OrderService { ...@@ -584,7 +585,7 @@ public class OrderServiceImpl implements OrderService {
callbackFailRecordVoModel.setTermNo(callbackFailRecord.getTermNo()); callbackFailRecordVoModel.setTermNo(callbackFailRecord.getTermNo());
Tuple<String, String> stringStringTuple = OrderUtil.KaNoticeTypeNameConvertChnName(callbackFailRecord.getNoticeType()); Tuple<String, String> stringStringTuple = OrderUtil.KaNoticeTypeNameConvertChnName(callbackFailRecord.getNoticeType());
callbackFailRecordVoModel.setNoticeType(stringStringTuple != null ? stringStringTuple.getValue() : callbackFailRecord.getNoticeType().name()); callbackFailRecordVoModel.setNoticeType(!"未知状态".equals(stringStringTuple.getValue()) ? stringStringTuple.getValue() : callbackFailRecord.getNoticeType().getDesc());
callbackFailRecordVoModel.setCallbackStatus(callbackFailRecord.getCallbackStatus()); callbackFailRecordVoModel.setCallbackStatus(callbackFailRecord.getCallbackStatus());
callbackFailRecordVoModel.setChannelId(callbackFailRecord.getChannelId()); callbackFailRecordVoModel.setChannelId(callbackFailRecord.getChannelId());
...@@ -623,7 +624,7 @@ public class OrderServiceImpl implements OrderService { ...@@ -623,7 +624,7 @@ public class OrderServiceImpl implements OrderService {
ServiceResult<RepaymentPlansResultModel> serviceResult = xyqbCenterService.findRepaymentPlan(loanId); ServiceResult<RepaymentPlansResultModel> serviceResult = xyqbCenterService.findRepaymentPlan(loanId);
log.info("[findRepaymentPlan] 查询还款计划,返回信息 channelOrderNumber={},loanId={},serviceResult={}", channelOrderNumber, loanId, serviceResult); log.info("[findRepaymentPlan] 查询还款计划,返回信息 channelOrderNumber={},loanId={},serviceResult={}", channelOrderNumber, loanId, serviceResult);
if (Objects.isNull(serviceResult) || !serviceResult.isSuccess()) { if (Objects.isNull(serviceResult) || !serviceResult.isSuccess() || Objects.isNull(serviceResult.getData())) {
log.error("[findRepaymentPlan] 查询还款计划异常,返回页面空list"); log.error("[findRepaymentPlan] 查询还款计划异常,返回页面空list");
return null; return null;
} }
......
...@@ -82,6 +82,10 @@ public class OrderUtil { ...@@ -82,6 +82,10 @@ public class OrderUtil {
return new Tuple(kaNoticeType, "已关单"); return new Tuple(kaNoticeType, "已关单");
case "CANCEL_AFTER_LOAN" : case "CANCEL_AFTER_LOAN" :
return new Tuple(kaNoticeType, "存管提现超时或贷后关单"); return new Tuple(kaNoticeType, "存管提现超时或贷后关单");
case "REPAYMENT_RESULT":
return new Tuple<>(kaNoticeType, "还款结果通知");
case "QUOTA_EXPIRED":
return new Tuple<>(kaNoticeType, "额度失效");
default: default:
return new Tuple(kaNoticeType, "未知状态"); return new Tuple(kaNoticeType, "未知状态");
} }
......
...@@ -146,14 +146,14 @@ public class UserController { ...@@ -146,14 +146,14 @@ public class UserController {
* @return * @return
*/ */
// @Security(authorityId = "User.add") @Security(authorityId = "User.add")
@PostMapping(value = "/add") @PostMapping(value = "/add")
public Result<Boolean> addUser(@RequestBody @Valid UserModelVo userModelVo) { public Result<Boolean> addUser(@RequestBody @Valid UserModelVo userModelVo) {
return userService.addUser(userModelVo); return userService.addUser(userModelVo);
} }
@PutMapping("/modify") @PutMapping("/modify")
// @Security(authorityId = "User.update") @Security(authorityId = "User.update")
public Result<Boolean> modifyUser(@RequestBody @Valid UserModelVo userModelVo) { public Result<Boolean> modifyUser(@RequestBody @Valid UserModelVo userModelVo) {
return userService.modifyUser(userModelVo); return userService.modifyUser(userModelVo);
} }
...@@ -165,7 +165,7 @@ public class UserController { ...@@ -165,7 +165,7 @@ public class UserController {
* @return * @return
*/ */
@GetMapping("/list/get") @GetMapping("/list/get")
//@Security(authorityId = "User.list") @Security(authorityId = "User.list")
public Result<Page<User>> UserList(@Valid QueryUserListModel queryUserListModel) { public Result<Page<User>> UserList(@Valid QueryUserListModel queryUserListModel) {
return userService.getUserList(queryUserListModel); return userService.getUserList(queryUserListModel);
} }
...@@ -193,7 +193,7 @@ public class UserController { ...@@ -193,7 +193,7 @@ public class UserController {
} }
@PutMapping("/update/password") @PutMapping("/update/password")
// @Security(authorityId = "User.update") @Security(authorityId = "User.update")
public Result<Boolean> modifyUser(@RequestBody @Valid UpdatePasswordParam param) { public Result<Boolean> modifyUser(@RequestBody @Valid UpdatePasswordParam param) {
return userService.updatePassword(param); return userService.updatePassword(param);
} }
......
...@@ -3,6 +3,7 @@ package cn.quantgroup.cashloanflowboss.api.user.service; ...@@ -3,6 +3,7 @@ package cn.quantgroup.cashloanflowboss.api.user.service;
import cn.quantgroup.cashloanflowboss.api.login.model.Principal; import cn.quantgroup.cashloanflowboss.api.login.model.Principal;
import cn.quantgroup.cashloanflowboss.api.role.entity.Role; import cn.quantgroup.cashloanflowboss.api.role.entity.Role;
import cn.quantgroup.cashloanflowboss.api.role.repository.RoleRepository; import cn.quantgroup.cashloanflowboss.api.role.repository.RoleRepository;
import cn.quantgroup.cashloanflowboss.api.user.dictionary.UserRank;
import cn.quantgroup.cashloanflowboss.api.user.dictionary.UserStatus; import cn.quantgroup.cashloanflowboss.api.user.dictionary.UserStatus;
import cn.quantgroup.cashloanflowboss.api.user.entity.User; import cn.quantgroup.cashloanflowboss.api.user.entity.User;
import cn.quantgroup.cashloanflowboss.api.user.model.*; import cn.quantgroup.cashloanflowboss.api.user.model.*;
...@@ -300,7 +301,15 @@ public class UserServiceImpl implements UserService { ...@@ -300,7 +301,15 @@ public class UserServiceImpl implements UserService {
} }
exist.setChannelName(configuration.getChannelName()); exist.setChannelName(configuration.getChannelName());
} }
if (roleId == 1L) {
// 将普通用户设置成超级管理,需要级联设置用户级别
exist.setRank(UserRank.SUPER_ADMINISTRATOR);
} else {
if (exist.getRank().equals(UserRank.SUPER_ADMINISTRATOR)) {
// 如果之前是超管 改成普通操作员,用户级别做相应调整
exist.setRank(UserRank.OPERATOR);
}
}
//exist.setPassword(MD5Tools.md5(userModelVo.getPassword())); //exist.setPassword(MD5Tools.md5(userModelVo.getPassword()));
exist.setRoles(Collections.singletonList(role)); exist.setRoles(Collections.singletonList(role));
exist.setUpdateTime(new Date()); exist.setUpdateTime(new Date());
......
...@@ -17,7 +17,7 @@ public enum ApplicationStatus implements Status<ApplicationStatus> { ...@@ -17,7 +17,7 @@ public enum ApplicationStatus implements Status<ApplicationStatus> {
INTERNAL_SERVICE_ERROR(500001, "内部服务错误"), INTERNAL_SERVICE_ERROR(500001, "内部服务错误"),
ARGUMENT_VALID_EXCEPTION(500002, "无效的请求参数"), ARGUMENT_VALID_EXCEPTION(500002, "无效的参数"),
AUTHENTICATION_FAILURE(500003, "非法访问"), AUTHENTICATION_FAILURE(500003, "非法访问"),
......
...@@ -6,7 +6,6 @@ package cn.quantgroup.cashloanflowboss.spi.clf.model; ...@@ -6,7 +6,6 @@ package cn.quantgroup.cashloanflowboss.spi.clf.model;
* Created with suntao on 2018/4/15 * Created with suntao on 2018/4/15
*/ */
public enum KANoticeType { public enum KANoticeType {
CREDIT_ORDER_SUBMITTING("CREDIT_ING","授信中"),
CREDIT_SUCC("CREDIT_SUCC", "授信成功"),//0 CREDIT_SUCC("CREDIT_SUCC", "授信成功"),//0
CREDIT_FAIL("CREDIT_FAIL", "授信失败"),//1 CREDIT_FAIL("CREDIT_FAIL", "授信失败"),//1
FUAD_ASSIFN_SUCC("FUAD_ASSIFN_SUCC", "分配资金方成功"),//2 FUAD_ASSIFN_SUCC("FUAD_ASSIFN_SUCC", "分配资金方成功"),//2
...@@ -33,17 +32,17 @@ public enum KANoticeType { ...@@ -33,17 +32,17 @@ public enum KANoticeType {
ADD_CARD_SUCCESS("ADD_CARD_SUCCESS", "添加银行卡成功,非提现页面绑卡"), //23 ADD_CARD_SUCCESS("ADD_CARD_SUCCESS", "添加银行卡成功,非提现页面绑卡"), //23
REPAY_FAIL("REPAY_FAIL", "还款失败"), //24 REPAY_FAIL("REPAY_FAIL", "还款失败"), //24
UNKNOWN("UNKNOWN", "没有逻辑意义的数据库兼容的值"),
RP_INIT_F_SUCC("REPAYMENT_INIT_FUND_SUCC", "放款成功推送还款计划"),
APPROVE_ING("APPROVE_ING", "审批中"), APPROVE_ING("APPROVE_ING", "审批中"),
PAY_ING("PAY_ING", "放款中"), PAY_ING("PAY_ING", "放款中"),
TEST("TEST", "test"),
REPAYMENT_RESULT("REPAYMENT_RESULT","还款结果告知"),//30
QUOTA_EXPIRED("QUOTA_EXPIRED", "额度失效"),//31
WITHDRAW_APPROVING("WITHDRAW_APPROVING", "提现审批中"), //对应loan状态50,等待二次审核 WITHDRAW_APPROVING("WITHDRAW_APPROVING", "提现审批中"), //对应loan状态50,等待二次审核
FUND_WAITING_WITHDRAW("FUND_WAITING_WITHDRAW", "放款成功,等待二次提现"), FUND_WAITING_WITHDRAW("FUND_WAITING_WITHDRAW", "放款成功,等待二次提现"),
CREDIT_ORDER_SUBMITTING("CREDIT_ING","授信中"),
UNKNOWN("UNKNOWN", "没有逻辑意义的数据库兼容的值"), ;
RP_INIT_F_SUCC("REPAYMENT_INIT_FUND_SUCC", "放款成功推送还款计划"),
TEST("TEST", "test");
private String type; private String type;
private String desc; private String desc;
......
...@@ -4,6 +4,7 @@ package cn.quantgroup.cashloanflowboss.spi.xyqb.repository; ...@@ -4,6 +4,7 @@ package cn.quantgroup.cashloanflowboss.spi.xyqb.repository;
import cn.quantgroup.cashloanflowboss.spi.xyqb.entity.QuotaProduct; import cn.quantgroup.cashloanflowboss.spi.xyqb.entity.QuotaProduct;
import cn.quantgroup.cashloanflowboss.spi.xyqb.source.XYQBDataSource; import cn.quantgroup.cashloanflowboss.spi.xyqb.source.XYQBDataSource;
import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
/** /**
* @author Jie.Feng * @author Jie.Feng
...@@ -11,4 +12,8 @@ import org.springframework.data.jpa.repository.JpaRepository; ...@@ -11,4 +12,8 @@ import org.springframework.data.jpa.repository.JpaRepository;
*/ */
@XYQBDataSource @XYQBDataSource
public interface QuotaProductRepository extends JpaRepository<QuotaProduct,Long> { public interface QuotaProductRepository extends JpaRepository<QuotaProduct,Long> {
@Query(value = "select * from quota_product where channel_id=?1 limit 1", nativeQuery = true)
QuotaProduct findByChannelIdFirstOne(Long channelId);
} }
...@@ -63,4 +63,6 @@ public interface XYQBCenterService { ...@@ -63,4 +63,6 @@ public interface XYQBCenterService {
ApplyScenarioInfoEntity findFirstByApplyNo(String applyNo); ApplyScenarioInfoEntity findFirstByApplyNo(String applyNo);
QuotaProduct getXyqbProduct(Long channelId);
} }
...@@ -4,8 +4,10 @@ import cn.quantgroup.cashloanflowboss.api.order.model.RepaymentPlansResultModel; ...@@ -4,8 +4,10 @@ import cn.quantgroup.cashloanflowboss.api.order.model.RepaymentPlansResultModel;
import cn.quantgroup.cashloanflowboss.api.order.model.XyqbCurrentOrderStatusServiceResultModel; import cn.quantgroup.cashloanflowboss.api.order.model.XyqbCurrentOrderStatusServiceResultModel;
import cn.quantgroup.cashloanflowboss.api.order.model.XyqbHistoryOrderStatusServiceResultModel; import cn.quantgroup.cashloanflowboss.api.order.model.XyqbHistoryOrderStatusServiceResultModel;
import cn.quantgroup.cashloanflowboss.core.Application; import cn.quantgroup.cashloanflowboss.core.Application;
import cn.quantgroup.cashloanflowboss.core.asserts.Assert;
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.core.dictionary.ApplicationStatus;
import cn.quantgroup.cashloanflowboss.spi.jolyne.JolyneService; import cn.quantgroup.cashloanflowboss.spi.jolyne.JolyneService;
import cn.quantgroup.cashloanflowboss.spi.jolyne.JolyneUtil; import cn.quantgroup.cashloanflowboss.spi.jolyne.JolyneUtil;
import cn.quantgroup.cashloanflowboss.spi.jolyne.model.JolyneDB; import cn.quantgroup.cashloanflowboss.spi.jolyne.model.JolyneDB;
...@@ -288,4 +290,10 @@ public class XYQBCenterServiceImpl implements XYQBCenterService { ...@@ -288,4 +290,10 @@ public class XYQBCenterServiceImpl implements XYQBCenterService {
return applyScenarioInfoRepository.findFirstByOrderNo(applyNo); return applyScenarioInfoRepository.findFirstByOrderNo(applyNo);
} }
@Override
public QuotaProduct getXyqbProduct(Long channelId) {
Assert.isNull(channelId, ApplicationStatus.ARGUMENT_VALID_EXCEPTION);
return quotaProductRepository.findByChannelIdFirstOne(channelId);
}
} }
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