From 17a4448fb696f2b8ff34446bc3e43a67751032bc Mon Sep 17 00:00:00 2001 From: xjm Date: Wed, 17 Apr 2024 09:46:58 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=A1=E6=A0=B8=E8=AE=A2=E5=8D=95=E5=8F=96?= =?UTF-8?q?=E6=B6=88=E7=94=B3=E8=AF=B7=E6=8E=A5=E5=8F=A3=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ssjygl/synctask/SyncTaskService.java | 84 ++++++++++--------- 1 file changed, 43 insertions(+), 41 deletions(-) diff --git a/ssjygl-xsx-service/src/main/java/com/cowr/service/ssjygl/synctask/SyncTaskService.java b/ssjygl-xsx-service/src/main/java/com/cowr/service/ssjygl/synctask/SyncTaskService.java index 04f55c0..4c872a3 100644 --- a/ssjygl-xsx-service/src/main/java/com/cowr/service/ssjygl/synctask/SyncTaskService.java +++ b/ssjygl-xsx-service/src/main/java/com/cowr/service/ssjygl/synctask/SyncTaskService.java @@ -31,9 +31,9 @@ import java.util.concurrent.LinkedBlockingQueue; * PrimaryKey: id */ public class SyncTaskService { - private static Log log = Log.getLog(SyncTaskService.class); - public static final SyncTaskService me = new SyncTaskService(); - private BlockingQueue taskQueue = new LinkedBlockingQueue<>(); // 砂站推送到服务端的数据队列 + private static Log log = Log.getLog(SyncTaskService.class); + public static final SyncTaskService me = new SyncTaskService(); + private BlockingQueue taskQueue = new LinkedBlockingQueue<>(); // 砂站推送到服务端的数据队列 // 是否开启 public boolean isEnable() { @@ -58,9 +58,9 @@ public class SyncTaskService { try { while (Config.server_run) { try { - JSONObject data = taskQueue.take(); - int supermarket_id = data.getInteger("supermarket_id"); - boolean ret = recv(data, supermarket_id); + JSONObject data = taskQueue.take(); + int supermarket_id = data.getInteger("supermarket_id"); + boolean ret = recv(data, supermarket_id); // 接收成功后,返回id if (ret) { @@ -252,9 +252,9 @@ public class SyncTaskService { long st = System.currentTimeMillis(); try { - JSONObject save_data = JSONObject.parseObject(recvdata.getString("save_data")); - JSONObject update_data = JSONObject.parseObject(recvdata.getString("update_data")); - JSONObject delete_data = JSONObject.parseObject(recvdata.getString("delete_data")); + JSONObject save_data = JSONObject.parseObject(recvdata.getString("save_data")); + JSONObject update_data = JSONObject.parseObject(recvdata.getString("update_data")); + JSONObject delete_data = JSONObject.parseObject(recvdata.getString("delete_data")); JSONObject increment_data = JSONObject.parseObject(recvdata.getString("increment_data")); if ( @@ -272,16 +272,16 @@ public class SyncTaskService { @Override public boolean run() { try { - JSONArray saveauthlics = new JSONArray(); // 授权车牌号需要推送更新到其他砂站 - JSONArray deleteauthlics = new JSONArray(); - List sts = new ArrayList<>(); - Date now = new Date(); + JSONArray saveauthlics = new JSONArray(); // 授权车牌号需要推送更新到其他砂站 + JSONArray deleteauthlics = new JSONArray(); + List sts = new ArrayList<>(); + Date now = new Date(); if (save_data != null && !save_data.isEmpty()) { for (String tablename : save_data.keySet()) { - JSONObject data = save_data.getJSONObject(tablename); - String pks = data.getString("pks"); - JSONArray arr = data.getJSONArray("data"); + JSONObject data = save_data.getJSONObject(tablename); + String pks = data.getString("pks"); + JSONArray arr = data.getJSONArray("data"); List list = new ArrayList<>(); // 2021-10-30 AuthLicense 相关的处理数据要跳过 @@ -335,7 +335,7 @@ public class SyncTaskService { } } - list = listFilter(tablename,list); + list = listFilter(tablename, list); int[] ret = Db.batchSave(tablename, list, list.size()); @@ -354,9 +354,9 @@ public class SyncTaskService { if (update_data != null && !update_data.isEmpty()) { for (String tablename : update_data.keySet()) { - JSONObject data = update_data.getJSONObject(tablename); - String pks = data.getString("pks"); - JSONArray arr = data.getJSONArray("data"); + JSONObject data = update_data.getJSONObject(tablename); + String pks = data.getString("pks"); + JSONArray arr = data.getJSONArray("data"); List list = new ArrayList<>(); if (Transport.tablename.equals(tablename)) { @@ -431,8 +431,8 @@ public class SyncTaskService { if (delete_data != null && !delete_data.isEmpty()) { for (String tablename : delete_data.keySet()) { JSONObject data = delete_data.getJSONObject(tablename); - String pks = data.getString("pks"); - JSONArray arr = data.getJSONArray("data"); + String pks = data.getString("pks"); + JSONArray arr = data.getJSONArray("data"); // 2021-10-30 AuthLicense 相关的处理数据要跳过 if (AuthLicense.dao.getTablename().equals(tablename)) { @@ -458,12 +458,12 @@ public class SyncTaskService { if (increment_data != null && !increment_data.isEmpty()) { for (String tablename : increment_data.keySet()) { - JSONObject data = increment_data.getJSONObject(tablename); - String pks = data.getString("pks"); - JSONArray pkv = data.getJSONArray("pkv"); + JSONObject data = increment_data.getJSONObject(tablename); + String pks = data.getString("pks"); + JSONArray pkv = data.getJSONArray("pkv"); JSONObject increment_data = data.getJSONObject("increment"); - Record record = Db.findByIds(tablename, pks, pkv.toArray()); + Record record = Db.findByIds(tablename, pks, pkv.toArray()); boolean change = false; if (record == null) { @@ -576,49 +576,51 @@ public class SyncTaskService { private List listFilter(String tablename, List list) { List removeList = new ArrayList<>(); - if ("order_temp".equals(tablename)){ + if ("order_temp".equals(tablename)) { // sn for (Record o : list) { String sn = o.getStr("sn"); Record first = Db.findFirst("select * from " + tablename + " where sn = ?", sn); - if (o.toJson().equals(first.toJson())){ + if (o.toJson().equals(first.toJson())) { removeList.add(o); } } } - if ("ticket_log".equals(tablename)){ + if ("ticket_log".equals(tablename)) { // id for (Record o : list) { String id = o.getStr("id"); Record first = Db.findFirst("select * from " + tablename + " where sn = ?", id); - if (o.toJson().equals(first.toJson())){ + if (o.toJson().equals(first.toJson())) { removeList.add(o); } } } - if ("action_cmd_log".equals(tablename)){ + if ("action_cmd_log".equals(tablename)) { // id for (Record o : list) { String id = o.getStr("id"); Record first = Db.findFirst("select * from " + tablename + " where sn = ?", id); - if (o.toJson().equals(first.toJson())){ + if (o.toJson().equals(first.toJson())) { removeList.add(o); } } } - if ("transport".equals(tablename)){ + if ("transport".equals(tablename)) { // id for (Record o : list) { String id = o.getStr("id"); Record first = Db.findFirst("select * from " + tablename + " where sn = ?", id); - if (o.toJson().equals(first.toJson())){ + if (o.toJson().equals(first.toJson())) { removeList.add(o); } } } - if (CollectionUtils.isNotEmpty(removeList)){ - list.removeAll(removeList); + if (CollectionUtils.isNotEmpty(removeList)) { + log.debug("新增条数" + list.size()); + list.removeAll(removeList); + log.debug("删除后条数" + list.size()); } return list; @@ -634,7 +636,7 @@ public class SyncTaskService { */ public boolean recvAuthLicense(JSONArray savearr, JSONArray deletearr, int current_supermarket_id) { List sts = new ArrayList<>(); - Date now = new Date(); + Date now = new Date(); for (Map.Entry entry : SvrCacheData.SUP_CACHE.entrySet()) { Supermarket supermarket = entry.getValue(); @@ -679,10 +681,10 @@ public class SyncTaskService { * @return */ public JSONArray filtrateTransport(JSONArray arr) { - JSONArray out = new JSONArray(); - List ids = new ArrayList<>(); - List sqls = new ArrayList<>(); - Map map = new HashMap<>(); + JSONArray out = new JSONArray(); + List ids = new ArrayList<>(); + List sqls = new ArrayList<>(); + Map map = new HashMap<>(); for (int i = 0; i < arr.size(); i++) { JSONObject obj = arr.getJSONObject(i);