yourName 3 éve
szülő
commit
2d7f45c75b

+ 20 - 1
src/main/java/com/steerinfo/dil/controller/QmsQueueGridController.java

@@ -41,8 +41,27 @@ public class QmsQueueGridController extends BaseRESTfulController {
     })
     @PostMapping("/subsCapacity")
     public RESTfulResult subsCapacity(@RequestBody Map<String, Object> map){
-        String subsCapacity = qmsQueueInterfaceService.subsCapacity(map);
+        String subsCapacity = qmsQueueInterfaceService.subsCapacity(map,0);
         return success(subsCapacity);
     }
 
+    @ApiOperation(value="取消订阅")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "qmsQueueResult", value = "排队取消实体类", required = false, dataType = "QmsQueueResult"),
+    })
+    @PostMapping("/cancelSubsCapacity")
+    public RESTfulResult cancelSubsCapacity(@RequestBody Map<String, Object> map){
+        int i = qmsQueueInterfaceService.cancelSubsCapacity(map,0);
+        if(i==0) {
+            return failed("", "取消订阅失败");
+        }
+        if(i==-1){
+            return failed("","登录失败");
+        }
+        if(i==-2){
+            return failed("","超出递归次数限制");
+        }
+        return success();
+    }
+
 }

+ 34 - 9
src/main/java/com/steerinfo/dil/service/impl/QueueInterfaceServiceImpl.java

@@ -5,9 +5,11 @@ import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
 import com.openapi.sdk.service.DataExchangeService;
 import com.steerinfo.dil.mapper.QueueInterfaceMapper;
+import org.apache.poi.util.StringUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
+import org.springframework.util.StringUtils;
 
 import java.util.HashMap;
 import java.util.Map;
@@ -47,7 +49,11 @@ public class QueueInterfaceServiceImpl {
      * @param map
      * @return
      **/
-    public String subsCapacity(Map<String, Object> map){
+    public String subsCapacity(Map<String, Object> map,int i){
+
+        if (i==3){
+            return "超出递归次数限制";
+        }
 
         if (map.get("capacityNumber")==null||"".equals(map.get("capacityNumber").toString())){
             return "参数【capacityNumber】车号,为空";
@@ -57,7 +63,11 @@ public class QueueInterfaceServiceImpl {
         mesMap.put("cid", cid);
         mesMap.put("srt", srt);
         mesMap.put("userflag", userflag);
-        mesMap.put("areaid", queueInterfaceMapper.getAreaId());
+        String areaId = queueInterfaceMapper.getAreaId();
+        if(areaId==null){
+            return "区域id为空";
+        }
+        mesMap.put("areaid", areaId);
         mesMap.put("vnos", (String) map.get("capacityNumber"));
         String url = "https://openapi-test.sinoiov.cn/save/apis/vnoReg";
         try {
@@ -68,7 +78,7 @@ public class QueueInterfaceServiceImpl {
             Object status = jsonMap.get("status");
             if("1016".equals(status.toString())){
                 if(login() == 1){
-                    subsCapacity(map); //递归订阅
+                    return subsCapacity(map,i+1); //递归订阅
                 }else {
                     return "登录失败,状态码:"+status;
                 }
@@ -77,7 +87,7 @@ public class QueueInterfaceServiceImpl {
                 if("2".equals(jsonMap.get("result").toString())){
                     //如果是自定义区域不存在则重新注册自定义区域
                     if(registerAreaReg() == 1){
-                        subsCapacity(map);
+                        return subsCapacity(map,i+1);
                     }
                 }else {
                     return "订阅成功";
@@ -171,25 +181,40 @@ public class QueueInterfaceServiceImpl {
      * @param map
      * @return
      **/
-    public void cancelSubsCapacity(Map<String, Object> map){
+    public int cancelSubsCapacity(Map<String, Object> map,int i){
+        if (i==3){
+            return -2;
+        }
         Map<String, String> mesMap = new HashMap<>(4);
         mesMap.put("cid", cid);
         mesMap.put("srt", srt);
         mesMap.put("token", token);
         mesMap.put("userflag", userflag);
-        mesMap.put("vons", (String) map.get("capacityNumber"));
+        mesMap.put("vnos", (String) map.get("capacityNumber"));
         mesMap.put("areaid", queueInterfaceMapper.getAreaId());
         String url = "https://openapi-test.sinoiov.cn/save/apis/vnoDel";
         try {
             DataExchangeService des = new DataExchangeService(5000, 8000);
             String res = des.postHttps(url, mesMap);
             JSONObject jsonObject = JSONObject.parseObject(res);
-            if("1".equals(jsonObject.get("result"))){
-                System.out.println(map.get("capacityNumber") + "取消订阅成功");
+            if("1016".equals(StringUtils.isEmpty(jsonObject.get("status"))?"":jsonObject.get("status").toString())){
+                if (login()==1) {
+                    return cancelSubsCapacity(map,i+1);
+                }else {
+                    return -1;
+                }
+            }
+            if("1001".equals(StringUtils.isEmpty(jsonObject.get("status"))?"":jsonObject.get("status").toString())){
+                if("1".equals(StringUtils.isEmpty(jsonObject.get("result"))?"":jsonObject.get("result").toString())){
+                    return 1;
+                }else {
+                    return 0;
+                }
             }
         } catch (Exception e) {
             e.printStackTrace();
+            return 0;
         }
-
+        return 0;
     }
 }