瀏覽代碼

feat: 添加用户资料三户返回接口

weijianghai 2 年之前
父節點
當前提交
0e207a2b28

+ 22 - 0
doc/domainBAPI接口说明.md

@@ -88,4 +88,26 @@ Content-Type: application/json
     "isHaveVolte": true
   }
 }
+
+```
+
+## 接口4:用户资料三户返回
+```http
+POST HTTP://127.0.0.1:12091/domainB/api/threePart/userState/
+Content-Type: application/json
+
+{
+  "phoneNumber": "18503369666",
+  "fromSystem": "test"
+}
 ```
+
+```json
+{
+  "success": true,
+  "code": 200,
+  "message": "成功",
+  "data": {
+    "userState": "0"
+  }
+}

+ 9 - 0
src/main/java/com/nokia/domainb/controller/DomainController.java

@@ -3,6 +3,7 @@ package com.nokia.domainb.controller;
 import com.nokia.domainb.dto.RouteDTO;
 import com.nokia.domainb.dto.SaAndVolteDTO;
 import com.nokia.domainb.dto.SaDTO;
+import com.nokia.domainb.dto.UserStateDTO;
 import com.nokia.domainb.service.DomainService;
 import com.nokia.common.http.R;
 import org.springframework.web.bind.annotation.PostMapping;
@@ -42,4 +43,12 @@ public class DomainController {
     public R saAndVolte(@RequestBody SaAndVolteDTO dto) {
         return domainService.saAndVolte(dto);
     }
+
+    /**
+     * 用户资料三户返回
+     */
+    @PostMapping("/threePart/userState/")
+    public R userState(@RequestBody UserStateDTO dto) {
+        return domainService.userState(dto);
+    }
 }

+ 19 - 0
src/main/java/com/nokia/domainb/dto/UserStateDTO.java

@@ -0,0 +1,19 @@
+package com.nokia.domainb.dto;
+
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+import lombok.ToString;
+
+@Data
+@EqualsAndHashCode(callSuper = true)
+@ToString(callSuper = true)
+@NoArgsConstructor
+public class UserStateDTO extends CommonDTO {
+    private String phoneNumber;
+
+    public UserStateDTO(String fromSystem, String phoneNumber) {
+        super(fromSystem);
+        this.phoneNumber = phoneNumber;
+    }
+}

+ 27 - 0
src/main/java/com/nokia/domainb/service/DomainService.java

@@ -7,13 +7,16 @@ import com.google.gson.JsonParser;
 import com.nokia.domainb.capability.Foreignproduct;
 import com.nokia.domainb.capability.QryRouteAll;
 import com.nokia.domainb.capability.QryUserIsUdm;
+import com.nokia.domainb.capability.SpThreePartCheck;
 import com.nokia.domainb.dto.RouteDTO;
 import com.nokia.domainb.dto.SaAndVolteDTO;
 import com.nokia.domainb.dto.SaDTO;
+import com.nokia.domainb.dto.UserStateDTO;
 import com.nokia.domainb.vo.RouteVO;
 import com.nokia.domainb.vo.SaAndVolteVO;
 import com.nokia.domainb.vo.SaVO;
 import com.nokia.common.http.R;
+import com.nokia.domainb.vo.UserStateVO;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
 
@@ -133,4 +136,28 @@ public class DomainService {
 
         return R.ok().data(vo);
     }
+
+    public R userState(UserStateDTO dto) {
+        R r = route(new RouteDTO(dto.getFromSystem(), dto.getPhoneNumber()));
+        if (Boolean.FALSE.equals(r.getSuccess())) {
+            return r;
+        }
+
+        RouteVO routeVO = (RouteVO) r.getData();
+        SpThreePartCheck spThreePartCheck = new SpThreePartCheck();
+        COMPConnectionContext result = spThreePartCheck.query(dto.getPhoneNumber(), routeVO.getProvinceCode(), false);
+        JsonObject jsonObject = JsonParser.parseString(result.getResponseContext()).getAsJsonObject();
+        JsonObject rsp = jsonObject.getAsJsonObject("UNI_BSS_BODY")
+                .getAsJsonObject("SP_THREEPART_CHECK_RSP")
+                .getAsJsonObject("RSP");
+        String rspCode = rsp.get("RSP_CODE").getAsString();
+        if (!"0000".equals(rspCode)) {
+            String rspDesc = rsp.get("RSP_DESC").getAsString();
+            return R.error().message(rspDesc);
+        }
+
+        JsonObject data = rsp.getAsJsonArray("DATA").get(0).getAsJsonObject();
+        String userState = data.getAsJsonObject("userInfo").get("userState").getAsString();
+        return R.ok().data(new UserStateVO(userState));
+    }
 }

+ 12 - 0
src/main/java/com/nokia/domainb/vo/UserStateVO.java

@@ -0,0 +1,12 @@
+package com.nokia.domainb.vo;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+public class UserStateVO {
+    private String userState;
+}

+ 1 - 1
src/test/java/com/nokia/domainb/capability/QryRouteAllTest.java

@@ -84,7 +84,7 @@ public class QryRouteAllTest {
     @Test
     void testQueryWithSdk() {
         QryRouteAll qryRouteAll = new QryRouteAll();
-        COMPConnectionContext result = qryRouteAll.queryWithSdk("13739798862");
+        COMPConnectionContext result = qryRouteAll.queryWithSdk("18631229993");
         System.out.println(result.getResponseContext());
     }
 

+ 7 - 0
src/test/java/com/nokia/domainb/capability/SpThreePartCheckTest.java

@@ -37,4 +37,11 @@ public class SpThreePartCheckTest {
             e.printStackTrace();
         }
     }
+
+    @Test
+    void test() {
+        SpThreePartCheck spThreePartCheck = new SpThreePartCheck();
+        COMPConnectionContext result = spThreePartCheck.query("18631229993", "18", false);
+        System.out.println(result.getResponseContext());
+    }
 }