From a578d5d18c09cfe8b045bf95f3907620ffd1221d Mon Sep 17 00:00:00 2001
From: wuxw <928255095@qq.com>
Date: 星期三, 08 七月 2020 00:49:19 +0800
Subject: [PATCH] 事务问题处理完成
---
service-order/src/main/java/com/java110/order/smo/impl/OIdServiceSMOImpl.java | 36 ++++++++++++++++++++++--------------
1 files changed, 22 insertions(+), 14 deletions(-)
diff --git a/service-order/src/main/java/com/java110/order/smo/impl/OIdServiceSMOImpl.java b/service-order/src/main/java/com/java110/order/smo/impl/OIdServiceSMOImpl.java
index 6ef665d..18d9fbc 100644
--- a/service-order/src/main/java/com/java110/order/smo/impl/OIdServiceSMOImpl.java
+++ b/service-order/src/main/java/com/java110/order/smo/impl/OIdServiceSMOImpl.java
@@ -101,24 +101,26 @@
JSONArray params = generateParam(orderItemDto);
httpEntity = new HttpEntity<String>(params.toJSONString(), header);
restTemplate.exchange(FALLBACK_URL.replace(SERVICE_NAME, orderItemDto.getServiceName()), HttpMethod.POST, httpEntity, String.class);
+
+ //鏍囪涓鸿鍗曢」澶辫触
+ Map info = new HashMap();
+ info.put("finishTime", DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A));
+ info.put("statusCd", "E");
+ info.put("bId", orderItemDto.getbId());
+ info.put("oId", orderDto.getoId());
+ centerServiceDAOImpl.updateOrderItem(info);
+
+ //鍒犻櫎 浜嬪姟鏃ュ織
+ //centerServiceDAOImpl.deleteUnItemLog(info);
} catch (Exception e) {
logger.error("鍥為��浜嬪姟澶辫触", e);
errorOrderItemDtos.add(orderItemDto);
}
}
- //鏍囪涓鸿鍗曢」澶辫触
- Map info = new HashMap();
- info.put("finishTime", DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A));
- info.put("statusCd", "E");
- info.put("oId", orderDto.getoId());
- centerServiceDAOImpl.updateOrderItem(info);
-
- //鍒犻櫎 浜嬪姟鏃ュ織
- centerServiceDAOImpl.deleteUnItemLog(info);
//鏍囪涓鸿鍗曞け璐�
- info = new HashMap();
+ Map info = new HashMap();
info.put("finishTime", DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A));
info.put("statusCd", "E");
info.put("oId", orderDto.getoId());
@@ -237,11 +239,11 @@
String logText = orderItemDto.getLogText();
JSONObject logTextObj = JSONObject.parseObject(logText);
- JSONArray preValues = logTextObj.getJSONArray("preValue");
- for (int preValueIndex = 0; preValueIndex < preValues.size(); preValueIndex++) {
+ JSONArray afterValues = logTextObj.getJSONArray("afterValue");
+ for (int preValueIndex = 0; preValueIndex < afterValues.size(); preValueIndex++) {
sql = "delete from " + orderItemDto.getActionObj() + " where 1=1 ";
param = new JSONObject();
- JSONObject keyValue = preValues.getJSONObject(preValueIndex);
+ JSONObject keyValue = afterValues.getJSONObject(preValueIndex);
for (String key : keyValue.keySet()) {
sql += (" and " + key + "=" + keyValue.getString(key));
}
@@ -276,6 +278,12 @@
if (StringUtil.isEmpty(orderItemDto.getbId()) || orderItemDto.getbId().startsWith("-")) {
orderItemDto.setbId(GenerateCodeFactory.getBId());
}
+ //鍒ゆ柇OID鏄惁瀛樺湪
+ OrderDto orderDto = BeanConvertUtil.covertBean(centerServiceDAOImpl.getOrder(BeanConvertUtil.beanCovertMap(orderItemDto)), OrderDto.class);
+
+ if (orderDto == null || "E".equals(orderDto.getStatusCd())) {
+ return new ResponseEntity<String>("褰撳墠娌℃湁浜嬪姟鎴栬�呬簨鍔″凡缁忓洖婊�", HttpStatus.NOT_FOUND);
+ }
centerServiceDAOImpl.saveOrderItem(BeanConvertUtil.beanCovertMap(orderItemDto));
return ResultVo.createResponseEntity(ResultVo.CODE_OK, ResultVo.MSG_OK);
@@ -301,7 +309,7 @@
centerServiceDAOImpl.updateOrderItem(info);
//鍒犻櫎 浜嬪姟鏃ュ織
- centerServiceDAOImpl.deleteUnItemLog(info);
+ //centerServiceDAOImpl.deleteUnItemLog(info);
//瀹屾垚璁㈠崟
info = new HashMap();
--
Gitblit v1.8.0