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_,enable_,market_price_)
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},#{enable},#{marketPrice})
UPDATE vip_group_activity SET enable_ = #{enable},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},attribute2_ = #{attribute2},
name_ = #{name},start_time_ = #{startTime},attribute3_ = #{attribute3},vip_group_category_id_list_ = #{vipGroupCategoryIdList},
description_ = #{description},salary_settlement_json_ = #{salarySettlementJson},courses_start_time_ = #{coursesStartTime},
type_ = #{type},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},end_time_ = #{endTime},market_price_ = #{marketPrice},update_time_ = NOW() 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 vga.enable_ = #{enable}
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 FIND_IN_SET(#{applyToStudentType},vga.apply_to_student_type_)