瀏覽代碼

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

zouxuan 5 年之前
父節點
當前提交
93f484a217

+ 11 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/PracticeGroupDao.java

@@ -74,6 +74,17 @@ public interface PracticeGroupDao extends com.ym.mec.common.dal.BaseDAO<Long, Pr
                                         @Param("groupId") Long groupId);
 
     /**
+     * @describe 获取学生指定的课程组
+     * @author Joburgess
+     * @date 2020/2/19
+     * @param userId:
+     * @param groupId:
+     * @return com.ym.mec.biz.dal.entity.PracticeGroup
+     */
+    PracticeGroupDto findUserPracticeGroup2(@Param("userId") Integer userId,
+                                        @Param("groupId") Long groupId);
+
+    /**
      * @describe 获取学生最后一次购买的陪练课组
      * @author Joburgess
      * @date 2020/2/17

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

@@ -1,5 +1,6 @@
 package com.ym.mec.biz.dal.entity;
 
+import com.ym.mec.biz.dal.enums.GroupStatusEnum;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 
 import java.util.Date;
@@ -54,6 +55,16 @@ public class PracticeGroup {
 
 	private String drillTimesJson;
 
+	private GroupStatusEnum groupStatus;
+
+	public GroupStatusEnum getGroupStatus() {
+		return groupStatus;
+	}
+
+	public void setGroupStatus(GroupStatusEnum groupStatus) {
+		this.groupStatus = groupStatus;
+	}
+
 	public Integer getBuyMonths() {
 		return buyMonths;
 	}

+ 38 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/enums/GroupStatusEnum.java

@@ -0,0 +1,38 @@
+package com.ym.mec.biz.dal.enums;
+
+import com.ym.mec.common.enums.BaseEnum;
+
+/**
+ * @Author Joburgess
+ * @Date 2020/2/21
+ **/
+public enum GroupStatusEnum implements BaseEnum<String, GroupStatusEnum> {
+
+    NORMAL("NORMAL", "正常"),
+    LOCK("LOCK", "锁定");
+
+    private String code;
+
+    private String desc;
+
+    GroupStatusEnum(String code, String desc) {
+        this.code = code;
+        this.desc = desc;
+    }
+
+    @Override
+    public String getCode() {
+        return code;
+    }
+
+    public void setCode(String code) {
+        this.code = code;
+    }
+
+    public String getDesc() {
+        return desc;
+    }
+
+    public void setDesc(String desc) {
+        this.desc = desc;
+    }}

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

@@ -736,7 +736,6 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
         return result;
     }
 
-
     @Override
     public List<SimpleUserDto> getEnableApplyTeachers(Integer userId, Integer subjectId) {
         if (Objects.isNull(subjectId)) {
@@ -1770,6 +1769,7 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
 
         practiceGroup.setName(subject.getName() + "•" + sysUser.getUsername());
         practiceGroup.setSingleClassMinutes(practiceCourseMinutes);
+        practiceGroup.setGroupStatus(GroupStatusEnum.NORMAL);
         practiceGroupDao.insert(practiceGroup);
 
         //创建班级信息
@@ -2089,7 +2089,7 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
         if(Objects.isNull(groupId)){
             throw new BizException("请选择续费的课程");
         }
-        return practiceGroupDao.findUserPracticeGroup(userId, groupId);
+        return practiceGroupDao.findUserPracticeGroup2(userId, groupId);
     }
 
     @Override
@@ -2112,6 +2112,7 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
         } else {
             userDefaultSubjectIds = new ArrayList<>();
         }
+        Collections.swap(subjects,6,7);
         PracticeGroupSellPrice practiceGroupSellPrice = practiceGroupSellPriceDao.get(organId);
         result.put("subjects", subjects);
         result.put("practiceApplyStartTime", practiceApplyStartTimeConfig.getParanValue());
@@ -2621,6 +2622,7 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
         practiceGroupBuyParams.setDrillTimesJson(drillTimesObject.toJSONString());
         practiceGroupBuyParams.setOrganId(sysUser.getOrganId());
         practiceGroupBuyParams.setSingleClassMinutes(practiceCourseMinutes);
+        practiceGroupBuyParams.setGroupStatus(GroupStatusEnum.LOCK);
         practiceGroupDao.insert(practiceGroupBuyParams);
 
         //创建班级信息
@@ -2915,6 +2917,9 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
         PracticeGroup practiceGroup = practiceGroupDao.get(Long.valueOf(order.getMusicGroupId()));
         ClassGroup classGroup = classGroupDao.findByMusicGroupAndType(order.getMusicGroupId(), GroupType.PRACTICE.getCode());
 
+        practiceGroup.setGroupStatus(GroupStatusEnum.NORMAL);
+        practiceGroupDao.update(practiceGroup);
+
 //        List<ImGroupMember> imGroupMemberList = new ArrayList<>();
 //        imGroupMemberList.add(new ImGroupMember(practiceGroup.getUserId().toString()));
 //        imGroupMemberList.add(new ImGroupMember(practiceGroup.getStudentId().toString()));

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

@@ -529,6 +529,7 @@
             LEFT JOIN student_attendance sa ON sa.course_schedule_id_ = cs.id_  AND sa.user_id_=#{studentId}
         WHERE
         (cs.del_flag_ != 1 OR cs.del_flag_ IS NULL)
