From 144d03965ee8053b7c203f03fc75e04909065054 Mon Sep 17 00:00:00 2001 From: super <2903208875@qq.com> Date: Wed, 8 Apr 2026 21:08:52 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E5=96=84=E5=90=8E=E5=8F=B0=E7=AE=A1?= =?UTF-8?q?=E7=90=86=E5=BA=97=E9=93=BA=E6=90=9C=E7=B4=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../__pycache__/approve.cpython-312.pyc | Bin 37263 -> 40725 bytes .../__pycache__/del_brand.cpython-312.pyc | Bin 24159 -> 27142 bytes app/amazon/__pycache__/main.cpython-312.pyc | Bin 28113 -> 27901 bytes .../__pycache__/main.cpython-312.pyc | Bin 8645 -> 8716 bytes .../config/DeleteBrandProgressProperties.java | 2 +- .../controller/ShopManageController.java | 6 ++- .../shopkey/service/ShopManageService.java | 10 +++- .../src/main/resources/application.yml | 2 +- .../__pycache__/admin_api.cpython-312.pyc | Bin 56359 -> 56973 bytes backend/blueprints/admin_api.py | 16 ++++++- backend/web_source/admin.html | 44 ++++++++++++++++-- 11 files changed, 69 insertions(+), 11 deletions(-) diff --git a/app/amazon/__pycache__/approve.cpython-312.pyc b/app/amazon/__pycache__/approve.cpython-312.pyc index 48da58cb7a916f790645718fecaef95a04e6594e..cb0c49ba7abe241a3cfb549f48d71a321f57d1e0 100644 GIT binary patch delta 10489 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 %M=$Er9g^9xT@HI zk0l#$UvdmSm2SfSsZiralM#RHQZX^U7?Q0$iMZd*;53yQ$GcOl22q<4lBzD6R6&-? zrv&|QCA)#d654fKl=n%2G7U27JCMv{JVjiHIhwv9<9Q%`$8t&dxH~l^txM7+5$gu^ zX1L6C&<+XlMYmpwd)pIXkScuEYb@Z>qgJ#~J#iEG2o_}6M_HzEyffxX*@r^gfr&X9 z`8}{FF7#WbHyef^KE62oa=T?_rs#pJv1xsD7PXN%oX`^D&*G4TNn<64ErQw0J~(D% zWR}F;B?b3vRMEN~J^ty&Y)ww|5?x3lGF73%5K=0q!=G);R$6^JkTuz-#~LBguZxT< zk9aill|R16eR|F&?zmCDg7JI0a-eVFo%-UZ1YLU3_!7ugyWR?$aWbug(f&y=sm6E@ zCwj87L;flm>+x>=ZCeaT@Fd@-^^))rAD=qvQz*2@L@SiK`X2RGb)RIHH-!DbrmE%; zr*Dnz(GV}26U4bsoIr~d;`n#oELyWZ0~dQ!tCFHCWQ@+echG6?xkYDc#su0Vw`xP; z8mb!OyRmC1tiM}-2knm%KTbDKtTSrUt!rN3C&(x&!}sff9xZX_hOyJ7{lV$dZq>RJ zFm!lFCo61JAHB!mwLt-Wokrc5kQd}PP9TXIrP5dt|<2yYP3M8IhRKE=DYlx7=+bL4}RIngqLobJceK!@-jw&biP z#Y|AYywmA*tb-%|EV1Np@}5wsBUU-&S80L#pAqpyCiD{Q3jo&mP|XwFKg9zFDR^^;&9>9 z&<~da`8d{Z9^A4uL4p?JM|ykFNNgkq%$K82|(XD(GJm*+D>bjETEGh~**kcKP_q2$v9FI29S z(L>X!=#_~605R|p^}g^4c;7*;UEmpf=*JCGy%>To!KYOwPLS|6{`%pWspOU>2se17 zk|kj!9tbjlxH%gy+s@*(+ZnuZdzNf;4g6yJ+pq@gJ5s`H;DH^BjAAT*13aPfT)Z@V z0e`W>Tp^a?p(>nc)`kKy8irz37l|2h)Pe*~@xnKF#!gm7f>OAOn|9jJ7r1X{n#4>G zzOYj-8NG}^wN@0AE~uTm#ERxZv_D9?|CoSn0D|(yMz{rUY!v>Re5pNN_*K)<#(USf zxzHKm5TQ#sr^728CS2mJ2DxJlN?YNVQ=y0uNlhR6KMJ3VElqBBYqq$)goj8IIaY`M zBg4Z4BVZ9&;7LJv;m^!|N~XUdsYXnBf5`|%-p3q&7T-5%Xc`flM&?Vh7{!f+NY147 zPr6CL>xN#%RHOaCL*D(Ko8o&UWhr7R`?;GGd5>_C4Tz~h{oDv8A}6MfB4@Hjk-$u@ z*TYe@@IDMdWo@}l@FvHAz+5wY=q y8);3&3-(U7k@)|WbXFyGI#WMe0m(-`o1x#5A_5i6?CH!~n#|c#nYX4A{Qm&EC&d{6 delta 7159 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 F{||FB<1YXJ delta 4057 zcmb_f3v64}8NSE9*RR-#6Wg(!m+j`!I?pvNEi{jkw4`lP0!6T@PFu(Iy(Bkv?d)8e zk}fQ*D6A_*q&;XYqo|n>TdNe<=E5ojTUQ1WRATLj2HaJYF&H2*DUb>z#?b!%-o$B9 zkS1+c@^{Yp&wpP3<2%O>PLV4wlKcw}hmC_TbZSc8)N?rBM?OBhcxX(JtfI*e^1BV9 zc|RY?H*o7X(XyWtt&;}S=eS6LCbNMoPb!!+&Ptt{)DBXIgaXJmz%2;G;U&{jkQ9Vo1Wac2r^ zNq6>2p_}A6aW`fJOZJ*3Qr7%$Y zCONjnd&l*HC%yNXmP0RH$wEFCX=AH=rQKiI5~%?>8N7wkVAm<4+NGqDp;9!a#AW#_ zp(`dQf+`92hVv=fhPETDMz|RvXL{PfF8O>N8&KEFd5luPh0kE ziPHe4daZ1&k8tS#tfGCBvnAn1idjKwxjL)IMt@4Q{Yh<_cRC{s#R8oA*y2W5jue5hEQl4(s$jD zlIwj$V<1!P0Gg9#0es~PEioO&zV2*S$WGRPJN{>P9b5D_KPHLF52t9F7UT5uX?>)! zmb}7Vsw^$TjEm2*Bvd&Lvkw(#HWC&C5-HnZV-Mc$VYXUZF&CX>X^u;yp7xEhP?d*` zS36j7r^_N5MP3xrR#wtn!``hnJIK7IXkzQ4lKUI?9~P^yBGrt&aFZ7pZ?C~&dk zi_0tKIm4i*kTJeXRPYp9mi&Ejeg2=Jq3i?L%e_|`V3SKm1&UT-?coqPlkE?88;q;r zK!JP@`|DOKyHIzheLmDjIrfKQH_O%+v(5FTj=cGUjdDkpx!D7CUSemH^*u(%Bw-io zgNATED{Z($hS@(Gd?dw8jX!3uH{RKDKP*Xm5q2Q>5Rd`%aKu!mBM9h8H7}k>DN^I)PFzG}V|cgQD_4_RFS9B0v%!>S8rZW7T-F-gwT9(8@V{FG!Da zqhzn0ovSWp=a;q>8b%GGag>PsasEEzsBy^34x3%9vNcZZ|-4z)${HZZEVT1Iuw=78Ai<0F6_p6k`?XX_<-3YI!@>YD zgj_SC07u*~J3`ldoD-c-80S_2>RE7(a3TA8*}0{?Y982bxRa)KD-xw>jxbO0mZvKK zRI8X7PRMb*u!d2nQGNFU9MttK5(*dSp8GFIe(YO3W7Y%Iu|wZfG!@IF2WdYpzYve0 z+j10wN(TY<_^!L{u8ERD$Z>@O*vn13IlKR29&@jFe)IoFHsnjS)U2;dZ_ z5r)2PQ7=@ncL*+|}A)jDHr zhUOs26TA~Q&TvqCUSbi7r`^khvWaCg927G{Bq+F8Rr`{lW)oZ}4!_(tm)SFAEYV)h zkMLn3`*{0%7BJc9x_^;C_TKgXAluO;I=i4d=o0`cpO)@T(;s0~h(qx2q&f0b`Q0%& zt=hy?Jeo+wL`kG4aNGm}9#Ov}Ir=OLyzIs9hrCZhb)m~{d(TR;HT%<^=M39=;a&3- zj`#(_FA+{6Xs-Dk)=nd62i08p3^ozAU^L_1jkaAi&2J%s|DZKE_ZTz2859EaGfV&Ba)~Z6iTzG_#6PnDr@O$23Ae> zg~?0oSl=1q%-*{7l)?N*=5Wc;ROsAIwr4v^3GjPyPO* zN1p!ZCy%M7@26tPloBTN5@Q4PHC1}72SJnWMbOOBjXoIK-># XZCeTPkJn%2u)NyITIE-HbmM;jnR&Dq diff --git a/app/amazon/__pycache__/main.cpython-312.pyc b/app/amazon/__pycache__/main.cpython-312.pyc index d385bf61142918d97e988fd19030d306b131c837..c2a436a71851e2d29060557b7090923abdd93442 100644 GIT binary patch delta 1097 zcmZ`#Urbw77(d@V_ug__TCjy)3ZBV*Id>_Oc1VTth%ani5?2A7zC(HDI|O$HicjGB0^q=_-{Jbd|` z-}(K%@AsXRui>v%a21?RJ7MRP>#Kp&=iYY>+QbQ-kT(bpm&oSpw*Az%Z%oYASQ_gX z;!W5>86DT`eK2FTI_4<+Wd7+I2lw}K_2u|$Bh%^!p4pV?U8&!Na|gWmR(Y>0LFP&i z)O0B1jtZR#{G+@!ks$Lyfid%n)ET4mvF1*V=EFi~g5))UG5Hv^a3Wdya68R(u(|k2 zh1Y!I0f&d1vYBTZ-UOJzkDF_;K?#ck#2|y^xS~`#yoNXcZ^Kw=)`Odh43#+7??J!n z1{q^&EmYxQRR$_R#(mhl@k_^(iiy|PVSiUoSzwq>WlsAadn zsAV~NgqR;a^qox{XM1KQ%y;$#0A9e)+uw!f@#(#j;*`a|h`;Z>1mk#d-wfzxebU3j zxY>O0zMV;xqtomqfAn5aI-Tlb#E+@ZV8VRwkw+zV5sw?3i!&#WH;c^i;ghcxwZ~2l zL5KP2$=^80;O$dCz;ouc)B7Pf0zwZ=r*AwsOK-GXJ-b2vA#R`lWeaQ!o8kbaFp2h| u%P?hL8{$E`Ai?%cV%49AJq}30hM(}IFFpGu^{w(HmpV2m;j1$W+vjh-9wYYv delta 1333 zcmb7CZA@EL7(Q=rZ*Ol~u(hSPh0;=KdwW|7D;ppI!43k1QD7z-4KWTZ#1@#+b>fnX z+fa0in`S#YSO^hyL>6MUg|CY8V;?3$CLc2AEtng)^Oyto+6?7os7W9Tj=LW6kOV3p1>A&M&MQ{fHGb1*11 zYp+wVDn0zranLPs_6yICJ3s1J;PPFg*L77{H6HW@54Akz4B2@+nsm~H zne?!=E^4yCU+bWzGU-|#O*v@7Ot~l-^C4Z`Zs~x5H>%WX(jMU}E>61OdKH+v2=!@M zgqKP!IOK6@L~X>}S&dM<9B&kHRon!~{t*I{Fl-})B9{MTt$$&SDQ(Pz7c52`Ezy=o zk%(gE)Wyy|29YdL6@@YA(ntJW%(6Mi#%mrw*s+lp z(vpdPwhR|*&8JqBNL0rek&V+L8?kkINphx~Y+yuc7)6|-hQvok=tvG8;~ln~RQs1v zJec_NBr1q6+@m&Axe*tBz&jbYs33_R?DTSwi-{*Icn4W z%N}_Ve9d2$5g4I%E$_C zLDUl?zAbGAr6hB7+nic=YL1u(2Yp$jM%X8i8ZCY|mA9pB`JZN02ls3_+o|BgpZLSp zzxnS)z33I{8Pp3xzGTcBfpXdGVHXMa-aNg2>AjVcr&k6}td1O8ef#9<)pyoEKCyCs zeEr(++W1@f`T6lIB8=N)wVWqi3b+8@%rAosY%1^@1_*)4lI&?awJY=giu&OH_YaJjN(R~LdFGU z4Mk{L&+b#w)7G5&N_x7ICU}Nn8w%+eeTZua(6hXXNM{2yp=Jvy85gl(4>en14?C$j zCr$920L?(n`O6x4<-AA6^E}&RVYvBS_9i2fOs5HzG}44hT7+hh?(MnDsQTr%dQJMe z+zxOIZ$5Srj^p8q*Hr^D{|0tf4nRMisQeJjQsd)BCG<;e)jw&7^ogcXa&y1wo0N36 zxt$hYzD$ij`oX~sv_*V+=>9g?sF4a^peT3|7k3W9fRyZ1g6;qdflVaGpKI`U HUG_f!PAy>& diff --git a/app/blueprints/__pycache__/main.cpython-312.pyc b/app/blueprints/__pycache__/main.cpython-312.pyc index eef60daaa8f27f3819c2adf474a8f1f03b6cd380..81ddaad31110e5749842e6620f1a78fd792ead07 100644 GIT binary patch delta 440 zcmX@=+~dM~nwOW00SMCgu4S&-$m=7*cxrN#$X%@xkRTY$W=LV3%aqPs%T~i!!&b&v zeOl?Y@M2J?keM1cH>5}J&nlXpu<%Zin#!(3CtzM2ujp3N|qDMcKp?z4m{ zqr_xM$y5zh{ltPy{eq(Wl+xr9-J;CmY~7;N;{2SlRQ-~~;_PDmq{Ncsj4Ij5jgr!v zXG!`nGWKqMF7=g>QET#DnQWyyqDm9|FDTnw5VD0bJuV1&eqd!55^3=Iz`?*Fv^h$4 z8KZ}dBafRD!(mP*TQ?hqW9&j8Qi{{flKGf2kDCeeF%wo0+s4#WiTSv(36MOY$pIn_ q)jVaHPl_`F*(YULJ(V_l$Y(JL+cVmKW@cbYVf@GhWERN+eFp#?DRe3T delta 365 zcmeBiIqJ-NnwOW00SHb7oy|1g$m=7*xNCBh$X%&)rdqZd#u~OV#v)%%h7w+o8W2cf zot!8t$_$j7JW*7Xk$rN%s5m3XWJ58v$!CFl*2#}W_lt6+aIfK6%>mKT#nr);#+br8 zdApc1Bj4oTVwv3hWsJp)J(4x7HJpffT_te3MNj z0vUzCe4!L!Ab+8RCZovY(-P9Mq9y7Ovl$p_*jF<`*s~etGNp(C)iFz|GKx>uluX^c zRWgH-v1_xO^jAhksmUU;*+NHR5BOgQ&bi=}dqFU-!RrRQ;O2$0%NRXO9C_S?7!ET! z*}9o99JLn$lE;KN-3*zJN%OerFdx%l1+h&`J*AkBYnuSc6N(%lQd7-Sl=&n-BanSk fl+{yebH98Rlduh={byzdrWD4HOh9IlEYN`fa)(_0 diff --git a/backend-java/src/main/java/com/nanri/aiimage/config/DeleteBrandProgressProperties.java b/backend-java/src/main/java/com/nanri/aiimage/config/DeleteBrandProgressProperties.java index bd44b8d..349374e 100644 --- a/backend-java/src/main/java/com/nanri/aiimage/config/DeleteBrandProgressProperties.java +++ b/backend-java/src/main/java/com/nanri/aiimage/config/DeleteBrandProgressProperties.java @@ -18,5 +18,5 @@ public class DeleteBrandProgressProperties { * 商品风险(PRODUCT_RISK_RESOLVE)RUNNING 超时自动收尾/失败,按分钟计算; * 与删除品牌共用同一定时调度。 */ - private long productRiskStaleTimeoutMinutes = 1; + private long productRiskStaleTimeoutMinutes = 10; } diff --git a/backend-java/src/main/java/com/nanri/aiimage/modules/shopkey/controller/ShopManageController.java b/backend-java/src/main/java/com/nanri/aiimage/modules/shopkey/controller/ShopManageController.java index c645559..136bde4 100644 --- a/backend-java/src/main/java/com/nanri/aiimage/modules/shopkey/controller/ShopManageController.java +++ b/backend-java/src/main/java/com/nanri/aiimage/modules/shopkey/controller/ShopManageController.java @@ -50,8 +50,10 @@ public class ShopManageController { }) public ApiResponse page( @Parameter(description = "页码") @RequestParam(defaultValue = "1") Long page, - @Parameter(description = "每页数量") @RequestParam(defaultValue = "15") Long pageSize) { - return ApiResponse.success(shopManageService.page(page, pageSize)); + @Parameter(description = "每页数量") @RequestParam(defaultValue = "15") Long pageSize, + @Parameter(description = "分组ID") @RequestParam(required = false) Long groupId, + @Parameter(description = "店铺名") @RequestParam(required = false) String shopName) { + return ApiResponse.success(shopManageService.page(page, pageSize, groupId, shopName)); } @PostMapping diff --git a/backend-java/src/main/java/com/nanri/aiimage/modules/shopkey/service/ShopManageService.java b/backend-java/src/main/java/com/nanri/aiimage/modules/shopkey/service/ShopManageService.java index 661824b..967a7ba 100644 --- a/backend-java/src/main/java/com/nanri/aiimage/modules/shopkey/service/ShopManageService.java +++ b/backend-java/src/main/java/com/nanri/aiimage/modules/shopkey/service/ShopManageService.java @@ -28,15 +28,23 @@ public class ShopManageService { private final ShopCredentialCryptoService shopCredentialCryptoService; public ShopManagePageVo page(long page, long pageSize) { + return page(page, pageSize, null, null); + } + + public ShopManagePageVo page(long page, long pageSize, Long groupId, String shopName) { long safePage = Math.max(page, 1); long safePageSize = Math.min(Math.max(pageSize, 1), 100); + String safeShopName = shopName == null ? "" : shopName.trim(); + LambdaQueryWrapper query = new LambdaQueryWrapper() + .eq(groupId != null && groupId > 0, ShopManageEntity::getGroupId, groupId) + .like(!safeShopName.isEmpty(), ShopManageEntity::getShopName, safeShopName) .orderByDesc(ShopManageEntity::getId); Long total = shopManageMapper.selectCount(query); List rows = shopManageMapper .selectList(query.last("LIMIT " + ((safePage - 1) * safePageSize) + ", " + safePageSize)); -Map groupNameById = buildGroupNameMap(rows.stream() + Map groupNameById = buildGroupNameMap(rows.stream() .map(ShopManageEntity::getGroupId) .filter(id -> id != null && id > 0) .distinct() diff --git a/backend-java/src/main/resources/application.yml b/backend-java/src/main/resources/application.yml index a1fd856..ebccbec 100644 --- a/backend-java/src/main/resources/application.yml +++ b/backend-java/src/main/resources/application.yml @@ -81,7 +81,7 @@ aiimage: heartbeat-timeout-minutes: ${AIIMAGE_DELETE_BRAND_HEARTBEAT_TIMEOUT_MINUTES:15} stale-check-cron: ${AIIMAGE_DELETE_BRAND_STALE_CHECK_CRON:*/30 * * * * *} finalize-check-cron: ${AIIMAGE_DELETE_BRAND_FINALIZE_CHECK_CRON:30 */2 * * * *} - product-risk-stale-timeout-minutes: ${AIIMAGE_PRODUCT_RISK_STALE_TIMEOUT_MINUTES:1} + product-risk-stale-timeout-minutes: ${AIIMAGE_PRODUCT_RISK_STALE_TIMEOUT_MINUTES:10} module-cleanup: enabled: ${AIIMAGE_MODULE_CLEANUP_ENABLED:true} cron: ${AIIMAGE_MODULE_CLEANUP_CRON:0 0 0 * * *} diff --git a/backend/blueprints/__pycache__/admin_api.cpython-312.pyc b/backend/blueprints/__pycache__/admin_api.cpython-312.pyc index 7fa3a6a47d45033b4464ed4be400de8df416af58..7f09ff3d0a1dfcbd8b49268294f64769d6e17a21 100644 GIT binary patch delta 2485 zcma)8du&rx7{BM<_V%%MZCTr~y8-Jq1_egP0*uEN9Pcs2C?<%CWAxTp=pLSy;LNR{ zaS9U$^FtVJgsCKmBf`9Z5aTOM$zq6<1vjfij6~rN;&>>GfOx)J=EmY5o&8vb;Jv?R|^>G>erClYGwTi9q9*8Lr%sG=J_~$b8ytkFTN{Xu+=0f%OmY_vHJ14PMvZ$64jAHwU?fmg9+dyv3o7=* znUD*nZgUV(UAXNsAp+z#jkD_slMM}6*_2Jp>Kjcnbi@LkZv(jjPwdQ+EU2fYm`Ds= zYRUG)j-AuV2=&{Y7X)$>4!#p)=xzbGW0+^O$RZF6Iib5Ho8+oDTXqX%EHv$%D`~pt zQDX|i(0s1!okp{n4^BfjnkHB%^ z=ih40f-4=0ct^)^yEype<5D>OaWmXoQ~>#3*@*!>Tb$6g*aUYMO@-6rhj2Cu3a1d+ z)XGP73Qyf8F2Xz}hQhbA2som8MK7Dz&1bv7C`BhH6)~p&%f!t1v7_TyY*z7#F%L@F2gz*J5Ac?A*<2)fz-PohKt0Rn za8yUQmE3l+wSEKlg0Pa?K>VyuKOZ%3;JhAK_jdY5VWa!hm|j9t?WU|mYB__r zNpph6abs0QD5OyaIB~4dO-tB8iklOeXtC!q1~@*+P5K?}4>Ryu;O9rPH^xnm*VP6V zP+CK2G0Ns4;4P(kO^Yr zDWk{Xi8(xN6T2Og&pM_a&g!wxj@f5-+lx1qUT{kvm}1s~O$&c8r1bH6ljEmUskx{- zb^PYVy|&b5PlM8%GikfHy)I_=TopN^qjyy9W^wb2F{5O;ICe&_(b{YD^x9nTM|&2W zZyTYyj~9`mTQ>?hhtxXjj4k&XM@){m#oi~d`OY=TY8At2td^7MuF`C-bN0N9(wVxh zY+LDcp=%mpsLCgLh56bRX*;I1%cZzuixCuNdq7X;Aw3^q(F3AHV_kqeY^-SxO>yB6 zZTPM+!@dL=|GuM?gYQ3^B>u|!K=>#;vMn8&J6~4!eSSq}AD#!id$J(WO)bNmrWdj{ zjR%dEp>r+w2h*l2P=KqjcpQ;T`B z5LR`0Ng2G}m8tzbB#xYZ_*v?QlWZ?%s{LJFLDJIHQW|`CR-$L^;epziIcYE(4qiH4 zK$fW;r=J$Yge9cJe1q=?>RSf&?`Qu`Y_wR3+1pw65}Y}mtNtB(jSN)K(49{9;OLWEfe#RzlMt>^l5&OBncE^xdZA*)ZvmVK+$?eXb^ K)WNAASN{XGHo5@- delta 1791 zcma)+eN0~z#uR@GQ4 z%B}nDH8x9yqu%Zms%l(y7O~pT+Cbbe^>!+yyrqIHiIpwqH*XZnBI}EunDp9=^(DuP&>yJpq-TCYGzWli*UFn zooL00o>`VGz$ZtlD8u?7C}fRi8B8A6!L`0v5-;BG>t#tCbPhbLm&|^|LQ@dFsmu*z zk~A^ySPok)?L-)Q3`a0%x*jDRLXU_*L?QyI*2H^vZv!qwAq*5Af1BN5ciC-a*4p|S zmtaIi3?de>5wVHDltT+Qk0)?X(Rm6BOMNCW_rwh2mw5RA@OO^g z>OCQtQTZey8IejLw^9_^*wdQ7Y2w1h#;ke+0V?+(SWoHrz#Ic1i5MhAbN(muTsNXVkm zOe#U@f&b-x*Ki8iCN>RE60#L`k0gbz`PF-RP~NJ8!4bVWm-;`-%4Bt~b@j)<+(;vL ziOxQd!7rx^;N0mCq3vK7xdGA5d63r}4xt2&uO-^*o9d=uviqPr>$o4%26 zR7i14&uG|4D$l-2|2`Q2N8ZxG%NeSe*GU~iWR1iY)vp+$rQs-+S?QXUY2psZOa|EB zt%onq8q$BKD&ZzVI;;|uiYYvNrBGY%EU z|MdoQ6VZ`)w*&=+N#XnS;OZinE^i@;V%cRAtCu`T39R1TlI7yfFgqa+5=wFITlR00 zsa%enmaU>?>tXBkCed;=ob}dL2o2YgS8pY{2wv-glb)ik=_pbn8m1@6a%uB3n~5MA zulJISB}|pY$V$XIgccExNJHQ&CS)SA5!(>C;_Vyra;<^zf3h-0gNT`z)9HMkc<+aF LLS6#%Pka9X$*u${ diff --git a/backend/blueprints/admin_api.py b/backend/blueprints/admin_api.py index 31a69f4..5b00eb5 100644 --- a/backend/blueprints/admin_api.py +++ b/backend/blueprints/admin_api.py @@ -947,10 +947,24 @@ def delete_dedupe_total_data(item_id): def list_shop_manages(): page = max(1, int(request.args.get('page', 1))) page_size = min(100, max(1, int(request.args.get('page_size', 15)))) + group_id_raw = (request.args.get('group_id') or '').strip() + shop_name = (request.args.get('shop_name') or '').strip() + + params = {'page': page, 'pageSize': page_size} + if group_id_raw: + try: + group_id = int(group_id_raw) + if group_id > 0: + params['groupId'] = group_id + except (TypeError, ValueError): + pass + if shop_name: + params['shopName'] = shop_name + result, error_response, status = _proxy_backend_java( 'GET', '/api/admin/shop-manages', - params={'page': page, 'pageSize': page_size}, + params=params, ) if error_response is not None: return error_response, status diff --git a/backend/web_source/admin.html b/backend/web_source/admin.html index d098ab0..6c27684 100644 --- a/backend/web_source/admin.html +++ b/backend/web_source/admin.html @@ -382,6 +382,19 @@

