Joburgess 5 سال پیش
والد
کامیت
131bacd2de

+ 4 - 2
edu-user/edu-user-server/src/main/java/com/keao/edu/user/controller/ExamMusicTheoryController.java

@@ -3,6 +3,7 @@ package com.keao.edu.user.controller;
 import com.keao.edu.common.controller.BaseController;
 import com.keao.edu.common.entity.HttpResponseResult;
 import com.keao.edu.common.page.PageInfo;
+import com.keao.edu.common.tenant.TenantContextHolder;
 import com.keao.edu.user.entity.ExamMusicTheory;
 import com.keao.edu.user.page.ExamMusicTheoryQueryInfo;
 import com.keao.edu.user.service.ExamMusicTheoryService;
@@ -35,6 +36,7 @@ public class ExamMusicTheoryController extends BaseController {
     @ApiOperation("新增")
     @PostMapping(value = "/add")
     public HttpResponseResult add(ExamMusicTheory examMusicTheory) {
+        examMusicTheory.setTenantId(TenantContextHolder.getTenantId().toString());
         examMusicTheoryService.insert(examMusicTheory);
         return succeed();
     }
@@ -56,8 +58,8 @@ public class ExamMusicTheoryController extends BaseController {
 
     @ApiOperation("获取项目乐理级别列表")
     @GetMapping(value = "/getTheoryLevelList")
-    public HttpResponseResult<List<ExamMusicTheory>> getTheoryLevelList(Integer examinationBasicId) {
-        return succeed(examMusicTheoryService.getTheoryLevelList(examinationBasicId));
+    public HttpResponseResult<List<ExamMusicTheory>> getTheoryLevelList(Integer examId) {
+        return succeed(examMusicTheoryService.getTheoryLevelList(examId));
     }
 
 }

+ 2 - 0
edu-user/edu-user-server/src/main/java/com/keao/edu/user/dao/ExamMusicTheoryDao.java

@@ -8,6 +8,8 @@ import java.util.List;
 
 public interface ExamMusicTheoryDao extends BaseDAO<Integer, ExamMusicTheory> {
 
+    int batchInsert(@Param("emts") List<ExamMusicTheory> examMusicTheories);
+
     /**
      * 获取项目乐理级别列表
      * @param examinationBasicId

+ 5 - 0
edu-user/edu-user-server/src/main/java/com/keao/edu/user/dao/MusicTheoryDao.java

@@ -2,6 +2,9 @@ package com.keao.edu.user.dao;
 
 import com.keao.edu.common.dal.BaseDAO;
 import com.keao.edu.user.entity.MusicTheory;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
 
 /**
  * @author: wangyp
@@ -10,4 +13,6 @@ import com.keao.edu.user.entity.MusicTheory;
  */
 public interface MusicTheoryDao extends BaseDAO<Integer, MusicTheory> {
 
+    List<MusicTheory> getWithTenant(@Param("tenantId") Integer tenantId);
+
 }

+ 8 - 8
edu-user/edu-user-server/src/main/java/com/keao/edu/user/entity/ExamMusicTheory.java

@@ -20,7 +20,7 @@ public class ExamMusicTheory {
 	private java.math.BigDecimal fee;
 	
 	/**  */
-	private Integer tenantId;
+	private String tenantId;
 	
 	/**  */
 	private java.util.Date createTime;
@@ -59,15 +59,15 @@ public class ExamMusicTheory {
 	public java.math.BigDecimal getFee(){
 		return this.fee;
 	}
-			
-	public void setTenantId(Integer tenantId){
-		this.tenantId = tenantId;
+
+	public String getTenantId() {
+		return tenantId;
 	}
-	
-	public Integer getTenantId(){
-		return this.tenantId;
+
+	public void setTenantId(String tenantId) {
+		this.tenantId = tenantId;
 	}
-			
+
 	public void setCreateTime(java.util.Date createTime){
 		this.createTime = createTime;
 	}

+ 10 - 0
edu-user/edu-user-server/src/main/java/com/keao/edu/user/service/impl/ExamMusicTheoryServiceImpl.java

@@ -1,6 +1,7 @@
 package com.keao.edu.user.service.impl;
 
 import com.keao.edu.common.dal.BaseDAO;
+import com.keao.edu.common.exception.BizException;
 import com.keao.edu.common.service.impl.BaseServiceImpl;
 import com.keao.edu.user.dao.ExamMusicTheoryDao;
 import com.keao.edu.user.entity.ExamMusicTheory;
@@ -9,6 +10,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.util.List;
+import java.util.Objects;
 
 @Service
 public class ExamMusicTheoryServiceImpl extends BaseServiceImpl<Integer, ExamMusicTheory> implements ExamMusicTheoryService {
@@ -25,4 +27,12 @@ public class ExamMusicTheoryServiceImpl extends BaseServiceImpl<Integer, ExamMus
     public List<ExamMusicTheory> getTheoryLevelList(Integer examinationBasicId) {
         return examMusicTheoryDao.getTheoryLevelList(examinationBasicId);
     }
+
+    @Override
+    public long insert(ExamMusicTheory examMusicTheory) {
+        if(Objects.isNull(examMusicTheory.getExaminationBasicId())){
+            throw new BizException("请指定考级项目");
+        }
+        return super.insert(examMusicTheory);
+    }
 }

+ 3 - 2
edu-user/edu-user-server/src/main/java/com/keao/edu/user/service/impl/ExamSubjectSongServiceImpl.java

@@ -82,12 +82,13 @@ public class ExamSubjectSongServiceImpl extends BaseServiceImpl<Long, ExamSubjec
 			if(Objects.isNull(examSubjectSong.getRegistrationFee())){
 				throw new BizException("请指定报名费用");
 			}
+
+			examSubjectSong.setTenantId(TenantContextHolder.getTenantId().toString());
+
 			if(existSubjectIds.contains(examSubjectSong.getExamSubjectId().longValue())){
 				continue;
 			}
 
-			examSubjectSong.setTenantId(TenantContextHolder.getTenantId().toString());
-
 			ExamSubject newExamSubject=new ExamSubject();
 			newExamSubject.setExaminationBasicId(examSubjectSong.getExaminationBasicId());
 			newExamSubject.setTenantId(examSubjectSong.getTenantId());

+ 34 - 2
edu-user/edu-user-server/src/main/java/com/keao/edu/user/service/impl/ExaminationBasicServiceImpl.java

@@ -5,16 +5,21 @@ import com.keao.edu.common.exception.BizException;
 import com.keao.edu.common.page.PageInfo;
 import com.keao.edu.common.service.impl.BaseServiceImpl;
 import com.keao.edu.common.tenant.TenantContextHolder;
+import com.keao.edu.user.dao.ExamMusicTheoryDao;
 import com.keao.edu.user.dao.ExamOrganizationRelationDao;
 import com.keao.edu.user.dao.ExaminationBasicDao;
+import com.keao.edu.user.dao.MusicTheoryDao;
 import com.keao.edu.user.dto.ExaminationBasicDto;
+import com.keao.edu.user.entity.ExamMusicTheory;
 import com.keao.edu.user.entity.ExamOrganizationRelation;
 import com.keao.edu.user.entity.ExaminationBasic;
 import com.keao.edu.user.api.enums.ExamModeEnum;
+import com.keao.edu.user.entity.MusicTheory;
 import com.keao.edu.user.enums.ExamStatusEnum;
 import com.keao.edu.user.page.ExaminationQueryInfo;
 import com.keao.edu.user.service.ExaminationBasicService;
 import com.keao.edu.util.collection.MapUtil;
+import org.apache.commons.beanutils.BeanUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -31,6 +36,10 @@ public class ExaminationBasicServiceImpl extends BaseServiceImpl<Long, Examinati
 	private ExaminationBasicDao examinationBasicDao;
 	@Autowired
 	private ExamOrganizationRelationDao examOrganizationRelationDao;
+	@Autowired
+	private MusicTheoryDao musicTheoryDao;
+	@Autowired
+	private ExamMusicTheoryDao examMusicTheoryDao;
 
 	@Override
 	public BaseDAO<Long, ExaminationBasic> getDAO() {
@@ -51,9 +60,29 @@ public class ExaminationBasicServiceImpl extends BaseServiceImpl<Long, Examinati
 		if(Objects.isNull(examinationBasic.getEnrollStartTime())||Objects.isNull(examinationBasic.getEnrollEndTime())){
 			throw new BizException("请指定考试开始与结束时间");
 		}
-		examinationBasic.setStatus(ExamStatusEnum.SETTING);
+
 		examinationBasic.setTenantId(TenantContextHolder.getTenantId().toString());
+
+		List<MusicTheory> musicTheories = musicTheoryDao.getWithTenant(Integer.valueOf(examinationBasic.getTenantId()));
+		if(CollectionUtils.isEmpty(musicTheories)){
+			throw new BizException("请设置乐理");
+		}
+
+		examinationBasic.setStatus(ExamStatusEnum.SETTING);
 		examinationBasicDao.insert(examinationBasic);
+
+		List<ExamMusicTheory> examMusicTheories=new ArrayList<>();
+		for (MusicTheory musicTheory : musicTheories) {
+			ExamMusicTheory emt=new ExamMusicTheory();
+			emt.setExaminationBasicId(examinationBasic.getId());
+			emt.setTenantId(examinationBasic.getTenantId());
+			emt.setLevel(musicTheory.getLevel());
+			emt.setFee(musicTheory.getFee());
+			examMusicTheories.add(emt);
+		}
+
+		examMusicTheoryDao.batchInsert(examMusicTheories);
+
 		return examinationBasic;
 	}
 
@@ -91,7 +120,10 @@ public class ExaminationBasicServiceImpl extends BaseServiceImpl<Long, Examinati
 			params.put("offset", pageInfo.getOffset());
 			dataList = examinationBasicDao.findExaminationBasics(params);
 			List<Integer> examIds = dataList.stream().map(ExaminationBasicDto::getId).collect(Collectors.toList());
-			List<ExamOrganizationRelation> examOrgans = examOrganizationRelationDao.getWithExams(examIds);
+			List<ExamOrganizationRelation> examOrgans = new ArrayList<>();
+			if(!CollectionUtils.isEmpty(examIds)){
+				examOrganizationRelationDao.getWithExams(examIds);
+			}
 			Map<Integer, List<ExamOrganizationRelation>> examOrgansMap = new HashMap<>();
 			if(!CollectionUtils.isEmpty(examOrgans)){
 				examOrgansMap = examOrgans.stream().collect(Collectors.groupingBy(ExamOrganizationRelation::getExaminationBasicId));

+ 8 - 0
edu-user/edu-user-server/src/main/resources/config/mybatis/ExamMusicTheoryMapper.xml

@@ -36,6 +36,14 @@
 		INSERT INTO exam_music_theory (id_,examination_basic_id_,level_,fee_,tenant_id_,create_time_,update_time_)
 		VALUES(#{id},#{examinationBasicId},#{level},#{fee},#{tenantId},NOW(),NOW())
 	</insert>
+
+	<insert id="batchInsert" parameterType="com.keao.edu.user.entity.ExamMusicTheory" useGeneratedKeys="true" keyColumn="id" keyProperty="id">
+		INSERT INTO exam_music_theory (examination_basic_id_,level_,fee_,tenant_id_,create_time_,update_time_)
+		VALUES
+		<foreach collection="emts" item="emt" separator=",">
+			(#{emt.examinationBasicId},#{emt.level},#{emt.fee},#{emt.tenantId},NOW(),NOW())
+		</foreach>
+	</insert>
 	
 	<!-- 根据主键查询一条记录 -->
 	<update id="update" parameterType="com.keao.edu.user.entity.ExamMusicTheory">

+ 1 - 0
edu-user/edu-user-server/src/main/resources/config/mybatis/ExaminationBasicMapper.xml

@@ -175,6 +175,7 @@
 	<select id="findExaminationBasics" resultMap="ExaminationBasicDto" parameterType="map">
 		SELECT * FROM examination_basic
 		<include refid="queryCondition"/>
+		ORDER BY id_ DESC
 		<include refid="global.limit"/>
 	</select>
 

+ 4 - 0
edu-user/edu-user-server/src/main/resources/config/mybatis/MusicTheoryMapper.xml

@@ -88,4 +88,8 @@
 		SELECT COUNT(*) FROM music_theory
 		<include refid="queryCondition"/>
 	</select>
+
+	<select id="getWithTenant" resultMap="MusicTheory">
+		SELECT * FROM music_theory WHERE tenant_id_=#{tenantId}
+	</select>
 </mapper>