From fa24d347d4c5a796297184f9957b0582dc52c66e Mon Sep 17 00:00:00 2001
From: kimi <kimi42345@gmail.com>
Date: 星期五, 14 二月 2020 14:34:00 +0800
Subject: [PATCH] init 2/14

---
 src/main/java/com/highdatas/mdm/service/impl/MasterDataServiceImpl.java |   40 +++++++++++++++++++++++++++++++++++++++-
 1 files changed, 39 insertions(+), 1 deletions(-)

diff --git a/src/main/java/com/highdatas/mdm/service/impl/MasterDataServiceImpl.java b/src/main/java/com/highdatas/mdm/service/impl/MasterDataServiceImpl.java
index a04589d..855e7a2 100644
--- a/src/main/java/com/highdatas/mdm/service/impl/MasterDataServiceImpl.java
+++ b/src/main/java/com/highdatas/mdm/service/impl/MasterDataServiceImpl.java
@@ -472,6 +472,7 @@
         try {
             String[] split = fields.split(Constant.SEMICOLON);
             List<String> fieldNameList = Arrays.stream(split).map(s -> s.trim()).collect(Collectors.toList());
+            fields = fieldNameList.stream().collect(Collectors.joining(Constant.COMMA));
             ContentBuilder builder = new ContentBuilder(Constant.COMMA);
             Object parse = JSON.parse(values);
             List<String> ids = new ArrayList<>();
@@ -481,7 +482,7 @@
                 ids.add(id);
                 String sqlValues  = builder.toString();
                 mapper.insert(tableName, fields, sqlValues);
-                return Result.success(CodeMsg.INSERT_SUCCESS);
+                return Result.success(ids);
             } else if (parse instanceof JSONArray) {
                 JSONArray jsonArray = (JSONArray) parse;
                 int size = jsonArray.size();
@@ -582,6 +583,12 @@
     }
 
     @Override
+    public Result updateByStdId(String tableName, String fieldsSegment, String id, boolean total) {
+        String whereStr = DbUtils.combieOneSegment(Constant.STD_ID, id);
+        return update(tableName, fieldsSegment,whereStr, total);
+    }
+
+    @Override
     public Result update(String tableName, String fieldsSegment, boolean total) {
         String whereSegment = Constant.WHERE_DEFAULT;
         return update(tableName, fieldsSegment,whereSegment, total);
@@ -614,6 +621,31 @@
                 segment = new Segment(fieldName, String.valueOf(o));
             } else {
                 segment = new Segment(fieldName, o);
+            }
+            builder.append(segment.toString());
+        }
+        return builder.toString();
+    }
+
+    @Override
+    public String getUpdateSegment(String tableName, String alias, String fieldsSegment) {
+        ContentBuilder builder = new ContentBuilder(Constant.COMMA);
+        JSONObject jsonObject = JSONObject.parseObject(fieldsSegment);
+        List<TableSchemaResult> tableFieldResultList = mapper.getTableField(tableName);
+        for (TableSchemaResult tableSchemaResult : tableFieldResultList) {
+            String dbType = tableSchemaResult.getDbType();
+            String fieldName = tableSchemaResult.getFieldName();
+            Object o = jsonObject.get(fieldName);
+            if (o == null) {
+                continue;
+            }
+            String javaTypeStr = DbUtils.toSqlToJava(dbType);
+            Segment segment;
+            if ("string".equalsIgnoreCase(javaTypeStr.trim())) {
+
+                segment = new Segment(MessageFormat.format(Constant.Alias, alias, fieldName), String.valueOf(o));
+            } else {
+                segment = new Segment(MessageFormat.format(Constant.Alias, alias, fieldName), o);
             }
             builder.append(segment.toString());
         }
@@ -691,6 +723,12 @@
         String whereStr = DbUtils.combieOneSegment(Constant.ID, id);
         return  delete(tableName, whereStr);
     }
+
+    @Override
+    public Result deleteByStdId(String tableName, String id) {
+        String whereStr = DbUtils.combieOneSegment(Constant.STD_ID, id);
+        return  delete(tableName, whereStr);
+    }
     @Override
     public Result delete(String tableName, String whereSegment) {
         try {

--
Gitblit v1.8.0