Pārlūkot izejas kodu

与资源平台对接,根据资源id获取url

yaobo 7 gadi atpakaļ
vecāks
revīzija
173574ce45

+ 27 - 0
src/main/java/cn/efunbox/audio/clients/AudioHttp.java

@@ -0,0 +1,27 @@
+package cn.efunbox.audio.clients;
+
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.http.HttpEntity;
+import org.springframework.http.HttpHeaders;
+import org.springframework.http.MediaType;
+import org.springframework.stereotype.Service;
+import org.springframework.web.client.RestTemplate;
+
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * Created by yao on 17-10-25.
+ */
+@Service
+public class AudioHttp {
+
+    @Value("${iaas.resource.search}")
+    private  String urlResource;
+
+    public String GetResource(String idResource) {
+        RestTemplate restTemplate = new RestTemplate();
+        return restTemplate.getForEntity(urlResource+idResource, String.class).getBody();
+    }
+
+}

+ 24 - 0
src/main/java/cn/efunbox/audio/controller/AudioController.java

@@ -1,11 +1,14 @@
 package cn.efunbox.audio.controller;
 
+import cn.efunbox.audio.clients.AudioHttp;
 import cn.efunbox.audio.consts.Status;
 import cn.efunbox.audio.entity.*;
 import cn.efunbox.audio.service.*;
 import cn.efunbox.audio.utils.ApiCode;
 import cn.efunbox.audio.utils.HttpUtil;
 import cn.efunbox.audio.utils.Common;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.RequestBody;
@@ -39,6 +42,8 @@ public class AudioController {
     GroupingService groupingService;
     @Autowired
     RightsService rightsService;
+    @Autowired
+    AudioHttp audioHttp;
 
     /**
      * 管理员搜索接口
@@ -117,6 +122,25 @@ public class AudioController {
         Random random = new Random();
         int r = Math.abs(random.nextInt())%audioList.size();
         Audio audio = audioList.get(r);
+        if(audio.getIdResource()!=null && audio.getIdResource().length()>0){
+            String res = audioHttp.GetResource(audio.getIdResource());
+//        System.out.println(res);
+            Map map = JSONObject.parseObject(res);
+            try{
+                if(map.get("code").toString().equalsIgnoreCase("200")){
+                    map = JSONObject.parseObject(map.get("data").toString());
+                    JSONArray array = JSONArray.parseArray(map.get("audios").toString());
+                    map = JSONObject.parseObject(array.get(0).toString());
+                    String path = map.get("path").toString();
+                    path = path.replaceAll("\n","");
+                    audio.setUrl(path);
+//                    System.out.println(path);
+                }
+            }catch(Exception e){
+                System.out.println(e.getMessage());
+                audio.setUrl("fail to get resource uri");
+            }
+        }
 
         Record record = new Record();
         record.setIdDevice(device.getId());

+ 22 - 4
src/main/java/cn/efunbox/audio/controller/DeviceController.java

@@ -1,6 +1,7 @@
 package cn.efunbox.audio.controller;
 
 //import cn.efunbox.audio.clients.UserFeign;
+import cn.efunbox.audio.clients.AudioHttp;
 import cn.efunbox.audio.clients.UserHttp;
 import cn.efunbox.audio.entity.Channel;
 import cn.efunbox.audio.entity.Device;
@@ -11,6 +12,7 @@ import cn.efunbox.audio.utils.ApiCode;
 import cn.efunbox.audio.utils.ApiResult;
 import cn.efunbox.audio.utils.Common;
 import cn.efunbox.audio.utils.HttpUtil;
+import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -19,6 +21,7 @@ import org.springframework.web.bind.annotation.*;
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
+import java.lang.reflect.Array;
 import java.sql.Timestamp;
 import java.util.*;
 
@@ -40,6 +43,8 @@ public class DeviceController {
 //    UserFeign userFeign;
     @Autowired
     UserHttp userHttp;
+    @Autowired
+    AudioHttp audioHttp;
 
     @Value("${iaas.user.register}")
     private  String urlRegister;
@@ -61,10 +66,23 @@ public class DeviceController {
     @RequestMapping(value = "/feign")
     public void Feigh(HttpServletRequest request, HttpServletResponse response,
             @RequestParam("idChannel")String idChannel, @RequestParam("mobile")String mobile){
-        String ip = HttpUtil.getIpAddress(request);
-        System.out.println("start:"+ip);
-        String res = userHttp.Register(UUID.randomUUID().toString().substring(0, 31),
-                idChannel, ip, mobile, mobile);
+
+        String res = audioHttp.GetResource("653f6a0c-b997-11e7-9771-080027fcfc4b");
+        System.out.println(res);
+        Map map = JSONObject.parseObject(res);
+        if(map.get("code").toString().equalsIgnoreCase("200")){
+            map = JSONObject.parseObject(map.get("data").toString());
+            JSONArray array = JSONArray.parseArray(map.get("audios").toString());
+            map = JSONObject.parseObject(array.get(0).toString());
+            String path = map.get("path").toString();
+            System.out.println(path);
+        }
+
+//        String ip = HttpUtil.getIpAddress(request);
+//        System.out.println("start:"+ip);
+//        String res = userHttp.Register(UUID.randomUUID().toString().substring(0, 31),
+//                idChannel, ip, mobile, mobile);
+
 //        String res = userFeign.Register(
 ////                "application/json",
 //                bizCode,

+ 1 - 0
src/main/resources/application.properties

@@ -14,6 +14,7 @@ spring.application.name=audio-consumer
 eureka.client.serviceUrl.defaultZone= http://eureka3:8766/eureka/
 
 iaas.user.register=http://zuul.efunbox.cn/ucenter/v1/users
+iaas.resource.search=http://zuul.efunbox.cn/rcenter/v1/resources/
 iaas.user.audio.bizCode=1002
 iaas.user.audio.appCode=1002
 iaas.user.audio.platform=4