代码修改

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) {
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.setActiveCallResponse(JSONObject.toJSONString(checkInvoiceResult));
@ -355,6 +359,11 @@ public class SDNYMainProcessController extends AbstractController {
try {
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.setActiveCallResponse(JSONObject.toJSONString(checkInvoiceResult));

@ -12,15 +12,15 @@ public enum RequestRecordEnum {
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 portName;
private String methodName;
private Class<?> argClass;
private Class<?>[] argClass;
private Class<?> responseEntityClass;
@ -28,11 +28,11 @@ public enum RequestRecordEnum {
this.className = className;
this.portName = portName;
this.methodName = methodName;
this.argClass = argClass;
this.argClass[0] = argClass;
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.methodName = methodName;
this.argClass = argClass;
@ -63,11 +63,11 @@ public enum RequestRecordEnum {
return methodName;
}
public Class<?> getArgClass() {
public Class<?>[] getArgClass() {
return argClass;
}
public void setArgClass(Class<?> argClass) {
public void setArgClass(Class<?>[] argClass) {
this.argClass = argClass;
}

@ -138,13 +138,24 @@ public class RequestRecordServiceImpl extends MpBaseServiceImpl<RequestRecordDao
if (recordenum.getMethodName().equals(dbRecord.getActiveCall())) {
snPushCheckRecordService = (SNPushCheckRecordService)applicationContext.getBean(recordenum.getClassName());
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;
R data = new R(1000, "default success");
try {
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);
data.put("data", invokeResponse);
@ -168,16 +179,10 @@ public class RequestRecordServiceImpl extends MpBaseServiceImpl<RequestRecordDao
updateSuccessfulRecallRecord(dbRecord, 0, JSONObject.toJSONString(invokeResponse), JSONObject.toJSONString(data));
return ResponseEntity.ok(JSONObject.toJSONString(data));
}
catch (IllegalAccessException 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);
catch (Exception e) {
log.info("重调出现异常,异常信息:{}",e);
e.printStackTrace();
return ResponseEntity.ok(JSONObject.toJSONString(R.error("重调用出现异常,请稍后重试")));
return ResponseEntity.ok(JSONObject.toJSONString(R.error(CommonConstants.MSG_ERR_DEFAULT)));
}
}

Loading…
Cancel
Save