INSERT INTO vip_group_activity (name_,description_,vip_group_category_id_list_,start_time_,end_time_,organ_id_,courses_start_time_,courses_end_time_,type_,
attribute1_,attribute2_,attribute3_,salary_readonly_flag_,give_class_pay_salary_flag_,create_time_,update_time_,salary_settlement_json_,del_flag_,
payment_readonly_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_)
VALUES(#{name},#{description},#{vipGroupCategoryIdList},#{startTime},#{endTime},#{organId},#{coursesStartTime},#{coursesEndTime},#{type},#{attribute1},#{attribute2},#{attribute3},
#{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})
UPDATE vip_group_activity
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},
salary_readonly_flag_ = #{salaryReadonlyFlag},
organ_id_ = #{organId},
give_class_pay_salary_flag_ = #{giveClassPaySalaryFlag},
courses_end_time_ = #{coursesEndTime},
attribute1_ = #{attribute1},
end_time_ = #{endTime},
attribute2_ = #{attribute2},
name_ = #{name},
start_time_ = #{startTime},
attribute3_ = #{attribute3},
create_time_ = #{createTime},
vip_group_category_id_list_ = #{vipGroupCategoryIdList},
description_ = #{description},
salary_settlement_json_ = #{salarySettlementJson},
courses_start_time_ = #{coursesStartTime},
type_ = #{type},
del_flag_ = #{delFlag},
payment_readonly_flag_ = #{paymentReadonlyFlag},
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},
update_time_ = NOW()
WHERE id_ = #{id}
UPDATE vip_group_activity SET del_flag_=1 WHERE id_ = #{id}
vga.del_flag_ = 0
AND course_type_ = #{courseType}
AND give_course_type_ = #{giveCourseType}
AND INTE_ARRAY(organ_id_,#{organId})
AND enable_ = #{enable}
AND (vga.id_=#{search} OR vga.name_ LIKE CONCAT('%', #{search}, '%'))
AND apply_to_student_type_=#{applyToStudentType}