Forráskód Böngészése

Merge branch 'network_room_music_scode_apeed' of http://git.dayaedu.com/yonge/mec

zouxuan 4 éve
szülő
commit
beabd1532a

+ 4 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/StudentPreRegistrationDao.java

@@ -26,6 +26,10 @@ public interface StudentPreRegistrationDao extends BaseDAO<Long, StudentPreRegis
 
 
 	List<Mapper> querySecondSubjectNum(String musicGroupId);
 	List<Mapper> querySecondSubjectNum(String musicGroupId);
 
 
+	List<Mapper> queryTeacherRecommandSubjectNum(String musicGroupId);
+
+	List<Mapper> querySelectionSubjectNum(String musicGroupId);
+
 	/**
 	/**
 	 * 获取乐团预报名人数
 	 * 获取乐团预报名人数
 	 * @param musicGroupIds
 	 * @param musicGroupIds

+ 12 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/MusicGroupSubjectGoodsAndInfoDto.java

@@ -3,10 +3,11 @@ package com.ym.mec.biz.dal.dto;
 import io.swagger.annotations.ApiModelProperty;
 import io.swagger.annotations.ApiModelProperty;
 
 
 import java.math.BigDecimal;
 import java.math.BigDecimal;
-import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
 import java.util.List;
 import java.util.Map;
 import java.util.Map;
 
 
+import com.ym.mec.biz.dal.entity.CourseSchedule.CourseScheduleType;
 import com.ym.mec.biz.dal.entity.Goods;
 import com.ym.mec.biz.dal.entity.Goods;
 import com.ym.mec.biz.dal.entity.MemberPrivilegesItem;
 import com.ym.mec.biz.dal.entity.MemberPrivilegesItem;
 import com.ym.mec.biz.dal.entity.MusicGroup;
 import com.ym.mec.biz.dal.entity.MusicGroup;
@@ -51,6 +52,8 @@ public class MusicGroupSubjectGoodsAndInfoDto {
     private List<MemberPrivilegesItem> memberPrivilegesItemList;
     private List<MemberPrivilegesItem> memberPrivilegesItemList;
     
     
     private List<StudentPaymentOrderDetail> studentPaymentOrderDetailList;
     private List<StudentPaymentOrderDetail> studentPaymentOrderDetailList;
+    
+    private Map<CourseScheduleType, BigDecimal> memberCoursePrice = new HashMap<CourseScheduleType, BigDecimal>();
 
 
     public Map getCourseScheduleInfo() {
     public Map getCourseScheduleInfo() {
         return CourseScheduleInfo;
         return CourseScheduleInfo;
@@ -139,4 +142,12 @@ public class MusicGroupSubjectGoodsAndInfoDto {
 	public void setStudentPaymentOrderDetailList(List<StudentPaymentOrderDetail> studentPaymentOrderDetailList) {
 	public void setStudentPaymentOrderDetailList(List<StudentPaymentOrderDetail> studentPaymentOrderDetailList) {
 		this.studentPaymentOrderDetailList = studentPaymentOrderDetailList;
 		this.studentPaymentOrderDetailList = studentPaymentOrderDetailList;
 	}
 	}
+
+	public Map<CourseScheduleType, BigDecimal> getMemberCoursePrice() {
+		return memberCoursePrice;
+	}
+
+	public void setMemberCoursePrice(Map<CourseScheduleType, BigDecimal> memberCoursePrice) {
+		this.memberCoursePrice = memberCoursePrice;
+	}
 }
 }

+ 21 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/PreRegisterSubjectDto.java

@@ -5,8 +5,12 @@ public class PreRegisterSubjectDto {
 	private String subjectName;
 	private String subjectName;
 	
 	
 	private int firstSubjectNum;
 	private int firstSubjectNum;
-	
+
 	private int secondSubjectNum;
 	private int secondSubjectNum;
+	
+	private int teacherRecommandSubjectNum;
+	
+	private int selectionSubjectNum;
 
 
 	public String getSubjectName() {
 	public String getSubjectName() {
 		return subjectName;
 		return subjectName;
@@ -31,4 +35,20 @@ public class PreRegisterSubjectDto {
 	public void setSecondSubjectNum(int secondSubjectNum) {
 	public void setSecondSubjectNum(int secondSubjectNum) {
 		this.secondSubjectNum = secondSubjectNum;
 		this.secondSubjectNum = secondSubjectNum;
 	}
 	}
+
+	public int getTeacherRecommandSubjectNum() {
+		return teacherRecommandSubjectNum;
+	}
+
+	public void setTeacherRecommandSubjectNum(int teacherRecommandSubjectNum) {
+		this.teacherRecommandSubjectNum = teacherRecommandSubjectNum;
+	}
+
+	public int getSelectionSubjectNum() {
+		return selectionSubjectNum;
+	}
+
+	public void setSelectionSubjectNum(int selectionSubjectNum) {
+		this.selectionSubjectNum = selectionSubjectNum;
+	}
 }
 }

+ 20 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/StudentPreRegistrationDto.java

@@ -9,6 +9,10 @@ public class StudentPreRegistrationDto extends StudentPreRegistration {
 	private String subjectFirstName;
 	private String subjectFirstName;
 	
 	
 	private String subjectSecondName;
 	private String subjectSecondName;
+	
+	private String teacherRecommandSubjectName;
+	
+	private String selectionSubjectName;
 
 
 	public boolean getIsRegistered() {
 	public boolean getIsRegistered() {
 		return isRegistered;
 		return isRegistered;
@@ -33,4 +37,20 @@ public class StudentPreRegistrationDto extends StudentPreRegistration {
 	public void setSubjectSecondName(String subjectSecondName) {
 	public void setSubjectSecondName(String subjectSecondName) {
 		this.subjectSecondName = subjectSecondName;
 		this.subjectSecondName = subjectSecondName;
 	}
 	}
+
+	public String getTeacherRecommandSubjectName() {
+		return teacherRecommandSubjectName;
+	}
+
+	public void setTeacherRecommandSubjectName(String teacherRecommandSubjectName) {
+		this.teacherRecommandSubjectName = teacherRecommandSubjectName;
+	}
+
+	public String getSelectionSubjectName() {
+		return selectionSubjectName;
+	}
+
+	public void setSelectionSubjectName(String selectionSubjectName) {
+		this.selectionSubjectName = selectionSubjectName;
+	}
 }
 }

+ 10 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/MusicGroup.java

@@ -186,6 +186,8 @@ public class MusicGroup {
 	private Integer cloudTeacherType;
 	private Integer cloudTeacherType;
 	
 	
 	private Integer musicalInstrumentsProvideStatus;
 	private Integer musicalInstrumentsProvideStatus;
+	
+	private Boolean memberCourseShowFlag;
 
 
 	@ApiModelProperty(value = "作业是否发送消息",required = true)
 	@ApiModelProperty(value = "作业是否发送消息",required = true)
 	private Integer homeworkPushFlag = 1;
 	private Integer homeworkPushFlag = 1;
@@ -655,4 +657,12 @@ public class MusicGroup {
 	public void setMusicalInstrumentsProvideStatus(Integer musicalInstrumentsProvideStatus) {
 	public void setMusicalInstrumentsProvideStatus(Integer musicalInstrumentsProvideStatus) {
 		this.musicalInstrumentsProvideStatus = musicalInstrumentsProvideStatus;
 		this.musicalInstrumentsProvideStatus = musicalInstrumentsProvideStatus;
 	}
 	}
+
+	public Boolean getMemberCourseShowFlag() {
+		return memberCourseShowFlag;
+	}
+
+	public void setMemberCourseShowFlag(Boolean memberCourseShowFlag) {
+		this.memberCourseShowFlag = memberCourseShowFlag;
+	}
 }
 }

+ 22 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/StudentPreRegistration.java

@@ -39,6 +39,12 @@ public class StudentPreRegistration {
 	/** 第二专业 */
 	/** 第二专业 */
 	private Integer subjectSecond;
 	private Integer subjectSecond;
 	
 	
