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

用户申请订单查询优化

parent d7b471d0
package cn.quantgroup.customer.model.order;
import lombok.Data;
/**
* 有效申请订单
*
* @author Wang Xiangwei
* @version 2020/3/9
*/
@Data
public class ActiveApplyOrder {
/**
* 序号
*/
private Long num;
private String channelNo;
private Long userId;
private String applyOrderNo;
private String applyStatus;
private String applyAt;
private String productDesc;
private String channelName;
private Long loanId;
private Boolean showBtn;
private String loanStatus;
private String amount;
private String paidAt;
private String termRepayment;
}
...@@ -2,37 +2,17 @@ package cn.quantgroup.customer.model.order; ...@@ -2,37 +2,17 @@ package cn.quantgroup.customer.model.order;
import lombok.Data; import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/** /**
* 申请订单 * 申请订单
*
* @author Wang Xiangwei * @author Wang Xiangwei
* @version 2020/3/9 * @version 2020/4/23
*/ */
@Data @Data
public class ApplyOrder { public class ApplyOrder {
private List<ActiveApplyOrder> activeOrders = new ArrayList<>();
/** private List<InvalidApplyOrder> invalidOrders = new ArrayList<>();
* 序号
*/
private Long num;
private String channelOrderNo;
private String channelNo;
private Long userId;
private String applyOrderNo;
private String applyStatus;
private String applyAt;
private String productDesc;
private String channelName;
private Long loanId;
private Boolean showBtn;
} }
package cn.quantgroup.customer.model.order;
import lombok.Data;
/**
* 申请订单
*
* @author Wang Xiangwei
* @version 2020/3/9
*/
@Data
public class InvalidApplyOrder {
private String applyAt;
private Long userId;
private String applyStatus;
private String channelName;
private String productDesc;
private String amount;
private String applyOrderNo;
private String remark;
private String updatedAt;
private String channelNo;
}
package cn.quantgroup.customer.model.xyqbuser; package cn.quantgroup.customer.model.xyqbuser;
import cn.quantgroup.customer.model.order.ActiveApplyOrder;
import cn.quantgroup.customer.model.order.ApplyOrder; import cn.quantgroup.customer.model.order.ApplyOrder;
import lombok.Data; import lombok.Data;
...@@ -13,7 +14,7 @@ import java.util.List; ...@@ -13,7 +14,7 @@ import java.util.List;
public class UserCombination { public class UserCombination {
private UserBasicInfo userInfo; private UserBasicInfo userInfo;
private List<ApplyOrder> applyOrderList; private ApplyOrder applyOrder;
} }
package cn.quantgroup.customer.rest; package cn.quantgroup.customer.rest;
import cn.quantgroup.customer.rest.param.ordermapping.OrderQueryParam; import cn.quantgroup.customer.rest.param.ordermapping.OrderQueryParam;
import cn.quantgroup.customer.rest.param.repay.RepayOrderInfoQuery;
import cn.quantgroup.customer.rest.vo.JsonResult; import cn.quantgroup.customer.rest.vo.JsonResult;
import cn.quantgroup.customer.service.IOrderService; import cn.quantgroup.customer.service.IOrderService;
import cn.quantgroup.customer.service.IXyqbService;
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.web.bind.annotation.*; import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import javax.validation.Valid; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/** /**
* @author Wang Xiangwei * @author Wang Xiangwei
...@@ -22,22 +21,22 @@ import javax.validation.Valid; ...@@ -22,22 +21,22 @@ import javax.validation.Valid;
public class OrderRest { public class OrderRest {
@Autowired @Autowired
private IOrderService orderService; private IOrderService orderService;
@GetMapping("/loan/{loanId}") @GetMapping("/loan/{loanId}")
public JsonResult getLoanOrderDetail(@PathVariable Long loanId){ public JsonResult getLoanOrderDetail(@PathVariable Long loanId) {
return orderService.getLoanOrderDetail(loanId); return orderService.getLoanOrderDetail(loanId);
} }
@GetMapping("/flowchart/{orderNo}") @GetMapping("/flowchart/{orderNo}")
public JsonResult getFlowChart(@PathVariable String orderNo){ public JsonResult getFlowChart(@PathVariable String orderNo) {
return orderService.findFlowChart(orderNo); return orderService.findFlowChart(orderNo);
} }
/** /**
* 订单信息查询 * 订单信息查询
*
* @param orderQuery * @param orderQuery
* @return * @return
*/ */
......
...@@ -20,7 +20,7 @@ public interface IXyqbService { ...@@ -20,7 +20,7 @@ public interface IXyqbService {
* @param applyOrderQuery * @param applyOrderQuery
* @return * @return
*/ */
JsonResult<List<ApplyOrder>> findApplyOrders(ApplyOrderQuery applyOrderQuery); JsonResult<ApplyOrder> findApplyOrders(ApplyOrderQuery applyOrderQuery);
/** /**
* 流程日志查看 * 流程日志查看
......
...@@ -6,7 +6,9 @@ import cn.quantgroup.customer.enums.ErrorCodeEnum; ...@@ -6,7 +6,9 @@ import cn.quantgroup.customer.enums.ErrorCodeEnum;
import cn.quantgroup.customer.exception.BusinessException; import cn.quantgroup.customer.exception.BusinessException;
import cn.quantgroup.customer.model.Tuple; import cn.quantgroup.customer.model.Tuple;
import cn.quantgroup.customer.model.kaordermapping.LoanOrderMapping; import cn.quantgroup.customer.model.kaordermapping.LoanOrderMapping;
import cn.quantgroup.customer.model.order.ActiveApplyOrder;
import cn.quantgroup.customer.model.order.ApplyOrder; import cn.quantgroup.customer.model.order.ApplyOrder;
import cn.quantgroup.customer.model.order.InvalidApplyOrder;
import cn.quantgroup.customer.model.xyqbuser.UserBasicInfo; import cn.quantgroup.customer.model.xyqbuser.UserBasicInfo;
import cn.quantgroup.customer.model.xyqbuser.UserCombination; import cn.quantgroup.customer.model.xyqbuser.UserCombination;
import cn.quantgroup.customer.repo.UserRepo; import cn.quantgroup.customer.repo.UserRepo;
...@@ -401,7 +403,7 @@ public class UserServiceImpl implements IUserService { ...@@ -401,7 +403,7 @@ public class UserServiceImpl implements IUserService {
return JsonResult.buildErrorStateResult(tuple.getValue(), null); return JsonResult.buildErrorStateResult(tuple.getValue(), null);
} }
JsonResult<UserBasicInfo> userInfo; JsonResult<UserBasicInfo> userInfo;
JsonResult<List<ApplyOrder>> applyOrders; JsonResult<ApplyOrder> applyOrder;
if ("1".equals(tuple.getValue())) { if ("1".equals(tuple.getValue())) {
//订单参数查询 //订单参数查询
OrderQueryParam orderQueryParam = new OrderQueryParam(); OrderQueryParam orderQueryParam = new OrderQueryParam();
...@@ -414,7 +416,7 @@ public class UserServiceImpl implements IUserService { ...@@ -414,7 +416,7 @@ public class UserServiceImpl implements IUserService {
log.error("{} 查询用户失败 result={}", logPre, userInfo); log.error("{} 查询用户失败 result={}", logPre, userInfo);
return userInfo; return userInfo;
} }
applyOrders = this.findApplyOrders(orderQueryParam); applyOrder = this.findApplyOrders(orderQueryParam);
} else { } else {
//用户参数查询 //用户参数查询
UserQueryParam userQueryParam = new UserQueryParam(); UserQueryParam userQueryParam = new UserQueryParam();
...@@ -428,33 +430,20 @@ public class UserServiceImpl implements IUserService { ...@@ -428,33 +430,20 @@ public class UserServiceImpl implements IUserService {
return userInfo; return userInfo;
} }
userQueryParam.setUserId(userInfo.getData().getUserId()); userQueryParam.setUserId(userInfo.getData().getUserId());
applyOrders = this.findApplyOrders(userQueryParam); applyOrder = this.findApplyOrders(userQueryParam);
} }
if (!applyOrders.isSuccess()) { if (!applyOrder.isSuccess()) {
log.error("{} 查询申请订单失败 result={}", logPre, applyOrders); log.error("{} 查询申请订单失败 result={}", logPre, applyOrder);
return applyOrders; return applyOrder;
}
List<ApplyOrder> applyOrderList = applyOrders.getData();
if (CollectionUtils.isNotEmpty(applyOrderList)) {
//通过申请订单号获得渠道订单号
List<String> applyOrderNoList = applyOrderList.stream().map(e -> e.getApplyOrderNo()).distinct().collect(Collectors.toList());
JsonResult<Map<String, String>> mapJsonResult = kaService.findChannelOrderNosByApplyOrderNos(applyOrderNoList);
if (!mapJsonResult.isSuccess()) {
return mapJsonResult;
}
Map<String, String> data = mapJsonResult.getData();
applyOrderList.forEach(e -> e.setChannelOrderNo(data.get(e.getApplyOrderNo())));
} }
UserBasicInfo userBasicInfo = userInfo.getData(); UserBasicInfo userBasicInfo = userInfo.getData();
UserCombination userCombination = new UserCombination(); UserCombination userCombination = new UserCombination();
userCombination.setUserInfo(userBasicInfo); userCombination.setUserInfo(userBasicInfo);
userCombination.setApplyOrderList(applyOrderList); userCombination.setApplyOrder(applyOrder.getData());
return JsonResult.buildSuccessResult("", userCombination); return JsonResult.buildSuccessResult("", userCombination);
...@@ -481,7 +470,7 @@ public class UserServiceImpl implements IUserService { ...@@ -481,7 +470,7 @@ public class UserServiceImpl implements IUserService {
applyOrderQuery.setLoanId(loanId); applyOrderQuery.setLoanId(loanId);
applyOrderQuery.setOrderNo(applyNo); applyOrderQuery.setOrderNo(applyNo);
//申请订单查询 //申请订单查询
JsonResult<List<ApplyOrder>> applyOrders = xyqbService.findApplyOrders(applyOrderQuery); JsonResult<ApplyOrder> applyOrders = xyqbService.findApplyOrders(applyOrderQuery);
return applyOrders; return applyOrders;
} }
...@@ -492,7 +481,7 @@ public class UserServiceImpl implements IUserService { ...@@ -492,7 +481,7 @@ public class UserServiceImpl implements IUserService {
ApplyOrderQuery applyOrderQuery = new ApplyOrderQuery(); ApplyOrderQuery applyOrderQuery = new ApplyOrderQuery();
applyOrderQuery.setUserId(userQueryParam.getUserId()); applyOrderQuery.setUserId(userQueryParam.getUserId());
//申请订单查询 //申请订单查询
JsonResult<List<ApplyOrder>> applyOrders = xyqbService.findApplyOrders(applyOrderQuery); JsonResult<ApplyOrder> applyOrders = xyqbService.findApplyOrders(applyOrderQuery);
return applyOrders; return applyOrders;
} }
...@@ -527,16 +516,22 @@ public class UserServiceImpl implements IUserService { ...@@ -527,16 +516,22 @@ public class UserServiceImpl implements IUserService {
applyOrderQuery.setOrderNo(applyOrderNo); applyOrderQuery.setOrderNo(applyOrderNo);
applyOrderQuery.setLoanId(loanId); applyOrderQuery.setLoanId(loanId);
//申请订单查询 //申请订单查询
JsonResult<List<ApplyOrder>> applyOrders = xyqbService.findApplyOrders(applyOrderQuery); JsonResult<ApplyOrder> applyOrder = xyqbService.findApplyOrders(applyOrderQuery);
if (!applyOrders.isSuccess()) { if (!applyOrder.isSuccess()) {
log.error("{} 获得申请订单失败 applyOrderQuery={} result={}", logPre, applyOrderQuery, applyOrders); log.error("{} 获得申请订单失败 applyOrderQuery={} result={}", logPre, applyOrderQuery, applyOrder);
return JsonResult.buildErrorStateResult("查询失败", null); return JsonResult.buildErrorStateResult("查询失败", null);
} }
if (CollectionUtils.isEmpty(applyOrders.getData())) { if (CollectionUtils.isEmpty(applyOrder.getData().getActiveOrders())
&& CollectionUtils.isEmpty(applyOrder.getData().getInvalidOrders())) {
return JsonResult.buildErrorStateResult("请确认搜索条件后再查询", null); return JsonResult.buildErrorStateResult("请确认搜索条件后再查询", null);
} }
Long userId = applyOrders.getData().get(0).getUserId(); Long userId;
if(CollectionUtils.isNotEmpty(applyOrder.getData().getActiveOrders())){
userId = applyOrder.getData().getActiveOrders().get(0).getUserId();
}else {
userId = applyOrder.getData().getInvalidOrders().get(0).getUserId();
}
UserSysResult<XUser> userByUserId = userSdk.getService().findUserByUserId(userId); UserSysResult<XUser> userByUserId = userSdk.getService().findUserByUserId(userId);
UserSysResult<XUserDetail> userDetailByUserId = userSdk.getService().findUserDetailByUserId(userId); UserSysResult<XUserDetail> userDetailByUserId = userSdk.getService().findUserDetailByUserId(userId);
return getUserBasicInfoResult(userByUserId,userDetailByUserId); return getUserBasicInfoResult(userByUserId,userDetailByUserId);
......
...@@ -64,7 +64,7 @@ public class XyqbServiceImpl implements IXyqbService { ...@@ -64,7 +64,7 @@ public class XyqbServiceImpl implements IXyqbService {
@Override @Override
public JsonResult<List<ApplyOrder>> findApplyOrders(ApplyOrderQuery applyOrderQuery) { public JsonResult<ApplyOrder> findApplyOrders(ApplyOrderQuery applyOrderQuery) {
String logPre = "XyqbServiceImpl.findApplyOrders"; String logPre = "XyqbServiceImpl.findApplyOrders";
log.info("{} 申请订单查询 applyOrderQuery={}", logPre, applyOrderQuery); log.info("{} 申请订单查询 applyOrderQuery={}", logPre, applyOrderQuery);
String orderNo = applyOrderQuery.getOrderNo(); String orderNo = applyOrderQuery.getOrderNo();
...@@ -84,15 +84,15 @@ public class XyqbServiceImpl implements IXyqbService { ...@@ -84,15 +84,15 @@ public class XyqbServiceImpl implements IXyqbService {
Map<String, String> header = Maps.newHashMap(); Map<String, String> header = Maps.newHashMap();
header.put("Content-Type", "application/x-www-form-urlencoded"); header.put("Content-Type", "application/x-www-form-urlencoded");
String result = httpService.post(url, header, param); String result = httpService.post(url, header, param);
log.info("{} 用户申请订单列表 url={}, header={},param={},result={}", logPre, url, header, param, result);
if (StringUtils.isBlank(result)) { if (StringUtils.isBlank(result)) {
log.error("{} 调用信用钱包失败 url={}, header={},param={},result={}", logPre, url, header, param, result); log.error("{} 调用信用钱包失败 url={}, header={},param={},result={}", logPre, url, header, param, result);
return JsonResult.buildErrorStateResult("申请订单查询失败", null); return JsonResult.buildErrorStateResult("申请订单查询失败", null);
} }
TypeReference<JsonResult<List<ApplyOrder>>> typeToken = new TypeReference<JsonResult<List<ApplyOrder>>>() { TypeReference<JsonResult<ApplyOrder>> typeToken = new TypeReference<JsonResult<ApplyOrder>>() {
}; };
JsonResult<List<ApplyOrder>> jsonResult = JSONTools.deserialize(result, typeToken); JsonResult<ApplyOrder> jsonResult = JSONTools.deserialize(result, typeToken);
return jsonResult; return jsonResult;
} }
......
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