浏览代码

ias order补充日志

master
chenchaod 2 个月前
父节点
当前提交
1b70f41393

+ 32
- 10
zhywpt-service-ias/src/main/java/cn/com/taiji/ias/manager/AbstractHandleManager.java 查看文件

@@ -2,12 +2,15 @@ package cn.com.taiji.ias.manager;

import cn.com.taiji.common.manager.net.http.ServiceHandleException;
import cn.com.taiji.common.pub.TimeTools;
import cn.com.taiji.core.entity.dict.InterfaceStatus;
import cn.com.taiji.core.entity.log.IasInterfaceLog;
import cn.com.taiji.core.model.comm.protocol.AbstractSignTypeRequest;
import cn.com.taiji.core.model.comm.protocol.AbstractSignTypeResponse;
import cn.com.taiji.core.model.comm.protocol.valid.BusinessValidateTools;
import cn.com.taiji.core.model.comm.protocol.valid.ErrorMsgBuilder;
import cn.com.taiji.core.model.comm.protocol.valid.FormatValidateTools;
import cn.com.taiji.core.model.comm.protocol.valid.GlyServiceError;
import cn.com.taiji.core.repo.jpa.log.IasInterfaceLogRepo;
import cn.com.taiji.ias.dict.DataType;
import cn.com.taiji.ias.dict.RequestStatus;
import cn.com.taiji.ias.model.PersistException;
@@ -38,6 +41,8 @@ public abstract class AbstractHandleManager<T extends AbstractSignTypeRequest<?>
@Autowired
@Qualifier("myExecutor")
protected ThreadPoolTaskExecutor executor;
@Autowired
protected IasInterfaceLogRepo logRepo;

@SuppressWarnings("unchecked")
public AbstractHandleManager(DataType dataType) {
@@ -52,6 +57,7 @@ public abstract class AbstractHandleManager<T extends AbstractSignTypeRequest<?>
ServiceLogEvent event = new ServiceLogEvent(dataType, ifCode, reqId, receiveTime);
String dataId = getDataId(req);
event.setDataId(dataId);
event.setReqJson(req.toJson());
try {
Map<String, Object> dataStream = Maps.newHashMap();
formatValidate(req, event, dataStream);
@@ -59,9 +65,12 @@ public abstract class AbstractHandleManager<T extends AbstractSignTypeRequest<?>
doBusiness(req, event, dataStream);
persist(req, event, dataStream);
onSuccess(req, event, dataStream);
return generateRes(req, event, dataStream);
AbstractSignTypeResponse response = generateRes(req, event, dataStream);
event.setResJson(response.toJson());
return response;
} finally {
// logManager.addServiceLog(event);
event.setAllCostTime(ChronoUnit.MILLIS.between(event.getReceiveTime(), LocalDateTime.now()));
executor.execute(() -> addServiceLog(event));
}
}

@@ -117,10 +126,10 @@ public abstract class AbstractHandleManager<T extends AbstractSignTypeRequest<?>
onBusinessValidateErr(req, dataStream);
throw GlyServiceError.BUSINESS_VALIDATE_ERR.toHandleException("业务校验错误"+e.getMessage());
} finally {
event.setReqStatus(RequestStatus.BUSINESS_VALID);
LocalDateTime now = LocalDateTime.now();
event.setBusinessValidTime(now);
event.setBusinessCostTime(ChronoUnit.MILLIS.between(event.getFormatValidTime(), now));
// event.setReqStatus(RequestStatus.BUSINESS_VALID);
// LocalDateTime now = LocalDateTime.now();
// event.setBusinessValidTime(now);
// event.setBusinessCostTime(ChronoUnit.MILLIS.between(event.getFormatValidTime(), now));
}
}

@@ -147,10 +156,10 @@ public abstract class AbstractHandleManager<T extends AbstractSignTypeRequest<?>
logger.error("------持久化失败:", e);
throw GlyServiceError.PERSIST_ERR.toHandleException("提交持久化出错");
} finally {
LocalDateTime persistTime = LocalDateTime.now();
event.setReqStatus(RequestStatus.PERSIST);
event.setPersistTime(persistTime);
event.setPersistCostTime(ChronoUnit.MILLIS.between(event.getBusinessValidTime(), persistTime));
// LocalDateTime persistTime = LocalDateTime.now();
// event.setReqStatus(RequestStatus.PERSIST);
// event.setPersistTime(persistTime);
// event.setPersistCostTime(ChronoUnit.MILLIS.between(event.getBusinessValidTime(), persistTime));
}
}

