Files
pyGoEdge-UserPanel/billing/management/commands/__pycache__/apply_invoice_policies.cpython-312.pyc

21 lines
5.4 KiB
Plaintext
Raw Normal View History

2025-11-18 03:36:49 +08:00
<EFBFBD>
<00> i<><00><00>f<00>ddlmZddlmZddlmZddlmZddlm Z m
Z
ddl m Z Gd<07>de<01>Z y )
<EFBFBD>)<01> BaseCommand)<01>timezone)<01> transaction)<01>Invoice)<02>SystemSettings<67> OperationLog)<01> GoEdgeClientc<00>:<00>eZdZdZd<02>Zej d<03><00>Zy)<05>Commandum对逾期未支付账单执行未支付策略(停服或限速)。支持 dry-run 与用户/时间过滤。c<00><><00>|jdtdd<03><04>|jdtdd<06><04>|jddd d
<EFBFBD> <0B>y) Nz--days-overdueru@逾期天数阈值默认0表示只要未支付即处理)<03>type<70>default<6C>helpz --user-idu!仅处理指定用户可选z --dry-run<75>
store_trueFu'试运行,不落库与不调用接口)<03>actionrr)<02> add_argument<6E>int)<02>self<6C>parsers <20>IE:\Project\pygoedge\billing\management\commands\apply_invoice_policies.py<70> add_argumentszCommand.add_arguments sR<00><00><0E><1B><1B>,<2C>3<EFBFBD><01>IK<02><1B> L<02><0E><1B><1B>K<EFBFBD>c<EFBFBD>1<EFBFBD>Cf<43><1B>g<><0E><1B><1B>K<EFBFBD> <0C>e<EFBFBD>R{<7B><1B>|<7C>c <00><><00>t|jd<01>xsd<02>}t|jd<03>xsd<02>}t|jd<04><00>}tj<00>j <00>}t jjt j<00><05>}|r|j|<04><06>}|dkDr+|tj|<03><07>z
}|j|<08><08>}t|<07>} | s5|jj|jjd <09><00>yt jj#d
<EFBFBD>j%<00>}
t'|
d i<00>xsi} | jd <0C>xsd j)<00>} t| jd<0E>xsd<02>} d}|s
t+<00>}d}| D<00>]<5D>}g}|j,j/d<0F>j1<00>}|D<00>]}|j2}|r |j4s<01>|dz }|r$|j7|j8| xsd| d<12><03><00>J|j;t|j4<00><00>}|s<01>q| dk(rC| dkDr>|j=|dt| <0A>d<15><02>|j7|j8d| d<16><03><00><>|j?|ddi<01>|j@dk7rd|_ |jCddg<02><1B>|j7|j8dd<1C><02><00><01>|r: tDjjGddd|jH<00><00>tK|<11><00><1F>|jj|jjOd|jH<00>d tQ|<11><00>d!<21><05><00><00><01><>|jj|jjOd"tQ| <09><00>d#|<0F>d$<24><05><00>y#tL$rY<00><>wxYw)%N<> days_overduer<00>user_id<69>dry_run)<01>status)r)<01>days)<01>period_end__lteu!无符合条件的未支付账单<E8B4A6>id<69>default_overage_policyr<00><00> limit_bps<70>domain<69><00>shutdown)r$rr#<00>limitT)<02>isOn<4F> rateBytes)r$rr)r(<00> suspendedr<00>
updated_at)<01> update_fields)r$r<00>apply_overage_policy_cronzInvoice#)<04>actorr<00>target<65>detailu 应用策略u
个域名u完成:处理账单 u 个,涉及域名 u 个))r<00>get<65>boolr<00>now<6F>dater<00>objects<74>filter<65> STATUS_UNPAID<49> timedelta<74>list<73>stdout<75>write<74>style<6C>NOTICEr<00>order_by<62>first<73>getattr<74>lowerr <00>items<6D>select_related<65>allr$<00>edge_server_id<69>append<6E>name<6D>find_server_web_id<69>update_http_web_request_limit<69>update_http_web_shutdownr<00>saver<00>creater <00>str<74> Exception<6F>SUCCESS<53>len)r<00>args<67>optionsrr<00>dry<72>today<61>qs<71>cutoff<66>invoices<65>sys<79>policy<63> action_typer#<00>client<6E> total_domains<6E>inv<6E>appliedrB<00>it<69>d<>web_ids r<00>handlezCommand.handles]<00><00><1A>7<EFBFBD>;<3B>;<3B>~<7E>6<>;<3B>!<21><<3C> <0C><15>g<EFBFBD>k<EFBFBD>k<EFBFBD>)<29>,<2C>1<><01>2<><07><12>7<EFBFBD>;<3B>;<3B>y<EFBFBD>)<29>*<2A><03><18> <0C> <0C><0E>#<23>#<23>%<25><05> <14>_<EFBFBD>_<EFBFBD> #<23> #<23>7<EFBFBD>+@<40>+@<40> #<23> A<><02> <12><13><19><19>7<EFBFBD><19>+<2B>B<EFBFBD> <17>!<21> <1B><1A>X<EFBFBD>/<2F>/<2F>\<5C>B<>B<>F<EFBFBD><13><19><19>6<EFBFBD><19>2<>B<EFBFBD><17><02>8<EFBFBD><08><17> <10>K<EFBFBD>K<EFBFBD> <1D> <1D>d<EFBFBD>j<EFBFBD>j<EFBFBD>/<2F>/<2F>0S<30>T<> U<> <12><1C>$<24>$<24>-<2D>-<2D>d<EFBFBD>3<>9<>9<>;<3B><03><18><13>6<><02>;<3B>A<>r<EFBFBD><06><1D>z<EFBFBD>z<EFBFBD>(<28>+<2B>1<>r<EFBFBD>8<>8<>:<3A> <0B><17><06>
<EFBFBD>
<EFBFBD>;<3B>/<2F>4<>1<EFBFBD>5<> <09><15><06><12>!<21>^<5E>F<EFBFBD><19> <0A><1B>C<EFBFBD><18>G<EFBFBD><17>I<EFBFBD>I<EFBFBD>,<2C>,<2C>X<EFBFBD>6<>:<3A>:<3A><<3C>E<EFBFBD><1B><02><16>I<EFBFBD>I<EFBFBD><01><18><01> 0<> 0<><1C><1D><11>"<22> <0A><16><1B>N<EFBFBD>N<EFBFBD>a<EFBFBD>f<EFBFBD>f<EFBFBD> <0B>@Y<>z<EFBFBD>hq<68>#r<>s<><1C><1F>2<>2<>3<EFBFBD>q<EFBFBD>7G<37>7G<37>3H<33>I<><06><1D><1C><1E>'<27>)<29>i<EFBFBD>!<21>m<EFBFBD><1A>8<>8<><16>$<24>]`<60>aj<61>]k<>Al<41>m<><1B>N<EFBFBD>N<EFBFBD>a<EFBFBD>f<EFBFBD>f<EFBFBD><07>V_<56>#`<60>a<><1A>3<>3<>F<EFBFBD>V<EFBFBD>T<EFBFBD>N<EFBFBD>K<><18>x<EFBFBD>x<EFBFBD>;<3B>.<2E>#.<2E><01><08><19><06><06>h<EFBFBD> <0C>-E<><06>F<><1B>N<EFBFBD>N<EFBFBD>a<EFBFBD>f<EFBFBD>f<EFBFBD>
<EFBFBD>#K<>L<>'<1C>(<17><19> <20>(<28>(<28>/<2F>/<2F>"<22>:<3A>!)<29>#<23>&<26>&<26><18>2<>"<22>7<EFBFBD>|<7C> 0<><16> <11>K<EFBFBD>K<EFBFBD> <1D> <1D>d<EFBFBD>j<EFBFBD>j<EFBFBD>0<>0<>8<EFBFBD>C<EFBFBD>F<EFBFBD>F<EFBFBD>8<EFBFBD>CS<43>TW<54>X_<58>T`<60>Sa<53>ak<61>1l<31>m<> n<>C<1C>F <0A> <0B> <0B><19><19>$<24>*<2A>*<2A>,<2C>,<2C>/E<>c<EFBFBD>(<28>m<EFBFBD>_<EFBFBD>Th<54>iv<69>hw<68>w{<7B>-|<7C>}<7D>~<7E><> !<21><19><18><19>s<00>
9O<02> O%<05>$O%N)<08>__name__<5F>
__module__<EFBFBD> __qualname__rrr<00>atomicrb<00>rrr r
s+<00><00> z<>D<EFBFBD>}<01>
<11><17><17>@<01><18>@rr N)<0E>django.core.management.baser<00> django.utilsr<00> django.dbr<00>billing.modelsr<00> core.modelsrr<00>core.goedge_clientr r rgrr<00><module>rns'<00><01>3<>!<21>!<21>"<22>4<>+<2B>I<01>k<EFBFBD>Ir