Explorar el Código

增加数据库的更新功能,支持账号禁用

yaobo hace 7 años
padre
commit
2f290dc385

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

@@ -45,6 +45,10 @@ public class AuthInterceptor implements HandlerInterceptor {
             HttpUtil.responseApiCode(request,response, ApiCode.INVALID_TOKEN);
             return false;
         }
+        if(device.getStatus()<0){
+            HttpUtil.responseApiCode(request, response, ApiCode.ACCESS_DENIED);
+            return false;
+        }
         if(device.getTokenOld()!=null && device.getTokenOld().equalsIgnoreCase(token)){
             device.setTokenNew(device.getTokenOld());
             device.setTokenOld("");

+ 35 - 21
src/main/java/cn/efunbox/audio/controller/AdminController.java

@@ -57,6 +57,11 @@ public class AdminController {
 //        System.out.println(pwdMD5);
 //        System.out.println(admin.getPwd());
         if(pwdMD5.equalsIgnoreCase(admin.getPwd())){
+            if(admin.getStatus()<0){
+                HttpUtil.responseApiCode(request, response, ApiCode.ACCESS_DENIED);
+                return;
+            }
+
             String token = UUID.randomUUID().toString().replaceAll("-", "");
             admin.setToken(token);
             adminService.Update(admin);
@@ -112,33 +117,42 @@ public class AdminController {
         return;
     }
 
+    @RequestMapping(value = "/register", method = RequestMethod.POST)
+    public void Register(HttpServletRequest request, HttpServletResponse response, @RequestBody Admin admin){
+        InsertUpdate(request, response, admin);
+    }
+
     @RequestMapping(value = "/update", method = RequestMethod.POST)
     public void Update(HttpServletRequest request, HttpServletResponse response, @RequestBody Admin admin){
-
+        InsertUpdate(request, response, admin);
     }
 
-    @RequestMapping(value = "/register", method = RequestMethod.POST)
-    public void Insert(HttpServletRequest request, HttpServletResponse response, Admin admin){
-        String name = admin.getName();
-        String pwd = admin.getPwd();
-
-        if(name==null || name.length()<4 || pwd==null || pwd.length()<4){
-            HttpUtil.responseApiCode(request, response, ApiCode.PARAMETER_ERROR);
-            return;
+    public void InsertUpdate(HttpServletRequest request, HttpServletResponse response, Admin admin){
+        if(admin.getId()==null){
+            String name = admin.getName();
+            String pwd = admin.getPwd();
+
+            if(name==null || name.length()<4 || pwd==null || pwd.length()<4){
+                HttpUtil.responseApiCode(request, response, ApiCode.PARAMETER_ERROR);
+                return;
+            }
+            List<Admin> list = adminService.SearchByName(name);
+            if(list!=null && list.size()>0){
+                HttpUtil.responseApiCode(request, response, ApiCode.RECORD_EXIST);
+                return;
+            }
+            admin.setCreated(new Date());
         }
-        String salt = UUID.randomUUID().toString().replaceAll("-","");
-        String token = UUID.randomUUID().toString().replaceAll("-", "");
-        String pwdMD5 = Common.getMD5(Common.getMD5(pwd) + salt);
-
-        List<Admin> list = adminService.SearchByName(name);
-        if(list!=null && list.size()>0){
-            HttpUtil.responseApiCode(request, response, ApiCode.RECORD_EXIST);
-            return;
+        if(admin.getPwd()!=null){
+            String pwd = admin.getPwd();
+            String salt = UUID.randomUUID().toString().replaceAll("-","");
+            String token = UUID.randomUUID().toString().replaceAll("-", "");
+            String pwdMD5 = Common.getMD5(Common.getMD5(pwd) + salt);
+            admin.setPwd(pwdMD5);
+            admin.setSalt(salt);
+            admin.setToken(token);
         }
-        admin.setPwd(pwdMD5);
-        admin.setSalt(salt);
-        admin.setToken(token);
-        admin.setCreated(new Date());
+
         admin = adminService.Insert(admin);
         SaveRedis(admin);
 

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

@@ -13,6 +13,8 @@ import org.springframework.web.bind.annotation.RestController;
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
+import java.lang.reflect.Field;
+import java.lang.reflect.Method;
 import java.util.*;
 import java.util.List;
 
@@ -162,6 +164,47 @@ public class AudioController {
         return;
     }
 
+    @RequestMapping(value = "/update", method = RequestMethod.POST)
+    public void Update(HttpServletRequest request, HttpServletResponse response, @RequestBody Audio audio){
+        if(audio.getId()==null){
+            HttpUtil.responseApiCode(request, response, ApiCode.PARAMETER_ERROR);
+            return;
+        }
+        System.out.println(audio.toString());
+        Audio audioOld = audioService.GetOne(audio.getId());
+        if(audioOld==null){
+            HttpUtil.responseApiCode(request, response, ApiCode.NOT_FOUND);
+            return;
+        }
+        for(int i=0; i<audio.getClass().getDeclaredFields().length; i++){
+//            try {
+//                System.out.println(audio.getClass().getDeclaredFields()[i].getName());
+//                String fieldName = audio.getClass().getDeclaredFields()[i].getName();
+//                System.out.println(audio.getClass().getDeclaredField(fieldName));
+//                audio.getClass().getDeclaredField(fieldName).get(fieldName).;
+////                Field f = audio.getClass().getDeclaredField(fieldName);
+////                f.setAccessible(true);
+////                f.set(audio, "1");
+////
+////                String firstWord = fieldName.substring(0, 1).toUpperCase();
+////                String methodName = String.format("set%s%s", firstWord, fieldName.substring(1));
+////                Method method = audio.getClass().getMethod(methodName, value.getClass());
+////                method.invoke(obj, value);
+//            }catch (NoSuchFieldException e){
+//                System.out.println(e.getMessage());
+//            }
+//            catch (IllegalAccessException e){
+//                System.out.println(e.getMessage());
+//            }
+
+
+        }
+        audio = audioService.Insert(audio);
+
+        HttpUtil.responseOutWithJson(request, response, audio);
+        return;
+    }
+
     /**
      * 过滤出渠道有访问权限的音频列表
      * @param audioList

+ 13 - 0
src/main/java/cn/efunbox/audio/controller/ChannelController.java

@@ -80,4 +80,17 @@ public class ChannelController {
         return;
     }
 
+    @RequestMapping(value = "/update", method = RequestMethod.POST)
+    public void Update(HttpServletRequest request, HttpServletResponse response, @RequestBody Channel channel){
+        List<Channel> list = channelService.SearchByName(channel.getName());
+        if(list!=null && list.size()>0){
+            HttpUtil.responseApiCode(request, response, ApiCode.RECORD_EXIST);
+            return;
+        }
+        channel.setCreated(new Date());
+        channel = channelService.Insert(channel);
+        HttpUtil.responseOutWithJson(request, response, channel);
+        return;
+    }
+
 }

+ 6 - 0
src/main/java/cn/efunbox/audio/impl/AudioServiceImpl.java

@@ -23,6 +23,12 @@ public class AudioServiceImpl implements AudioService {
     AudioRepo audioRepo;
 
     @Override
+    public Audio GetOne(Long id){
+        Audio audio = audioRepo.findById(id);
+        return audio;
+    }
+
+    @Override
     public List<Audio> SearchAll(){
         List<Audio> list = audioRepo.findAll();
         return list;

+ 2 - 0
src/main/java/cn/efunbox/audio/service/AudioService.java

@@ -10,6 +10,8 @@ import java.util.List;
  */
 public interface AudioService {
 
+    public Audio GetOne(Long id);
+
     public List<Audio> SearchAll();
 
     public List<Audio> SearchByName(String name);