@@ -127,6 +127,38 @@ func (r *groupRepository) Update(ctx context.Context, groupIn *service.Group) er
127127 SetMcpXMLInject (groupIn .MCPXMLInject ).
128128 SetSoraStorageQuotaBytes (groupIn .SoraStorageQuotaBytes )
129129
130+ // 显式处理可空字段:nil 需要 clear,非 nil 需要 set。
131+ if groupIn .DailyLimitUSD != nil {
132+ builder = builder .SetDailyLimitUsd (* groupIn .DailyLimitUSD )
133+ } else {
134+ builder = builder .ClearDailyLimitUsd ()
135+ }
136+ if groupIn .WeeklyLimitUSD != nil {
137+ builder = builder .SetWeeklyLimitUsd (* groupIn .WeeklyLimitUSD )
138+ } else {
139+ builder = builder .ClearWeeklyLimitUsd ()
140+ }
141+ if groupIn .MonthlyLimitUSD != nil {
142+ builder = builder .SetMonthlyLimitUsd (* groupIn .MonthlyLimitUSD )
143+ } else {
144+ builder = builder .ClearMonthlyLimitUsd ()
145+ }
146+ if groupIn .ImagePrice1K != nil {
147+ builder = builder .SetImagePrice1k (* groupIn .ImagePrice1K )
148+ } else {
149+ builder = builder .ClearImagePrice1k ()
150+ }
151+ if groupIn .ImagePrice2K != nil {
152+ builder = builder .SetImagePrice2k (* groupIn .ImagePrice2K )
153+ } else {
154+ builder = builder .ClearImagePrice2k ()
155+ }
156+ if groupIn .ImagePrice4K != nil {
157+ builder = builder .SetImagePrice4k (* groupIn .ImagePrice4K )
158+ } else {
159+ builder = builder .ClearImagePrice4k ()
160+ }
161+
130162 // 处理 FallbackGroupID:nil 时清除,否则设置
131163 if groupIn .FallbackGroupID != nil {
132164 builder = builder .SetFallbackGroupID (* groupIn .FallbackGroupID )
0 commit comments