Browse Source

销帮帮完成工单

hxx 1 month ago
parent
commit
94e1636e44

+ 33 - 4
mjava-cloudpure/src/main/java/com/malk/cloudpure/controller/XBBController.java

@@ -1,6 +1,7 @@
 package com.malk.cloudpure.controller;
 
 import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
 import com.malk.server.common.McException;
 import com.malk.server.common.McR;
 import com.malk.server.xbongbong.XBBConf;
@@ -10,10 +11,7 @@ import com.malk.service.xbongbong.XBBClient;
 import com.malk.utils.UtilMap;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
 import java.util.ArrayList;
 import java.util.Arrays;
@@ -116,6 +114,37 @@ public class XBBController {
         return McR.success(UtilMap.map("code, cash", content[0], content[1]));
     }
 
+//    根据工单编号查看工单信息
+
+private Long getWorkOrderInfo(@RequestParam String workOrderSerierNO) {
+    JSONArray workOrderList = (JSONArray) xbbClient .getWorkOrderInfo(workOrderSerierNO).get("list");
+    Map workOrderNo = (Map) workOrderList.get(0);
+    Long dataId = Long.valueOf(workOrderNo.get("dataId").toString());
+    return dataId ;
+
+}
+
+
+
+
+
+    /**
+     *完成工单接口
+     */
+    @PostMapping("workOrde/finish")
+    McR finishWorkOrder(@RequestBody Map<String, String> data) {
+        try{
+            log.info("完成工单, {}", data);
+            McException.assertParamException_Null(data, "workOrderId");
+            Long dataId = getWorkOrderInfo(data.get("workOrderId"));
+            Map result = xbbClient.workOrderComplete(dataId);
+            return McR.success(result);
+        }catch(Exception e){
+            return McR.errorParam(e.getMessage());
+        }
+    }
+
+
 
     @Autowired
     private DDClient ddClient;

+ 9 - 0
mjava/src/main/java/com/malk/service/xbongbong/XBBClient.java

@@ -1,5 +1,7 @@
 package com.malk.service.xbongbong;
 
+import com.malk.server.common.McR;
+
 import javax.validation.constraints.NotNull;
 import java.util.List;
 import java.util.Map;
@@ -38,4 +40,11 @@ public interface XBBClient {
 
     /// 获取表单以及表单定义, 查询与数据处理, 获取后可在程序内固定, 避免无效调用
     List<Map> testDefine(String name, @NotNull int saasMark, int businessType);
+
+
+//    工单完成
+   Map workOrderComplete(Long workOrderId);
+
+   Map getWorkOrderInfo(String workOrderSerierNO);
+
 }

+ 27 - 0
mjava/src/main/java/com/malk/service/xbongbong/impl/XBBImplClient.java

@@ -2,6 +2,7 @@ package com.malk.service.xbongbong.impl;
 
 import cn.hutool.core.util.ObjectUtil;
 import com.alibaba.fastjson.JSON;
+import com.malk.server.common.McR;
 import com.malk.server.common.VenR;
 import com.malk.server.xbongbong.DigestUtil;
 import com.malk.server.xbongbong.XBBConf;
@@ -13,6 +14,8 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import javax.validation.constraints.NotNull;
+import java.util.ArrayList;
+import java.util.Collections;
 import java.util.List;
 import java.util.Map;
 
@@ -103,4 +106,28 @@ public class XBBImplClient implements XBBClient {
         long formId = UtilMap.getLong(rsp.get(0), "formId");
         return this.getFormDefine(formId, businessType); // 表单定义
     }
+
+    @Override
+    public Map workOrderComplete(Long workOrderId) {
+        Map body = UtilMap.map("workOrderId, corpid, userId", workOrderId, xbbConf.getCorpid(), xbbConf.getUserId());
+        XBBR xbbr = (XBBR) XBBR.doPost("https://proapi.xbongbong.com/pro/v2/api/workOrder/complete", getHeaderSign(body), null, body, VenR.RC_XBB);
+        return (Map) xbbr.getResult();
+    }
+
+    @Override
+    public Map getWorkOrderInfo(String workOrderSerierNO) {
+        // 构建查询条件(根据接口要求,value需要是集合类型)
+        List<Map<String, Object>> conditions = new ArrayList<>();
+        conditions.add(UtilMap.map(
+                "attr, symbol, value",
+                "serialNo",
+                "equal",
+                Collections.singletonList(workOrderSerierNO) // 修正为Java集合初始化
+        ));
+
+
+        Map body = UtilMap.map("conditions, formId, corpid, userId", conditions, 5798, xbbConf.getCorpid(), xbbConf.getUserId());
+        XBBR xbbr = (XBBR) XBBR.doPost("https://proapi.xbongbong.com/pro/v2/api/workOrder/list", getHeaderSign(body), null, body, VenR.RC_XBB);
+        return (Map) xbbr.getResult();
+    }
 }

+ 2 - 2
pom.xml

@@ -11,8 +11,8 @@
     <modules>
         <module>mjava</module>
         <module>mjava-hangshi</module>
-        <module>mjava-guyuan</module>
-        <module>mjava-mcli</module>
+<!--        <module>mjava-guyuan</module>-->
+<!--        <module>mjava-mcli</module>-->
         <module>mjava-suodisi</module>
         <module>mjava-cloudpure</module>
         <module>mjava-zhuogao</module>