Browse Source

Merge branch 'online1' of http://git.dayaedu.com/yonge/mec into first_leave

zouxuan 4 years ago
parent
commit
a5c2b16276
21 changed files with 407 additions and 206 deletions
  1. 0 1
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/SysMusicScoreDao.java
  2. 14 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dto/MusicGroupRegRespDto.java
  3. 11 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/StudentPreRegistration.java
  4. 14 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/SysMusicScore.java
  5. 11 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/SysMusicScoreAccompaniment.java
  6. 33 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/enums/ClientTypeEnum.java
  7. 22 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/page/StudentPreRegistrationQueryInfo.java
  8. 11 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/page/SysExamSongQueryInfo.java
  9. 1 0
      mec-biz/src/main/java/com/ym/mec/biz/service/SysMusicScoreService.java
  10. 1 0
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupSubjectPlanServiceImpl.java
  11. 1 4
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/SysMusicScoreServiceImpl.java
  12. 218 176
      mec-biz/src/main/resources/config/mybatis/StudentPreRegistrationMapper.xml
  13. 12 6
      mec-biz/src/main/resources/config/mybatis/SysMusicScoreAccompanimentMapper.xml
  14. 12 4
      mec-biz/src/main/resources/config/mybatis/SysMusicScoreMapper.xml
  15. 0 6
      mec-im/src/main/java/com/ym/controller/RoomController.java
  16. 7 0
      mec-student/src/main/java/com/ym/mec/student/controller/SysMusicScoreAccompanimentController.java
  17. 4 0
      mec-student/src/main/java/com/ym/mec/student/controller/SysMusicScoreController.java
  18. 7 0
      mec-teacher/src/main/java/com/ym/mec/teacher/controller/SysMusicScoreAccompanimentController.java
  19. 4 0
      mec-teacher/src/main/java/com/ym/mec/teacher/controller/SysMusicScoreController.java
  20. 23 9
      mec-web/src/main/java/com/ym/mec/web/controller/StudentRegistrationController.java
  21. 1 0
      mec-web/src/main/java/com/ym/mec/web/controller/SysMusicScoreAccompanimentController.java

+ 0 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/SysMusicScoreDao.java

@@ -6,5 +6,4 @@ import com.ym.mec.common.dal.BaseDAO;
 
 public interface SysMusicScoreDao extends BaseDAO<Integer, SysMusicScore> {
 
-	
 }

+ 14 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/MusicGroupRegRespDto.java

@@ -1,6 +1,8 @@
 package com.ym.mec.biz.dal.dto;
 
 import com.ym.mec.biz.dal.entity.Subject;
+import com.ym.mec.biz.dal.enums.CourseViewTypeEnum;
+import io.swagger.annotations.ApiModelProperty;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 
 import java.util.List;
