From 8b68fa39058a0b244a6d620b16ecbe90b6c6d85f Mon Sep 17 00:00:00 2001 From: raja <1647193241@qq.com> Date: Mon, 20 Jan 2025 20:37:06 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E8=A7=84=E5=88=99=E5=AE=A1=E8=AE=A1-?= =?UTF-8?q?=E8=81=94=E8=A1=A8=E7=AE=A1=E7=90=86-=E5=90=8E=E7=AB=AF?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=20--story=3D121324647?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 【新增】 1. 批量获取 RT 字段接口 2. 联表接口上报审计数据 3. 联表列表填充是否存在需要更新的策略字段 【修复】 1. 修复标准字段顺序 --- src/backend/apps/permission/handlers/drf.py | 2 +- src/backend/locale/en/LC_MESSAGES/django.mo | Bin 72067 -> 72224 bytes src/backend/locale/en/LC_MESSAGES/django.po | 14 ++- .../locale/zh_CN/LC_MESSAGES/django.mo | Bin 73692 -> 73889 bytes .../locale/zh_CN/LC_MESSAGES/django.po | 14 ++- src/backend/services/web/risk/constants.py | 7 -- .../services/web/strategy_v2/models.py | 32 ++++++ .../services/web/strategy_v2/resources.py | 105 ++++++++++++------ .../services/web/strategy_v2/serializers.py | 25 +++++ src/backend/services/web/strategy_v2/views.py | 14 +++ 10 files changed, 171 insertions(+), 42 deletions(-) diff --git a/src/backend/apps/permission/handlers/drf.py b/src/backend/apps/permission/handlers/drf.py index 3b47b65a..01c62aa5 100644 --- a/src/backend/apps/permission/handlers/drf.py +++ b/src/backend/apps/permission/handlers/drf.py @@ -112,7 +112,7 @@ def has_permission(self, request, view): if not self.actions: return True - client = Permission() + client = Permission(request=request) return any([client.is_allowed(action=action) for action in self.actions]) diff --git a/src/backend/locale/en/LC_MESSAGES/django.mo b/src/backend/locale/en/LC_MESSAGES/django.mo index 133483016e3d21da34499ec0fbcd7ddf6278ac37..06a265ee0314f3627720c460f4821f90165f211e 100644 GIT binary patch literal 72224 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 yAl+CUA=y{Zrd6mLl\n" "Language-Team: LANGUAGE \n" @@ -3647,6 +3647,9 @@ msgstr "List Tables" msgid "Get RT Fields" msgstr "Get RT Fields" +msgid "Bulk Get RT Fields" +msgstr "Bulk Get RT Fields" + msgid "Get Strategy Status" msgstr "Get Strategy Status" @@ -3853,6 +3856,12 @@ msgstr "Plan variables" msgid "Table ID" msgstr "Table ID" +msgid "Table IDS" +msgstr "Table IDS" + +msgid "Multiple separated by commas" +msgstr "Multiple separated by commas" + msgid "value" msgstr "value" @@ -3917,6 +3926,9 @@ msgstr "Link Table Configuration" msgid "逗号分隔的标签ID列表" msgstr "Comma-separated tag ID list" +msgid "Need Update Strategy" +msgstr "Need Update Strategy" + msgid "Link Table Count" msgstr "Link Table Count" diff --git a/src/backend/locale/zh_CN/LC_MESSAGES/django.mo b/src/backend/locale/zh_CN/LC_MESSAGES/django.mo index a76ab485d0dbfd1fd89e9959730e78ba67d23ae4..81440f4563b41af6bad779e4d6d83d865a380a99 100644 GIT binary patch literal 73889 zcma&P2Y40L_P;+WDj+I|2==3bfQr3h1wlciNU>aNfB?~uU=kE8S9nKu7~@X2_daw*C-49UqQ2}KJ`$Nf%pxUVktO?J8 z@_!LL2zG>Ok6WP9^??oG?NI4PJ7+=VvjQsr^)By%O7|>Oy4T^M@PF`VSfkMLX$%iR zJ_o8FJ3-mq1`mcKp~^cKsyr*8{H}rf!mZ9nozK97(7z1To}WPZEr;@3qsZ!e6qH?4 zsPeaj^4kWg-8(~-^J=K^aR+P;r$Xgh3YG2&mtS!C4VOQFYNv82zdu6NW6yz>?}1SA zu~2rWK=s?jE?))JE?H3d4}x{!bg1#U6skQQf~rR`l%L0;>ia5`{g+VniSDrS?h7?; z>Otv`g!N%#*a)5r-vO0=6jVD*gKCGlP~&JRRK3`f{}`%&K7-0{pF6D_2Sb&sDLe#T0#(0jpvqkYmG2lRKU1Capz5~_s+_Bx zo1n_K-T5q(-J4M5c^|4DK7ne7@1gpy<{)Ezcrfx&Q0dNqDsM}u_G#zw*E;({`56Wq zz?o3~S3#xQ0acIZVI%l~%RfQ2bDhDKz7bTvp9rNt)#VGI(zkNC2UNTN!+E3YZ-Huu zY^ZwnhiZpH*AIcA9ii$w6)Kh+sLD>(0%4aB){rynwxg2WV+U|TFs=eQV4dLfd z<=Xph^S2*VJ0A(v{%1q^Z3C6=I;e8wLe*~&R67lW%6BqUdn|%S!sSry@uc%3sCN1T zD*ayfnBV=O{3M|AYXKGC8p_|5Q0cn4{#tk*a!;ssnh(`~%UoUqm2NW(;|R+C^H6@? z_W1Xq#zUFQ7$3eBviO#d3 z>eULWJRP9&xfaTQU#R>BL!}!DWj_TT3g^Nj;U=i|d(~M9HO`|U=I;=wc5MRX_Yx@k zu29!W4pjVI@Nzg4o(|uKDtFzXmTx1davTe#ZvmD5EU0$B461xrK(&8&sCKy#YW((x zs^>7McAgAXzx$#3Wr@eHgl8c?;_;tCwabqlzt1o$M}6l}Q28~7@_RZ|KIgf78C3d? zQ2E^eRnC4;=?b9gb2n7F;jW(om2M7Hx|LAlY!g(yo`J`}x1rMg0@d&P4!3d80II!P zK(*7wQ0clrwf8Mh>F$O~HwK3GfU3t5sD6A1s=T|P+W%Ro{(Bv&-9Ck?$JbDHzd+g5 z7-9W#Ae6uQP$!jD{-5EU0=c zaCsF}ebz(ey9277pMrbA7hw(fDpb0+p!_AF(tQtAk3B{j>p=Nw=yJm46XD+I&xA_f z5-Oi7T;J7sEmZ&A1T~)*K;<(YUJhqL`Tqc_o)vIU_zhHheec|7l*KoM%I_Gc_|u@S z%hs?4yaDbFvpl{pOdt<}r@}c<<#-Mr1wVo6hdoDI`yL1-9|BK=$HAtsv-3_UKZ~Ho z$;(jXPQiWPS5Wo&5z0?A#<;)pFlSTena)%T`G4>Pc;GlIS4*h$mqGcz4l4f~sCFL)Yr)x2>6bwH zeHzw=&qJku(^&~sj^CWM##{PBp!5lsTR6{wO5e)a9m=k+#}`5M&p(|bofDwiVLChk z&WB3(wDWbSa(@Js{!`~S@NndxJ-)#N%l~ModY|rc2dMhr1na;eD1Sqt{Ec`0H0L6y z@~nokdju-|E~s{W1ImBW`G@NpPPF)@ur~4MKwWRGVI9~F%HJ(6-|D;*s@+CF&C|1> z?nB$4@_P{~{ePXGI)8%lxA!EAKM<-tj({rfxvuX7<>z{rZ-dHjkn6`orJLvRTcGOq zB$VCzQ1$rAD*cI2>&nwzp9@vK`=Hum0z3dNas7JdPUrJb{@!+e>iR#N z`%Ps|A-)lm-F;C0r#TlnS39>kpK`timF`2Azja2_tX})Wro=aNUJO;QzVINJ=Nt;v zZZn|9*&3*J+3N9+JKu0tK$Y`XSQpluZt|f}>5qp>f12yhceZnV52$k73=e{RoP(jt zF#*c|GUo;;f4iXW7tccVV};ALXPDd^wnpCp%Ks!NKQrNha0yhp4X_=29m?;KGtIs! zY=L|-JQv;oLwYE?B`&XqD)%-hzyEgqdr)?juK(7#*ZpQ+A8H;r9@dAaxc*Y8cD&l< zzOVuET~Pj}xPGp44OF=v_4pTD{}xoe|L5^vL;3jws$CDBW$9W#mA|FS9iig?;rc?? zkAjDwpAJ=yhoS1b2`Zl_q5M4W@_(V~mxQwa!ugYP&)KH0<2=Nffcs&8g3D(+FL7Q0 zRp0I|XF=8LHrEezPJ-&+c~Irt0UN;=pwg$D-$Io;nq&2-4;6nHlzmg@C9nhXbsoPA zHbdS3Rlj$gN#~bP?ea6!IF06-zoVi2p9?#|wlEjYfU@6Xp2gR6Hh}Vftji}k&x6g; zUk2rW0Mzw88LBAr^Udx6crf;dyL_tiLgy7wey@S**Z!`*!#NzP zoKv9cG1s}+<5#-;h|Akueio{~UxwE>!*vq53TWmG2p_9=s6B zPiLs|-s~I*)gI%Wv!Uv{%;gg2)6UnS{C?!}r%?I*!wNT~AhPn?8f)~TlPGplVc$l+=^Af0b>gIAkD1UcDweJ|H^b4W%>!Ieaoi4uwRqywp`Z)#FKi@d_ zTx{||P=1bux^B;M`5JgQ@~u#QMnTQXQ=szO2{k^RcfRWUkMl#Qb!a)1|4*UP{o&ki ziRIr2O5enmLT6{;T(UT!=JhWug3A8K56aQ$GYcAo%M-g&NH3FW^O z%HQkG|3cYSzCPL9VsJ>`!!_1(pBBQ1)G&*LnOc9)By8-+Q6@d7R4+K&4yb z+yphRl)_WtlTh>F_fYBgU1>bnc?{GzJ{cYcFLnJ*&fB2MJqT)C&V{P?Hh3g_6{`GS zLHXb7A(QJuU9ZPMwd=*M@9ga9`hm`oQ0+bwCg2lLe#@Zp`_bjP51altsCu0Zm2W$! zcIW|{!WX6Q%L)p!DJ_MEDX4nvx!Smp69)I>Kv%eIoy}Lm9?*mnz{!sP1*W>4S zd@)o$n_*k{gzIaqw)AzO@@)v^r!A}ld%#+-C)^+Ay8bSx`j2+`0p}WL2~@eBhBe`f zu73-L_H+41XN@(MUp=V!qnxKf)w2zhzkk3wFw2<-Rld7j9tl;hX;Aj7pz_}U<);*C zK6?eqPZH`n`UWcBJ=Pizb~c6b(-O+Qm9vxcdXMktaz2!wd!WiS+4Xar%bgpYk3#u> z!R6Oo{>WM3{1U1jKR}h^Pj~>VQ*8Mi4wc`@Q2x$^vcK5l+d*9~*F&|>y-@9OKa~Ay z=SC<$B~bpKgsRVL9-o3r_c@gRz1G=ysRLzqg!2?0IJ0hVr)^ z9tdB8`@s)f|0$H8Kb-rmxA;a-^=a%p5z5c$P|pW#q0-&p%yHfUmCtaf@i85${wq9w zGnC&ap!_`t)sFAG`~#HVS{saqK(*s>Q1&gHmq4{&HgY$9ct5D_m z7}kcBQ2p>7RQ|t1)wA|S%l{ZC{fSWZIoIXOo!y;T&OGPc&N0rJQ1xBna;ftfsPeu6 zkAO+%o||m`IvUnPe-6}q-X0zVZ-OfS?Qnm14^+9wLAB3f=N72>>;;!AVO``uq5Rf; z#QYr#k3&8S>V9w?RCxzEr$XiXu**B3u7@{W{t2oc^)_4jW1!+Mf%4PS<-45=pvtui z%I~|b{{l8fuDiw3ods2%PA>O%j)KZ>5mfqO=i|;dp!`?B2C&9fvpdY$0;*h>z))Y8 z2SNFp>RjsF0_Ep9D8C=N{F}!gw9V2rfsKei*X666yb^JzD*ZaB{GV{X=lbuV{M0P9_(o9nr$Oo4xZK^@7s}6F z&grgS?eZ?DetO&Wzq`Kfb}MIdsPq>@<#R36b#xolxEtj1IG8}51rLQ=q3Zdn$5%MN zcka2v-V+=MH9ws1Z0qa{mEU#FT&R5SgU7-NE*CquL-~0YsvTZ~hr>@i{!gg+qRvk9 zQy=R3NkG-_G^qLG3XkvR`dgsNG1&DJpst5GQ2t7x@_QUMfv>v$C+DBeeRi4u{o&cz z9Ri!dj!@;k!#M=X-#Do9%!O*_2cfR(N1*1f|3I}zh0EVVrK|C%)#qTS`nP~b!S+z~ z=m(YVZYV!vU;@s9ir)$kgU`F1g6hYgT|V$JvpW{5+-E_x!^Kd3FLQQt-U8*fzsp0Q z(oJ-EmUAgoIoG@VGE{xuhiZqXaNYowe=n%~`$O3chUdVsE}(1{J)M_3yL)_=%SBM-7z$O6@lfTM1y#=#Q1_c1u73u~ z@7vBKRK31|YQLYIb^c|3kA{kG4%IKGLis-r%1?Xe)iAV&%l(~qIY&eJpW*Tf=O*W4 z9{-~ABiDcD+~X-L#{p2|rUBG-e5UI=LY1ex%UMw6?FZEkw?pMW+Bp|0{TirrPeIM! zuetmw)OGul%cneT^}Yb^gZ@gm7wiT#POou&AyhthLABFFDE|xK`Fn65hI=BXp0RRO zLgo7>lzqczZC+^#C3l34;f+w^cbLm-psw3j;ok6bSOb3R@=q@R;oR#v*7(HNgv!6R z%lkVIbbURj@*WITu4A0%LCs57IeR$=Lbbza=Xj|0nGDtb_e0fV5tQFzsBya8`3%%L z=yfRnA48@84$A&lXU*qLZs0r?%Ks@)?R_rPb<_bW{Xd}6XL)>{%R`-$U@hY3LABp9 zD1WOweiPKVc?|0Q_7*%Eehrmhy?@)ftuZ_T`Ftq5YoX?y0$2x*hO(dGTme*g;41_I=efshsUAs33Z)}f-T@ODErr->irJf z7nZsHGv~Lk4*Fl9+GF1rO|A=-?~yLIfCnJAgsNYA*WciB4pjTy4rrs`;%8H7_OLey|Bt{Ap1AcdpA6lF_fQ`P}kEMkADv8dV34%`u_}S+%49}8Y=#DsQ7ly9?qUn{_>&h?tsU@2`;bo_$Q&t{XCTaH=Gqv_P=`k zk#Cq?Qz*ZuxqL1>6S*~1f8Oc(yP*1i1eE<0*Uxe;hHC#+9$yTVezVKlpxW(GsB*mw zRnAXb|2b4Y{ti|Dz1}p|h05X&-&SUD0<>03ax%O&t& zcm-6u-wajWUQq2hz~wuk(v5I=md7u3d6mmsUET#-VE=EZarcYsYrkv$8#)_1PlGDY zMNs*+b9Q!K4OOliowqvggi1HUs`)s-VHS_$3T^922?*Sgvx)5^HF#R^0QFw{vlMlGN^if1(omb zQ1#gVeM^5Zl;0zv;+sOnpX2(ATy6(d{?1VTdb&OzD*YWU5ApcXP}kKAsP>ub@vEWi zH$s(v2h_UfDX4P42z7sW6)K;%oMlkyzIORnmuvpl^anYQfGYp-Q2ts#`8mz?7eSS) zt;-#t=83LQ?b-*b-R^^(;drQWz6+Iq8Pq)Z1=Mx$HPrPKePHqRpxW_pDE*1>PZ<@Z--&5ulO;5^oOit_?zd#LhX4dw42Q0!EO5X~~e|M<-dqcJRy-@j2hf2Qy?gbx* zT3nA$rLX~F) zl-)Y0^d(U3`ZARN51l`|{-Bh_9}CrHp(QIlqPS7nNIlZK(EW2vy!QT;Cqb&($vXfy%GY^`oHD-S6=mpz5~^%I+DF5%c{JHZNSPT8WpW3`x&v_nHy|SRv^>f}0L%YG+=vP3c z-{A4voi8~*hAQXxQ2n^)XC~K&N}qsAf1>Npa<+DTXQ*;q2UU(+oP|*37zOLVMb6bw z{%hrS<7Pfoy4A29d=biT!!OMK7}x^289WzW z4MTb;yZJ6Jhbs3*D8Em+{!J*mPh9`G^LHrw{lBz%AOSUgn?va@glfkwE@wfFuOcXa z<6J+(xdN(OB_98@>tBJYcbUh33gzb~sCGTzD@)fDD&I3*z8osPyX*VAehAchYa&!R zmcj$!TBv+>LizcZ%WuP)$R9x2S2(|M{^s20Ym2YzJPhuKePfqTb+&Z2fvRsOm#>Ga zSGMc#c8-DS-G3I-zlHL**AK?pQ2Ez`2f@Rj@@)a@!E>Pew1*Ag zbUG3Sd=e&2OD36}=|63Dr&=UG52$??9;b9p?Jku3rV~qTlNBvrzSZ6RMv-gzBHqoWD8i{9^eZ z0d?J;;__8c>xbS@euhBJ%j2NRu@!23{LA@o=WEV);9kUk1Xa%@RJxy>d;e)-vvf{vIm-1O7BNf+2qx@`oB%ZCzgo)$XI9>O0f*OQ8He0_E>T z=iAPYq3Zt`RJw1W#Zx{>eCw@4vRc~ipMX9 z%4ZF13rk!d?QQAzh06B;C_fiK*4@)youoi+Ed_y*2qQ1v_?%HLH`<+|3H4OPAZm+yfp*H|d~B~bZ41m$M~)O_{~ zl%MyYuA@q*a{c7oZ(oy-g7R}3l>NERw$82|f3wSdp!^g?>Nyz@NgmCl=?%3t8T&pE+4$GIFT-;GfI zpMttSzv=pqq5ORB+_SdD9|%>S!=1-M`DqRhffqof>*l=0*&iyOyP(F$IH>wB^!PPU zeoLVIJqFc|uev@W9KS%(qoB$$$N7+RoAX(ya{LGC z`SnAne)tqB|L>scxknw#zY&!FSg87(;_^k#4$fm%LUFEQ03YT z<@Z(BCt+jced}7flc37e*5%&Ld!h2XA1eKF=QiiRq5OXU)gHgPzFs}EZwytgb6}{i z%lRHZ#yQWq7Rt|KP=4QX`CE^#b&&Zz0?O|xF1K@D@A^Eb{6@RH93GFn3#uL|sDA(1 z<$Cq4o{gdMKht>yl%HFm?u++9rC$M+e~I%o*MA1pUVpm&z=O@c8I=BfmpeFbg7R~_ zbDZlRba^vWKfUDo?_9rc11o0&D*f3|B;reT!$}zz8!=bK+DNz14K;^d$Hi6H&{!8Z%&flT@*J!jy z_+D&(*bKQ1RJr>*?}YL<6v}=oR6Eawx~^A4&0jA=wZ{i8e+HHASE%~zcc|6BG1U0F z1gai4L!~Q#@^c?dz)2oo47JXD+~xP7`td85_c_e`912zLlc3t+Y$(4MIK%Ng(zo%XQzVmY^zrQwM-M;O|}<=)QQo&SXLKi=hq z&Q;E>9{(@r+phoA`4dz*_CDIiO&zFleCd2fblhkj7`|I;}YD*aNZ zbUUEt@8?|p7@m#%rOU@Btlnop<##F6{>2qgau z3w`!9o&G+KK0dMuyo=4H#9v58_4ekSj7L7{X~x2K=x)WX$m0gVgR%dexK{Z4C+CO6 zul4-yMZOZ7^WDd7p66Gdp5xFUI~g{FlQ#IFq<0l!s|O%0hnG z^ZOb5tFS47cVY7udTy2B$VS(d@JRRB%hb`;UKWX`6Zbr)o}J@kCuwrAQS}><*B+ch z2%nAJ8R&m>|BW%|h3;$QliX)lcqBR=Q=;cdce1zPr=))i`7q?!@Dl9afyJDwh&##c zULxHX(l;mmbI)fh?20ZvJ|s<8752XZBxhFvpslL#lgeMS*J3H=_}48i|l zgg@s@aQ>ILbMSK)aX%5>=6-{7{@jkuyRiWO!+8!q;^U4q`?hJ}&j^2q(Jk;__s12)7`tVRh5e>gT7qNlJq z8Ji}^|0Yddn(bs{9gEQ&?``xt_7}L#orJfLHa=ePz-D+XdX|4x#~6H_hE&SA%F|p= z{9}ao)?yZ9JHn5j1$=koVa()C83#Ce+6^JCJThyR+yUBx*Qc?0~J^9%HI;Z5lJlV&Fz z3~R!H_?u7sNpKD}!wA10a8*E3mr)``2NIpk?hwSZnmn==*ana38vl*TY90 z;!j5R4d)BUtWkViwHmDzULyxM>F?3AH|)7ZzOIhX?DOHu>TOAjs6_`e&Ferqdy1T zba*1Vqe+|Napmr>KJxqcS<88l>y+pDg!gs18R-ut+@A9&&QGw_!Q(*Go$ys~C4LTc z`#!`yj(!08qtU%aTms#-o^D^lQ;6&AWkHOl6SofD?mixYn~5K#NRE44ukhaJTT;*O z@Ua&8TjbY?KZA2J;fK&&NnAs0bPPkUb?NW0XVCDh=4H79xe;mJ!CtBjgpVTKM&vba zdl%_O6UpO2I2K~_qR0J2IN!r3W2fU5Y$ss5owJu$XiGC{f+dZ$?=6LjLDd#vZYX`W@ZS=f#9Oo6tt4Oo6EW_-X7f=A4b6E8PE;$UGW_qaER&I9H}QY)rTVz8>eiknm%~>u5`wrS5~M=m`Dc zxYOem&cmju%j?qgiqr8dx^0~A5&jhJ$63l*+xzWR!Ue>Aj_=QvfMbUt+Jf#9{Lg}i zc{vnykcYoSUx)K8>xumc6RZBdMw)j#Pbu3V|I9hseZELs1JXW++=cida3b+K ze&-w$LfreYIfZa{;`$MO1U?LlU|*H^L zALN?EHAL=6Sz2>`>9)@hu1Ow`V$%lQamf1<{@CLmbt=Of3Gd=;gH2t}V;24oL0&-o ze--C?*>@yP$6WXe9L_nF^E$UV*nJ;>?ssfj;pYV6j_0gPSjY98`q7bA&ie@g#SSJ&2_b$ zPhhX(3H+QyxRmo=;*P}MD};v-?m=8D6wt$cIbZYVZipnt~YOOR_}zb92_>L0lQ~J+K+)KIoF1I`)JoaMmR4GjJbtpSYj5 zk!O;xjyDN^?D~JA%RxR9`Az)2 v=x&pVq7Wq=b|3mkI>qfd=4|F43r*z+Vcp35c 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%0AAs2y0XO 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\n" "Language-Team: LANGUAGE \n" @@ -3647,6 +3647,9 @@ msgstr "获取结果表列表" msgid "Get RT Fields" msgstr "获取RT字段" +msgid "Bulk Get RT Fields" +msgstr "批量获取RT字段" + msgid "Get Strategy Status" msgstr "获取策略状态" @@ -3853,6 +3856,12 @@ msgstr "方案参数" msgid "Table ID" msgstr "结果表ID" +msgid "Table IDS" +msgstr "结果表IDS" + +msgid "Multiple separated by commas" +msgstr "多个以逗号分隔" + msgid "value" msgstr "值" @@ -3901,6 +3910,9 @@ msgstr "联表配置" msgid "逗号分隔的标签ID列表" msgstr "逗号分隔的标签ID列表" +msgid "Need Update Strategy" +msgstr "是否存在需要更新的策略" + msgid "Link Table Count" msgstr "联表数" diff --git a/src/backend/services/web/risk/constants.py b/src/backend/services/web/risk/constants.py index bcd36a03..b89bbec0 100644 --- a/src/backend/services/web/risk/constants.py +++ b/src/backend/services/web/risk/constants.py @@ -368,13 +368,6 @@ def fields(self) -> List[Field]: RISK_DATA = Field(field_name="risk_data", alias_name=gettext_lazy("拓展数据")) -# 事件排除字段 -EVENT_BASIC_EXCLUDE_FIELDS = [ - EventMappingFields.EVENT_ID, - EventMappingFields.EVENT_EVIDENCE, - EventMappingFields.EVENT_DATA, -] - # 事件基础字段中需要映射的字段 EVENT_BASIC_MAP_FIELDS = [ EventMappingFields.RAW_EVENT_ID, diff --git a/src/backend/services/web/strategy_v2/models.py b/src/backend/services/web/strategy_v2/models.py index a701b82f..269e2b03 100644 --- a/src/backend/services/web/strategy_v2/models.py +++ b/src/backend/services/web/strategy_v2/models.py @@ -206,3 +206,35 @@ class Meta: verbose_name = gettext_lazy("Link Table Tag") verbose_name_plural = verbose_name ordering = ["-id"] + + +class LinkTableAuditInstance(AuditInstance): + """ + Link Table Audit Instance + """ + + @property + def instance_id(self): + """ + 实例ID + @rtype: str + """ + return getattr(self.instance, "uid", DEFAULT_EMPTY_VALUE) + + @property + def instance_name(self): + """ + 实例名 + @rtype: str + """ + return getattr(self.instance, "name", DEFAULT_EMPTY_VALUE) + + @property + def instance_data(self): + """ + 实例信息 JSON + @rtype: dict + """ + from services.web.strategy_v2.serializers import LinkTableInfoSerializer + + return LinkTableInfoSerializer(self.instance).data diff --git a/src/backend/services/web/strategy_v2/resources.py b/src/backend/services/web/strategy_v2/resources.py index 50564372..05b2daa6 100644 --- a/src/backend/services/web/strategy_v2/resources.py +++ b/src/backend/services/web/strategy_v2/resources.py @@ -23,13 +23,15 @@ from functools import cached_property from typing import List, Optional -from bk_resource import api, resource +from bk_resource import CacheResource, api, resource from bk_resource.base import Empty from bk_resource.exceptions import APIRequestError +from bk_resource.utils.cache import CacheTypeItem from blueapps.utils.request_provider import get_local_request, get_request_username from django.conf import settings from django.db import transaction from django.db.models import Count, Q, QuerySet +from django.db.models.aggregates import Min from django.http import Http404 from django.shortcuts import get_object_or_404 from django.utils.translation import gettext, gettext_lazy @@ -61,7 +63,7 @@ ) from services.web.analyze.controls.base import BaseControl from services.web.analyze.tasks import call_controller -from services.web.risk.constants import EVENT_BASIC_EXCLUDE_FIELDS, EventMappingFields +from services.web.risk.constants import EventMappingFields from services.web.risk.models import Risk from services.web.risk.permissions import RiskViewPermission from services.web.strategy_v2.constants import ( @@ -96,12 +98,15 @@ from services.web.strategy_v2.handlers.rule_audit import RuleAuditSQLBuilder from services.web.strategy_v2.models import ( LinkTable, + LinkTableAuditInstance, LinkTableTag, Strategy, StrategyAuditInstance, StrategyTag, ) from services.web.strategy_v2.serializers import ( + BulkGetRTFieldsRequestSerializer, + BulkGetRTFieldsResponseSerializer, CreateLinkTableRequestSerializer, CreateLinkTableResponseSerializer, CreateStrategyRequestSerializer, @@ -117,6 +122,7 @@ GetStrategyFieldValueRequestSerializer, GetStrategyFieldValueResponseSerializer, GetStrategyStatusRequestSerializer, + LinkTableInfoSerializer, ListLinkTableAllResponseSerializer, ListLinkTableRequestSerializer, ListLinkTableResponseSerializer, @@ -679,21 +685,12 @@ def perform_request(self, validated_request_data): } -class ListTables(StrategyV2Base): +class ListTables(StrategyV2Base, CacheResource): name = gettext_lazy("List Tables") RequestSerializer = ListTablesRequestSerializer + cache_type = CacheTypeItem(key="ListTables", timeout=60, user_related=False) def perform_request(self, validated_request_data): - # check permission - if not ActionPermission( - actions=[ - ActionEnum.CREATE_STRATEGY, - ActionEnum.LIST_STRATEGY, - ActionEnum.EDIT_STRATEGY, - ActionEnum.DELETE_STRATEGY, - ] - ).has_permission(request=get_local_request(), view=self): - return [] return TableHandler(**validated_request_data).list_tables() @@ -704,16 +701,6 @@ class GetRTFields(StrategyV2Base): many_response_data = True def perform_request(self, validated_request_data): - # check permission - if not ActionPermission( - actions=[ - ActionEnum.CREATE_STRATEGY, - ActionEnum.LIST_STRATEGY, - ActionEnum.EDIT_STRATEGY, - ActionEnum.DELETE_STRATEGY, - ] - ).has_permission(request=get_local_request(), view=self): - return [] fields = api.bk_base.get_rt_fields(result_table_id=validated_request_data["table_id"]) return [ { @@ -725,6 +712,25 @@ def perform_request(self, validated_request_data): ] +class BulkGetRTFields(StrategyV2Base): + name = gettext_lazy("Bulk Get RT Fields") + RequestSerializer = BulkGetRTFieldsRequestSerializer + ResponseSerializer = BulkGetRTFieldsResponseSerializer + many_response_data = True + + def perform_request(self, validated_request_data): + table_ids = validated_request_data["table_ids"] + bulk_request_params = [{"table_id": table_id} for table_id in table_ids] + bulk_resp = resource.strategy_v2.get_rt_fields.bulk_request(bulk_request_params) + return [ + { + "table_id": params["table_id"], + "fields": resp, + } + for params, resp in zip(bulk_request_params, bulk_resp) + ] + + class GetStrategyStatus(StrategyV2Base): name = gettext_lazy("Get Strategy Status") RequestSerializer = GetStrategyStatusRequestSerializer @@ -754,8 +760,15 @@ def get_event_basic_field_configs(self, risk: Optional[Risk], has_permission: bo description="", example=getattr(risk, field.field_name, "") if risk and has_permission else "", ) - for field in EventMappingFields().fields - if field not in EVENT_BASIC_EXCLUDE_FIELDS + for field in [ + EventMappingFields.RAW_EVENT_ID, + EventMappingFields.OPERATOR, + EventMappingFields.EVENT_TIME, + EventMappingFields.EVENT_SOURCE, + EventMappingFields.STRATEGY_ID, + EventMappingFields.EVENT_CONTENT, + EventMappingFields.EVENT_TYPE, + ] ] def get_event_data_field_configs(self, risk: Optional[Risk], has_permission: bool) -> List[EventInfoField]: @@ -825,6 +838,11 @@ def perform_request(self, validated_request_data): class LinkTableBase(AuditMixinResource, abc.ABC): tags = ["LinkTable"] + def add_audit_instance_to_context(self, link_table: LinkTable, old_link_table: Optional[dict] = None): + if old_link_table: + setattr(link_table, "instance_origin_data", old_link_table) + super().add_audit_instance_to_context(instance=LinkTableAuditInstance(link_table)) + def _save_tags(self, link_table_uid: str, tag_names: list) -> None: LinkTableTag.objects.filter(link_table_uid=link_table_uid).delete() if not tag_names: @@ -852,6 +870,8 @@ def create_link_table(self, validated_request_data) -> LinkTable: def perform_request(self, validated_request_data): link_table = self.create_link_table(validated_request_data) + # audit + self.add_audit_instance_to_context(link_table) # auth username = get_request_username() if username: @@ -877,6 +897,8 @@ def update_link_table(self, validated_request_data) -> LinkTable: link_table = LinkTable.last_version_link_table(uid=uid) if not link_table: raise Http404(gettext("LinkTable not found: %s") % uid) + # old link_table + old_link_table = LinkTableInfoSerializer(link_table).data # 更新或创建新版本联表 need_update_config = "config" in validated_request_data.keys() if not need_update_config: @@ -899,6 +921,8 @@ def update_link_table(self, validated_request_data) -> LinkTable: # save tag if not isinstance(tags, Empty): self._save_tags(link_table_uid=link_table.uid, tag_names=tags) + # audit + self.add_audit_instance_to_context(link_table, old_link_table) return link_table def perform_request(self, validated_request_data): @@ -914,6 +938,12 @@ def perform_request(self, validated_request_data): # 如果有策略使用了该联表则不能删除 if Strategy.objects.filter(strategy_type=StrategyType.RULE, link_table_uid=uid).exists(): raise LinkTableHasStrategy() + link_table = LinkTable.last_version_link_table(uid=uid) + if not link_table: + raise Http404(gettext("LinkTable not found: %s") % uid) + # audit + self.add_audit_instance_to_context(link_table) + # 删除联表 LinkTableTag.objects.filter(link_table_uid=uid).delete() LinkTable.objects.filter(uid=uid).delete() @@ -921,6 +951,8 @@ def perform_request(self, validated_request_data): class ListLinkTable(LinkTableBase): name = gettext_lazy("查询联表列表") RequestSerializer = ListLinkTableRequestSerializer + ResponseSerializer = ListLinkTableResponseSerializer + many_response_data = True bind_request = True def perform_request(self, validated_request_data): @@ -949,20 +981,29 @@ def perform_request(self, validated_request_data): for t in all_tags: tag_map[t.link_table_uid].append(t.tag_id) # 填充关联的策略数 - strategies = { + strategies = Strategy.objects.filter(strategy_type=StrategyType.RULE, link_table_uid__in=link_table_uids) + strategy_cnt_map = { strategy["link_table_uid"]: strategy["count"] - for strategy in Strategy.objects.filter(strategy_type=StrategyType.RULE, link_table_uid__in=link_table_uids) - .values("link_table_uid") - .annotate(count=Count("link_table_uid")) - .order_by() + for strategy in strategies.values("link_table_uid").annotate(count=Count("link_table_uid")).order_by() + } + # 填充关联的最小联表版本 + strategy_version_map = { + strategy["link_table_uid"]: strategy["version"] + for strategy in strategies.values("link_table_uid").annotate(version=Min("link_table_version")).order_by() } for link_table in link_tables: # 填充关联的策略数 - setattr(link_table, "strategy_count", strategies.get(link_table.uid, 0)) + setattr(link_table, "strategy_count", strategy_cnt_map.get(link_table.uid, 0)) # 填充标签 setattr(link_table, "tags", tag_map.get(link_table.uid, [])) + # 填充是否存在需要更新的策略 + setattr( + link_table, + "need_update_strategy", + strategy_version_map.get(link_table.uid, link_table.version) < link_table.version, + ) # 响应 - return page.get_paginated_response(data=ListLinkTableResponseSerializer(instance=link_tables, many=True).data) + return link_tables class ListLinkTableAll(LinkTableBase): diff --git a/src/backend/services/web/strategy_v2/serializers.py b/src/backend/services/web/strategy_v2/serializers.py index b748ce11..ad905f3e 100644 --- a/src/backend/services/web/strategy_v2/serializers.py +++ b/src/backend/services/web/strategy_v2/serializers.py @@ -604,6 +604,21 @@ class GetRTFieldsRequestSerializer(serializers.Serializer): table_id = serializers.CharField(label=gettext_lazy("Table ID")) +class BulkGetRTFieldsRequestSerializer(serializers.Serializer): + """ + Bulk Get RT Fields + """ + + table_ids = serializers.CharField( + label=gettext_lazy("Table IDS"), help_text=gettext_lazy("Multiple separated by commas") + ) + + def validate(self, attrs): + attrs = super().validate(attrs) + attrs['table_ids'] = list(set(attrs['table_ids'].split(','))) + return attrs + + class GetRTFieldsResponseSerializer(serializers.Serializer): """ Get RT Fields @@ -614,6 +629,15 @@ class GetRTFieldsResponseSerializer(serializers.Serializer): field_type = serializers.CharField(label=gettext_lazy("Field Type")) +class BulkGetRTFieldsResponseSerializer(serializers.Serializer): + """ + Bulk Get RT Fields + """ + + table_id = serializers.CharField(label=gettext_lazy("Table ID")) + fields = serializers.ListField(child=GetRTFieldsResponseSerializer()) + + class GetStrategyStatusRequestSerializer(serializers.Serializer): """ Get Strategy Status @@ -833,6 +857,7 @@ class ListLinkTableResponseSerializer(serializers.ModelSerializer): label=gettext_lazy("Tags"), child=serializers.IntegerField(label=gettext_lazy("Tag ID")) ) strategy_count = serializers.IntegerField(label=gettext_lazy("Strategy Count")) + need_update_strategy = serializers.BooleanField(label=gettext_lazy("Need Update Strategy")) class Meta: model = LinkTable diff --git a/src/backend/services/web/strategy_v2/views.py b/src/backend/services/web/strategy_v2/views.py index 3d7a520a..78671550 100644 --- a/src/backend/services/web/strategy_v2/views.py +++ b/src/backend/services/web/strategy_v2/views.py @@ -21,6 +21,7 @@ from apps.permission.handlers.actions import ActionEnum from apps.permission.handlers.drf import ( + ActionPermission, IAMPermission, InstanceActionPermission, insert_permission_field, @@ -90,9 +91,22 @@ def get_permissions(self): class StrategyTableViewSet(ResourceViewSet): + def get_permissions(self): + return [ + ActionPermission( + actions=[ + ActionEnum.CREATE_STRATEGY, + ActionEnum.LIST_STRATEGY, + ActionEnum.EDIT_STRATEGY, + ActionEnum.DELETE_STRATEGY, + ] + ) + ] + resource_routes = [ ResourceRoute("GET", resource.strategy_v2.list_tables), ResourceRoute("GET", resource.strategy_v2.get_rt_fields, endpoint="rt_fields"), + ResourceRoute("GET", resource.strategy_v2.bulk_get_rt_fields, endpoint="bulk_rt_fields"), ]