From e05c2a6a5102e3468ca9f539dcd6c09fa1e696c7 Mon Sep 17 00:00:00 2001 From: TsMask <340112800@qq.com> Date: Fri, 19 Apr 2024 17:21:33 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=AF=BC=E5=87=BA=E5=8A=9F=E8=83=BD?= =?UTF-8?q?=E4=B8=BA=E5=85=A8=E9=87=8F=EF=BC=8C=E8=A1=8C=E5=A4=B4=E6=96=87?= =?UTF-8?q?=E5=AD=97=E5=A4=9A=E8=AF=AD=E8=A8=80=E7=BF=BB=E8=AF=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- config/locales/i18n_data.xlsx | Bin 105423 -> 105554 bytes database/upgrade/upg_sys_dict_data.sql | 79 ++++++++++++- .../upgrade/upg_sys_dict_data1_i18n_zh.sql | 13 +-- .../upgrade/upg_sys_dict_data2_i18n_en.sql | 105 ++++++++---------- src/modules/monitor/controller/sys_job.go | 31 ++++-- src/modules/monitor/controller/sys_job_log.go | 37 +++--- src/modules/system/controller/sys_config.go | 4 +- .../system/controller/sys_dict_data.go | 33 +++--- .../system/controller/sys_dict_type.go | 15 ++- .../system/controller/sys_log_login.go | 39 ++++--- .../system/controller/sys_log_operate.go | 83 ++++++++------ src/modules/system/controller/sys_post.go | 23 ++-- src/modules/system/controller/sys_role.go | 39 ++++--- src/modules/system/controller/sys_user.go | 71 ++++++------ src/modules/system/service/sys_user.impl.go | 2 +- 15 files changed, 358 insertions(+), 216 deletions(-) diff --git a/config/locales/i18n_data.xlsx b/config/locales/i18n_data.xlsx index 307172f595c0149fd5fb4a910207d94f962cdc09..40cade588aa1fe1659260ec39d89a7f4829cdce5 100644 GIT binary patch literal 105554 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