店铺列表

+
+
+ + +
+
+ + +
+ +
@@ -1456,20 +1469,32 @@ var shopManageGroups = []; function buildShopManageQuery(page) { - return 'page=' + (page || 1) + '&page_size=' + shopManagePageSize; + var query = 'page=' + (page || 1) + '&page_size=' + shopManagePageSize; + var groupId = (document.getElementById('shopManageFilterGroupId').value || '').trim(); + var shopName = (document.getElementById('shopManageFilterShopName').value || '').trim(); + if (groupId) query += '&group_id=' + encodeURIComponent(groupId); + if (shopName) query += '&shop_name=' + encodeURIComponent(shopName); + return query; } function refreshShopGroupSelects(selectedCreateId, selectedEditId) { var createSel = document.getElementById('shopManageGroupSelect'); var editSel = document.getElementById('editShopManageGroupSelect'); - var opts = ['']; + var filterSel = document.getElementById('shopManageFilterGroupId'); + var selectedFilterId = filterSel ? filterSel.value : ''; + var createOpts = ['']; + var filterOpts = ['']; shopManageGroups.forEach(function(g) { - opts.push(''); + var option = ''; + createOpts.push(option); + filterOpts.push(option); }); - createSel.innerHTML = opts.join(''); - editSel.innerHTML = opts.join(''); + createSel.innerHTML = createOpts.join(''); + editSel.innerHTML = createOpts.join(''); + if (filterSel) filterSel.innerHTML = filterOpts.join(''); if (selectedCreateId != null) createSel.value = String(selectedCreateId); if (selectedEditId != null) editSel.value = String(selectedEditId); + if (filterSel && selectedFilterId) filterSel.value = selectedFilterId; } function loadShopManageGroups(selectedCreateId, selectedEditId) { @@ -1603,6 +1628,15 @@ document.getElementById('btnManageShopGroups').onclick = openShopManageGroupModal; document.getElementById('btnManageShopGroupsFromEdit').onclick = openShopManageGroupModal; + document.getElementById('btnSearchShopManage').onclick = function() { + loadShopManage(1); + }; + document.getElementById('shopManageFilterShopName').addEventListener('keydown', function(e) { + if (e.key === 'Enter') { + e.preventDefault(); + loadShopManage(1); + } + }); document.getElementById('btnCloseShopManageGroupModal').onclick = function() { document.getElementById('shopManageGroupModal').classList.remove('show'); };