From c3762f985e50eb2f5d525a6b230a141826529d87 Mon Sep 17 00:00:00 2001 From: zyh Date: Sun, 24 Aug 2025 20:00:12 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E8=B4=A6=E6=88=B7=E6=9B=B4?= =?UTF-8?q?=E6=96=B0=E8=AF=B7=E6=B1=82DTO=EF=BC=8C=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E7=94=A8=E6=88=B7=E7=B1=BB=E5=9E=8B=E3=80=81=E7=94=A8=E6=88=B7?= =?UTF-8?q?=E5=90=8D=E5=92=8C=E7=A7=AF=E5=88=86=E4=BD=99=E9=A2=9D=E5=AD=97?= =?UTF-8?q?=E6=AE=B5=EF=BC=8C=E5=B9=B6=E5=9C=A8AccountService=E4=B8=AD?= =?UTF-8?q?=E5=AE=9E=E7=8E=B0=E7=9B=B8=E5=BA=94=E7=9A=84=E9=AA=8C=E8=AF=81?= =?UTF-8?q?=E5=92=8C=E6=9B=B4=E6=96=B0=E9=80=BB=E8=BE=91=EF=BC=8C=E7=A1=AE?= =?UTF-8?q?=E4=BF=9D=E7=94=A8=E6=88=B7=E5=90=8D=E5=94=AF=E4=B8=80=E6=80=A7?= =?UTF-8?q?=E5=92=8C=E7=A7=AF=E5=88=86=E4=BD=99=E9=A2=9D=E7=9A=84=E6=AD=A3?= =?UTF-8?q?=E7=A1=AE=E5=A4=84=E7=90=86=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dto/account/AccountUpdateRequest.java | 21 +++++++++ .../service/account/AccountService.java | 40 +++++++++++++++++- .../server/controller/UserController.class | Bin 5005 -> 5005 bytes .../controller/admin/AccountController.class | Bin 5978 -> 5978 bytes .../dto/account/AccountUpdateRequest.class | Bin 1070 -> 2272 bytes .../server/service/UserService.class | Bin 7259 -> 7377 bytes .../service/account/AccountService.class | Bin 11126 -> 11478 bytes 7 files changed, 60 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/gameplatform/server/model/dto/account/AccountUpdateRequest.java b/src/main/java/com/gameplatform/server/model/dto/account/AccountUpdateRequest.java index 001dbcc..4aabc16 100644 --- a/src/main/java/com/gameplatform/server/model/dto/account/AccountUpdateRequest.java +++ b/src/main/java/com/gameplatform/server/model/dto/account/AccountUpdateRequest.java @@ -2,15 +2,36 @@ package com.gameplatform.server.model.dto.account; import io.swagger.v3.oas.annotations.media.Schema; import jakarta.validation.constraints.Pattern; +import jakarta.validation.constraints.Size; @Schema(description = "账户更新请求") public class AccountUpdateRequest { + @Schema(description = "用户类型", example = "AGENT", allowableValues = {"ADMIN", "AGENT"}) + @Pattern(regexp = "^(ADMIN|AGENT)$", message = "userType 只能是 ADMIN 或 AGENT") + private String userType; + + @Schema(description = "用户名", example = "newuser") + @Size(min = 3, max = 64, message = "用户名长度必须在3-64字符之间") + @Pattern(regexp = "^[a-zA-Z0-9_]+$", message = "用户名只能包含字母、数字、下划线") + private String username; + @Schema(description = "账户状态", example = "ENABLED", allowableValues = {"ENABLED", "DISABLED"}) @Pattern(regexp = "^(ENABLED|DISABLED)$", message = "status 只能是 ENABLED 或 DISABLED") private String status; + @Schema(description = "积分余额(仅AGENT类型有效)", example = "100") + private Long pointsBalance; + + public String getUserType() { return userType; } + public void setUserType(String userType) { this.userType = userType; } + + public String getUsername() { return username; } + public void setUsername(String username) { this.username = username; } public String getStatus() { return status; } public void setStatus(String status) { this.status = status; } + + public Long getPointsBalance() { return pointsBalance; } + public void setPointsBalance(Long pointsBalance) { this.pointsBalance = pointsBalance; } } diff --git a/src/main/java/com/gameplatform/server/service/account/AccountService.java b/src/main/java/com/gameplatform/server/service/account/AccountService.java index 4d23192..dc28502 100644 --- a/src/main/java/com/gameplatform/server/service/account/AccountService.java +++ b/src/main/java/com/gameplatform/server/service/account/AccountService.java @@ -78,10 +78,48 @@ public class AccountService { return Mono.fromCallable(() -> { UserAccount db = mapper.findById(id); if (db == null) return null; + + // 验证用户名唯一性(如果要更新用户名) + if (req.getUsername() != null && !req.getUsername().equals(db.getUsername())) { + UserAccount existing = mapper.findByUsername(req.getUsername()); + if (existing != null) { + throw new IllegalArgumentException("用户名已存在"); + } + } + UserAccount patch = new UserAccount(); patch.setId(id); - patch.setStatus(req.getStatus()); + // 更新用户类型 + if (req.getUserType() != null) { + String type = req.getUserType().toUpperCase(); + if (!type.equals("ADMIN") && !type.equals("AGENT")) { + throw new IllegalArgumentException("userType 只能是 ADMIN 或 AGENT"); + } + patch.setUserType(type); + } + + // 更新用户名 + if (req.getUsername() != null) { + patch.setUsername(req.getUsername()); + } + + // 更新状态 + if (req.getStatus() != null) { + patch.setStatus(req.getStatus()); + } + + // 更新积分余额(仅对AGENT类型有效) + if (req.getPointsBalance() != null) { + String userType = req.getUserType() != null ? req.getUserType() : db.getUserType(); + if ("AGENT".equals(userType)) { + patch.setPointsBalance(req.getPointsBalance()); + } else if ("ADMIN".equals(userType)) { + // 管理员账户积分余额固定为0 + patch.setPointsBalance(0L); + } + } + mapper.update(patch); return mapper.findById(id); }) diff --git a/target/classes/com/gameplatform/server/controller/UserController.class b/target/classes/com/gameplatform/server/controller/UserController.class index 8fbacf59e3e2fbc40b05e408c470e7315b0ebad3..0c62efcb1a11ed16b5c026c39c648e21d76c5fad 100644 GIT binary patch delta 1816 zcma)*+f!Rr6vn@OaydyjNw5Vc-3s@8j0#-|r8p<&SFhovh1+|$@ z$2Xag**^Ht2X%aO>V+0()UiJIUvN6Us4Xw*lTVK0w@)sFOc~8glC}3*d+p!)*4nF) z)kx*tf4=eNl}sfw zodU5YxuAvCey?kYHJ=l3o?e(SeQ=<{fDS{z(bRm-3xR+E7u@nE$8`~vYsTSq%lVh6 z@Szb+IwAtc)U`~*bIqvcxrCXKlg_Xl5!cs$bbl>8OP0AfzMMAYg6Bks+secc*2x- zJ<%?wm0U3ewDuzkqSwGd91_?yv{mm|W-*yc!~}MiY!0R}X2M*I$$Mgs^4w76x36ct z-9rBC8}q4LFBs^@fc)DtEbsX0<+!%&5cph9X(`#EH^{U%DDQdwveCHcSK*TeUIeA< zW~Od0r8QIW>3LKBsa45Fu}|JH&hPPnsCxg|p5CGUK6NNz;B_SBFWRVk4sYm~mpzU; zr-2mYl%qw~`uhSNED3n}2FL6}>y!Q}k)^I|HOo}ZprzB+;eiG(R|EXl`0s1^hTqoP z@PEaXh9G|f_Q^1uc$BewQOUiUTr?hGKK1e0S*aIom*7HORfTF=HMBKk_n?->UYa4g z!WSSc=2Po^7V5CyLOmX1L?s)8#~H$%C(yth#n-`2#pi9g1%K-X4t&W)4$sY4FmMaY zTg39B1+Db&M%LzPVWd#)E^-~Vv8tFWL|+~!sxCib<6L#omB(pAI~QRKNActYp4xI8 zD>#mqIZhNDC$nXqrwg7KPFZ$&`Aa$rjxOcswyU3G$5hXPcJ&7jg`6SR271ahIBILq znF}py5G3wtu>U-d<203yL7b$eCL)L!`q*1#boY29C*M6uFpjk z<@e=Akn_h!GKyDtOM#s&DX@DrhJk*?KUMN>F53JNTjK)$t6N&f3tCUBN-pjEg0kpk z4%PaAUBIrH4ZOC2+43SrN>mRNiwG3oQOPq({|DxqrI^|L(^^!V*3O*en3;!TPW)d? g4VPK7hR79LNY$OUxUpQEg%!L__d6EeRb*HH1ylX)`v3p{ delta 1739 zcma)5-EUK69Dd$@ou1RPwv2ssOc*-tRyGI2O|Wdj+;D};kRiy1Xn{lBhGXt@%nhX> zhC7$oyk2tUAAl~!nixa8GSS4uYwt|_yz;_(OoOM&8S=RIZKHlejp5MoMay^;( z_OCA<0vJZofDe8R0TV%l1mbhKo4Nk$xrKcH*|)L#2%&;`#GdL4F_x3>9uN(To<^8o2A2Z6*?E zmxr}^$Luii7ht>s_RAH0(sxfW8Yusu9ToCxy;HX9Q}T{JDDOw& z<(v@}^2>;nM#EV7VndTChS?NApixzsCynPI`sjU{)^UDS+(>;6k=pkev<+H5^z%0g zKY!a1z%JXD1FYA+Iw*D=A9s$UElo>aYJ zIDwO_nL1^0vd9;eism41f%#x2m;**#RWCWJnjBSXlN>dtl$uFL&Fx@K4LzsvGL5uN zxHHq3+6 z&oQpi5NhRX9482-nqj1hYVLX~*tMPIaffARHO(Vw)CNyY_6+ibS9EnB-Jrv5*qh!M z&MLZF$8b*Zov-mNiWW|aOSoN?PK_lqs#96d|GKv~qok#39ChZiaZd$%D|m9dgwu6} zj(QTJTXv`DFt0ApTMp|au`hY77d8ui!!7utqWAXJJ@N<(EIo=Q_xm3-i&QcFKY0EJ qP5WPH78K3pN6_@)CSUd;x#EaceSU|IRZsXDZZZ6>jrSDH?Y{wx%HW^? diff --git a/target/classes/com/gameplatform/server/controller/admin/AccountController.class b/target/classes/com/gameplatform/server/controller/admin/AccountController.class index db84bb300ee9d11bc9c3d72c26b8182bb83a3ebd..1f547644503b93452c347e0886fccb2eec847dc8 100644 GIT binary patch delta 2097 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 diff --git a/target/classes/com/gameplatform/server/model/dto/account/AccountUpdateRequest.class b/target/classes/com/gameplatform/server/model/dto/account/AccountUpdateRequest.class index f9aa46663aacdd8816055d775a4ea156f694ac99..4ee9faf8b03eb36ee128d82d1e37440f4aa415dc 100644 GIT binary patch literal 2272 zcmbtV-BTM?6hE8r(Lj*MM}=B!N=qA{bc57tzp$auil)dkEf03Ab4jjYYqA@6H-Mc! zv^qGcv}4DSR;Se&eZY<%1I(Z(wDRu1Aqnu*|G@EgHya3P7$1Ddz2}}i=XZYR+;eXJ z`e*S^B05EHRgi<6N7aJcwUf=g5r+>9MEbw!Py5Ye75 zN@$8|8a)h2gaPZxgAHl`m8kIo2q|$sq!`L@j0aRz1B{}nhD3*giY6OlEE+`?qg}Gb z44G{j$Z;M~m>dd^@HhihWrQ1HT}cRUiQKDSKFXvPR_B(|-%d(Y&c|6i5d(?Rz`4GG zixO3{SWFvZ2s*@KsDSv=d%k}_A|Ggez;u(zqb#PNMgWw=FuJ|nP>lS+JengCO!(dTFY|a(doBsUAwNIX8zMAn`#@|qePiI_Fo#-;B5ZSm8Pb1L{%=M||^x|}Sd1C#$rS!u` zT^&b{q<^`;`t$V4ACv3%=S6;(S;w_N$254ep$`W%#L7$us{=ZQZy&C1_rHyf`^R?zp zhCOgFGV+b;MO)?`1ly){2t#$An{u;O*Y`T|a^*c-@6jRx(a7Y*7?O_#}G&`UzxgO6SVp3MgBqx~?iA*q%M z^bYZY*>IhJYJd#576EsF4npJWN1V2PY8OC7D$?d z;GkEriqC}7zJ}GEHK1d394CoR&`GRYo#&~179aDS8;d%hqHb6T=i}JL&6Tya|4QYB zp?6u{JF^ycXhBQdu|%)KuM`c74O3Q>PgNnG-9`BXiu0)|0GhRPo@W{7ahIym7wmbuBT zrb&H#<@K5?%4@bPBWlv8H%uXT-IO`CAax}xPt}&;ubXzw9W9wBW%$K!n)fWpS5KwQ zpdf%CVTjgUAPz%CL|_O}ff(XjP>2PFF+yTOAc;|d6voIN1B+weUIl{}8ey6oMPf$m zEp)-|C{Qp?=*WPMjMF99cVGgOlrdy6MVOXXTB7}D4k7c8cN#O)(wVeEtPpF3#Ruqv nqrz@=qVM>bi#y_dkLGQp0rUL*~8#v4To@ diff --git a/target/classes/com/gameplatform/server/service/UserService.class b/target/classes/com/gameplatform/server/service/UserService.class index 395a01335344e97237124e93d464f9200e242ac0..a75769237b433573074a2e86ae14e79829178b59 100644 GIT binary patch literal 7377 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 literal 7259 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 diff --git a/target/classes/com/gameplatform/server/service/account/AccountService.class b/target/classes/com/gameplatform/server/service/account/AccountService.class index cc84f59c08c25a310434884202fca7e86fd44018..914329f6a820658daae3f4bae07da074f4dcb6f7 100644 GIT binary patch delta 3247 zcmZWrd01T475|;t-prdf3ljzyNZ27PGg4w>+A)Ddh$JR3Gz$S^A|w(LBtU>9Zguqg zZ1vN&E-%(>YBx)4tA=2Q4AjKd2#waZX|2`T+NKt@t+l&Nl_Wj)&g21K|CqVwoqO-u ze!qL}{jlk^7WJhIqbC3?p*x1uPN(Al+7uilROxq`EA^gqSFVb~cvQh-8Xm`22;R=N zJ#7_TZQUIeYX|yvba&`aYI&*?cjIdszK(C`Rjw^&1>e+P*XFk#A^6_icjTRWMkXKl z;^fG&$*1;D9zLSt34BX~71yhXz%2gOt2lrb;p!O;N3oIM9Ozl!+uPn()7IZ^$1#F+ zS#ABw20NY=V%_qFb#}xaa?LM|V3V+LgRsycq)s926jHB>6F8~hc?}QY`}$eed>QBq z8cyLw{Z;2G#{^mw{4kMjRkMl-w28kCJAOn^mNzWBYW4D3p<#O`@DmL`#TkO5tEao8 zsjX{wJHcF1dW~4{a}BS`xI5Yh8r%B&_xAL0ND;iI;g@=YJ0tLhhF{@Df^A24e|z76 z3OjzS;Wv0okGk)+{Z7MK{9e~QjkZ5%n8Z8!7SCqqd-$V*KWX?g-q&CDgqiV_S5IRe+0xm* zb>K>ml^8NRHEFb*uJ%&1o|C;~&b30dQKPG<#!H(BOG--hGpP&o##Bcd?_jv?)T+@k zJmRG-gvC64))_W?=?49LcCg@0FW%y1+r_dS8eK_?`RhjU)uquDw8%@{`s$qQxx0j_ zPovA}lO7ulsI;5*D706jo9O1@&*#h`%WZ@ry)t*6KANjqZYN~RkICFJ8xc%o(*1e4 zO=hOO4;KDU=l={i5P%z*Bs94YvmUaNjYpQ?ga(q52VS~s0~ z&BC!;x(`A{4QCgWHAs`er5K^7P$p&ZUXi(#DAO=Fm*%m`##7lm66Fw=kBu)XC~urD zavd9Afi$d?If>dN9Ap{}GAWPpryb-O4hpznr>Iaye5@cCoi^IQ0Nl>_MUjby8OUWB zMzaz|*DB-Fw;9{p{)iq~c!bj#qJve#4#L zaObD;B)|L=q!1$_fODCp<8pQ!G@M^H%ehH3C2>l4`7m=p-&3?k#!$ux0{a;0hnX;6 zX8ayOHuj?!2XPq=;RiM_ zbImLe?zi)-$S*^$E1p+BUGn?54qsr{zcix;8HS$>nYlQu8L}GUl)7l4IAd&`8;M9x zA1W@9Sut;U4NK`pHPe&eiHNN*`IZuWibV?t`e`=Gy(&>Ly1*fG&meQzvrx+8 z*k?jRXo3&S(O?Yw$5A1MPz(SSaeUQ;uq9v_hieQ^wD<-`@Z`xcL|R7h zZJ{rZ;XAzWsc}?_A%>^J)_~PF#C8rMouy$ZB{qLoYz|lg))+>F^>Jtcix6Ts&OLCh8FUYUU67=$Xs7=D~!MTkARSo563>Su7)&^p?Xlv?Pz qq_mmZq_maVX>hLg delta 2826 zcmY*adw5(`5&zBI$KAbqceA@;v)Lrg=G8Qh4H2OfW1A*T(zJ!{rjN9Z&^C)r(xx>@ zlk@@V7x@eS0nx+vNfEU?TVAC!u*tRv_@YV?A1EMI@fA?3qNpfRiF3}~-X!0Cd+*#c zbLKbmn>lk{?RjsD@#2T4p9QdjKJ%n8=*v&RVIYNW17E>_j(Z5r;@)U;iCi4?;Z}Uz z#8KQ!a32`il^*XStf&#?i<*tTco^3cf`jRU>BfEO zp@GIt(?gb#>Y*Zz!T!UuRP$vlTy>!k=(3f zQtUOC(9_~wb4m0RrcAi7Qv#=DY^P0}!85{b-q`BFvxM;5cOHN1^HVc-+%_|HYUc5~ zX6`vI^VlvQyX39`557&%JCd!duIp$w@Ljy1E_yJxf zc=rtt4Qxs8JHXjHYHHU>gCCjrvCPsp&^O+d9veF}Jjw_uykg>~Vtb%4_Ns~36mNTm z#`;Fb4S4W#6K~+WxIJ*I`2mUE;39j>8zC0xmMs1VPTgbV}k z6`2*IY*Qdq0*xK4ICP6G^v$V1!*&3Sxqe$ zI4-uA#`3pF-By!UP;-!aWbG~87Z#Ni zc{XEWJk)2>HS{t58jxSRO}dh<3euqHkC&D(+a4M+=_7PSo|{Gt+E1f8jhQq~2PTik z^T~Obuvmo3qT-!+z@gL4;?1&kZhQz0v!b!Qj3Bzoqs_#PT?Pj~^GGB4W(hu+keWRH z1)-6XWv|A|atR=Ek()QoiU-U0v!iH5d_tPv053m#ZAZPNlSet~B`-^w(i$vDpkDHk z3F*3*{4BW;Lnj3&4{kK0f`TmR=tPV{EO{u*mVUScj&{0;B67BqiYwwG9c<3fWbmJZ zBtQT2*<7Q`IM@gkFwCrYt)gNZFCw7e6EM)m*(FGZUZ8>t*`bFhN`<^vhUX%R+74q> z#7k~g74w^@gch;8S+SwAo|*V;W%QakcSW|lA}Xc$oV!xnT^ZAJl*(0nFI6Tc*eAk@ zlqA!=4N>%<2uT&ARi|RxX|d&$cNBB96?UCSx}S@Mx!O->Ve0yx7-ev3O6 zZ&WeVaWeozT-RYveT3U#KT0u*YK-G@9Kh8$$US)ot8sW96>IF+)=+{PxRe1j(dE?0 zrI6j~0J$%9Pyz^Q^0=~DI9FYxvf?gf%lXBN+Mc2|o6%hHWW+9L;TEE$EIPSeuV$w_f^v*a z^V`Lmmb#~)*Jp93hGfH8J{~8}Ak{O4yPBLaXMF}oV$Q@w26t!hRcRS>X7M!*TjzG2 zWG4<88gtBNm+t@{y14cmxYakJ44YAlZY;$X#lck;s2zEW9eIn@_Pl#3H8KAV-d{~0 zXUSQi3c$nXB0@S+3o_!_t7z(}EtyACrvkI)fX@c=SzrtH^Jupip)cl&nBlDN%izKF ziSQ#CJa#t<65*3d@Snk{p72vs$ULX=&tN)>tcDk$G!x-(NL7x%WJ4l@=Nj1AbOz7M z_czbN6aLmQrkiEvGyDi!Jaz-FruGVewfAQ zG-U7-89_r9Ka<61$l&#pl36ZZ8qP;jl%y63bLYLiquT?^ReOV(l=A8@nC zD=4LyOmHT@aAKLB`-(Utt}K4-Mw2(@&Eofjy3@D<$l^~LrtwY||I+Y0W}1vMc)urR z6zCCm#5siztZr1DU`^f%K8lsxhE-UJ#i}d%)p$tRyrk@lEoEP9DY|sArPS3W4|hsk zUGmJNau-_wt<*;CoJkoP`5NuuD|01+w0eR?gF4w%wxFe4b4f{SS!W+gIB6Z*X>_eU z+^*w+Cx^%y=rqj5Nm3VW%1Pa{Ehl|~wkv5TrRm1p+9z{s@g()r9<{ia_R(HC$nFfD M0f*=&`ZQwy2XoT5=l}o!