风控中台对接-评分回调接口修改
This commit is contained in:
parent
08839caba7
commit
b889eb8296
@ -2,10 +2,16 @@ package com.ample.esb.server;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.amarsoft.are.ARE;
|
||||
import com.amarsoft.are.jbo.*;
|
||||
import com.ample.esb.bean.esb.*;
|
||||
import com.ample.esb.util.BaicPropertiesUtil;
|
||||
import com.ample.esb.util.DateUtils;
|
||||
import com.ample.esb.util.XstreamUtil;
|
||||
import com.ample.sms.FileUtil;
|
||||
import com.ample.sms.WriteRptThread;
|
||||
import com.tenwa.httpclient.pboc.PbocXmlUtils;
|
||||
import com.tenwa.reckon.util.UUIDUtil;
|
||||
import jbo.oti.RC_CALLBACK_LOG;
|
||||
import jbo.oti.RC_SCORE_RESULT;
|
||||
import jbo.oti.RC_SCORE_RESULT_LOG;
|
||||
|
||||
import javax.servlet.ServletException;
|
||||
@ -24,36 +30,28 @@ public class ScoreResultServlet extends HttpServlet {
|
||||
}
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
|
||||
// TODO: 2023-8-25 确实判断ip白名单
|
||||
response.setContentType("application/xml;charset:utf-8");
|
||||
public void doPost(HttpServletRequest request, HttpServletResponse response) {
|
||||
System.out.println("评分结果推送接收接口请求回调开始!");
|
||||
response.setContentType("application/x-www-form-urlencoded;charset:utf-8");
|
||||
response.setHeader("Cache-Control", "no-store");
|
||||
response.setHeader("Pragma", "no-cache");
|
||||
response.setDateHeader("Expires", 0L);
|
||||
response.setCharacterEncoding("utf-8");
|
||||
JSONObject resultJson = new JSONObject();
|
||||
String userid = request.getParameter("userid");
|
||||
resultJson.put("cmd","RPT_RESP");
|
||||
PrintWriter out = response.getWriter();
|
||||
ARE.getLog().info("接收到Rpt记录:" + 1 + "条");
|
||||
resultJson.put("status","200");
|
||||
resultJson.put("result","success");
|
||||
try{
|
||||
PrintWriter out = null;
|
||||
String resultXml = null;
|
||||
try {
|
||||
out = response.getWriter();
|
||||
BufferedReader in = new BufferedReader(new InputStreamReader(request.getInputStream(), "UTF-8"));
|
||||
StringBuilder stb = new StringBuilder();
|
||||
StringBuilder sb = new StringBuilder();
|
||||
String line = null;
|
||||
while ((line = in.readLine()) != null) {
|
||||
stb.append(line);
|
||||
sb.append(line);
|
||||
}
|
||||
ARE.getLog().info("接收到Rpt记录:" + stb.toString());
|
||||
savePushLog(stb.toString());
|
||||
}catch (Exception e){
|
||||
resultXml = sb.toString();
|
||||
ARE.getLog().info("接收到Rpt记录:" + resultXml);
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
resultJson.put("status","500");
|
||||
resultJson.put("result",e.getMessage());
|
||||
}
|
||||
out.print(resultJson.toJSONString());
|
||||
out.close();
|
||||
}
|
||||
|
||||
private void savePushLog(String xmlRes) throws Exception{
|
||||
@ -102,4 +100,48 @@ public class ScoreResultServlet extends HttpServlet {
|
||||
|
||||
}
|
||||
|
||||
public String updateResult(String requestXml) throws Exception{
|
||||
Transaction tran = (Transaction) XstreamUtil.objectConvert(requestXml);
|
||||
String logPath = BaicPropertiesUtil.get("log_path");
|
||||
String globalSeqNo = tran.getMessageEsbHead().getGlobalSeqNo();
|
||||
String projectNo = tran.getMessageBody().getAfsResultRequest().getApplyNo();
|
||||
FileUtil.writeFile(logPath + projectNo +"_"+ globalSeqNo +"_request.txt", requestXml);
|
||||
String fraudAlert = tran.getMessageBody().getAfsResultRequest().getFraudAlert();
|
||||
String actionTaken = tran.getMessageBody().getAfsResultRequest().getActionTaken();
|
||||
try {
|
||||
savePushLog(requestXml);
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
Response rs = new Response();
|
||||
rs.setResult("Successful");
|
||||
MessageBody mb = new MessageBody();
|
||||
mb.setResponse(rs);
|
||||
tran.setMessageBody(mb);
|
||||
MessageEsbHead esbHead = tran.getMessageEsbHead();
|
||||
esbHead.setTargetMachineDate(DateUtils.dateNow());
|
||||
esbHead.setTargetMachineTime(DateUtils.TimeNowAccurate());
|
||||
esbHead.setTargetReciveDate(DateUtils.dateNow());
|
||||
esbHead.setTargetReciveTime(DateUtils.TimeNowAccurate());
|
||||
esbHead.setRetCommStatus("S");
|
||||
esbHead.setRetCode("000000");
|
||||
esbHead.setRetMsg("成功");
|
||||
esbHead.setRetSystemId("APF");
|
||||
|
||||
MessageAppHead appHead = tran.getMessageAppHead();
|
||||
appHead.setTargetTranDate(DateUtils.dateNow());
|
||||
appHead.setTargetTranTime(DateUtils.TimeNowAccurate());
|
||||
|
||||
String responseXml = XstreamUtil.xmlConvert(tran);
|
||||
FileUtil.writeFile(logPath + projectNo +"_"+ globalSeqNo +"_response.txt", responseXml);
|
||||
|
||||
return responseXml;
|
||||
|
||||
}
|
||||
|
||||
public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
|
||||
doPost(request, response);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user