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.audit_status_ as auditStatus,
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.submit_audit_time_ as submitAuditTime,
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.cbs_music_sheet_id_ as cbsMusicSheetId
insert into music_sheet
(cbs_music_sheet_id_,provider_type_,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_,audio_type_,show_fingering_,can_evaluate_,create_by_,user_id_
)
values
(#{item.musicSheetId},CASE WHEN #{item.availableType} = 'PLATFORM' THEN 'PLATFORM'
WHEN #{item.availableType} = 'PERSON' THEN 'TEACHER' ELSE 'TENANT' END,
#{item.musicTagIds},#{item.paymentType},#{item.paymentType},
#{item.topFlag},#{item.exquisiteFlag},#{item.sortNo},0
,CASE WHEN #{item.delFlag} THEN 'PASS' ELSE 'DOING' END
,#{item.musicSheetUpdate.name},
#{item.musicSheetUpdate.subjectIds},
#{item.musicSheetUpdate.musicSvg},
#{item.musicSheetUpdate.composer},
#{item.musicSheetUpdate.audioType},
#{item.musicSheetUpdate.playSpeed},
#{item.musicSheetUpdate.musicPrice},
#{item.musicSheetUpdate.notation},
#{item.musicSheetUpdate.musicSheetType},
CASE WHEN #{item.musicSheetUpdate.sourceType} = 'PLATFORM' THEN 'PLATFORM'
WHEN #{item.musicSheetUpdate.sourceType} = 'PERSON' THEN 'TEACHER'
ELSE 'TENANT' END,
#{item.musicSheetUpdate.playMode},
#{item.musicSheetUpdate.showFingering},
#{item.musicSheetUpdate.canEvaluate},
#{item.musicSheetUpdate.userId},#{item.musicSheetUpdate.userId}
)
and t.music_sheet_type_ = #{param.musicSheetType}
and (t.id_ like concat('%',#{param.idAndName},'%') or
t.music_sheet_name_ like concat('%',#{param.idAndName},'%') or
t.composer_ 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 t.provider_type_ = #{param.providerType}
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.music_sheet_type_ = 'CONCERT'
)
and(find_in_set(#{param.subjectIds},t.music_subject_) or t.music_subject_ is null or t.music_subject_ = '' or t.music_sheet_type_ = 'CONCERT')
and t.id_ in
#{item}
and t.state_ = #{param.state}
and t.audit_status_ = #{param.auditStatus}
and t.create_by_ = #{param.createBy}
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.provider_type_ = CASE WHEN #{item.availableType} = 'PLATFORM' THEN 'PLATFORM'
WHEN #{item.availableType} = 'PERSON' THEN 'TEACHER' ELSE 'TENANT' END,
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_ = CASE WHEN #{item.delFlag} THEN 'PASS' ELSE 'DOING' END,
ms.state_ = #{item.status}
,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_price_ = #{item.musicSheetUpdate.musicPrice},
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.notation_ = #{item.musicSheetUpdate.notation},
ms.show_fingering_ = #{item.musicSheetUpdate.showFingering},
ms.can_evaluate_ = #{item.musicSheetUpdate.canEvaluate},
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 set state_ = #{status} where FIND_IN_SET(cbs_music_sheet_id_,#{ids})
update music_sheet set 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},music_price_ = #{param.musicPrice},notation_ = #{param.notation},
music_sheet_type_ = #{param.musicSheetType},source_type_ = CASE WHEN #{param.sourceType} = 'PLATFORM' THEN 'PLATFORM' ELSE 'TEACHER' END,
create_by_ = #{param.userId},audit_status_ = 'PASS'
where cbs_music_sheet_id_ = #{param.id}