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}