+        AND cs.is_lock_=0
         AND cs.class_date_ = DATE_FORMAT(#{classDate},'%Y%m%d')
         AND cssp.user_id_ = #{studentId}
         <if test="quitClassGroupIds != null and quitClassGroupIds.size()>0">
@@ -569,6 +570,7 @@
             LEFT JOIN teacher_attendance ta ON cs.id_=ta.course_schedule_id_ AND ta.teacher_id_=#{teacherId}
         WHERE
         (cs.del_flag_ != 1 OR cs.del_flag_ IS NULL)
+        AND cs.is_lock_=0
         AND cs.class_date_ = DATE_FORMAT(#{classDate},'%Y%m%d')
         <if test="type!=null and type!=''">
             AND cs.type_=#{type}
@@ -2134,6 +2136,7 @@
         LEFT JOIN practice_group pg ON cs.music_group_id_ = pg.id_
         LEFT JOIN class_group cg ON cs.class_group_id_ = cg.id_
         WHERE cs.group_type_ = 'PRACTICE' AND cs.del_flag_ = 0 AND cg.del_flag_ = 0
+        AND pg.group_status_='NORMAL'
         <if test="search != null and search != ''">
             AND (pg.id_ = #{search} OR pg.name_ LIKE CONCAT('%',#{search},'%')
             OR cs.id_ = #{search} OR cs.name_ LIKE CONCAT('%',#{search},'%')

+ 22 - 4
mec-biz/src/main/resources/config/mybatis/PracticeGroupMapper.xml

@@ -22,6 +22,7 @@
 		<result column="buy_months_" property="buyMonths" />
 		<result column="drill_times_on_week_" property="drillTimesOnWeek" />
 		<result column="drill_times_json_" property="drillTimesJson" />
+		<result column="group_status_" property="groupStatus" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
 	</resultMap>
 
 	<resultMap id="PracticeCourseDto" type="com.ym.mec.biz.dal.dto.PracticeCourseDto" extends="PracticeGroup">
@@ -30,7 +31,7 @@
 		<result property="subjectName" column="subject_name_"/>
 	</resultMap>
 
-	<resultMap type="com.ym.mec.biz.dal.dto.PracticeGroupDto" id="PracticeGroupDto">
+	<resultMap type="com.ym.mec.biz.dal.dto.PracticeGroupDto" id="PracticeGroupDto" extends="PracticeGroup">
 		<result column="id_" property="id" />
 		<result column="name_" property="name" />
 		<result column="subject_id_" property="subjectId" />
@@ -50,6 +51,17 @@
 		WHERE id_ = #{practiceGroupId}
 	</update>
 
+	<update id="update" parameterType="com.ym.mec.biz.dal.entity.PracticeGroup">
+		UPDATE practice_group
+		<set>
+			<if test="groupStatus!=null">
+				group_status_=#{groupStatus,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
+			</if>
+			update_time_ = NOW()
+		</set>
+		WHERE id_ = #{id}
+	</update>
+
 	<!-- 根据主键查询一条记录 -->
 	<select id="get" resultMap="PracticeGroup">
 		SELECT * FROM practice_group WHERE id_ = #{id}
@@ -68,8 +80,8 @@
 		</selectKey>
 		-->
 		INSERT INTO practice_group
-		(id_,name_,subject_id_,user_id_,student_id_,single_class_minutes_,organ_id_,courses_start_date_,courses_expire_date_,create_time_,update_time_,memo_,buy_months_,drill_times_on_week_,drill_times_json_)
-		VALUES(#{id},#{name},#{subjectId},#{userId},#{studentId},#{singleClassMinutes},#{organId},#{coursesStartDate},#{coursesExpireDate},NOW(),NOW(),#{memo},#{buyMonths},#{drillTimesOnWeek},#{drillTimesJson})
+		(id_,name_,subject_id_,user_id_,student_id_,single_class_minutes_,organ_id_,courses_start_date_,courses_expire_date_,create_time_,update_time_,memo_,buy_months_,drill_times_on_week_,drill_times_json_,group_status_)
+		VALUES(#{id},#{name},#{subjectId},#{userId},#{studentId},#{singleClassMinutes},#{organId},#{coursesStartDate},#{coursesExpireDate},NOW(),NOW(),#{memo},#{buyMonths},#{drillTimesOnWeek},#{drillTimesJson},#{groupStatus,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler})
 	</insert>
 	
 	
@@ -126,12 +138,18 @@
 			student_id_=#{userId}
 			AND spo.status_="SUCCESS"
 	</select>
-    <select id="findUserPracticeGroup" resultMap="PracticeGroup">
+	<select id="findUserPracticeGroup" resultMap="PracticeGroup">
 		SELECT * FROM practice_group WHERE student_id_=#{userId} AND id_=#{groupId};
 	</select>
+	<select id="findUserPracticeGroup2" resultMap="PracticeGroupDto">
+		SELECT pg.*,su.real_name_ teacher_name_ FROM practice_group pg
+		LEFT JOIN sys_user su ON pg.user_id_ = su.id_
+		WHERE pg.student_id_=#{userId} AND pg.id_=#{groupId};
+	</select>
 
     <sql id="practiceGroupQueryCondition">
 		<where>
+			pg.group_status_='NORMAL'
 			<if test="search!=null and search!=''">
 				AND (pg.name_ LIKE CONCAT('%',#{search},'%') OR pg.id_= #{search})
 			</if>