@@ -183,6 +192,7 @@ public abstract class AbstractHandleManager<T extends AbstractSignTypeRequest<?>
return getRes(req, event, dataStream);
} catch (Exception e) {
logger.error("------响应失败:", e);
event.setMsg(e.getMessage());
throw GlyServiceError.RESPONSE_ERROR.toHandleException(e.getMessage());
}
}
@@ -221,4 +231,16 @@ public abstract class AbstractHandleManager<T extends AbstractSignTypeRequest<?>
protected String getReceiveTimeStr(ServiceLogEvent event) {
return event.getReceiveTime().format(TimeTools.ISO_LOCAL_DATE_TIME);
}

public void addServiceLog(ServiceLogEvent event) {
IasInterfaceLog log = new IasInterfaceLog();
log.setRequestJson(event.getReqJson());
log.setResponseJson(event.getResJson());
log.setCreateTime(LocalDateTime.now());
log.setIfCode(event.getIfCode());
log.setStatus(hasText(event.getMsg())? InterfaceStatus.FAILED:InterfaceStatus.SUCCESS);
log.setCost(event.getAllCostTime());
log.setErrorMsg(event.getMsg());
logRepo.persist(log);
}
}

+ 7
- 4
zhywpt-service-ias/src/main/java/cn/com/taiji/ias/manager/order/OrderInitManager.java 查看文件

@@ -26,6 +26,7 @@ import cn.com.taiji.core.repo.jpa.basic.QtkAgencyRepo;
import cn.com.taiji.core.repo.jpa.issue.IssueProductPayRepo;
import cn.com.taiji.core.repo.jpa.issue.IssueProductPromotionRepo;
import cn.com.taiji.ias.dict.DataType;
import cn.com.taiji.ias.manager.valid.VehiclePlateCheckManager;
import cn.com.taiji.ias.model.MyFinals;
import cn.com.taiji.ias.model.ServiceLogEvent;
import org.apache.commons.compress.utils.Lists;
@@ -63,6 +64,8 @@ public class OrderInitManager extends AbstractOrderManager<OrderInitRequest> {
private IssueProductPromotionRepo promotionRepo;
@Autowired
private IssueProductPayRepo productPayRepo;
@Autowired
private VehiclePlateCheckManager vehiclePlateCheckManager;


@Override
@@ -310,7 +313,8 @@ public class OrderInitManager extends AbstractOrderManager<OrderInitRequest> {
req.setVehiclePlate(vehiclePlate);
req.setVehiclePlateColor(vehiclePlateColor);
// 1-发行方已办理 2-统一平台办理 3-未关联 4-未办理 5办理中
VehiclePlateCheckResponse res = jsonPostRepeat(req);
// VehiclePlateCheckResponse res = jsonPostRepeat(req);
VehiclePlateCheckResponse res = vehiclePlateCheckManager.serviceHandle(req);
throwBisExceptionOn(res.getResult() != 4, res.getInfo());
}

@@ -368,12 +372,11 @@ public class OrderInitManager extends AbstractOrderManager<OrderInitRequest> {
ext.setRegion(request.getRegion());
ext.setAddress(request.getAddress());
ext.setPostCode(request.getPostalCode());
ext.setLongitude(request.getLongitude().toString());
ext.setLatitude(request.getLatitude().toString());
if (request.getLongitude() != null) ext.setLongitude(request.getLongitude().toString());
if (request.getLatitude() != null) ext.setLatitude(request.getLatitude().toString());
ext.setTrackingNumber(request.getTrackingNumber());// 快递单号
ext.setCourierCompany(request.getCourierCompany());// 快递公司
orderInfoExtRepo.persist(ext);
}


}

+ 4
- 1
zhywpt-service-ias/src/main/java/cn/com/taiji/ias/model/ServiceLogEvent.java 查看文件

@@ -19,6 +19,8 @@ public class ServiceLogEvent {
this.receiveTime = receiveTime;
}

private String reqJson;//请求数据
private String resJson;//响应数据
private DataType dataType;// 接口类型
private String dataId;// 业务id
private String ifCode;// 接口文件名
@@ -30,5 +32,6 @@ public class ServiceLogEvent {
private LocalDateTime persistTime;// 存入关系数据库时间
private Long businessCostTime = 0L;// 业务校验花费时间
private Long persistCostTime = 0L;// 持久化花费时间
private String msg;// 说明
private Long allCostTime = 0L;// 总花费时间
private String msg;// 错误信息
}

正在加载...
取消
保存