Commit c885e44c authored by 黎博's avatar 黎博

修改请求参数获取方式

parent 0c3d15d3
......@@ -18,6 +18,7 @@ import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.BufferedReader;
import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.util.*;
......@@ -35,7 +36,8 @@ public class XinchengInterceptor implements HandlerInterceptor {
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception{
String uri = request.getRequestURI();
Map<String, String[]> parameterMap = request.getParameterMap();
// Map<String, String[]> parameterMap = request.getParameterMap();
Map<String, String> parameterMap = getParamsMap(request);
QueryWrapper<Mock> mockQueryWrapper = new QueryWrapper<>();
mockQueryWrapper.eq("url", uri);
Mock mock = mockMapper.selectOne(mockQueryWrapper);
......@@ -47,26 +49,26 @@ public class XinchengInterceptor implements HandlerInterceptor {
responseStr = mock.getFail();
}
// 解析请求
Map<String, Object> requestMap = new HashMap<>();
Map<String, Object> requestContentMap = new HashMap<>();
if (parameterMap.size() != 0) {
requestMap = JSON.parseObject(encryptConvertor.decrypt(JSON.toJSONString(convertParameterMap(parameterMap))), Map.class);
requestContentMap = JSON.parseObject(encryptConvertor.decrypt(JSON.toJSONString(parameterMap.get("content"))), Map.class);
}
Map<String, Object> responseMap = JSON.parseObject(responseStr, Map.class);
// 进件
if (uri.equals("/webservice/api/lhp/v1/credit/creditApply")) {
redisUtils.set(requestMap.get("orderNo").toString(), requestMap);
redisUtils.set(requestContentMap.get("orderNo").toString(), requestContentMap);
}
// 还款试算
if (uri.equals("/webservice/api/lhp/v1/loan/calculator")) {
String amount = requestMap.get("trialAmount").toString();
String term = requestMap.get("terms").toString();
String amount = requestContentMap.get("trialAmount").toString();
String term = requestContentMap.get("terms").toString();
Map<String, Object> caculatorMap = getLoanCaculatorResult(amount, term);
constructResponse(response, encryptConvertor.encrypt(JSON.toJSONString(caculatorMap)), "application/json; charset=utf-8");
return false;
}
// 还款计划
if (uri.equals("/webservice/api/lhp/v1/loan/repay/plan")) {
String orderNo = requestMap.get("orderNo").toString();
String orderNo = requestContentMap.get("orderNo").toString();
Map<String, Object> redisValue = JSONObject.parseObject(JSON.toJSONString(redisUtils.get(orderNo)), Map.class);
Map<String, Object> loanInfo = JSONObject.parseObject(redisValue.get("loanInfo").toString(), Map.class);
String amount = loanInfo.get("amount").toString();
......@@ -79,7 +81,7 @@ public class XinchengInterceptor implements HandlerInterceptor {
constructResponse(response, encryptConvertor.encrypt(JSON.toJSONString(repayPlanMap)), "application/json; charset=utf-8");
return false;
}
responseMap = disposeResponseMap(requestMap, responseMap);
responseMap = disposeResponseMap(requestContentMap, responseMap);
constructResponse(response, encryptConvertor.encrypt(JSON.toJSONString(responseMap)), "application/json; charset=utf-8");
return false;
}
......@@ -94,6 +96,18 @@ public class XinchengInterceptor implements HandlerInterceptor {
@Nullable Exception ex) {
}
public static Map<String, String> getParamsMap(HttpServletRequest request) throws Exception{
BufferedReader br = request.getReader();
String str = "";
StringBuilder requestData = new StringBuilder();
while((str = br.readLine()) != null){
requestData.append(str);
}
br.close();
Map<String, String> paramsMap = JSON.parseObject(JSON.toJSONString(requestData), Map.class);
return paramsMap;
}
/**
* 生成还款计划
* @param orderNo
......
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