INSERT INTO vip_group_activity (name_,description_,vip_group_category_id_list_,start_time_,end_time_,organ_id_,courses_start_time_,courses_end_time_,
create_time_,update_time_,salary_settlement_json_,del_flag_,
online_class_join_gradient_rewards_,offline_class_join_gradient_rewards_,min_course_num_,max_course_num_,
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_,market_price_,give_allow_online_to_offline_)
VALUES(#{name},#{description},#{vipGroupCategoryIdList},#{startTime},#{endTime},#{organId},#{coursesStartTime},#{coursesEndTime},
now(),now(),#{salarySettlementJson},#{delFlag},#{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},#{marketPrice},#{giveAllowOnlineToOffline})
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},
give_course_type_ = #{giveCourseType},give_category_id_ = #{giveCategoryId},give_course_num_ = #{giveCourseNum},
activity_type_ = #{activityType},course_type_ = #{courseType},member_time_ = #{memberTime},
member_rank_id_ = #{memberRankId},give_member_time_ = #{giveMemberTime},give_member_rank_id_ = #{giveMemberRankId},
organ_id_ = #{organId},
courses_end_time_ = #{coursesEndTime},
name_ = #{name},start_time_ = #{startTime},vip_group_category_id_list_ = #{vipGroupCategoryIdList},
description_ = #{description},salary_settlement_json_ = #{salarySettlementJson},courses_start_time_ = #{coursesStartTime},
online_class_join_gradient_rewards_=#{onlineClassJoinGradientRewards},
offline_class_join_gradient_rewards_=#{offlineClassJoinGradientRewards},min_course_num_=#{minCourseNum},
max_course_num_=#{maxCourseNum},student_max_used_times_=#{studentMaxUsedTimes},apply_to_student_type_=#{applyToStudentType},
allow_online_to_offline_=#{allowOnlineToOffline},end_time_ = #{endTime},market_price_ = #{marketPrice},update_time_ = NOW(),give_allow_online_to_offline_ = #{giveAllowOnlineToOffline} WHERE id_ = #{id}
UPDATE vip_group_activity SET del_flag_=1 WHERE id_ = #{id}
vga.del_flag_ = 0
AND vga.course_type_ = #{courseType}
AND vga.give_course_type_ = #{giveCourseType}
AND INTE_ARRAY(vga.organ_id_,#{organId})
AND ((NOW() < vga.end_time_ AND NOW() > vga.start_time_) OR vga.end_time_ IS NULL)
AND (NOW() >= vga.end_time_ OR NOW() <= vga.start_time_)
AND (vga.give_course_num_ > 0 OR vga.member_time_ > 0)
AND vga.give_course_num_ = 0 AND vga.member_time_ = 0
AND vga.give_course_type_ = #{giveType} AND vga.give_course_num_ > 0
AND vga.give_course_type_ = #{status} AND vga.give_member_time_ > 0
AND vga.status_ = #{status}
AND vga.allow_online_to_offline_ = #{allowOnlineToOffline}
AND (vga.id_ = #{search} OR vga.name_ LIKE CONCAT('%', #{search}, '%'))
AND (aps.new_student_ = #{newStudent} OR aps.new_student_ = -1)
AND (aps.member_flag_ = #{memberFlag} OR aps.member_flag_ = -1)