From fce06536363bbb3b5020a0d3add3d3dca75fba5a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=98=E5=8A=9B?= Date: Sun, 1 May 2022 15:50:23 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=BB=BA=E9=A1=B9=E7=9B=AE=EF=BC=8C?= =?UTF-8?q?=E7=BB=9F=E4=B8=80=E5=BC=82=E5=B8=B8=E5=A4=84=E7=90=86=EF=BC=8C?= =?UTF-8?q?=E7=BB=9F=E4=B8=80=E8=BF=94=E5=9B=9E=E6=95=B0=E6=8D=AE=E6=A0=BC?= =?UTF-8?q?=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- common/pom.xml | 19 ++ .../storeroom/exception/BaseException.java | 33 +++ .../storeroom/exception/JsonException.java | 23 ++ .../storeroom/exception/PageException.java | 19 ++ .../storeroom/exception/constant/Status.java | 30 +++ .../exception/controller/TestController.java | 27 +++ .../exception/handler/ApiResponse.java | 153 ++++++++++++ .../handler/GlobalExceptionHandler.java | 46 ++++ .../storeroom/exception/BaseException.class | Bin 0 -> 2686 bytes .../storeroom/exception/JsonException.class | Bin 0 -> 687 bytes .../storeroom/exception/PageException.class | Bin 0 -> 687 bytes .../storeroom/exception/constant/Status.class | Bin 0 -> 1815 bytes .../exception/controller/TestController.class | Bin 0 -> 1110 bytes .../exception/handler/ApiResponse.class | Bin 0 -> 5765 bytes .../handler/GlobalExceptionHandler.class | Bin 0 -> 2838 bytes pom.xml | 227 ++++++++++++++++++ 16 files changed, 577 insertions(+) create mode 100644 common/pom.xml create mode 100644 common/src/main/java/com/storeroom/exception/BaseException.java create mode 100644 common/src/main/java/com/storeroom/exception/JsonException.java create mode 100644 common/src/main/java/com/storeroom/exception/PageException.java create mode 100644 common/src/main/java/com/storeroom/exception/constant/Status.java create mode 100644 common/src/main/java/com/storeroom/exception/controller/TestController.java create mode 100644 common/src/main/java/com/storeroom/exception/handler/ApiResponse.java create mode 100644 common/src/main/java/com/storeroom/exception/handler/GlobalExceptionHandler.java create mode 100644 common/target/classes/com/storeroom/exception/BaseException.class create mode 100644 common/target/classes/com/storeroom/exception/JsonException.class create mode 100644 common/target/classes/com/storeroom/exception/PageException.class create mode 100644 common/target/classes/com/storeroom/exception/constant/Status.class create mode 100644 common/target/classes/com/storeroom/exception/controller/TestController.class create mode 100644 common/target/classes/com/storeroom/exception/handler/ApiResponse.class create mode 100644 common/target/classes/com/storeroom/exception/handler/GlobalExceptionHandler.class create mode 100644 pom.xml diff --git a/common/pom.xml b/common/pom.xml new file mode 100644 index 0000000..b38f0cd --- /dev/null +++ b/common/pom.xml @@ -0,0 +1,19 @@ + + + + yxk_StoreroomSystem + com.storeroom + 1.0 + + 4.0.0 + + common + + + 17 + 17 + + + \ No newline at end of file diff --git a/common/src/main/java/com/storeroom/exception/BaseException.java b/common/src/main/java/com/storeroom/exception/BaseException.java new file mode 100644 index 0000000..82a6317 --- /dev/null +++ b/common/src/main/java/com/storeroom/exception/BaseException.java @@ -0,0 +1,33 @@ +package com.storeroom.exception; + +import com.storeroom.exception.constant.Status; +import lombok.Data; +import lombok.EqualsAndHashCode; + + +/** + * 统一异常类 + */ +@Data +@EqualsAndHashCode(callSuper = true) +public class BaseException extends RuntimeException{ + + private Integer code; + private String message; + + + + public BaseException(Status status){ + super(status.getMessage()); + this.code=status.getCode(); + this.message=status.getMessage(); + + } + + + public BaseException(Integer code,String message){ + super(message); + this.code=code; + this.message=message; + } +} diff --git a/common/src/main/java/com/storeroom/exception/JsonException.java b/common/src/main/java/com/storeroom/exception/JsonException.java new file mode 100644 index 0000000..e43cde4 --- /dev/null +++ b/common/src/main/java/com/storeroom/exception/JsonException.java @@ -0,0 +1,23 @@ +package com.storeroom.exception; + + +import com.storeroom.exception.constant.Status; +import lombok.Getter; + + +/** + * Json 异常 + */ +@Getter +public class JsonException extends BaseException { + + public JsonException(Status status) { + super(status); + } + + public JsonException(Integer code,String message) { + super(code, message); + } + + +} diff --git a/common/src/main/java/com/storeroom/exception/PageException.java b/common/src/main/java/com/storeroom/exception/PageException.java new file mode 100644 index 0000000..64c666b --- /dev/null +++ b/common/src/main/java/com/storeroom/exception/PageException.java @@ -0,0 +1,19 @@ +package com.storeroom.exception; + +import com.storeroom.exception.constant.Status; +import lombok.Getter; + +/** + * 页面异常类 + */ +@Getter +public class PageException extends BaseException { + + public PageException(Status status) { + super(status); + } + + public PageException(Integer code, String message) { + super(code, message); + } +} diff --git a/common/src/main/java/com/storeroom/exception/constant/Status.java b/common/src/main/java/com/storeroom/exception/constant/Status.java new file mode 100644 index 0000000..6baba42 --- /dev/null +++ b/common/src/main/java/com/storeroom/exception/constant/Status.java @@ -0,0 +1,30 @@ +package com.storeroom.exception.constant; + + +import lombok.Getter; + +@Getter +public enum Status { + + //操作成功 + SUCCESS(200,"操作成功"), + //操作失败 + FAIL(999,"操作失败"), + //未知异常 + UNKNOWN_ERROR(500,"服务器内部错误"); + + + //状态码 + private final Integer code; + + //内容 + private final String message; + + //构造 + Status(Integer code,String message){ + this.code=code; + this.message=message; + + } + +} diff --git a/common/src/main/java/com/storeroom/exception/controller/TestController.java b/common/src/main/java/com/storeroom/exception/controller/TestController.java new file mode 100644 index 0000000..8e1b9c8 --- /dev/null +++ b/common/src/main/java/com/storeroom/exception/controller/TestController.java @@ -0,0 +1,27 @@ +package com.storeroom.exception.controller; + +import com.storeroom.exception.JsonException; +import com.storeroom.exception.PageException; +import com.storeroom.exception.constant.Status; +import com.storeroom.exception.handler.ApiResponse; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.servlet.ModelAndView; + +@Controller +public class TestController { + + @GetMapping + public ApiResponse jsonException(){ + throw new JsonException(Status.UNKNOWN_ERROR); + } + + public ModelAndView pageException(){ + throw new PageException(Status.UNKNOWN_ERROR); + } + + + + +} diff --git a/common/src/main/java/com/storeroom/exception/handler/ApiResponse.java b/common/src/main/java/com/storeroom/exception/handler/ApiResponse.java new file mode 100644 index 0000000..a24b29b --- /dev/null +++ b/common/src/main/java/com/storeroom/exception/handler/ApiResponse.java @@ -0,0 +1,153 @@ +package com.storeroom.exception.handler; + + +import com.storeroom.exception.constant.Status; +import lombok.Data; + +/** + * 通用的 API 接口封装 + */ +@Data +public class ApiResponse { + + + /** + * 状态码 + */ + private Integer code; + + /** + * 返回类容 + */ + private String message; + + /** + * 返回数据 + */ + private Object data; + + /** + * 调用接口时间 + */ + private long timestamp; + + + /** + * 无参构造 + */ + public ApiResponse() { + //调用时间赋值 + this.timestamp = System.currentTimeMillis(); + } + + + /** + * 泛型构造 + * + * @param data + */ + private ApiResponse(T data) { + this.code = Status.SUCCESS.getCode(); + this.message = Status.SUCCESS.getMessage(); + this.data = data; + } + + /** + * 无状态码构造 + * + * @param status + */ + private ApiResponse(Status status) { + if (null == status) { + return; + } + this.code = status.getCode(); + this.message = status.getMessage(); + } + + /** + * 全参构造函数 + * + * @param code + * @param message + * @param data + */ + private ApiResponse(Integer code, String message, Object data) { + this.code = code; + this.message = message; + this.data = data; + } + + /** + * 成功返回 + * + * @param data 数据 + * @param + * @return + */ + public static ApiResponse success(T data) { + ApiResponse apiResponse = new ApiResponse<>(); + apiResponse.setCode(Status.SUCCESS.getCode()); + apiResponse.setMessage(Status.SUCCESS.getMessage()); + apiResponse.setData(data); + return apiResponse; + } + + /** + * 返回默认失败 + * + * @param code 错误代码 + * @param message 错误信息 + * @param + * @return + */ + public static ApiResponse error(Integer code, String message) { + ApiResponse respons = new ApiResponse<>(); + respons.setCode(code); + respons.setMessage(message); + return respons; + } + + + /** + * 错误状态返回 + * + * @param status 状态码 + * @param + * @return + */ + public static ApiResponse error(Status status) { + return new ApiResponse(status); + } + + /** + * 服务器错误失败 + * + * @param + * @return + */ + public static ApiResponse error() { + return error(Status.UNKNOWN_ERROR); + } + + + public Integer getCode() { + return code; + } + + public ApiResponse setCode(Integer code) { + this.code = code; + return this; + } + + public Object getData(){ + return data; + } + + public ApiResponse setData(T data){ + this.data=data; + return this; + } + + +} diff --git a/common/src/main/java/com/storeroom/exception/handler/GlobalExceptionHandler.java b/common/src/main/java/com/storeroom/exception/handler/GlobalExceptionHandler.java new file mode 100644 index 0000000..9d66c09 --- /dev/null +++ b/common/src/main/java/com/storeroom/exception/handler/GlobalExceptionHandler.java @@ -0,0 +1,46 @@ +package com.storeroom.exception.handler; + +import com.storeroom.exception.BaseException; +import com.storeroom.exception.constant.Status; +import lombok.extern.slf4j.Slf4j; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.web.bind.annotation.ControllerAdvice; +import org.springframework.web.bind.annotation.ExceptionHandler; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.ResponseBody; + +import javax.servlet.http.HttpServletRequest; + + +/** + * 统一异常处理 + */ +@ControllerAdvice +@Slf4j +public class GlobalExceptionHandler { + + private static final Logger logger = LoggerFactory.getLogger(GlobalExceptionHandler.class); + + + @ExceptionHandler(BaseException.class) + @ResponseBody + public ApiResponse exception(Exception e){ + log.error("全局异常信息 ex={}",e.getMessage()); + return ApiResponse.error(Status.UNKNOWN_ERROR.getCode(),e.getMessage()); + } + + @ExceptionHandler(NullPointerException.class) + @ResponseBody + public ApiResponse exceptionHandler(HttpServletRequest req,NullPointerException e) { + log.error("发生空指针异常!原因是:",e); + return ApiResponse.error(Status.UNKNOWN_ERROR); + } + + @ExceptionHandler(value = Exception.class) + @ResponseBody + public ApiResponse exceptionHandler(HttpServletRequest req,Exception e){ + log.error("未知异常 原因是:",e); + return ApiResponse.error(Status.UNKNOWN_ERROR); + } +} diff --git a/common/target/classes/com/storeroom/exception/BaseException.class b/common/target/classes/com/storeroom/exception/BaseException.class new file mode 100644 index 0000000000000000000000000000000000000000..04eb73018775e96d277e74e02aba4615c2d1ebdb GIT binary patch literal 2686 zcma)8ZBr9h6n-w*&4#!@i~>ecu|>%n(ihum0p ze?a}>hjymoj2}Af7dz8G(LYjapS!zBmKdB4u=n1x=bq<0&pG!lfBpOXHvqG^mqs5F z1~d~ok^+-8XLs839ap*zXY%`+-1F;>JzaBb&$n!Udfm7DrYDfzlKzVHJZnn|9M2b) zA6O5q>4s%*(Z#LXTh%mD=r@oyaRjEo$&SOVrtQ~v#?ZN^y)riq`(Qr$Bq&SG3(bl2LE3yxj0{5y4jo3lVkYIr41wuSb3*q+*E z@s^3VF(HtuS@z<0O{>wR-i^%%vgTI{tnmd*8pxX{DE~~S5TOg@mukPK97`t3m}1mz z%VVxe=S04+Bv8&TA0}m2b5si(0$R9tXt{37)#mP|bZ=Xm4Mxi@J2k7ZVYzj+j*ObW zU8f+Ehe8~vR+Sl3!=Mifhi>W4ip*D}zwO*#vs`Oe`qCw0{(qK$j0~^Ucq6?wDbi`W zv=2qfcf!695RT&AtvhMxj=wEkfqun*B5c8QV2c)J@S@#x1L3>Qn#ZxWvtsQl~D`~9a zhJiKJ**66yI*jV}LuW@uM?Y-#t5%H{$s>Uu;&MffVbE)qeZL{SiDk#xY3@~H3PmR> zW;w9&_M<)7!~N@+f2;jtrYOXM)o85OeOXOmU10nG`@E{btSFC1Qq78jfVpJb(p_j+ zo+mv6EcE%;nD-)N;46VMZ+2y!LiRYvizCH*qmMtlx`G++9FA!S-k}$1pXTar-~r@{ zrG1EJFw{8k6i0*gQ;hx+Y<-8%EHplc8FmC2jN$|@v3F@1VF(7mdw8Ftnq9&N1o@D2 zU2uT_@uLXw9>)Z2nPNGBQ&{C5K&SZ;Im2wv@}?dSfX2gpZJhl2QK=n%zcs|RnpH;;C2&h*@T8CN306^=@w zWU)l99X&(nBQXt=ZEDGgTBPA{K%)Y)SIAh2-W*bC)GkXd2w81Yyv)!_pTXijPVsN- zIZgxJT*GWbp$6MR@kQ4_I}nt`s@ z!fe{Qx|rcVD*U$L8_cm^`*;vO!^gBG*r;>(gfk5{d3-+QOvfFZ!aQe5EHM5#q>a=+ z7&MUWe~A$T7x*^eb*A_X#aUIi)v-)j)%frOwY5aJb` sI_o}V7>3?*X!&RdO?2b7r9h|a_=01K_{;peh1*=IJM2pq=Pq*p0r?Uk=Kufz literal 0 HcmV?d00001 diff --git a/common/target/classes/com/storeroom/exception/JsonException.class b/common/target/classes/com/storeroom/exception/JsonException.class new file mode 100644 index 0000000000000000000000000000000000000000..eabd84ddc2493fc4e3557afb1e29057d8cbf745d GIT binary patch literal 687 zcmaJ;%T59@6g?eaMi2$T_evK=UU5DEWuegogT@5Iz6=eHf!1`2@wZ%&xbOq~DC6w_ z3MAM`+MYA_o_o*j*Z0RKfD0UE;2_~4nMDdN!%3iqeq@vuTG36s1>(hoO8S>P64x`t z;GTyvG!2GYskJI4P%<)H8ozD08AbJS#}-?&mC_8QQtO$&a(}>O-)~AI`a;*|sJ79e z>{F75^?&-hjg*}0D|w}Qf+5!mrMMpryFx$m?tqv=O9gz;;X1TUrYyT=$lnR`ql z1yU-~J;ewhmQ7D(n@G?Hc$I2x3~yPtNcr2b?$IRdSJxwchomT#YVMJot&nzzwoTY7 J`?Nba_yOZdp(6kQ literal 0 HcmV?d00001 diff --git a/common/target/classes/com/storeroom/exception/PageException.class b/common/target/classes/com/storeroom/exception/PageException.class new file mode 100644 index 0000000000000000000000000000000000000000..23cd545b13220c5b14807d17a09d2bce62b583fb GIT binary patch literal 687 zcmaJ;%T59@6g?dtBM9>Hz0!q|SDX((S!gsNK|_LJUxsEJ!%R)57=OzZi3>l#k22m4 zpg@Atr0us}6Jk(BKb3KV#wSj52WjbXTs@3i@f91}Yhn~|3weW;$Ev5Qe z`JqQ38{7Zr>Tz#bSMo-V1Vf?ghvH!p4262+!!c#bUFq`ifGgj`^JG##`4PkUMhh$K zEwW99$O=PkBV^q*L-AhdCpqeI#RH**B6!k`WmcB_E=Is$2O^5dmJ$6oqWL@+vVA#G zuDJ7KTPq4LOgT|MRrZs`FI2LkrlSRiS_)MO2Rx z%EVNmdx}wjm^L$~?I1x5uUltPrbEV}v=L#t J9MW##=m%qCpu_+G literal 0 HcmV?d00001 diff --git a/common/target/classes/com/storeroom/exception/constant/Status.class b/common/target/classes/com/storeroom/exception/constant/Status.class new file mode 100644 index 0000000000000000000000000000000000000000..31f7b8dab28b18c4773410e803b187dc05d15ee2 GIT binary patch literal 1815 zcma)7TW=dx5dMz6zGSm$?QPvOAwWn?Yr7XyXt~)5NsR-hj$LA66oG^`&f;!l@1pg( z;t>gfP^C&p@KUJ~LMl?sNjyh! zpBfa+ZkrOgptZVs^>cyKDIdDf(mI`-Pf>Gh!))gK5!iw2|9J&3;6;IO-Y^YkPT+vw zRUcVO*O~ZB3TAMKYSggSDd&B@5GB*mo4W0m@?`~wafH%q>z$6)Bumw2*>@R5NJa)n zBRIzNjtj(}((8NUWJ><52T`KP3Mkt@T)Kbv%Jz5P_b&bUjZ`m;QO1HhH+aGCbEvn({F06(haqfZD&{}oPHrQX^ zsbp$x@*P{!o%7cEInAb}quZ3fogKItN-76<}BIi$1f5+)o3eQjQ6$6l@tHPCZL(q=O$HJ8~_dslt?+02($Zi&S z!q3rah9v*wO^p49_&un<(n{bRdWYS;FxgLH9s$?>6iG(Ns>p2Nz&!}I5A3jCAdTW# z;S9${fu4}SnXlNCjst?OvrkEeXiLo;ow|dm%<vsT8v6(~!(Kuph%we7((-DV)dqTH)rO}a1 z$1uOGv~oKP(cD%&jx!7!P1EIpGgewdBl)o@eW#4(F9M@?|3nESk%}Xo#sbbVY)&g` z8XY*H9j`gzdI7`2>+;KTsNEcdz%Y4=6LqnT{UG=*0eR)z6k zGUg5x9mu0uN+z$Ar(^7ly1~G6(+~1M=vKJhg0HGF@W~NLghWlXHF;ubf5rc+-Y$(_ zr2GyMSF1hkR9Dtjph#vxYeS~f)ghISOUAZ&;9I5J@2%*{BV#}CBiY~$rCVGKbNO@W z_Jr?KUMSNab%)^rZFCwakoM4%j_;8PUO~6&N*)m+Su;J`l+RRX#PYwE-4Asz+?~h_ zoV3!oPrl@TP0nK-EA*au*20fBhYSSkPxP;3T zF=iy;M4?L5;!qU)7XXr4g}+CY=grk4QqL83(Jy`))d;( zq)F4HO)qIn+a!DsU+6haPH}S5b9&k@={fyPP3iN_tfVzaJvJY-J3I5vJJ0*PmzmMO z|NG_N0UX2K280l{5U~+OOriOjbHnM&Ir+uD$@yz;##4w5W%F6@xI(z6_d)~WNLXmF zu?_YH@tIpC&s|a2ky$Gi-MlxOU2(^=xm>oSXP!%-3EM3++t`5?g;b`n(pT~dMYmXB z%e|R#SG{Z@-?!xC7jkZ~@8oKB+AXaX@+DUx;Za-3b5>Rr6jimN%|g44r?5-mP(4){ zPWGI<*Ei!i-WqXOGv|kgPtVLK^p0(E(qID@+ihbH_HzEB>kStc2&k>6cdSa)NZxZ7 z-Qu9wxX;FZ98id4wBXJfVxsbC8{a^;LIYKfyQPw|NUg0Kw9a_NY<^KIea6Ni^bi19 zFrqC1y#c|bjTF*ceZlb@g`kx2C+%rMSRQ>gp2c(2St=WKswbedY*T%vYIsU(KWgKf zc%G(FamBQ@pl%oYXmGrwQJ)OT`mnbSV^BhRNFm*`Xp zjprvuCno16UOzoOJvl8dfSkT%0fGEe7<4D6N!AGa|fs$#C_DM|m+@_5C@G?)z%*M|Cy5m*VC z5YF4UfH|UBa!N}k2UrhAT3AIc+PH+v3Qw&#%kFR?pK-jotVbb}eaySDAntNt1x)ed zA<*Nmd@h(}z7&JotiOFMn|CMHR_5K}tTUfu{al zH|n~zTGrRU6-7g{vxCP6>v--0Dg7Txio*@4Gha$JLX5)NiJ2Xbqf zPWVN$O(+!V01g;YKlrw^Y}u`)dMj>rcX^^!`?yWiTcB1oQ8-rz=a%%8jefb7AD>9m z3r`$NHusiFonuAlIVX{<3arfqZ^>nCPDt8!n@zYu_xT^T9;j@jjb^O!ZRVNn)1PNP zp4|%PLrKZ{=+yMc_-W!AVeT?a*K#~hHFO6KGf^K@yt@J*+HKa0dj(VR6nbjAFA&#$ zy`=V;!dfxop2vI^U8f2KujCb-Ra0|H+hh231Ac=KEc{jq`R^3Et0$Xm z{zhThON;Y!_Og~IaM>Rdx0)r#jumh&15}yFpfJ4M+3I^NEjSb=>tB=(iD>AU2(=S)yw^JB%gPS!#Sr^ za!VHeq;T*tGHTgq;Uk58|6i0bU`HCG*`1MiF9s zUg6gi!fXL{@^h%<7qA|n@l$?>@fx2z*YWubwf69I-iz;wq>;z#xXLeQL(e?FLe!q& zJkkDRehI35TKi|%xsHwp=uGNX*8?0(rXHZTx?Vfy0?%>1ey)8KyLjyD#PfRHcB9E( zmpbKGN-Tn)IwlCr*aF8~wxhfm@bx|ZLRjRFM>swO-Y@tTczXn%N_~RJr^%ELk#7Mg z*dm&X-Q*0M8sQx$f#Ybv3G#UoyLo^UUJQmk6?}WJMEnMy;Y`K^UzWe^P!FjhWTDBT zOHhWo#HK*J=0g+)BkXI{43e$RWLkJTT!Xh!N{$iRIJuj^PE2ZCNi)BKt5wH`_`Fp| zh!D`KxeN!q+3I5z1{=ei0t!PjnZPn$^d0;T;faESe?!y7&v_zB87Hsf$ed|*t)oAc zT*tTOQh%YKi7Vshi@f<=BF@Y7@fF@(UJLMeP$L2*I+0_f1^p~z3)E%C=4<(Rg*2Q( z-bZDFSJ;GZ;Qqk~cqHk5B8un2g?CwFZ3q*i^Sahq zub+I%q?3HhdeP)x(OIR#fOt0mBI*Z`Ltz6; zdL*QkT>N~yULh8V2}_c@Gg(zA_Xgm7M)xlRp0+BHX=#Ro86#t&-p^xU(^&0sMcy;` zeAIy6>Uze24>oB4Z;ZYHmxBiMK4!oj8t{iY20U7l$_9`P9kew{(i)B6y}gDh2Ol-1 zeUql}-d0f;V#~O;@y~3S{4>lP*rYmMy~&6WJ?1kL6W8k67}VDgASG7uYRu1;YS747 zz^jMQOpG`1{mLR?!UST;{TntT1G?TKvbhCA=aEHr=tX#CHH)YWb3MUD?xvETAR4)! z`X`z`Ml^gs^$#@Z`tXweWT7~l=I_o&GRUvd34V?aL=OK8+d3j&VaGk#hdUzc7%R(9 z4n!$3IS}iJicIV)wA@2uN30lKH-_ICusQ<1G_@+ zU6zS7EpNlma7!1Xer_;7U|*Pjf@JVRwjwysi~o<!;?1dhh<8NSF{_8@JUtYv4AFOHh>p`kbeliR(nEV|yX!3J zB?{kNVIDw!g13kX2 L;g9$bAEV=c3n0AN literal 0 HcmV?d00001 diff --git a/common/target/classes/com/storeroom/exception/handler/GlobalExceptionHandler.class b/common/target/classes/com/storeroom/exception/handler/GlobalExceptionHandler.class new file mode 100644 index 0000000000000000000000000000000000000000..1de7ebefc1d737344fcb02e4c6aa0d52af86b894 GIT binary patch literal 2838 zcmc(hTW=dx5Xb+=PU6^g+cZs@Hof4MhFsg_QbLK7K(0-x;{-cR3p}8;eQIyI*-g)` zlT-*nkr1dtpjJE}ffRT^0$xgsRMM(~cRmMB#1r2DF=yAYm&B$?AK+!r#b;)IGjnEq ze*5d;F8~JcW(Yp`1E>k37Ih2_bLyh1=&F%brc!e}Z8OyMYldbIGWa_>XM?CmFn~}P zyAWpRO`G$IWt)NvlV*H5%@=IVG?bibWOOc+bGn&Q^|6ip33r=x>1LLpF=mRaV(C}T z%qcN5o8=-}k39?r3m<-0xch$L(FcXq)!%>pX6?qE2wxs}=iLw*urGkdF!rN~VSkyn zWP%}-<@O}EEH%p+nmRgTats-3qOc3+HNh)-RLzde>nOeGjPW7`yshREcJ zFrLOqh5)%dVrIzS=70Em-mtlhY6#DuJ%A4Ba3@1|H5(gg8(Pp3+*%-5QaR&|!G=ap z5Q;&qPF_JP<++>TMB%er>z}WzfB$gplaKzm{jrvgHAqy45_!Yc z=J~84Noht#QA=l)5>v4SlH%G$RnHT9 zd(|)vs}?T_l0@&e&23cgu$j3|f(?922VQg|wyaoOEb81=a<;voOwcFkZY21%Jh$wq zCo1v0u1}j9H5F0D+EI*&#V`0Z>9ow(gYQ_D}_cTce{QDyGs)v2I(t*2Ac5-eZ%enyow=OF$`k_HIDEM{Em?$ z_Yi2@-F+W>AE4QfdpLX_$K`SrZ9kHXt5ZIsfTP%hV~*Yfu53{+=&yPdW2AqaPSsMw zq~V++Jc08xHq!Ce=;sS>fu#|{B<(T8G39~r%X1Q@tLFiF9FkQin-NY@MA{sL2st1% zyROOEG+rmIayE(tS(GqAA8o?}l&k=hC;`n>0($=6fVv5&XB$9c)qpNm02*_E>M>i& s^(n_QU|(bXD$e{wVRFYlnRn*o-OW)GU7i-Qb&2+Uxa=sGH{uQ8Z~qTC?f?J) literal 0 HcmV?d00001 diff --git a/pom.xml b/pom.xml new file mode 100644 index 0000000..8d3e02a --- /dev/null +++ b/pom.xml @@ -0,0 +1,227 @@ + + + 4.0.0 + + com.storeroom + yxk_StoreroomSystem + pom + 1.0 + + common + + 智能库房综合管理系统 + + + UTF-8 + UTF-8 + 17 + 1.16 + 2.9.2 + 1.2.78 + 1.2.8 + 2.11.1 + 1.4.2.Final + + + + + org.springframework.boot + spring-boot-starter-parent + 2.6.1 + + + + + + org.springframework.boot + spring-boot-starter-data-jpa + + + + + org.springframework.boot + spring-boot-starter-web + + + + + org.springframework.boot + spring-boot-starter-test + test + + + + + org.springframework.boot + spring-boot-starter-security + + + + + org.springframework.boot + spring-boot-starter-cache + + + + + org.springframework.boot + spring-boot-starter-data-redis + + + + + org.apache.commons + commons-pool2 + ${commons-pool2.version} + + + org.apache.commons + commons-lang3 + 3.12.0 + + + + + org.bgee.log4jdbc-log4j2 + log4jdbc-log4j2-jdbc4.1 + ${log4jdbc.version} + + + + + io.springfox + springfox-swagger2 + ${swagger.version} + + + io.swagger + swagger-annotations + + + io.swagger + swagger-models + + + + + io.springfox + springfox-swagger-ui + ${swagger.version} + + + io.swagger + swagger-annotations + 1.5.21 + + + io.swagger + swagger-models + 1.5.21 + + + + com.github.xiaoymin + swagger-bootstrap-ui + 1.9.6 + + + + + mysql + mysql-connector-java + 8.0.27 + runtime + + + + + com.alibaba + druid-spring-boot-starter + ${druid.version} + + + org.lionsoul + ip2region + 1.7.2 + + + + + org.projectlombok + lombok + 1.18.22 + true + + + + + org.apache.poi + poi + 3.17 + + + org.apache.poi + poi-ooxml + 3.17 + + + xerces + xercesImpl + 2.12.0 + + + + + com.alibaba + fastjson + ${fastjson.version} + + + + + org.mapstruct + mapstruct + ${mapstruct.version} + + + org.mapstruct + mapstruct-processor + ${mapstruct.version} + provided + + + javax.inject + javax.inject + 1 + + + + + com.github.whvcse + easy-captcha + 1.6.2 + + + + org.openjdk.nashorn + nashorn-core + 15.3 + + + + + eu.bitwalker + UserAgentUtils + 1.21 + + + + javax.persistence + javax.persistence-api + 2.2 + + + + \ No newline at end of file