+	/** 老师推荐声部 */
+	private Integer teacherRecommandSubjectId;
+	
+	/** 选报声部 */
+	private Integer selectionSubjectId;
+	
 	/** 是否允许调剂 */
 	/** 是否允许调剂 */
 	private boolean isAllowAdjust;
 	private boolean isAllowAdjust;
 	
 	
@@ -131,6 +137,22 @@ public class StudentPreRegistration {
 		return this.subjectSecond;
 		return this.subjectSecond;
 	}
 	}
 			
 			
+	public Integer getTeacherRecommandSubjectId() {
+		return teacherRecommandSubjectId;
+	}
+
+	public void setTeacherRecommandSubjectId(Integer teacherRecommandSubjectId) {
+		this.teacherRecommandSubjectId = teacherRecommandSubjectId;
+	}
+
+	public Integer getSelectionSubjectId() {
+		return selectionSubjectId;
+	}
+
+	public void setSelectionSubjectId(Integer selectionSubjectId) {
+		this.selectionSubjectId = selectionSubjectId;
+	}
+
 	public void setIsAllowAdjust(boolean isAllowAdjust){
 	public void setIsAllowAdjust(boolean isAllowAdjust){
 		this.isAllowAdjust = isAllowAdjust;
 		this.isAllowAdjust = isAllowAdjust;
 	}
 	}

+ 20 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupSubjectPlanServiceImpl.java

@@ -2,6 +2,7 @@ package com.ym.mec.biz.service.impl;
 
 
 import java.math.BigDecimal;
 import java.math.BigDecimal;
 import java.util.Date;
 import java.util.Date;
+import java.util.HashMap;
 import java.util.List;
 import java.util.List;
 import java.util.Map;
 import java.util.Map;
 
 
@@ -25,6 +26,7 @@ import com.ym.mec.biz.dal.dto.MusicGroupGoodsAndDiscountDto;
 import com.ym.mec.biz.dal.dto.MusicGroupRegRespDto;
 import com.ym.mec.biz.dal.dto.MusicGroupRegRespDto;
 import com.ym.mec.biz.dal.dto.MusicGroupSubjectGoodsAndInfoDto;
 import com.ym.mec.biz.dal.dto.MusicGroupSubjectGoodsAndInfoDto;
 import com.ym.mec.biz.dal.entity.ChargeTypeSubjectMapper;
 import com.ym.mec.biz.dal.entity.ChargeTypeSubjectMapper;
+import com.ym.mec.biz.dal.entity.CourseSchedule.CourseScheduleType;
 import com.ym.mec.biz.dal.entity.Goods;
 import com.ym.mec.biz.dal.entity.Goods;
 import com.ym.mec.biz.dal.entity.MusicGroup;
 import com.ym.mec.biz.dal.entity.MusicGroup;
 import com.ym.mec.biz.dal.entity.MusicGroupPaymentCalender;
 import com.ym.mec.biz.dal.entity.MusicGroupPaymentCalender;