@@ -16,6 +18,10 @@ public class MusicGroupRegRespDto {
     //乐团状态
     private String musicGroupStatus;
 
+    //乐团收费方式
+    @ApiModelProperty(value = "乐团收费方式",required = false)
+    private CourseViewTypeEnum courseViewType;
+
     //乐团声部信息
     private List<Subject> subjectList;
 
@@ -48,4 +54,12 @@ public class MusicGroupRegRespDto {
     public void setMusicGroupStatus(String musicGroupStatus) {
         this.musicGroupStatus = musicGroupStatus;
     }
+
+    public CourseViewTypeEnum getCourseViewType() {
+        return courseViewType;
+    }
+
+    public void setCourseViewType(CourseViewTypeEnum courseViewType) {
+        this.courseViewType = courseViewType;
+    }
 }

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

@@ -44,6 +44,9 @@ public class StudentPreRegistration {
 	
 	/** 乐器提供方式 */
 	private String kitPurchaseMethod;
+
+	/** 云教练提供方式 */
+	private String cloudTeacherMethod;
 	
 	/** 创建时间 */
 	private java.util.Date createTime;
@@ -164,4 +167,12 @@ public class StudentPreRegistration {
 	public void setCurrentGradeNum(Integer currentGradeNum) {
 		this.currentGradeNum = currentGradeNum;
 	}
+
+	public String getCloudTeacherMethod() {
+		return cloudTeacherMethod;
+	}
+
+	public void setCloudTeacherMethod(String cloudTeacherMethod) {
+		this.cloudTeacherMethod = cloudTeacherMethod;
+	}
 }

+ 14 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/SysMusicScore.java

@@ -1,5 +1,6 @@
 package com.ym.mec.biz.dal.entity;
 
+import com.ym.mec.biz.dal.enums.ClientTypeEnum;
 import com.ym.mec.biz.dal.enums.ExamSongTypeEnum;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 
@@ -45,6 +46,11 @@ public class SysMusicScore {
 	private Integer delFlag;
 
 	private Integer order;
+
+	/**
+	 * 客户端类型
+	 */
+	private ClientTypeEnum clientType;
 	
 	/**  */
 	private java.util.Date updateTime;
@@ -52,6 +58,14 @@ public class SysMusicScore {
 	/**  */
 	private java.util.Date createTime;
 
+	public ClientTypeEnum getClientType() {
+		return clientType;
+	}
+
+	public void setClientType(ClientTypeEnum clientType) {
+		this.clientType = clientType;
+	}
+
 	public Integer getOrder() {
 		return order;
 	}

+ 11 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/SysMusicScoreAccompaniment.java

@@ -1,5 +1,6 @@
 package com.ym.mec.biz.dal.entity;
 
+import com.ym.mec.biz.dal.enums.ClientTypeEnum;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 
 /**
@@ -57,6 +58,16 @@ public class SysMusicScoreAccompaniment {
 
 	private String memo;
 
+	private ClientTypeEnum clientType;
+
+	public ClientTypeEnum getClientType() {
+		return clientType;
+	}
+
+	public void setClientType(ClientTypeEnum clientType) {
+		this.clientType = clientType;
+	}
+
 	public Boolean getIsShowFingering() {
 		return isShowFingering;
 	}

+ 33 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/enums/ClientTypeEnum.java

@@ -0,0 +1,33 @@
+package com.ym.mec.biz.dal.enums;
+
+import com.ym.mec.common.enums.BaseEnum;
+
+public enum ClientTypeEnum implements BaseEnum<String, ClientTypeEnum> {
+	NETWORK_ROOM("NETWORK_ROOM", "网络教室"), SMART_PRACTICE("SMART_PRACTICE", "智能陪练");
+
+	private String code;
+
+	private String msg;
+
+	ClientTypeEnum(String code, String msg) {
+		this.code = code;
+		this.msg = msg;
+	}
+
+	public void setCode(String code) {
+		this.code = code;
+	}
+
+	public String getMsg() {
+		return msg;
+	}
+
+	public void setMsg(String msg) {
+		this.msg = msg;
+	}
+
+	@Override
+	public String getCode() {
+		return this.code;
+	}
+}

+ 22 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/page/StudentPreRegistrationQueryInfo.java

@@ -18,6 +18,13 @@ public class StudentPreRegistrationQueryInfo extends QueryInfo {
     @ApiModelProperty(value = "用户名或手机号",required = false)
     private String name;
 
+    @ApiModelProperty(value = "乐器提供方式",required = false)
+    private String kitPurchaseMethod;
+
+    @ApiModelProperty(value = "云教练提供方式",required = false)
+    private String cloudTeacherMethod;
+
+
 
     public String getName() {
         return name;
@@ -51,4 +58,19 @@ public class StudentPreRegistrationQueryInfo extends QueryInfo {
         this.isAllowAdjust = isAllowAdjust;
     }
 
+    public String getKitPurchaseMethod() {
+        return kitPurchaseMethod;
+    }
+
+    public void setKitPurchaseMethod(String kitPurchaseMethod) {
+        this.kitPurchaseMethod = kitPurchaseMethod;
+    }
+
+    public String getCloudTeacherMethod() {
+        return cloudTeacherMethod;
+    }
+
+    public void setCloudTeacherMethod(String cloudTeacherMethod) {
+        this.cloudTeacherMethod = cloudTeacherMethod;
+    }
 }

+ 11 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/page/SysExamSongQueryInfo.java

@@ -1,5 +1,6 @@
 package com.ym.mec.biz.dal.page;
 
+import com.ym.mec.biz.dal.enums.ClientTypeEnum;
 import com.ym.mec.common.page.QueryInfo;
 import io.swagger.annotations.ApiModelProperty;
 
@@ -23,6 +24,16 @@ public class SysExamSongQueryInfo extends QueryInfo {
 
     private Boolean isShowFingering;
 
+    private ClientTypeEnum clientType;
+
+    public ClientTypeEnum getClientType() {
+        return clientType;
+    }
+
+    public void setClientType(ClientTypeEnum clientType) {
+        this.clientType = clientType;
+    }
+
     public Boolean getIsShowFingering() {
         return isShowFingering;
     }

+ 1 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/SysMusicScoreService.java

@@ -12,4 +12,5 @@ public interface SysMusicScoreService extends BaseService<Integer, SysMusicScore
     void add(MusicScoreDto musicScoreDto);
 
     void del(Integer id);
+
 }

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

@@ -141,6 +141,7 @@ public class MusicGroupSubjectPlanServiceImpl extends BaseServiceImpl<Integer, M
         //乐团信息
         MusicGroup musicGroup = musicGroupService.get(musicGroupId);
         musicGroupRegResp.setMusicGroupName(musicGroup.getName());
+        musicGroupRegResp.setCourseViewType(musicGroup.getCourseViewType());
         musicGroupRegResp.setMusicGroupStatus(musicGroup.getStatus().getCode());
         //声部信息
         List<Subject> subjectList = subjectService.findSubByMusicGroupId(musicGroupId);

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

@@ -15,10 +15,7 @@ import com.ym.mec.common.service.impl.BaseServiceImpl;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
-
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.List;
+import java.util.*;
 import java.util.stream.Collectors;
 
 @Service

+ 218 - 176
mec-biz/src/main/resources/config/mybatis/StudentPreRegistrationMapper.xml

@@ -5,180 +5,222 @@
 不要修改此文件。所有改动将在下次重新自动生成时丢失。
 -->
 <mapper namespace="com.ym.mec.biz.dal.dao.StudentPreRegistrationDao">
-	
-	<resultMap type="com.ym.mec.biz.dal.entity.StudentPreRegistration" id="StudentPreRegistration">
-		<result column="id_" property="id" />
-		<result column="music_group_id_" property="musicGroupId" />
-		<result column="user_id_" property="userId" />
-		<result column="phone_" property="phone" />
-		<result column="user_name_" property="userName" />
-		<result column="gender_" property="gender" />
-		<result column="current_grade_" property="currentGrade" />
-		<result column="current_grade_num_" property="currentGradeNum" />
-		<result column="current_class_" property="currentClass" />
-		<result column="subject_first_" property="subjectFirst" />
-		<result column="subject_second_" property="subjectSecond" />
-		<result column="is_allow_adjust_" property="isAllowAdjust" />
-		<result column="kit_purchase_method_" property="kitPurchaseMethod" />
-		<result column="create_time_" property="createTime" />
-		<result column="is_registered_" property="isRegistered" />
-	</resultMap>
-	
-	<resultMap type="com.ym.mec.biz.dal.dto.StudentPreRegistrationDto" id="StudentPreRegistrationDto" extends="StudentPreRegistration">
-		<result column="subject_first_name_" property="subjectFirstName" />
-		<result column="subject_second_name_" property="subjectSecondName" />
-		<result column="is_registered_" property="isRegistered" />
-	</resultMap>
-	
-	<resultMap type="com.ym.mec.common.entity.Mapper" id="Mapper">
-		<result column="key_" property="key" />
-		<result column="value_" property="value" />
-	</resultMap>
-	
-	<!-- 根据主键查询一条记录 -->
-	<select id="get" resultMap="StudentPreRegistration" >
-		SELECT * FROM student_pre_registration WHERE id_ = #{id} 
-	</select>
-	
-	<!-- 全查询 -->
-	<select id="findAll" resultMap="StudentPreRegistration">
-		SELECT * FROM student_pre_registration ORDER BY id_
-	</select>
-	
-	<!-- 向数据库增加一条记录 -->
-	<insert id="insert" parameterType="com.ym.mec.biz.dal.entity.StudentPreRegistration" useGeneratedKeys="true" keyColumn="id" keyProperty="id">
-		<!--
-		<selectKey resultClass="int" keyProperty="id" > 
-		SELECT SEQ_WSDEFINITION_ID.nextval AS ID FROM DUAL 
-		</selectKey>
-		-->
-		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_,create_time_) VALUES(#{id},#{musicGroupId},#{userId},#{phone},#{userName},#{gender},#{currentGrade},#{currentGradeNum},#{currentClass},#{subjectFirst},#{subjectSecond},#{isAllowAdjust},#{kitPurchaseMethod},#{createTime})
-	</insert>
-	
-	<!-- 根据主键查询一条记录 -->
-	<update id="update" parameterType="com.ym.mec.biz.dal.entity.StudentPreRegistration">
-		UPDATE student_pre_registration <set>
-		<if test="musicGroupId != null">
-		music_group_id_ = #{musicGroupId},
-		</if>
-		<if test="userId != null">
-		user_id_ = #{userId},
-		</if>
-		<if test="userName != null">
-		user_name_ = #{userName},
-		</if>
-		<if test="id != null">
-		id_ = #{id},
-		</if>
-		<if test="currentGrade != null">
-		current_grade_ = #{currentGrade},
-		</if>
-		<if test="currentGradeNum != null">
-			current_grade_num_ = #{currentGradeNum},
-		</if>
-		<if test="gender != null">
-		gender_ = #{gender},
-		</if>
-		<if test="subjectFirst != null">
-		subject_first_ = #{subjectFirst},
-		</if>
-		<if test="phone != null">
-		phone_ = #{phone},
-		</if>
-		<if test="subjectSecond != null">
-		subject_second_ = #{subjectSecond},
-		</if>
-		<if test="currentClass != null">
-		current_class_ = #{currentClass},
-		</if>
-		<if test="isAllowAdjust != null">
-		is_allow_adjust_ = #{isAllowAdjust},
-		</if>
-		<if test="kitPurchaseMethod != null">
-		kit_purchase_method_ = #{kitPurchaseMethod},
-		</if>
-		<if test="createTime != null">
-		create_time_ = #{createTime},
-		</if>
-		</set> WHERE id_ = #{id} 
-	</update>
-	
-	<!-- 根据主键删除一条记录 -->
-	<delete id="delete" >
-		DELETE FROM student_pre_registration WHERE id_ = #{id} 
-	</delete>
-	
-	<!-- 分页查询 -->
-	<select id="queryListForPage" resultMap="StudentPreRegistrationDto" parameterType="map">
-		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 
-		left join subject s1 on s1.id_ = spr.subject_first_
-		left join subject s2 on s2.id_ = spr.subject_second_
-		left join student_registration sr on spr.music_group_id_ = sr.music_group_id_ and spr.user_id_ = sr.user_id_
-		<where>
-			<if test="musicGroupId != null">
-				and spr.music_group_id_ = #{musicGroupId}
-			</if>
-			<if test="isAllowAdjust != null">
-				and spr.is_allow_adjust_ = #{isAllowAdjust}
-			</if>
-			<if test="subjectId != null">
-				and (spr.subject_first_ = #{subjectId} or spr.subject_second_ = #{subjectId})
-			</if>
-			<if test="name != null">
-				and (spr.phone_ like concat('%',#{name},'%') or spr.user_name_ like concat('%',#{name},'%') or spr.user_id_ like concat('%',#{name},'%'))
-			</if>
-			<if test="isAllowAdjust != null">
-				and spr.is_allow_adjust_ = #{isAllowAdjust}
-			</if>
-		</where>
-		ORDER BY spr.id_ <include refid="global.limit"/>
-	</select>
-	
-	<!-- 查询当前表的总记录数 -->
-	<select id="queryCount" resultType="int">
-		SELECT COUNT(spr.id_) FROM student_pre_registration spr
-		<where>
-			<if test="musicGroupId != null">
-				and spr.music_group_id_ = #{musicGroupId}
-			</if>
-			<if test="isAllowAdjust != null">
-				and spr.is_allow_adjust_ = #{isAllowAdjust}
-			</if>
-			<if test="subjectId != null">
-				and (spr.subject_first_ = #{subjectId} or spr.subject_second_ = #{subjectId})
-			</if>
-			<if test="name != null">
-				and (spr.phone_ like concat('%',#{name},'%') or spr.user_name_ like concat('%',#{name},'%') or spr.user_id_ like concat('%',#{name},'%'))
-			</if>
-			<if test="isAllowAdjust != null">
-				and spr.is_allow_adjust_ = #{isAllowAdjust}
-			</if>
-		</where>
-	</select>
-	
-	<select id="queryFirstSubjectNum" resultMap="Mapper">
-		SELECT ifnull(s.name_,'听从老师安排') key_,COUNT(spr.id_) value_ FROM student_pre_registration spr 
-		left join subject s on s.id_ = spr.subject_first_
-		where spr.music_group_id_ = #{musicGroupId}
-		group by spr.subject_first_
-	</select>
-	
-	<select id="querySecondSubjectNum" resultMap="Mapper">
-		SELECT ifnull(s.name_,'听从老师安排') key_,COUNT(spr.id_) value_ FROM student_pre_registration spr  
-		left join subject s on s.id_ = spr.subject_second_
-		where spr.music_group_id_ = #{musicGroupId}
-		group by spr.subject_second_
-	</select>
-	
-	<select id="queryByMusicGroupIdAndUserId" resultMap="StudentPreRegistration" parameterType="map">
-		SELECT * FROM student_pre_registration WHERE user_id_ = #{userId} and music_group_id_ = #{musicGroupId}
-	</select>
-	
-	<select id="queryByMusicGroupIdAndPhone" resultMap="StudentPreRegistration" parameterType="map">
-		SELECT * FROM student_pre_registration WHERE phone_ = #{phone} and music_group_id_ = #{musicGroupId}
-	</select>
-	
-	<select id="queryByMusicGroupId" resultMap="StudentPreRegistration">
-		SELECT * FROM student_pre_registration WHERE music_group_id_ = #{musicGroupId}
-	</select>
+
+    <resultMap type="com.ym.mec.biz.dal.entity.StudentPreRegistration" id="StudentPreRegistration">
+        <result column="id_" property="id"/>
+        <result column="music_group_id_" property="musicGroupId"/>
+        <result column="user_id_" property="userId"/>
+        <result column="phone_" property="phone"/>
+        <result column="user_name_" property="userName"/>
+        <result column="gender_" property="gender"/>
+        <result column="current_grade_" property="currentGrade"/>
+        <result column="current_grade_num_" property="currentGradeNum"/>
+        <result column="current_class_" property="currentClass"/>
+        <result column="subject_first_" property="subjectFirst"/>
+        <result column="subject_second_" property="subjectSecond"/>
+        <result column="is_allow_adjust_" property="isAllowAdjust"/>
+        <result column="kit_purchase_method_" property="kitPurchaseMethod"/>
+        <result column="cloud_teacher_method_" property="cloudTeacherMethod"/>
+        <result column="create_time_" property="createTime"/>
+        <result column="is_registered_" property="isRegistered"/>
+    </resultMap>
+
+    <resultMap type="com.ym.mec.biz.dal.dto.StudentPreRegistrationDto" id="StudentPreRegistrationDto"
+               extends="StudentPreRegistration">
+        <result column="subject_first_name_" property="subjectFirstName"/>
+        <result column="subject_second_name_" property="subjectSecondName"/>
+        <result column="is_registered_" property="isRegistered"/>
+    </resultMap>
+
+    <resultMap type="com.ym.mec.common.entity.Mapper" id="Mapper">
+        <result column="key_" property="key"/>
+        <result column="value_" property="value"/>
+    </resultMap>
+
+    <!-- 根据主键查询一条记录 -->
+    <select id="get" resultMap="StudentPreRegistration">
+        SELECT *
+        FROM student_pre_registration
+        WHERE id_ = #{id}
+    </select>
+
+    <!-- 全查询 -->
+    <select id="findAll" resultMap="StudentPreRegistration">
+        SELECT *
+        FROM student_pre_registration
+        ORDER BY id_
+    </select>
+
+    <!-- 向数据库增加一条记录 -->
+    <insert id="insert" parameterType="com.ym.mec.biz.dal.entity.StudentPreRegistration" useGeneratedKeys="true"
+            keyColumn="id" keyProperty="id">
+        <!--
+        <selectKey resultClass="int" keyProperty="id" >
+        SELECT SEQ_WSDEFINITION_ID.nextval AS ID FROM DUAL
+        </selectKey>
+        -->
+        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})
+    </insert>
+
+    <!-- 根据主键查询一条记录 -->
+    <update id="update" parameterType="com.ym.mec.biz.dal.entity.StudentPreRegistration">
+        UPDATE student_pre_registration
+        <set>
+            <if test="musicGroupId != null">
+                music_group_id_ = #{musicGroupId},
+            </if>
+            <if test="userId != null">
+                user_id_ = #{userId},
+            </if>
+            <if test="userName != null">
+                user_name_ = #{userName},
+            </if>
+            <if test="id != null">
+                id_ = #{id},
+            </if>
+            <if test="currentGrade != null">
+                current_grade_ = #{currentGrade},
+            </if>
+            <if test="currentGradeNum != null">
+                current_grade_num_ = #{currentGradeNum},
+            </if>
+            <if test="gender != null">
+                gender_ = #{gender},
+            </if>
+            <if test="subjectFirst != null">
+                subject_first_ = #{subjectFirst},
+            </if>
+            <if test="phone != null">
+                phone_ = #{phone},
+            </if>
+            <if test="subjectSecond != null">
+                subject_second_ = #{subjectSecond},
+            </if>
+            <if test="currentClass != null">
+                current_class_ = #{currentClass},
+            </if>
+            <if test="isAllowAdjust != null">
+                is_allow_adjust_ = #{isAllowAdjust},
+            </if>
+            <if test="kitPurchaseMethod != null">
+                kit_purchase_method_ = #{kitPurchaseMethod},
+            </if>
+            <if test="cloudTeacherMethod != null">
+                cloud_teacher_method_ = #{cloudTeacherMethod},
+            </if>
+            <if test="createTime != null">
+                create_time_ = #{createTime},
+            </if>
+        </set>
+        WHERE id_ = #{id}
+    </update>
+
+    <!-- 根据主键删除一条记录 -->
+    <delete id="delete">
+        DELETE
+        FROM student_pre_registration
+        WHERE id_ = #{id}
+    </delete>
+
+    <!-- 分页查询 -->
+    <select id="queryListForPage" resultMap="StudentPreRegistrationDto" parameterType="map">
+        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
+        left join subject s1 on s1.id_ = spr.subject_first_
+        left join subject s2 on s2.id_ = spr.subject_second_
+        left join student_registration sr on spr.music_group_id_ = sr.music_group_id_ and spr.user_id_ = sr.user_id_
+        <where>
+            <if test="musicGroupId != null">
+                and spr.music_group_id_ = #{musicGroupId}
+            </if>
+            <if test="isAllowAdjust != null">
+                and spr.is_allow_adjust_ = #{isAllowAdjust}
+            </if>
+            <if test="subjectId != null">
+                and (spr.subject_first_ = #{subjectId} or spr.subject_second_ = #{subjectId})
+            </if>
+            <if test="name != null">
+                and (spr.phone_ like concat('%',#{name},'%') or spr.user_name_ like concat('%',#{name},'%') or
+                spr.user_id_ like concat('%',#{name},'%'))
+            </if>
+            <if test="isAllowAdjust != null">
+                and spr.is_allow_adjust_ = #{isAllowAdjust}
+            </if>
+            <if test="kitPurchaseMethod != null">
+                and spr.kit_purchase_method_ = #{kitPurchaseMethod}
+            </if>
+            <if test="cloudTeacherMethod != null">
+                and spr.cloud_teacher_method_ = #{cloudTeacherMethod}
+            </if>
+        </where>
+        ORDER BY spr.id_
+        <include refid="global.limit"/>
+    </select>
+
+    <!-- 查询当前表的总记录数 -->
+    <select id="queryCount" resultType="int">
+        SELECT COUNT(spr.id_) FROM student_pre_registration spr
+        <where>
+            <if test="musicGroupId != null">
+                and spr.music_group_id_ = #{musicGroupId}
+            </if>
+            <if test="isAllowAdjust != null">
+                and spr.is_allow_adjust_ = #{isAllowAdjust}
+            </if>
+            <if test="subjectId != null">
+                and (spr.subject_first_ = #{subjectId} or spr.subject_second_ = #{subjectId})
+            </if>
+            <if test="name != null">
+                and (spr.phone_ like concat('%',#{name},'%') or spr.user_name_ like concat('%',#{name},'%') or
+                spr.user_id_ like concat('%',#{name},'%'))
+            </if>
+            <if test="isAllowAdjust != null">
+                and spr.is_allow_adjust_ = #{isAllowAdjust}
+            </if>
+            <if test="kitPurchaseMethod != null">
+                and spr.kit_purchase_method_ = #{kitPurchaseMethod}
+            </if>
+            <if test="cloudTeacherMethod != null">
+                and spr.cloud_teacher_method_ = #{cloudTeacherMethod}
+            </if>
+        </where>
+    </select>
+
+    <select id="queryFirstSubjectNum" resultMap="Mapper">
+        SELECT ifnull(s.name_, '听从老师安排') key_, COUNT(spr.id_) value_
+        FROM student_pre_registration spr
+                 left join subject s on s.id_ = spr.subject_first_
+        where spr.music_group_id_ = #{musicGroupId}
+        group by spr.subject_first_
+    </select>
+
+    <select id="querySecondSubjectNum" resultMap="Mapper">
+        SELECT ifnull(s.name_, '听从老师安排') key_, COUNT(spr.id_) value_
+        FROM student_pre_registration spr
+                 left join subject s on s.id_ = spr.subject_second_
+        where spr.music_group_id_ = #{musicGroupId}
+        group by spr.subject_second_
+    </select>
+
+    <select id="queryByMusicGroupIdAndUserId" resultMap="StudentPreRegistration" parameterType="map">
+        SELECT *
+        FROM student_pre_registration
+        WHERE user_id_ = #{userId}
+          and music_group_id_ = #{musicGroupId}
+    </select>
+
+    <select id="queryByMusicGroupIdAndPhone" resultMap="StudentPreRegistration" parameterType="map">
+        SELECT *
+        FROM student_pre_registration
+        WHERE phone_ = #{phone}
+          and music_group_id_ = #{musicGroupId}
+    </select>
+
+    <select id="queryByMusicGroupId" resultMap="StudentPreRegistration">
+        SELECT *
+        FROM student_pre_registration
+        WHERE music_group_id_ = #{musicGroupId}
+    </select>
 </mapper>

+ 12 - 6
mec-biz/src/main/resources/config/mybatis/SysMusicScoreAccompanimentMapper.xml

@@ -24,6 +24,7 @@
 		<result column="update_time_" property="updateTime" />
 		<result column="is_show_fingering_" property="isShowFingering" />
 		<result column="memo_" property="memo" />
+		<result column="client_type_" property="clientType" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
 	</resultMap>
 
 	<delete id="deleteBySongId">
@@ -32,7 +33,7 @@
 
 	<!-- 根据主键查询一条记录 -->
 	<select id="get" resultMap="SysMusicScoreAccompaniment" >
-		SELECT sesa.*,ses.name_,ses.type_,ses.url_,sesc.name_ categories_name_,sesc.id_ categories_id_
+		SELECT sesa.*,ses.name_,ses.type_,ses.url_,sesc.name_ categories_name_,sesc.id_ categories_id_,ses.client_type_
 		FROM sys_music_score_accompaniment sesa
 		LEFT JOIN sys_music_score ses ON ses.id_ = sesa.exam_song_id_
 		LEFT JOIN sys_music_score_categories sesc ON sesc.id_ = ses.music_score_categories_id_
@@ -50,10 +51,12 @@
 		VALUES(#{examSongId},#{subjectId},#{mp3Url},#{speed},#{xmlUrl},NOW(),NOW())
 	</insert>
     <insert id="batchInsert">
-		INSERT INTO sys_music_score_accompaniment (exam_song_id_,subject_id_,mp3_url_,speed_,xml_url_,create_time_,update_time_,is_show_fingering_,memo_)
+		INSERT INTO sys_music_score_accompaniment (exam_song_id_,subject_id_,mp3_url_,speed_,xml_url_,
+		                                           create_time_,update_time_,is_show_fingering_,memo_)
 		VALUES
 		<foreach collection="sysMusicScoreAccompaniments" item="item"  separator=",">
-			(#{sysMusicScoreId},#{item.subjectId},#{item.mp3Url},#{item.speed},#{item.xmlUrl},NOW(),NOW(),#{item.isShowFingering},#{item.memo})
+			(#{sysMusicScoreId},#{item.subjectId},#{item.mp3Url},#{item.speed},
+			 #{item.xmlUrl},NOW(),NOW(),#{item.isShowFingering},#{item.memo})
 		</foreach>
 	</insert>
 
@@ -128,7 +131,7 @@
 	
 	<!-- 分页查询 -->
 	<select id="queryPage" resultMap="SysMusicScoreAccompaniment" parameterType="map">
-		SELECT sesa.*,ses.name_,ses.type_,ses.url_,s.name_ subject_name_,sesc.name_ categories_name_,sesc.id_ categories_id_
+		SELECT sesa.*,ses.name_,ses.type_,ses.url_,s.name_ subject_name_,sesc.name_ categories_name_,sesc.id_ categories_id_,ses.client_type_
 		FROM sys_music_score_accompaniment sesa
 		LEFT JOIN sys_music_score ses ON ses.id_ = sesa.exam_song_id_
 		LEFT JOIN sys_music_score_categories sesc ON sesc.id_ = ses.music_score_categories_id_
@@ -162,7 +165,7 @@
 		</where>
 	</select>
 	<select id="queryAccPage" resultMap="SysMusicScoreAccompaniment">
-		SELECT sesa.*,ses.name_,ses.type_,ses.url_,s.name_ subject_name_,sesc.name_ categories_name_,sesc.id_ categories_id_
+		SELECT sesa.*,ses.name_,ses.type_,ses.url_,s.name_ subject_name_,sesc.name_ categories_name_,sesc.id_ categories_id_,ses.client_type_
 		FROM sys_music_score_accompaniment sesa
 		LEFT JOIN sys_music_score ses ON ses.id_ = sesa.exam_song_id_
 		LEFT JOIN sys_music_score_categories sesc ON sesc.id_ = ses.music_score_categories_id_
@@ -184,7 +187,7 @@
 		GROUP BY sesa.subject_id_
 	</select>
 
-    <sql id="queryPageSql">
+	<sql id="queryPageSql">
 		<where>
 			sesa.del_flag_ = 0
 			<if test="search != null and search != ''">
@@ -205,6 +208,9 @@
 			<if test="isShowFingering != null">
 				AND sesa.is_show_fingering_ = #{isShowFingering}
 			</if>
+			<if test="clientType != null">
+				AND ses.client_type_ = #{clientType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
+			</if>
 			<if test="type != null and type == 'COMMON'">
 				AND ses.type_ = #{type}
 			</if>

+ 12 - 4
mec-biz/src/main/resources/config/mybatis/SysMusicScoreMapper.xml

@@ -19,6 +19,7 @@
 		<result column="create_user_name_" property="createUserName" />
 		<result column="del_flag_" property="delFlag" />
 		<result column="order_" property="order" />
+		<result column="client_type_" property="clientType" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
 		<result column="update_time_" property="updateTime" />
 		<result column="create_time_" property="createTime" />
 	</resultMap>
@@ -35,13 +36,17 @@
 	
 	<!-- 向数据库增加一条记录 -->
 	<insert id="insert" parameterType="com.ym.mec.biz.dal.entity.SysMusicScore" useGeneratedKeys="true" keyColumn="id" keyProperty="id">
-		INSERT INTO sys_music_score (music_score_categories_id_,name_,type_,speed_,url_,create_user_id_,order_,update_time_,create_time_)
-		VALUES(#{musicScoreCategoriesId},#{name},#{type,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{speed},#{url},#{createUserId},#{order},NOW(),NOW())
+		INSERT INTO sys_music_score (music_score_categories_id_,name_,type_,speed_,url_,create_user_id_,order_,update_time_,create_time_,client_type_)
+		VALUES(#{musicScoreCategoriesId},#{name},#{type,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
+		       #{speed},#{url},#{createUserId},#{order},NOW(),NOW(),#{clientType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler})
 	</insert>
-	
+
 	<!-- 根据主键查询一条记录 -->
 	<update id="update" parameterType="com.ym.mec.biz.dal.entity.SysMusicScore">
 		UPDATE sys_music_score <set>
+		<if test="clientType != null">
+			client_type_ = #{clientType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
+		</if>
 		<if test="order != null">
 			order_ = #{order},
 		</if>
@@ -98,7 +103,7 @@
 		SELECT COUNT(0) FROM sys_music_score ses
 		<include refid="queryPageSql"/>
 	</select>
-	<sql id="queryPageSql">
+    <sql id="queryPageSql">
 		<where>
 			ses.del_flag_ = 0
 			<if test="categoriesId != null">
@@ -107,6 +112,9 @@
 			<if test="search != null and search != ''">
 				AND (ses.id_ = #{search} OR ses.name_ LIKE CONCAT('%',#{search},'%'))
 			</if>
+			<if test="clientType != null">
+				AND ses.client_type_ = #{clientType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
+			</if>
 			<if test="type != null and type == 'COMMON'">
 				AND ses.type_ = #{type}
 			</if>

+ 0 - 6
mec-im/src/main/java/com/ym/controller/RoomController.java

@@ -1,20 +1,14 @@
 package com.ym.controller;
 
-import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
-import com.alibaba.fastjson.serializer.SerializerFeature;
-import com.ym.common.ApiException;
 import com.ym.common.BaseResponse;
-import com.ym.common.ErrorEnum;
 import com.ym.pojo.*;
 import com.ym.service.MessageService;
 import com.ym.service.RoomService;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.web.bind.annotation.*;
-
 import java.util.List;
 
 @RestController

+ 7 - 0
mec-student/src/main/java/com/ym/mec/student/controller/SysMusicScoreAccompanimentController.java

@@ -1,5 +1,6 @@
 package com.ym.mec.student.controller;
 
+import com.ym.mec.biz.dal.enums.ClientTypeEnum;
 import com.ym.mec.biz.dal.page.SysExamSongQueryInfo;
 import com.ym.mec.biz.service.SysMusicScoreAccompanimentService;
 import com.ym.mec.common.controller.BaseController;
@@ -20,6 +21,9 @@ public class SysMusicScoreAccompanimentController extends BaseController {
     @GetMapping("/queryPage")
     public Object queryPage(SysExamSongQueryInfo queryInfo) {
         queryInfo.setType("COMMON");
+        if(queryInfo.getClientType() == null){
+            queryInfo.setClientType(ClientTypeEnum.NETWORK_ROOM);
+        }
         return succeed(sysMusicScoreAccompanimentService.queryAccPage(queryInfo));
     }
 
@@ -27,6 +31,9 @@ public class SysMusicScoreAccompanimentController extends BaseController {
     @GetMapping("/queryPageLimit")
     public Object queryPageLimit(SysExamSongQueryInfo queryInfo) {
         queryInfo.setType("COMMON");
+        if(queryInfo.getClientType() == null){
+            queryInfo.setClientType(ClientTypeEnum.NETWORK_ROOM);
+        }
         return succeed(sysMusicScoreAccompanimentService.queryPage(queryInfo));
     }
 

+ 4 - 0
mec-student/src/main/java/com/ym/mec/student/controller/SysMusicScoreController.java

@@ -1,5 +1,6 @@
 package com.ym.mec.student.controller;
 
+import com.ym.mec.biz.dal.enums.ClientTypeEnum;
 import com.ym.mec.biz.dal.page.SysExamSongQueryInfo;
 import com.ym.mec.biz.service.SysMusicScoreService;
 import com.ym.mec.common.controller.BaseController;
@@ -20,6 +21,9 @@ public class SysMusicScoreController extends BaseController {
     @GetMapping("/queryPage")
     public Object queryPage(SysExamSongQueryInfo queryInfo) {
         queryInfo.setType("COMMON");
+        if(queryInfo.getClientType() == null){
+            queryInfo.setClientType(ClientTypeEnum.NETWORK_ROOM);
+        }
         return succeed(sysMusicScoreService.queryPage(queryInfo));
     }
 }

+ 7 - 0
mec-teacher/src/main/java/com/ym/mec/teacher/controller/SysMusicScoreAccompanimentController.java

@@ -3,6 +3,7 @@ package com.ym.mec.teacher.controller;
 import com.ym.mec.auth.api.client.SysUserFeignService;
 import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.dal.entity.SysMusicScoreAccompaniment;
+import com.ym.mec.biz.dal.enums.ClientTypeEnum;
 import com.ym.mec.biz.dal.page.SysExamSongQueryInfo;
 import com.ym.mec.biz.service.SysMusicScoreAccompanimentService;
 import com.ym.mec.common.controller.BaseController;
@@ -54,6 +55,9 @@ public class SysMusicScoreAccompanimentController extends BaseController {
         if(sysUser == null){
             throw new BizException("请登录");
         }
+        if(queryInfo.getClientType() == null){
+            queryInfo.setClientType(ClientTypeEnum.NETWORK_ROOM);
+        }
         queryInfo.setCreateUserId(sysUser.getId());
         return succeed(sysMusicScoreAccompanimentService.queryAccPage(queryInfo));
     }
@@ -69,6 +73,9 @@ public class SysMusicScoreAccompanimentController extends BaseController {
         if(sysUser == null){
             throw new BizException("请登录");
         }
+        if(queryInfo.getClientType() == null){
+            queryInfo.setClientType(ClientTypeEnum.NETWORK_ROOM);
+        }
         queryInfo.setCreateUserId(sysUser.getId());
         return succeed(sysMusicScoreAccompanimentService.queryPage(queryInfo));
     }

+ 4 - 0
mec-teacher/src/main/java/com/ym/mec/teacher/controller/SysMusicScoreController.java

@@ -3,6 +3,7 @@ package com.ym.mec.teacher.controller;
 import com.ym.mec.auth.api.client.SysUserFeignService;
 import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.dal.dto.MusicScoreDto;
+import com.ym.mec.biz.dal.enums.ClientTypeEnum;
 import com.ym.mec.biz.dal.enums.ExamSongTypeEnum;
 import com.ym.mec.biz.dal.page.SysExamSongQueryInfo;
 import com.ym.mec.biz.service.SysMusicScoreService;
@@ -50,6 +51,9 @@ public class SysMusicScoreController extends BaseController {
         if(sysUser == null){
             throw new BizException("请登录");
         }
+        if(queryInfo.getClientType() == null){
+            queryInfo.setClientType(ClientTypeEnum.NETWORK_ROOM);
+        }
         queryInfo.setCreateUserId(sysUser.getId());
         return succeed(sysMusicScoreService.queryPage(queryInfo));
     }

+ 23 - 9
mec-web/src/main/java/com/ym/mec/web/controller/StudentRegistrationController.java

@@ -3,6 +3,7 @@ package com.ym.mec.web.controller;
 import com.ym.mec.auth.api.client.SysUserFeignService;
 import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.dal.entity.*;
+import com.ym.mec.biz.dal.enums.CourseViewTypeEnum;
 import com.ym.mec.biz.dal.page.NoClassMusicStudentQueryInfo;
 import com.ym.mec.biz.service.EmployeeService;
 import io.swagger.annotations.Api;
@@ -270,26 +271,39 @@ public class StudentRegistrationController extends BaseController {
             response.flushBuffer();
             return;
         }
+        MusicGroup musicGroup = musicGroupDao.get(queryInfo.getMusicGroupId());
         for (StudentPreRegistrationDto row : studentPreRegistration.getRows()) {
             if (row.getKitPurchaseMethod().equals("OWNED")) {
                 row.setKitPurchaseMethod("自行准备");
             } else if (row.getKitPurchaseMethod().equals("GROUP")) {
                 row.setKitPurchaseMethod("团购");
             }
-            if(row.getSubjectFirst().equals(999)){
+            if ("OWNED".equals(row.getCloudTeacherMethod())) {
+                row.setCloudTeacherMethod("自行准备");
+            } else if ("GROUP".equals(row.getCloudTeacherMethod())) {
+                row.setCloudTeacherMethod("团购");
+            }
+            if (row.getSubjectFirst().equals(999)) {
                 row.setSubjectFirstName("听从老师安排");
             }
-            if(row.getSubjectSecond().equals(999)){
+            if (row.getSubjectSecond().equals(999)) {
                 row.setSubjectSecondName("听从老师安排");
             }
             row.setCurrentGrade(row.getCurrentGrade() + row.getCurrentClass());
         }
         OutputStream outputStream = response.getOutputStream();
         try {
-            String[] header = {"学员编号", "学员姓名", "性别", "联系电话", "年级班级", "选报声部1", "选报声部2", "是否服从调剂", "乐器准备方式"};
-            String[] body = {"userId", "userName", "gender ? '男' : '女'", "phone", "currentGrade", "subjectFirstName", "subjectSecondName", "isAllowAdjust ? '是' : '否'", "kitPurchaseMethod"};
+            HSSFWorkbook workbook = null;
+            if (musicGroup.getCourseViewType().equals(CourseViewTypeEnum.CLOUD_TEACHER)) {
+                String[] header = {"学员编号", "学员姓名", "性别", "联系电话", "年级班级", "选报声部1", "选报声部2", "是否服从调剂", "乐器准备方式", "练习系统"};
+                String[] body = {"userId", "userName", "gender ? '男' : '女'", "phone", "currentGrade", "subjectFirstName", "subjectSecondName", "isAllowAdjust ? '是' : '否'", "kitPurchaseMethod", "cloudTeacherMethod"};
+                workbook = POIUtil.exportExcel(header, body, studentPreRegistration.getRows());
+            } else {
+                String[] header = {"学员编号", "学员姓名", "性别", "联系电话", "年级班级", "选报声部1", "选报声部2", "是否服从调剂", "乐器准备方式"};
+                String[] body = {"userId", "userName", "gender ? '男' : '女'", "phone", "currentGrade", "subjectFirstName", "subjectSecondName", "isAllowAdjust ? '是' : '否'", "kitPurchaseMethod"};
+                workbook = POIUtil.exportExcel(header, body, studentPreRegistration.getRows());
+            }
 
-            HSSFWorkbook workbook = POIUtil.exportExcel(header, body, studentPreRegistration.getRows());
             response.setContentType("application/octet-stream");
             response.setHeader("Content-Disposition", "attachment;filename=pre-register-" + DateUtil.getDate(new Date()) + ".xls");
             response.flushBuffer();
@@ -312,7 +326,7 @@ public class StudentRegistrationController extends BaseController {
     @ApiOperation(value = "查询乐团中未加入班级学员信息")
     @GetMapping("/queryNoClassMusicStudentInfo")
     @PreAuthorize("@pcs.hasPermissions('studentRegistration/queryNoClassMusicStudentInfo')")
-    public HttpResponseResult queryNoClassMusicStudentInfo(NoClassMusicStudentQueryInfo queryInfo){
+    public HttpResponseResult queryNoClassMusicStudentInfo(NoClassMusicStudentQueryInfo queryInfo) {
         SysUser sysUser = sysUserFeignService.queryUserInfo();
         if (sysUser == null) {
             return failed("用户信息获取失败");
@@ -320,11 +334,11 @@ public class StudentRegistrationController extends BaseController {
         Employee employee = employeeService.get(sysUser.getId());
         if (StringUtils.isBlank(queryInfo.getOrganIds())) {
             queryInfo.setOrganIds(employee.getOrganIdList());
-        }else if(StringUtils.isEmpty(employee.getOrganIdList())){
+        } else if (StringUtils.isEmpty(employee.getOrganIdList())) {
             return failed("用户所在分部异常");
-        }else {
+        } else {
             List<String> list = Arrays.asList(employee.getOrganIdList().split(","));
-            if(!list.containsAll(Arrays.asList(queryInfo.getOrganIds().split(",")))){
+            if (!list.containsAll(Arrays.asList(queryInfo.getOrganIds().split(",")))) {
                 return failed("非法请求");
             }
         }

+ 1 - 0
mec-web/src/main/java/com/ym/mec/web/controller/SysMusicScoreAccompanimentController.java

@@ -1,6 +1,7 @@
 package com.ym.mec.web.controller;
 
 import com.ym.mec.biz.dal.entity.SysMusicScoreAccompaniment;
+import com.ym.mec.biz.dal.enums.ClientTypeEnum;
 import com.ym.mec.biz.dal.page.SysExamSongQueryInfo;
 import com.ym.mec.biz.service.SysMusicScoreAccompanimentService;
 import com.ym.mec.common.controller.BaseController;