INSERT INTO music_group_payment_calender
(music_group_id_,music_group_organization_course_settings_id_,pay_user_type_,reject_reason_,start_payment_date_,deadline_payment_date_,status_,expect_num_,
actual_num_,memo_,is_give_music_network_,create_time_,update_time_,payment_valid_start_date_,payment_valid_end_date_,
payment_pattern_,payment_type_,payment_amount_,batch_no_,audit_memo_,operator_,attribute1_,
attribute2_,student_ids_,member_payment_amount_,member_rank_setting_id_,member_valid_date_
,original_member_payment_amount_,current_total_amount_,original_total_amount_,tenant_id_,organ_id_,cloud_teacher_payment_flag_,payment_item_show_state_,is_show_sale_price_)
VALUES(#{musicGroupId},#{musicGroupOrganizationCourseSettingId},#{payUserType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
#{rejectReason},#{startPaymentDate},#{deadlinePaymentDate},#{status,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
#{expectNum},#{actualNum},#{memo},#{isGiveMusicNetwork},now(),now(),
#{paymentValidStartDate},#{paymentValidEndDate},#{paymentPattern},#{paymentType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
#{paymentAmount},#{batchNo},#{auditMemo},#{operator},#{attribute1},#{attribute2},#{studentIds},
#{memberPaymentAmount},#{memberRankSettingId},#{memberValidDate},#{originalMemberPaymentAmount},
#{currentTotalAmount},#{originalTotalAmount},#{tenantId},#{organId},#{cloudTeacherPaymentFlag},#{paymentItemShowState},#{isShowSalePrice})
UPDATE music_group_payment_calender
current_total_amount_ = #{currentTotalAmount},
original_total_amount_ = #{originalTotalAmount},
original_member_payment_amount_ = #{originalMemberPaymentAmount},
member_payment_amount_ = #{memberPaymentAmount},
member_rank_setting_id_ = #{memberRankSettingId},
member_valid_date_ = #{memberValidDate},
student_ids_ = #{studentIds},
audit_memo_ = #{auditMemo},
payment_type_ = #{paymentType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
payment_valid_start_date_ = #{paymentValidStartDate},
payment_valid_end_date_ = #{paymentValidEndDate},
payment_pattern_ = #{paymentPattern},
is_give_music_network_ = #{isGiveMusicNetwork},
deadline_payment_date_ = #{deadlinePaymentDate},
status_ = #{status,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
expect_num_ = #{expectNum},
actual_num_ = #{actualNum},
memo_ = #{memo},
start_payment_date_ = #{startPaymentDate},
music_group_organization_course_settings_id_ = #{musicGroupOrganizationCourseSettingId},
pay_user_type_ = #{payUserType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
reject_reason_ = #{rejectReason},
update_time_ = NOW(),
music_group_id_ = #{musicGroupId},
batch_no_ = #{batchNo},
payment_amount_ = #{paymentAmount},
attribute1_ = #{attribute1},
attribute2_ = #{attribute2},
payment_item_show_state_ = #{paymentItemShowState},
is_show_sale_price_ = #{isShowSalePrice},
WHERE id_ = #{id} and tenant_id_ = #{tenantId}
UPDATE music_group_payment_calender
current_total_amount_ = #{item.currentTotalAmount},
original_total_amount_ = #{item.originalTotalAmount},
original_member_payment_amount_ = #{item.originalMemberPaymentAmount},
member_payment_amount_ = #{item.memberPaymentAmount},
member_rank_setting_id_ = #{item.memberRankSettingId},
member_valid_date_ = #{item.memberValidDate},
student_ids_ = #{item.studentIds},
payment_pattern_ = #{item.paymentPattern},
is_give_music_network_ = #{item.isGiveMusicNetwork},
deadline_payment_date_ = #{item.deadlinePaymentDate},
status_ = #{item.status,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
expect_num_ = #{item.expectNum},
actual_num_ = #{item.actualNum},
memo_ = #{item.memo},
audit_memo_ = #{item.auditMemo},
start_payment_date_ = #{item.startPaymentDate},
music_group_organization_course_settings_id_ = #{item.musicGroupOrganizationCourseSettingId},
pay_user_type_ = #{item.payUserType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
reject_reason_ = #{item.rejectReason},
update_time_ = NOW(),
music_group_id_ = #{item.musicGroupId},
batch_no_ = #{item.batchNo},
payment_amount_ = #{item.paymentAmount},
attribute1_ = #{item.attribute1},
attribute2_ = #{item.attribute2},
payment_item_show_state_ = #{item.paymentItemShowState},
is_show_sale_price_ = #{item.isShowSalePrice},
WHERE id_ = #{item.id} and tenant_id_ = #{item.tenantId}
UPDATE music_group_payment_calender
SET expect_num_ = expect_num_ - 1
WHERE id_ IN (SELECT music_group_payment_calender_id_ FROM music_group_payment_calender_detail
WHERE user_id_ = #{userId} AND payment_status_ = 'NON_PAYMENT')
AND expect_num_ > 0 AND music_group_id_ = #{musicGroupId}
DELETE FROM music_group_payment_calender WHERE id_ = #{id}
DELETE FROM music_group_payment_calender WHERE id_ IN
#{item}
DELETE FROM music_group_payment_calender WHERE music_group_id_ = #{musicGroupId}
mgpc.tenant_id_ = #{tenantId}
AND mgpc.music_group_id_ = #{musicGroupId}
AND mgpc.batch_no_ = #{batchNo}
AND mgpc.pay_user_type_ = #{payUserType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
AND mgpc.payment_type_ = #{paymentType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
AND mgpc.status_ = #{status,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
mgpc.batch_no_ IS NOT NULL and mgpc.tenant_id_ = #{tenantId}
AND mgpc.payment_type_ = #{paymentType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
AND mgpc.pay_user_type_ = #{payUserType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
AND mgpc.status_ = #{status,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
AND FIND_IN_SET(mg.organ_id_,#{organId})
AND (mg.id_ LIKE CONCAT('%',#{search},'%') OR mg.name_ LIKE CONCAT('%',#{search},'%'))
AND (mgpc.music_group_id_ = #{search} OR mg.name_ LIKE CONCAT('%',#{search},'%'))
AND mgpc.music_group_id_ = #{musicGroupId}
AND mgpc.batch_no_ = #{batchNo}
AND mgpc.pay_user_type_ = #{payUserType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
AND mgpc.payment_type_ = #{paymentType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
AND mgpc.status_ = #{status,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
AND FIND_IN_SET(mgpc.organ_id_,#{organId})
AND mgpc.tenant_id_ = #{tenantId}