Просмотр исходного кода

[task-5319] 供应商/服务商一览:导入异常
重构导入方法。

xiexh 9 месяцев назад
Родитель
Сommit
49b9fe68c7

+ 32 - 1
ibps-provider-root/modules/provider-business/src/main/java/com/lc/ibps/sysdata/controller/UpdateDataTableController.java

@@ -219,7 +219,9 @@ public class UpdateDataTableController extends GenericProvider {
             String text = AESUtil.decrypt(decrypt);
             Map jsonMap = JSONObject.parseObject(text);
             tableName = (String) jsonMap.get("tableName");
-            updList = (List<Map<String, String>>) jsonMap.get("updList");
+            JSONArray params = (JSONArray) jsonMap.get("paramWhere");
+            //updList = (List<Map<String, String>>) jsonMap.get("updList");
+            updList = convertToFlatList(params);
         } catch (Exception e) {
             log.warn("操作失败", e);
             apiResult.setState(StateEnum.ERROR.getCode());
@@ -240,6 +242,35 @@ public class UpdateDataTableController extends GenericProvider {
         return apiResult;
     }
 
+    private List<Map<String, String>> convertToFlatList(JSONArray paramWhereArray) {
+        List<Map<String, String>> resultList = new ArrayList<>();
+
+        for (int i = 0; i < paramWhereArray.size(); i++) {
+            JSONObject item = paramWhereArray.getJSONObject(i);
+            JSONObject param = new JSONObject();
+            JSONObject where = new JSONObject();
+
+            // 分离字段:id_ -> where,其他 -> param
+            for (Map.Entry<String, Object> entry : item.entrySet()) {
+                String key = entry.getKey();
+                String value = entry.getValue().toString();
+                if ("id_".equals(key)) {
+                    where.put(key, value);
+                } else {
+                    param.put(key, value);
+                }
+            }
+
+            // 构建符合要求的 Map 并添加到列表
+            Map<String, String> resultItem = new HashMap<>();
+            resultItem.put("param", param.toJSONString()); // 转为 JSON 字符串
+            resultItem.put("where", where.toJSONString());
+            resultList.add(resultItem);
+        }
+
+        return resultList;
+    }
+
 
     @ApiOperation("直接运行查询sql")
     @ApiImplicitParams({@ApiImplicitParam("传入sql字符串")})