From 690754e416723a174c728535f7f4d53aba6c6749 Mon Sep 17 00:00:00 2001 From: zzlgreat Date: Fri, 21 Nov 2025 13:49:43 +0800 Subject: [PATCH] update pay function --- __pycache__/app_vx.cpython-310.pyc | Bin 131677 -> 132258 bytes app_vx.py | 65 ++++++++++++++++++++++++---- app_vx - 副本.py => app_vx_copy1.py | 0 3 files changed, 56 insertions(+), 9 deletions(-) rename app_vx - 副本.py => app_vx_copy1.py (100%) diff --git a/__pycache__/app_vx.cpython-310.pyc b/__pycache__/app_vx.cpython-310.pyc index 2c104e8006e1eb44b69a3629c94e31ae39e3447c..3a07ba65eaf72e6e0f45beeafe35651046fab2cc 100644 GIT binary patch delta 5510 zcmZ`-34Bvky3hY6xlNli-CGJ}D@zF|i-O8h7I}amLa{(4EFm_bOh3 zQ6S8G0@VRj5J$FG^|C06xFhI17qIAz8v=@AL222X`Mz5a^v!F2=YPNTobR0Pto?kE zZNpNVGZY^mXX3yAy4*HkI=I7`pA=^<3e0d@O3M93b)`vveJLrG)kC>deBd;hmdDJ! zwXW5ns2wMw+deI+E;9L4-YG*Tm_HoL|-obxb){Tp34NERvWt> zFh$z4+k-5b$luBGEosN0O}!%V8Il5)R9umS!uJ@mNj136ZjK>yvm|)M?tViu`5rOy zg=?*mA->81rf>#}yN0LKDBRo%p@S$gu`XkPiMgpv&1OpavQfs(_*KQ{yJIueZ0G>A?&VU*#pjD~iso~mW)3YbVvnRo(tQhRV*)$@{==`jHunFKF03{C?yt4@9;j7n zP+-b8Sv;n&e|gM(MKH}D3e()|aQl+%k{Q05a8YDv4c3|-SA6q)i$6B4R61bBbU310zrDHlWSC6# zj*4)ou(ZNc5%z{FT(R0{7HW41WD2wr$QKwdFd-UqJa>l6;!f54W!|vg$9{%;VW=_~ zc4rg^nAZY@-ZGDWwm%rI@ED5v8w6w6F6 zG4A6Q@=7JP=GrUEU1ql<913&b%{_9b6c&4f?jpa($9>WQ_g01jp`g31NdF-8l>4

7F7DUF-Ytz9RM?TAeT6U^MT z#OUsZj&aFMF5nGWONpLn7?`dy>yDRvd3Z1b;efwFvzns=&hWMq{o9$`Xn9jwv`wGb zsCxD!7DsK(G6D#D&}UO#@VEfuQhq#7;$EXj|vdCLQy;?PY0_q1Kb$LOLji9sG(m)iNbO6D`m zVR6C<8z!)vbU<2Tyd?&Ko_LJz6^Y6;{j30Ja-smCYhj~Vi9Wio@c9X>3hgLb!A2-tn zPPnj+E;wId+tHXtw4h-Lcnfb*d?IefZ8RhiDd>rJ)*k(z|Jxf_Eq<9lJ1A|1uqJAdd#LK>rqb;xt>_>lwzl99ohvE_$>D zin-CI7U+X8!_-t{B3jvFMHeR!qMV6X(o>?~^TYewqB3gyLsQop z2-D{i(ZU{-8jOMN_?H5-w;Mqkjd!9O3XqKmjb%ABnpME#xkg`Iz^f4p_0S|-Rufx^ z`w>aZOre4lnU2=h5YwaSiRrjg6>=^wmoQrDv0fatVh$affk@0^v47bVou#Kl_YSvF zO%Xa{2|ZiH$vZ(ui!iq3gKWY(-4gytH%#B`+@k%rxGgnOqn=D)`XTZbqi@$~EU$O? z{Doy+jZZONTrR8juoy2Bctk)d(jKMPi*a*X$;oi8e38iB;>xemZ%AhrQF;J#QA{fW z7^Kb>oBQaK0RFCa5;{U#O0Zb5n5lOuk4=asmZD+w1EQ)CSjFIuz1Lge=hNTk*ZwTR zW>2B|NpAllHhe4K)0Qs}e6hrNNaKk4mf zA|H5+7QTd3eQ6K_fiikK#Az8zPn4qxlXRMeu8Mj;H{o(p!gQq3XBD_3akaGGQCc@r z7Np)`jN-Le9mbuU+5=&11y<4A*;vATM-`q-d_r7|`H?NF@o{>-3LUYOKCQwytkb*A zK^rsL)2Mlvgkt@vdFUah!ABAFv(FP(+3dAy%AAjf@IUnQeCXJqPhEgL@rmW4GHSh3 zLR#CL)EeH8v{^LlVH~$fQeAP{Gt_$-c4MP{dKv7-Lb&t@0_s!Z|1_08id)iBg}x-! z_yh_B{zfl83a^ruq-QRdLu#vj?+UcD;Yq4ljqxp?5tkgv_Kx57naSd}i5ga;SJr0H z%OqPUqz#9T@(#dUT zean8K6vmvKCXKyD19xDUJzk_nCtsyUcJSeH zN`Gz#<^iARUFy)yYTqpeMxc9W+D?ShNCek)OW1?-)lPmNj-_$CFrxQi5g9vzF*p~b zGjd&ZS>3V5<-Sa=%f`GjtQuKIM|a`v#Q#%m-EQRKFg5JvyAh8<#vXLRMjE^aJ>tbn zJHk!XE3^I4q`7I)o(HT>epdK{KCfm>rl07kJvfS^IxqSV(u{HIE1mBr@S_avyJXpm zo12I9uavtNcU#}%I%{avUJS*1`jNfJja5roROyYj`#LL{SCg`GwW{a6%{#9BW$Ecx z639RGhu*yOvOQV`0kSCY+gT(e9 z;}yG|q8%)D&kMXF0em3}>nbN$A+tu z_PO{NGw?NW`c4kD*T1~;PYsqs^%bf zN@yR7*+&AupS9Y@BFmve2XQ-|)sqfk8}PNh?|r;&;T8O+kMNA+8!T z_?VaX3JUOEj^p~Sk8v;56QVy!?GGbArkQTGU3r+_G_TX62)_zUFQ8^rL8 zz*)V|mskXxrQKhl5+kYS*LTMFfGJAb3_A1!b~JCz%Op|P_UC8C zUZK@LViRw?Lr!C)s_>;*E2ibAQHpZ9B%kSe@lUu3iq%ZD4SaM%Ow9CU13K8(OAXD3 z5+$7B+wKv4&KYE~u_e0ClcjGvi?zs%5sz${9|m*~>KMa%D*OdY5ko)xf?jsRYQ5-e zD*92Wde{*QAQY*o3smDHh;$3vx&jo8xRg$$GFtnq@m@&r|k=cDD4#j3@# z^~pbj#x|l=f)>l1%Q{AjlaLZhMf@l)(r%G%>jI@RUB8iG9W3l^0*j>&UW%T_Ets#rdmcxC@%ob&`K>kjMlt9v z&{Lq7fbj|%Ae8a^7$@#`3rrB%M1g#PnbOQLffE9a`k>3asZ={fmnM)dkR=c!2Aiag zF2Z&b=p!IcF>Rp0aDlM`;{*x>d;)%fg#vQX)E*O9Bd|_jgTPjSZ31=Xsf@dX{6yfW zfU#YDE!1&=?*x7lI45At?8`!#WSp%6l2W(BuW2ET|2^U>V@mR-CF-aD#n&5t9BzX0 G;=ch>lp{9) delta 4860 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 diff --git a/app_vx.py b/app_vx.py index fb4c0a20..ba4d3c42 100644 --- a/app_vx.py +++ b/app_vx.py @@ -2501,8 +2501,7 @@ def api_get_events(): events_data = [] for event in paginated.items: - - # 构建事件数据(简化版,只包含基本信息和涨跌幅) + # 构建事件数据(保持原有结构,个股信息和统计置空) event_dict = { 'id': event.id, 'title': event.title, @@ -2514,12 +2513,18 @@ def api_get_events(): 'updated_at': event.updated_at.isoformat() if event.updated_at else None, 'start_time': event.start_time.isoformat() if event.start_time else None, 'end_time': event.end_time.isoformat() if event.end_time else None, - # 涨跌幅数据(从数据库字段直接获取) - 'related_avg_chg': event.related_avg_chg, # 平均涨跌幅 - 'related_max_chg': event.related_max_chg, # 最大涨跌幅 - 'related_week_chg': event.related_week_chg, # 周涨跌幅 - # 关联股票数量(固定值) - 'stocks_count': 10 + # 个股信息(置空) + 'related_stocks': [], + # 股票统计(置空或使用数据库字段) + 'stocks_stats': { + 'stocks_count': 10, + 'valid_stocks_count': 0, + # 使用数据库字段的涨跌幅 + 'avg_week_change': round(event.related_week_chg, 2) if event.related_week_chg else 0, + 'max_week_change': round(event.related_max_chg, 2) if event.related_max_chg else 0, + 'avg_daily_change': round(event.related_avg_chg, 2) if event.related_avg_chg else 0, + 'max_daily_change': round(event.related_max_chg, 2) if event.related_max_chg else 0 + } } # 统计信息(可选) @@ -2529,6 +2534,9 @@ def api_get_events(): 'view_count': event.view_count, 'post_count': event.post_count, 'follower_count': event.follower_count, + 'related_avg_chg': event.related_avg_chg, + 'related_max_chg': event.related_max_chg, + 'related_week_chg': event.related_week_chg, 'invest_score': event.invest_score, 'trending_score': event.trending_score, }) @@ -2547,6 +2555,19 @@ def api_get_events(): event_dict['keywords'] = event.keywords if isinstance(event.keywords, list) else [] event_dict['related_industries'] = event.related_industries + # 包含统计信息(可选,置空) + if include_stats: + event_dict['stats'] = { + 'related_stocks_count': 10, + 'historical_events_count': 0, + 'related_data_count': 0, + 'related_concepts_count': 0 + } + + # 包含关联数据(可选,已置空) + if include_related_data: + event_dict['related_stocks'] = [] + events_data.append(event_dict) # ==================== 构建筛选信息 ==================== @@ -2573,7 +2594,7 @@ def api_get_events(): applied_filters['search_query'] = search_query applied_filters['search_type'] = search_type - # ==================== 返回结果(简化版) ==================== + # ==================== 返回结果(保持完全兼容,统计数据置空) ==================== return jsonify({ 'success': True, @@ -2597,6 +2618,32 @@ def api_get_events(): 'sort': sort_by, 'order': order } + }, + # 整体股票涨跌幅分布统计(置空) + 'overall_stats': { + 'total_stocks': 0, + 'change_distribution': { + 'limit_down': 0, + 'down_over_5': 0, + 'down_5_to_1': 0, + 'down_within_1': 0, + 'flat': 0, + 'up_within_1': 0, + 'up_1_to_5': 0, + 'up_over_5': 0, + 'limit_up': 0 + }, + 'change_distribution_percentages': { + 'limit_down': 0, + 'down_over_5': 0, + 'down_5_to_1': 0, + 'down_within_1': 0, + 'flat': 0, + 'up_within_1': 0, + 'up_1_to_5': 0, + 'up_over_5': 0, + 'limit_up': 0 + } } } }) diff --git a/app_vx - 副本.py b/app_vx_copy1.py similarity index 100% rename from app_vx - 副本.py rename to app_vx_copy1.py