From 6c6fdb4db59a2a2343e43ffd73a07f17b057c4fa Mon Sep 17 00:00:00 2001
From: kimi42345 <kimi42345@outlook.com>
Date: 星期二, 17 三月 2020 22:37:43 +0800
Subject: [PATCH] 3/17 添加 请求log

---
 src/main/java/com/highdatas/mdm/service/impl/MaintainServiceImpl.java |   48 ++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 44 insertions(+), 4 deletions(-)

diff --git a/src/main/java/com/highdatas/mdm/service/impl/MaintainServiceImpl.java b/src/main/java/com/highdatas/mdm/service/impl/MaintainServiceImpl.java
index b1e83e9..a1e8f76 100644
--- a/src/main/java/com/highdatas/mdm/service/impl/MaintainServiceImpl.java
+++ b/src/main/java/com/highdatas/mdm/service/impl/MaintainServiceImpl.java
@@ -20,10 +20,7 @@
 import org.springframework.stereotype.Service;
 
 import java.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 import java.util.stream.Collectors;
 
 /**
@@ -202,6 +199,49 @@
     }
 
     @Override
+    public Maintain getNextMaintain(String tableName, String userId) {
+        Maintain maintain = this.getMaxVersion(tableName);
+        Maintain unFlowMaxVersion = this.getUnFlowMaxVersion(tableName);
+        if (unFlowMaxVersion == null) {
+            unFlowMaxVersion = new Maintain();
+            if (maintain != null) {
+                unFlowMaxVersion.setVersion(DbUtils.versionAddSub(maintain.getVersion()));
+                int orderNo = maintain.getOrderNo();
+                orderNo++;
+                unFlowMaxVersion.setOrderNo(orderNo);
+            } else {
+                unFlowMaxVersion.setVersion(Constant.VERSION_Default);
+                unFlowMaxVersion.setOrderNo(0);
+            }
+
+            unFlowMaxVersion.setId(DbUtils.getUUID());
+            unFlowMaxVersion.setChargeId(userId);
+            unFlowMaxVersion.setCreateTime(new Date());
+            unFlowMaxVersion.setTableName(tableName);
+        }
+
+        Maintain nowMaintain = unFlowMaxVersion;
+        if (DbUtils.compareVersion(maintain, unFlowMaxVersion) != 0) {
+            nowMaintain = new Maintain();
+            String maintanId = DbUtils.getUUID();
+            nowMaintain.setId(maintanId);
+            nowMaintain.setCreateTime(new Date());
+            int orderNo = maintain.getOrderNo();
+            orderNo++;
+            nowMaintain.setVersion(DbUtils.versionAddSub(maintain.getVersion()));
+            nowMaintain.setOrderNo(orderNo);
+            nowMaintain.setTableName(tableName);
+        }
+
+        nowMaintain.setChargeId(userId);
+        String maintainId = nowMaintain.getId();
+        if(StringUtils.isEmpty(maintainId)) {
+            nowMaintain.setId(DbUtils.getUUID());
+        }
+        return nowMaintain;
+    }
+
+    @Override
     public boolean checkdMaxVersion(String maintainId) {
         Maintain maintain = selectById(maintainId);
         Maintain maxVersion = getMaxVersion(maintain.getTableName());

--
Gitblit v1.8.0