From 7e654f0bdb591ef8e7a67a4e9fc20f65fa6dd571 Mon Sep 17 00:00:00 2001
From: wuxw <928255095@qq.com>
Date: 星期三, 17 四月 2024 20:43:02 +0800
Subject: [PATCH] 优化代码
---
service-order/src/main/java/com/java110/order/smo/impl/AsynNotifySubServiceImpl.java | 44 ++++++++++++++++++++++++++++++++------------
1 files changed, 32 insertions(+), 12 deletions(-)
diff --git a/service-order/src/main/java/com/java110/order/smo/impl/AsynNotifySubServiceImpl.java b/service-order/src/main/java/com/java110/order/smo/impl/AsynNotifySubServiceImpl.java
index cf5ef2a..b75ebe7 100644
--- a/service-order/src/main/java/com/java110/order/smo/impl/AsynNotifySubServiceImpl.java
+++ b/service-order/src/main/java/com/java110/order/smo/impl/AsynNotifySubServiceImpl.java
@@ -3,22 +3,23 @@
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.java110.core.client.RestTemplate;
+import com.java110.core.context.Environment;
import com.java110.core.context.SecureInvocation;
-import com.java110.dto.businessDatabus.BusinessDatabusDto;
-import com.java110.dto.businessTableHis.BusinessTableHisDto;
+import com.java110.dto.system.BusinessDatabusDto;
+import com.java110.dto.system.BusinessTableHisDto;
import com.java110.dto.order.OrderDto;
import com.java110.dto.order.OrderItemDto;
-import com.java110.entity.order.Business;
+import com.java110.dto.system.Business;
import com.java110.intf.job.IDataBusInnerServiceSMO;
import com.java110.order.dao.ICenterServiceDAO;
import com.java110.order.smo.IAsynNotifySubService;
import com.java110.utils.cache.DatabusCache;
import com.java110.utils.cache.MappingCache;
import com.java110.utils.constant.DomainContant;
+import com.java110.utils.util.ListUtil;
import com.java110.utils.util.StringUtil;
-import com.java110.vo.ResultVo;
import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import com.java110.core.log.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpEntity;
import org.springframework.http.HttpHeaders;
@@ -40,6 +41,8 @@
@Autowired
private RestTemplate restTemplate;
+ @Autowired
+ private RestTemplate outRestTemplate;
@Autowired
private ICenterServiceDAO centerServiceDAOImpl;
@@ -48,6 +51,9 @@
private IDataBusInnerServiceSMO dataBusInnerServiceSMOImpl;
public static final String FALLBACK_URL = "http://SERVICE_NAME/businessApi/fallBack";
+
+ public static final String BOOT_FALLBACK_URL = "http://127.0.0.1:8008/businessApi/fallBack";
+
public static final String SERVICE_NAME = "SERVICE_NAME";
@@ -60,7 +66,12 @@
JSONArray params = generateBusinessParam(orderItemDto, businessTableHisDto);
httpEntity = new HttpEntity<String>(params.toJSONString(), header);
//閫氳繃fallBack 鐨勬柟寮忕敓鎴怋usiness
- restTemplate.exchange(FALLBACK_URL.replace(SERVICE_NAME, orderItemDto.getServiceName()), HttpMethod.POST, httpEntity, String.class);
+
+ if (Environment.isStartBootWay()) {
+ outRestTemplate.exchange(BOOT_FALLBACK_URL, HttpMethod.POST, httpEntity, String.class);
+ } else {
+ restTemplate.exchange(FALLBACK_URL.replace(SERVICE_NAME, orderItemDto.getServiceName()), HttpMethod.POST, httpEntity, String.class);
+ }
} catch (Exception e) {
logger.error("鐢熸垚business澶辫触", e);
@@ -71,8 +82,8 @@
public void notifyDatabus(List<Map> orderItemMaps, OrderDto orderDto) {
- if (orderItemMaps == null || orderItemMaps.size() < 1) {
- return ;
+ if (ListUtil.isNull(orderItemMaps)) {
+ return;
}
//瑙﹀彂databug
//鏌ヨ 浜嬪姟椤�
@@ -86,12 +97,12 @@
String databusSwitch = MappingCache.getValue(DomainContant.COMMON_DOMAIN, DATABUS_SWITCH);
if (!DATABUS_SWITCH_ON.equals(databusSwitch)) {
- return ;
+ return;
}
List<BusinessDatabusDto> databusDtos = DatabusCache.getDatabuss();
if (!hasTypeCd(databusDtos, businesses) || !SecureInvocation.secure(this.getClass())) {
- return ;
+ return;
}
try {
@@ -178,11 +189,11 @@
case "MOD":
params = new JSONArray();
JSONArray paramDels = generateBusinessDelInsertSql(orderItemDto, businessTableHisDto);
- for(int delIndex = 0 ; delIndex < paramDels.size(); delIndex ++){
+ for (int delIndex = 0; delIndex < paramDels.size(); delIndex++) {
params.add(paramDels.getJSONObject(delIndex));
}
JSONArray paramAdds = generateBusinessInsertInsertSql(orderItemDto, businessTableHisDto);
- for(int addIndex = 0 ; addIndex < paramAdds.size(); addIndex ++){
+ for (int addIndex = 0; addIndex < paramAdds.size(); addIndex++) {
params.add(paramAdds.getJSONObject(addIndex));
}
break;
@@ -204,14 +215,19 @@
private JSONArray generateBusinessInsertInsertSql(OrderItemDto orderItemDto, BusinessTableHisDto businessTableHisDto) {
JSONArray params = new JSONArray();
JSONObject param = null;
+ JSONObject updateParam = null;
String sql = "";
+ String updateSql = "";
String logText = orderItemDto.getLogText();
JSONObject logTextObj = JSONObject.parseObject(logText);
JSONArray afterValues = logTextObj.getJSONArray("afterValue");
for (int afterValueIndex = 0; afterValueIndex < afterValues.size(); afterValueIndex++) {
sql = "insert into " + businessTableHisDto.getActionObjHis() + " ";
+ updateSql = "update " + businessTableHisDto.getActionObj() + " set b_id='" + orderItemDto.getbId() + "' where 1=1 ";
+
param = new JSONObject();
+ updateParam = new JSONObject();
JSONObject keyValue = afterValues.getJSONObject(afterValueIndex);
if (keyValue.isEmpty()) {
continue;
@@ -224,6 +240,8 @@
}
keySql += (key + ",");
valueSql += (keyValue.getString(key) + ",");
+
+ updateSql += (" and " + key + "=" + keyValue.getString(key));
}
keySql += "operate,b_id";
valueSql += "'ADD','" + orderItemDto.getbId() + "'";
@@ -235,7 +253,9 @@
}
sql = sql + keySql + ") " + valueSql + ") ";
param.put("fallBackSql", sql);
+ updateParam.put("fallBackSql", updateSql);
params.add(param);
+ params.add(updateParam);
}
return params;
--
Gitblit v1.8.0