代码修改

release
xuliangwei 2 years ago
parent 14155af019
commit c81b106ded
  1. 9
      dxhy-erp/src/main/java/com/dxhy/erp/controller/SDNYMainProcessController.java
  2. 14
      dxhy-erp/src/main/java/com/dxhy/erp/enums/RequestRecordEnum.java
  3. 27
      dxhy-erp/src/main/java/com/dxhy/erp/service/impl/RequestRecordServiceImpl.java

@ -274,6 +274,10 @@ public class SDNYMainProcessController extends AbstractController {
if(delete > 0) { if(delete > 0) {
checkInvoiceResult = snPushCheckRecordService.singleCheckInvoice(pramsMap,null); checkInvoiceResult = snPushCheckRecordService.singleCheckInvoice(pramsMap,null);
List<String> activeCallRequest = new ArrayList<>();
activeCallRequest.add(JSONObject.toJSONString(pramsMap));
activeCallRequest.add(JSONObject.toJSONString(null));
singleInvoiceCheckRecord.setActiveCallRequestDetail(JSONObject.toJSONString(activeCallRequest));
singleInvoiceCheckRecord.setActiveCall("singleCheckInvoice"); singleInvoiceCheckRecord.setActiveCall("singleCheckInvoice");
singleInvoiceCheckRecord.setActiveCallResponse(JSONObject.toJSONString(checkInvoiceResult)); singleInvoiceCheckRecord.setActiveCallResponse(JSONObject.toJSONString(checkInvoiceResult));
@ -355,6 +359,11 @@ public class SDNYMainProcessController extends AbstractController {
try { try {
checkInvoiceResult = snPushCheckRecordService.singleCheckInvoice(pramsMap,"1"); checkInvoiceResult = snPushCheckRecordService.singleCheckInvoice(pramsMap,"1");
List<String> activeCallRequest = new ArrayList<>();
activeCallRequest.add(JSONObject.toJSONString(pramsMap));
activeCallRequest.add(JSONObject.toJSONString("1"));
singleInvoiceCheckRecord.setActiveCallRequestDetail(JSONObject.toJSONString(activeCallRequest));
singleInvoiceCheckRecord.setActiveCall("singleCheckInvoice"); singleInvoiceCheckRecord.setActiveCall("singleCheckInvoice");
singleInvoiceCheckRecord.setActiveCallResponse(JSONObject.toJSONString(checkInvoiceResult)); singleInvoiceCheckRecord.setActiveCallResponse(JSONObject.toJSONString(checkInvoiceResult));

@ -12,15 +12,15 @@ public enum RequestRecordEnum {
SINGLE_INVOICE_CHECK("/sn/singleInvoiceCheck", "singleInvoiceCheck", SNRequestObject.class, ResponseEntity.class, "SDNYMainProcessController"), SINGLE_INVOICE_CHECK("/sn/singleInvoiceCheck", "singleInvoiceCheck", SNRequestObject.class, ResponseEntity.class, "SDNYMainProcessController"),
SINGLE_CHECK_INVOICE("singleCheckInvoice", Map.class, JSONObject.class, "SNPushCheckRecordService"), SINGLE_CHECK_INVOICE("singleCheckInvoice", JSONObject.class, "SNPushCheckRecordService", Map.class, String.class),
PUSH_CHECK_RESULT_TO_SAP("pushCheckResultToSAP", String.class, String.class, "SNPushCheckRecordService"); PUSH_CHECK_RESULT_TO_SAP("pushCheckResultToSAP", String.class, "SNPushCheckRecordService", String.class);
private String className; private String className;
private String portName; private String portName;
private String methodName; private String methodName;
private Class<?> argClass; private Class<?>[] argClass;
private Class<?> responseEntityClass; private Class<?> responseEntityClass;
@ -28,11 +28,11 @@ public enum RequestRecordEnum {
this.className = className; this.className = className;
this.portName = portName; this.portName = portName;
this.methodName = methodName; this.methodName = methodName;
this.argClass = argClass; this.argClass[0] = argClass;
this.responseEntityClass = responseEntityClass; this.responseEntityClass = responseEntityClass;
} }
RequestRecordEnum(String methodName, Class<?> argClass, Class<?> responseEntityClass, String className) { RequestRecordEnum(String methodName, Class<?> responseEntityClass, String className, Class<?>... argClass) {
this.className = className; this.className = className;
this.methodName = methodName; this.methodName = methodName;
this.argClass = argClass; this.argClass = argClass;
@ -63,11 +63,11 @@ public enum RequestRecordEnum {
return methodName; return methodName;
} }
public Class<?> getArgClass() { public Class<?>[] getArgClass() {
return argClass; return argClass;
} }
public void setArgClass(Class<?> argClass) { public void setArgClass(Class<?>[] argClass) {
this.argClass = argClass; this.argClass = argClass;
} }

@ -138,13 +138,24 @@ public class RequestRecordServiceImpl extends MpBaseServiceImpl<RequestRecordDao
if (recordenum.getMethodName().equals(dbRecord.getActiveCall())) { if (recordenum.getMethodName().equals(dbRecord.getActiveCall())) {
snPushCheckRecordService = (SNPushCheckRecordService)applicationContext.getBean(recordenum.getClassName()); snPushCheckRecordService = (SNPushCheckRecordService)applicationContext.getBean(recordenum.getClassName());
log.info("通过反射获取到的snPushCheckRecordService是否为空:{}",JSONObject.toJSONString(snPushCheckRecordService == null)); log.info("通过反射获取到的snPushCheckRecordService是否为空:{}",JSONObject.toJSONString(snPushCheckRecordService == null));
Method method = ReflectUtil.getMethod(recordenum.getClass(), recordenum.getMethodName(), recordenum.getArgClass()); Method method = ReflectUtil.getMethodByName(snPushCheckRecordService.getClass(),recordenum.getMethodName());
log.info("通过反射获取到的方法是否为空:{}",JSONObject.toJSONString(method == null));
if (method != null) {
log.info("通过反射获取到的方法名:{}",JSONObject.toJSONString(method.getName()));
}
Object invokeResponse = null; Object invokeResponse = null;
R data = new R(1000, "default success"); R data = new R(1000, "default success");
try { try {
DynamicContextHolder.push(dbname+DbConstant.BUSINESS_WRITE); DynamicContextHolder.push(dbname+DbConstant.BUSINESS_WRITE);
invokeResponse = method.invoke(snPushCheckRecordService, JSONObject.parseObject(dbRecord.getActiveCallRequestDetail(), recordenum.getArgClass())); List<String> list = JSONObject.parseObject(dbRecord.getActiveCallRequestDetail(),List.class);
if (recordenum.getArgClass().length>1) {
invokeResponse = method.invoke(snPushCheckRecordService, JSONObject.parseObject(list.get(0), recordenum.getArgClass()[0]),JSONObject.parseObject(list.get(1), recordenum.getArgClass()[1]));
}else {
invokeResponse = method.invoke(snPushCheckRecordService, JSONObject.parseObject(list.get(0), recordenum.getArgClass()[0]));
}
log.info("重调后得到的结果:{}",JSONObject.toJSONString(invokeResponse));
Map<String,String> map = JSONObject.parseObject(JSONObject.toJSONString(invokeResponse), Map.class); Map<String,String> map = JSONObject.parseObject(JSONObject.toJSONString(invokeResponse), Map.class);
data.put("data", invokeResponse); data.put("data", invokeResponse);
@ -168,16 +179,10 @@ public class RequestRecordServiceImpl extends MpBaseServiceImpl<RequestRecordDao
updateSuccessfulRecallRecord(dbRecord, 0, JSONObject.toJSONString(invokeResponse), JSONObject.toJSONString(data)); updateSuccessfulRecallRecord(dbRecord, 0, JSONObject.toJSONString(invokeResponse), JSONObject.toJSONString(data));
return ResponseEntity.ok(JSONObject.toJSONString(data)); return ResponseEntity.ok(JSONObject.toJSONString(data));
} }
catch (IllegalAccessException e) { catch (Exception e) {
log.info("重调用出现异常,异常信息:{}",e); log.info("重调出现异常,异常信息:{}",e);
updateFailedRecallRecord(dbRecord, 1, JSONObject.toJSONString(invokeResponse), JSONObject.toJSONString(data), JSONObject.toJSONString(e), 1);
e.printStackTrace();
return ResponseEntity.ok(JSONObject.toJSONString(R.error("重调用出现异常,请稍后重试")));
} catch (InvocationTargetException e) {
log.info("重调用出现异常,异常信息:{}",e);
updateFailedRecallRecord(dbRecord, 1, JSONObject.toJSONString(invokeResponse), JSONObject.toJSONString(data), JSONObject.toJSONString(e), 1);
e.printStackTrace(); e.printStackTrace();
return ResponseEntity.ok(JSONObject.toJSONString(R.error("重调用出现异常,请稍后重试"))); return ResponseEntity.ok(JSONObject.toJSONString(R.error(CommonConstants.MSG_ERR_DEFAULT)));
} }
} }

Loading…
Cancel
Save