Jelajahi Sumber

活动排课

zouxuan 3 tahun lalu
induk
melakukan
3d11e417ea

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

@@ -15,6 +15,9 @@ public class ActivityUserMapper {
 	
 	/**  */
 	private Integer userId;
+
+	/**  */
+	private Integer teacherId;
 	
 	/** vip课排课标记0没有排课资格1未排课2已排课 */
 	private Integer vipFlag = 0;
@@ -56,6 +59,14 @@ public class ActivityUserMapper {
 	/**  */
 	private java.util.Date updateTime;
 
+	public Integer getTeacherId() {
+		return teacherId;
+	}
+
+	public void setTeacherId(Integer teacherId) {
+		this.teacherId = teacherId;
+	}
+
 	public Long getMemberOrderId() {
 		return memberOrderId;
 	}

+ 13 - 6
mec-biz/src/main/java/com/ym/mec/biz/service/StudentPaymentOrderService.java

@@ -201,13 +201,20 @@ public interface StudentPaymentOrderService extends BaseService<Long, StudentPay
     Integer getOrderIdByMusical(@Param("musicGroupId") String musicGroupId, @Param("studentId") Integer studentId);
 
     /**
-    * @description: 活动赠送课程,或者会员
+     * @description: 活动赠送课程,或者会员
      * @param vipGroupActivityId
      * @param userId
      * @param paymentOrderId
-    * @return void
-    * @author zx
-    * @date 2021/10/11 10:36
-    */
-    Integer activityGive(Integer vipGroupActivityId,Integer userId,Long paymentOrderId,Long vipGroupId,Long practiceGroupId,Integer buyNum,Integer organId);
+     * @return void
+     * @author zx
+     * @date 2021/10/11 10:36
+     */
+    Integer activityGive(Integer vipGroupActivityId,
+                         Integer userId,
+                         Long paymentOrderId,
+                         Long vipGroupId,
+                         Long practiceGroupId,
+                         Integer buyNum,
+                         Integer organId,
+                         Integer teacherId);
 }

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

@@ -3703,7 +3703,7 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
                     order.getUserId(),
                     order.getId(),
                     null,
-                    practiceGroup.getId(),order.getActivityBuyNum(),order.getOrganId());
+                    practiceGroup.getId(),order.getActivityBuyNum(),order.getOrganId(),practiceGroup.getUserId());
             practiceGroup.setActivityUserMapperId(activityUserMapperId);
             if(classGroup.getDelFlag() == 1){
                 updatePracticeGroupStudentNumAndStatus(practiceGroup, classGroup,order);
@@ -3970,6 +3970,7 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
             activityUserMapper.setActivityId(activityId);
             activityUserMapper.setUserId(order.getUserId());
             activityUserMapper.setPaymentOrderId(order.getId());
+            activityUserMapper.setTeacherId(student.getTeacherId());
 
             if(activity.getActivityType() == 1){
                 //会员立即生效

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

@@ -716,7 +716,7 @@ public class StudentPaymentOrderServiceImpl extends BaseServiceImpl<Long, Studen
 
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public Integer activityGive(Integer vipGroupActivityId, Integer userId, Long paymentOrderId,Long vipGroupId,Long practiceGroupId,Integer buyNum,Integer organId) {
+    public Integer activityGive(Integer vipGroupActivityId, Integer userId, Long paymentOrderId,Long vipGroupId,Long practiceGroupId,Integer buyNum,Integer organId,Integer teacherId) {
         Integer activityUserMapperId = null;
         if(vipGroupActivityId != null){
             ActivityUserMapper activityUserMapper = new ActivityUserMapper();
@@ -725,6 +725,7 @@ public class StudentPaymentOrderServiceImpl extends BaseServiceImpl<Long, Studen
             activityUserMapper.setPaymentOrderId(paymentOrderId);
             activityUserMapper.setUserId(userId);
             activityUserMapper.setActivityId(vipGroupActivityId);
+            activityUserMapper.setTeacherId(teacherId);
             if(vipGroupId != null){
                 activityUserMapper.setVipFlag(2);
             }else {

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

@@ -2952,7 +2952,7 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 					userId,
 					studentPaymentOrder.getId(),
 					vipGroupId,
-					null,studentPaymentOrder.getActivityBuyNum(),studentPaymentOrder.getOrganId());
+					null,studentPaymentOrder.getActivityBuyNum(),studentPaymentOrder.getOrganId(),vipGroup.getUserId());
 			if(classGroup.getDelFlag() == 1){
 				updateVipGroupStudentNumAndStatus(vipGroupId, classGroup,0,true);
 			}

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

@@ -10,6 +10,7 @@
 		<result column="id_" property="id" />
 		<result column="activity_id_" property="activityId" />
 		<result column="user_id_" property="userId" />
+		<result column="teacher_id_" property="teacherId" />
 		<result column="vip_flag_" property="vipFlag" />
 		<result column="give_vip_flag_" property="giveVipFlag" />
 		<result column="practice_flag_" property="practiceFlag" />
@@ -42,16 +43,19 @@
 	<insert id="insert" parameterType="com.ym.mec.biz.dal.entity.ActivityUserMapper" useGeneratedKeys="true" keyColumn="id" keyProperty="id">
 		INSERT INTO activity_user_mapper (activity_id_,user_id_,vip_flag_,give_vip_flag_,
 		                                  practice_flag_,give_practice_flag_,member_flag_,give_member_flag_,create_time_,update_time_,payment_order_id_,
-										  vip_group_id_,give_vip_group_id_,practice_group_id_,give_practice_group_id_,return_fee_,member_order_id_,give_member_order_id_)
+										  vip_group_id_,give_vip_group_id_,practice_group_id_,give_practice_group_id_,return_fee_,member_order_id_,give_member_order_id_,teacher_id_)
 		                                  VALUES(#{activityId},#{userId},#{vipFlag},#{giveVipFlag},#{practiceFlag},
 		                                         #{givePracticeFlag},#{memberFlag},#{giveMemberFlag},NOW(),NOW(),#{paymentOrderId},#{vipGroupId},
-		                                         #{giveVipGroupId},#{practiceGroupId},#{givePracticeGroupId},#{returnFee},#{memberOrderId},#{giveMemberOrderId})
+		                                         #{giveVipGroupId},#{practiceGroupId},#{givePracticeGroupId},#{returnFee},#{memberOrderId},#{giveMemberOrderId},#{teacherId})
 	</insert>
 	
 	<!-- 根据主键查询一条记录 -->
 	<update id="update" parameterType="com.ym.mec.biz.dal.entity.ActivityUserMapper">
 		UPDATE activity_user_mapper
 		<set>
+			<if test="teacherId != null">
+				teacher_id_ = #{teacherId},
+			</if>
 			<if test="memberOrderId != null">
 				member_order_id_ = #{memberOrderId},
 			</if>

+ 9 - 11
mec-biz/src/main/resources/config/mybatis/VipGroupActivityMapper.xml

@@ -273,10 +273,9 @@
 		<result property="studentNum" column="student_num_"/>
 	</resultMap>
 	<select id="queryWaitCourseActivity" resultMap="WaitCourseActivityDto">
-		SELECT aum.activity_id_,vga.name_ activity_name_,COUNT(DISTINCT aum.user_id_) student_num_ FROM student s
-		LEFT JOIN activity_user_mapper aum ON s.user_id_ = aum.user_id_
+		SELECT aum.id_,aum.activity_id_,vga.name_ activity_name_,COUNT(DISTINCT aum.user_id_) student_num_ FROM activity_user_mapper aum
 		LEFT JOIN vip_group_activity vga ON aum.activity_id_ = vga.id_
-		WHERE s.teacher_id_ = #{teacherId} AND (aum.vip_flag_ = 1 OR aum.practice_flag_ = 1 OR aum.give_vip_flag_ = 1 OR aum.give_practice_flag_ = 1)
+		WHERE aum.teacher_id_ = #{teacherId} AND (aum.vip_flag_ = 1 OR aum.practice_flag_ = 1 OR aum.give_vip_flag_ = 1 OR aum.give_practice_flag_ = 1)
 		GROUP BY aum.activity_id_,aum.user_id_
 	</select>
 	<resultMap id="ActivityWaitCourseStudentNumDto" type="com.ym.mec.biz.dal.dto.ActivityWaitCourseStudentNumDto">
@@ -294,14 +293,13 @@
 			   COUNT(CASE WHEN aum.practice_flag_ > 0 THEN 1 ELSE NULL END) practice_num_,
 			   COUNT(CASE WHEN aum.give_vip_flag_ > 0 THEN 1 ELSE NULL END) give_vip_num_,
 			   COUNT(CASE WHEN aum.give_practice_flag_ > 0 THEN 1 ELSE NULL END) give_practice_num_
-		FROM student s
-		LEFT JOIN (SELECT activity_id_,MAX(vip_flag_) vip_flag_,MAX(practice_flag_) practice_flag_,
-		MAX(give_vip_flag_) give_vip_flag_,MAX(give_practice_flag_) give_practice_flag_,user_id_
-		FROM activity_user_mapper
-		WHERE activity_id_ = #{activityId}
-		GROUP BY user_id_) aum ON s.user_id_ = aum.user_id_
-		WHERE aum.activity_id_ = #{activityId} AND s.teacher_id_ = #{userId}
-		GROUP BY s.user_id_;
+		FROM (SELECT activity_id_,MAX(vip_flag_) vip_flag_,MAX(practice_flag_) practice_flag_,
+					 MAX(give_vip_flag_) give_vip_flag_,MAX(give_practice_flag_) give_practice_flag_,user_id_,teacher_id_
+			  FROM activity_user_mapper
+			  WHERE activity_id_ = #{activityId}
+			  GROUP BY user_id_) aum
+		WHERE aum.activity_id_ = #{activityId} AND aum.teacher_id_ = #{userId}
+		GROUP BY aum.user_id_
 	</select>
 	<select id="getActivityStudentCanCourseNum" resultMap="ActivityWaitCourseStudentNumDto">
 		SELECT COUNT(CASE WHEN aum.vip_flag_ = 1 THEN 1 ELSE NULL END) vip_num_,