G__UM@*<*eI?X$>~-=!qlx zrg4Z7!(>;OnU73@c%R2u_8Ctp6%H#=1mAUfLIz07wuSpj$PLqL-Q4rpJhq(oB}b$w zHV7T6mgtF$r_Ts(5`k@g9+yoBp9LtUyyQkZy{^v9OG13qI%^YrsWL$KljXCh>0dpX z_Z(K0mR46UnFOFum?sp}I`lMYBZ3ZTF%(P{X4K`Umr1=>)+d;>@fDLlsP{8J5r$b9 zog+5!tsCML_ecM3fh>q6%4;VT#0hX$aVx>v$4rGuddB}IMNZjhrje^EG_WA4ygC?% zD*1kz^?(F$Tj<0=o;2#$J`Z;EUt-K-9Savg&N;b|b5ca3g!3;$J6OE^%S=`6rN}#+ zcZ8Mw7{D2Imz{QLTY2~gnd>KyKOOBD(nf2K?L&$87j|4?66e2CI5o52sBk3Gvysv` zdm~Ibs4hrTxli|Eps*N&``UCz!iw4bsc+Hr#aBxvq8BDG6FDCT8YV#o)_2g3eG7e) zfQY-fmZ^#0*~#)?_x3$C9mluR$;#Dfix(?x*9KwAAp^y6%qLafa{|k4V~taJ>2Pft zHRomp7dzENL{XT+(KzQ_XHID$Dn!uxnKIUn*j*tPx$jaM9 z)t`$!D8X#@uq%-4fQ!BkItd0+Z5ASbRbt;a zoun2JgMgcOAR`Cn5EY~5p{crVw5-|>#i2TV68CN zDg6n=d;V|;=S=?9uJrnfs9m_UjUxD;LghhAWDu^(Lxxi!=~pwqv2Pyco@hvt_kldz zj;KeTrUPtbUW*KjS?>7prJtjZ!hB z3@y{oznb~@K4I$wF|Stia@4qsbc2`|P@63*SD-J+1A?1O^_4_}J?yb@+SE@`I%CcB zQMooBB0)ISN^;tLb_*YIYN*|?H!X?2ukb`FRF}y|_YsY@0}20lC-y|&u5m;; z+y0Uma7L-+uQ+s*>voNC4$&tXZc>>1%5)mi$ZqG~!SkP4^|k4;s1kWDlbglc_A3wk z%4EE4gsr}=BSlD;cDqiyF3^t=ztn zZLHYUX|3DE4A{AU+NE`%!;6bnVMM{`NGxVkhDThi~?q2#moT_(L5Vw zlZwy`3M-SC~n+m<7{G{|v0AW;A5eOxzRBsfauE zC_10X2stmy0@@8;}1iA#U`p(y5+xk9FNEJb7SOlj@;KVORq>Ef@H-<2^e8 z`FP%Y$Xj}kip`K+R@y6ZJRUapACDPea`~g%goIv?R+J0s9Mf~(>@1(I1Lk_&sywlA zUcPA0A7fDKNzhGS-l%=x#T$=#8-5#`Z*Ch2cDkW*b(mI&Ym(IH^Wx`yk@7irc^+~2 z1~Ea+-qXWH^=yiO5^Thh68JqbRQXyze^pT&W$v>2!>|_#|7v9O`)3vb7z13Hm6|r# z5Pn?aR}ht|utdTvKdrkH&f6OL)q5Pktm75fQBnt4e$VlcbPpl~fv*Yzxp-dlK=x?Z zorw=xNqVh36dCcvJxl`jB@tN~tam$5J2)8Cio+E^S-X%^BP^JGW1>45n>+tq?Y6G_ zmLsDv!4f+=6q?f}lyIFLVtV-HXb0b9TuMGa2A!|y!lD9)2SLyMLit_PRQW;_Cn8t8 zBF`!wZqHi`Z&M9<&GPbD9q6^4ct4QfubSce-EB)-5@LzO!K);sh7RiD-M`75D+#~8 za>`p{gx{TwC<8lSJ;yHjuu_cT-2!0J41vvWb1#k-wkgnW{m&Npk$QXRT< zAl`+3DjJ2+ETf`zrf5!khqNQ-Xp4$P`wnznXFM@<_XNTP%#sC>%Mtb?9$x`_Qq#!0 z?S}G@5Wjf)-&Rh^t}_jdpDYy66NLu0vZFk)tgT3%+%h`oHx zlAP~0c5(m5&>69R7U^*vQH6zHKRI+9iLHr>Ia8rW&u=mIlCJMjYIZGl+kGkPTIc2j z_ZV_Io;Uw)iR$%_M#XAK(T^$N9hJJerSgP{Z0=-W@I;STmU~Msp(Q%?G7EOirLg^E zVK22cVR$twwG2YQ93oncD(I`0&UAsWcHlp2&Dy~P3h5J|H?9l&oggj&ft*s6Tws8E z+31`I>(J9fWX5K1**-9Z&Rh8;-X)O?3H&NB#;MX)kYhgCn*|g2FXnt-yA${{{!BrB zG1`>MJaB0$opMi}sYjupwD4FMLcnF$j7Bzi`o`9^@ZFkC>}&tK29)awPkO!^_44RbFgm^1re-^D?l}^%Ef~$s@s{c7+C! z$OnAnFp7dBLmNY#p#&J}e^a3+A1D8{Ocp60k&Qkd;x?>*V)3MRLm|oR<8bk8A&=6J zqDYCqI9aY)k+Q%?-^zv*@w=Vv!~tjy_?Pl;Lv3HyhRO?xWqZF@1BThiBq^q!-PwL#GO@n$zX-gsyi@EX<* zEj*Y#AA#J(usranGo=U#?`fI1WS^n?e#8GV>w7#?$Gp?ri|3}I^0G~D z9=;jwzN^vrwPNQ*r|ujXWufTLf1pisfTw zxhh{zo4?i(&KsXrO5H7P84{VLhqqg{?V0y{xkeYo(6N18*XKzsyX63xdXm1LsBnKJxV^DK18a?gR~Iq*H1?EwMv*nJ7*y(O|%~ICuU?I!|D{97F08?z+rhw~R+X{&CBCpuXjCQbc z8MfT{es$(>yJ`kKQga?m$HOqHtD>^M_c>Ym(_tJ92OxKg3KTyjWH(PZ;>zr6$J`O@ zdfH~vR#tZi0Te6Sbws*1dK@^&N@5H|z3e*yo-OGpb1qb%FE5u^$ zb(3sz^apSdESY7&j{xxUL9LUzgik~*or89tEE;cbXonB$3BDA6pQi;qT{R)T~dbBjwIjm7U*XXfm}Cz%8;4TY1HP@$VN;i{7ev>Ewa67VUYW6}00t_WX@*%`SMqTqMl`_xBG+yDE=OsxpC8396U+K{j%O0{9F8Sse<| z4bD2mA_7%RP53-~Qt~0E7`N0xS*Qk>wLBaLz><^0?tZ3+ZG-ELr$cG#G!fwi*j{Wf zT=*JfF-e8E_K&$|78)3P>94&b(shrAP=!Z2Un_?}mS0ddC^IE)r7oS>88K9BKak79rC)`5 z3Y=rD1rdNa(9Z7_nBPf(_J^5E^P=LuV@QQA_AMRAECMgjh+A?*7=SgJAZI`5KDuui zYB_wph`lqRFN+ZDEtTyvJm)s11Vw0K(Eznku@s#%T$kcbm~6$n&X6-1-vG}dXTCxg z73!2J<%@JvLGrFC*lPM6LxZUAIc^bPz@F&H<=qm+O>v038ZO$SYaIwz|mzGnfq**LEDOFY4iR7LR|fmK@^pvYN@t zvr5b5MdkBkUBd~FA24IIy8io{dABd)7s{ecw6lN@y_q;~F-3eEtGEfTZSD~JzE(7q zp&yf1%NjDI>iEmfJiMC0Tk0N zS8D!9xMs_d1(8JRiVv|>hHt0JB!eCwJm;Q`d|hij6DeKKOGnYdQ%7wh0%ckj$W$%n zSc6XDmSe&l$9qpFZ-J%^-cB)80~@Q)G-P7 zg0T9I5J6Mw2My!dH$lVD=e_>HQ_SE<0v-=);Hqtibfb~7jI!bPUr+1S&&~gg(QTt(p^{><22=RF zQcE}PA@zVk0}sCJC?sYg6m?d>^Oi!ab z4`aKOg=KUDbv;OkU#?Qxp3UuC3?OCu0&{X^#}{&q-CmgJP&R%4_QSJ(3O2|-ca}W{ z%k6#pc1WmvD`y42nro1}Q^LbnUMQeQ_o8b1syA!=6uTS;)iH+klS|21Pk!GBPkP;* zJ!F>zkNO1((^>TOi)J+PAss6D!KK1Y={;oXxLFE_tq|UxPUDmB+QJ@7Vk(i1sv|Fz z4<4(`v}?K!(x}w?fk*n`4 z>}s*<3T8Nyl;c|)H0p^V7x%)_cDtXCyl<aN`Pc;#wuHxb9SLM#4-(*`$DE-nYlf0`SBz1uCy&^lL_2I zc2%MEURjzcfCYX|#21;ED7W#J)FRR%p|60wx%Sgsv5F`HSSpfw(QJgY4QG|^N zSHU8Xk8Wy!Qz%7UAESYTOjFDBOASITMzbGIlCU(-y@PxsT2NPw-1EIuAt2c{LtocO zeYnWDrM!nhCNV-6TTfN{k?2LC0^VILLPhkULROkkosV~?)_34O+7TOod!p{us1icj z@>7UU^5>|bIxdT;X=B359OHVam}PI zMh&h(`{fi6l{=x_i1uI(B@4L_R@Z0Stb7cBe3@@`iDqNc#Xag;ctC1Et)e5Da#uab z!r!lT2WnR}0f@pteVqX`E3wFB9{}oz@(J1G1}l|4U`-5)BU8caTfBGDynt_+hBsj3 zWy8gdMx|fll2}nx7|mP~X*+a(ycI5(FPdCf+K>YUaSX>{O>pp8x)!?e) zV?!4QH|$&nw(~OUkLqSCJ|@uPm$T1?c-dt~MpTCQx28Mofw*DjeGQ|PmvZem=UNuI zMSQWbjY>T_J|E=uu(`0J+De^h?ptNsjl~`wPQEL zOr?L?Xp6W%1v3|WK}7+*Pfl2wdw^QE&VM3wKeB&#ZX#q{+ObxiL9GlTwavo}dl za0@hF%2|$Y_5;uY|bFP@keVAwrUq zi^(F)qH9;CE6EJUepmbi;{-Rb24`y! zu_u>B2tIq5vHK&Pl7KsjqrCX>_CEMZ;>ktTi<8AbzSz~OzI$yXH2qTU=c;67{Hs~vq`DSRkCMA_( zp985_k0FBQl3Fh+{q=-feY=#-4qY9&iwCyjhaFCklJ0;y#^Yv^r}Y+33yjrj2p&W? z9@_1c_LdtmzM~*(D^|jNKsU#|^3EsxZ2%x@97T2cbYnv%rQ zBBZNkT6=PJ_O)xYkBQ)?D0{8ExY?Cn3YIE+9lGyuHj);s?WoL$(LiSUR8sA(<53-*WS)1QsJ~@ zU5HF;PlzCPikdzTFq?X)cR(_doXyphM{kjuizv5uf3JAW>ceInVlP}xB;wco$$Ye{CE<|MTY;yvoL zvd#Y76G1TJ5aUA7L*_vcR7dn_^G#g|55(V958WUTUjqwoRmJZVdq!s$8njUXV~(_r z9J)F9VKXHu;Np37BaZllnJ?cIcnJFJn$tIt9>}qcu?7W8@0#mMYfEL%#?O--hiFNa zd>+6taM-Ra@$6Q6N#ey?%5{Y6mF>k{rR3tyBKn3Xbl#%0RnSPV7v&J|A%Z+N5 zYk24$WG7gLKTOAhhE{50ukylO4UV$lrY3IPAX*R^H?Xc46@dcA&1uB5N-PflYJ))z zbmFjgP)x!94uaqbTXajPQg)B^Zc@L0Xm#$9Z)ouZ{F=BQ=@BB>46oY{wHEolE3NI- zq;rJFq&TXN6S}Raxuy9JCa8E0yBr|wyJ{3yujVA|oMU4YLS96}IGK`!9dVTLn40-J zO(itnzx$Lc4p)GyGcPYAWi*H1;0X1*ApH~WWK3+$~{l-VSaIhh!sI|3Lw>x5UGHic8SPGm3vt>xD|v+HN#u;gO$IH_Jbp?{3I$r zc9hI9q(s#IlOBt+Th;1))6~kjHa8{W&gz>tyV!sOnh#f_tm=0|irNVhbAvQD3YSs@1 z60Kr7B^sC|-GFrxzk!h1`d=oAjRX>uP^mzd?$vVmEGyZI1{*TLn;hv8G#JI{n}fiibG5uMtYu!mi{`*gOS&%E*?hBp_= z_=?&BC%x0nX|6coiSQJa-0VGt4-F34AkQo1)-0auP0fhaaV$Tvbg2c0wW~Z3(qnCp z9T}=xyejX#hNfl`D$9-@qbXKfrbETP;QrYyAE@RudUTgf9B!7hFxU1IS!SF>OWgKg zM?^#Px2Nxw_ia!VBPMb-p1JE_K0-Zm9uw8y!{#F%UBS|d#)?j+_1jX^T{X(xmwz^< zfXed760a;frI~p2sHE)iyD7R{B=GCfl#ncl@Ynbl};eRKr( zEWut(PtR5~&Q4;zo*DyUtN^MR%2~m4`*&{#UCt2zj zJ;Ib~V7Hhhn=7K+T9=6lp8CjVCjBgcRg&sda6t?qZl3+=IG>O?^-2wneolrVLnAH2 z11mP@6Y8so14w^MJb?NoR^a%#?dMU&Z`qIKRD7 z!n(U(uUqrE+~%=UV?mdj9w1Lkx4HN*W0!AIxh-@#g5|Vm(EI@dS-qt}-}UqdWzy%6 zB)xgm_AdjkPTiL4TW3+Qn={jRpBDSkrA8`keElAMZmfCnWo$ijB1kQm2X2=(<0!Zk zc5zu|w61ZL!M5)=og>WpbglTYr-%Ho9><9&1u`kYTb|fMr~KtEk2&s~WP0pC=kc?Z zyVVYinspq9vh=NtCY;BK^lInS~zL)slf#!!cz|bK-OvX<=y2_jaNz{DtBxeFp#i_{J zIx3c7InJF;;i$v$S(=fLZ8dPnIt$Tc%c|%LiIA_xQUYZoV3w}JB^4?k;AOXz?$Z3t zdn?e^YHG%oY`+Eg)1-NklNeL~_9$kh?U!a-=ice|UF0hhqOxa6H5?Vlh$lUI#uejA zJ}X6b-S^S8_W5BLeN#trj?+a}`i!J~*C5nY8}}HCgNjKC%vPjuEhsQGO>`ct5GE*5 zD{N*xbR(yi89U8(K7@AK${CX4n&XhSE6i^xWWG2Yu-?)n?3Y(A>x^-y%B<>P1BOC?!%%+`g5h}#4qCZjmitkINfh$a+X)NS8K!JP6}O| z-me0BC=iWdk1xun;6&^*QG;UYF+t=V*utad{@b*~GatUf>5Zv6Y^|9sVuL%v{8s{k z^MtqEfZfQm3FFr(Lwb=GY2;M>Yx*e3^^~m%kA0K4JH(?$!Bfq-!=+l;XO`JIWhJi0 zRf4pyPf#4}l^0G<6w~e$<%#1A@vi}max8@K`7u^sL%rTHWDg zYb31@!GQ3=dx>jNqZE~7f3inM;syf<2GzQ(Dwcg!IeUN!y7mv5%7?}IBYWD%W3CSz zkJ|CbwwU(1(7D>bmwZ_531Km$GsKdo-#HF)!S@j^G>oc@n-(DQ0}|QEyKcYZjTo(_ z53mv;O=4tee{{vE#b&h60Xs@cQ~;7!Z3r75Pxa&v4NOwuF+^YC?JTh;F7l<5KN4%A zFn2ErZ;DXX#mJKgKfJG9y|i#rM!s9(gG#sR1WivfdyRm-2Lu^bfuBV!F!UYx8@yGep244yX5BHtVr=)QvXWq>?tYnr zy_9hCmzXnW4$_a$Kn=0SSNkrBhEOb3#9S_^#(in9S+(-{LdG5{99}&0@UhXZx&BJZ*TvmoLSLg|ue2r-IC5m>WVatauhVuuR++U<({HsVfoEY3*s)H*qB% z*<--&k?i4O`{~8#V=n89`w!TY{rg<-d(3pMeQAK2PlG3@sAZo=3HYw`4Pv^K>l9U- zLf4J^4G4GQ$z5IjuRkqIu?Z6s$GO7p0$241F8)5w_;V@VM+xRGt!8e`|l zZu`25GJRuSwF{O&)O*AL{z>&P`Jj(zVVMf&ON}UGKJzH4yryR+fkS(WeOlq*bv&L?F2fp}3XxiHb zK72Hq(yBsh*uc3F*JQE{dnpk+sO1=`7uAvg&=@(JP%`Vl|E~YSw{9uK(B>YZI8qQb zWf9)HPLqg3>P>xXVGICYVCSE_o7$7y?dx!rL>^-K91{2M#J!l^zj~scSfoa$F=G-O8 z1^xNqNQ=|JhYxwqr8(wsb>&YqR#%uq)AH8R3~@cA2LA=CQT*LL;O5_gR#9cyM&`bhG| zhwC0h4Yvj+lkP}D#;W_y%hgcRj)>Aag1>Z!HPqD}oDFE5Im3&M*4a{PgEd(vik2I@ zPZGbKYGwC~NQG{Fa~h^xgG1jb$mbq;h=SM`ulFe4>M6#E(Ud925|YR9&|7%kbIYeFDWj3f2&Y3OB`7)7*mQ0~S?apB5kz<8{XS86Dc>gkIl;3M~S73PC1r%EOY3!p!W|8c;;JtO7 z_LMM;LJsejUkoM%hFMf8okoQa1+f;BVR74+QZW*zaCzIC`c6l5kDJ9@iZ@rZZ~4U#V!Jz?Z83jr`m6Nd z2U;+f_-ugyA;GLf`5I8^_``C+^F`ukvKNy@TR22nIq{HoSNK-)-9-dF6$DPgfF3}x z>8yR1RxEQxHY`p zf5saKxQ*#=dEM?aCS2#6&X9)oOJ3Jd7V7L_?d)NycPUk=l10 zyEI5-F)Ptt7;`%n2>{VSLNp;PoVExW z!~k}g&_$CGnF*3XUmoO<(*;E%eHTxZ_-zWeVpX)Zi&HU-iJ=^%z}I{~ z+?QOsc@zcvXje9|Nw8=3tzPZW;?K22&O4Sa8&cQjA4iKsFOk5iNXU173hDgP zKmId8Hw6tq0?^-lg42-z|B$X<4*q%9+;*T}MtF0nOGWytAN?okpB?EI^NV!mFU-#! z^uNe%MV)`yE!nMEK`p^0A3net2`|H{8?R1M2kK z!9Pd%rsw?2Zr7oT`m_D~|D$vTNBZ5b{#@sujqR4`*F>4p{s#N6HutBWKNXvP`$+-+ z^z&c(O@Dg$Q)TqG2YQ8H9{$oC{r|6hMDi!}-y-1uSs{PQfd6JZ`aA5mDEOaK{__a* z+ksHZPu{W1pV2GtyV(E$wFoNU?!S<~vX=2* z*q<(bYMTE!{XEjGo5#a9dsgaCFPqPP*4W=>@Y9RHuS!Mxx#fug!~oC@+riVDItTn8 DyyUKo literal 105423 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 diff --git a/database/upgrade/upg_sys_dict_data.sql b/database/upgrade/upg_sys_dict_data.sql index 629fd952..ce83cd35 100644 --- a/database/upgrade/upg_sys_dict_data.sql +++ b/database/upgrade/upg_sys_dict_data.sql @@ -168,6 +168,83 @@ INSERT IGNORE INTO `sys_dict_data` VALUES (123, 1, 'ne_license_status.1', '1', ' -- 指定记录条件更新 -UPDATE `sys_dict_data` SET `dict_value` = 'Module Tracing' WHERE `dict_code` = 3425; +-- UPDATE `sys_dict_data` SET `dict_value` = 'Module Tracing' WHERE `dict_code` = 3425; + +-- UPDATE `sys_dict_data` SET `dict_value` = 'Dictionary Number' WHERE `dict_code` = 3530; +-- UPDATE `sys_dict_data` SET `dict_value` = 'Status' WHERE `dict_code` = 3533; + +-- UPDATE `sys_dict_data` SET `dict_value` = 'Data Code' WHERE `dict_code` = 3456; +-- UPDATE `sys_dict_data` SET `dict_value` = 'Data Sort' WHERE `dict_code` = 3457; +-- UPDATE `sys_dict_data` SET `dict_value` = 'Data Key' WHERE `dict_code` = 3458; +-- UPDATE `sys_dict_data` SET `dict_value` = 'Data Value' WHERE `dict_code` = 3459; +-- UPDATE `sys_dict_data` SET `dict_value` = 'Data Type' WHERE `dict_code` = 3460; +-- UPDATE `sys_dict_data` SET `dict_value` = 'Status' WHERE `dict_code` = 3461; + +-- UPDATE `sys_dict_data` SET `dict_value` = 'ID' WHERE `dict_code` = 3654; +-- UPDATE `sys_dict_data` SET `dict_value` = 'Config Name' WHERE `dict_code` = 3655; +-- UPDATE `sys_dict_data` SET `dict_value` = 'Config Key' WHERE `dict_code` = 3656; +-- UPDATE `sys_dict_data` SET `dict_value` = 'Config Value' WHERE `dict_code` = 3657; +-- UPDATE `sys_dict_data` SET `dict_value` = 'Built In' WHERE `dict_code` = 3658; +-- UPDATE `sys_dict_data` SET `dict_value` = 'Config Description' WHERE `dict_code` = 3659; + +-- UPDATE `sys_dict_data` SET `dict_value` = 'Log ID' WHERE `dict_code` = 3928; +-- UPDATE `sys_dict_data` SET `dict_value` = 'Login Account' WHERE `dict_code` = 3929; +-- UPDATE `sys_dict_data` SET `dict_value` = 'Status' WHERE `dict_code` = 3930; +-- UPDATE `sys_dict_data` SET `dict_value` = 'Login Address' WHERE `dict_code` = 3931; +-- UPDATE `sys_dict_data` SET `dict_value` = 'Login Location' WHERE `dict_code` = 3932; +-- UPDATE `sys_dict_data` SET `dict_value` = 'Browser' WHERE `dict_code` = 3933; +-- UPDATE `sys_dict_data` SET `dict_value` = 'Operating System' WHERE `dict_code` = 3934; +-- UPDATE `sys_dict_data` SET `dict_value` = 'Login Information' WHERE `dict_code` = 3935; +-- UPDATE `sys_dict_data` SET `dict_value` = 'Login Time' WHERE `dict_code` = 3936; + +-- UPDATE `sys_dict_data` SET `dict_value` = 'Log ID' WHERE `dict_code` = 3912; +-- UPDATE `sys_dict_data` SET `dict_value` = 'Module Name' WHERE `dict_code` = 3913; +-- UPDATE `sys_dict_data` SET `dict_value` = 'Business Type' WHERE `dict_code` = 3914; +-- UPDATE `sys_dict_data` SET `dict_value` = 'Operation Method' WHERE `dict_code` = 3915; +-- UPDATE `sys_dict_data` SET `dict_value` = 'Request Method' WHERE `dict_code` = 3916; +-- UPDATE `sys_dict_data` SET `dict_value` = 'Operation Type' WHERE `dict_code` = 3917; +-- UPDATE `sys_dict_data` SET `dict_value` = 'Operator' WHERE `dict_code` = 3918; +-- UPDATE `sys_dict_data` SET `dict_value` = 'Operator Department Name' WHERE `dict_code` = 3919; +-- UPDATE `sys_dict_data` SET `dict_value` = 'Request URL' WHERE `dict_code` = 3920; +-- UPDATE `sys_dict_data` SET `dict_value` = 'Request Host' WHERE `dict_code` = 3921; +-- UPDATE `sys_dict_data` SET `dict_value` = 'Request Address' WHERE `dict_code` = 3922; +-- UPDATE `sys_dict_data` SET `dict_value` = 'Request Parameters' WHERE `dict_code` = 3923; +-- UPDATE `sys_dict_data` SET `dict_value` = 'Operation Information' WHERE `dict_code` = 3924; +-- UPDATE `sys_dict_data` SET `dict_value` = 'Status' WHERE `dict_code` = 3925; +-- UPDATE `sys_dict_data` SET `dict_value` = 'Time Consumption (ms)' WHERE `dict_code` = 3926; +-- UPDATE `sys_dict_data` SET `dict_value` = 'Time' WHERE `dict_code` = 3927; + +-- UPDATE `sys_dict_data` SET `dict_value` = 'Position Number' WHERE `dict_code` = 3804; +-- UPDATE `sys_dict_data` SET `dict_value` = 'Position Code' WHERE `dict_code` = 3805; +-- UPDATE `sys_dict_data` SET `dict_value` = 'Position Name' WHERE `dict_code` = 3806; +-- UPDATE `sys_dict_data` SET `dict_value` = 'Position Sort' WHERE `dict_code` = 3807; + +-- UPDATE `sys_dict_data` SET `dict_value` = 'Role Number' WHERE `dict_code` = 3760; +-- UPDATE `sys_dict_data` SET `dict_value` = 'Role Name' WHERE `dict_code` = 3761; +-- UPDATE `sys_dict_data` SET `dict_value` = 'Role Key' WHERE `dict_code` = 3762; +-- UPDATE `sys_dict_data` SET `dict_value` = 'Role Sort' WHERE `dict_code` = 3763; +-- UPDATE `sys_dict_data` SET `dict_value` = 'Role Status' WHERE `dict_code` = 3765; + +-- UPDATE `sys_dict_data` SET `dict_value` = 'User Number' WHERE `dict_code` = 3830; +-- UPDATE `sys_dict_data` SET `dict_value` = 'Account' WHERE `dict_code` = 3831; +-- UPDATE `sys_dict_data` SET `dict_value` = 'Nick Name' WHERE `dict_code` = 3832; +-- UPDATE `sys_dict_data` SET `dict_value` = 'Department' WHERE `dict_code` = 3838; +-- UPDATE `sys_dict_data` SET `dict_value` = 'Login Address' WHERE `dict_code` = 3840; +-- UPDATE `sys_dict_data` SET `dict_value` = 'Login Time' WHERE `dict_code` = 3841; +-- UPDATE `sys_dict_data` SET `dict_value` = 'Status' WHERE `dict_code` = 3836; +-- UPDATE `sys_dict_data` SET `dict_value` = 'Role' WHERE `dict_code` = 4007; + +-- UPDATE `sys_dict_data` SET `dict_value` = 'ID' WHERE `dict_code` = 3710; +-- UPDATE `sys_dict_data` SET `dict_value` = 'Name' WHERE `dict_code` = 3711; +-- UPDATE `sys_dict_data` SET `dict_value` = 'Group' WHERE `dict_code` = 3712; +-- UPDATE `sys_dict_data` SET `dict_value` = 'Invoke' WHERE `dict_code` = 3713; +-- UPDATE `sys_dict_data` SET `dict_value` = 'Incoming Parameters' WHERE `dict_code` = 3714; +-- UPDATE `sys_dict_data` SET `dict_value` = 'Cron' WHERE `dict_code` = 3715; +-- UPDATE `sys_dict_data` SET `dict_value` = 'Status' WHERE `dict_code` = 3716; +-- UPDATE `sys_dict_data` SET `dict_value` = 'Description' WHERE `dict_code` = 3717; + +-- UPDATE `sys_dict_data` SET `dict_value` = 'ID' WHERE `dict_code` = 3718; +-- UPDATE `sys_dict_data` SET `dict_value` = 'Status' WHERE `dict_code` = 3719; +-- UPDATE `sys_dict_data` SET `dict_value` = 'Time' WHERE `dict_code` = 3720; SET FOREIGN_KEY_CHECKS = 1; diff --git a/database/upgrade/upg_sys_dict_data1_i18n_zh.sql b/database/upgrade/upg_sys_dict_data1_i18n_zh.sql index be60c8bd..f2b5b948 100644 --- a/database/upgrade/upg_sys_dict_data1_i18n_zh.sql +++ b/database/upgrade/upg_sys_dict_data1_i18n_zh.sql @@ -648,14 +648,7 @@ REPLACE INTO `sys_dict_data` VALUES (2124, 2124, 'dictType.ne_license_status', ' REPLACE INTO `sys_dict_data` VALUES (2125, 2125, 'ne_license_status.0', '无效', 'i18n_zh', '', '', '1', 'supervisor', 1705550000000, '', 0, ''); REPLACE INTO `sys_dict_data` VALUES (2126, 2126, 'ne_license_status.1', '有效', 'i18n_zh', '', '', '1', 'supervisor', 1705550000000, '', 0, ''); REPLACE INTO `sys_dict_data` VALUES (2127, 2127, 'menu.dashboard.mocn', 'MOCN', 'i18n_zh', '', '', '1', 'supervisor', 1705550000000, '', 0, ''); -REPLACE INTO - `sys_dict_data` -VALUES ( - 2128, 2128, 'menu.monitor.cdr', '话单', 'i18n_zh', '', '', '1', 'supervisor', 1705550000000, '', 0, '' - ); -REPLACE INTO - `sys_dict_data` -VALUES ( - 2129, 2129, 'menu.monitor.event', '事件', 'i18n_zh', '', '', '1', 'supervisor', 1705550000000, '', 0, '' - ); +REPLACE INTO `sys_dict_data` VALUES (2128, 2128, 'menu.monitor.cdr', '话单', 'i18n_zh', '', '', '1', 'supervisor', 1705550000000, '', 0, ''); +REPLACE INTO `sys_dict_data` VALUES (2129, 2129, 'menu.monitor.event', '事件', 'i18n_zh', '', '', '1', 'supervisor', 1705550000000, '', 0, ''); + SET FOREIGN_KEY_CHECKS = 1; diff --git a/database/upgrade/upg_sys_dict_data2_i18n_en.sql b/database/upgrade/upg_sys_dict_data2_i18n_en.sql index 7dc06be5..330385c3 100644 --- a/database/upgrade/upg_sys_dict_data2_i18n_en.sql +++ b/database/upgrade/upg_sys_dict_data2_i18n_en.sql @@ -230,12 +230,12 @@ REPLACE INTO `sys_dict_data` VALUES (3452, 3452, 'dictData.neVersionStatus.inact REPLACE INTO `sys_dict_data` VALUES (3453, 3453, 'dictData.neVersionStatus.active', 'Activated', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); REPLACE INTO `sys_dict_data` VALUES (3454, 3454, 'dictData.alarmStatus.history', 'Historical Alarm', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); REPLACE INTO `sys_dict_data` VALUES (3455, 3455, 'dictData.alarmStatus.active', 'Active Alarm', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); -REPLACE INTO `sys_dict_data` VALUES (3456, 3456, 'dictData.export.code', 'Data Codes', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); -REPLACE INTO `sys_dict_data` VALUES (3457, 3457, 'dictData.export.sort', 'Data Sorting', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); -REPLACE INTO `sys_dict_data` VALUES (3458, 3458, 'dictData.export.label', 'Data Labeling', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); -REPLACE INTO `sys_dict_data` VALUES (3459, 3459, 'dictData.export.value', 'Data Key', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); -REPLACE INTO `sys_dict_data` VALUES (3460, 3460, 'dictData.export.type', 'Data Sorting', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); -REPLACE INTO `sys_dict_data` VALUES (3461, 3461, 'dictData.export.status', 'Data Status', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); +REPLACE INTO `sys_dict_data` VALUES (3456, 3456, 'dictData.export.code', 'Data Code', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); +REPLACE INTO `sys_dict_data` VALUES (3457, 3457, 'dictData.export.sort', 'Data Sort', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); +REPLACE INTO `sys_dict_data` VALUES (3458, 3458, 'dictData.export.label', 'Data Key', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); +REPLACE INTO `sys_dict_data` VALUES (3459, 3459, 'dictData.export.value', 'Data Value', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); +REPLACE INTO `sys_dict_data` VALUES (3460, 3460, 'dictData.export.type', 'Data Type', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); +REPLACE INTO `sys_dict_data` VALUES (3461, 3461, 'dictData.export.status', 'Status', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); REPLACE INTO `sys_dict_data` VALUES (3462, 3462, 'dictData.datascope.all', 'All data permissions', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); REPLACE INTO `sys_dict_data` VALUES (3463, 3463, 'dictData.datascope.custom', 'Customized Data Rights', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); REPLACE INTO `sys_dict_data` VALUES (3464, 3464, 'dictData.datascope.dept', 'Departmental Data Permissions', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); @@ -273,10 +273,10 @@ REPLACE INTO `sys_dict_data` VALUES (3526, 3526, 'dictType.security_log_type_rem REPLACE INTO `sys_dict_data` VALUES (3527, 3527, 'dictType.ne_version_status_remark', 'Network element software version status', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); REPLACE INTO `sys_dict_data` VALUES (3528, 3528, 'dictType.i18n_en_remark', 'Internationalization - English', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); REPLACE INTO `sys_dict_data` VALUES (3529, 3529, 'dictType.i18n_zh_remark', 'Internationalization - Chinese', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); -REPLACE INTO `sys_dict_data` VALUES (3530, 3530, 'dictType.export.id', 'Dictionary Code', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); +REPLACE INTO `sys_dict_data` VALUES (3530, 3530, 'dictType.export.id', 'Dictionary Number', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); REPLACE INTO `sys_dict_data` VALUES (3531, 3531, 'dictType.export.name', 'Dictionary Name', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); REPLACE INTO `sys_dict_data` VALUES (3532, 3532, 'dictType.export.type', 'Dictionary Type', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); -REPLACE INTO `sys_dict_data` VALUES (3533, 3533, 'dictType.export.status', 'Dictionary Status', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); +REPLACE INTO `sys_dict_data` VALUES (3533, 3533, 'dictType.export.status', 'Status', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); REPLACE INTO `sys_dict_data` VALUES (3534, 3534, 'dictType.sys_role_datascope', 'System Role Data Range', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); REPLACE INTO `sys_dict_data` VALUES (3535, 3535, 'dictType.sys_role_datascope_remark', 'System Role Data Range Mapping', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); REPLACE INTO `sys_dict_data` VALUES (3536, 3536, 'dictType.noData', 'There is no accessible dictionary type data!', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); @@ -315,12 +315,12 @@ REPLACE INTO `sys_dict_data` VALUES (3650, 3650, 'config.sys.logo.filePathBrandR REPLACE INTO `sys_dict_data` VALUES (3651, 3651, 'config.sys.loginBackgroundRemark', 'The file supports web address images and internal upload file paths with a # in the default background', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); REPLACE INTO `sys_dict_data` VALUES (3652, 3652, 'config.sys.titleRemark', 'System name length limit of 11-digit string', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); REPLACE INTO `sys_dict_data` VALUES (3653, 3653, 'config.sys.copyrightRemark', 'Footer fixing strip with copyright notice on the left side', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); -REPLACE INTO `sys_dict_data` VALUES (3654, 3654, 'config..export.id', 'Parameter Code', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); -REPLACE INTO `sys_dict_data` VALUES (3655, 3655, 'config..export.name', 'Parameter Name', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); -REPLACE INTO `sys_dict_data` VALUES (3656, 3656, 'config..export.key', 'Parameter key name', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); -REPLACE INTO `sys_dict_data` VALUES (3657, 3657, 'config..export.value', 'Parameter Key Value', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); -REPLACE INTO `sys_dict_data` VALUES (3658, 3658, 'config..export.type', 'System builtin', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); -REPLACE INTO `sys_dict_data` VALUES (3659, 3659, 'config..export.remark', 'Parameter Description', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); +REPLACE INTO `sys_dict_data` VALUES (3654, 3654, 'config..export.id', 'ID', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); +REPLACE INTO `sys_dict_data` VALUES (3655, 3655, 'config..export.name', 'Config Name', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); +REPLACE INTO `sys_dict_data` VALUES (3656, 3656, 'config..export.key', 'Config Key', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); +REPLACE INTO `sys_dict_data` VALUES (3657, 3657, 'config..export.value', 'Config Value', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); +REPLACE INTO `sys_dict_data` VALUES (3658, 3658, 'config..export.type', 'Built In', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); +REPLACE INTO `sys_dict_data` VALUES (3659, 3659, 'config..export.remark', 'Config Description', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); REPLACE INTO `sys_dict_data` VALUES (3660, 3660, 'config.sys.titleValue', 'AGrandEMS', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); REPLACE INTO `sys_dict_data` VALUES (3661, 3661, 'config.sys.copyrightValue', 'Copyright ©2023 AGrandTech', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); REPLACE INTO `sys_dict_data` VALUES (3662, 3662, 'config.noData', 'No parameter configuration data is accessible!', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); @@ -339,17 +339,18 @@ REPLACE INTO `sys_dict_data` VALUES (3706, 3706, 'job.deleteExpiredKpiRecord', ' REPLACE INTO `sys_dict_data` VALUES (3707, 3707, 'job.deleteExpiredKpiRecordRemark', 'KPI record retention for {duration} days', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); REPLACE INTO `sys_dict_data` VALUES (3708, 3708, 'job.backupEtcFromNE', 'Network Element Configuration Auto Backup Task', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); REPLACE INTO `sys_dict_data` VALUES (3709, 3709, 'job.backupEtcFromNERemark', 'Automatically backs up the configuration files in the network element\'s etc directory.', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); -REPLACE INTO `sys_dict_data` VALUES (3710, 3710, 'job.export.jobID', 'Task Code', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); -REPLACE INTO `sys_dict_data` VALUES (3711, 3711, 'job.export.jobName', 'Task name', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); -REPLACE INTO `sys_dict_data` VALUES (3712, 3712, 'job.export.jobGroupName', 'Task Group Name', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); -REPLACE INTO `sys_dict_data` VALUES (3713, 3713, 'job.export.invokeTarget', 'Call target', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); +REPLACE INTO `sys_dict_data` VALUES (3710, 3710, 'job.export.jobID', 'ID', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); +REPLACE INTO `sys_dict_data` VALUES (3711, 3711, 'job.export.jobName', 'Name', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); +REPLACE INTO `sys_dict_data` VALUES (3712, 3712, 'job.export.jobGroupName', 'Group', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); +REPLACE INTO `sys_dict_data` VALUES (3713, 3713, 'job.export.invokeTarget', 'Invoke', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); REPLACE INTO `sys_dict_data` VALUES (3714, 3714, 'job.export.targetParams', 'Incoming Parameters', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); -REPLACE INTO `sys_dict_data` VALUES (3715, 3715, 'job.export.cronExpression', 'cron expressions', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); +REPLACE INTO `sys_dict_data` VALUES (3715, 3715, 'job.export.cronExpression', 'Cron', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); REPLACE INTO `sys_dict_data` VALUES (3716, 3716, 'job.export.status', 'Status', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); -REPLACE INTO `sys_dict_data` VALUES (3717, 3717, 'job.export.remark', 'Remarks Description', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); -REPLACE INTO `sys_dict_data` VALUES (3718, 3718, 'job.export.jobLogID', 'Task log number', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); -REPLACE INTO `sys_dict_data` VALUES (3719, 3719, 'job.export.jobLogStatus', 'Task log status', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); -REPLACE INTO `sys_dict_data` VALUES (3720, 3720, 'job.export.jobLogTime', 'Task log time', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); +REPLACE INTO `sys_dict_data` VALUES (3717, 3717, 'job.export.remark', 'Description', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); +REPLACE INTO `sys_dict_data` VALUES (3718, 3718, 'job.export.jobLogID', 'ID', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); +REPLACE INTO `sys_dict_data` VALUES (3719, 3719, 'job.export.jobLogStatus', 'Status', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); +REPLACE INTO `sys_dict_data` VALUES (3720, 3720, 'job.export.jobLogTime', 'Time', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); +REPLACE INTO `sys_dict_data` VALUES (3710, 3710, 'job.export.jobID', 'Task Code', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); REPLACE INTO `sys_dict_data` VALUES (3721, 3721, 'job.noData', 'There is no accessible scheduling task data!', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); REPLACE INTO `sys_dict_data` VALUES (3722, 3722, 'job.errTargetParams', 'Failed to operate scheduling task [{name}] with incorrect task incoming parameter json string!', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); REPLACE INTO `sys_dict_data` VALUES (3723, 3723, 'job.errCronExpression', 'Scheduled task [{name}] failed with incorrect Cron expression!', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); @@ -365,10 +366,10 @@ REPLACE INTO `sys_dict_data` VALUES (3756, 3756, 'role.adminAssignRemark', 'Admi REPLACE INTO `sys_dict_data` VALUES (3757, 3757, 'role.operatorRemark', 'Operation and maintenance personnel can read data from the device and configure the device, but cannot perform software upgrade operations on the device.', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); REPLACE INTO `sys_dict_data` VALUES (3758, 3758, 'role.monitorRemark', 'Monitoring personnel Can only read data from the device, but cannot make any settings on the device', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); REPLACE INTO `sys_dict_data` VALUES (3759, 3759, 'role.vistorRemark', 'Ordinary users can only see system-related information', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); -REPLACE INTO `sys_dict_data` VALUES (3760, 3760, 'role.export.id', 'Role ID', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); -REPLACE INTO `sys_dict_data` VALUES (3761, 3761, 'role.export.name', 'Role Name ', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); +REPLACE INTO `sys_dict_data` VALUES (3760, 3760, 'role.export.id', 'Role Number', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); +REPLACE INTO `sys_dict_data` VALUES (3761, 3761, 'role.export.name', 'Role Name', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); REPLACE INTO `sys_dict_data` VALUES (3762, 3762, 'role.export.key', 'Role Key', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); -REPLACE INTO `sys_dict_data` VALUES (3763, 3763, 'role.export.sort', 'Role Order', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); +REPLACE INTO `sys_dict_data` VALUES (3763, 3763, 'role.export.sort', 'Role Sort', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); REPLACE INTO `sys_dict_data` VALUES (3764, 3764, 'role.export.dataScope', 'Role Data Range', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); REPLACE INTO `sys_dict_data` VALUES (3765, 3765, 'role.export.status', 'Role Status', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); REPLACE INTO `sys_dict_data` VALUES (3766, 3766, 'role.noData', 'There is no accessible role data!', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); @@ -379,7 +380,7 @@ REPLACE INTO `sys_dict_data` VALUES (3800, 3800, 'post.admin', 'Systems', 'i18n_ REPLACE INTO `sys_dict_data` VALUES (3801, 3801, 'post.operator', 'Management', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); REPLACE INTO `sys_dict_data` VALUES (3802, 3802, 'post.monitor', 'Operation & Maintenance', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); REPLACE INTO `sys_dict_data` VALUES (3803, 3803, 'post.visitor', 'Monitoring', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); -REPLACE INTO `sys_dict_data` VALUES (3804, 3804, 'post.export.id', 'Post ID ', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); +REPLACE INTO `sys_dict_data` VALUES (3804, 3804, 'post.export.id', 'Position Number', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); REPLACE INTO `sys_dict_data` VALUES (3805, 3805, 'post.export.code', 'Position Code', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); REPLACE INTO `sys_dict_data` VALUES (3806, 3806, 'post.export.name', 'Position Name', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); REPLACE INTO `sys_dict_data` VALUES (3807, 3807, 'post.export.sort', 'Position Sort', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); @@ -387,18 +388,18 @@ REPLACE INTO `sys_dict_data` VALUES (3808, 3808, 'post.export.status', 'Position REPLACE INTO `sys_dict_data` VALUES (3809, 3809, 'post.noData', 'There is no accessible post data!', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); REPLACE INTO `sys_dict_data` VALUES (3810, 3810, 'post.errNameExists', 'Failed to manipulate post [{name}], post name already exists already exists', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); REPLACE INTO `sys_dict_data` VALUES (3811, 3811, 'post.errCodeExists', 'Failed to manipulate role [{name}], role key already exists.', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); -REPLACE INTO `sys_dict_data` VALUES (3830, 3830, 'user.export.id', 'User ID', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); -REPLACE INTO `sys_dict_data` VALUES (3831, 3831, 'user.export.name', 'Login Account', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); -REPLACE INTO `sys_dict_data` VALUES (3832, 3832, 'user.export.nick', 'Nickname', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); +REPLACE INTO `sys_dict_data` VALUES (3830, 3830, 'user.export.id', 'User Number', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); +REPLACE INTO `sys_dict_data` VALUES (3831, 3831, 'user.export.name', 'Account', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); +REPLACE INTO `sys_dict_data` VALUES (3832, 3832, 'user.export.nick', 'Nick Name', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); REPLACE INTO `sys_dict_data` VALUES (3833, 3833, 'user.export.email', 'E-Mail', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); REPLACE INTO `sys_dict_data` VALUES (3834, 3834, 'user.export.phone', 'Cell phone number', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); REPLACE INTO `sys_dict_data` VALUES (3835, 3835, 'user.export.sex', 'Gender', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); -REPLACE INTO `sys_dict_data` VALUES (3836, 3836, 'user.export.status', 'User Status', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); +REPLACE INTO `sys_dict_data` VALUES (3836, 3836, 'user.export.status', 'Status', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); REPLACE INTO `sys_dict_data` VALUES (3837, 3837, 'user.export.deptID', 'Department number', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); -REPLACE INTO `sys_dict_data` VALUES (3838, 3838, 'user.export.deptName', 'Department Name', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); +REPLACE INTO `sys_dict_data` VALUES (3838, 3838, 'user.export.deptName', 'Department', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); REPLACE INTO `sys_dict_data` VALUES (3839, 3839, 'user.export.deptLeader', 'Department Head', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); -REPLACE INTO `sys_dict_data` VALUES (3840, 3840, 'user.export.loginIP', 'User Login IP', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); -REPLACE INTO `sys_dict_data` VALUES (3841, 3841, 'user.export.loginDate', 'User Login Time', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); +REPLACE INTO `sys_dict_data` VALUES (3840, 3840, 'user.export.loginIP', 'Login Address', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); +REPLACE INTO `sys_dict_data` VALUES (3841, 3841, 'user.export.loginDate', 'Login Time', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); REPLACE INTO `sys_dict_data` VALUES (3842, 3842, 'user.noData', 'No accessible user data!', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); REPLACE INTO `sys_dict_data` VALUES (3843, 3843, 'user.statusEq', 'The change status is equal to the old value!', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); REPLACE INTO `sys_dict_data` VALUES (3844, 3844, 'user.errPasswdOld', 'Change password failed, old password is wrong', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); @@ -432,25 +433,25 @@ REPLACE INTO `sys_dict_data` VALUES (3908, 3908, 'app.common.logoutSuccess', 'Lo REPLACE INTO `sys_dict_data` VALUES (3909, 3909, 'app.common.errUnlock', 'The user is not locked', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); REPLACE INTO `sys_dict_data` VALUES (3910, 3910, 'app.common.noLoginUser', 'Invalid login user information', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); REPLACE INTO `sys_dict_data` VALUES (3911, 3911, 'app.common.rateLimitTip', 'Access too often, please try again later', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); -REPLACE INTO `sys_dict_data` VALUES (3912, 3912, 'log.operate.export.id', 'Operation Number', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); +REPLACE INTO `sys_dict_data` VALUES (3912, 3912, 'log.operate.export.id', 'Log ID', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); REPLACE INTO `sys_dict_data` VALUES (3913, 3913, 'log.operate.export.title', 'Module Name', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); -REPLACE INTO `sys_dict_data` VALUES (3914, 3914, 'log.operate.export.businessType', 'Operation Type', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); +REPLACE INTO `sys_dict_data` VALUES (3914, 3914, 'log.operate.export.businessType', 'Business Type', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); REPLACE INTO `sys_dict_data` VALUES (3915, 3915, 'log.operate.export.method', 'Operation Method', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); -REPLACE INTO `sys_dict_data` VALUES (3916, 3916, 'log.operate.export.requestMethod', 'Request Method ', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); +REPLACE INTO `sys_dict_data` VALUES (3916, 3916, 'log.operate.export.requestMethod', 'Request Method', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); REPLACE INTO `sys_dict_data` VALUES (3917, 3917, 'log.operate.export.operatorType', 'Operation Type', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); REPLACE INTO `sys_dict_data` VALUES (3918, 3918, 'log.operate.export.operName', 'Operator', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); -REPLACE INTO `sys_dict_data` VALUES (3919, 3919, 'log.operate.export.deptName', 'Operator\'s department name', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); -REPLACE INTO `sys_dict_data` VALUES (3920, 3920, 'log.operate.export.url', 'Request Link Address', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); -REPLACE INTO `sys_dict_data` VALUES (3921, 3921, 'log.operate.export.ip', 'Requesting Host ', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); +REPLACE INTO `sys_dict_data` VALUES (3919, 3919, 'log.operate.export.deptName', 'Operator Department Name', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); +REPLACE INTO `sys_dict_data` VALUES (3920, 3920, 'log.operate.export.url', 'Request URL', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); +REPLACE INTO `sys_dict_data` VALUES (3921, 3921, 'log.operate.export.ip', 'Request Host', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); REPLACE INTO `sys_dict_data` VALUES (3922, 3922, 'log.operate.export.location', 'Request Address', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); REPLACE INTO `sys_dict_data` VALUES (3923, 3923, 'log.operate.export.param', 'Request Parameters', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); REPLACE INTO `sys_dict_data` VALUES (3924, 3924, 'log.operate.export.msg', 'Operation Information', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); -REPLACE INTO `sys_dict_data` VALUES (3925, 3925, 'log.operate.export.status', 'Operation status', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); -REPLACE INTO `sys_dict_data` VALUES (3926, 3926, 'log.operate.export.costTime', 'Consumption time (ms)', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); -REPLACE INTO `sys_dict_data` VALUES (3927, 3927, 'log.operate.export.operTime', 'Operation time', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); -REPLACE INTO `sys_dict_data` VALUES (3928, 3928, 'log.login.export.id', 'Record number', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); +REPLACE INTO `sys_dict_data` VALUES (3925, 3925, 'log.operate.export.status', 'Status', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); +REPLACE INTO `sys_dict_data` VALUES (3926, 3926, 'log.operate.export.costTime', 'Time Consumption (ms)', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); +REPLACE INTO `sys_dict_data` VALUES (3927, 3927, 'log.operate.export.operTime', 'Time', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); +REPLACE INTO `sys_dict_data` VALUES (3928, 3928, 'log.login.export.id', 'Log ID', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); REPLACE INTO `sys_dict_data` VALUES (3929, 3929, 'log.login.export.userName', 'Login Account', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); -REPLACE INTO `sys_dict_data` VALUES (3930, 3930, 'log.login.export.status', 'Login Status', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); +REPLACE INTO `sys_dict_data` VALUES (3930, 3930, 'log.login.export.status', 'Status', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); REPLACE INTO `sys_dict_data` VALUES (3931, 3931, 'log.login.export.ip', 'Login Address', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); REPLACE INTO `sys_dict_data` VALUES (3932, 3932, 'log.login.export.location', 'Login Location', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); REPLACE INTO `sys_dict_data` VALUES (3933, 3933, 'log.login.export.browser', 'Browser', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); @@ -527,7 +528,7 @@ REPLACE INTO `sys_dict_data` VALUES (4003, 4003, 'menu.ueUser.pcf', 'User PCC In REPLACE INTO `sys_dict_data` VALUES (4004, 4004, 'menu.system.user.editRole', 'Modifying user roles', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); REPLACE INTO `sys_dict_data` VALUES (4005, 4005, 'config.sys.i18nOpen', 'Internationalization Switching', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); REPLACE INTO `sys_dict_data` VALUES (4006, 4006, 'config.sys.i18nDefault', 'Internationalization Default Language', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); -REPLACE INTO `sys_dict_data` VALUES (4007, 4007, 'user.export.role', 'UserRole', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); +REPLACE INTO `sys_dict_data` VALUES (4007, 4007, 'user.export.role', 'Role', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); REPLACE INTO `sys_dict_data` VALUES (4008, 4008, 'menu.system.setting.i18n', 'Internationalization Switch', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); REPLACE INTO `sys_dict_data` VALUES (4009, 4009, 'menu.system.setting.i18nRemark', 'Internationalized multilingual switching options', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); REPLACE INTO `sys_dict_data` VALUES (4010, 4010, 'dictType.index_status', 'Home Status', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL); @@ -648,15 +649,7 @@ REPLACE INTO `sys_dict_data` VALUES (4124, 4124, 'dictType.ne_license_status', ' REPLACE INTO `sys_dict_data` VALUES (4125, 4125, 'ne_license_status.0', 'Invalid', 'i18n_en', '', '', '1', 'supervisor', 1705550000000, '', 0, ''); REPLACE INTO `sys_dict_data` VALUES (4126, 4126, 'ne_license_status.1', 'Valid', 'i18n_en', '', '', '1', 'supervisor', 1705550000000, '', 0, ''); REPLACE INTO `sys_dict_data` VALUES (4127, 4127, 'menu.dashboard.mocn', 'MOCN', 'i18n_en', '', '', '1', 'supervisor', 1705550000000, '', 0, ''); -REPLACE INTO - `sys_dict_data` -VALUES ( - 4128, 4128, 'menu.monitor.cdr', 'CDR', 'i18n_en', '', '', '1', 'supervisor', 1705550000000, '', 0, '' - ); +REPLACE INTO `sys_dict_data` VALUES (4128, 4128, 'menu.monitor.cdr', 'CDR', 'i18n_en', '', '', '1', 'supervisor', 1705550000000, '', 0, ''); +REPLACE INTO `sys_dict_data` VALUES (4129, 4129, 'menu.monitor.event', 'Event', 'i18n_en', '', '', '1', 'supervisor', 1705550000000, '', 0, ''); -REPLACE INTO - `sys_dict_data` -VALUES ( - 4129, 4129, 'menu.monitor.event', 'Event', 'i18n_en', '', '', '1', 'supervisor', 1705550000000, '', 0, '' - ); SET FOREIGN_KEY_CHECKS = 1; diff --git a/src/modules/monitor/controller/sys_job.go b/src/modules/monitor/controller/sys_job.go index 9341dce9..de8e7dd2 100644 --- a/src/modules/monitor/controller/sys_job.go +++ b/src/modules/monitor/controller/sys_job.go @@ -319,14 +319,21 @@ func (s *SysJobController) ResetQueueJob(c *gin.Context) { func (s *SysJobController) Export(c *gin.Context) { language := ctx.AcceptLanguage(c) // 查询结果,根据查询条件结果,单页最大值限制 - querys := ctx.BodyJSONMap(c) - data := s.sysJobService.SelectJobPage(querys) - if data["total"].(int64) == 0 { + // querys := ctx.BodyJSONMap(c) + // data := s.sysJobService.SelectJobPage(querys) + // if data["total"].(int64) == 0 { + // // 导出数据记录为空 + // c.JSON(200, result.ErrMsg(i18n.TKey(language, "app.common.exportEmpty"))) + // return + // } + // rows := data["rows"].([]model.SysJob) + + rows := s.sysJobService.SelectJobList(model.SysJob{}) + if len(rows) <= 0 { // 导出数据记录为空 c.JSON(200, result.ErrMsg(i18n.TKey(language, "app.common.exportEmpty"))) return } - rows := data["rows"].([]model.SysJob) // 闭包函数处理多语言 converI18n := func(language string, arr *[]model.SysJob) { @@ -345,10 +352,10 @@ func (s *SysJobController) Export(c *gin.Context) { "B1": i18n.TKey(language, "job.export.jobName"), "C1": i18n.TKey(language, "job.export.jobGroupName"), "D1": i18n.TKey(language, "job.export.invokeTarget"), - "E1": i18n.TKey(language, "job.export.targetParams"), - "F1": i18n.TKey(language, "job.export.cronExpression"), - "G1": i18n.TKey(language, "job.export.status"), - "H1": i18n.TKey(language, "job.export.remark"), + "E1": i18n.TKey(language, "job.export.cronExpression"), + "F1": i18n.TKey(language, "job.export.status"), + "G1": i18n.TKey(language, "job.export.remark"), + // "E1": i18n.TKey(language, "job.export.targetParams"), } // 读取任务组名字典数据 dictSysJobGroup := s.sysDictDataService.SelectDictDataByType("sys_job_group") @@ -375,10 +382,10 @@ func (s *SysJobController) Export(c *gin.Context) { "B" + idx: row.JobName, "C" + idx: sysJobGroup, "D" + idx: row.InvokeTarget, - "E" + idx: row.TargetParams, - "F" + idx: row.CronExpression, - "G" + idx: statusValue, - "H" + idx: row.Remark, + "E" + idx: row.CronExpression, + "F" + idx: statusValue, + "G" + idx: row.Remark, + // "E" + idx: row.TargetParams, }) } diff --git a/src/modules/monitor/controller/sys_job_log.go b/src/modules/monitor/controller/sys_job_log.go index 8c6737db..bcfd8991 100644 --- a/src/modules/monitor/controller/sys_job_log.go +++ b/src/modules/monitor/controller/sys_job_log.go @@ -129,17 +129,24 @@ func (s *SysJobLogController) Clean(c *gin.Context) { // // POST /export func (s *SysJobLogController) Export(c *gin.Context) { + language := ctx.AcceptLanguage(c) // 查询结果,根据查询条件结果,单页最大值限制 - querys := ctx.BodyJSONMap(c) - data := s.sysJobLogService.SelectJobLogPage(querys) - if data["total"].(int64) == 0 { - c.JSON(200, result.ErrMsg("Export data record is empty")) + // querys := ctx.BodyJSONMap(c) + // data := s.sysJobLogService.SelectJobLogPage(querys) + // if data["total"].(int64) == 0 { + // c.JSON(200, result.ErrMsg("Export data record is empty")) + // return + // } + // rows := data["rows"].([]model.SysJobLog) + + rows := s.sysJobLogService.SelectJobLogList(model.SysJobLog{}) + if len(rows) <= 0 { + // 导出数据记录为空 + c.JSON(200, result.ErrMsg(i18n.TKey(language, "app.common.exportEmpty"))) return } - rows := data["rows"].([]model.SysJobLog) // 闭包函数处理多语言 - language := ctx.AcceptLanguage(c) converI18n := func(language string, arr *[]model.SysJobLog) { for i := range *arr { (*arr)[i].JobName = i18n.TKey(language, (*arr)[i].JobName) @@ -155,10 +162,11 @@ func (s *SysJobLogController) Export(c *gin.Context) { "B1": i18n.TKey(language, "job.export.jobName"), "C1": i18n.TKey(language, "job.export.jobGroupName"), "D1": i18n.TKey(language, "job.export.invokeTarget"), - "E1": i18n.TKey(language, "job.export.targetParams"), - "F1": i18n.TKey(language, "job.export.jobID"), - "G1": i18n.TKey(language, "job.export.jobLogStatus"), - "H1": i18n.TKey(language, "job.export.jobLogTime"), + // "E1": i18n.TKey(language, "job.export.targetParams"), + // "F1": i18n.TKey(language, "job.export.jobID"), + "E1": i18n.TKey(language, "job.export.jobLogStatus"), + "F1": i18n.TKey(language, "job.export.jobLogTime"), + "G1": i18n.TKey(language, "log.operate.export.costTime"), } // 读取任务组名字典数据 dictSysJobGroup := s.sysDictDataService.SelectDictDataByType("sys_job_group") @@ -184,10 +192,11 @@ func (s *SysJobLogController) Export(c *gin.Context) { "B" + idx: row.JobName, "C" + idx: sysJobGroup, "D" + idx: row.InvokeTarget, - "E" + idx: row.TargetParams, - "F" + idx: row.JobMsg, - "G" + idx: statusValue, - "H" + idx: date.ParseDateToStr(row.CreateTime, date.YYYY_MM_DD_HH_MM_SS), + // "E" + idx: row.TargetParams, + // "F" + idx: row.JobMsg, + "E" + idx: statusValue, + "F" + idx: date.ParseDateToStr(row.CreateTime, date.YYYY_MM_DD_HH_MM_SS), + "G" + idx: row.CostTime, }) } diff --git a/src/modules/system/controller/sys_config.go b/src/modules/system/controller/sys_config.go index 66ee2151..e6978784 100644 --- a/src/modules/system/controller/sys_config.go +++ b/src/modules/system/controller/sys_config.go @@ -227,8 +227,10 @@ func (s *SysConfigController) Export(c *gin.Context) { language := ctx.AcceptLanguage(c) // 查询结果,根据查询条件结果,单页最大值限制 querys := ctx.BodyJSONMap(c) + querys["pageNum"] = 1 + querys["pageSize"] = 1000 data := s.sysConfigService.SelectConfigPage(querys) - if data["total"].(int64) == 0 { + if parse.Number(data["total"]) == 0 { // 导出数据记录为空 c.JSON(200, result.ErrMsg(i18n.TKey(language, "app.common.exportEmpty"))) return diff --git a/src/modules/system/controller/sys_dict_data.go b/src/modules/system/controller/sys_dict_data.go index 6f154742..6733988b 100644 --- a/src/modules/system/controller/sys_dict_data.go +++ b/src/modules/system/controller/sys_dict_data.go @@ -241,14 +241,21 @@ func (s *SysDictDataController) DictType(c *gin.Context) { func (s *SysDictDataController) Export(c *gin.Context) { language := ctx.AcceptLanguage(c) // 查询结果,根据查询条件结果,单页最大值限制 - querys := ctx.BodyJSONMap(c) - data := s.sysDictDataService.SelectDictDataPage(querys) - if data["total"].(int64) == 0 { + // querys := ctx.BodyJSONMap(c) + // data := s.sysDictDataService.SelectDictDataPage(querys) + // if data["total"].(int64) == 0 { + // // 导出数据记录为空 + // c.JSON(200, result.ErrMsg(i18n.TKey(language, "app.common.exportEmpty"))) + // return + // } + // rows := data["rows"].([]model.SysDictData) + + rows := s.sysDictDataService.SelectDictDataList(model.SysDictData{}) + if len(rows) <= 0 { // 导出数据记录为空 c.JSON(200, result.ErrMsg(i18n.TKey(language, "app.common.exportEmpty"))) return } - rows := data["rows"].([]model.SysDictData) // 闭包函数处理多语言 converI18n := func(language string, arr *[]model.SysDictData) { @@ -267,11 +274,10 @@ func (s *SysDictDataController) Export(c *gin.Context) { // 第一行表头标题 headerCells := map[string]string{ "A1": i18n.TKey(language, "dictData.export.code"), - "B1": i18n.TKey(language, "dictData.export.sort"), - "C1": i18n.TKey(language, "dictData.export.label"), - "D1": i18n.TKey(language, "dictData.export.value"), - "E1": i18n.TKey(language, "dictData.export.type"), - "F1": i18n.TKey(language, "dictData.export.status"), + "B1": i18n.TKey(language, "dictData.export.label"), + "C1": i18n.TKey(language, "dictData.export.value"), + "D1": i18n.TKey(language, "dictData.export.sort"), + "E1": i18n.TKey(language, "dictData.export.status"), } // 从第二行开始的数据 dataCells := make([]map[string]any, 0) @@ -283,11 +289,10 @@ func (s *SysDictDataController) Export(c *gin.Context) { } dataCells = append(dataCells, map[string]any{ "A" + idx: row.DictCode, - "B" + idx: row.DictSort, - "C" + idx: row.DictLabel, - "D" + idx: row.DictValue, - "E" + idx: row.DictType, - "F" + idx: statusValue, + "B" + idx: row.DictLabel, + "C" + idx: row.DictValue, + "D" + idx: row.DictSort, + "E" + idx: statusValue, }) } diff --git a/src/modules/system/controller/sys_dict_type.go b/src/modules/system/controller/sys_dict_type.go index f9c59f09..b44807ce 100644 --- a/src/modules/system/controller/sys_dict_type.go +++ b/src/modules/system/controller/sys_dict_type.go @@ -244,14 +244,21 @@ func (s *SysDictTypeController) DictOptionselect(c *gin.Context) { func (s *SysDictTypeController) Export(c *gin.Context) { language := ctx.AcceptLanguage(c) // 查询结果,根据查询条件结果,单页最大值限制 - querys := ctx.BodyJSONMap(c) - data := s.sysDictTypeService.SelectDictTypePage(querys) - if data["total"].(int64) == 0 { + // querys := ctx.BodyJSONMap(c) + // data := s.sysDictTypeService.SelectDictTypePage(querys) + // if data["total"].(int64) == 0 { + // // 导出数据记录为空 + // c.JSON(200, result.ErrMsg(i18n.TKey(language, "app.common.exportEmpty"))) + // return + // } + // rows := data["rows"].([]model.SysDictType) + + rows := s.sysDictTypeService.SelectDictTypeList(model.SysDictType{}) + if len(rows) <= 0 { // 导出数据记录为空 c.JSON(200, result.ErrMsg(i18n.TKey(language, "app.common.exportEmpty"))) return } - rows := data["rows"].([]model.SysDictType) // 闭包函数处理多语言 converI18n := func(language string, arr *[]model.SysDictType) { diff --git a/src/modules/system/controller/sys_log_login.go b/src/modules/system/controller/sys_log_login.go index 8d5c670f..fb1fad17 100644 --- a/src/modules/system/controller/sys_log_login.go +++ b/src/modules/system/controller/sys_log_login.go @@ -121,14 +121,21 @@ func (s *SysLogLoginController) Unlock(c *gin.Context) { func (s *SysLogLoginController) Export(c *gin.Context) { language := ctx.AcceptLanguage(c) // 查询结果,根据查询条件结果,单页最大值限制 - querys := ctx.BodyJSONMap(c) - data := s.sysLogLoginService.SelectSysLogLoginPage(querys) - if data["total"].(int64) == 0 { + // querys := ctx.BodyJSONMap(c) + // data := s.sysLogLoginService.SelectSysLogLoginPage(querys) + // if data["total"].(int64) == 0 { + // // 导出数据记录为空 + // c.JSON(200, result.ErrMsg(i18n.TKey(language, "app.common.exportEmpty"))) + // return + // } + // rows := data["rows"].([]model.SysLogLogin) + + rows := s.sysLogLoginService.SelectSysLogLoginList(model.SysLogLogin{}) + if len(rows) <= 0 { // 导出数据记录为空 c.JSON(200, result.ErrMsg(i18n.TKey(language, "app.common.exportEmpty"))) return } - rows := data["rows"].([]model.SysLogLogin) // 闭包函数处理多语言 converI18n := func(language string, arr *[]model.SysLogLogin) { @@ -147,13 +154,13 @@ func (s *SysLogLoginController) Export(c *gin.Context) { headerCells := map[string]string{ "A1": i18n.TKey(language, "log.login.export.id"), "B1": i18n.TKey(language, "log.login.export.userName"), - "C1": i18n.TKey(language, "log.login.export.status"), - "D1": i18n.TKey(language, "log.login.export.ip"), - "E1": i18n.TKey(language, "log.login.export.location"), + "C1": i18n.TKey(language, "log.login.export.ip"), + "D1": i18n.TKey(language, "log.login.export.location"), + "E1": i18n.TKey(language, "log.login.export.os"), "F1": i18n.TKey(language, "log.login.export.browser"), - "G1": i18n.TKey(language, "log.login.export.os"), - "H1": i18n.TKey(language, "log.login.export.msg"), - "I1": i18n.TKey(language, "log.login.export.time"), + "G1": i18n.TKey(language, "log.login.export.status"), + "H1": i18n.TKey(language, "log.login.export.time"), + "I1": i18n.TKey(language, "log.login.export.msg"), } // 从第二行开始的数据 dataCells := make([]map[string]any, 0) @@ -167,13 +174,13 @@ func (s *SysLogLoginController) Export(c *gin.Context) { dataCells = append(dataCells, map[string]any{ "A" + idx: row.LoginID, "B" + idx: row.UserName, - "C" + idx: statusValue, - "D" + idx: row.IPAddr, - "E" + idx: row.LoginLocation, + "C" + idx: row.IPAddr, + "D" + idx: row.LoginLocation, + "E" + idx: row.OS, "F" + idx: row.Browser, - "G" + idx: row.OS, - "H" + idx: row.Msg, - "I" + idx: date.ParseDateToStr(row.LoginTime, date.YYYY_MM_DD_HH_MM_SS), + "G" + idx: statusValue, + "H" + idx: date.ParseDateToStr(row.LoginTime, date.YYYY_MM_DD_HH_MM_SS), + "I" + idx: row.Msg, }) } diff --git a/src/modules/system/controller/sys_log_operate.go b/src/modules/system/controller/sys_log_operate.go index 6ebc8ce1..f1987a49 100644 --- a/src/modules/system/controller/sys_log_operate.go +++ b/src/modules/system/controller/sys_log_operate.go @@ -102,14 +102,21 @@ func (s *SysLogOperateController) Clean(c *gin.Context) { func (s *SysLogOperateController) Export(c *gin.Context) { language := ctx.AcceptLanguage(c) // 查询结果,根据查询条件结果,单页最大值限制 - querys := ctx.BodyJSONMap(c) - data := s.SysLogOperateService.SelectSysLogOperatePage(querys) - if data["total"].(int64) == 0 { + // querys := ctx.BodyJSONMap(c) + // data := s.SysLogOperateService.SelectSysLogOperatePage(querys) + // if data["total"].(int64) == 0 { + // // 导出数据记录为空 + // c.JSON(200, result.ErrMsg(i18n.TKey(language, "app.common.exportEmpty"))) + // return + // } + // rows := data["rows"].([]model.SysLogOperate) + + rows := s.SysLogOperateService.SelectSysLogOperateList(model.SysLogOperate{}) + if len(rows) <= 0 { // 导出数据记录为空 c.JSON(200, result.ErrMsg(i18n.TKey(language, "app.common.exportEmpty"))) return } - rows := data["rows"].([]model.SysLogOperate) // 闭包函数处理多语言 converI18n := func(language string, arr *[]model.SysLogOperate) { @@ -127,19 +134,12 @@ func (s *SysLogOperateController) Export(c *gin.Context) { "A1": i18n.TKey(language, "log.operate.export.id"), "B1": i18n.TKey(language, "log.operate.export.title"), "C1": i18n.TKey(language, "log.operate.export.businessType"), - "D1": i18n.TKey(language, "log.operate.export.method"), - "E1": i18n.TKey(language, "log.operate.export.requestMethod"), - "F1": i18n.TKey(language, "log.operate.export.operatorType"), - "G1": i18n.TKey(language, "log.operate.export.operName"), - "H1": i18n.TKey(language, "log.operate.export.deptName"), - "I1": i18n.TKey(language, "log.operate.export.url"), - "J1": i18n.TKey(language, "log.operate.export.ip"), - "K1": i18n.TKey(language, "log.operate.export.location"), - "L1": i18n.TKey(language, "log.operate.export.param"), - "M1": i18n.TKey(language, "log.operate.export.msg"), - "N1": i18n.TKey(language, "log.operate.export.status"), - "O1": i18n.TKey(language, "log.operate.export.costTime"), - "P1": i18n.TKey(language, "log.operate.export.operTime"), + "D1": i18n.TKey(language, "log.operate.export.operName"), + "E1": i18n.TKey(language, "log.operate.export.method"), + "F1": i18n.TKey(language, "log.operate.export.ip"), + "G1": i18n.TKey(language, "log.operate.export.status"), + "H1": i18n.TKey(language, "log.operate.export.operTime"), + "I1": i18n.TKey(language, "log.operate.export.costTime"), } // 从第二行开始的数据 dataCells := make([]map[string]any, 0) @@ -147,8 +147,36 @@ func (s *SysLogOperateController) Export(c *gin.Context) { idx := strconv.Itoa(i + 2) // 业务类型 businessType := "" - // 操作类别 - operatorType := "" + switch row.BusinessType { + case "0": + // 业务操作类型-其它 + businessType = i18n.TKey(language, "dictData.operType.other") + case "1": + // 业务操作类型-新增 + businessType = i18n.TKey(language, "dictData.operType.add") + case "2": + // 业务操作类型-修改 + businessType = i18n.TKey(language, "dictData.operType.edit") + case "3": + // 业务操作类型-删除 + businessType = i18n.TKey(language, "dictData.operType.delete") + case "4": + // 业务操作类型-授权 + businessType = i18n.TKey(language, "dictData.operType.auth") + case "5": + // 业务操作类型-导出 + businessType = i18n.TKey(language, "dictData.operType.export") + case "6": + // 业务操作类型-导入 + businessType = i18n.TKey(language, "dictData.operType.import") + case "7": + // 业务操作类型-强退 + businessType = i18n.TKey(language, "dictData.operType.forced quit") + case "8": + // 业务操作类型-清空数据 + businessType = i18n.TKey(language, "dictData.operType.clear") + } + // 状态 statusValue := i18n.TKey(language, "dictData.fail") if row.Status == "1" { @@ -158,19 +186,12 @@ func (s *SysLogOperateController) Export(c *gin.Context) { "A" + idx: row.OperID, "B" + idx: row.Title, "C" + idx: businessType, - "D" + idx: row.Method, + "D" + idx: row.OperName, "E" + idx: row.RequestMethod, - "F" + idx: operatorType, - "G" + idx: row.OperName, - "H" + idx: row.DeptName, - "I" + idx: row.OperURL, - "J" + idx: row.OperIP, - "K" + idx: row.OperLocation, - "L" + idx: row.OperParam, - "M" + idx: row.OperMsg, - "N" + idx: statusValue, - "O" + idx: row.CostTime, - "P" + idx: date.ParseDateToStr(row.OperTime, date.YYYY_MM_DD_HH_MM_SS), + "F" + idx: row.OperIP, + "G" + idx: statusValue, + "H" + idx: date.ParseDateToStr(row.OperTime, date.YYYY_MM_DD_HH_MM_SS), + "I" + idx: row.CostTime, }) } diff --git a/src/modules/system/controller/sys_post.go b/src/modules/system/controller/sys_post.go index 3fcd0a85..082bb5ca 100644 --- a/src/modules/system/controller/sys_post.go +++ b/src/modules/system/controller/sys_post.go @@ -209,14 +209,21 @@ func (s *SysPostController) Remove(c *gin.Context) { func (s *SysPostController) Export(c *gin.Context) { language := ctx.AcceptLanguage(c) // 查询结果,根据查询条件结果,单页最大值限制 - querys := ctx.BodyJSONMap(c) - data := s.sysPostService.SelectPostPage(querys) - if data["total"].(int64) == 0 { + // querys := ctx.BodyJSONMap(c) + // data := s.sysPostService.SelectPostPage(querys) + // if data["total"].(int64) == 0 { + // // 导出数据记录为空 + // c.JSON(200, result.ErrMsg(i18n.TKey(language, "app.common.exportEmpty"))) + // return + // } + // rows := data["rows"].([]model.SysPost) + + rows := s.sysPostService.SelectPostList(model.SysPost{}) + if len(rows) <= 0 { // 导出数据记录为空 c.JSON(200, result.ErrMsg(i18n.TKey(language, "app.common.exportEmpty"))) return } - rows := data["rows"].([]model.SysPost) // 闭包函数处理多语言 converI18n := func(language string, arr *[]model.SysPost) { @@ -232,8 +239,8 @@ func (s *SysPostController) Export(c *gin.Context) { // 第一行表头标题 headerCells := map[string]string{ "A1": i18n.TKey(language, "post.export.id"), - "B1": i18n.TKey(language, "post.export.code"), - "C1": i18n.TKey(language, "post.export.name"), + "B1": i18n.TKey(language, "post.export.name"), + "C1": i18n.TKey(language, "post.export.code"), "D1": i18n.TKey(language, "post.export.sort"), "E1": i18n.TKey(language, "post.export.status"), } @@ -247,8 +254,8 @@ func (s *SysPostController) Export(c *gin.Context) { } dataCells = append(dataCells, map[string]any{ "A" + idx: row.PostID, - "B" + idx: row.PostCode, - "C" + idx: row.PostName, + "B" + idx: row.PostName, + "C" + idx: row.PostCode, "D" + idx: row.PostSort, "E" + idx: statusValue, }) diff --git a/src/modules/system/controller/sys_role.go b/src/modules/system/controller/sys_role.go index a56b2e82..26afe813 100644 --- a/src/modules/system/controller/sys_role.go +++ b/src/modules/system/controller/sys_role.go @@ -412,15 +412,22 @@ func (s *SysRoleController) AuthUserChecked(c *gin.Context) { func (s *SysRoleController) Export(c *gin.Context) { language := ctx.AcceptLanguage(c) // 查询结果,根据查询条件结果,单页最大值限制 - querys := ctx.BodyJSONMap(c) + // querys := ctx.BodyJSONMap(c) dataScopeSQL := ctx.LoginUserToDataScopeSQL(c, "d", "") - data := s.sysRoleService.SelectRolePage(querys, dataScopeSQL) - if data["total"].(int64) == 0 { + // data := s.sysRoleService.SelectRolePage(querys, dataScopeSQL) + // if data["total"].(int64) == 0 { + // // 导出数据记录为空 + // c.JSON(200, result.ErrMsg(i18n.TKey(language, "app.common.exportEmpty"))) + // return + // } + // rows := data["rows"].([]model.SysRole) + + rows := s.sysRoleService.SelectRoleList(model.SysRole{}, dataScopeSQL) + if len(rows) <= 0 { // 导出数据记录为空 c.JSON(200, result.ErrMsg(i18n.TKey(language, "app.common.exportEmpty"))) return } - rows := data["rows"].([]model.SysRole) // 闭包函数处理多语言 converI18n := func(language string, arr *[]model.SysRole) { @@ -439,23 +446,23 @@ func (s *SysRoleController) Export(c *gin.Context) { "B1": i18n.TKey(language, "role.export.name"), "C1": i18n.TKey(language, "role.export.key"), "D1": i18n.TKey(language, "role.export.sort"), - "E1": i18n.TKey(language, "role.export.dataScope"), - "F1": i18n.TKey(language, "role.export.status"), + "E1": i18n.TKey(language, "role.export.status"), + // "F1": i18n.TKey(language, "role.export.dataScope"), } // 读取系统角色数据范围字典数据 - dictSysRoleDatascope := s.sysDictDataService.SelectDictDataByType("sys_role_datascope") + // dictSysRoleDatascope := s.sysDictDataService.SelectDictDataByType("sys_role_datascope") // 从第二行开始的数据 dataCells := make([]map[string]any, 0) for i, row := range rows { idx := strconv.Itoa(i + 2) // 数据范围 - dataScope := row.DataScope - for _, v := range dictSysRoleDatascope { - if row.DataScope == v.DictValue { - dataScope = i18n.TKey(language, v.DictLabel) - break - } - } + // dataScope := row.DataScope + // for _, v := range dictSysRoleDatascope { + // if row.DataScope == v.DictValue { + // dataScope = i18n.TKey(language, v.DictLabel) + // break + // } + // } // 角色状态 statusValue := i18n.TKey(language, "dictData.disable") if row.Status == "1" { @@ -466,8 +473,8 @@ func (s *SysRoleController) Export(c *gin.Context) { "B" + idx: row.RoleName, "C" + idx: row.RoleKey, "D" + idx: row.RoleSort, - "E" + idx: dataScope, - "F" + idx: statusValue, + "E" + idx: statusValue, + // "F" + idx: dataScope, }) } diff --git a/src/modules/system/controller/sys_user.go b/src/modules/system/controller/sys_user.go index 7730bc92..64523437 100644 --- a/src/modules/system/controller/sys_user.go +++ b/src/modules/system/controller/sys_user.go @@ -473,15 +473,22 @@ func (s *SysUserController) Status(c *gin.Context) { func (s *SysUserController) Export(c *gin.Context) { language := ctx.AcceptLanguage(c) // 查询结果,根据查询条件结果,单页最大值限制 - querys := ctx.BodyJSONMap(c) + // querys := ctx.BodyJSONMap(c) dataScopeSQL := ctx.LoginUserToDataScopeSQL(c, "d", "u") - data := s.sysUserService.SelectUserPage(querys, dataScopeSQL) - if data["total"].(int64) == 0 { + // data := s.sysUserService.SelectUserPage(querys, dataScopeSQL) + // if data["total"].(int64) == 0 { + // // 导出数据记录为空 + // c.JSON(200, result.ErrMsg(i18n.TKey(language, "app.common.exportEmpty"))) + // return + // } + // rows := data["rows"].([]model.SysUser) + + rows := s.sysUserService.SelectUserList(model.SysUser{}, dataScopeSQL) + if len(rows) <= 0 { // 导出数据记录为空 c.JSON(200, result.ErrMsg(i18n.TKey(language, "app.common.exportEmpty"))) return } - rows := data["rows"].([]model.SysUser) // 闭包函数处理多语言 converI18n := func(language string, arr *[]model.SysUser) { @@ -503,31 +510,31 @@ func (s *SysUserController) Export(c *gin.Context) { "A1": i18n.TKey(language, "user.export.id"), "B1": i18n.TKey(language, "user.export.name"), "C1": i18n.TKey(language, "user.export.nick"), - "D1": i18n.TKey(language, "user.export.email"), - "E1": i18n.TKey(language, "user.export.phone"), - "F1": i18n.TKey(language, "user.export.sex"), - "G1": i18n.TKey(language, "user.export.status"), - "H1": i18n.TKey(language, "user.export.role"), - "I1": i18n.TKey(language, "user.export.deptID"), - "J1": i18n.TKey(language, "user.export.deptName"), - "K1": i18n.TKey(language, "user.export.deptLeader"), - "L1": i18n.TKey(language, "user.export.loginIP"), - "M1": i18n.TKey(language, "user.export.loginDate"), + "D1": i18n.TKey(language, "user.export.role"), + "E1": i18n.TKey(language, "user.export.deptName"), + "F1": i18n.TKey(language, "user.export.loginIP"), + "G1": i18n.TKey(language, "user.export.loginDate"), + "H1": i18n.TKey(language, "user.export.status"), + // "F1": i18n.TKey(language, "user.export.sex"), + // "E1": i18n.TKey(language, "user.export.phone"), + // "D1": i18n.TKey(language, "user.export.email"), + // "I1": i18n.TKey(language, "user.export.deptID"), + // "K1": i18n.TKey(language, "user.export.deptLeader"), } // 读取用户性别字典数据 - dictSysUserSex := s.sysDictDataService.SelectDictDataByType("sys_user_sex") + // dictSysUserSex := s.sysDictDataService.SelectDictDataByType("sys_user_sex") // 从第二行开始的数据 dataCells := make([]map[string]any, 0) for i, row := range rows { idx := strconv.Itoa(i + 2) // 用户性别 - sysUserSex := row.Sex - for _, v := range dictSysUserSex { - if row.Sex == v.DictValue { - sysUserSex = i18n.TKey(language, v.DictLabel) - break - } - } + // sysUserSex := row.Sex + // for _, v := range dictSysUserSex { + // if row.Sex == v.DictValue { + // sysUserSex = i18n.TKey(language, v.DictLabel) + // break + // } + // } // 帐号状态 statusValue := i18n.TKey(language, "dictData.disable") if row.Status == "1" { @@ -544,16 +551,16 @@ func (s *SysUserController) Export(c *gin.Context) { "A" + idx: row.UserID, "B" + idx: row.UserName, "C" + idx: row.NickName, - "D" + idx: row.Email, - "E" + idx: row.PhoneNumber, - "F" + idx: sysUserSex, - "G" + idx: statusValue, - "H" + idx: userRole, - "I" + idx: row.Dept.DeptID, - "J" + idx: row.Dept.DeptName, - "K" + idx: row.Dept.Leader, - "L" + idx: row.LoginIP, - "M" + idx: date.ParseDateToStr(row.LoginDate, date.YYYY_MM_DD_HH_MM_SS), + "D" + idx: userRole, + "E" + idx: row.Dept.DeptName, + "F" + idx: row.LoginIP, + "G" + idx: date.ParseDateToStr(row.LoginDate, date.YYYY_MM_DD_HH_MM_SS), + "H" + idx: statusValue, + // "E" + idx: row.PhoneNumber, + // "F" + idx: sysUserSex, + // "D" + idx: row.Email, + // "I" + idx: row.Dept.DeptID, + // "K" + idx: row.Dept.Leader, }) } diff --git a/src/modules/system/service/sys_user.impl.go b/src/modules/system/service/sys_user.impl.go index d1886273..8f1baf2e 100644 --- a/src/modules/system/service/sys_user.impl.go +++ b/src/modules/system/service/sys_user.impl.go @@ -32,7 +32,7 @@ func (r *SysUserImpl) SelectUserPage(query map[string]any, dataScopeSQL string) // SelectUserList 根据条件查询用户列表 func (r *SysUserImpl) SelectUserList(sysUser model.SysUser, dataScopeSQL string) []model.SysUser { - return []model.SysUser{} + return r.sysUserRepository.SelectUserList(sysUser, dataScopeSQL) } // SelectAllocatedPage 根据条件分页查询分配用户角色列表