浏览代码

系统收费

zouxuan 4 年之前
父节点
当前提交
cbb836b2a7

+ 8 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/CourseScheduleTeacherSalaryDao.java

@@ -521,6 +521,14 @@ public interface CourseScheduleTeacherSalaryDao extends BaseDAO<Long, CourseSche
 	 * @return
 	 */
 	List<Map<Long, String>> queryTeacherIdMap(@Param("courseScheduleIds") List<Long> courseScheduleIds, @Param("teacherRole") String teacherRole);
+	/**
+	 * 获取课程关联的教师列表
+	 * @zouxuan
+	 * @param courseScheduleIds
+	 * @param teacherRole
+	 * @return
+	 */
+	List<Map<Long, String>> queryTeacherNameMap(@Param("courseScheduleIds") List<Long> courseScheduleIds, @Param("teacherRole") String teacherRole);
 
 	/**
 	 * @describe 获取指定时间段内已结算的教师课酬记录

+ 7 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/StudentDao.java

@@ -221,4 +221,11 @@ public interface StudentDao extends com.ym.mec.common.dal.BaseDAO<Integer, Stude
      * @return int
      */
     int updateNewStudentsToOld(@Param("userIds") List<Integer> userIds);
+
+    /**
+     * 获取有会员的学员列表
+     * @param studentIdsStr
+     * @return
+     */
+    int getMemberNum(@Param("studentIdsStr") String studentIdsStr);
 }

+ 12 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/TeacherAttendanceDto.java

@@ -4,6 +4,7 @@ import com.ym.mec.biz.dal.entity.ClassGroup;
 import com.ym.mec.biz.dal.entity.CourseSchedule;
 import com.ym.mec.biz.dal.enums.ClassGroupTypeEnum;
 import com.ym.mec.biz.dal.enums.CourseStatusEnum;
+import com.ym.mec.biz.dal.enums.CourseViewTypeEnum;
 import com.ym.mec.biz.dal.enums.YesOrNoEnum;
 import io.swagger.annotations.ApiModelProperty;
 