@@ -32,6 +34,7 @@ import com.ym.mec.biz.dal.entity.MusicGroupPaymentCalenderCourseSettings;
 import com.ym.mec.biz.dal.entity.MusicGroupSubjectGoodsGroup;
 import com.ym.mec.biz.dal.entity.MusicGroupSubjectGoodsGroup;
 import com.ym.mec.biz.dal.entity.MusicGroupSubjectPlan;
 import com.ym.mec.biz.dal.entity.MusicGroupSubjectPlan;
 import com.ym.mec.biz.dal.entity.OrganizationCloudTeacherFee;
 import com.ym.mec.biz.dal.entity.OrganizationCloudTeacherFee;
+import com.ym.mec.biz.dal.entity.OrganizationCourseUnitPriceSettings;
 import com.ym.mec.biz.dal.entity.Subject;
 import com.ym.mec.biz.dal.entity.Subject;
 import com.ym.mec.biz.dal.enums.CourseViewTypeEnum;
 import com.ym.mec.biz.dal.enums.CourseViewTypeEnum;
 import com.ym.mec.biz.dal.enums.DealStatusEnum;
 import com.ym.mec.biz.dal.enums.DealStatusEnum;
@@ -41,6 +44,7 @@ import com.ym.mec.biz.service.MemberRankPrivilegesService;
 import com.ym.mec.biz.service.MusicGroupService;
 import com.ym.mec.biz.service.MusicGroupService;
 import com.ym.mec.biz.service.MusicGroupSubjectGoodsGroupService;
 import com.ym.mec.biz.service.MusicGroupSubjectGoodsGroupService;
 import com.ym.mec.biz.service.MusicGroupSubjectPlanService;
 import com.ym.mec.biz.service.MusicGroupSubjectPlanService;
+import com.ym.mec.biz.service.OrganizationCourseUnitPriceSettingsService;
 import com.ym.mec.biz.service.StudentRegistrationService;
 import com.ym.mec.biz.service.StudentRegistrationService;
 import com.ym.mec.biz.service.SubjectService;
 import com.ym.mec.biz.service.SubjectService;
 import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.common.dal.BaseDAO;
@@ -83,6 +87,9 @@ public class MusicGroupSubjectPlanServiceImpl extends BaseServiceImpl<Integer, M
 	@Autowired
 	@Autowired
 	private MemberRankPrivilegesService memberRankPrivilegesService;
 	private MemberRankPrivilegesService memberRankPrivilegesService;
 	
 	
+	@Autowired
+	private OrganizationCourseUnitPriceSettingsService organizationCourseUnitPriceSettingsService;
+	
     @Resource
     @Resource
     private SysUserFeignService sysUserFeignService;
     private SysUserFeignService sysUserFeignService;
 
 
@@ -176,6 +183,19 @@ public class MusicGroupSubjectPlanServiceImpl extends BaseServiceImpl<Integer, M
 			} else{
 			} else{
 				musicGroupSubjectGoodsAndInfo.setMemberPrivilegesItemList(memberRankPrivilegesService.queryByMemberRankId(1));
 				musicGroupSubjectGoodsAndInfo.setMemberPrivilegesItemList(memberRankPrivilegesService.queryByMemberRankId(1));
 			}
 			}
+			
+			Map<CourseScheduleType, BigDecimal> memberCoursePrice = new HashMap<CourseScheduleType, BigDecimal>();
+			
+			OrganizationCourseUnitPriceSettings singleUnitPriceSettings = organizationCourseUnitPriceSettingsService.queryByOrganIdAndCourseTypeAndChargeType(musicGroup.getOrganId(), CourseScheduleType.SINGLE, musicGroup.getChargeTypeId());
+			if (singleUnitPriceSettings != null) {
+				memberCoursePrice.put(CourseScheduleType.SINGLE,
+						singleUnitPriceSettings.getUnitPrice().multiply(new BigDecimal(1980)).setScale(0, BigDecimal.ROUND_HALF_UP));
+			}
+			OrganizationCourseUnitPriceSettings mixUnitPriceSettings = organizationCourseUnitPriceSettingsService.queryByOrganIdAndCourseTypeAndChargeType(musicGroup.getOrganId(), CourseScheduleType.MIX, musicGroup.getChargeTypeId());
+			if (mixUnitPriceSettings != null) {
+				memberCoursePrice.put(CourseScheduleType.MIX,
+						mixUnitPriceSettings.getUnitPrice().multiply(new BigDecimal(1980)).setScale(0, BigDecimal.ROUND_HALF_UP));
+			}
 		}
 		}
 		
 		
 		// 查询已购买内容
 		// 查询已购买内容

+ 16 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentPreRegistrationServiceImpl.java

@@ -58,6 +58,8 @@ public class StudentPreRegistrationServiceImpl extends BaseServiceImpl<Long, Stu
 		Set<String> subjectNames = new HashSet<String>();
 		Set<String> subjectNames = new HashSet<String>();
 		Map<String, Integer> firstMap = new HashMap<String, Integer>();
 		Map<String, Integer> firstMap = new HashMap<String, Integer>();
 		Map<String, Integer> secondMap = new HashMap<String, Integer>();
 		Map<String, Integer> secondMap = new HashMap<String, Integer>();
+		Map<String, Integer> teacherRecommandMap = new HashMap<String, Integer>();
+		Map<String, Integer> selectionMap = new HashMap<String, Integer>();
 
 
 		List<Mapper> firstMapperList = studentPreRegistrationDao.queryFirstSubjectNum(musicGroupId);
 		List<Mapper> firstMapperList = studentPreRegistrationDao.queryFirstSubjectNum(musicGroupId);
 		for (Mapper mapper : firstMapperList) {
 		for (Mapper mapper : firstMapperList) {
@@ -71,12 +73,26 @@ public class StudentPreRegistrationServiceImpl extends BaseServiceImpl<Long, Stu
 			subjectNames.add(String.valueOf(mapper.getKey()));
 			subjectNames.add(String.valueOf(mapper.getKey()));
 		}
 		}
 
 
