Browse Source

活动排课

zouxuan 4 years ago
parent
commit
b445cc321f

+ 10 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/ActivityQueryDto.java

@@ -32,6 +32,16 @@ public class ActivityQueryDto{
 
     private Integer teacherId;
 
+    private Boolean enable;
+
+    public Boolean getEnable() {
+        return enable;
+    }
+
+    public void setEnable(Boolean enable) {
+        this.enable = enable;
+    }
+
     public Integer getTeacherId() {
         return teacherId;
     }

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

@@ -127,9 +127,6 @@ public class VipGroupActivity {
 	@ApiModelProperty(value = "是否删除")
 	private Boolean delFlag = false;
 
-	@ApiModelProperty(value = "是否可用")
-	private Boolean enable = false;
-
 	@ApiModelProperty(value = "线上课是否参与梯度奖励")
 	private Integer onlineClassJoinGradientRewards = 0;
 
@@ -454,14 +451,6 @@ public class VipGroupActivity {
 		this.delFlag = delFlag;
 	}
 
-	public Boolean getEnable() {
-		return enable;
-	}
-
-	public void setEnable(Boolean enable) {
-		this.enable = enable;
-	}
-
 	public Integer getOnlineClassJoinGradientRewards() {
 		return onlineClassJoinGradientRewards;
 	}

+ 0 - 3
mec-biz/src/main/java/com/ym/mec/biz/service/impl/PracticeGroupServiceImpl.java

@@ -5093,9 +5093,6 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
     public Object buyActivityPracticeGroup(PracticeGroupBuyParamsDto practiceGroupBuyParams) throws Exception {
         Integer activityId = practiceGroupBuyParams.getActivityId();
         VipGroupActivity activity = vipGroupActivityDao.get(activityId);
-        if(!activity.getEnable()){
-            throw new BizException("活动尚未开启,感谢您的关注");
-        }
         Date now = new Date();
         Date startTime = activity.getStartTime();
         Date endTime = activity.getEndTime();

+ 0 - 18
mec-biz/src/main/java/com/ym/mec/biz/service/impl/VipGroupActivityServiceImpl.java

@@ -75,16 +75,6 @@ public class VipGroupActivityServiceImpl extends BaseServiceImpl<Integer, VipGro
 			checkSettlement(vipGroupSalarySettlement.getPracticeSalarySettlement());
 			checkSettlement(vipGroupSalarySettlement.getGivePracticeSalarySettlement());
 		}
-		if("PROGRESS".equals(vipGroupActivityAddDto.getStatus())){
-			Date date = new Date();
-			if(vipGroupActivityAddDto.getStartTime() == null || vipGroupActivityAddDto.getEndTime() == null){
-				vipGroupActivityAddDto.setEnable(true);
-			}else if(vipGroupActivityAddDto.getStartTime().compareTo(date) <= 0 && vipGroupActivityAddDto.getEndTime().compareTo(date) > 0){
-				vipGroupActivityAddDto.setEnable(true);
-			}else {
-				vipGroupActivityAddDto.setEnable(false);
-			}
-		}
 		vipGroupActivityAddDto.setSalarySettlementJson(JSON.toJSONString(vipGroupActivityAddDto.getVipGroupSalarySettlement()));
 		ActivityApplyStudentType applyToStudentType = getApplyToStudentType(vipGroupActivityAddDto.getApplyToStudentType());
 //		vipGroupActivityAddDto.setApplyToStudentType(JSONObject.toJSONString(applyToStudentType));
@@ -138,14 +128,6 @@ public class VipGroupActivityServiceImpl extends BaseServiceImpl<Integer, VipGro
 			oldVipGroupActivity.setEndTime(vipGroupActivityAddDto.getEndTime());
 			oldVipGroupActivity.setApplyToStudentType(vipGroupActivityAddDto.getApplyToStudentType());
 			oldVipGroupActivity.setStudentMaxUsedTimes(vipGroupActivityAddDto.getStudentMaxUsedTimes());
-			Date date = new Date();
-			if(vipGroupActivityAddDto.getStartTime() == null || vipGroupActivityAddDto.getEndTime() == null){
-				vipGroupActivityAddDto.setEnable(true);
-			}else if(vipGroupActivityAddDto.getStartTime().compareTo(date) <= 0 && vipGroupActivityAddDto.getEndTime().compareTo(date) > 0){
-				vipGroupActivityAddDto.setEnable(true);
-			}else {
-				vipGroupActivityAddDto.setEnable(false);
-			}
 			super.update(oldVipGroupActivity);
 		}else {
 			VipGroupSalarySettlementDto vipGroupSalarySettlement = vipGroupActivityAddDto.getVipGroupSalarySettlement();

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

@@ -23,7 +23,6 @@
 		<result column="update_time_" property="updateTime" />
 		<result column="salary_settlement_json_" property="salarySettlementJson" />
 		<result column="vip_group_category_names_" property="vipGroupCategoryNames"/>
-		<result property="enable" column="enable"/>
 		<result property="delFlag" column="del_flag_"/>
 		<result property="onlineClassJoinGradientRewards" column="online_class_join_gradient_rewards_"/>
 		<result property="offlineClassJoinGradientRewards" column="offline_class_join_gradient_rewards_"/>
@@ -51,8 +50,8 @@
 		<result property="periodEnum" column="period_" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
 		<result property="givePeriodEnum" column="give_period_" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
 		<result property="status" column="status_"/>
-		<result property="enable" column="enable_"/>
 		<result property="marketPrice" column="market_price_"/>
+		<result property="enable" column="enable_"/>
 	</resultMap>
 	
 	<!-- 根据主键查询一条记录 -->
@@ -73,18 +72,18 @@
 										student_max_used_times_, apply_to_student_type_,allow_online_to_offline_,
 										single_course_time_,discount_,full_minus_course_times_,give_course_type_,give_category_id_,give_course_num_
 										,member_rank_id_,member_time_,give_member_rank_id_,give_member_time_,course_type_,
-		                                activity_type_,give_sign_course_time_,is_pay_to_balance_,teach_mode_,give_teach_mode_,period_,give_period_,status_,enable_,market_price_)
+		                                activity_type_,give_sign_course_time_,is_pay_to_balance_,teach_mode_,give_teach_mode_,period_,give_period_,status_,market_price_)
 		VALUES(#{name},#{description},#{vipGroupCategoryIdList},#{startTime},#{endTime},#{organId},#{coursesStartTime},#{coursesEndTime},
 		       #{salaryReadonlyFlag},#{giveClassPaySalaryFlag},now(),now(),#{salarySettlementJson},#{delFlag},#{paymentReadonlyFlag},#{onlineClassJoinGradientRewards},
 		       #{offlineClassJoinGradientRewards},#{minCourseNum},#{maxCourseNum},#{studentMaxUsedTimes},#{applyToStudentType},#{allowOnlineToOffline},
 			   #{singleCourseTime},#{discount},#{fullMinusCourseTimes},#{giveCourseType},#{giveCategoryId},#{giveCourseNum}
 				  ,#{memberRankId},#{memberTime},#{giveMemberRankId},#{giveMemberTime},#{courseType},#{activityType},#{giveSingleCourseTime},
-		       #{isPayToBalance},#{teachMode},#{giveTeachMode},#{periodEnum},#{givePeriodEnum},#{status},#{enable},#{marketPrice})
+		       #{isPayToBalance},#{teachMode},#{giveTeachMode},#{periodEnum},#{givePeriodEnum},#{status},#{marketPrice})
 	</insert>
 	
 	<!-- 根据主键查询一条记录 -->
 	<update id="update" parameterType="com.ym.mec.biz.dal.entity.VipGroupActivity">
-		UPDATE vip_group_activity SET enable_ = #{enable},status_ = #{status},give_period_ = #{givePeriodEnum,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
+		UPDATE vip_group_activity SET status_ = #{status},give_period_ = #{givePeriodEnum,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
 		period_ = #{periodEnum,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},give_teach_mode_ = #{giveTeachMode},
 		teach_mode_ = #{teachMode},is_pay_to_balance_ = #{isPayToBalance},give_sign_course_time_ = #{giveSingleCourseTime},
 		single_course_time_ = #{singleCourseTime},discount_ = #{discount},full_minus_course_times_ = #{fullMinusCourseTimes},
@@ -118,8 +117,11 @@
 			<if test="organId != null">
 				AND INTE_ARRAY(vga.organ_id_,#{organId})
 			</if>
-			<if test="enable != null">
-				AND vga.enable_ = #{enable}
+			<if test="enable != null and enable == true">
+				AND ((NOW() &lt; vga.end_time_ AND NOW() > vga.start_time_) OR vga.end_time_ IS NULL)
+			</if>
+			<if test="enable != null and enable == false">
+				AND (NOW() >= vga.end_time_ OR NOW() &lt;= vga.start_time_)
 			</if>
 			<if test="giveFlag != null">
 				<if test="giveFlag == 'true'">
@@ -155,7 +157,7 @@
 	<!-- 分页查询 -->
 	<select id="queryPage" resultMap="VipGroupActivity" parameterType="map">
 		SELECT
-		vga.*,((NOW() &lt; end_time_ AND NOW() > start_time_) OR end_time_ IS NULL) enable,
+		vga.*,((NOW() &lt; end_time_ AND NOW() > start_time_) OR end_time_ IS NULL) enable_,
 		GROUP_CONCAT(vgc.name_) vip_group_category_names_
 		FROM vip_group_activity vga
 		LEFT JOIN vip_group_category vgc ON FIND_IN_SET(vgc.id_,vga.vip_group_category_id_list_)
@@ -174,14 +176,21 @@
 		SELECT vga.* FROM
 			vip_group_activity vga
 			LEFT JOIN activity_apply_student_type ast ON vga.id_ = ast.activity_id_
-		WHERE vga.status_ = 'PROGRESS' AND vga.enable_ = 1
+		WHERE vga.status_ = 'PROGRESS'
+		AND vga.del_flag_ = 0 AND vga.course_type_ = #{activityQueryDto.courseType}
+		AND FIND_IN_SET(#{activityQueryDto.organId},vga.organ_id_)
+		<if test="enable != null and enable == true">
+			AND ((NOW() &lt; vga.end_time_ AND NOW() > vga.start_time_) OR vga.end_time_ IS NULL)
+		</if>
+		<if test="enable != null and enable == false">
+			AND (NOW() >= vga.end_time_ OR NOW() &lt;= vga.start_time_)
+		</if>
 		<if test="activityQueryDto.categoryId != null">
 		  AND FIND_IN_SET(#{activityQueryDto.categoryId}, vga.vip_group_category_id_list_ )
 		</if>
 		<if test="activityQueryDto.includeClosed == null">
 			AND (vga.end_time_ IS NULL OR NOW() BETWEEN vga.start_time_ AND vga.end_time_)
 		</if>
-		AND vga.del_flag_ = 0 AND vga.course_type_ = #{activityQueryDto.courseType} AND FIND_IN_SET(#{activityQueryDto.organId},vga.organ_id_)
 		<if test="activityQueryDto.newStudentNum != null">
 			AND ast.new_student_ != #{activityQueryDto.newStudentNum}
 		</if>
@@ -196,7 +205,8 @@
 		</if>
 	</select>
     <select id="queryNamesById" resultType="java.util.Map">
-		SELECT vga.id_ `key`,vga.name_ `value` FROM vip_group_activity vga WHERE FIND_IN_SET(vga.id_,#{activityIds}) AND vga.del_flag_=0
+		SELECT vga.id_ `key`,vga.name_ `value` FROM vip_group_activity vga
+		WHERE FIND_IN_SET(vga.id_,#{activityIds}) AND vga.del_flag_=0
 	</select>
 	
     <select id="queryByIds" resultMap="VipGroupActivity">

+ 2 - 1
mec-teacher/src/main/java/com/ym/mec/teacher/controller/VipGroupActivityController.java

@@ -134,6 +134,7 @@ public class VipGroupActivityController extends BaseController {
         }
         activityQueryDto.setOrganId(student.getOrganId().toString());
         activityQueryDto.setIncludeClosed(activityQueryDto.isOnlySpecialActivity()?true:null);
+        activityQueryDto.setEnable(true);
         List<VipGroupActivity> vipGroupActivities = vipGroupActivityService.findByVipGroupCategory(activityQueryDto);
         SysConfig sysConfig = sysConfigService.findByParamName(SysConfigService.VIP_SPECIAL_ACTIVITY_IDS);
         if(activityQueryDto.isOnlySpecialActivity()){
@@ -202,7 +203,7 @@ public class VipGroupActivityController extends BaseController {
             return failed("学员信息不存在");
         }
         activityQueryDto.setOrganId(student.getOrganId().toString());
-
+        activityQueryDto.setEnable(true);
         List<VipGroupActivity> vipGroupActivities = vipGroupActivityService.findByVipGroupCategory(activityQueryDto);
         Iterator<VipGroupActivity> iterator = vipGroupActivities.iterator();
         while (iterator.hasNext()){

+ 12 - 18
mec-web/src/main/java/com/ym/mec/web/controller/VipGroupActivityController.java

@@ -64,19 +64,17 @@ public class VipGroupActivityController extends BaseController {
         return succeed(vipGroupActivityService.get(id));
     }
 
-    @ApiOperation(value = "启用停用")
-    @GetMapping("/enable")
-    @PreAuthorize("@pcs.hasPermissions('vipGroupActivity/enable')")
-    public Object enable(Integer id){
-        VipGroupActivity activity = vipGroupActivityService.get(id);
-        Boolean enable = !activity.getEnable();
-        Date date = new Date();
-        if(enable && (activity.getStartTime() == null || activity.getStartTime().compareTo(date) > 0 || activity.getEndTime() == null || activity.getEndTime().compareTo(date) <= 0)){
-            throw new BizException("当前时间段不允许开启活动");
-        }
-        activity.setEnable(enable);
-        return succeed(vipGroupActivityService.update(activity));
-    }
+//    @ApiOperation(value = "启用停用")
+//    @GetMapping("/enable")
+//    @PreAuthorize("@pcs.hasPermissions('vipGroupActivity/enable')")
+//    public Object enable(Integer id){
+//        VipGroupActivity activity = vipGroupActivityService.get(id);
+//        Date date = new Date();
+//        if(enable && (activity.getStartTime() == null || activity.getStartTime().compareTo(date) > 0 || activity.getEndTime() == null || activity.getEndTime().compareTo(date) <= 0)){
+//            throw new BizException("当前时间段不允许开启活动");
+//        }
+//        return succeed(vipGroupActivityService.update(activity));
+//    }
 
     @ApiOperation(value = "分页查询活动方案")
     @GetMapping("/queryPage")
@@ -118,10 +116,6 @@ public class VipGroupActivityController extends BaseController {
         if(Objects.isNull(id)){
             throw new BizException("请指定活动编号!");
         }
-        VipGroupActivity activity = vipGroupActivityService.get(id);
-        if(activity.getEnable()){
-            throw new BizException("当前状态不允许删除!");
-        }
         vipGroupActivityService.delete(id);
         return succeed();
     }
@@ -154,7 +148,7 @@ public class VipGroupActivityController extends BaseController {
             return failed("学员信息不存在");
         }
         activityQueryDto.setOrganId(student.getOrganId().toString());
-
+        activityQueryDto.setEnable(true);
         List<VipGroupActivity> vipGroupActivities = vipGroupActivityService.findByVipGroupCategory(activityQueryDto);
 
         SysConfig doubleElevenIdConfig = sysConfigService.findByParamName(SysConfigService.VIP_SPECIAL_ACTIVITY_IDS);

+ 1 - 1
mec-web/src/main/java/com/ym/mec/web/controller/education/EduVipGroupActivityController.java

@@ -82,7 +82,7 @@ public class EduVipGroupActivityController extends BaseController {
             return failed("学员信息不存在");
         }
         activityQueryDto.setOrganId(student.getOrganId().toString());
-
+        activityQueryDto.setEnable(true);
         List<VipGroupActivity> vipGroupActivities = vipGroupActivityService.findByVipGroupCategory(activityQueryDto);
         Iterator<VipGroupActivity> iterator = vipGroupActivities.iterator();
         while (iterator.hasNext()){