丽知:如插入日志报错,请立刻回滚上一版!!!

This commit is contained in:
zhengyf 2024-09-20 09:47:27 +08:00
parent 541deea48f
commit 04e68d846b
1 changed files with 122 additions and 40 deletions

View File

@ -53,62 +53,118 @@ public class SaveOrUpdateBusinessLogUtil {
}
}
if (integrationTaskLivingDetails != null) {
//存在
//存在则更新可能是NY / NN
synchronized (insertOrUpdateLock) {
integrationTaskLivingDetailsEntity.setId(integrationTaskLivingDetails.getId());
updateSuccessMessage(integrationTaskLivingDetailsEntity);
// iIntegrationTaskLivingDetailsDao.update("com.hzya.frame.sysnew.integtationTaskLivingDetails.dao.impl.IntegrationTaskLivingDetailsDaoImpl.entity_updatebyid", integrationTaskLivingDetailsEntity);
iIntegrationTaskLivingDetailsDao.update(integrationTaskLivingDetailsEntity);
}
} else {
//不存在
//不存在则新增可能是Y / N
Long uuid = UUIDLong.longUUID();
integrationTaskLivingDetailsEntity.setId(String.valueOf(uuid));
updateSuccessMessage(integrationTaskLivingDetailsEntity);
IntegrationTaskLivingDetailsEntity save = iIntegrationTaskLivingDetailsDao.save(integrationTaskLivingDetailsEntity);
// System.out.println("save = " + save);
logger.info("integration_task_living_details->日志保存成功,主键:{}", save.getId());
saveSuccessMessage(integrationTaskLivingDetailsEntity);
// logger.info("integration_task_living_details->日志保存成功,主键:{}", save.getId());
}
} catch (Exception e) {
logger.error("SaveOrUpdateBusinessLogUtil对应的saveOrUpdate方法抛出异常日志详情保存失败", e);
//2024年9月3日 10:26:45 如果这里往上抛出异常没有功能搭配处理
}
}
/**
* 更新日志 存在则更新可能是NY / NN
* 肯定有id
* @param integrationTaskLivingDetailsEntity
*/
private void updateSuccessMessage(IntegrationTaskLivingDetailsEntity integrationTaskLivingDetailsEntity) {
IntegrationTaskLivingDetailsEntity integrationTaskLivingDetailsEntity1 = queryIntegrationTaskLivingDetailsEntityN(integrationTaskLivingDetailsEntity.getId());
if (successY.equals(integrationTaskLivingDetailsEntity.getNewState())) {
//NY
iIntegrationTaskLivingDetailsDao.deleteEntity(integrationTaskLivingDetailsEntity1);
String successIdentification = "success";
integrationTaskLivingDetailsEntity.setRootAppNewData(successIdentification);
integrationTaskLivingDetailsEntity.setNewTransmitInfo(successIdentification);
iIntegrationTaskLivingDetailsDao.saveSuccessLog(integrationTaskLivingDetailsEntity);
} else if (failN.equals(integrationTaskLivingDetailsEntity.getNewState())) {
//NN
String rootAppNewData = integrationTaskLivingDetailsEntity.getRootAppNewData();
if (integrationTaskLivingDetailsEntity.getRootAppNewData() != null && !integrationTaskLivingDetailsEntity.getRootAppNewData().trim().equals("") && integrationTaskLivingDetailsEntity.getRootAppNewData().length() >= 500) {
rootAppNewData = integrationTaskLivingDetailsEntity.getRootAppNewData().substring(0, 500);
}
String newTransmitInfo = integrationTaskLivingDetailsEntity.getNewTransmitInfo();
if (integrationTaskLivingDetailsEntity.getNewTransmitInfo() != null && !integrationTaskLivingDetailsEntity.getNewTransmitInfo().trim().equals("") && integrationTaskLivingDetailsEntity.getNewTransmitInfo().length() >= 500) {
newTransmitInfo = integrationTaskLivingDetailsEntity.getNewTransmitInfo().substring(0, 500);
}
integrationTaskLivingDetailsEntity.setRootAppNewData(rootAppNewData);
integrationTaskLivingDetailsEntity.setNewTransmitInfo(newTransmitInfo);
iIntegrationTaskLivingDetailsDao.entity_updatebyid(integrationTaskLivingDetailsEntity);
}
}
/**
* 新增日志 不存在则新增可能是Y / N
* @param integrationTaskLivingDetailsEntity
*/
private void saveSuccessMessage(IntegrationTaskLivingDetailsEntity integrationTaskLivingDetailsEntity) {
if (successY.equals(integrationTaskLivingDetailsEntity.getNewState())) {
//Y
String successIdentification = "success";
integrationTaskLivingDetailsEntity.setRootAppNewData(successIdentification);
integrationTaskLivingDetailsEntity.setNewTransmitInfo(successIdentification);
iIntegrationTaskLivingDetailsDao.saveSuccessLog(integrationTaskLivingDetailsEntity);
} else if (failN.equals(integrationTaskLivingDetailsEntity.getNewState())) {
//N
String rootAppNewData = integrationTaskLivingDetailsEntity.getRootAppNewData();
if (integrationTaskLivingDetailsEntity.getRootAppNewData() != null && !integrationTaskLivingDetailsEntity.getRootAppNewData().trim().equals("") && integrationTaskLivingDetailsEntity.getRootAppNewData().length() >= 500) {
rootAppNewData = integrationTaskLivingDetailsEntity.getRootAppNewData().substring(0, 500);
}
String newTransmitInfo = integrationTaskLivingDetailsEntity.getNewTransmitInfo();
if (integrationTaskLivingDetailsEntity.getNewTransmitInfo() != null && !integrationTaskLivingDetailsEntity.getNewTransmitInfo().trim().equals("") && integrationTaskLivingDetailsEntity.getNewTransmitInfo().length() >= 500) {
newTransmitInfo = integrationTaskLivingDetailsEntity.getNewTransmitInfo().substring(0, 500);
}
integrationTaskLivingDetailsEntity.setRootAppNewData(rootAppNewData);
integrationTaskLivingDetailsEntity.setNewTransmitInfo(newTransmitInfo);
iIntegrationTaskLivingDetailsDao.save(integrationTaskLivingDetailsEntity);
}
}
/**
* 修改成功消息
*
* @author liuyang
*/
private void updateSuccessMessage(IntegrationTaskLivingDetailsEntity integrationTaskLivingDetailsEntity) {
if (integrationTaskLivingDetailsEntity != null) {
if (successY.equals(integrationTaskLivingDetailsEntity.getNewState())) {
//成功
String successIdentification = "success";
integrationTaskLivingDetailsEntity.setRootAppNewData(successIdentification);
integrationTaskLivingDetailsEntity.setNewTransmitInfo(successIdentification);
/**
* integrationTaskLivingDetailsEntity.setRoot_app_new_data(JSON.toJSONString(searchPurchaseReceiptOrder));
* integrationTaskLivingDetailsEntity.setNew_transmit_info(cgrkApi);
*/
} else if (failN.equals(integrationTaskLivingDetailsEntity.getNewState())) {
//2024年9月2日 17:09:07 如果失败仅保留500个字符用于平衡数据库性能
//2024年9月2日 17:15:19 如果该单据判断为失败则integration_task_living_details表的root_app_new_datanew_transmit_info字段仅保留500个长度的字符用于平衡性能速网珍视名项目这一块性能很差
String rootAppNewData = integrationTaskLivingDetailsEntity.getRootAppNewData();
if (integrationTaskLivingDetailsEntity.getRootAppNewData() != null && !integrationTaskLivingDetailsEntity.getRootAppNewData().trim().equals("") && integrationTaskLivingDetailsEntity.getRootAppNewData().length() >= 500) {
rootAppNewData = integrationTaskLivingDetailsEntity.getRootAppNewData().substring(0, 500);
}
String newTransmitInfo = integrationTaskLivingDetailsEntity.getNewTransmitInfo();
if (integrationTaskLivingDetailsEntity.getNewTransmitInfo() != null && !integrationTaskLivingDetailsEntity.getNewTransmitInfo().trim().equals("") && integrationTaskLivingDetailsEntity.getNewTransmitInfo().length() >= 500) {
newTransmitInfo = integrationTaskLivingDetailsEntity.getNewTransmitInfo().substring(0, 500);
}
integrationTaskLivingDetailsEntity.setRootAppNewData(rootAppNewData);
integrationTaskLivingDetailsEntity.setNewTransmitInfo(newTransmitInfo);
} else {
Assert.state(false, "不合法的newState不能为空请传递Y或者N");
}
}
}
// private void updateSuccessMessage(IntegrationTaskLivingDetailsEntity integrationTaskLivingDetailsEntity) {
// if (integrationTaskLivingDetailsEntity != null) {
// if (successY.equals(integrationTaskLivingDetailsEntity.getNewState())) {
// //成功
// String successIdentification = "success";
// integrationTaskLivingDetailsEntity.setRootAppNewData(successIdentification);
// integrationTaskLivingDetailsEntity.setNewTransmitInfo(successIdentification);
// /**
// * integrationTaskLivingDetailsEntity.setRoot_app_new_data(JSON.toJSONString(searchPurchaseReceiptOrder));
// * integrationTaskLivingDetailsEntity.setNew_transmit_info(cgrkApi);
// */
// } else if (failN.equals(integrationTaskLivingDetailsEntity.getNewState())) {
// //2024年9月2日 17:09:07 如果失败仅保留500个字符用于平衡数据库性能
// //2024年9月2日 17:15:19 如果该单据判断为失败则integration_task_living_details表的root_app_new_datanew_transmit_info字段仅保留500个长度的字符用于平衡性能速网珍视名项目这一块性能很差
// String rootAppNewData = integrationTaskLivingDetailsEntity.getRootAppNewData();
// if (integrationTaskLivingDetailsEntity.getRootAppNewData() != null && !integrationTaskLivingDetailsEntity.getRootAppNewData().trim().equals("") && integrationTaskLivingDetailsEntity.getRootAppNewData().length() >= 500) {
// rootAppNewData = integrationTaskLivingDetailsEntity.getRootAppNewData().substring(0, 500);
// }
// String newTransmitInfo = integrationTaskLivingDetailsEntity.getNewTransmitInfo();
// if (integrationTaskLivingDetailsEntity.getNewTransmitInfo() != null && !integrationTaskLivingDetailsEntity.getNewTransmitInfo().trim().equals("") && integrationTaskLivingDetailsEntity.getNewTransmitInfo().length() >= 500) {
// newTransmitInfo = integrationTaskLivingDetailsEntity.getNewTransmitInfo().substring(0, 500);
// }
// integrationTaskLivingDetailsEntity.setRootAppNewData(rootAppNewData);
// integrationTaskLivingDetailsEntity.setNewTransmitInfo(newTransmitInfo);
// } else {
// Assert.state(false, "不合法的newState不能为空请传递Y或者N");
// }
// }
// }
/**
* 根据明细id查询明细信息
@ -116,9 +172,35 @@ public class SaveOrUpdateBusinessLogUtil {
* @author liuyang
*/
public IntegrationTaskLivingDetailsEntity queryIntegrationTaskLivingDetailsEntity(String integration_task_living_details_id) {
Assert.notNull(integration_task_living_details_id, "业务明细id不能为空");
IntegrationTaskLivingDetailsEntity integrationTaskLivingDetailsEntity = iIntegrationTaskLivingDetailsDao.get(integration_task_living_details_id);
IntegrationTaskLivingDetailsEntity integrationTaskLivingDetailsEntity = new IntegrationTaskLivingDetailsEntity();
integrationTaskLivingDetailsEntity.setId(integration_task_living_details_id);
IntegrationTaskLivingDetailsEntity integrationTaskLivingDetailsEntity1 = iIntegrationTaskLivingDetailsDao.queryEntityById(integrationTaskLivingDetailsEntity);
Assert.notNull(integrationTaskLivingDetailsEntity, "根据主键id没有查询到明细信息");
return integrationTaskLivingDetailsEntity;
return integrationTaskLivingDetailsEntity1;
}
/**
* 根据明细id查询明细信息成功表 integration_task_living_details_success
*/
public IntegrationTaskLivingDetailsEntity queryIntegrationTaskLivingDetailsEntityY(IntegrationTaskLivingDetailsEntity integrationTaskLivingDetailsEntity) {
// Assert.notNull(integration_task_living_details_id, "业务明细id不能为空");
// IntegrationTaskLivingDetailsEntity integrationTaskLivingDetailsEntity = new IntegrationTaskLivingDetailsEntity();
// integrationTaskLivingDetailsEntity.setId(integration_task_living_details_id);
// integrationTaskLivingDetailsEntity.setNewState("Y");//查询成功表
IntegrationTaskLivingDetailsEntity integrationTaskLivingDetailsEntity1 = iIntegrationTaskLivingDetailsDao.queryEntity(integrationTaskLivingDetailsEntity);
Assert.notNull(integrationTaskLivingDetailsEntity1, "根据主键id没有查询到明细信息");
return integrationTaskLivingDetailsEntity1;
}
/**
* 根据明细id查询明细信息错误表 integration_task_living_details
*/
public IntegrationTaskLivingDetailsEntity queryIntegrationTaskLivingDetailsEntityN(String integration_task_living_details_id) {
Assert.notNull(integration_task_living_details_id, "业务明细id不能为空");
IntegrationTaskLivingDetailsEntity integrationTaskLivingDetailsEntity = new IntegrationTaskLivingDetailsEntity();
integrationTaskLivingDetailsEntity.setId(integration_task_living_details_id);
integrationTaskLivingDetailsEntity.setNewState("N");//查询失败表
IntegrationTaskLivingDetailsEntity integrationTaskLivingDetailsEntity1 = iIntegrationTaskLivingDetailsDao.queryEntity(integrationTaskLivingDetailsEntity);
Assert.notNull(integrationTaskLivingDetailsEntity1, "根据主键id没有查询到明细信息");
return integrationTaskLivingDetailsEntity1;
}
}