t.id_ as id , t.music_sheet_name_ as musicSheetName, t.user_id_ as userId, t.composer_ as composer, t.music_subject_ as musicSubject, t.audio_type_ as audioType, t.music_tag_ as musicTag, t.play_speed_ as playSpeed, t.favorite_count_ as favoriteCount, t.virtual_number_ as virtualNumber, t.first_pass_audit_time_ as firstPassAuditTime, t.can_evaluate_ as canEvaluate, t.show_fingering_ as showFingering, t.charge_type_ as chargeType, t.payment_type_ as paymentType, t.provider_type_ as providerType, t.state_ as state, t.client_state_ as clientState, t.platform_state_ as platformState, t.sort_number_ as sortNumber, t.top_flag_ as topFlag, t.exquisite_flag_ as exquisiteFlag, t.hot_flag_ as hotFlag, t.music_price_ as musicPrice, t.audio_file_url_ as audioFileUrl, t.xml_file_url_ as xmlFileUrl, t.has_beat_ as hasBeat, t.mp3_type_ as mp3Type, t.ext_config_json_ as extConfigJson, t.create_time_ as createTime, t.create_by_ as createBy, t.update_time_ as updateTime, t.update_by_ as updateBy, t.del_flag_ as delFlag, t.audit_version_ as auditVersion, t.source_type_ as sourceType, t.accompaniment_type_ as accompanimentType, t.remark_ as remark, t.first_tone_ as firstTone, t.fixed_tone_ as fixedTone, t.title_img_ as titleImg, t.reason_ as reason, t.music_img_ as musicImg, t.notation_ as notation, t.music_json_ as musicJSON, t.music_svg_ as musicSvg, t.music_jian_svg_ as musicJianSvg, t.music_first_svg_ as musicFirstSvg, t.music_sheet_type_ as musicSheetType, t.audit_status_ as auditStatus, t.submit_audit_time_ as submitAuditTime, t.cbs_music_sheet_id_ as cbsMusicSheetId, t.score_type_ as scoreType, t.tenant_sort_number_ as tenantSortNumber, t.tenant_state_ as tenantState, t.tenant_notation_ as tenantNotation, t.tenant_category_id_ as tenantCategoryId, t.tenant_score_type_ as tenantScoreType, t.tenant_del_flag_ as tenantDelFlag insert into music_sheet (cbs_music_sheet_id_,music_tag_,payment_type_,charge_type_,top_flag_,exquisite_flag_,sort_number_,state_,audit_status_ ,music_sheet_name_,music_subject_,music_svg_,composer_,accompaniment_type_,play_speed_, music_price_,notation_,music_sheet_type_,source_type_,provider_type_,audio_type_,show_fingering_, can_evaluate_,create_by_,user_id_,score_type_,is_all_subject_,first_pass_audit_time_ ) values (#{item.musicSheetId}, #{item.musicTagIds},#{item.paymentType},#{item.paymentType}, #{item.topFlag},#{item.exquisiteFlag},#{item.sortNo},0 ,'PASS' ,#{item.musicSheetUpdate.name}, #{item.musicSheetUpdate.subjectIds}, #{item.musicSheetUpdate.musicSvg}, #{item.musicSheetUpdate.composer}, #{item.musicSheetUpdate.audioType}, #{item.musicSheetUpdate.playSpeed}, #{item.musicSheetUpdate.musicPrice}, #{item.isConvertibleScore}, #{item.musicSheetUpdate.musicSheetType}, CASE WHEN #{item.musicSheetUpdate.sourceType} = 'PLATFORM' THEN 'PLATFORM' WHEN #{item.musicSheetUpdate.sourceType} = 'PERSON' THEN 'TEACHER' ELSE 'TENANT' END, CASE WHEN #{item.availableType} = 'PLATFORM' THEN 'PLATFORM' ELSE 'TENANT' END, #{item.musicSheetUpdate.playMode}, #{item.musicSheetUpdate.showFingering}, #{item.musicSheetUpdate.canEvaluate}, #{item.musicSheetUpdate.userId},#{item.musicSheetUpdate.userId}, #{item.scoreType},#{item.musicSheetUpdate.isAllSubject},now() ) and t.music_sheet_type_ = #{param.musicSheetType} AND ((su.id_ like concat('%',#{param.idAndName} ,'%') or su.username_ like concat('%',#{param.idAndName},'%') or su.phone_ like concat('%',#{param.idAndName},'%')) OR (t.music_sheet_name_ like concat('%',#{param.idAndName},'%') AND msar.last_audit_state_ = 'PASS') OR (JSON_UNQUOTE(JSON_EXTRACT(music_sheet_json_, '$.name')) LIKE CONCAT('%',#{param.idAndName},'%') AND msar.last_audit_state_ != 'PASS')) AND (su.id_ like concat('%',#{param.idAndName} ,'%') or su.username_ like concat('%',#{param.idAndName},'%') or su.phone_ like concat('%',#{param.idAndName},'%') OR t.music_sheet_name_ like concat('%',#{param.idAndName},'%')) and (t.cbs_music_sheet_id_ like concat('%',#{param.search},'%') or t.music_sheet_name_ like concat('%',#{param.search},'%') or t.composer_ like concat ('%',#{param.search},'%')) and find_in_set(#{param.providerType},t.provider_type_) and find_in_set(#{item},t.music_tag_) and( find_in_set(#{item},t.music_subject_) or t.music_subject_ is null or t.music_subject_ = '' OR t.is_all_subject_ ) and(find_in_set(#{param.subjectIds},t.music_subject_) or t.music_subject_ is null or t.music_subject_ = '' OR t.is_all_subject_) and t.id_ in #{item} and t.tenant_state_ = #{param.state} and t.state_ = #{param.state} and t.state_ = #{param.state} and msar.last_audit_state_ = #{param.auditStatus} and t.score_type_ = #{param.scoreType} and t.create_by_ = #{param.createBy} and t.tenant_del_flag_ = #{param.delFlag} and t.del_flag_ = #{param.delFlag} and t.del_flag_ = #{param.delFlag} and t.source_type_ = #{param.sourceType} and (FIND_IN_SET(#{param.chargeType}, t.payment_type_)) and t.top_flag_ = #{param.topFlag} and t.exquisite_flag_ = #{param.exquisiteFlag} and t.accompaniment_type_ = #{param.accompanimentType} and t.audio_type_ = #{param.audioType} update music_sheet set favorite_count_ = favorite_count_ - 1 favorite_count_ + 1 favorite_count_ where id_ = #{musicSheetId} update music_sheet ms set ms.music_tag_ = #{item.musicTagIds},ms.payment_type_ = #{item.paymentType}, ms.charge_type_ = #{item.paymentType}, ms.music_price_ = #{item.musicPrice},ms.top_flag_ = #{item.topFlag}, ms.exquisite_flag_ = #{item.exquisiteFlag},ms.sort_number_ = #{item.sortNo},ms.del_flag_ = 0, ms.audit_status_ = 'PASS', ms.score_type_ = #{item.scoreType}, ms.state_ = #{item.status}, ms.notation_ = #{item.isConvertibleScore}, ms.provider_type_ = CASE WHEN #{item.availableType} = 'PLATFORM' THEN 'PLATFORM' ELSE 'TENANT' END ,ms.music_sheet_name_ = #{item.musicSheetUpdate.name}, ms.music_subject_ = #{item.musicSheetUpdate.subjectIds}, ms.music_svg_ = #{item.musicSheetUpdate.musicSvg}, ms.composer_ = #{item.musicSheetUpdate.composer}, ms.accompaniment_type_ = #{item.musicSheetUpdate.audioType}, ms.play_speed_ = #{item.musicSheetUpdate.playSpeed}, ms.notation_ = #{item.musicSheetUpdate.notation}, ms.music_sheet_type_ = #{item.musicSheetUpdate.musicSheetType}, ms.create_by_ = #{item.musicSheetUpdate.userId}, ms.audio_type_ = #{item.musicSheetUpdate.playMode}, ms.show_fingering_ = #{item.musicSheetUpdate.showFingering}, ms.can_evaluate_ = #{item.musicSheetUpdate.canEvaluate}, ms.is_all_subject_ = #{item.musicSheetUpdate.isAllSubject}, ms.source_type_ = CASE WHEN #{item.musicSheetUpdate.sourceType} = 'PLATFORM' THEN 'PLATFORM' WHEN #{item.musicSheetUpdate.sourceType} = 'PERSON' THEN 'TEACHER' ELSE 'TENANT' END, ms.first_pass_audit_time_ = IF(#{item.musicSheetUpdate.sourceType} = 'PERSON' and ms.first_pass_audit_time_ is null, now(), ms.first_pass_audit_time_) where ms.cbs_music_sheet_id_ = #{item.musicSheetId} update music_sheet tenant_state_ = #{status}, client_state_ = #{status} where FIND_IN_SET(cbs_music_sheet_id_,#{ids}) update music_sheet tenant_del_flag_ = 1, del_flag_ = 1 where FIND_IN_SET(cbs_music_sheet_id_,#{ids}) update music_sheet set music_sheet_name_ = #{param.name},music_subject_ = #{param.subjectIds},music_svg_ = #{param.musicSvg}, composer_ = #{param.composer},title_img_ = #{param.musicCover},music_img_ = #{param.musicCover},accompaniment_type_ = #{param.audioType}, play_speed_ = #{param.playSpeed},is_all_subject_ = #{param.isAllSubject},platform_state_ = #{param.platformStatus}, music_sheet_type_ = #{param.musicSheetType},source_type_ = CASE WHEN #{param.sourceType} = 'PLATFORM' THEN 'PLATFORM' ELSE 'TEACHER' END, create_by_ = #{param.userId},tenant_category_id_ = #{param.musicCategoryId} where cbs_music_sheet_id_ = #{param.id} update music_sheet ms set ms.tenant_sort_number_ = #{item.sortNo},ms.tenant_del_flag_ = 0, ms.tenant_score_type_ = #{item.scoreType}, ms.audit_status_ = 'PASS', ms.tenant_state_ = #{item.status}, ms.tenant_notation_ = #{item.isConvertibleScore}, ms.provider_type_ = CASE WHEN ms.provider_type_ is null or ms.provider_type_ = '' THEN 'TENANT' when find_in_set('TENANT',ms.provider_type_) then ms.provider_type_ else concat(ms.provider_type_,',','TENANT') end ,ms.music_sheet_name_ = #{item.musicSheetUpdate.name}, ms.music_subject_ = #{item.musicSheetUpdate.subjectIds}, ms.music_svg_ = #{item.musicSheetUpdate.musicSvg}, ms.composer_ = #{item.musicSheetUpdate.composer}, ms.accompaniment_type_ = #{item.musicSheetUpdate.audioType}, ms.play_speed_ = #{item.musicSheetUpdate.playSpeed}, ms.music_sheet_type_ = #{item.musicSheetUpdate.musicSheetType}, ms.create_by_ = #{item.musicSheetUpdate.userId}, ms.audio_type_ = #{item.musicSheetUpdate.playMode}, ms.tenant_category_id_ = #{item.musicSheetUpdate.musicCategoryId}, ms.show_fingering_ = #{item.musicSheetUpdate.showFingering}, ms.can_evaluate_ = #{item.musicSheetUpdate.canEvaluate}, ms.alias_ = #{item.musicSheetUpdate.alias}, ms.sort_num_ = #{item.musicSheetUpdate.sortNum}, ms.sort_group_ = #{item.musicSheetUpdate.sortGroup}, ms.sort_num2_ = #{item.musicSheetUpdate.sortNum2}, ms.upload_time_ = #{item.musicSheetUpdate.createTime}, ms.source_type_ = CASE WHEN #{item.musicSheetUpdate.sourceType} = 'PLATFORM' THEN 'PLATFORM' WHEN #{item.musicSheetUpdate.sourceType} = 'PERSON' THEN 'TEACHER' ELSE 'TENANT' END where ms.cbs_music_sheet_id_ = #{item.musicSheetId} update music_sheet ms set ms.music_tag_ = #{item.musicTagIds},ms.payment_type_ = #{item.paymentType}, ms.first_pass_audit_time_ = IF((#{item.musicSheetUpdate.sourceType} = 'PERSON' and ms.first_pass_audit_time_ is null) or !find_in_set('PLATFORM',ms.provider_type_), now(), ms.first_pass_audit_time_), ms.charge_type_ = #{item.paymentType}, ms.music_price_ = #{item.musicPrice},ms.top_flag_ = #{item.topFlag}, ms.exquisite_flag_ = #{item.exquisiteFlag},ms.sort_number_ = #{item.sortNo},ms.del_flag_ = 0, ms.audit_status_ = 'PASS', ms.score_type_ = #{item.scoreType}, ms.state_ = #{item.status}, ms.client_state_ = #{item.clientStatus}, ms.notation_ = #{item.isConvertibleScore}, ms.provider_type_ = CASE WHEN ms.provider_type_ is null or ms.provider_type_ = '' THEN 'PLATFORM' when find_in_set('PLATFORM',ms.provider_type_) then ms.provider_type_ else concat(ms.provider_type_,',','PLATFORM') end ,ms.music_sheet_name_ = #{item.musicSheetUpdate.name} ,ms.platform_state_ = #{item.musicSheetUpdate.platformStatus}, ms.music_subject_ = #{item.musicSheetUpdate.subjectIds}, ms.music_svg_ = #{item.musicSheetUpdate.musicSvg}, ms.composer_ = #{item.musicSheetUpdate.composer}, ms.accompaniment_type_ = #{item.musicSheetUpdate.audioType}, ms.play_speed_ = #{item.musicSheetUpdate.playSpeed}, ms.notation_ = #{item.musicSheetUpdate.notation}, ms.music_sheet_type_ = #{item.musicSheetUpdate.musicSheetType}, ms.create_by_ = #{item.musicSheetUpdate.userId}, ms.audio_type_ = #{item.musicSheetUpdate.playMode}, ms.show_fingering_ = #{item.musicSheetUpdate.showFingering}, ms.can_evaluate_ = #{item.musicSheetUpdate.canEvaluate}, ms.alias_ = #{item.musicSheetUpdate.alias}, ms.sort_num_ = #{item.musicSheetUpdate.sortNum}, ms.sort_group_ = #{item.musicSheetUpdate.sortGroup}, ms.sort_num2_ = #{item.musicSheetUpdate.sortNum2}, ms.source_type_ = CASE WHEN #{item.musicSheetUpdate.sourceType} = 'PLATFORM' THEN 'PLATFORM' WHEN #{item.musicSheetUpdate.sourceType} = 'PERSON' THEN 'TEACHER' ELSE 'TENANT' END where ms.cbs_music_sheet_id_ = #{item.musicSheetId} insert into music_sheet (cbs_music_sheet_id_,tenant_sort_number_,tenant_score_type_,tenant_state_,tenant_notation_,tenant_category_id_,tenant_del_flag_ ,music_sheet_name_,music_subject_,music_svg_,composer_,accompaniment_type_,play_speed_, music_sheet_type_,provider_type_,audio_type_,show_fingering_, can_evaluate_,create_by_,user_id_,audit_status_,upload_time_,source_type_ ) values (#{item.musicSheetId}, #{item.sortNo},#{item.scoreType},#{item.status},#{item.isConvertibleScore} ,#{item.musicSheetUpdate.musicCategoryId} ,#{item.delFlag} ,#{item.musicSheetUpdate.name}, #{item.musicSheetUpdate.subjectIds}, #{item.musicSheetUpdate.musicSvg}, #{item.musicSheetUpdate.composer}, #{item.musicSheetUpdate.audioType}, #{item.musicSheetUpdate.playSpeed}, #{item.musicSheetUpdate.musicSheetType}, 'TENANT', #{item.musicSheetUpdate.playMode}, #{item.musicSheetUpdate.showFingering}, #{item.musicSheetUpdate.canEvaluate}, #{item.musicSheetUpdate.userId}, #{item.musicSheetUpdate.userId}, 'PASS', #{item.musicSheetUpdate.createTime}, CASE WHEN #{item.musicSheetUpdate.sourceType} = 'PLATFORM' THEN 'PLATFORM' WHEN #{item.musicSheetUpdate.sourceType} = 'PERSON' THEN 'TEACHER' ELSE 'TENANT' END ) insert into music_sheet (cbs_music_sheet_id_,music_tag_,payment_type_,charge_type_,top_flag_,exquisite_flag_,sort_number_,state_,audit_status_ ,music_sheet_name_,music_subject_,music_svg_,composer_,accompaniment_type_,play_speed_, music_price_,notation_,music_sheet_type_,source_type_,provider_type_,audio_type_,show_fingering_, can_evaluate_,create_by_,user_id_,score_type_,platform_state_,client_state_,first_pass_audit_time_ ) values (#{item.musicSheetId}, #{item.musicTagIds},#{item.paymentType},#{item.paymentType}, #{item.topFlag},#{item.exquisiteFlag},#{item.sortNo},0 ,'PASS' ,#{item.musicSheetUpdate.name}, #{item.musicSheetUpdate.subjectIds}, #{item.musicSheetUpdate.musicSvg}, #{item.musicSheetUpdate.composer}, #{item.musicSheetUpdate.audioType}, #{item.musicSheetUpdate.playSpeed}, #{item.musicSheetUpdate.musicPrice}, #{item.isConvertibleScore}, #{item.musicSheetUpdate.musicSheetType}, CASE WHEN #{item.musicSheetUpdate.sourceType} = 'PLATFORM' THEN 'PLATFORM' WHEN #{item.musicSheetUpdate.sourceType} = 'PERSON' THEN 'TEACHER' ELSE 'TENANT' END, 'PLATFORM', #{item.musicSheetUpdate.playMode}, #{item.musicSheetUpdate.showFingering}, #{item.musicSheetUpdate.canEvaluate}, #{item.musicSheetUpdate.userId},#{item.musicSheetUpdate.userId}, #{item.scoreType}, #{item.musicSheetUpdate.platformStatus}, #{item.clientStatus}, now() ) update music_sheet set state_ = client_state_ and platform_state_ where FIND_IN_SET(cbs_music_sheet_id_,#{ids}) update sys_music_compare_record set hidden_flag_ = 1 where user_id_ = #{userId} and music_sheet_id_ = #{musicSheetId} and client_id_ = #{clientEnum}