Browse Source

去重航空母舰

wangwei 7 years ago
parent
commit
6932992027

+ 1 - 5
examcloud-core-basic-api-provider/src/main/java/cn/com/qmth/examcloud/core/basic/api/provider/CourseCloudServiceProvider.java

@@ -23,7 +23,6 @@ import cn.com.qmth.examcloud.core.basic.dao.OrgRepo;
 import cn.com.qmth.examcloud.core.basic.dao.entity.Course;
 import cn.com.qmth.examcloud.core.basic.dao.entity.Org;
 import cn.com.qmth.examcloud.core.basic.dao.enums.CourseLevel;
-import cn.com.qmth.examcloud.core.basic.service.impl.DataSendService;
 import io.swagger.annotations.ApiOperation;
 
 /**
@@ -46,9 +45,6 @@ public class CourseCloudServiceProvider implements CourseCloudService {
 	@Autowired
 	CourseRepo courseRepo;
 
-	@Autowired
-	DataSendService dataSendService;
-
 	@ApiOperation(value = "保存课程")
 	@PostMapping("saveCourse")
 	@Override
@@ -138,7 +134,7 @@ public class CourseCloudServiceProvider implements CourseCloudService {
 		}
 		Course saved = courseRepo.saveAndFlush(course);
 		if (updateTime != saved.getUpdateTime().getTime()) {
-			dataSendService.sendCourse(saved);
+
 		}
 
 		SaveCourseResp resp = new SaveCourseResp();

+ 0 - 5
examcloud-core-basic-base/pom.xml

@@ -14,11 +14,6 @@
 			<artifactId>examcloud-commons-web</artifactId>
 			<version>${examcloud.version}</version>
 		</dependency>
-		<dependency>
-			<groupId>cn.com.qmth.examcloud.commons</groupId>
-			<artifactId>examcloud-commons-dto</artifactId>
-			<version>${examcloud.version}</version>
-		</dependency>
 	</dependencies>
 
 </project>

+ 0 - 32
examcloud-core-basic-dao/src/main/java/cn/com/qmth/examcloud/core/basic/dao/OrgMemRepo.java

@@ -1,32 +0,0 @@
-package cn.com.qmth.examcloud.core.basic.dao;
-
-import org.springframework.stereotype.Repository;
-
-import cn.com.qmth.examcloud.core.basic.dao.entity.Org;
-
-import java.util.Map;
-import java.util.concurrent.ConcurrentHashMap;
-
-/**
- * Created by songyue on 18/1/22.
- */
-@Repository
-public class OrgMemRepo implements BaseMemRepository<Org,Long>{
-
-    private static final Map<Long,Org> orgMap = new ConcurrentHashMap<>(256);
-
-    @Override
-    public void set(Long id, Org entity) {
-        orgMap.put(id,entity);
-    }
-
-    @Override
-    public Org get(Long id) {
-        return orgMap.get(id);
-    }
-
-    @Override
-    public void remove(Long id) {
-        orgMap.remove(id);
-    }
-}

+ 0 - 5
examcloud-core-basic-service/pom.xml

@@ -15,11 +15,6 @@
 			<artifactId>examcloud-core-basic-dao</artifactId>
 			<version>${examcloud.version}</version>
 		</dependency>
-		<dependency>
-			<groupId>com.qmth.commons</groupId>
-			<artifactId>data-sync-rabbit</artifactId>
-			<version>1.0-SNAPSHOT</version>
-		</dependency>
 
 		<dependency>
 			<groupId>cn.com.qmth.examcloud.exchange</groupId>

+ 3 - 11
examcloud-core-basic-service/src/main/java/cn/com/qmth/examcloud/core/basic/service/impl/CourseService.java

@@ -13,8 +13,6 @@ import javax.persistence.criteria.Subquery;
 import javax.transaction.Transactional;
 
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.data.domain.Page;
-import org.springframework.data.domain.Pageable;
 import org.springframework.data.jpa.domain.Specification;
 import org.springframework.stereotype.Service;
 import org.springframework.util.StringUtils;
