Przeglądaj źródła

新增客户建联和业务员变更接口

lvjs 1 miesiąc temu
rodzic
commit
bf86e045f8

+ 49 - 0
src/main/java/com/malk/eastar/controller/AitableController.java

@@ -76,6 +76,55 @@ public class AitableController {
         }
     }
 
+    /**
+     * 客户已建联
+     * @param data
+     * @return
+     */
+    @PostMapping("/establishedContact")
+    McR establishedContactCustomer(@RequestBody JSONObject data) {
+        log.info("客户已建联, {}", data);
+        McException.assertParamException_Null(data, "aitableId");
+        String aitableId = UtilMap.getString(data, "aitableId");
+        Map<String,Object> fields = new HashMap<>();
+        try {
+            fields.put("jIS3Gbd","已建联");  //客户情况
+            aitableService.updateSys1CustomerData(aitableId,fields);
+            return McR.success();
+        } catch (Exception e) {
+            return McR.error("400",e.getMessage());
+        }
+    }
+
+    /**
+     * 业务员变更
+     * @param data
+     * @return
+     */
+    @PostMapping("/chanegBusinessUser")
+    McR changeCustomerBusinessUser(@RequestBody JSONObject data) {
+        log.info("业务员变更, {}", data);
+        McException.assertParamException_Null(data, "aitableId");
+        String aitableId = UtilMap.getString(data, "aitableId");
+        String yidaBusinessUserId = UtilMap.getString(data, "yidaBusinessUserId");  //业务userId
+        Map<String,Object> fields = new HashMap<>();
+        try {
+            JSONArray user = new JSONArray();
+            if(yidaBusinessUserId == null || yidaBusinessUserId.isEmpty()){
+                log.info("业务userId为空,将业务置空");
+            }else{
+                JSONObject unionId = new JSONObject();
+                unionId.put("unionId",ddCoreClient.getUnionIdByUserId(yidaBusinessUserId));
+                user.add(unionId);
+            }
+            fields.put("ynNC3Kq",JSONObject.toJSONString(user));  //业务【人事】
+            aitableService.updateSys1CustomerData(aitableId,fields);
+            return McR.success();
+        } catch (Exception e) {
+            return McR.error("400",e.getMessage());
+        }
+    }
+
     /**
      * 新建商机
      * @param data

+ 6 - 0
src/main/java/com/malk/eastar/service/AitableService.java

@@ -28,6 +28,12 @@ public interface AitableService {
      */
     String addSys1CustomerData(Map<String,Object> fields) throws Exception;
 
+    /**
+     * 更新客户名册记录
+     * @throws Exception
+     */
+    String updateSys1CustomerData(String id,Map<String,Object> fields) throws Exception;
+
     /**
      * 添加销售台账记录
      * @throws Exception

+ 10 - 0
src/main/java/com/malk/eastar/service/MDTableClient.java

@@ -34,4 +34,14 @@ public interface MDTableClient {
     String createMultiRecords(String baseId, String sheetIdOrName, Map<String,Object> param, JSONObject body);
 
 
+    /**
+     * 修改多行记录
+     * @param baseId AI表格ID
+     * @param sheetIdOrName 数据表ID或数据表名称
+     * @param param Query参数
+     * @param body Body参数
+     * @return
+     */
+    String modifyMultiRecords(String baseId, String sheetIdOrName, Map<String,Object> param, JSONObject body);
+
 }

+ 37 - 0
src/main/java/com/malk/eastar/service/impl/AitableServiceImpl.java

@@ -359,6 +359,43 @@ public class AitableServiceImpl implements AitableService {
         return aitableId;
     }
 
+    @Override
+    public String updateSys1CustomerData(String id,Map<String, Object> fields) throws Exception {
+        /*
+            参数定义
+         */
+        String baseId; //AI表格文档ID
+        String sheetIdOrName;   //数据表ID或数据表名称
+        Map<String,Object> param = new HashMap<>(); //HTTP请求参数
+        JSONObject updateData = new JSONObject();   //HTTP请求体
+        JSONArray updateRecords = new JSONArray();  //更新记录集合
+        JSONObject updateRecord = new JSONObject();      //更新记录行数据
+        String result;  //返回结果
+
+        /*
+            项目总表
+         */
+        baseId = "G53mjyd80pEr5grBfpjmMX6586zbX04v";
+        sheetIdOrName = "E6RcJi3";
+
+        /*
+            初始化参数值
+         */
+        param.put("operatorId","aj1wcWqKLXITiPDwbMIjUbAiEiE");  //操作人(Jason)的unionId
+        updateRecord.put("id",id);
+        updateRecord.put("fields",fields);
+        updateRecords.add(updateRecord);
+        updateData.put("records",updateRecords);
+
+        /*
+            更新数据
+         */
+        log.info(JSONObject.toJSONString(updateData));
+        result = mdTableClient.modifyMultiRecords(baseId,sheetIdOrName,param,updateData);
+        log.info(result);
+        return result;
+    }
+
     @Override
     public String addSys1SaleData(Map<String,Object> fields) throws Exception {
         /*

+ 8 - 0
src/main/java/com/malk/eastar/service/impl/MDTableClientImpl.java

@@ -48,4 +48,12 @@ public class MDTableClientImpl implements MDTableClient {
         return result;
     }
 
+    @Override
+    public String modifyMultiRecords(String baseId, String sheetIdOrName, Map<String, Object> param, JSONObject body) {
+        String url = getRequestUrl("/bases/"+baseId+"/sheets/"+sheetIdOrName+"/records");
+        Map header = ddClient.initTokenHeader();
+        String result = UtilHttp.doPut(url,header,param,body);
+        return result;
+    }
+
 }