Prechádzať zdrojové kódy

chore(s8): enable order delivery gray rule with guard

- Enable disabled ORDER_DELIVERY / ORDER_DUE_AT gray rule after excluding SO001.
- Set next_run_at and paused_until guard (NOW + 30min) to prevent uncontrolled immediate execution; global S8:Scheduler:Enabled stays false as primary gate.
- Keep expression limited to v_s8_order_delivery_watch, 30-day window, and order_no <> 'SO001'.
- Do not change params_json or dictionary metadata.
- Smoke confirms no exception or notification was generated during guarded enable (ado_s8_exception 41 -> 41).
YY968XX 2 mesiacov pred
rodič
commit
37e6e2473d

+ 6 - 3
server/Admin.NET.Web.Entry/Admin.NET.Web.Entry.csproj

@@ -11,9 +11,9 @@
     <GenerateSatelliteAssembliesForCore>true</GenerateSatelliteAssembliesForCore>
     <Copyright>Admin.NET</Copyright>
     <Description>Admin.NET 通用权限开发平台</Description>
-    <AssemblyVersion>1.0.181</AssemblyVersion>
-    <FileVersion>1.0.181</FileVersion>
-    <Version>1.0.181</Version>
+    <AssemblyVersion>1.0.182</AssemblyVersion>
+    <FileVersion>1.0.182</FileVersion>
+    <Version>1.0.182</Version>
   </PropertyGroup>
 
   <ItemGroup>
@@ -160,6 +160,9 @@
     <None Update="UpdateScripts\1.0.181.sql">
       <CopyToOutputDirectory>Always</CopyToOutputDirectory>
     </None>
+    <None Update="UpdateScripts\1.0.182.sql">
+      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+    </None>
   </ItemGroup>
 
   <ItemGroup>

+ 19 - 0
server/Admin.NET.Web.Entry/UpdateScripts/1.0.182.sql

@@ -0,0 +1,19 @@
+-- =============================================================================
+-- S8 订单计划交付超期 近30天灰度规则:受控启用(enabled 0 -> 1)+ 双闸门
+-- 业务已拍板:首轮只处理 1 条真实业务单 S20260515001 / 瑞贝德;SO001 与 49 历史老单已排除。
+-- 受控启用:enabled=1,同时设 next_run_at / paused_until = NOW()+30 分钟(第二闸门),
+--          全局 S8:Scheduler:Enabled 默认 false 为主闸门(本脚本不改全局配置)。
+-- 守卫:仅当 enabled=0 且 expression 已含视图 / 近30天窗口 / order_no<>'SO001' 时才启用(防误启)。
+-- 不改 expression / params_json / last_run_at / lock_token / lock_until;不碰异常表 / 通知表。
+-- 真实首跑由独立批次 S8-ORDER-DELIVERY-GRAY-FIRST-RUN-1 在确认调度受控后释放。
+-- =============================================================================
+UPDATE ado_s8_watch_rule
+SET enabled      = 1,
+    next_run_at  = DATE_ADD(NOW(), INTERVAL 30 MINUTE),
+    paused_until = DATE_ADD(NOW(), INTERVAL 30 MINUTE),
+    updated_at   = NOW()
+WHERE rule_code = 'RULE_S1_ORDER_DELIVERY_DUE_GRAY30_DATE_DELAY'
+  AND enabled = 0
+  AND expression LIKE '%v_s8_order_delivery_watch%'
+  AND expression LIKE '%order_no <> ''SO001''%'
+  AND expression LIKE '%DATE_SUB(CURDATE(), INTERVAL 30 DAY)%';