فهرست منبع

区分用户、管理员接口进行鉴权,增加设备的搜索接口

yaobo 7 سال پیش
والد
کامیت
84332081c4

+ 1 - 0
src/main/java/cn/efunbox/audio/aop/AuthInterceptor.java

@@ -37,6 +37,7 @@ public class AuthInterceptor implements HandlerInterceptor {
         if(device==null ||
                 ((device.getTokenNew()==null || false == device.getTokenNew().equalsIgnoreCase(token))
                 && (device.getTokenOld()==null || false == device.getTokenOld().equalsIgnoreCase(token)))){
+//            System.out.println("token:"+token+", tokendb:"+device.getTokenNew());
             HttpUtil.responseApiCode(request,response, ApiCode.INVALID_TOKEN);
             return false;
         }

+ 2 - 1
src/main/java/cn/efunbox/audio/config/Config.java

@@ -41,7 +41,8 @@ public class Config extends WebMvcConfigurerAdapter{
     @Override
     public void addInterceptors(InterceptorRegistry registry) {
         registry.addInterceptor(authInterceptor())
-                .addPathPatterns("/audio/search");
+                .addPathPatterns("/audio/search")
+                .excludePathPatterns("/device/**");
 
         registry.addInterceptor(adminInterceptor())
                 .addPathPatterns("/**")

+ 10 - 1
src/main/java/cn/efunbox/audio/controller/AudioController.java

@@ -34,7 +34,16 @@ public class AudioController {
     @Autowired
     RightsService rightsService;
 
-    @RequestMapping(value = "/search" ,method = RequestMethod.POST)
+    @RequestMapping(value = "/search", method = RequestMethod.POST)
+    public void UserSearch(HttpServletRequest request, HttpServletResponse response){
+        Search(request, response);
+    }
+
+    @RequestMapping(value = "/admsearch", method = RequestMethod.POST)
+    public void AdminSearch(HttpServletRequest request, HttpServletResponse response){
+        Search(request, response);
+    }
+
     public void Search(HttpServletRequest request, HttpServletResponse response){
         String id = request.getParameter("id");
         String name = request.getParameter("name");

+ 32 - 0
src/main/java/cn/efunbox/audio/controller/DeviceController.java

@@ -5,6 +5,7 @@ import cn.efunbox.audio.entity.Device;
 import cn.efunbox.audio.service.ChannelService;
 import cn.efunbox.audio.service.DeviceService;
 import cn.efunbox.audio.utils.ApiCode;
+import cn.efunbox.audio.utils.HttpUtil;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -13,6 +14,8 @@ import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 
 import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -83,4 +86,33 @@ public class DeviceController {
         return map;
     }
 
+
+    /**
+     * 搜索已注册的设备
+     * @param request
+     * @param response
+     */
+    @RequestMapping(value = "/search" ,method = RequestMethod.POST)
+    public void Search(HttpServletRequest request, HttpServletResponse response){
+        String did = request.getParameter("did");
+        String cid = request.getParameter("cid");
+        if(did==null || did.length()==0)
+            did = "0";
+        if(cid==null || cid.length()==0)
+            cid = "0";
+        List<Device> list = deviceService.Search(Long.valueOf(cid), Long.valueOf(did));
+
+        if(list==null || list.size()<1){
+            HttpUtil.responseApiCode(request, response, ApiCode.NOT_FOUND);
+            return;
+        }
+        for(int i=0; i<list.size(); i++){
+            list.get(i).setTokenNew("");
+            list.get(i).setTokenOld("");
+        }
+
+        HttpUtil.responseOkData(request, response, list);
+        return;
+    }
+
 }

+ 1 - 1
src/main/java/cn/efunbox/audio/entity/Device.java

@@ -40,7 +40,7 @@ public class Device implements Serializable, Cloneable{
     @Column
     private Long idChannel;
 
-    //设备编号
+    //设备编号
     @Column
     private Long idDevice;
 

+ 13 - 0
src/main/java/cn/efunbox/audio/impl/DeviceServiceImpl.java

@@ -6,6 +6,7 @@ import cn.efunbox.audio.service.DeviceService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
 import java.util.UUID;
@@ -72,6 +73,18 @@ public class DeviceServiceImpl implements DeviceService {
     }
 
     @Override
+    public List<Device> Search(Long idChannel, Long idDevice){
+        List<Device> list = new ArrayList<>();
+        if(idChannel>0)
+            list = deviceRepo.findByIdChannel(idChannel);
+        else if(idDevice>0)
+            list = deviceRepo.findByIdDevice(idDevice);
+        else
+            list = deviceRepo.findAll();
+        return list;
+    }
+
+    @Override
     public Device Update(Device device){
         device = deviceRepo.save(device);
         return device;

+ 2 - 0
src/main/java/cn/efunbox/audio/repository/DeviceRepo.java

@@ -15,6 +15,8 @@ import java.util.List;
 public interface DeviceRepo extends JpaRepository<Device, Long> {
 
     Device findById(Long id);
+    List<Device> findByIdDevice(Long idDevice);
+    List<Device> findByIdChannel(Long idChannel);
 
     @Query("from Device d where d.idDevice=:idDevice")
     List<Device> findByDevice(@Param("idDevice")String idDevice);

+ 4 - 0
src/main/java/cn/efunbox/audio/service/DeviceService.java

@@ -2,6 +2,8 @@ package cn.efunbox.audio.service;
 
 import cn.efunbox.audio.entity.Device;
 
+import java.util.List;
+
 /**
  * Created by yao on 17-9-26.
  */
@@ -15,6 +17,8 @@ public interface DeviceService {
 
     public Device GetOne(Long id);
 
+    public List<Device> Search(Long idChannel, Long idDevice);
+
     public Device Update(Device device);
 
 }