<div data-line="487" data-alt-line="487" data-line-type="context" data-line-index="486,486" 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(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-alt-line="488" data-line-type="context" data-line-index="487,487" 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(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-alt-line="489" data-line-type="context" data-line-index="488,488" 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(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-alt-line="490" data-line-type="context" data-line-index="489,489" 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(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><div data-line="491" data-line-type="change-addition" data-line-index="490,490" 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="492" data-line-type="change-addition" data-line-index="491,491" 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="493" data-line-type="change-addition" data-line-index="492,492" 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="494" data-line-type="change-addition" data-line-index="493,493" 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="495" data-line-type="change-addition" data-line-index="494,494" 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="496" data-line-type="change-addition" data-line-index="495,495" 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="497" data-line-type="change-addition" data-line-index="496,496" 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="498" data-line-type="change-addition" data-line-index="497,497" 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="499" data-line-type="change-addition" data-line-index="498,498" 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="500" data-line-type="change-addition" data-line-index="499,499" 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="501" data-line-type="change-addition" data-line-index="500,500" 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);">| P0 | decrementUsageCount无边界检查,会产生负数 | TagService.java:172-184 |</span></div><div data-line="502" data-line-type="change-addition" data-line-index="501,501" 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);">| P0 | deleteSfxAllTags未清理中间表SfxTag | SfxService.java:726-741 |</span></div><div data-line="503" data-line-type="change-addition" data-line-index="502,502" 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);">| P1 | batchUpdate循环内标签计数重复递增 | SfxService.java:845-875 |</span></div><div data-line="504" data-line-type="change-addition" data-line-index="503,503" 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);">| P1 | deleteSfxTag索引更新顺序不当 | SfxService.java:700-724 |</span></div><div data-line="505" data-line-type="change-addition" data-line-index="504,504" 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);">| P2 | clearNotApproved未加载标签关联 | SfxService.java:950-972 |</span></div><div data-line="506" data-line-type="change-addition" data-line-index="505,505" 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="507" data-line-type="change-addition" data-line-index="506,506" 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="508" data-line-type="change-addition" data-line-index="507,507" 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="509" data-line-type="change-addition" data-line-index="508,508" 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. TagService.decrementUsageCount 添加负数检查</span></div><div data-line="510" data-line-type="change-addition" data-line-index="509,509" 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);">```java</span></div><div data-line="511" data-line-type="change-addition" data-line-index="510,510" 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(237, 178, 241); color: rgb(237, 178, 241);">if</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(254, 253, 253); color: rgb(254, 253, 253);">tagStats</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(140, 176, 255); color: rgb(140, 176, 255);">getUsageCount</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(205, 200, 197); color: rgb(205, 200, 197);">&gt;</span><span style="background-color: rgba(0, 0, 0, 0); text-decoration-line: initial; text-decoration-color: rgb(147, 233, 246); color: rgb(147, 233, 246);"> 0</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="512" data-line-type="change-addition" data-line-index="511,511" 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(254, 253, 253); color: rgb(254, 253, 253);"> tagStats</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(140, 176, 255); color: rgb(140, 176, 255);">setUsageCount</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(254, 253, 253); color: rgb(254, 253, 253);">tagStats</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(140, 176, 255); color: rgb(140, 176, 255);">getUsageCount</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(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(147, 233, 246); color: rgb(147, 233, 246);"> 1</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="513" data-line-type="change-addition" data-line-index="512,512" 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(254, 253, 253); color: rgb(254, 253, 253);"> tagStatsRepository</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(140, 176, 255); color: rgb(140, 176, 255);">save</span><span style="background-color: rgba(0, 0, 0, 0); text-decoration-line: initial; text-decoration-color: rgb(241, 236, 232);">(tagStats);</span></div><div data-line="514" data-line-type="change-addition" data-line-index="513,513" 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="515" data-line-type="change-addition" data-line-index="514,514" 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="516" data-line-type="change-addition" data-line-index="515,515" 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="517" data-line-type="change-addition" data-line-index="516,516" 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. SfxService.deleteSfxAllTags 添加中间表清理</span></div><div data-line="518" data-line-type="change-addition" data-line-index="517,517" 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);">```java</span></div><div data-line="519" data-line-type="change-addition" data-line-index="518,518" 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(254, 253, 253); color: rgb(254, 253, 253);">sfx</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(140, 176, 255); color: rgb(140, 176, 255);">getSfxTags</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(140, 176, 255); color: rgb(140, 176, 255);">clear</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="520" data-line-type="change-addition" data-line-index="519,519" 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(254, 253, 253); color: rgb(254, 253, 253);">sfxTagRepository</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(140, 176, 255); color: rgb(140, 176, 255);">deleteBySfxId</span><span style="background-color: rgba(0, 0, 0, 0); text-decoration-line: initial; text-decoration-color: rgb(241, 236, 232);">(sfxId); </span><span style="background-color: rgba(0, 0, 0, 0); text-decoration-line: initial; text-decoration-color: rgb(143, 143, 143); color: rgb(143, 143, 143);">// 新增</span></div><div data-line="521" data-line-type="change-addition" data-line-index="520,520" 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="522" data-line-type="change-addition" data-line-index="521,521" 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="523" data-line-type="change-addition" data-line-index="522,522" 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. SfxService.batchUpdate 使用Set收集标签统一递增</span></div><div data-line="524" data-line-type="change-addition" data-line-index="523,523" 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);">```java</span></div><div data-line="525" data-line-type="change-addition" data-line-index="524,524" 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(140, 176, 255); color: rgb(140, 176, 255);">Set</span><span style="background-color: rgba(0, 0, 0, 0); text-decoration-line: initial; text-decoration-color: rgb(252, 213, 58); color: rgb(252, 213, 58);">&lt;</span><span style="background-color: rgba(0, 0, 0, 0); text-decoration-line: initial; text-decoration-color: rgb(237, 178, 241); color: rgb(237, 178, 241);">String</span><span style="background-color: rgba(0, 0, 0, 0); text-decoration-line: initial; text-decoration-color: rgb(252, 213, 58); color: rgb(252, 213, 58);">&gt; </span><span style="background-color: rgba(0, 0, 0, 0); text-decoration-line: initial; text-decoration-color: rgb(254, 253, 253); color: rgb(254, 253, 253);">addedTags</span><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(237, 178, 241); color: rgb(237, 178, 241);"> new</span><span style="background-color: rgba(0, 0, 0, 0); text-decoration-line: initial; text-decoration-color: rgb(140, 176, 255); color: rgb(140, 176, 255);"> HashSet</span><span style="background-color: rgba(0, 0, 0, 0); text-decoration-line: initial; text-decoration-color: rgb(241, 236, 232);">&lt;&gt;();</span></div><div data-line="526" data-line-type="change-addition" data-line-index="525,525" 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(143, 143, 143); color: rgb(143, 143, 143);">// 循环中添加到Set</span></div><div data-line="527" data-line-type="change-addition" data-line-index="526,526" 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(254, 253, 253); color: rgb(254, 253, 253);">addedTags</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(140, 176, 255); color: rgb(140, 176, 255);">add</span><span style="background-color: rgba(0, 0, 0, 0); text-decoration-line: initial; text-decoration-color: rgb(241, 236, 232);">(tagName);</span></div><div data-line="528" data-line-type="change-addition" data-line-index="527,527" 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(143, 143, 143); color: rgb(143, 143, 143);">// 循环后统一递增</span></div><div data-line="529" data-line-type="change-addition" data-line-index="528,528" 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(237, 178, 241); color: rgb(237, 178, 241);">for</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(140, 176, 255); color: rgb(140, 176, 255);">String</span><span style="background-color: rgba(0, 0, 0, 0); text-decoration-line: initial; text-decoration-color: rgb(254, 253, 253); color: rgb(254, 253, 253);"> tagName</span><span style="background-color: rgba(0, 0, 0, 0); text-decoration-line: initial; text-decoration-color: rgb(237, 178, 241); color: rgb(237, 178, 241);"> :</span><span style="background-color: rgba(0, 0, 0, 0); text-decoration-line: initial; text-decoration-color: rgb(241, 236, 232);"> addedTags) {</span></div><div data-line="530" data-line-type="change-addition" data-line-index="529,529" 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(254, 253, 253); color: rgb(254, 253, 253);"> tagService</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(140, 176, 255); color: rgb(140, 176, 255);">incrementUsageCount</span><span style="background-color: rgba(0, 0, 0, 0); text-decoration-line: initial; text-decoration-color: rgb(241, 236, 232);">(tag, </span><span style="background-color: rgba(0, 0, 0, 0); text-decoration-line: initial; text-decoration-color: rgb(254, 253, 253); color: rgb(254, 253, 253);">SfxCategory</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(254, 253, 253); color: rgb(254, 253, 253);">SFX</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="531" data-line-type="change-addition" data-line-index="530,530" 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="532" data-line-type="change-addition" data-line-index="531,531" 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="533" data-line-type="change-addition" data-line-index="532,532" 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="534" data-line-type="change-addition" data-line-index="533,533" 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. SfxService.deleteSfxTag 优化索引更新</span></div><div data-line="535" data-line-type="change-addition" data-line-index="534,534" 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);">```java</span></div><div data-line="536" data-line-type="change-addition" data-line-index="535,535" 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(237, 178, 241); color: rgb(237, 178, 241);">if</span><span style="background-color: rgba(0, 0, 0, 0); text-decoration-line: initial; text-decoration-color: rgb(241, 236, 232);"> (sfx </span><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(147, 233, 246); color: rgb(147, 233, 246);"> 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="537" data-line-type="change-addition" data-line-index="536,536" 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(254, 253, 253); color: rgb(254, 253, 253);"> audioEffectService</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(140, 176, 255); color: rgb(140, 176, 255);">indexAudioEffect</span><span style="background-color: rgba(0, 0, 0, 0); text-decoration-line: initial; text-decoration-color: rgb(241, 236, 232);">(sfx);</span></div><div data-line="538" data-line-type="change-addition" data-line-index="537,537" 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="539" data-line-type="change-addition" data-line-index="538,538" 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(140, 176, 255); color: rgb(140, 176, 255);">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="540" data-line-type="change-addition" data-line-index="539,539" 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="541" data-line-type="change-addition" data-line-index="540,540" 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;"> </div><div data-line="542" data-line-type="change-addition" data-line-index="541,541" 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);">#### 5. SfxRepository 新增 findByStatusNotWithTags</span></div><div data-line="543" data-line-type="change-addition" data-line-index="542,542" 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);">```java</span></div><div data-line="544" data-line-type="change-addition" data-line-index="543,543" 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(237, 178, 241); color: rgb(237, 178, 241);">EntityGraph</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(147, 233, 246); color: rgb(147, 233, 246);">attributePaths</span><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><span style="background-color: rgba(0, 0, 0, 0); text-decoration-line: initial; text-decoration-color: rgb(0, 206, 185); color: rgb(0, 206, 185);">"sfxTags"</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(0, 206, 185); color: rgb(0, 206, 185);">"sfxTags.tag"</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="545" data-line-type="change-addition" data-line-index="544,544" 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(140, 176, 255); color: rgb(140, 176, 255);">Page</span><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);">&lt;</span><span style="background-color: rgba(0, 0, 0, 0); text-decoration-line: initial; text-decoration-color: rgb(241, 236, 232);">Sfx</span><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);">&gt;</span><span style="background-color: rgba(0, 0, 0, 0); text-decoration-line: initial; text-decoration-color: rgb(140, 176, 255); color: rgb(140, 176, 255);"> findByStatusNotWithTags</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(237, 178, 241); color: rgb(237, 178, 241);">int</span><span style="background-color: rgba(0, 0, 0, 0); text-decoration-line: initial; text-decoration-color: rgb(241, 236, 232);"> approvedStatus, </span><span style="background-color: rgba(0, 0, 0, 0); text-decoration-line: initial; text-decoration-color: rgb(140, 176, 255); color: rgb(140, 176, 255);">Pageable</span><span style="background-color: rgba(0, 0, 0, 0); text-decoration-line: initial; text-decoration-color: rgb(241, 236, 232);"> pageable);</span></div><div data-line="546" data-line-type="change-addition" data-line-index="545,545" 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>