@@ -34,9 +32,6 @@ public class CourseService {
 	@Autowired
 	CourseRepo courseRepo;
 
-	@Autowired
-	DataSendService dataSendService;
-
 	@Transactional
 	public List<ExcelError> importCourse(Long orgId, InputStream inputStream) {
 		ExcelReader excelReader = new ExcelReader(CourseDto.class);
@@ -72,14 +67,12 @@ public class CourseService {
 	private void addCourse(Course course) {
 		Course old = courseRepo.findByOrgIdAndCode(course.getOrgId(), course.getCode());
 		if (old == null) {
-			Course tempCourse = courseRepo.save(course);
-			dataSendService.sendCourse(tempCourse);
+			courseRepo.save(course);
 		} else {
 			old.setName(course.getName());
 			old.setLevel(course.getLevel());
 			old.setUpdateTime(new Date());
-			Course tempCourse = courseRepo.save(old);
-			dataSendService.sendCourse(tempCourse);
+			courseRepo.save(old);
 		}
 	}
 
@@ -142,8 +135,7 @@ public class CourseService {
 			Course course = courseRepo.findOne(courseId);
 			course.setEnable(enable);
 			course.setUpdateTime(new Date());
-			Course reCourse = courseRepo.saveAndFlush(course);
-			dataSendService.sendCourse(reCourse);
+			courseRepo.saveAndFlush(course);
 		}
 	}
 

+ 0 - 52
examcloud-core-basic-service/src/main/java/cn/com/qmth/examcloud/core/basic/service/impl/DataSendService.java

@@ -1,52 +0,0 @@
-package cn.com.qmth.examcloud.core.basic.service.impl;
-
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
-import com.qmth.commons.dataSync.core.service.DataSyncService;
-
-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.SpecialtySync;
-import cn.com.qmth.examcloud.common.dto.core.StudentSync;
-import cn.com.qmth.examcloud.commons.base.util.BeanCopierUtil;
-import cn.com.qmth.examcloud.core.basic.dao.entity.Course;
-import cn.com.qmth.examcloud.core.basic.dao.entity.Org;
-import cn.com.qmth.examcloud.core.basic.dao.entity.Specialty;
-import cn.com.qmth.examcloud.core.basic.dao.entity.Student;
-
-/**
- * Created by songyue on 17/8/3.
- */
-@Service
-public class DataSendService {
-
-	@Autowired
-	DataSyncService dataSyncService;
-
-	public void sendCourse(Course course) {
-		CourseSync courseSync = new CourseSync();
-		courseSync.setCode(course.getCode());
-		courseSync.setEnable(course.getEnable());
-		courseSync.setId(course.getId());
-		courseSync.setLevel(course.getLevel().name());
-		courseSync.setName(course.getName());
-		courseSync.setOrgId(course.getOrgId());
-		dataSyncService.send(courseSync);
-	}
-
-	public void sendOrg(Org org) {
-		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);
-	}
-
-	public void sendSpecialty(Specialty specialty) {
-		SpecialtySync specialtySync = BeanCopierUtil.copyProperties(specialty, SpecialtySync.class);
-		dataSyncService.send(specialtySync);
-	}
-}

+ 2 - 20
examcloud-core-basic-service/src/main/java/cn/com/qmth/examcloud/core/basic/service/impl/OrgService.java

@@ -26,7 +26,6 @@ import cn.com.qmth.examcloud.commons.base.util.excel.ExcelReader;
 import cn.com.qmth.examcloud.commons.base.util.excel.ExcelReaderHandle;
 import cn.com.qmth.examcloud.commons.web.security.enums.RoleMeta;
 import cn.com.qmth.examcloud.core.basic.dao.ExamSiteRepo;
-import cn.com.qmth.examcloud.core.basic.dao.OrgMemRepo;
 import cn.com.qmth.examcloud.core.basic.dao.OrgRepo;
 import cn.com.qmth.examcloud.core.basic.dao.RoleRepo;
 import cn.com.qmth.examcloud.core.basic.dao.UserRepo;
@@ -55,12 +54,6 @@ public class OrgService {
 	@Autowired
 	ExamSiteRepo examSiteRepo;
 
-	@Autowired
-	DataSendService dataSendService;
-
-	@Autowired
-	OrgMemRepo orgMemRepo;
-
 	@Autowired
 	UserRoleRelationRepo userRoleRelationRepo;
 
@@ -295,23 +288,12 @@ public class OrgService {
 		}
 
 		Org saved = orgRepo.save(org);
-		dataSendService.sendOrg(saved);
-		// 删除缓存
-		orgMemRepo.remove(saved.getId());
 		return saved;
 	}
 
 	public Org findOne(Long id) {
-		Org cacheOrg = orgMemRepo.get(id);
-		if (cacheOrg != null) {
-			return cacheOrg;
-		} else {
-			Org org = orgRepo.findOne(id);
-			if (org != null) {
-				orgMemRepo.set(id, org);
-			}
-			return org;
-		}
+		Org org = orgRepo.findOne(id);
+		return org;
 	}
 
 }

