Browse Source

增加学生sync

ting.yin 7 năm trước cách đây
mục cha
commit
51b841c48f

+ 1 - 5
core-api/src/main/java/cn/com/qmth/examcloud/service/core/api/StudentApi.java

@@ -98,11 +98,7 @@ public class StudentApi {
     @ApiOperation(value="更新学生",notes="更新")
     @PutMapping
     public ResponseEntity updateStudent(@RequestBody Student student){
-    	student.setUpdateTime(new Date());
-        User user = userRepo.findOne(student.getUser().getId());
-        user.setName(student.getName());
-        student.setUser(user);
-        return new ResponseEntity(studentRepo.save(student),HttpStatus.OK);
+        return new ResponseEntity(studentService.update(student),HttpStatus.OK);
     }
 
     @ApiOperation(value="按ID删除学生",notes="删除")

+ 23 - 3
core-api/src/main/java/cn/com/qmth/examcloud/service/core/service/StudentService.java

@@ -30,6 +30,7 @@ import cn.com.qmth.examcloud.service.core.enums.UserType;
 import cn.com.qmth.examcloud.service.core.repo.OrgRepo;
 import cn.com.qmth.examcloud.service.core.repo.StudentRepo;
 import cn.com.qmth.examcloud.service.core.repo.UserRepo;
+import cn.com.qmth.examcloud.service.core.service.sync.DataSendService;
 
 /**
  * 学生服务类
@@ -46,6 +47,8 @@ public class StudentService {
     UserService userService;
     @Autowired
     OrgRepo orgRepo;
+    @Autowired
+    DataSendService dataSendService;
 
     private static final String JPG = ".jpg";
 
@@ -97,6 +100,7 @@ public class StudentService {
                 if (student != null) {//学生存在则绑定照片
                     student.setPhotoPath(student.getUser().getRootOrgId() + File.separator + "photo" + File.separator + fileName);
                     studentRepo.save(student);
+                    dataSendService.sendStudent(student);
                 }
             }
         } else {
@@ -116,7 +120,9 @@ public class StudentService {
                     domain.setUpdateTime(new Date());
                     domain.setName(student.getName());
                     domain.setOrgId(student.getOrgId());
-                    return studentRepo.save(domain);
+                    domain = studentRepo.save(domain);
+                    dataSendService.sendStudent(domain);
+                    return domain;
                 }
             }
 
@@ -126,7 +132,9 @@ public class StudentService {
                 entity.setUpdateTime(new Date());
                 entity.setName(student.getName());
                 entity.setOrgId(student.getOrgId());
-                return studentRepo.save(entity);
+                entity = studentRepo.save(entity);
+                dataSendService.sendStudent(entity);
+                return entity;
             }
             student.setOrgId(student.getUser().getOrgId());
             student.setRootOrgId(student.getUser().getRootOrgId());
@@ -148,7 +156,9 @@ public class StudentService {
             userRepo.save(user);
             student.setUser(user);
         }
-        return studentRepo.save(student);
+        student = studentRepo.save(student);
+        dataSendService.sendStudent(student);
+        return student;
     }
 
     /**
@@ -199,4 +209,14 @@ public class StudentService {
         }
     }
 
+	public Student update(Student student) {
+    	student.setUpdateTime(new Date());
+        User user = userRepo.findOne(student.getUser().getId());
+        user.setName(student.getName());
+        student.setUser(user);
+        student = studentRepo.save(student);
+        dataSendService.sendStudent(student);
+		return student;
+	}
+
 }

+ 11 - 2
core-api/src/main/java/cn/com/qmth/examcloud/service/core/service/sync/DataSendService.java

@@ -1,13 +1,17 @@
 package cn.com.qmth.examcloud.service.core.service.sync;
 
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
 import cn.com.qmth.examcloud.common.dto.core.CourseSync;
 import cn.com.qmth.examcloud.common.dto.core.OrgSync;
+import cn.com.qmth.examcloud.common.dto.core.StudentSync;
 import cn.com.qmth.examcloud.common.util.BeanCopierUtil;
 import cn.com.qmth.examcloud.service.core.entity.Course;
 import cn.com.qmth.examcloud.service.core.entity.Org;
+import cn.com.qmth.examcloud.service.core.entity.Student;
+
 import com.qmth.commons.dataSync.core.service.DataSyncService;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
 
 /**
  * Created by songyue on 17/8/3.
@@ -27,4 +31,9 @@ public class DataSendService {
         OrgSync orgSync = BeanCopierUtil.copyProperties(org,OrgSync.class);
         dataSyncService.send(orgSync);
     }
+    
+    public void sendStudent(Student student){
+    	StudentSync studentSync = BeanCopierUtil.copyProperties(student,StudentSync.class);
+        dataSyncService.send(studentSync);
+    }
 }

+ 3 - 3
core-domain/src/main/java/cn/com/qmth/examcloud/service/core/repo/ExamSiteRepo.java

@@ -1,13 +1,13 @@
 package cn.com.qmth.examcloud.service.core.repo;
 
-import cn.com.qmth.examcloud.service.core.entity.ExamSite;
-import cn.com.qmth.examcloud.service.core.entity.Org;
+import java.util.List;
+
 import org.springframework.data.jpa.repository.JpaRepository;
 import org.springframework.data.jpa.repository.Query;
 import org.springframework.data.repository.query.Param;
 import org.springframework.data.repository.query.QueryByExampleExecutor;
 
-import java.util.List;
+import cn.com.qmth.examcloud.service.core.entity.ExamSite;
 
 /**
  * Created by songyue on 17/1/13.

+ 2 - 2
core-domain/src/main/java/cn/com/qmth/examcloud/service/core/repo/UserLoginRepo.java

@@ -1,11 +1,11 @@
 package cn.com.qmth.examcloud.service.core.repo;
 
-import cn.com.qmth.examcloud.service.core.entity.UserLogin;
-import cn.com.qmth.examcloud.service.core.entity.UserRole;
 import org.springframework.data.jpa.repository.JpaRepository;
 import org.springframework.data.repository.query.QueryByExampleExecutor;
 import org.springframework.transaction.annotation.Transactional;
 
+import cn.com.qmth.examcloud.service.core.entity.UserLogin;
+
 /**
  * Created by songyue on 17/2/22.
  */

+ 0 - 3
core-domain/src/main/java/cn/com/qmth/examcloud/service/core/repo/UserRepo.java

@@ -2,9 +2,6 @@ package cn.com.qmth.examcloud.service.core.repo;
 
 import java.util.List;
 
-import org.springframework.data.domain.Example;
-import org.springframework.data.domain.Page;
-import org.springframework.data.domain.Pageable;
 import org.springframework.data.jpa.repository.JpaRepository;
 import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
 import org.springframework.data.jpa.repository.Modifying;

+ 1 - 3
core-domain/src/main/java/cn/com/qmth/examcloud/service/core/repo/UserRoleRepo.java

@@ -1,11 +1,9 @@
 package cn.com.qmth.examcloud.service.core.repo;
 
-import cn.com.qmth.examcloud.service.core.entity.User;
-import cn.com.qmth.examcloud.service.core.entity.UserRole;
 import org.springframework.data.jpa.repository.JpaRepository;
 import org.springframework.data.repository.query.QueryByExampleExecutor;
 
-import java.util.Set;
+import cn.com.qmth.examcloud.service.core.entity.UserRole;
 
 /**
  * Created by songyue on 17/2/22.