@@ -101,10 +102,21 @@ public class TeacherAttendanceDto {
     @ApiModelProperty(value = "是否有会员:0否,1已发送")
     private int hasMember;
 
+    @ApiModelProperty(value = "乐团收费方式")
+    private CourseViewTypeEnum courseViewType;
+
     private Integer enableStudentAttendanceTimeRange;
 
     private Integer enableStudentAttendanceTimeRangeVip;
 
+    public CourseViewTypeEnum getCourseViewType() {
+        return courseViewType;
+    }
+
+    public void setCourseViewType(CourseViewTypeEnum courseViewType) {
+        this.courseViewType = courseViewType;
+    }
+
     public int getHasMember() {
         return hasMember;
     }

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

@@ -52,6 +52,17 @@ public class CourseHomework {
 	@ApiModelProperty(value = "预计完成人数",required = false)
 	private Integer expectNum;
 
+	@ApiModelProperty(value = "伴奏编号",required = false)
+	private Integer musicScoreId;
+
+	public Integer getMusicScoreId() {
+		return musicScoreId;
+	}
+
+	public void setMusicScoreId(Integer musicScoreId) {
+		this.musicScoreId = musicScoreId;
+	}
+
 	public Date getExpiryDate() {
 		return expiryDate;
 	}

+ 11 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/ImGroupMember.java

@@ -29,7 +29,17 @@ public class ImGroupMember {
 	
 	/**  */
 	private java.util.Date updateTime;
-	
+
+	private Integer hasMember;
+
+	public Integer getHasMember() {
+		return hasMember;
+	}
+
+	public void setHasMember(Integer hasMember) {
+		this.hasMember = hasMember;
+	}
+
 	public void setId(Long id){
 		this.id = id;
 	}

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

@@ -23,12 +23,22 @@ public class ImUserFriend {
 	
 	private String tags;
 
+	private Integer hasMember;
+
 	/**  */
 	private java.util.Date createTime;
 
 	/**  */
 	private java.util.Date updateTime;
 
+	public Integer getHasMember() {
+		return hasMember;
+	}
+
+	public void setHasMember(Integer hasMember) {
+		this.hasMember = hasMember;
+	}
+
 	public void setId(Long id) {
 		this.id = id;
 	}

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

@@ -105,7 +105,7 @@ public interface CourseReviewService extends BaseService<Integer, CourseSchedule
 	 * @param expiryDate
 	 * @return
 	 */
-	CourseHomework addHomeWork(Integer courseScheduleId,String content, Date expiryDate);
+	CourseHomework addHomeWork(Integer courseScheduleId,String content, Date expiryDate,Integer musicScoreId);
 
 	/**
 	 * 获取网管课列表

+ 2 - 2
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupServiceImpl.java

@@ -4633,8 +4633,8 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
         List<CourseSchedule> courseSchedules = courseScheduleDao.queryPreCourseListByClassGroupId(classGroupId);
         if(courseSchedules.size() > 0){
             List<Long> courseIdList = courseSchedules.stream().map(e -> e.getId()).collect(Collectors.toList());
-            Map<Long, String> bishopTeacherMap = MapUtil.convertMybatisMap(courseScheduleTeacherSalaryDao.queryTeacherIdMap(courseIdList,"BISHOP"));
-            Map<Long, String> teachingTeacherMap = MapUtil.convertMybatisMap(courseScheduleTeacherSalaryDao.queryTeacherIdMap(courseIdList,"TEACHING"));
+            Map<Long, String> bishopTeacherMap = MapUtil.convertMybatisMap(courseScheduleTeacherSalaryDao.queryTeacherNameMap(courseIdList,"BISHOP"));
+            Map<Long, String> teachingTeacherMap = MapUtil.convertMybatisMap(courseScheduleTeacherSalaryDao.queryTeacherNameMap(courseIdList,"TEACHING"));
             for (CourseSchedule courseSchedule : courseSchedules) {
                 courseSchedule.setActualTeacherName(bishopTeacherMap.get(courseSchedule.getId()));
                 courseSchedule.setTeachingTeacherNames(teachingTeacherMap.get(courseSchedule.getId()));

+ 3 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseReviewServiceImpl.java

@@ -532,7 +532,7 @@ public class CourseReviewServiceImpl extends BaseServiceImpl<Integer, CourseSche
 
     @Override
     @Transactional(rollbackFor = Exception.class, isolation = Isolation.READ_COMMITTED)
-    public CourseHomework addHomeWork(Integer courseScheduleId, String content, Date expiryDate) {
+    public CourseHomework addHomeWork(Integer courseScheduleId, String content, Date expiryDate,Integer musicScoreId) {
         if (StringUtils.isBlank(content)) {
             throw new BizException("作业内容不能为空");
         }
@@ -566,8 +566,10 @@ public class CourseReviewServiceImpl extends BaseServiceImpl<Integer, CourseSche
             courseHomework.setId(existHomework.getId());
             courseHomework.setContent(content);
             courseHomework.setExpiryDate(expiryDate);
+            courseHomework.setMusicScoreId(musicScoreId);
             courseHomeworkService.update(courseHomework);
         } else {
+            courseHomework.setMusicScoreId(musicScoreId);
             courseHomework.setContent(content);
             courseHomework.setCourseScheduleId(courseSchedule.getId());
             courseHomework.setMusicGroupId(courseSchedule.getMusicGroupId());

+ 6 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleServiceImpl.java

@@ -221,7 +221,12 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
         int normalRemindNum = studentAttendanceDao.countNormalRemindNum(courseID);
         currentCourseDetail.setNormalRemind(normalRemindNum<=0?0:1);
 
-        currentCourseDetail.setCurrentTime(new Date());
+		CourseSchedule courseSchedule = courseScheduleDao.get(courseID);
+		MusicGroup musicGroup = musicGroupDao.get(courseSchedule.getMusicGroupId());
+		if(musicGroup != null){
+			currentCourseDetail.setCourseViewType(musicGroup.getCourseViewType());
+		}
+		currentCourseDetail.setCurrentTime(new Date());
         currentCourseDetail.setAdvanceSignInMinutes(Integer.parseInt(sysConfigDao.findConfigValue(SysConfigService.ADVANCE_SIGN_IN_MINUTES)));
 		currentCourseDetail.setAttendanceRange(CourseScheduleType.VIP.equals(currentCourseDetail.getCourseType())?Integer.parseInt(sysConfigDao.findConfigValue(SysConfigService.ATTENDANCE_RANGE_VIP)):Integer.parseInt(sysConfigDao.findConfigValue(SysConfigService.ATTENDANCE_RANGE)));
         currentCourseDetail.setAdvanceSignOutMinutes(Integer.parseInt(sysConfigDao.findConfigValue(SysConfigService.ADVANCE_SIGN_OUT_MINUTES)));

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

@@ -925,7 +925,10 @@ public class StudentServeServiceImpl implements StudentServeService {
             }
             MusicGroup musicGroup = musicGroupDao.get(courseSchedule.getMusicGroupId());
             if(musicGroup != null){
-                result.put("courseViewType", CourseViewTypeEnum.MEMBER_FEE.getCode());
+                result.put("courseViewType", CourseViewTypeEnum.MEMBER_FEE);
+            }else {
+                //获取有会员的学员数
+                result.put("memberNum", studentDao.getMemberNum(studentIdsStr));
             }
             localDate=LocalDateTime.ofInstant(courseSchedule.getClassDate().toInstant(), DateUtil.zoneId).toLocalDate();
             List<CourseScheduleStudentPayment> courseScheduleStudentPayments = courseScheduleStudentPaymentDao.findByCourseSchedule(courseScheduleId);

+ 2 - 1
mec-biz/src/main/resources/config/mybatis/CourseScheduleMapper.xml

@@ -3884,7 +3884,8 @@
             </foreach>
     </select>
     <select id="queryPreCourseListByClassGroupId" resultMap="CourseSchedule">
-        SELECT * FROM course_schedule WHERE class_group_id_ = #{classGroupId} AND is_lock_ = 1 AND pre_course_flag_ = 1
+        SELECT <include refid="resultSql"/> FROM course_schedule WHERE class_group_id_ = #{classGroupId}
+        AND is_lock_ = 1 AND pre_course_flag_ = 1
     </select>
 
     <select id="queryPreCourseListByMusicGroupId" resultMap="CourseSchedule">

+ 13 - 0
mec-biz/src/main/resources/config/mybatis/CourseScheduleTeacherSalaryMapper.xml

@@ -1077,6 +1077,19 @@
 		</if>
 		GROUP BY course_schedule_id_
 	</select>
+	<select id="queryTeacherNameMap" resultType="java.util.Map">
+		SELECT course_schedule_id_ 'key',GROUP_CONCAT(DISTINCT su.real_name_) 'value'
+		FROM course_schedule_teacher_salary csts
+		LEFT JOIN sys_user su ON su.id_ = csts.user_id_
+		WHERE course_schedule_id_ IN
+		<foreach collection="courseScheduleIds" open="(" close=")" separator="," item="item">
+			#{item}
+		</foreach>
+		<if test="teacherRole != null">
+			AND teacher_role_ = #{teacherRole}
+		</if>
+		GROUP BY course_schedule_id_
+	</select>
 
 	<select id="getIsSalaryWithDate" resultMap="CourseScheduleTeacherSalary">
 		SELECT

+ 3 - 0
mec-biz/src/main/resources/config/mybatis/ImGroupMapper.xml

@@ -30,6 +30,7 @@
 		<result column="update_time_" property="updateTime" />
 		<result column="username_" property="user.username" />
 		<result column="avatar_" property="user.avatar" />
+		<result column="member_rank_setting_id_" property="hasMember" />
 	</resultMap>
 	
 	<!-- 根据主键查询一条记录 -->
@@ -130,7 +131,9 @@
 	
 	<select id="queryMemberById" resultMap="ImGroupMemberDto">
 		SELECT igm.*,u.avatar_,case when find_in_set('STUDENT',u.user_type_) then u.username_ else u.real_name_ end username_
+					,CASE WHEN s.member_rank_setting_id_ IS NULL THEN 0 ELSE 1 END member_rank_setting_id_
 		FROM im_group_member igm left join sys_user u on igm.user_id_ = u.id_
+								 LEFT JOIN student s ON s.user_id_ = u.id_
 		where igm.im_group_id_ = #{imGroupId}
 	</select>
 	

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

@@ -13,6 +13,7 @@
 		<result column="friend_nickname_" property="friendNickname" />
 		<result column="memo_" property="memo" />
 		<result column="tags_" property="tags" />
+		<result column="member_rank_setting_id_" property="hasMember" />
 		<result column="create_time_" property="createTime" />
 		<result column="update_time_" property="updateTime" />
 	</resultMap>
@@ -90,8 +91,11 @@
 	</select>
 	
 	<select id="queryFriendListByUserId" resultMap="ImUserFriendDto" parameterType="map">
-		SELECT iuf.*,u.real_name_,u.avatar_,u.phone_,u.user_type_ FROM im_user_friend iuf left join sys_user u on iuf.friend_id_ = u.id_
-		where iuf.user_id_ = #{userId}
+		SELECT iuf.*,u.real_name_,u.avatar_,u.phone_,u.user_type_,CASE WHEN s.member_rank_setting_id_ IS NULL THEN 0 ELSE 1 END member_rank_setting_id_
+		FROM im_user_friend iuf
+		LEFT JOIN sys_user u ON iuf.friend_id_ = u.id_
+		LEFT JOIN student s ON s.user_id_ = u.id_
+		WHERE iuf.user_id_ = #{userId}
 		<if test="search != null">
 			and (u.real_name_ like concat('%',#{search},'%') or iuf.friend_nickname_ like concat('%',#{search},'%'))
 		</if>

+ 3 - 0
mec-biz/src/main/resources/config/mybatis/StudentMapper.xml

@@ -715,6 +715,9 @@
         LEFT JOIN course_schedule_student_payment cssp ON s.user_id_=cssp.user_id_
         WHERE s.is_new_user_=1 AND cssp.group_type_='VIP'
     </select>
+    <select id="getMemberNum" resultType="int">
+        SELECT COUNT(0) FROM student WHERE member_rank_setting_id_ IS NOT NULL AND FIND_IN_SET(user_id_,#{studentIdsStr})
+    </select>
 
     <update id="updateGrade"><![CDATA[
         UPDATE student SET current_grade_num_=current_grade_num_+1

+ 3 - 2
mec-teacher/src/main/java/com/ym/mec/teacher/controller/CourseReviewController.java

@@ -109,13 +109,14 @@ public class CourseReviewController extends BaseController {
     @PostMapping(value = "/addHomeWork")
     @ApiImplicitParams({ @ApiImplicitParam(name = "courseId", value = "课程编号", required = true, dataType = "int"),
             @ApiImplicitParam(name = "content", value = "作业内容", required = true, dataType = "String"),
+            @ApiImplicitParam(name = "musicScoreId", value = "伴奏编号", required = true, dataType = "Integer"),
             @ApiImplicitParam(name = "expiryDate", value = "作业截止日期", required = true, dataType = "Date")})
-    public HttpResponseResult addHomeWork(Integer courseId, String content, Date expiryDate) {
+    public HttpResponseResult addHomeWork(Integer courseId, String content, Date expiryDate,Integer musicScoreId) {
         SysUser sysUser = sysUserFeignService.queryUserInfo();
         if (Objects.isNull(sysUser)) {
             return failed(HttpStatus.FORBIDDEN, "请登录");
         }
-        return succeed(courseReviewService.addHomeWork(courseId,content,expiryDate));
+        return succeed(courseReviewService.addHomeWork(courseId,content,expiryDate,musicScoreId));
     }
 
 }