ppv@oO>$g
z(Y2Mg2xif@hEyEVDf#X4&gyx}lN|4co{okt#fy}11U&fewHA!BGiPnEn=6-?Y5xwK
z7$)vd3ADTURa|j~^b>2CO4hOGrFUB^Sc}ok1i_iq`pMRn@z0t#F-d~aAhly#u#5;|
zdsdE9D4FISu+gzC8JA#7A_SxWHqJ(Nchlh<)F57l>^sq3);zhbYv@G(ReHBww8V89
zXK-0_Xhu6Yb{(9Z5YA4*H=Gq^u~34zz)DMO3T)1~~%1S0LoClh+cZpd%C5E`Q(Q+_OUbr<3+WYv8Jv)1va
z(A`BtQl`Gns!@rS3;OibMw?tqXX5jVUSC+7G-~UFMXOEAF%6GppKL9X@0OE>e!;IbCYv%V
zYo1iJXEU7zm8O>K#6O0vkH6?~oE;9377DpqC_(t*ioks)$~Yc&momSbCW7~|&S@3b
zm71TbJ(FMrow^f>%6KeZ^sc6vPI3f@mB$8PoA0FeTqfnOI&MsZlE^V6V)L-MO&!l}
z`;Povw5j>=?TAGkyQEoB2|Z#uce>)w((iP)rNeJ2deJG33V^r_i0kaHN7cpe!1SV{
zXKU1}f+q3QiKe1UUJ2{UXgpS}eY+i_zQ644G8VE`Zv1LE$Eo68>Hpt>2v=tW%+=i<
z=B6pg{{o^35nhCpY6-UY3#kbTLtkrZ3yn@_h`baL0syh}IWrU7bhg&qurE2wu8BEx
zw6Sj_cWz<;JDg
zLD>W2`cXi;+|M46+0j7z#<`;~cd48`O!U#1zdD@%4mf@^;IFIqD8OCnWzRw`+@1bA
zN`5g%dwx57_PgBCp0M6ug%6grqwLt_lJ=mY{|)M3b^HPR&)m{4=6w#4d_C?;`5ebL&9G-0V^jMMnS3QSYx5IPp
zVV#G&`aPWkxcooj1b=0~VTHeY{KJ|K_n~{5?ok}6=~rqT)^wmN-LLKM?(aQqFK}se
vC~ppi{=sUdDY!x|njR9`Et
z+*^iHd#B4#J~VyFu-Z{te$11e%uYlvCQq|tA`y2*ro26NmfcWUhL@elBs>vzsCr5d
zxJXqhtd)8oGaec3G84yiJdxHNPRxC(=E%da(cbBtiZj7uLD|PHBM`dXI?Az?
zsOEvz#tEm4rjmOdlMT2{edw1=B=X#3U-`N0aq6JY#Uz%$m+pf|(-CClOvE{{sqj(d
zy2#zox5e;`nwX_QR$?^oJHwBpO{uP=J&zsrw#cWMfi?#dm?d7cf@70sk$k7TgzK~X
zcRgi>S93F=;zjuysAG{(J(G|m4=0-MG6cT8&|kG`c-+7fY%?rt6Hfgk;w<0!#>TKV
zoz?Qw
z?{rwe60Ow>XMhHs8>0X$V}&ew?O3BIpZuIGpImA#e50+Hx>`srjZ?2t%nBtm>0kd0
zX0bu1>$ow7dqI|mt2RqNQT`usvw&E=67eP>Y+iy`xdbts3vr9OyLG|tHar6_%^lz$
DE`j@`
delta 226
zcmZ3_(atJy>ff$?3=9k=43b<7EDWL?3}WmI;_M6(3zZosH#5dbvNEtSG6us-AkC_^oq=&9SegS!
zf}|N3IDwFXfd`_1fs26~$YTWZd4YzoPc~o{aYv}-LsH8ORm%rd&j-}O55xk|42;DL
Uf@~
diff --git a/api-passenger/target/classes/com/mashibing/apipassenger/controller/VerificationCodeController.class b/api-passenger/target/classes/com/mashibing/apipassenger/controller/VerificationCodeController.class
index dd4419a2d021643b8075f6b053c5741a2cfd630c..f23b6b8d70802ab5b1a693a07c662abd91158c99 100644
GIT binary patch
delta 13
UcmZn?Y7*Me&%vlTc>+ff03Ff+ff03Fu^FaQ7m
diff --git a/api-passenger/target/classes/com/mashibing/apipassenger/interceptor/InterceptorConfig.class b/api-passenger/target/classes/com/mashibing/apipassenger/interceptor/InterceptorConfig.class
new file mode 100644
index 0000000000000000000000000000000000000000..957d01d3e0e28a83d7e49e1c19fab8beee0ad7ed
GIT binary patch
literal 1728
zcmb_cTTc@~6#j;`>{80DC<0y)FKw}`q99OX0>lfXC;`nn6^%v<2
zBpUqz{wU*_w#Zf*#Ds^=IdeMaJKs6;&HnuL^#_0_n2n+vqXzCo(T33|x^Op&d$?~P
zVImnt3S%Z7Xqz@MZo)F~(7+=D6AbOoq$AaHhEO88!4O_>^Mau#D;@EsTFwb?o##pv
ziDzA#mo~U3^}Z1dtD^K7X0x_iw#wWu%A9lx7O%((_kH0Mgl9=d3C|W4<$BiQiND}F
z+p>^h=-$~^fjGlVB6(iCrKVH@8(OV8N|wcj^d-@pa~xN3C0&PDrn9bBu>6Wg6t_KI
z7W=NZYuPSwI#3q>bJUs_+##$Up3et}5yDcUCB(kSS-$Z0NS`BQ@?@n9lpmIrdm>HF`Rl<
z)vHZ46GJch7$(no|IPOm!xan~cpM`MPZD>{#42$T(3;YhM4GfxDFah6JjFCar{%bF
zRaIOUzKUT+hvL?r@Z`3%Yjo0fO}vArgK4`c>|KWGa}qr@rY3rCb34LT4D+o7b+#Hd
zMQ(Y|J|3d*7+(B8NPyk3r05+r%a!5dzt#GhJNc6E0(hBZOCg-yR3N{>r>+i$#fxaJ
z23CKMD_j-nN6OYO`hDVE_HWT#a0C6~z%EtuB3KwB^o8vPF`}<;h%CJUTH~~{$TG5#
z)DhSha@x>OYkMu&flK7a>IZNc1GHoM4bUl_JV90`o8Qp3b%fAo@`L$Zfqb)(KSXCV
z`Y>6BtGL#{`h*C1!0cG+5aB~a!r#%p6^a{chcFv{2l>&4-x=^@+TT23KTH)see_ZN
s>r^*M%qNNW3^CUo4b&?&7*S0+b%WU4r2is}HoA>lwRHr?gl_}C0l5wQX8-^I
literal 0
HcmV?d00001
diff --git a/api-passenger/target/classes/com/mashibing/apipassenger/interceptor/JwtInterceptor.class b/api-passenger/target/classes/com/mashibing/apipassenger/interceptor/JwtInterceptor.class
new file mode 100644
index 0000000000000000000000000000000000000000..18cd0505450f15cecd515c5eb1ecf0a7fff3e75b
GIT binary patch
literal 3179
zcmbVPSyL2O6#kkS=%J@k1k{Ws?jj(u6E}3w#65^81P~LGXf87sre&sk?CudXF^gGE
zjM;sl%4c8llByKZJf!lLs{E*!?{?2117l&O3hvVP+;h(N-Lt?y|NikOfW5e9U>*7s
zIFrCY5@&JFz#xWnyq>_Yff0!rMu_gG)Lt8+aGOKr_bG
zkVzs7XS)3f
z1v%|{Q&v_4!t#`)m2o|3jV!&|t06U9ass;`$86so&Z;|3zIUB}mOpr+n&DIDLL
z5ShUBu3KXMf_1bMxYIT*Qf=vxl&Pa%%c~{n2ffRR`9-oKBRMNC=+WT#
z6`2WoJ1=U`Xliw+B04%bqnsm;bf>Z@+3NsUW11TJ1hAD!F4VJcS<^EB$r0G
z4Bwd?x}{)VyX{&-eCXhUXOjUc(7gzNh8@d7h>+5fCnGc(mZztTo0f7Rr=EJYCrHX9
z@Xe{Tl&7Z}`Djv`ARk0H$w3H6L$VAkl5Ah}#C-6A>sZ;qwMG>e!=XlkY#IqfX6mdc
zh9MGWL{Z1pFfT6a@R)ccZJu;SPxDzBZsYJ0GZf?
z%^E;^4Cb8c**C&m&`~tuBhXPYaShYF{RIEKQ4MV(laao^Da5$RcCLxMouzjsW^moa
z4e({VtAo0XIK$8igcC%tkC%7!IT@)8+0gNxiT82S#PfJT#|I`p#78{NGU$^cD;eVL
zQDRhOYv+QnpHJW|HFcK)JFg1UdCn^Iio)|{_=+0RHC5MCv&cnNFX-b?R8QJEYC4pp
z#Oe8>(p6J$=w4V}hCDf8&y?M4o|KOC*i=GK!%Ea&!`Y=YEd5f`wVqnh@C=QLdEgfP
zQ?55A@+Bs350O8Ms!)8es3579M*8;rk87;Jq;ye8RBHbMrB9oKsy{e@7
z3*)Fvwr=~!*hZ#U+G}vEno684yTHQA0xwh)RmoKxpqz@^s2^xpTM3FKjbca5NKg^R
zG8^``sNB--gs}4(4%c$)=@q+L3%Oq7u-*C-))k*My?s&1>=<07)k+1fdV&HOuT9V`5L{?@5N%6S9-q-)^3k#ikqb^(rC
zxU)F3A)vnNcWA$c$6GlnVPFlmaWo?VY)3nH?84|kOkJ*9!`bAw`|
zn!}2e@dzvH@E4lX$rMjk&7w8cFo%{@lEWNYXJM4Jt&Y!PefJ}@vG63Qss15WKg60j
ztewMitK+}W-ZoG(t
z*o7l_31_&wggtDMd)e;x;U-URA9G)Dh$DE+lw<0z0WE!TX1)sT+-<
zmR(#K)U}as(2XQDG*kb}lp~>Kvejxgt*OVjPmBBbdTO;FJ=7ng#RJqICyIOYp&RwY
za)+LD6Kfl8;}9+Cc!hVS(D0bx5;|VhaYV;a9mg~s$HSi!;PPaA#bX?YSzDqasxAPJ
issCxJNbD&ZjMM1`yv9{ij2P6v6rkTKfciMr;q-qVJ9AV3
literal 0
HcmV?d00001
diff --git a/api-passenger/target/classes/com/mashibing/apipassenger/service/VerificationCodeService.class b/api-passenger/target/classes/com/mashibing/apipassenger/service/VerificationCodeService.class
index 61850279003de077e8c79545f65c2b3a3d821b97..ad351ea8857ad92f2f42dfb4e541ba3a76a8a607 100644
GIT binary patch
delta 1866
zcmZXVS#(oX6o$W>>E7JjKuv=XDJ`Sbwm=Ikq*0MF7X+bzP-QA5&{`GkKgXUY=m9DPo%vwlaOv
zB#Wn%c-r6@o$V&M)F`n-W!mXu7tb0zr?cDOd7T#w=9;|79)k*1&)#$i*{Xz>(x)7q
zeIb)#6{?v1O1!M|iq5MV-J*7(meuIhCTR8s#|155FLMR$D(5-7-gRoMucERt5{*t>
zQWL4wu<9ZU>LSsq)G@Q&Wm#l?b##1Wl}50=QCe+}cb93K?cMHj-x$W~yk_w_Z`fI$
zg6snpZ*tJ$HiqdOvN%kGPNT&U-qI+vi~ODJ)t+w7!zAoop21_AXtrpg#o{Qf8orAM
zwqLB@SEthJylwFg$1FxMTIXGhXp;vY>#pcYpgZT
zI<=n4rhC$6+=`gGi)#26MrtE<6|qQ)&2jcNS08(ykYDG@jA#7sHc6~&WJ&oHjSkUB
ztfc)^bQDEdyTPD`jOtK%2TmM{RWwTEQXuNmsPmL
zo!5kRI2mW0NEH=Aj2CIO8E`ujh0PR&J!&^V?evsxVAx3M
z28O+9PK=Nz$e;!WCn-p4y&*lwO=)c_#gaE1HbZ8}li+4q^aQtr%rsx|Bw_RDBG8ox
zVZ-su*yhOK77OAfGMA+?ndM?tC6uj{fmr)vr~%ri&;s+H?f)7G7@e{
zw2--?^GLc`5_Gcs=ADoN=E=^G)TLC)&MS$7%qJrM!4@Qk#c`Q(orUtvP7aILksOwp
SbXM=QN^Bfd|MzrJMAB`a~Yf5Ao1@ueSR3%t*MLHS_JWzx`eQ-~YeQjFn!V9l!MN
z*mi*0^x=21V5G+9J!nt4on9uE-Z37Zz4G}&%r(`wRYqjb(wdVN}(m^SSe
z9k%2=qZ2!Ao@Iwcmsi^8kIT<h(R7_e~BOdzQlXskD8--~l^d0RO
zz!UT)@Rbc=X8A_3Tx_UF;J<*KAW$R6XA_LRkk
z$VqTrXfiza|L`2HA0RZ!3?ISV5pL+0#%?s=Sy*C=#g+){QVN(OB$dm!6#})ARu&`&
zsZN1S4xfo)L-;F@1np31%m4{KgTA`$f4D
z9bb~5^zc>Z$z$Dlj^vLsS0pV9dqZ9sv0NZjguJ6vy4a#a<|RYsOGs7N7xD!cB)BQ$
zyGpnW-0zZ#NG+}7LrMGa map = new HashMap();
map.put(JwtUtils.JWT_KEY_PHONE,phone);
map.put(JwtUtils.JWT_KET_IDENTITY,identity);
+ map.put(JwtUtils.JWT_KET_TOKEN_TYPE,tokenType);
Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.DATE,1);
@@ -31,7 +34,7 @@ public class JwtUtils {
map.forEach((k,v) -> {
builder.withClaim(k,v);
});
- builder.withExpiresAt(date);
+// builder.withExpiresAt(date);
String token = builder.sign(Algorithm.HMAC256(SIGN));
return token;
@@ -39,16 +42,18 @@ public class JwtUtils {
public static TokenResult parseToken(String token){
DecodedJWT decodedJWT = JWT.require(Algorithm.HMAC256(SIGN)).build().verify(token);
- String phone = decodedJWT.getClaim(JwtUtils.JWT_KEY_PHONE).toString();
- String identity = decodedJWT.getClaim(JwtUtils.JWT_KET_IDENTITY).toString();
+ String phone = decodedJWT.getClaim(JwtUtils.JWT_KEY_PHONE).asString();//不能写toString,会多带“”双引号
+ String identity = decodedJWT.getClaim(JwtUtils.JWT_KET_IDENTITY).asString();
+ String tokenType = decodedJWT.getClaim(JwtUtils.JWT_KET_TOKEN_TYPE).asString();
TokenResult tokenResult = new TokenResult();
+ tokenResult.setTokenType(tokenType);
tokenResult.setIdentity(identity);
tokenResult.setPhone(phone);
return tokenResult;
}
public static void main(String[] args) {
- String token = JwtUtils.generateToken("13751145166","1");
+ String token = JwtUtils.generateToken("13751145166","1", TokenConstants.ACCESS_TOKEN_TYPE);
System.out.println("token:" + token);
TokenResult result = JwtUtils.parseToken(token);
System.out.println("phone parsed:" + result.toString());
diff --git a/internal-common/src/main/java/com/mashibing/common/util/RedisPrefixUtils.java b/internal-common/src/main/java/com/mashibing/common/util/RedisPrefixUtils.java
new file mode 100644
index 0000000..e60b20a
--- /dev/null
+++ b/internal-common/src/main/java/com/mashibing/common/util/RedisPrefixUtils.java
@@ -0,0 +1,14 @@
+package com.mashibing.common.util;
+
+public class RedisPrefixUtils {
+ private static String verificationCodePrefix = "verification-code-";
+ private static String tokenKeyPrefix = "token-";
+
+ public static String generateKeyByCode(String passengerPhone){
+ return verificationCodePrefix + passengerPhone;
+ }
+
+ public static String generateTokenKey(String phone,String identity, String tokenType){
+ return tokenKeyPrefix + phone + "-" + identity + "-" + tokenType;
+ }
+}
diff --git a/internal-common/target/classes/com/mashibing/common/constant/IdentityConstant.class b/internal-common/target/classes/com/mashibing/common/constant/IdentityConstant.class
new file mode 100644
index 0000000000000000000000000000000000000000..fc5ea0c5829be9f7808afc3026a72abde0fead6e
GIT binary patch
literal 455
zcmb7AO-sW-5Pj3H)PC4ntsh5k>Y-8brU=qj34|(533!rCy0lx84WwJapXEvL;1BRe
ziPNZ9ym{ES^WM(PzM1!r*EaxX*sUOsO$%EV+Jx5KmFM*bH~ry*)9VjL&gh;+cP1W%
z9SJ?LJ(DUuIVaS+iJlvwjW42wEMuF{=nWlzrLv42Lg_+jWiAQ%gF~NC=q6*ysjkv;
zu!sYhjzkc#(sGkfM7~JXl7EW@GgWiKu^T3_9gF!?1^m0sEKW3EUk+?%EVWVQ>Bkb=
zt9Z#G4du03_HO@8=qv}Sp@J%*^S|DN=I=IcgP9Bsflm0GVjnqPCK&fnKoLBB#w_OL
s6~4wVY!Ow)8fVxU2Z~28py#Zl&RAj@+;E+-mc>Oh&}2r~V9cTQ2^~&oxBvhE
literal 0
HcmV?d00001
diff --git a/internal-common/target/classes/com/mashibing/common/constant/TokenConstants.class b/internal-common/target/classes/com/mashibing/common/constant/TokenConstants.class
new file mode 100644
index 0000000000000000000000000000000000000000..8f9a1a39acae6a9084d7a9b6b6b4fd25f701902b
GIT binary patch
literal 472
zcmb7>%TB{E5Jj*1rcG&Sc`n%jLd}L92nj{0kce8;M3q=oPB5)YVoPz#f3ZSh!3XeB
zh)DoZmTazlW<2BT@%zW?8-O$HH&I5vj_o>j7`Cn)$MyYLFurj|v*7O5W$1ZJ{>1H=
ztGVrGsZ{fGhPI=X$+*gTdabyDJ%-waR5H6{C?6e987hvx7YrRw
zDlu9mp-2NB#uVv!I^yw^r!wd7U?p2f!!Yn7o!ALC3mK9Dn<&wWmM;@_pdW?$v1G_!
z)7Pss5<{7H?*B~>^7mM1qQ!9fpS}#;-%*UirHC?y7LOufOmPK+m5PT{m_>m&M2V&g
z(gRdb1r4L1I&ou-Hz-4%(IU0zgk3ODJ$V6pE=t;@H45jtNop1QDmv&A(a({V(E9{p
CaBv3z
literal 0
HcmV?d00001
diff --git a/internal-common/target/classes/com/mashibing/common/dto/TokenResult.class b/internal-common/target/classes/com/mashibing/common/dto/TokenResult.class
index c378acc84fe00bd94f496b64d574deba60c0347e..e9dd800323dae31bb53d1d9a85a263eeaee617e2 100644
GIT binary patch
literal 2349
zcma)7ZBrXn6n<{9Z%GzNBX3bu(5OHXq7}7Gpw%K&ETIS#U&e7>_(YVDP_ytdQYs|XlQ-EMh~_fR0=xex5t_QL~WwFRf;csB&%(=$5)%92~B
zb!g3L+3QF9yLNlq+HLwV-I~?hvD%K*L!;s~oI`=v*J|#5Y2P|*IJ^8`Vf>{9fKgrpV;soCEgSxutO1-!d^->!L;nJ)x{d!Enmh-AB7!)^;CB?q~X`IK+$
zXaoMy8SjI^X~f_IBHb7Y5E0A3mS@!-RILM_a!!fgX`^PfmSyJTv_am3uCaxyOl)Iw
zwYtpADQj(?dJ3JK61lU_Cv%Yx8J-)=3QO8@kJ>eR#gUCq`)ma*oRf29B8%ruj9}En
zm|Vs&Dv-O(2$*;evnD1nWnxB3uSn@txm?3_fwA7Xy>;X?>yqV6B#UXE>_rnh_>}D}
zOm-?-6fg^u-I}P1858egidCFN4mwCmtb+r)RTn7so23im6{b?b6tCnkFLE3)Ndl#q
zv`v25c{deS?}vi
zPWw2=d!3EG&g?}WXQkIU(bqYL*T{uTyUabtU7OASidg@mM*{?cq9q}cO}-}dQ+Xkg
zrt(Jrknzigl#S_z9P>j?_YbLDHl*xvH{`e`M%~vVt>jf@lrT8~eS>*|?9K$STl~WiUM53$`k|=9gRbsR!$Q)xJt7f$b
zC|TACN|ueRECw+k
zS@at*k*+k@1|yw6hF&~H>T79Floff9Rl*ZPHYYermR0|Vees=)tm+?4^r!kp@WC*{
zI5v4fDojVk1{NsAki;DhPKN#Qz%o0L?a%{@Jthq!
zP&52+FOz;E%b{{g3rg+TxS
literal 1907
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
GkXZnd@*_I{
diff --git a/internal-common/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/internal-common/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
index 8eead35..03d8b46 100644
--- a/internal-common/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
+++ b/internal-common/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
@@ -1,5 +1 @@
-com\mashibing\common\dto\ResponseResult.class
-com\mashibing\common\request\VerificationCodeDTO.class
-com\mashibing\common\constant\CommonStatusEnum.class
-com\mashibing\common\response\NumberCodeResponse.class
-com\mashibing\common\response\TokenResponse.class
+com\mashibing\common\util\RedisPrefixUtils.class
diff --git a/internal-common/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/internal-common/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
index 74e3b0e..c0f5ee4 100644
--- a/internal-common/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
+++ b/internal-common/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
@@ -1,5 +1,9 @@
+D:\Works\workspaces\online-taxi-public\internal-common\src\main\java\com\mashibing\common\constant\IdentityConstant.java
D:\Works\workspaces\online-taxi-public\internal-common\src\main\java\com\mashibing\common\constant\CommonStatusEnum.java
D:\Works\workspaces\online-taxi-public\internal-common\src\main\java\com\mashibing\common\dto\ResponseResult.java
D:\Works\workspaces\online-taxi-public\internal-common\src\main\java\com\mashibing\common\response\NumberCodeResponse.java
+D:\Works\workspaces\online-taxi-public\internal-common\src\main\java\com\mashibing\common\constant\TokenConstants.java
D:\Works\workspaces\online-taxi-public\internal-common\src\main\java\com\mashibing\common\request\VerificationCodeDTO.java
D:\Works\workspaces\online-taxi-public\internal-common\src\main\java\com\mashibing\common\response\TokenResponse.java
+D:\Works\workspaces\online-taxi-public\internal-common\src\main\java\com\mashibing\common\util\JwtUtils.java
+D:\Works\workspaces\online-taxi-public\internal-common\src\main\java\com\mashibing\common\dto\TokenResult.java
diff --git a/api-passenger/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst b/internal-common/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst
similarity index 100%
rename from api-passenger/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst
rename to internal-common/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst
diff --git a/pom.xml b/pom.xml
index 0baaa84..1861b99 100644
--- a/pom.xml
+++ b/pom.xml
@@ -74,12 +74,6 @@
import
-
- org.mashibing
- internal-common
- 1.0-SNAPSHOT
-
-
diff --git a/service-passenger-user/pom.xml b/service-passenger-user/pom.xml
index cc52276..a8291ef 100644
--- a/service-passenger-user/pom.xml
+++ b/service-passenger-user/pom.xml
@@ -35,6 +35,7 @@
org.mashibing
internal-common
+ 1.0-SNAPSHOT
com.alibaba.cloud
diff --git a/service-verificationcode/pom.xml b/service-verificationcode/pom.xml
index 06914c0..8b955db 100644
--- a/service-verificationcode/pom.xml
+++ b/service-verificationcode/pom.xml
@@ -37,6 +37,7 @@
org.mashibing
internal-common
+ 1.0-SNAPSHOT