<div data-line="436" data-alt-line="436" data-line-type="context" data-line-index="435,435" style="color: rgb(241, 236, 232); background-color: rgb(21, 21, 21); position: relative; padding-inline: 1ch 1ch; white-space-collapse: preserve; word-break: break-word; font-family: &quot;IBM Plex Mono&quot;, &quot;IBM Plex Mono Fallback&quot;, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, &quot;Liberation Mono&quot;, &quot;Courier New&quot;, monospace; font-size: 13px;"><span style="background-color: rgba(0, 0, 0, 0); font-weight: bold; text-decoration-line: initial; text-decoration-color: rgb(254, 253, 253); color: rgb(254, 253, 253);">**经验总结**</span><span style="background-color: rgba(0, 0, 0, 0); text-decoration-line: initial; text-decoration-color: rgb(241, 236, 232);">:</span></div><div data-line="437" data-alt-line="437" data-line-type="context" data-line-index="436,436" style="color: rgb(241, 236, 232); background-color: rgb(21, 21, 21); position: relative; padding-inline: 1ch 1ch; white-space-collapse: preserve; word-break: break-word; font-family: &quot;IBM Plex Mono&quot;, &quot;IBM Plex Mono Fallback&quot;, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, &quot;Liberation Mono&quot;, &quot;Courier New&quot;, monospace; font-size: 13px;"><span style="background-color: rgba(0, 0, 0, 0); text-decoration-line: initial; text-decoration-color: rgb(205, 200, 197); color: rgb(205, 200, 197);">-</span><span style="background-color: rgba(0, 0, 0, 0); text-decoration-line: initial; text-decoration-color: rgb(241, 236, 232);"> `@Async`</span><span style="background-color: rgba(0, 0, 0, 0); text-decoration-line: initial; text-decoration-color: rgb(241, 236, 232);"> 方法不能直接使用 </span><span style="background-color: rgba(0, 0, 0, 0); text-decoration-line: initial; text-decoration-color: rgb(241, 236, 232);">`HttpServletRequest`</span><span style="background-color: rgba(0, 0, 0, 0); text-decoration-line: initial; text-decoration-color: rgb(241, 236, 232);"> 对象</span></div><div data-line="438" data-alt-line="438" data-line-type="context" data-line-index="437,437" style="color: rgb(241, 236, 232); background-color: rgb(21, 21, 21); position: relative; padding-inline: 1ch 1ch; white-space-collapse: preserve; word-break: break-word; font-family: &quot;IBM Plex Mono&quot;, &quot;IBM Plex Mono Fallback&quot;, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, &quot;Liberation Mono&quot;, &quot;Courier New&quot;, monospace; font-size: 13px;"><span style="background-color: rgba(0, 0, 0, 0); text-decoration-line: initial; text-decoration-color: rgb(205, 200, 197); color: rgb(205, 200, 197);">-</span><span style="background-color: rgba(0, 0, 0, 0); text-decoration-line: initial; text-decoration-color: rgb(241, 236, 232);"> 需要在调用异步方法前提取所有需要的数据</span></div><div data-line="439" data-alt-line="439" data-line-type="context" data-line-index="438,438" style="color: rgb(241, 236, 232); background-color: rgb(21, 21, 21); position: relative; padding-inline: 1ch 1ch; white-space-collapse: preserve; word-break: break-word; font-family: &quot;IBM Plex Mono&quot;, &quot;IBM Plex Mono Fallback&quot;, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, &quot;Liberation Mono&quot;, &quot;Courier New&quot;, monospace; font-size: 13px;"><span style="background-color: rgba(0, 0, 0, 0); text-decoration-line: initial; text-decoration-color: rgb(205, 200, 197); color: rgb(205, 200, 197);">-</span><span style="background-color: rgba(0, 0, 0, 0); text-decoration-line: initial; text-decoration-color: rgb(241, 236, 232);"> DTO 模式是解决此类问题的标准方案</span></div><div data-line="440" data-line-type="change-addition" data-line-index="439,439" style="color: rgb(241, 236, 232); background-color: lab(13.8164 -2.23434 1.91613); position: relative; padding-inline: 1ch 1ch; white-space-collapse: preserve; word-break: break-word; --diffs-line-bg: light-dark( color-mix(in lab, #151515 98%, #c4ffc0), color-mix(in lab, #151515 92%, #c4ffc0)); font-family: &quot;IBM Plex Mono&quot;, &quot;IBM Plex Mono Fallback&quot;, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, &quot;Liberation Mono&quot;, &quot;Courier New&quot;, monospace; font-size: 13px;"> </div><div data-line="441" data-line-type="change-addition" data-line-index="440,440" style="color: rgb(241, 236, 232); background-color: lab(13.8164 -2.23434 1.91613); position: relative; padding-inline: 1ch 1ch; white-space-collapse: preserve; word-break: break-word; --diffs-line-bg: light-dark( color-mix(in lab, #151515 98%, #c4ffc0), color-mix(in lab, #151515 92%, #c4ffc0)); font-family: &quot;IBM Plex Mono&quot;, &quot;IBM Plex Mono Fallback&quot;, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, &quot;Liberation Mono&quot;, &quot;Courier New&quot;, monospace; font-size: 13px;"><span style="background-color: rgba(0, 0, 0, 0); font-weight: bold; text-decoration-line: initial; text-decoration-color: rgb(241, 236, 232);">---</span></div><div data-line="442" data-line-type="change-addition" data-line-index="441,441" style="color: rgb(241, 236, 232); background-color: lab(13.8164 -2.23434 1.91613); position: relative; padding-inline: 1ch 1ch; white-space-collapse: preserve; word-break: break-word; --diffs-line-bg: light-dark( color-mix(in lab, #151515 98%, #c4ffc0), color-mix(in lab, #151515 92%, #c4ffc0)); font-family: &quot;IBM Plex Mono&quot;, &quot;IBM Plex Mono Fallback&quot;, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, &quot;Liberation Mono&quot;, &quot;Courier New&quot;, monospace; font-size: 13px;"> </div><div data-line="443" data-line-type="change-addition" data-line-index="442,442" style="color: rgb(241, 236, 232); background-color: lab(13.8164 -2.23434 1.91613); position: relative; padding-inline: 1ch 1ch; white-space-collapse: preserve; word-break: break-word; --diffs-line-bg: light-dark( color-mix(in lab, #151515 98%, #c4ffc0), color-mix(in lab, #151515 92%, #c4ffc0)); font-family: &quot;IBM Plex Mono&quot;, &quot;IBM Plex Mono Fallback&quot;, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, &quot;Liberation Mono&quot;, &quot;Courier New&quot;, monospace; font-size: 13px;"><span style="background-color: rgba(0, 0, 0, 0); font-weight: bold; text-decoration-line: initial; text-decoration-color: rgb(250, 207, 254); color: rgb(250, 207, 254);">## SfxService 音效文件和标签增删查改逻辑修复</span></div><div data-line="444" data-line-type="change-addition" data-line-index="443,443" style="color: rgb(241, 236, 232); background-color: lab(13.8164 -2.23434 1.91613); position: relative; padding-inline: 1ch 1ch; white-space-collapse: preserve; word-break: break-word; --diffs-line-bg: light-dark( color-mix(in lab, #151515 98%, #c4ffc0), color-mix(in lab, #151515 92%, #c4ffc0)); font-family: &quot;IBM Plex Mono&quot;, &quot;IBM Plex Mono Fallback&quot;, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, &quot;Liberation Mono&quot;, &quot;Courier New&quot;, monospace; font-size: 13px;"> </div><div data-line="445" data-line-type="change-addition" data-line-index="444,444" style="color: rgb(241, 236, 232); background-color: lab(13.8164 -2.23434 1.91613); position: relative; padding-inline: 1ch 1ch; white-space-collapse: preserve; word-break: break-word; --diffs-line-bg: light-dark( color-mix(in lab, #151515 98%, #c4ffc0), color-mix(in lab, #151515 92%, #c4ffc0)); font-family: &quot;IBM Plex Mono&quot;, &quot;IBM Plex Mono Fallback&quot;, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, &quot;Liberation Mono&quot;, &quot;Courier New&quot;, monospace; font-size: 13px;"><span style="background-color: rgba(0, 0, 0, 0); font-weight: bold; text-decoration-line: initial; text-decoration-color: rgb(250, 207, 254); color: rgb(250, 207, 254);">### 2026-03-16 修复 SfxService 内部逻辑问题</span></div><div data-line="446" data-line-type="change-addition" data-line-index="445,445" style="color: rgb(241, 236, 232); background-color: lab(13.8164 -2.23434 1.91613); position: relative; padding-inline: 1ch 1ch; white-space-collapse: preserve; word-break: break-word; --diffs-line-bg: light-dark( color-mix(in lab, #151515 98%, #c4ffc0), color-mix(in lab, #151515 92%, #c4ffc0)); font-family: &quot;IBM Plex Mono&quot;, &quot;IBM Plex Mono Fallback&quot;, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, &quot;Liberation Mono&quot;, &quot;Courier New&quot;, monospace; font-size: 13px;"> </div><div data-line="447" data-line-type="change-addition" data-line-index="446,446" style="color: rgb(241, 236, 232); background-color: lab(13.8164 -2.23434 1.91613); position: relative; padding-inline: 1ch 1ch; white-space-collapse: preserve; word-break: break-word; --diffs-line-bg: light-dark( color-mix(in lab, #151515 98%, #c4ffc0), color-mix(in lab, #151515 92%, #c4ffc0)); font-family: &quot;IBM Plex Mono&quot;, &quot;IBM Plex Mono Fallback&quot;, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, &quot;Liberation Mono&quot;, &quot;Courier New&quot;, monospace; font-size: 13px;"><span style="background-color: rgba(0, 0, 0, 0); font-weight: bold; text-decoration-line: initial; text-decoration-color: rgb(250, 207, 254); color: rgb(250, 207, 254);">#### 问题描述</span></div><div data-line="448" data-line-type="change-addition" data-line-index="447,447" style="color: rgb(241, 236, 232); background-color: lab(13.8164 -2.23434 1.91613); position: relative; padding-inline: 1ch 1ch; white-space-collapse: preserve; word-break: break-word; --diffs-line-bg: light-dark( color-mix(in lab, #151515 98%, #c4ffc0), color-mix(in lab, #151515 92%, #c4ffc0)); font-family: &quot;IBM Plex Mono&quot;, &quot;IBM Plex Mono Fallback&quot;, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, &quot;Liberation Mono&quot;, &quot;Courier New&quot;, monospace; font-size: 13px;"><span style="background-color: rgba(0, 0, 0, 0); text-decoration-line: initial; text-decoration-color: rgb(241, 236, 232);">验证 SfxService 内部音效文件和音效标签的增删查改逻辑,发现以下问题:</span></div><div data-line="449" data-line-type="change-addition" data-line-index="448,448" style="color: rgb(241, 236, 232); background-color: lab(13.8164 -2.23434 1.91613); position: relative; padding-inline: 1ch 1ch; white-space-collapse: preserve; word-break: break-word; --diffs-line-bg: light-dark( color-mix(in lab, #151515 98%, #c4ffc0), color-mix(in lab, #151515 92%, #c4ffc0)); font-family: &quot;IBM Plex Mono&quot;, &quot;IBM Plex Mono Fallback&quot;, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, &quot;Liberation Mono&quot;, &quot;Courier New&quot;, monospace; font-size: 13px;"> </div><div data-line="450" data-line-type="change-addition" data-line-index="449,449" style="color: rgb(241, 236, 232); background-color: lab(13.8164 -2.23434 1.91613); position: relative; padding-inline: 1ch 1ch; white-space-collapse: preserve; word-break: break-word; --diffs-line-bg: light-dark( color-mix(in lab, #151515 98%, #c4ffc0), color-mix(in lab, #151515 92%, #c4ffc0)); font-family: &quot;IBM Plex Mono&quot;, &quot;IBM Plex Mono Fallback&quot;, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, &quot;Liberation Mono&quot;, &quot;Courier New&quot;, monospace; font-size: 13px;"><span style="background-color: rgba(0, 0, 0, 0); font-weight: bold; text-decoration-line: initial; text-decoration-color: rgb(250, 207, 254); color: rgb(250, 207, 254);">#### 问题1: </span><span style="background-color: rgba(0, 0, 0, 0); font-weight: bold; text-decoration-line: initial; text-decoration-color: rgb(250, 207, 254); color: rgb(250, 207, 254);">`processWebmTranscode()`</span><span style="background-color: rgba(0, 0, 0, 0); font-weight: bold; text-decoration-line: initial; text-decoration-color: rgb(250, 207, 254); color: rgb(250, 207, 254);"> 异步返回值无效 (严重)</span></div><div data-line="451" data-line-type="change-addition" data-line-index="450,450" style="color: rgb(241, 236, 232); background-color: lab(13.8164 -2.23434 1.91613); position: relative; padding-inline: 1ch 1ch; white-space-collapse: preserve; word-break: break-word; --diffs-line-bg: light-dark( color-mix(in lab, #151515 98%, #c4ffc0), color-mix(in lab, #151515 92%, #c4ffc0)); font-family: &quot;IBM Plex Mono&quot;, &quot;IBM Plex Mono Fallback&quot;, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, &quot;Liberation Mono&quot;, &quot;Courier New&quot;, monospace; font-size: 13px;"><span style="background-color: rgba(0, 0, 0, 0); font-weight: bold; text-decoration-line: initial; text-decoration-color: rgb(254, 253, 253); color: rgb(254, 253, 253);">**问题原因**</span><span style="background-color: rgba(0, 0, 0, 0); text-decoration-line: initial; text-decoration-color: rgb(241, 236, 232);">: </span></div><div data-line="452" data-line-type="change-addition" data-line-index="451,451" style="color: rgb(241, 236, 232); background-color: lab(13.8164 -2.23434 1.91613); position: relative; padding-inline: 1ch 1ch; white-space-collapse: preserve; word-break: break-word; --diffs-line-bg: light-dark( color-mix(in lab, #151515 98%, #c4ffc0), color-mix(in lab, #151515 92%, #c4ffc0)); font-family: &quot;IBM Plex Mono&quot;, &quot;IBM Plex Mono Fallback&quot;, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, &quot;Liberation Mono&quot;, &quot;Courier New&quot;, monospace; font-size: 13px;"><span style="background-color: rgba(0, 0, 0, 0); text-decoration-line: initial; text-decoration-color: rgb(241, 236, 232);">`@Async`</span><span style="background-color: rgba(0, 0, 0, 0); text-decoration-line: initial; text-decoration-color: rgb(241, 236, 232);"> 异步方法返回 </span><span style="background-color: rgba(0, 0, 0, 0); text-decoration-line: initial; text-decoration-color: rgb(241, 236, 232);">`boolean`</span><span style="background-color: rgba(0, 0, 0, 0); text-decoration-line: initial; text-decoration-color: rgb(241, 236, 232);"> 类型,调用者 </span><span style="background-color: rgba(0, 0, 0, 0); text-decoration-line: initial; text-decoration-color: rgb(241, 236, 232);">`moveToNewPath()`</span><span style="background-color: rgba(0, 0, 0, 0); text-decoration-line: initial; text-decoration-color: rgb(241, 236, 232);"> 立即得到默认值 </span><span style="background-color: rgba(0, 0, 0, 0); text-decoration-line: initial; text-decoration-color: rgb(241, 236, 232);">`false`</span><span style="background-color: rgba(0, 0, 0, 0); text-decoration-line: initial; text-decoration-color: rgb(241, 236, 232);">,</span></div><div data-line="453" data-line-type="change-addition" data-line-index="452,452" style="color: rgb(241, 236, 232); background-color: lab(13.8164 -2.23434 1.91613); position: relative; padding-inline: 1ch 1ch; white-space-collapse: preserve; word-break: break-word; --diffs-line-bg: light-dark( color-mix(in lab, #151515 98%, #c4ffc0), color-mix(in lab, #151515 92%, #c4ffc0)); font-family: &quot;IBM Plex Mono&quot;, &quot;IBM Plex Mono Fallback&quot;, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, &quot;Liberation Mono&quot;, &quot;Courier New&quot;, monospace; font-size: 13px;"><span style="background-color: rgba(0, 0, 0, 0); text-decoration-line: initial; text-decoration-color: rgb(241, 236, 232);">导致转码还没开始就被判定失败,然后删除已移动的文件。</span></div><div data-line="454" data-line-type="change-addition" data-line-index="453,453" style="color: rgb(241, 236, 232); background-color: lab(13.8164 -2.23434 1.91613); position: relative; padding-inline: 1ch 1ch; white-space-collapse: preserve; word-break: break-word; --diffs-line-bg: light-dark( color-mix(in lab, #151515 98%, #c4ffc0), color-mix(in lab, #151515 92%, #c4ffc0)); font-family: &quot;IBM Plex Mono&quot;, &quot;IBM Plex Mono Fallback&quot;, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, &quot;Liberation Mono&quot;, &quot;Courier New&quot;, monospace; font-size: 13px;"> </div><div data-line="455" data-line-type="change-addition" data-line-index="454,454" style="color: rgb(241, 236, 232); background-color: lab(13.8164 -2.23434 1.91613); position: relative; padding-inline: 1ch 1ch; white-space-collapse: preserve; word-break: break-word; --diffs-line-bg: light-dark( color-mix(in lab, #151515 98%, #c4ffc0), color-mix(in lab, #151515 92%, #c4ffc0)); font-family: &quot;IBM Plex Mono&quot;, &quot;IBM Plex Mono Fallback&quot;, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, &quot;Liberation Mono&quot;, &quot;Courier New&quot;, monospace; font-size: 13px;"><span style="background-color: rgba(0, 0, 0, 0); font-weight: bold; text-decoration-line: initial; text-decoration-color: rgb(254, 253, 253); color: rgb(254, 253, 253);">**解决方案**</span><span style="background-color: rgba(0, 0, 0, 0); text-decoration-line: initial; text-decoration-color: rgb(241, 236, 232);">: </span></div><div data-line="456" data-line-type="change-addition" data-line-index="455,455" style="color: rgb(241, 236, 232); background-color: lab(13.8164 -2.23434 1.91613); position: relative; padding-inline: 1ch 1ch; white-space-collapse: preserve; word-break: break-word; --diffs-line-bg: light-dark( color-mix(in lab, #151515 98%, #c4ffc0), color-mix(in lab, #151515 92%, #c4ffc0)); font-family: &quot;IBM Plex Mono&quot;, &quot;IBM Plex Mono Fallback&quot;, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, &quot;Liberation Mono&quot;, &quot;Courier New&quot;, monospace; font-size: 13px;"><span style="background-color: rgba(0, 0, 0, 0); text-decoration-line: initial; text-decoration-color: rgb(241, 236, 232);">移除 </span><span style="background-color: rgba(0, 0, 0, 0); text-decoration-line: initial; text-decoration-color: rgb(241, 236, 232);">`@Async`</span><span style="background-color: rgba(0, 0, 0, 0); text-decoration-line: initial; text-decoration-color: rgb(241, 236, 232);"> 注解,改为同步执行,确保返回值正确传递。</span></div><div data-line="457" data-line-type="change-addition" data-line-index="456,456" style="color: rgb(241, 236, 232); background-color: lab(13.8164 -2.23434 1.91613); position: relative; padding-inline: 1ch 1ch; white-space-collapse: preserve; word-break: break-word; --diffs-line-bg: light-dark( color-mix(in lab, #151515 98%, #c4ffc0), color-mix(in lab, #151515 92%, #c4ffc0)); font-family: &quot;IBM Plex Mono&quot;, &quot;IBM Plex Mono Fallback&quot;, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, &quot;Liberation Mono&quot;, &quot;Courier New&quot;, monospace; font-size: 13px;"> </div><div data-line="458" data-line-type="change-addition" data-line-index="457,457" style="color: rgb(241, 236, 232); background-color: lab(13.8164 -2.23434 1.91613); position: relative; padding-inline: 1ch 1ch; white-space-collapse: preserve; word-break: break-word; --diffs-line-bg: light-dark( color-mix(in lab, #151515 98%, #c4ffc0), color-mix(in lab, #151515 92%, #c4ffc0)); font-family: &quot;IBM Plex Mono&quot;, &quot;IBM Plex Mono Fallback&quot;, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, &quot;Liberation Mono&quot;, &quot;Courier New&quot;, monospace; font-size: 13px;"><span style="background-color: rgba(0, 0, 0, 0); font-weight: bold; text-decoration-line: initial; text-decoration-color: rgb(250, 207, 254); color: rgb(250, 207, 254);">#### 问题2: </span><span style="background-color: rgba(0, 0, 0, 0); font-weight: bold; text-decoration-line: initial; text-decoration-color: rgb(250, 207, 254); color: rgb(250, 207, 254);">`deleteSfxByIds()`</span><span style="background-color: rgba(0, 0, 0, 0); font-weight: bold; text-decoration-line: initial; text-decoration-color: rgb(250, 207, 254); color: rgb(250, 207, 254);"> 未加载标签</span></div><div data-line="459" data-line-type="change-addition" data-line-index="458,458" style="color: rgb(241, 236, 232); background-color: lab(13.8164 -2.23434 1.91613); position: relative; padding-inline: 1ch 1ch; white-space-collapse: preserve; word-break: break-word; --diffs-line-bg: light-dark( color-mix(in lab, #151515 98%, #c4ffc0), color-mix(in lab, #151515 92%, #c4ffc0)); font-family: &quot;IBM Plex Mono&quot;, &quot;IBM Plex Mono Fallback&quot;, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, &quot;Liberation Mono&quot;, &quot;Courier New&quot;, monospace; font-size: 13px;"><span style="background-color: rgba(0, 0, 0, 0); font-weight: bold; text-decoration-line: initial; text-decoration-color: rgb(254, 253, 253); color: rgb(254, 253, 253);">**问题原因**</span><span style="background-color: rgba(0, 0, 0, 0); text-decoration-line: initial; text-decoration-color: rgb(241, 236, 232);">: </span></div><div data-line="460" data-line-type="change-addition" data-line-index="459,459" style="color: rgb(241, 236, 232); background-color: lab(13.8164 -2.23434 1.91613); position: relative; padding-inline: 1ch 1ch; white-space-collapse: preserve; word-break: break-word; --diffs-line-bg: light-dark( color-mix(in lab, #151515 98%, #c4ffc0), color-mix(in lab, #151515 92%, #c4ffc0)); font-family: &quot;IBM Plex Mono&quot;, &quot;IBM Plex Mono Fallback&quot;, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, &quot;Liberation Mono&quot;, &quot;Courier New&quot;, monospace; font-size: 13px;"><span style="background-color: rgba(0, 0, 0, 0); text-decoration-line: initial; text-decoration-color: rgb(241, 236, 232);">`findByIdIn()`</span><span style="background-color: rgba(0, 0, 0, 0); text-decoration-line: initial; text-decoration-color: rgb(241, 236, 232);"> 没有 </span><span style="background-color: rgba(0, 0, 0, 0); text-decoration-line: initial; text-decoration-color: rgb(241, 236, 232);">`@EntityGraph`</span><span style="background-color: rgba(0, 0, 0, 0); text-decoration-line: initial; text-decoration-color: rgb(241, 236, 232);">,标签集合未加载,导致标签计数递减逻辑无法正确执行。</span></div><div data-line="461" data-line-type="change-addition" data-line-index="460,460" style="color: rgb(241, 236, 232); background-color: lab(13.8164 -2.23434 1.91613); position: relative; padding-inline: 1ch 1ch; white-space-collapse: preserve; word-break: break-word; --diffs-line-bg: light-dark( color-mix(in lab, #151515 98%, #c4ffc0), color-mix(in lab, #151515 92%, #c4ffc0)); font-family: &quot;IBM Plex Mono&quot;, &quot;IBM Plex Mono Fallback&quot;, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, &quot;Liberation Mono&quot;, &quot;Courier New&quot;, monospace; font-size: 13px;"> </div><div data-line="462" data-line-type="change-addition" data-line-index="461,461" style="color: rgb(241, 236, 232); background-color: lab(13.8164 -2.23434 1.91613); position: relative; padding-inline: 1ch 1ch; white-space-collapse: preserve; word-break: break-word; --diffs-line-bg: light-dark( color-mix(in lab, #151515 98%, #c4ffc0), color-mix(in lab, #151515 92%, #c4ffc0)); font-family: &quot;IBM Plex Mono&quot;, &quot;IBM Plex Mono Fallback&quot;, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, &quot;Liberation Mono&quot;, &quot;Courier New&quot;, monospace; font-size: 13px;"><span style="background-color: rgba(0, 0, 0, 0); font-weight: bold; text-decoration-line: initial; text-decoration-color: rgb(254, 253, 253); color: rgb(254, 253, 253);">**解决方案**</span><span style="background-color: rgba(0, 0, 0, 0); text-decoration-line: initial; text-decoration-color: rgb(241, 236, 232);">: </span></div><div data-line="463" data-line-type="change-addition" data-line-index="462,462" style="color: rgb(241, 236, 232); background-color: lab(13.8164 -2.23434 1.91613); position: relative; padding-inline: 1ch 1ch; white-space-collapse: preserve; word-break: break-word; --diffs-line-bg: light-dark( color-mix(in lab, #151515 98%, #c4ffc0), color-mix(in lab, #151515 92%, #c4ffc0)); font-family: &quot;IBM Plex Mono&quot;, &quot;IBM Plex Mono Fallback&quot;, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, &quot;Liberation Mono&quot;, &quot;Courier New&quot;, monospace; font-size: 13px;"><span style="background-color: rgba(0, 0, 0, 0); text-decoration-line: initial; text-decoration-color: rgb(241, 236, 232);">新增 </span><span style="background-color: rgba(0, 0, 0, 0); text-decoration-line: initial; text-decoration-color: rgb(241, 236, 232);">`findByIdInWithTags()`</span><span style="background-color: rgba(0, 0, 0, 0); text-decoration-line: initial; text-decoration-color: rgb(241, 236, 232);"> 方法,使用 </span><span style="background-color: rgba(0, 0, 0, 0); text-decoration-line: initial; text-decoration-color: rgb(241, 236, 232);">`@EntityGraph`</span><span style="background-color: rgba(0, 0, 0, 0); text-decoration-line: initial; text-decoration-color: rgb(241, 236, 232);"> 加载标签关联。</span></div><div data-line="464" data-line-type="change-addition" data-line-index="463,463" style="color: rgb(241, 236, 232); background-color: lab(13.8164 -2.23434 1.91613); position: relative; padding-inline: 1ch 1ch; white-space-collapse: preserve; word-break: break-word; --diffs-line-bg: light-dark( color-mix(in lab, #151515 98%, #c4ffc0), color-mix(in lab, #151515 92%, #c4ffc0)); font-family: &quot;IBM Plex Mono&quot;, &quot;IBM Plex Mono Fallback&quot;, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, &quot;Liberation Mono&quot;, &quot;Courier New&quot;, monospace; font-size: 13px;"> </div><div data-line="465" data-line-type="change-addition" data-line-index="464,464" style="color: rgb(241, 236, 232); background-color: lab(13.8164 -2.23434 1.91613); position: relative; padding-inline: 1ch 1ch; white-space-collapse: preserve; word-break: break-word; --diffs-line-bg: light-dark( color-mix(in lab, #151515 98%, #c4ffc0), color-mix(in lab, #151515 92%, #c4ffc0)); font-family: &quot;IBM Plex Mono&quot;, &quot;IBM Plex Mono Fallback&quot;, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, &quot;Liberation Mono&quot;, &quot;Courier New&quot;, monospace; font-size: 13px;"><span style="background-color: rgba(0, 0, 0, 0); font-weight: bold; text-decoration-line: initial; text-decoration-color: rgb(250, 207, 254); color: rgb(250, 207, 254);">#### 问题3: </span><span style="background-color: rgba(0, 0, 0, 0); font-weight: bold; text-decoration-line: initial; text-decoration-color: rgb(250, 207, 254); color: rgb(250, 207, 254);">`removeTagFromSfx()`</span><span style="background-color: rgba(0, 0, 0, 0); font-weight: bold; text-decoration-line: initial; text-decoration-color: rgb(250, 207, 254); color: rgb(250, 207, 254);"> 缺少关联清理</span></div><div data-line="466" data-line-type="change-addition" data-line-index="465,465" style="color: rgb(241, 236, 232); background-color: lab(13.8164 -2.23434 1.91613); position: relative; padding-inline: 1ch 1ch; white-space-collapse: preserve; word-break: break-word; --diffs-line-bg: light-dark( color-mix(in lab, #151515 98%, #c4ffc0), color-mix(in lab, #151515 92%, #c4ffc0)); font-family: &quot;IBM Plex Mono&quot;, &quot;IBM Plex Mono Fallback&quot;, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, &quot;Liberation Mono&quot;, &quot;Courier New&quot;, monospace; font-size: 13px;"><span style="background-color: rgba(0, 0, 0, 0); font-weight: bold; text-decoration-line: initial; text-decoration-color: rgb(254, 253, 253); color: rgb(254, 253, 253);">**问题原因**</span><span style="background-color: rgba(0, 0, 0, 0); text-decoration-line: initial; text-decoration-color: rgb(241, 236, 232);">: </span></div><div data-line="467" data-line-type="change-addition" data-line-index="466,466" style="color: rgb(241, 236, 232); background-color: lab(13.8164 -2.23434 1.91613); position: relative; padding-inline: 1ch 1ch; white-space-collapse: preserve; word-break: break-word; --diffs-line-bg: light-dark( color-mix(in lab, #151515 98%, #c4ffc0), color-mix(in lab, #151515 92%, #c4ffc0)); font-family: &quot;IBM Plex Mono&quot;, &quot;IBM Plex Mono Fallback&quot;, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, &quot;Liberation Mono&quot;, &quot;Courier New&quot;, monospace; font-size: 13px;"><span style="background-color: rgba(0, 0, 0, 0); text-decoration-line: initial; text-decoration-color: rgb(241, 236, 232);">移除标签时未显式清理 </span><span style="background-color: rgba(0, 0, 0, 0); text-decoration-line: initial; text-decoration-color: rgb(241, 236, 232);">`SfxTag`</span><span style="background-color: rgba(0, 0, 0, 0); text-decoration-line: initial; text-decoration-color: rgb(241, 236, 232);"> 的双向关联引用,与 </span><span style="background-color: rgba(0, 0, 0, 0); text-decoration-line: initial; text-decoration-color: rgb(241, 236, 232);">`updateSfxTags()`</span><span style="background-color: rgba(0, 0, 0, 0); text-decoration-line: initial; text-decoration-color: rgb(241, 236, 232);"> 方法不一致。</span></div><div data-line="468" data-line-type="change-addition" data-line-index="467,467" style="color: rgb(241, 236, 232); background-color: lab(13.8164 -2.23434 1.91613); position: relative; padding-inline: 1ch 1ch; white-space-collapse: preserve; word-break: break-word; --diffs-line-bg: light-dark( color-mix(in lab, #151515 98%, #c4ffc0), color-mix(in lab, #151515 92%, #c4ffc0)); font-family: &quot;IBM Plex Mono&quot;, &quot;IBM Plex Mono Fallback&quot;, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, &quot;Liberation Mono&quot;, &quot;Courier New&quot;, monospace; font-size: 13px;"> </div><div data-line="469" data-line-type="change-addition" data-line-index="468,468" style="color: rgb(241, 236, 232); background-color: lab(13.8164 -2.23434 1.91613); position: relative; padding-inline: 1ch 1ch; white-space-collapse: preserve; word-break: break-word; --diffs-line-bg: light-dark( color-mix(in lab, #151515 98%, #c4ffc0), color-mix(in lab, #151515 92%, #c4ffc0)); font-family: &quot;IBM Plex Mono&quot;, &quot;IBM Plex Mono Fallback&quot;, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, &quot;Liberation Mono&quot;, &quot;Courier New&quot;, monospace; font-size: 13px;"><span style="background-color: rgba(0, 0, 0, 0); font-weight: bold; text-decoration-line: initial; text-decoration-color: rgb(254, 253, 253); color: rgb(254, 253, 253);">**解决方案**</span><span style="background-color: rgba(0, 0, 0, 0); text-decoration-line: initial; text-decoration-color: rgb(241, 236, 232);">: </span></div><div data-line="470" data-line-type="change-addition" data-line-index="469,469" style="color: rgb(241, 236, 232); background-color: lab(13.8164 -2.23434 1.91613); position: relative; padding-inline: 1ch 1ch; white-space-collapse: preserve; word-break: break-word; --diffs-line-bg: light-dark( color-mix(in lab, #151515 98%, #c4ffc0), color-mix(in lab, #151515 92%, #c4ffc0)); font-family: &quot;IBM Plex Mono&quot;, &quot;IBM Plex Mono Fallback&quot;, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, &quot;Liberation Mono&quot;, &quot;Courier New&quot;, monospace; font-size: 13px;"><span style="background-color: rgba(0, 0, 0, 0); text-decoration-line: initial; text-decoration-color: rgb(241, 236, 232);">添加 </span><span style="background-color: rgba(0, 0, 0, 0); text-decoration-line: initial; text-decoration-color: rgb(241, 236, 232);">`tagToRemove.setSfx(null)`</span><span style="background-color: rgba(0, 0, 0, 0); text-decoration-line: initial; text-decoration-color: rgb(241, 236, 232);"> 和 </span><span style="background-color: rgba(0, 0, 0, 0); text-decoration-line: initial; text-decoration-color: rgb(241, 236, 232);">`tagToRemove.setTag(null)`</span><span style="background-color: rgba(0, 0, 0, 0); text-decoration-line: initial; text-decoration-color: rgb(241, 236, 232);"> 确保关联清理一致性。</span></div><div data-line="471" data-line-type="change-addition" data-line-index="470,470" style="color: rgb(241, 236, 232); background-color: lab(13.8164 -2.23434 1.91613); position: relative; padding-inline: 1ch 1ch; white-space-collapse: preserve; word-break: break-word; --diffs-line-bg: light-dark( color-mix(in lab, #151515 98%, #c4ffc0), color-mix(in lab, #151515 92%, #c4ffc0)); font-family: &quot;IBM Plex Mono&quot;, &quot;IBM Plex Mono Fallback&quot;, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, &quot;Liberation Mono&quot;, &quot;Courier New&quot;, monospace; font-size: 13px;"> </div><div data-line="472" data-line-type="change-addition" data-line-index="471,471" style="color: rgb(241, 236, 232); background-color: lab(13.8164 -2.23434 1.91613); position: relative; padding-inline: 1ch 1ch; white-space-collapse: preserve; word-break: break-word; --diffs-line-bg: light-dark( color-mix(in lab, #151515 98%, #c4ffc0), color-mix(in lab, #151515 92%, #c4ffc0)); font-family: &quot;IBM Plex Mono&quot;, &quot;IBM Plex Mono Fallback&quot;, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, &quot;Liberation Mono&quot;, &quot;Courier New&quot;, monospace; font-size: 13px;"><span style="background-color: rgba(0, 0, 0, 0); font-weight: bold; text-decoration-line: initial; text-decoration-color: rgb(250, 207, 254); color: rgb(250, 207, 254);">#### 问题4: </span><span style="background-color: rgba(0, 0, 0, 0); font-weight: bold; text-decoration-line: initial; text-decoration-color: rgb(250, 207, 254); color: rgb(250, 207, 254);">`batchUpdate()`</span><span style="background-color: rgba(0, 0, 0, 0); font-weight: bold; text-decoration-line: initial; text-decoration-color: rgb(250, 207, 254); color: rgb(250, 207, 254);"> 循环内多次 save 效率低下</span></div><div data-line="473" data-line-type="change-addition" data-line-index="472,472" style="color: rgb(241, 236, 232); background-color: lab(13.8164 -2.23434 1.91613); position: relative; padding-inline: 1ch 1ch; white-space-collapse: preserve; word-break: break-word; --diffs-line-bg: light-dark( color-mix(in lab, #151515 98%, #c4ffc0), color-mix(in lab, #151515 92%, #c4ffc0)); font-family: &quot;IBM Plex Mono&quot;, &quot;IBM Plex Mono Fallback&quot;, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, &quot;Liberation Mono&quot;, &quot;Courier New&quot;, monospace; font-size: 13px;"><span style="background-color: rgba(0, 0, 0, 0); font-weight: bold; text-decoration-line: initial; text-decoration-color: rgb(254, 253, 253); color: rgb(254, 253, 253);">**问题原因**</span><span style="background-color: rgba(0, 0, 0, 0); text-decoration-line: initial; text-decoration-color: rgb(241, 236, 232);">: </span></div><div data-line="474" data-line-type="change-addition" data-line-index="473,473" style="color: rgb(241, 236, 232); background-color: lab(13.8164 -2.23434 1.91613); position: relative; padding-inline: 1ch 1ch; white-space-collapse: preserve; word-break: break-word; --diffs-line-bg: light-dark( color-mix(in lab, #151515 98%, #c4ffc0), color-mix(in lab, #151515 92%, #c4ffc0)); font-family: &quot;IBM Plex Mono&quot;, &quot;IBM Plex Mono Fallback&quot;, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, &quot;Liberation Mono&quot;, &quot;Courier New&quot;, monospace; font-size: 13px;"><span style="background-color: rgba(0, 0, 0, 0); text-decoration-line: initial; text-decoration-color: rgb(241, 236, 232);">每次添加标签都触发 </span><span style="background-color: rgba(0, 0, 0, 0); text-decoration-line: initial; text-decoration-color: rgb(241, 236, 232);">`save()`</span><span style="background-color: rgba(0, 0, 0, 0); text-decoration-line: initial; text-decoration-color: rgb(241, 236, 232);"> 和 </span><span style="background-color: rgba(0, 0, 0, 0); text-decoration-line: initial; text-decoration-color: rgb(241, 236, 232);">`invalidateCache()`</span><span style="background-color: rgba(0, 0, 0, 0); text-decoration-line: initial; text-decoration-color: rgb(241, 236, 232);">,效率低下。</span></div><div data-line="475" data-line-type="change-addition" data-line-index="474,474" style="color: rgb(241, 236, 232); background-color: lab(13.8164 -2.23434 1.91613); position: relative; padding-inline: 1ch 1ch; white-space-collapse: preserve; word-break: break-word; --diffs-line-bg: light-dark( color-mix(in lab, #151515 98%, #c4ffc0), color-mix(in lab, #151515 92%, #c4ffc0)); font-family: &quot;IBM Plex Mono&quot;, &quot;IBM Plex Mono Fallback&quot;, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, &quot;Liberation Mono&quot;, &quot;Courier New&quot;, monospace; font-size: 13px;"> </div><div data-line="476" data-line-type="change-addition" data-line-index="475,475" style="color: rgb(241, 236, 232); background-color: lab(13.8164 -2.23434 1.91613); position: relative; padding-inline: 1ch 1ch; white-space-collapse: preserve; word-break: break-word; --diffs-line-bg: light-dark( color-mix(in lab, #151515 98%, #c4ffc0), color-mix(in lab, #151515 92%, #c4ffc0)); font-family: &quot;IBM Plex Mono&quot;, &quot;IBM Plex Mono Fallback&quot;, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, &quot;Liberation Mono&quot;, &quot;Courier New&quot;, monospace; font-size: 13px;"><span style="background-color: rgba(0, 0, 0, 0); font-weight: bold; text-decoration-line: initial; text-decoration-color: rgb(254, 253, 253); color: rgb(254, 253, 253);">**解决方案**</span><span style="background-color: rgba(0, 0, 0, 0); text-decoration-line: initial; text-decoration-color: rgb(241, 236, 232);">: </span></div><div data-line="477" data-line-type="change-addition" data-line-index="476,476" style="color: rgb(241, 236, 232); background-color: lab(13.8164 -2.23434 1.91613); position: relative; padding-inline: 1ch 1ch; white-space-collapse: preserve; word-break: break-word; --diffs-line-bg: light-dark( color-mix(in lab, #151515 98%, #c4ffc0), color-mix(in lab, #151515 92%, #c4ffc0)); font-family: &quot;IBM Plex Mono&quot;, &quot;IBM Plex Mono Fallback&quot;, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, &quot;Liberation Mono&quot;, &quot;Courier New&quot;, monospace; font-size: 13px;"><span style="background-color: rgba(0, 0, 0, 0); text-decoration-line: initial; text-decoration-color: rgb(241, 236, 232);">新增 </span><span style="background-color: rgba(0, 0, 0, 0); text-decoration-line: initial; text-decoration-color: rgb(241, 236, 232);">`addTagToSfxWithoutSave()`</span><span style="background-color: rgba(0, 0, 0, 0); text-decoration-line: initial; text-decoration-color: rgb(241, 236, 232);"> 私有方法,循环结束后统一执行 </span><span style="background-color: rgba(0, 0, 0, 0); text-decoration-line: initial; text-decoration-color: rgb(241, 236, 232);">`save()`</span><span style="background-color: rgba(0, 0, 0, 0); text-decoration-line: initial; text-decoration-color: rgb(241, 236, 232);">。</span></div><div data-line="478" data-line-type="change-addition" data-line-index="477,477" style="color: rgb(241, 236, 232); background-color: lab(13.8164 -2.23434 1.91613); position: relative; padding-inline: 1ch 1ch; white-space-collapse: preserve; word-break: break-word; --diffs-line-bg: light-dark( color-mix(in lab, #151515 98%, #c4ffc0), color-mix(in lab, #151515 92%, #c4ffc0)); font-family: &quot;IBM Plex Mono&quot;, &quot;IBM Plex Mono Fallback&quot;, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, &quot;Liberation Mono&quot;, &quot;Courier New&quot;, monospace; font-size: 13px;"> </div><div data-line="479" data-line-type="change-addition" data-line-index="478,478" style="color: rgb(241, 236, 232); background-color: lab(13.8164 -2.23434 1.91613); position: relative; padding-inline: 1ch 1ch; white-space-collapse: preserve; word-break: break-word; --diffs-line-bg: light-dark( color-mix(in lab, #151515 98%, #c4ffc0), color-mix(in lab, #151515 92%, #c4ffc0)); font-family: &quot;IBM Plex Mono&quot;, &quot;IBM Plex Mono Fallback&quot;, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, &quot;Liberation Mono&quot;, &quot;Courier New&quot;, monospace; font-size: 13px;"><span style="background-color: rgba(0, 0, 0, 0); font-weight: bold; text-decoration-line: initial; text-decoration-color: rgb(250, 207, 254); color: rgb(250, 207, 254);">#### 修改文件</span></div><div data-line="480" data-line-type="change-addition" data-line-index="479,479" data-hovered="" style="color: rgb(241, 236, 232); background-color: lab(33.1838 -8.38784 7.18603); position: relative; padding-inline: 1ch 1ch; white-space-collapse: preserve; word-break: break-word; --diffs-line-bg: light-dark( color-mix(in lab, #151515 98%, #c4ffc0), color-mix(in lab, #151515 92%, #c4ffc0)); font-family: &quot;IBM Plex Mono&quot;, &quot;IBM Plex Mono Fallback&quot;, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, &quot;Liberation Mono&quot;, &quot;Courier New&quot;, monospace; font-size: 13px;"><span style="background-color: rgba(0, 0, 0, 0); text-decoration-line: initial; text-decoration-color: rgb(205, 200, 197); color: rgb(205, 200, 197);">-</span><span style="background-color: rgba(0, 0, 0, 0); text-decoration-line: initial; text-decoration-color: rgb(241, 236, 232);"> `src/main/java/com/imdaxiong/bigbearcloud/service/SfxService.java`</span></div><div data-line="481" data-line-type="change-addition" data-line-index="480,480" style="color: rgb(241, 236, 232); background-color: lab(13.8164 -2.23434 1.91613); position: relative; padding-inline: 1ch 1ch; white-space-collapse: preserve; word-break: break-word; --diffs-line-bg: light-dark( color-mix(in lab, #151515 98%, #c4ffc0), color-mix(in lab, #151515 92%, #c4ffc0)); font-family: &quot;IBM Plex Mono&quot;, &quot;IBM Plex Mono Fallback&quot;, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, &quot;Liberation Mono&quot;, &quot;Courier New&quot;, monospace; font-size: 13px;"><span style="background-color: rgba(0, 0, 0, 0); text-decoration-line: initial; text-decoration-color: rgb(205, 200, 197); color: rgb(205, 200, 197);">-</span><span style="background-color: rgba(0, 0, 0, 0); text-decoration-line: initial; text-decoration-color: rgb(241, 236, 232);"> `src/main/java/com/imdaxiong/bigbearcloud/repository/SfxRepository.java`</span></div><div data-line="482" data-line-type="change-addition" data-line-index="481,481" style="color: rgb(241, 236, 232); background-color: lab(13.8164 -2.23434 1.91613); position: relative; padding-inline: 1ch 1ch; white-space-collapse: preserve; word-break: break-word; --diffs-line-bg: light-dark( color-mix(in lab, #151515 98%, #c4ffc0), color-mix(in lab, #151515 92%, #c4ffc0)); font-family: &quot;IBM Plex Mono&quot;, &quot;IBM Plex Mono Fallback&quot;, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, &quot;Liberation Mono&quot;, &quot;Courier New&quot;, monospace; font-size: 13px;"> </div><div data-line="483" data-line-type="change-addition" data-line-index="482,482" style="color: rgb(241, 236, 232); background-color: lab(13.8164 -2.23434 1.91613); position: relative; padding-inline: 1ch 1ch; white-space-collapse: preserve; word-break: break-word; --diffs-line-bg: light-dark( color-mix(in lab, #151515 98%, #c4ffc0), color-mix(in lab, #151515 92%, #c4ffc0)); font-family: &quot;IBM Plex Mono&quot;, &quot;IBM Plex Mono Fallback&quot;, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, &quot;Liberation Mono&quot;, &quot;Courier New&quot;, monospace; font-size: 13px;"><span style="background-color: rgba(0, 0, 0, 0); font-weight: bold; text-decoration-line: initial; text-decoration-color: rgb(250, 207, 254); color: rgb(250, 207, 254);">#### 修复汇总</span></div><div data-line="484" data-line-type="change-addition" data-line-index="483,483" style="color: rgb(241, 236, 232); background-color: lab(13.8164 -2.23434 1.91613); position: relative; padding-inline: 1ch 1ch; white-space-collapse: preserve; word-break: break-word; --diffs-line-bg: light-dark( color-mix(in lab, #151515 98%, #c4ffc0), color-mix(in lab, #151515 92%, #c4ffc0)); font-family: &quot;IBM Plex Mono&quot;, &quot;IBM Plex Mono Fallback&quot;, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, &quot;Liberation Mono&quot;, &quot;Courier New&quot;, monospace; font-size: 13px;"> </div><div data-line="485" data-line-type="change-addition" data-line-index="484,484" style="color: rgb(241, 236, 232); background-color: lab(13.8164 -2.23434 1.91613); position: relative; padding-inline: 1ch 1ch; white-space-collapse: preserve; word-break: break-word; --diffs-line-bg: light-dark( color-mix(in lab, #151515 98%, #c4ffc0), color-mix(in lab, #151515 92%, #c4ffc0)); font-family: &quot;IBM Plex Mono&quot;, &quot;IBM Plex Mono Fallback&quot;, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, &quot;Liberation Mono&quot;, &quot;Courier New&quot;, monospace; font-size: 13px;"><span style="background-color: rgba(0, 0, 0, 0); text-decoration-line: initial; text-decoration-color: rgb(241, 236, 232);">| 问题 | 修复方案 |</span></div><div data-line="486" data-line-type="change-addition" data-line-index="485,485" style="color: rgb(241, 236, 232); background-color: lab(13.8164 -2.23434 1.91613); position: relative; padding-inline: 1ch 1ch; white-space-collapse: preserve; word-break: break-word; --diffs-line-bg: light-dark( color-mix(in lab, #151515 98%, #c4ffc0), color-mix(in lab, #151515 92%, #c4ffc0)); font-family: &quot;IBM Plex Mono&quot;, &quot;IBM Plex Mono Fallback&quot;, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, &quot;Liberation Mono&quot;, &quot;Courier New&quot;, monospace; font-size: 13px;"><span style="background-color: rgba(0, 0, 0, 0); text-decoration-line: initial; text-decoration-color: rgb(241, 236, 232);">|------|----------|</span></div><div data-line="487" data-line-type="change-addition" data-line-index="486,486" style="color: rgb(241, 236, 232); background-color: lab(13.8164 -2.23434 1.91613); position: relative; padding-inline: 1ch 1ch; white-space-collapse: preserve; word-break: break-word; --diffs-line-bg: light-dark( color-mix(in lab, #151515 98%, #c4ffc0), color-mix(in lab, #151515 92%, #c4ffc0)); font-family: &quot;IBM Plex Mono&quot;, &quot;IBM Plex Mono Fallback&quot;, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, &quot;Liberation Mono&quot;, &quot;Courier New&quot;, monospace; font-size: 13px;"><span style="background-color: rgba(0, 0, 0, 0); text-decoration-line: initial; text-decoration-color: rgb(241, 236, 232);">| </span><span style="background-color: rgba(0, 0, 0, 0); text-decoration-line: initial; text-decoration-color: rgb(241, 236, 232);">`processWebmTranscode()`</span><span style="background-color: rgba(0, 0, 0, 0); text-decoration-line: initial; text-decoration-color: rgb(241, 236, 232);"> 异步返回值无效 | 移除 </span><span style="background-color: rgba(0, 0, 0, 0); text-decoration-line: initial; text-decoration-color: rgb(241, 236, 232);">`@Async`</span><span style="background-color: rgba(0, 0, 0, 0); text-decoration-line: initial; text-decoration-color: rgb(241, 236, 232);"> 注解 |</span></div><div data-line="488" data-line-type="change-addition" data-line-index="487,487" style="color: rgb(241, 236, 232); background-color: lab(13.8164 -2.23434 1.91613); position: relative; padding-inline: 1ch 1ch; white-space-collapse: preserve; word-break: break-word; --diffs-line-bg: light-dark( color-mix(in lab, #151515 98%, #c4ffc0), color-mix(in lab, #151515 92%, #c4ffc0)); font-family: &quot;IBM Plex Mono&quot;, &quot;IBM Plex Mono Fallback&quot;, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, &quot;Liberation Mono&quot;, &quot;Courier New&quot;, monospace; font-size: 13px;"><span style="background-color: rgba(0, 0, 0, 0); text-decoration-line: initial; text-decoration-color: rgb(241, 236, 232);">| </span><span style="background-color: rgba(0, 0, 0, 0); text-decoration-line: initial; text-decoration-color: rgb(241, 236, 232);">`deleteSfxByIds()`</span><span style="background-color: rgba(0, 0, 0, 0); text-decoration-line: initial; text-decoration-color: rgb(241, 236, 232);"> 未加载标签 | 新增 </span><span style="background-color: rgba(0, 0, 0, 0); text-decoration-line: initial; text-decoration-color: rgb(241, 236, 232);">`findByIdInWithTags()`</span><span style="background-color: rgba(0, 0, 0, 0); text-decoration-line: initial; text-decoration-color: rgb(241, 236, 232);"> 方法 |</span></div><div data-line="489" data-line-type="change-addition" data-line-index="488,488" style="color: rgb(241, 236, 232); background-color: lab(13.8164 -2.23434 1.91613); position: relative; padding-inline: 1ch 1ch; white-space-collapse: preserve; word-break: break-word; --diffs-line-bg: light-dark( color-mix(in lab, #151515 98%, #c4ffc0), color-mix(in lab, #151515 92%, #c4ffc0)); font-family: &quot;IBM Plex Mono&quot;, &quot;IBM Plex Mono Fallback&quot;, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, &quot;Liberation Mono&quot;, &quot;Courier New&quot;, monospace; font-size: 13px;"><span style="background-color: rgba(0, 0, 0, 0); text-decoration-line: initial; text-decoration-color: rgb(241, 236, 232);">| </span><span style="background-color: rgba(0, 0, 0, 0); text-decoration-line: initial; text-decoration-color: rgb(241, 236, 232);">`removeTagFromSfx()`</span><span style="background-color: rgba(0, 0, 0, 0); text-decoration-line: initial; text-decoration-color: rgb(241, 236, 232);"> 缺少关联清理 | 添加 setSfx(null) 和 setTag(null) |</span></div><div data-line="490" data-line-type="change-addition" data-line-index="489,489" style="color: rgb(241, 236, 232); background-color: lab(13.8164 -2.23434 1.91613); position: relative; padding-inline: 1ch 1ch; white-space-collapse: preserve; word-break: break-word; --diffs-line-bg: light-dark( color-mix(in lab, #151515 98%, #c4ffc0), color-mix(in lab, #151515 92%, #c4ffc0)); font-family: &quot;IBM Plex Mono&quot;, &quot;IBM Plex Mono Fallback&quot;, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, &quot;Liberation Mono&quot;, &quot;Courier New&quot;, monospace; font-size: 13px;"><span style="background-color: rgba(0, 0, 0, 0); text-decoration-line: initial; text-decoration-color: rgb(241, 236, 232);">| </span><span style="background-color: rgba(0, 0, 0, 0); text-decoration-line: initial; text-decoration-color: rgb(241, 236, 232);">`batchUpdate()`</span><span style="background-color: rgba(0, 0, 0, 0); text-decoration-line: initial; text-decoration-color: rgb(241, 236, 232);"> 循环内多次 save | 新增私有方法,统一 save |</span></div>