Browse Source

修改entity中变量类型为对象,不能是基本数据类型,如int,boolean,否则利用java反射进行对象拷贝时会出错

yaobo 7 years ago
parent
commit
ba7a398bb6

+ 2 - 0
src/main/java/cn/efunbox/audio/controller/AdminController.java

@@ -1,6 +1,7 @@
 package cn.efunbox.audio.controller;
 
 import cn.efunbox.audio.consts.Consts;
+import cn.efunbox.audio.consts.Status;
 import cn.efunbox.audio.entity.Admin;
 import cn.efunbox.audio.service.AdminService;
 import cn.efunbox.audio.utils.ApiCode;
@@ -155,6 +156,7 @@ public class AdminController {
                 HttpUtil.responseApiCode(request, response, ApiCode.RECORD_EXIST);
                 return;
             }
+            admin.setStatus(Status.ONLINE.getCode());
             admin.setCreated(new Timestamp(new Date().getTime()));
         }else{
             Admin adminOld = adminService.GetOne(admin.getId());

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

@@ -1,5 +1,6 @@
 package cn.efunbox.audio.controller;
 
+import cn.efunbox.audio.consts.Status;
 import cn.efunbox.audio.entity.*;
 import cn.efunbox.audio.service.*;
 import cn.efunbox.audio.utils.ApiCode;
@@ -48,8 +49,11 @@ public class AudioController {
     public void AdminSearch(HttpServletRequest request, HttpServletResponse response){
         String name = request.getParameter("name");
         String album = request.getParameter("album");
+        String idGroup = request.getParameter("idGroup");
         List<Audio> list = new ArrayList<>();
-        if(name!=null && name.length()>0  && album!=null && album.length()>0)
+        if(idGroup!=null && idGroup.length()>0)
+            list = audioService.SearchByIdGroup(Long.valueOf(idGroup));
+        else if(name!=null && name.length()>0  && album!=null && album.length()>0)
             list = audioService.SearchByNameAlbum(name, album);
         else if(name!=null && name.length()>0)
             list = audioService.SearchByName(name);
@@ -159,6 +163,7 @@ public class AudioController {
             HttpUtil.responseApiCode(request, response, ApiCode.PARAMETER_ERROR);
             return;
         }
+        audio.setStatus(Status.ONLINE.getCode());
         audio.setCreated(new Timestamp(new Date().getTime()));
         audio = audioService.Insert(audio);
 

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

@@ -1,5 +1,6 @@
 package cn.efunbox.audio.controller;
 
+import cn.efunbox.audio.consts.Status;
 import cn.efunbox.audio.entity.Channel;
 import cn.efunbox.audio.service.ChannelService;
 import cn.efunbox.audio.utils.ApiCode;
@@ -79,6 +80,8 @@ public class ChannelController {
             HttpUtil.responseApiCode(request, response, ApiCode.RECORD_EXIST);
             return;
         }
+        channel.setHasSon(false);
+        channel.setStatus(Status.ONLINE.getCode());
         channel.setCreated(new Timestamp(new Date().getTime()));
         channel = channelService.Insert(channel);
         if(channel.getIdFather()>0){
@@ -97,8 +100,14 @@ public class ChannelController {
             HttpUtil.responseApiCode(request, response, ApiCode.PARAMETER_ERROR);
             return;
         }
+//        System.out.println("ch:"+channel.toString());
+//        System.out.println("chOld:"+channelOld.toString());
         channel = (Channel) Common.CopyValue(channel, channelOld);
+//        System.out.println("ch2:"+channel.toString());
+        if(channelOld.getHasSon())
+            channel.setHasSon(true);
         channel = channelService.Insert(channel);
+//        System.out.println("ch3:"+channel.toString());
         HttpUtil.responseOkData(request, response, channel);
         return;
     }

+ 6 - 5
src/main/java/cn/efunbox/audio/controller/DeviceController.java

@@ -126,15 +126,16 @@ public class DeviceController {
     public void Search(HttpServletRequest request, HttpServletResponse response){
         String idDevice = request.getParameter("idDevice");
         String idChannel = request.getParameter("idChannel");
-        if(idDevice==null)
-            idDevice = "0";
-        if(idChannel==null)
-            idChannel = "0";
         List<Device> list = new ArrayList<>();
         if(idDevice==null && idChannel==null)
             list = deviceService.SearchAll();
-        else
+        else{
+            if(idDevice==null)
+                idDevice = "0";
+            if(idChannel==null)
+                idChannel = "0";
             list = deviceService.Search(Long.valueOf(idChannel), Long.valueOf(idDevice));
+        }
 
         for(int i=0; i<list.size(); i++){
             list.get(i).setTokenNew("");

+ 5 - 0
src/main/java/cn/efunbox/audio/controller/GroupingController.java

@@ -1,5 +1,6 @@
 package cn.efunbox.audio.controller;
 
+import cn.efunbox.audio.consts.Status;
 import cn.efunbox.audio.entity.Channel;
 import cn.efunbox.audio.entity.Grouping;
 import cn.efunbox.audio.service.GroupingService;
@@ -93,6 +94,8 @@ public class GroupingController {
             HttpUtil.responseApiCode(request, response, ApiCode.RECORD_EXIST);
             return;
         }
+        grouping.setHasSon(false);
+        grouping.setStatus(Status.ONLINE.getCode());
         grouping.setCreated(new Timestamp(new Date().getTime()));
         grouping = groupingService.Insert(grouping);
         //增加父节点的子节点标记
@@ -113,6 +116,8 @@ public class GroupingController {
             return;
         }
         grouping = (Grouping) Common.CopyValue(grouping, groupingOld);
+        if(groupingOld.getHasSon())
+            grouping.setHasSon(true);
         grouping = groupingService.Insert(grouping);
         HttpUtil.responseOkData(request, response, grouping);
         return;

+ 2 - 0
src/main/java/cn/efunbox/audio/controller/RightsController.java

@@ -1,5 +1,6 @@
 package cn.efunbox.audio.controller;
 
+import cn.efunbox.audio.consts.Status;
 import cn.efunbox.audio.entity.Channel;
 import cn.efunbox.audio.entity.Grouping;
 import cn.efunbox.audio.entity.Rights;
@@ -120,6 +121,7 @@ public class RightsController {
         }
         rights.setNameChannel(cList.get(0).getName());
         rights.setNameGroup(gList.get(0).getName());
+        rights.setStatus(Status.ONLINE.getCode());
         rights.setCreated(new Timestamp(new Date().getTime()));
         rights = rightsService.Insert(rights);
 

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

@@ -50,7 +50,7 @@ public class Admin implements Serializable, Cloneable {
     private Long idChannel = 0L;
 
     @Column
-    private int status= Status.ONLINE.getCode();
+    private Integer status;
 
     @Column
 //    @Temporal(TemporalType.TIMESTAMP)

+ 4 - 4
src/main/java/cn/efunbox/audio/entity/Audio.java

@@ -39,7 +39,7 @@ public class Audio implements Serializable, Cloneable {
 
     //专辑下的第几集
     @Column
-    private int lesson = 0;
+    private Integer lesson;
 
     //所属年级
     @Column
@@ -47,11 +47,11 @@ public class Audio implements Serializable, Cloneable {
 
     //适用最小年龄
     @Column
-    private int ageMin = 0;
+    private Integer ageMin;
 
     //适用最大年龄
     @Column
-    private int ageMax = 100;
+    private Integer ageMax;
 
     //音频名称,如两只老虎
     @Column
@@ -70,7 +70,7 @@ public class Audio implements Serializable, Cloneable {
     private String url;
 
     @Column
-    private int status= Status.ONLINE.getCode();
+    private Integer status;
 
     @Column
 //    @Temporal(TemporalType.TIMESTAMP)

+ 2 - 2
src/main/java/cn/efunbox/audio/entity/Channel.java

@@ -35,14 +35,14 @@ public class Channel implements Serializable, Cloneable {
 
     //是否还有子节点
     @Column
-    private boolean hasSon = false;
+    private Boolean hasSon;
 
     //合作商家,如小七
     @Column
     private String name;
 
     @Column
-    private int status= Status.ONLINE.getCode();
+    private Integer status=Status.ONLINE.getCode();
 
     @Column
 //    @Temporal(TemporalType.TIMESTAMP)

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

@@ -47,7 +47,7 @@ public class Device implements Serializable, Cloneable{
 
     //状态
     @Column
-    private int status= Status.ONLINE.getCode();
+    private Integer status;
 
     //设备的会员有效期
     @Column

+ 2 - 2
src/main/java/cn/efunbox/audio/entity/Grouping.java

@@ -35,14 +35,14 @@ public class Grouping implements Serializable, Cloneable {
 
     //是否还有子节点
     @Column
-    private boolean hasSon = false;
+    private Boolean hasSon;
 
     //组名称,如唐诗、宋词
     @Column
     private String name;
 
     @Column
-    private int status= Status.ONLINE.getCode();
+    private Integer status;
 
     @Column
 //    @Temporal(TemporalType.TIMESTAMP)

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

@@ -42,7 +42,7 @@ public class Record implements Serializable, Cloneable {
     private Long idAudio;
 
     @Column
-    private int status= Status.ONLINE.getCode();
+    private Integer status;
 
     @Column
 //    @Temporal(TemporalType.TIMESTAMP)

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

@@ -46,7 +46,7 @@ public class Rights implements Serializable, Cloneable {
     private String nameGroup;
 
     @Column
-    private int status= Status.ONLINE.getCode();
+    private Integer status;
 
     @Column
 //    @Temporal(TemporalType.TIMESTAMP)

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

@@ -35,6 +35,12 @@ public class AudioServiceImpl implements AudioService {
     }
 
     @Override
+    public List<Audio> SearchByIdGroup(Long idGroup){
+        List<Audio> list = audioRepo.findByIdGroup(idGroup);
+        return list;
+    }
+
+    @Override
     public List<Audio> SearchByName(String name){
         if(name==null || name.isEmpty())
             return null;

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

@@ -1,5 +1,6 @@
 package cn.efunbox.audio.impl;
 
+import cn.efunbox.audio.consts.Status;
 import cn.efunbox.audio.entity.Device;
 import cn.efunbox.audio.repository.DeviceRepo;
 import cn.efunbox.audio.service.DeviceService;
@@ -38,6 +39,7 @@ public class DeviceServiceImpl implements DeviceService {
         Device device = new Device();
         device.setIdChannel(idChannel);
         device.setIdDevice(idDevice);
+        device.setStatus(Status.ONLINE.getCode());
         device.setCreated(new Timestamp(new Date().getTime()));
         device.setUpdated(new Timestamp(new Date().getTime()));
         device.setTokenOld(device.getTokenNew());

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

@@ -24,6 +24,8 @@ public interface AudioRepo extends JpaRepository<Audio, Long> {
 
     List<Audio> findByNameContaining(String name);
 
+    List<Audio> findByIdGroup(Long idGroup);
+
     List<Audio> findByAlbum( String Album);
 
     List<Audio> findByAlbumLike( String Album);

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

@@ -14,6 +14,8 @@ public interface AudioService {
 
     public List<Audio> SearchAll();
 
+    public List<Audio> SearchByIdGroup(Long idGroup);
+
     public List<Audio> SearchByName(String name);
 
     public List<Audio> SearchByAlbum(String album);

+ 5 - 3
src/main/java/cn/efunbox/audio/utils/Common.java

@@ -21,8 +21,10 @@ public class Common {
                 String fieldName = objTarget.getClass().getDeclaredFields()[i].getName();
 //                System.out.println(fieldName);
                 String value = GetFieldValueByName(fieldName, objTarget)==null?"":GetFieldValueByName(fieldName, objTarget).toString();
-//                System.out.println(value);
-                if(null==GetFieldValueByName(fieldName, objTarget) && null!=GetFieldValueByName(fieldName, objSource))
+//                System.out.println(fieldName+":"+value);
+//                if((null==value || value.toString().equalsIgnoreCase("") || value.toString().equalsIgnoreCase("0"))
+                if((null==GetFieldValueByName(fieldName, objTarget))
+                        && null!=GetFieldValueByName(fieldName, objSource))
                     SetFieldValueByName(objTarget, fieldName, GetFieldValueByName(fieldName, objSource));
             }
             catch (Exception e){
@@ -63,7 +65,7 @@ public class Common {
             Method method = obj.getClass().getMethod(methodName, value.getClass());
             method.invoke(obj, value);
         }catch (Exception e) {
-            System.out.println(e.getMessage());
+            System.out.println("SetFieldValueByName error:" + e.getMessage());
             return null;
         }