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}