+ 60 - 59
examcloud-core-basic-service/src/main/java/cn/com/qmth/examcloud/core/basic/service/impl/SpecialtyService.java

@@ -32,19 +32,15 @@ public class SpecialtyService {
 
 	@Autowired
 	SpecialtyRepo specialtyRepo;
-	@Autowired
-	DataSendService dataSendService;
-
 
 	@Transactional
 	public List<ExcelError> importSpecialty(Long orgId, InputStream inputStream) {
-		List<Specialty> list = new ArrayList<Specialty>();
 		ExcelReader excelReader = new ExcelReader(SpecialtyDto.class);
 		List<ExcelError> excelErrors = excelReader.reader(inputStream, new ExcelReaderHandle() {
 			@Override
 			public ExcelError handle(Object obj) {
 				SpecialtyDto dto = (SpecialtyDto) obj;
-				Specialty specialty = new Specialty(dto.getCode(),dto.getName());
+				Specialty specialty = new Specialty(dto.getCode(), dto.getName());
 				specialty.setOrgId(orgId);
 				specialty.setCreateTime(new Date());
 				specialty.setEnable(true);
@@ -58,123 +54,128 @@ public class SpecialtyService {
 		return excelErrors;
 	}
 
-	private void addSpecialty(Specialty specialty){
-		Specialty old = specialtyRepo.findByOrgIdAndCode(specialty.getOrgId(),specialty.getCode());
-		if(old == null){
-			Specialty tempSpecialty = specialtyRepo.save(specialty);
-			dataSendService.sendSpecialty(tempSpecialty);
-		}else{
+	private void addSpecialty(Specialty specialty) {
+		Specialty old = specialtyRepo.findByOrgIdAndCode(specialty.getOrgId(), specialty.getCode());
+		if (old == null) {
+			specialtyRepo.save(specialty);
+		} else {
 			old.setName(specialty.getName());
 			old.setUpdateTime(new Date());
-			Specialty tempSpecialty = specialtyRepo.save(old);
-			dataSendService.sendSpecialty(tempSpecialty);
+			specialtyRepo.save(old);
 		}
 	}
 
 	private ExcelError importCheck(Specialty specialty) {
-		if(StringUtils.isEmpty(specialty.getCode())){
+		if (StringUtils.isEmpty(specialty.getCode())) {
 			return new ExcelError("代码不能为空");
 		}
-		if(StringUtils.isEmpty(specialty.getName())){
+		if (StringUtils.isEmpty(specialty.getName())) {
 			return new ExcelError("名称不能为空");
 		}
 		return null;
 	}
-	
+
 	/**
 	 * 带分页查询专业
+	 * 
 	 * @param specialty
 	 * @param pageable
 	 * @return
 	 */
-	public Page<Specialty> findAll(Specialty specialty,Long courseId,Pageable pageable){
-		Specification<Specialty> specification = getSpecification(specialty,courseId);
+	public Page<Specialty> findAll(Specialty specialty, Long courseId, Pageable pageable) {
+		Specification<Specialty> specification = getSpecification(specialty, courseId);
 		Page<Specialty> specialties = specialtyRepo.findAll(specification, pageable);
 		return specialties;
 	}
-	
-	public Specification<Specialty> getSpecification(Specialty specialty,Long courseId){
+
+	public Specification<Specialty> getSpecification(Specialty specialty, Long courseId) {
 		Specification<Specialty> specification = (root, query, cb) -> {
 			List<Predicate> predicates = new ArrayList<>();
-			if(!StringUtils.isEmpty(specialty.getOrgId())){
-				predicates.add(cb.equal(root.get("orgId"),specialty.getOrgId()));
+			if (!StringUtils.isEmpty(specialty.getOrgId())) {
+				predicates.add(cb.equal(root.get("orgId"), specialty.getOrgId()));
+			}
+			if (!StringUtils.isEmpty(specialty.getName())) {
+				predicates.add(cb.like(root.get("name"), "%" + specialty.getName() + "%"));
+			}
+			if (!StringUtils.isEmpty(specialty.getCode())) {
+				predicates.add(cb.like(root.get("code"), "%" + specialty.getCode() + "%"));
+			}
+			if (!StringUtils.isEmpty(specialty.getEnable())) {
+				predicates.add(cb.equal(root.get("enable"), specialty.getEnable()));
+			}
+			if (courseId != null) {
+				Subquery<CourseSpeciatly> relationshipSubquery = query
+						.subquery(CourseSpeciatly.class);
+				Root<CourseSpeciatly> residencyRelationshipSubqueryRoot = relationshipSubquery
+						.from(CourseSpeciatly.class);
+				relationshipSubquery.select(residencyRelationshipSubqueryRoot);
+				Predicate predicate = cb.equal(residencyRelationshipSubqueryRoot.get("courseId"),
+						courseId);
+				Predicate predicate2 = cb.equal(
+						residencyRelationshipSubqueryRoot.get("specialtyId"), root.get("id"));
+				relationshipSubquery.where(cb.and(predicate, predicate2));
+				predicates.add(cb.exists(relationshipSubquery));
 			}
-			if(!StringUtils.isEmpty(specialty.getName())){
-		    	predicates.add(cb.like(root.get("name"),"%"+specialty.getName()+"%"));
-		    }
-		    if(!StringUtils.isEmpty(specialty.getCode())){
-		    	predicates.add(cb.like(root.get("code"),"%"+specialty.getCode()+"%"));
-		    }
-		    if(!StringUtils.isEmpty(specialty.getEnable())){
-		    	predicates.add(cb.equal(root.get("enable"),specialty.getEnable()));
-		    }
-		    if(courseId!=null){
-		    	Subquery<CourseSpeciatly> relationshipSubquery = query.subquery(CourseSpeciatly.class);
-		    	Root<CourseSpeciatly> residencyRelationshipSubqueryRoot = relationshipSubquery.from(CourseSpeciatly.class);
-		    	relationshipSubquery.select(residencyRelationshipSubqueryRoot);
-		    	Predicate predicate = cb.equal(residencyRelationshipSubqueryRoot.get("courseId"), courseId);
-		    	Predicate predicate2 = cb.equal(residencyRelationshipSubqueryRoot.get("specialtyId"), root.get("id"));
-		    	relationshipSubquery.where(cb.and(predicate,predicate2));
-		    	predicates.add(cb.exists(relationshipSubquery));
-		    }
 			return cb.and(predicates.toArray(new Predicate[predicates.size()]));
 		};
 		return specification;
 	}
-	
+
 	/**
 	 * 查询专业不带分页
+	 * 
 	 * @param specialty
 	 * @return
 	 */
-	public List<Specialty> findAll(Specialty specialty){
-		Specification<Specialty> specification = getSpecification(specialty,null);
+	public List<Specialty> findAll(Specialty specialty) {
+		Specification<Specialty> specification = getSpecification(specialty, null);
 		return specialtyRepo.findAll(specification);
 	}
-	
+
 	/**
 	 * 保存专业
+	 * 
 	 * @param specialty
 	 * @return
 	 */
-	public void save(Specialty specialty){
+	public void save(Specialty specialty) {
 		checkCode(specialty.getOrgId(), specialty.getCode());
 		specialty.setCreateTime(new Date());
 		specialty.setEnable(true);
 		specialtyRepo.save(specialty);
-		dataSendService.sendSpecialty(specialty);
 	}
-	
-	//验证专业代码是否存在
-	private void checkCode(Long orgId,String code){
+
+	// 验证专业代码是否存在
+	private void checkCode(Long orgId, String code) {
 		Specialty specialty = specialtyRepo.findByOrgIdAndCode(orgId, code);
-		if(specialty != null){
+		if (specialty != null) {
 			throw new RuntimeException("专业代码已存在");
 		}
 	}
-	
+
 	/**
 	 * 更新专业
+	 * 
 	 * @param specialty
 	 */
-	public void updateSpecialty(Specialty specialty){
+	public void updateSpecialty(Specialty specialty) {
 		Specialty oldSpecialty = specialtyRepo.findOne(specialty.getId());
-		if(!oldSpecialty.getCode().equals(specialty.getCode())){
+		if (!oldSpecialty.getCode().equals(specialty.getCode())) {
 			checkCode(specialty.getOrgId(), specialty.getCode());
 		}
 		specialty.setUpdateTime(new Date());
 		specialtyRepo.save(specialty);
-		dataSendService.sendSpecialty(specialty);
 	}
-	
+
 	/**
 	 * 根据Id删除专业
+	 * 
 	 * @param ids
 	 */
-	public void deleteSpecialty(String ids){
-		List<Long> specialtyIds = Stream.of(ids.split(",")).map(s->Long.parseLong(s.trim()))
-                .collect(Collectors.toList());
-		for(Long specialtyId: specialtyIds){
+	public void deleteSpecialty(String ids) {
+		List<Long> specialtyIds = Stream.of(ids.split(",")).map(s -> Long.parseLong(s.trim()))
+				.collect(Collectors.toList());
+		for (Long specialtyId : specialtyIds) {
 			specialtyRepo.delete(specialtyId);
 		}
 	}

+ 0 - 4
examcloud-core-basic-service/src/main/java/cn/com/qmth/examcloud/core/basic/service/impl/StudentServiceImpl.java

@@ -46,9 +46,6 @@ public class StudentServiceImpl implements StudentService {
 	@Autowired
 	OrgRepo orgRepo;
 
-	@Autowired
-	DataSendService dataSendService;
-
 	@Autowired
 	OrgService orgService;
 
@@ -103,7 +100,6 @@ public class StudentServiceImpl implements StudentService {
 					student.setPhotoPath(student.getRootOrgId() + File.separator + "photo"
 							+ File.separator + fileName);
 					studentRepo.save(student);
-					dataSendService.sendStudent(student);
 				}
 			}
 		} else {

+ 1 - 2
examcloud-core-basic-starter/.springBeans

@@ -1,13 +1,12 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <beansProjectDescription>
 	<version>1</version>
-	<pluginVersion><![CDATA[3.9.3.201803200843-RELEASE]]></pluginVersion>
+	<pluginVersion><![CDATA[3.9.4.201804120850-RELEASE]]></pluginVersion>
 	<configSuffixes>
 		<configSuffix><![CDATA[xml]]></configSuffix>
 	</configSuffixes>
 	<enableImports><![CDATA[false]]></enableImports>
 	<configs>
-		<config>java:cn.com.qmth.examcloud.core.basic.starter.CoreBasicApplication</config>
 	</configs>
 	<autoconfigs>
 	</autoconfigs>

+ 4 - 6
examcloud-core-basic-starter/src/main/java/cn/com/qmth/examcloud/core/basic/starter/CoreBasicApp.java

@@ -26,7 +26,6 @@ import org.springframework.web.multipart.commons.CommonsMultipartResolver;
 import com.fasterxml.jackson.annotation.JsonAutoDetect;
 import com.fasterxml.jackson.annotation.PropertyAccessor;
 import com.fasterxml.jackson.databind.ObjectMapper;
-import com.qmth.commons.query.dao.impl.BaseQueryDaoImpl;
 
 import cn.com.qmth.examcloud.commons.base.logging.ExamCloudLog;
 import cn.com.qmth.examcloud.commons.base.logging.ExamCloudLogFactory;
@@ -35,10 +34,9 @@ import cn.com.qmth.examcloud.commons.web.redis.RedisClient;
 import cn.com.qmth.examcloud.commons.web.redis.RedisClientImpl;
 import cn.com.qmth.examcloud.commons.web.support.CustomResponseErrorHandler;
 
-@ComponentScan(basePackages = {"com.qmth.commons", "cn.com.qmth"})
-@EntityScan(basePackages = {"com.qmth.commons", "cn.com.qmth"})
-@EnableJpaRepositories(basePackages = {"com.qmth.commons",
-		"cn.com.qmth"}, repositoryBaseClass = BaseQueryDaoImpl.class)
+@ComponentScan(basePackages = {"cn.com.qmth"})
+@EntityScan(basePackages = {"cn.com.qmth"})
+@EnableJpaRepositories(basePackages = {"cn.com.qmth"})
 @EnableJpaAuditing
 @SpringBootApplication
 @EnableEurekaClient
@@ -93,7 +91,7 @@ public class CoreBasicApp {
 		CommonsMultipartResolver resolver = new CommonsMultipartResolver();
 		resolver.setDefaultEncoding("UTF-8");
 		resolver.setResolveLazily(true);
-		resolver.setMaxInMemorySize(32);
+		resolver.setMaxInMemorySize(2);
 		resolver.setMaxUploadSize(200 * 1024 * 1024);
 		return resolver;
 	}