+		List<Mapper> teacherRecommandMapperList = studentPreRegistrationDao.queryTeacherRecommandSubjectNum(musicGroupId);
+		for (Mapper mapper : teacherRecommandMapperList) {
+			teacherRecommandMap.put(String.valueOf(mapper.getKey()), Integer.parseInt(mapper.getValue().toString()));
+			subjectNames.add(String.valueOf(mapper.getKey()));
+		}
+
+		List<Mapper> selectionMapperList = studentPreRegistrationDao.querySelectionSubjectNum(musicGroupId);
+		for (Mapper mapper : selectionMapperList) {
+			selectionMap.put(String.valueOf(mapper.getKey()), Integer.parseInt(mapper.getValue().toString()));
+			subjectNames.add(String.valueOf(mapper.getKey()));
+		}
+
 		List<PreRegisterSubjectDto> list = new ArrayList<PreRegisterSubjectDto>();
 		List<PreRegisterSubjectDto> list = new ArrayList<PreRegisterSubjectDto>();
 		for (String subjectName : subjectNames) {
 		for (String subjectName : subjectNames) {
 			PreRegisterSubjectDto dto = new PreRegisterSubjectDto();
 			PreRegisterSubjectDto dto = new PreRegisterSubjectDto();
 			dto.setSubjectName(subjectName);
 			dto.setSubjectName(subjectName);
 			dto.setFirstSubjectNum(firstMap.get(subjectName) == null ? 0 : firstMap.get(subjectName));
 			dto.setFirstSubjectNum(firstMap.get(subjectName) == null ? 0 : firstMap.get(subjectName));
 			dto.setSecondSubjectNum(secondMap.get(subjectName) == null ? 0 : secondMap.get(subjectName));
 			dto.setSecondSubjectNum(secondMap.get(subjectName) == null ? 0 : secondMap.get(subjectName));
+			dto.setTeacherRecommandSubjectNum(teacherRecommandMap.get(subjectName) == null ? 0 : teacherRecommandMap.get(subjectName));
+			dto.setSelectionSubjectNum(selectionMap.get(subjectName) == null ? 0 : selectionMap.get(subjectName));
 
 
 			list.add(dto);
 			list.add(dto);
 		}
 		}

+ 4 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentRepairServiceImpl.java

@@ -641,7 +641,10 @@ public class StudentRepairServiceImpl extends BaseServiceImpl<Integer, StudentRe
         studentRepairDao.update(studentRepair);
         studentRepairDao.update(studentRepair);
 
 
         String channelType = "";
         String channelType = "";
-        List<Integer> couponIdList = Arrays.stream(studentRepair.getCouponIds().split(",")).mapToInt(Integer::valueOf).boxed().collect(Collectors.toList());
+        List<Integer> couponIdList = new ArrayList<>();
+        if(StringUtils.isNotEmpty(studentRepair.getCouponIds())){
+            couponIdList = Arrays.stream(studentRepair.getCouponIds().split(",")).mapToInt(Integer::valueOf).boxed().collect(Collectors.toList());
+        }
         StudentPaymentOrder studentPaymentOrder = sysCouponCodeService.use(couponIdList,amount,true);
         StudentPaymentOrder studentPaymentOrder = sysCouponCodeService.use(couponIdList,amount,true);
         amount = studentPaymentOrder.getActualAmount();
         amount = studentPaymentOrder.getActualAmount();
         studentPaymentOrder.setUserId(studentRepair.getStudentId());
         studentPaymentOrder.setUserId(studentRepair.getStudentId());

+ 6 - 2
mec-biz/src/main/resources/config/mybatis/MusicGroupMapper.xml

@@ -45,6 +45,7 @@
                 typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
                 typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
         <result column="is_show_record_of_student_" property="isShowRecordOfStudent"/>
         <result column="is_show_record_of_student_" property="isShowRecordOfStudent"/>
         <result column="musical_instruments_provide_status_" property="musicalInstrumentsProvideStatus"/>
         <result column="musical_instruments_provide_status_" property="musicalInstrumentsProvideStatus"/>
+        <result column="member_course_show_flag_" property="memberCourseShowFlag"/>
         <result column="homework_push_flag_" property="homeworkPushFlag"/>
         <result column="homework_push_flag_" property="homeworkPushFlag"/>
     </resultMap>
     </resultMap>
     
     
@@ -105,7 +106,7 @@
                  settlement_type_, cooperation_organ_id_, enlightenment_course_time_,
                  settlement_type_, cooperation_organ_id_, enlightenment_course_time_,
                  parent_meeting_time_, img_, director_user_id_, is_classroom_lessons_, memo_, expect_start_group_date_,
                  parent_meeting_time_, img_, director_user_id_, is_classroom_lessons_, memo_, expect_start_group_date_,
                  ownership_type_, repair_user_id_, del_flag_, payment_valid_start_date_, payment_valid_end_date_,
                  ownership_type_, repair_user_id_, del_flag_, payment_valid_start_date_, payment_valid_end_date_,
-                 payment_pattern_, course_view_type_, transaction_teacher_id_,homework_push_flag_)
+                 payment_pattern_, course_view_type_, transaction_teacher_id_,homework_push_flag_,member_course_show_flag_)
         VALUES (#{id}, #{name}, #{organId}, #{schoolId}, #{applyExpireDate}, #{preApplyExpireDate}, #{teamTeacherId},
         VALUES (#{id}, #{name}, #{organId}, #{schoolId}, #{applyExpireDate}, #{preApplyExpireDate}, #{teamTeacherId},
                 #{educationalTeacherId},
                 #{educationalTeacherId},
                 #{chargeTypeId}, #{courseForm}, now(), now(),
                 #{chargeTypeId}, #{courseForm}, now(), now(),
@@ -117,7 +118,7 @@
                 #{isClassroomLessons}, #{memo}, #{expectStartGroupDate},
                 #{isClassroomLessons}, #{memo}, #{expectStartGroupDate},
                 #{ownershipType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}, #{repairUserId},
                 #{ownershipType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}, #{repairUserId},
                 #{delFlag}, #{paymentValidStartDate}, #{paymentValidEndDate}, #{paymentPattern},
                 #{delFlag}, #{paymentValidStartDate}, #{paymentValidEndDate}, #{paymentPattern},
-                #{courseViewType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}, #{transactionTeacherId},#{homeworkPushFlag})
+                #{courseViewType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}, #{transactionTeacherId},#{homeworkPushFlag},#{memberCourseShowFlag})
     </insert>
     </insert>
 
 
     <!-- 根据主键查询一条记录 -->
     <!-- 根据主键查询一条记录 -->
@@ -223,6 +224,9 @@
             <if test="musicalInstrumentsProvideStatus != null">
             <if test="musicalInstrumentsProvideStatus != null">
                 musical_instruments_provide_status_ = #{musicalInstrumentsProvideStatus},
                 musical_instruments_provide_status_ = #{musicalInstrumentsProvideStatus},
             </if>
             </if>
+            <if test="memberCourseShowFlag != null">
+                member_course_show_flag_ = #{memberCourseShowFlag},
+            </if>
         </set>
         </set>
         WHERE id_ = #{id}
         WHERE id_ = #{id}
     </update>
     </update>

+ 33 - 5
mec-biz/src/main/resources/config/mybatis/StudentPreRegistrationMapper.xml

@@ -18,6 +18,8 @@
         <result column="current_class_" property="currentClass"/>
         <result column="current_class_" property="currentClass"/>
         <result column="subject_first_" property="subjectFirst"/>
         <result column="subject_first_" property="subjectFirst"/>
         <result column="subject_second_" property="subjectSecond"/>
         <result column="subject_second_" property="subjectSecond"/>
+        <result column="teacher_recommand_subject_id_" property="teacherRecommandSubjectId"/>
+        <result column="selection_subject_id_" property="selectionSubjectId"/>
         <result column="is_allow_adjust_" property="isAllowAdjust"/>
         <result column="is_allow_adjust_" property="isAllowAdjust"/>
         <result column="kit_purchase_method_" property="kitPurchaseMethod"/>
         <result column="kit_purchase_method_" property="kitPurchaseMethod"/>
         <result column="cloud_teacher_method_" property="cloudTeacherMethod"/>
         <result column="cloud_teacher_method_" property="cloudTeacherMethod"/>
@@ -29,6 +31,8 @@
                extends="StudentPreRegistration">
                extends="StudentPreRegistration">
         <result column="subject_first_name_" property="subjectFirstName"/>
         <result column="subject_first_name_" property="subjectFirstName"/>
         <result column="subject_second_name_" property="subjectSecondName"/>
         <result column="subject_second_name_" property="subjectSecondName"/>
+        <result column="teacher_recommand_subject_name_" property="teacherRecommandSubjectName"/>
+        <result column="selection_subject_name_" property="selectionSubjectName"/>
         <result column="is_registered_" property="isRegistered"/>
         <result column="is_registered_" property="isRegistered"/>
     </resultMap>
     </resultMap>
 
 
@@ -84,8 +88,8 @@
         </selectKey>
         </selectKey>
         -->
         -->
         INSERT INTO student_pre_registration
         INSERT INTO student_pre_registration
-        (id_,music_group_id_,user_id_,phone_,user_name_,gender_,current_grade_,current_grade_num_,current_class_,subject_first_,subject_second_,is_allow_adjust_,kit_purchase_method_,cloud_teacher_method_,create_time_)
-        VALUES(#{id},#{musicGroupId},#{userId},#{phone},#{userName},#{gender},#{currentGrade},#{currentGradeNum},#{currentClass},#{subjectFirst},#{subjectSecond},#{isAllowAdjust},#{kitPurchaseMethod},#{cloudTeacherMethod},#{createTime})
+        (id_,music_group_id_,user_id_,phone_,user_name_,gender_,current_grade_,current_grade_num_,current_class_,subject_first_,subject_second_,teacher_recommand_subject_id_,selection_subject_id_,is_allow_adjust_,kit_purchase_method_,cloud_teacher_method_,create_time_)
+        VALUES(#{id},#{musicGroupId},#{userId},#{phone},#{userName},#{gender},#{currentGrade},#{currentGradeNum},#{currentClass},#{subjectFirst},#{subjectSecond},#{teacherRecommandSubjectId},#{selectionSubjectId},#{isAllowAdjust},#{kitPurchaseMethod},#{cloudTeacherMethod},#{createTime})
     </insert>
     </insert>
 
 
     <!-- 根据主键查询一条记录 -->
     <!-- 根据主键查询一条记录 -->
@@ -122,6 +126,12 @@
             <if test="subjectSecond != null">
             <if test="subjectSecond != null">
                 subject_second_ = #{subjectSecond},
                 subject_second_ = #{subjectSecond},
             </if>
             </if>
+            <if test="teacherRecommandSubjectId != null">
+                teacher_recommand_subject_id_ = #{teacherRecommandSubjectId},
+            </if>
+            <if test="selectionSubjectId != null">
+                selection_subject_id_ = #{selectionSubjectId},
+            </if>
             <if test="currentClass != null">
             <if test="currentClass != null">
                 current_class_ = #{currentClass},
                 current_class_ = #{currentClass},
             </if>
             </if>
@@ -151,9 +161,11 @@
     <!-- 分页查询 -->
     <!-- 分页查询 -->
     <select id="queryListForPage" resultMap="StudentPreRegistrationDto" parameterType="map">
     <select id="queryListForPage" resultMap="StudentPreRegistrationDto" parameterType="map">
         SELECT spr.*,case when sr.id_ is null then false else true end is_registered_,s1.name_
         SELECT spr.*,case when sr.id_ is null then false else true end is_registered_,s1.name_
-        subject_first_name_,s2.name_ subject_second_name_ FROM student_pre_registration spr
+        subject_first_name_,s2.name_ subject_second_name_,s3.name_ teacher_recommand_subject_name_,s4.name_ selection_subject_name_ FROM student_pre_registration spr
         left join subject s1 on s1.id_ = spr.subject_first_
         left join subject s1 on s1.id_ = spr.subject_first_
         left join subject s2 on s2.id_ = spr.subject_second_
         left join subject s2 on s2.id_ = spr.subject_second_
+        left join subject s3 on s3.id_ = spr.teacher_recommand_subject_id_
+        left join subject s4 on s4.id_ = spr.selection_subject_id_
         left join student_registration sr on spr.music_group_id_ = sr.music_group_id_ and spr.user_id_ = sr.user_id_
         left join student_registration sr on spr.music_group_id_ = sr.music_group_id_ and spr.user_id_ = sr.user_id_
         <where>
         <where>
             <if test="musicGroupId != null">
             <if test="musicGroupId != null">
@@ -213,7 +225,7 @@
     </select>
     </select>
 
 
     <select id="queryFirstSubjectNum" resultMap="Mapper">
     <select id="queryFirstSubjectNum" resultMap="Mapper">
-        SELECT ifnull(s.name_, '听从老师安排') key_, COUNT(spr.id_) value_
+        SELECT case when spr.subject_first_ = 999 then '听从老师安排' else ifnull(s.name_,'无') end key_, COUNT(spr.id_) value_
         FROM student_pre_registration spr
         FROM student_pre_registration spr
                  left join subject s on s.id_ = spr.subject_first_
                  left join subject s on s.id_ = spr.subject_first_
         where spr.music_group_id_ = #{musicGroupId}
         where spr.music_group_id_ = #{musicGroupId}
@@ -221,13 +233,29 @@
     </select>
     </select>
 
 
     <select id="querySecondSubjectNum" resultMap="Mapper">
     <select id="querySecondSubjectNum" resultMap="Mapper">
-        SELECT ifnull(s.name_, '听从老师安排') key_, COUNT(spr.id_) value_
+        SELECT case when spr.subject_second_ = 999 then '听从老师安排' else ifnull(s.name_,'无') end key_, COUNT(spr.id_) value_
         FROM student_pre_registration spr
         FROM student_pre_registration spr
                  left join subject s on s.id_ = spr.subject_second_
                  left join subject s on s.id_ = spr.subject_second_
         where spr.music_group_id_ = #{musicGroupId}
         where spr.music_group_id_ = #{musicGroupId}
         group by spr.subject_second_
         group by spr.subject_second_
     </select>
     </select>
 
 
+    <select id="queryTeacherRecommandSubjectNum" resultMap="Mapper">
+        SELECT case when spr.teacher_recommand_subject_id_ = 999 then '听从老师安排' else ifnull(s.name_,'无') end key_, COUNT(spr.id_) value_
+        FROM student_pre_registration spr
+                 left join subject s on s.id_ = spr.teacher_recommand_subject_id_
+        where spr.music_group_id_ = #{musicGroupId}
+        group by spr.teacher_recommand_subject_id_
+    </select>
+
+    <select id="querySelectionSubjectNum" resultMap="Mapper">
+        SELECT case when spr.selection_subject_id_ = 999 then '听从老师安排' else ifnull(s.name_,'无') end key_, COUNT(spr.id_) value_
+        FROM student_pre_registration spr
+                 left join subject s on s.id_ = spr.selection_subject_id_
+        where spr.music_group_id_ = #{musicGroupId}
+        group by spr.selection_subject_id_
+    </select>
+
     <select id="queryByMusicGroupIdAndUserId" resultMap="StudentPreRegistration" parameterType="map">
     <select id="queryByMusicGroupIdAndUserId" resultMap="StudentPreRegistration" parameterType="map">
         SELECT *
         SELECT *
         FROM student_pre_registration
         FROM student_pre_registration

+ 4 - 0
mec-im/src/main/java/com/ym/dao/RoomDao.java

@@ -31,6 +31,10 @@ public interface RoomDao extends JpaRepository<Room, Long> {
     int updateDisplayByRid(String rid, String display);
     int updateDisplayByRid(String rid, String display);
 
 
     @Modifying
     @Modifying
+    @Query(value = "update rongyun_room set sound_volume=?2 where rid=?1", nativeQuery = true)
+    int updateSoundVolumeById(String rid, Integer soundVolume);
+
+    @Modifying
     @Query(value = "update rongyun_room set whiteboard_name_index=?2 where rid=?1", nativeQuery = true)
     @Query(value = "update rongyun_room set whiteboard_name_index=?2 where rid=?1", nativeQuery = true)
     int updateWhiteboardNameIndexByRid(String rid, int whiteboardNameIndex);
     int updateWhiteboardNameIndexByRid(String rid, int whiteboardNameIndex);
 }
 }

+ 2 - 0
mec-im/src/main/java/com/ym/pojo/ReqDeviceControlData.java

@@ -20,6 +20,8 @@ public class ReqDeviceControlData {
 	private Integer status;
 	private Integer status;
 	private Integer examSongId;
 	private Integer examSongId;
 	private Integer musicScoreAccompanimentId;
 	private Integer musicScoreAccompanimentId;
+	//伴奏音量
+	private Integer soundVolume = 100;
 
 
 	public Integer getMusicScoreAccompanimentId() {
 	public Integer getMusicScoreAccompanimentId() {
 		return musicScoreAccompanimentId;
 		return musicScoreAccompanimentId;

+ 2 - 0
mec-im/src/main/java/com/ym/pojo/Room.java

@@ -25,6 +25,7 @@ public class Room implements Serializable {
     private @Getter @Setter Date createDt;
     private @Getter @Setter Date createDt;
     private @Getter @Setter String display;
     private @Getter @Setter String display;
     private @Getter @Setter int whiteboardNameIndex;
     private @Getter @Setter int whiteboardNameIndex;
+    private @Getter @Setter int soundVolume = 100;
 
 
     @Override
     @Override
     public String toString() {
     public String toString() {
@@ -34,6 +35,7 @@ public class Room implements Serializable {
                 ", portrait='" + portrait + '\'' +
                 ", portrait='" + portrait + '\'' +
                 ", createDt=" + createDt +
                 ", createDt=" + createDt +
                 ", display='" + display + '\'' +
                 ", display='" + display + '\'' +
+                ", soundVolume='" + soundVolume + '\'' +
                 ", whiteboardNameIndex='" + whiteboardNameIndex + '\'' +
                 ", whiteboardNameIndex='" + whiteboardNameIndex + '\'' +
                 '}';
                 '}';
     }
     }

+ 2 - 0
mec-im/src/main/java/com/ym/pojo/RoomResult.java

@@ -25,6 +25,8 @@ public class RoomResult {
     private @Getter @Setter String autoCloseNetworkRoomTime;
     private @Getter @Setter String autoCloseNetworkRoomTime;
     private @Getter @Setter Date startTime;
     private @Getter @Setter Date startTime;
     private @Getter @Setter int surplusTime;
     private @Getter @Setter int surplusTime;
+    //伴奏音量
+    private @Getter @Setter int soundVolume = 100;
     private @Getter @Setter String imToken;
     private @Getter @Setter String imToken;
     private @Getter @Setter String authorization;
     private @Getter @Setter String authorization;
     private @Getter List<MemberResult> members = new ArrayList<>();
     private @Getter List<MemberResult> members = new ArrayList<>();

+ 8 - 2
mec-im/src/main/java/com/ym/service/Impl/RoomServiceImpl.java

@@ -175,7 +175,6 @@ public class RoomServiceImpl implements RoomService {
 
 
         RoomResult.MemberResult userResult = new RoomResult.MemberResult();
         RoomResult.MemberResult userResult = new RoomResult.MemberResult();
         RoomMember member = roomMemberDao.findByRidAndUid(roomId, userId);
         RoomMember member = roomMemberDao.findByRidAndUid(roomId, userId);
-
         String userName;
         String userName;
         if (member == null) {
         if (member == null) {
             int count = roomMemberDao.countByRidAndExcludeRole(roomId, RoleEnum.RoleAudience.getValue());
             int count = roomMemberDao.countByRidAndExcludeRole(roomId, RoleEnum.RoleAudience.getValue());
@@ -209,6 +208,7 @@ public class RoomServiceImpl implements RoomService {
 
 
         List<CourseScheduleStudentMusicScore> scheduleStudentMusicScores = courseScheduleStudentMusicScoreDao.queryByScoreIdAndCourseId(null, courseId,null, null, null);
         List<CourseScheduleStudentMusicScore> scheduleStudentMusicScores = courseScheduleStudentMusicScoreDao.queryByScoreIdAndCourseId(null, courseId,null, null, null);
 
 
+        Room room = roomDao.findByRid(roomId);
         String display = "";
         String display = "";
         if (roleEnum == RoleTeacher) {
         if (roleEnum == RoleTeacher) {
             display = "display://type=1?userId=" + userId + "?uri=";
             display = "display://type=1?userId=" + userId + "?uri=";
@@ -224,7 +224,6 @@ public class RoomServiceImpl implements RoomService {
             }
             }
             //获取学员曲目下载状态
             //获取学员曲目下载状态
             userResult.setExamSongDownloadJson(examSongDownloadData);
             userResult.setExamSongDownloadJson(examSongDownloadData);
-            Room room = roomDao.findByRid(roomId);
             if (room != null) {
             if (room != null) {
                 display = room.getDisplay();
                 display = room.getDisplay();
             }
             }
@@ -261,6 +260,9 @@ public class RoomServiceImpl implements RoomService {
             roomResult.setMembers(roomMemberList,midiMap,examSongMap,scheduleStudentMusicScores);
             roomResult.setMembers(roomMemberList,midiMap,examSongMap,scheduleStudentMusicScores);
         }
         }
         roomResult.setWhiteboards(whiteboardDao.findByRid(roomId));
         roomResult.setWhiteboards(whiteboardDao.findByRid(roomId));
+        if (room != null) {
+            roomResult.setSoundVolume(room.getSoundVolume());
+        }
         log.info("join room: roomId = {}, userId = {}, userName={}, role = {}", roomId, userId, userName, roleEnum);
         log.info("join room: roomId = {}, userId = {}, userName={}, role = {}", roomId, userId, userName, roleEnum);
         return roomResult;
         return roomResult;
     }
     }
@@ -828,6 +830,10 @@ public class RoomServiceImpl implements RoomService {
         }else if (data.getMusicScoreOn() != null) {
         }else if (data.getMusicScoreOn() != null) {
             typeEnum = DeviceTypeEnum.MusicScore;
             typeEnum = DeviceTypeEnum.MusicScore;
             enable = data.getMusicScoreOn();
             enable = data.getMusicScoreOn();
+            if(enable){
+                //保存伴奏音量
+                roomDao.updateSoundVolumeById(roomId,data.getSoundVolume());
+            }
         }else if (data.getAccompanimentOn() != null) {
         }else if (data.getAccompanimentOn() != null) {
             typeEnum = DeviceTypeEnum.MusicScoreAccompaniment;
             typeEnum = DeviceTypeEnum.MusicScoreAccompaniment;
             enable = data.getAccompanimentOn();
             enable = data.getAccompanimentOn();

+ 18 - 6
mec-web/src/main/java/com/ym/mec/web/controller/StudentRegistrationController.java

@@ -298,24 +298,36 @@ public class StudentRegistrationController extends BaseController {
             } else if ("GROUP".equals(row.getCloudTeacherMethod())) {
             } else if ("GROUP".equals(row.getCloudTeacherMethod())) {
                 row.setCloudTeacherMethod("团购");
                 row.setCloudTeacherMethod("团购");
             }
             }
-            if (row.getSubjectFirst().equals(999)) {
+            if(row.getSubjectFirst() == null){
+            	row.setSubjectFirstName("无");
+            } else if (row.getSubjectFirst().equals(999)) {
                 row.setSubjectFirstName("听从老师安排");
                 row.setSubjectFirstName("听从老师安排");
             }
             }
-            if (row.getSubjectSecond().equals(999)) {
+            if(row.getSubjectSecond() == null){
+            	row.setSubjectSecondName("无");
+            } else if (row.getSubjectSecond().equals(999)) {
                 row.setSubjectSecondName("听从老师安排");
                 row.setSubjectSecondName("听从老师安排");
             }
             }
+            if(row.getTeacherRecommandSubjectId() == null){
+            	row.setTeacherRecommandSubjectName("无");
+            }
+            if(row.getSelectionSubjectId() == null){
+            	row.setSelectionSubjectName("无");
+            }else if(row.getSelectionSubjectId().equals(999)){
+            	row.setSelectionSubjectName("听从老师安排");
+            }
             row.setCurrentGrade(row.getCurrentGrade() + row.getCurrentClass());
             row.setCurrentGrade(row.getCurrentGrade() + row.getCurrentClass());
         }
         }
         OutputStream outputStream = response.getOutputStream();
         OutputStream outputStream = response.getOutputStream();
         try {
         try {
             HSSFWorkbook workbook = null;
             HSSFWorkbook workbook = null;
             if (musicGroup.getCourseViewType().equals(CourseViewTypeEnum.MEMBER_FEE)) {
             if (musicGroup.getCourseViewType().equals(CourseViewTypeEnum.MEMBER_FEE)) {
-                String[] header = {"学员编号", "学员姓名", "性别", "联系电话", "年级班级", "选报声部1", "选报声部2", "是否服从调剂", "乐器准备方式", "练习系统"};
-                String[] body = {"userId", "userName", "gender ? '男' : '女'", "phone", "currentGrade", "subjectFirstName", "subjectSecondName", "isAllowAdjust ? '是' : '否'", "kitPurchaseMethod", "cloudTeacherMethod"};
+                String[] header = {"学员编号", "学员姓名", "性别", "联系电话", "年级班级", "选报声部1", "选报声部2","老师推荐专业","选报专业", "是否服从调剂", "乐器准备方式", "练习系统"};
+                String[] body = {"userId", "userName", "gender ? '男' : '女'", "phone", "currentGrade", "subjectFirstName", "subjectSecondName","teacherRecommandSubjectName","selectionSubjectName", "isAllowAdjust ? '是' : '否'", "kitPurchaseMethod", "cloudTeacherMethod"};
                 workbook = POIUtil.exportExcel(header, body, studentPreRegistration.getRows());
                 workbook = POIUtil.exportExcel(header, body, studentPreRegistration.getRows());
             } else {
             } else {
-                String[] header = {"学员编号", "学员姓名", "性别", "联系电话", "年级班级", "选报声部1", "选报声部2", "是否服从调剂", "乐器准备方式", "练习系统"};
-                String[] body = {"userId", "userName", "gender ? '男' : '女'", "phone", "currentGrade", "subjectFirstName", "subjectSecondName", "isAllowAdjust ? '是' : '否'", "kitPurchaseMethod", "cloudTeacherMethod"};
+                String[] header = {"学员编号", "学员姓名", "性别", "联系电话", "年级班级", "选报声部1", "选报声部2","老师推荐专业","选报专业", "是否服从调剂", "乐器准备方式", "练习系统"};
+                String[] body = {"userId", "userName", "gender ? '男' : '女'", "phone", "currentGrade", "subjectFirstName", "subjectSecondName","teacherRecommandSubjectName","selectionSubjectName", "isAllowAdjust ? '是' : '否'", "kitPurchaseMethod", "cloudTeacherMethod"};
                 workbook = POIUtil.exportExcel(header, body, studentPreRegistration.getRows());
                 workbook = POIUtil.exportExcel(header, body, studentPreRegistration.getRows());
             }
             }