diff --git a/doc/基本框架设计/文件上传下载.md b/doc/基本框架设计/文件上传下载.md index 3f3bd60..7a6ea2a 100644 --- a/doc/基本框架设计/文件上传下载.md +++ b/doc/基本框架设计/文件上传下载.md @@ -92,12 +92,12 @@ public class FileController { private AttachFileService attachFileService; @PostMapping("/upload/element") - public ResponseEntity uploadElementFile(@RequestParam("file") MultipartFile file) throws IOException{ + public ServerResponseEntity uploadElementFile(@RequestParam("file") MultipartFile file) throws IOException{ if(file.isEmpty()){ - return ResponseEntity.noContent().build(); + return ServerResponseEntity.success(); } String fileName = attachFileService.uploadFile(file.getBytes(),file.getOriginalFilename()); - return ResponseEntity.ok(fileName); + return ServerResponseEntity.success(fileName); } diff --git a/doc/基本框架设计/统一异常处理.md b/doc/基本框架设计/统一异常处理.md index 7a3353a..0f27c10 100644 --- a/doc/基本框架设计/统一异常处理.md +++ b/doc/基本框架设计/统一异常处理.md @@ -5,95 +5,160 @@ 我们先来看下 `YamiShopBindException`的代码 ```java -public class YamiShopBindException extends RuntimeException { +@Getter +public class YamiShopBindException extends RuntimeException{ + /** + * + */ private static final long serialVersionUID = -4137688758944857209L; /** * http状态码 */ - private Integer httpStatusCode; + private String code; - /** - * @param httpStatus http状态码 - */ - public YamiShopBindException(YamiHttpStatus httpStatus) { - super(httpStatus.getMsg()); - this.httpStatusCode = httpStatus.value(); - } + private Object object; + + private ServerResponseEntity serverResponseEntity; + public YamiShopBindException(ResponseEnum responseEnum) { + super(responseEnum.getMsg()); + this.code = responseEnum.value(); + } /** - * @param httpStatus http状态码 + * @param responseEnum */ - public YamiShopBindException(YamiHttpStatus httpStatus, String msg) { + public YamiShopBindException(ResponseEnum responseEnum, String msg) { super(msg); - this.httpStatusCode = httpStatus.value(); + this.code = responseEnum.value(); + } + + public YamiShopBindException(ServerResponseEntity serverResponseEntity) { + this.serverResponseEntity = serverResponseEntity; } + public YamiShopBindException(String msg) { super(msg); - this.httpStatusCode = HttpStatus.BAD_REQUEST.value(); + this.code = ResponseEnum.SHOW_FAIL.value(); } - public Integer getHttpStatusCode() { - return httpStatusCode; + public YamiShopBindException(String msg, Object object) { + super(msg); + this.code = ResponseEnum.SHOW_FAIL.value(); + this.object = object; } } ``` -`YamiHttpStatus`为我们自定义的返回状态码的枚举类,定义为一个枚举类,更直观处理异常返回的状态码及异常内容,以后每增加一种异常情况,只需增加一个枚举实例即可,不用每一种异常都定义一个异常类。 +`ResponseEnum`为我们自定义的返回状态码的枚举类,定义为一个枚举类,更直观处理异常返回的状态码及异常内容,以后每增加一种异常情况,只需增加一个枚举实例即可,不用每一种异常都定义一个异常类。 ```java -public enum YamiHttpStatus { +public enum ResponseEnum { + /** - * 客户端看到401状态码时,应该重新登陆 + * ok */ - UNAUTHORIZED(401, "未授权"), + OK("00000", "ok"), + SHOW_FAIL("A00001", ""), - COUPONCANNOTUSETOGETHER(601, "优惠券不能共用"), - ; + /** + * 用于直接显示提示用户的错误,内容由输入内容决定 + */ - private final int value; + /** + * 用于直接显示提示系统的成功,内容由输入内容决定 + */ + SHOW_SUCCESS("A00002", ""), - private final String msg; + /** + * 未授权 + */ + UNAUTHORIZED("A00004", "Unauthorized"), - YamiHttpStatus(int value, String msg) { - this.value = value; - this.msg = msg; - } + /** + * 服务器出了点小差 + */ + EXCEPTION("A00005", "服务器出了点小差"), + /** + * 方法参数没有校验,内容由输入内容决定 + */ + METHOD_ARGUMENT_NOT_VALID("A00014", "方法参数没有校验"); + + private final String code; - public int value() { - return this.value; + private final String msg; + + public String value() { + return code; } public String getMsg() { return msg; } - - public static YamiHttpStatus resolve(int statusCode) { - for (YamiHttpStatus status : values()) { - if (status.value == statusCode) { - return status; - } - } - return null; + + ResponseEnum(String code, String msg) { + this.code = code; + this.msg = msg; + } + + @Override + public String toString() { + return "ResponseEnum{" + "code='" + code + '\'' + ", msg='" + msg + '\'' + "} " + super.toString(); } + } ``` 再来看看 `DefaultExceptionHandlerConfig`类 ```java -@Controller +@Slf4j +@RestController @RestControllerAdvice public class DefaultExceptionHandlerConfig { - + + @ExceptionHandler({ MethodArgumentNotValidException.class, BindException.class }) + public ResponseEntity>> methodArgumentNotValidExceptionHandler(Exception e) { + log.error("methodArgumentNotValidExceptionHandler", e); + List fieldErrors = null; + if (e instanceof MethodArgumentNotValidException) { + fieldErrors = ((MethodArgumentNotValidException) e).getBindingResult().getFieldErrors(); + } + if (e instanceof BindException) { + fieldErrors = ((BindException) e).getBindingResult().getFieldErrors(); + } + if (fieldErrors == null) { + return ResponseEntity.status(HttpStatus.OK) + .body(ServerResponseEntity.fail(ResponseEnum.METHOD_ARGUMENT_NOT_VALID)); + } + + List defaultMessages = new ArrayList<>(fieldErrors.size()); + for (FieldError fieldError : fieldErrors) { + defaultMessages.add(fieldError.getField() + ":" + fieldError.getDefaultMessage()); + } + return ResponseEntity.status(HttpStatus.OK) + .body(ServerResponseEntity.fail(ResponseEnum.METHOD_ARGUMENT_NOT_VALID, defaultMessages)); + } @ExceptionHandler(YamiShopBindException.class) - public ResponseEntity unauthorizedExceptionHandler(YamiShopBindException e){ - e.printStackTrace(); - return ResponseEntity.status(e.getHttpStatusCode()).body(e.getMessage()); + public ResponseEntity> unauthorizedExceptionHandler(YamiShopBindException e){ + log.error("mall4jExceptionHandler", e); + + ServerResponseEntity serverResponseEntity = e.getServerResponseEntity(); + if (serverResponseEntity!=null) { + return ResponseEntity.status(HttpStatus.OK).body(serverResponseEntity); + } + // 失败返回消息 状态码固定为直接显示消息的状态码 + return ResponseEntity.status(HttpStatus.OK).body(ServerResponseEntity.fail(e.getCode(),e.getMessage())); + } + + @ExceptionHandler(Exception.class) + public ResponseEntity> exceptionHandler(Exception e){ + log.error("exceptionHandler", e); + return ResponseEntity.status(HttpStatus.OK).body(ServerResponseEntity.fail(ResponseEnum.EXCEPTION)); } } ``` diff --git a/doc/基本框架设计/统一的系统日志.md b/doc/基本框架设计/统一的系统日志.md index 31c975b..aebbc9d 100644 --- a/doc/基本框架设计/统一的系统日志.md +++ b/doc/基本框架设计/统一的系统日志.md @@ -80,9 +80,9 @@ public class SysLogAspect { @SysLog("修改角色") @PutMapping @PreAuthorize("@pms.hasPermission('sys:role:update')") -public ResponseEntity update(@RequestBody SysRole role){ +public ServerResponseEntity update(@RequestBody SysRole role){ sysRoleService.updateRoleAndRoleMenu(role); - return ResponseEntity.ok().build(); + return ServerResponseEntity.success(); } ``` diff --git a/doc/基本框架设计/统一验证.md b/doc/基本框架设计/统一验证.md index 87524b0..08aa9d9 100644 --- a/doc/基本框架设计/统一验证.md +++ b/doc/基本框架设计/统一验证.md @@ -98,17 +98,17 @@ public class SysUserController { @SysLog("保存用户") @PostMapping @PreAuthorize("@pms.hasPermission('sys:user:save')") - public ResponseEntity save(@Valid @RequestBody SysUser user){ + public ServerResponseEntity save(@Valid @RequestBody SysUser user){ String username = user.getUsername(); SysUser dbUser = sysUserService.getOne(new LambdaQueryWrapper() .eq(SysUser::getUsername, username)); if (dbUser!=null) { - return ResponseEntity.badRequest().body("该用户已存在"); + return ServerResponseEntity.showFailMsg("该用户已存在"); } user.setShopId(SecurityUtils.getSysUser().getShopId()); user.setPassword(passwordEncoder.encode(user.getPassword())); sysUserService.saveUserAndUserRole(user); - return ResponseEntity.ok().build(); + return ServerResponseEntity.success(); } } ``` @@ -118,19 +118,19 @@ public class SysUserController { 并且在`DefaultExceptionHandlerConfig` 拦截由`@Valid` 触发的异常信息并返回: ```java -@Controller +@RestController @RestControllerAdvice public class DefaultExceptionHandlerConfig { @ExceptionHandler(BindException.class) - public ResponseEntity bindExceptionHandler(BindException e){ + public ServerResponseEntity bindExceptionHandler(BindException e){ e.printStackTrace(); return ResponseEntity.status(HttpStatus.BAD_REQUEST).body(e.getBindingResult().getFieldErrors().get(0).getDefaultMessage()); } @ExceptionHandler(MethodArgumentNotValidException.class) - public ResponseEntity methodArgumentNotValidExceptionHandler(MethodArgumentNotValidException e){ + public ServerResponseEntity methodArgumentNotValidExceptionHandler(MethodArgumentNotValidException e){ e.printStackTrace(); return ResponseEntity.status(HttpStatus.BAD_REQUEST).body(e.getBindingResult().getFieldErrors().get(0).getDefaultMessage()); } diff --git a/doc/基本框架设计/通用分页表格.md b/doc/基本框架设计/通用分页表格.md index c98d30b..6f5609c 100644 --- a/doc/基本框架设计/通用分页表格.md +++ b/doc/基本框架设计/通用分页表格.md @@ -143,12 +143,12 @@ public class SysUserController { */ @GetMapping("/page") @PreAuthorize("@pms.hasPermission('sys:user:page')") - public ResponseEntity> page(String username,PageParam page){ + public ServerResponseEntity> page(String username,PageParam page){ IPage sysUserPage = sysUserService.page(page, new LambdaQueryWrapper() .eq(SysUser::getShopId, SecurityUtils.getSysUser().getShopId()) .like(StrUtil.isNotBlank(username), SysUser::getUsername, username)); - return ResponseEntity.ok(sysUserPage); + return ServerResponseEntity.success(sysUserPage); } } ``` diff --git a/doc/接口设计/1. 购物车的设计.md b/doc/接口设计/1. 购物车的设计.md index 428de03..b092abf 100644 --- a/doc/接口设计/1. 购物车的设计.md +++ b/doc/接口设计/1. 购物车的设计.md @@ -16,7 +16,7 @@ ```java @PostMapping("/info") @Operation(summary = "获取用户购物车信息" , description = "获取用户购物车信息,参数为用户选中的活动项数组,以购物车id为key") - public ResponseEntity> info(@RequestBody Map basketIdShopCartParamMap) { + public ServerResponseEntity> info(@RequestBody Map basketIdShopCartParamMap) { String userId = SecurityUtils.getUser().getUserId(); // 更新购物车信息, @@ -26,7 +26,7 @@ // 拿到购物车的所有item List shopCartItems = basketService.getShopCartItems(userId); - return ResponseEntity.ok(basketService.getShopCarts(shopCartItems)); + return ServerResponseEntity.success(basketService.getShopCarts(shopCartItems)); } ``` @@ -41,7 +41,7 @@ -我们现在看看购物车返回的数据`ResponseEntity>`,我们清楚一个购物车是分多个店铺的,每一个店铺就是一个`ShopCartDto`,我们看下这个`bean`。 +我们现在看看购物车返回的数据`ServerResponseEntity>`,我们清楚一个购物车是分多个店铺的,每一个店铺就是一个`ShopCartDto`,我们看下这个`bean`。 ```java @Data diff --git a/doc/接口设计/2. 订单设计-确认订单.md b/doc/接口设计/2. 订单设计-确认订单.md index a7d0266..40deec3 100644 --- a/doc/接口设计/2. 订单设计-确认订单.md +++ b/doc/接口设计/2. 订单设计-确认订单.md @@ -39,7 +39,7 @@ public class OrderParam { ```java @PostMapping("/confirm") @Operation(summary = "结算,生成订单信息" , description = "传入下单所需要的参数进行下单") - public ResponseEntity confirm(@Valid @RequestBody OrderParam orderParam) { + public ServerResponseEntity confirm(@Valid @RequestBody OrderParam orderParam) { // 根据店铺组装购车中的商品信息,返回每个店铺中的购物车商品信息 List shopCarts = basketService.getShopCarts(shopCartItems); } @@ -82,7 +82,7 @@ public class OrderParam { ```java @PostMapping("/confirm") @Operation(summary = "结算,生成订单信息" , description = "传入下单所需要的参数进行下单") - public ResponseEntity confirm(@Valid @RequestBody OrderParam orderParam) { + public ServerResponseEntity confirm(@Valid @RequestBody OrderParam orderParam) { for (ShopCartDto shopCart : shopCarts) { applicationContext.publishEvent(new ConfirmOrderEvent(shopCartOrder,orderParam,shopAllShopCartItems)); diff --git a/doc/接口设计/3. 订单设计-提交订单.md b/doc/接口设计/3. 订单设计-提交订单.md index b99b26c..219e46d 100644 --- a/doc/接口设计/3. 订单设计-提交订单.md +++ b/doc/接口设计/3. 订单设计-提交订单.md @@ -10,7 +10,7 @@ ```java @Operation(summary = "结算,生成订单信息" , description = "传入下单所需要的参数进行下单") - public ResponseEntity confirm(@Valid @RequestBody OrderParam orderParam) { + public ServerResponseEntity confirm(@Valid @RequestBody OrderParam orderParam) { orderService.putConfirmOrderCache(userId,shopCartOrderMergerDto); } ``` @@ -22,7 +22,7 @@ ```java @PostMapping("/submit") @Operation(summary = "提交订单,返回支付流水号" , description = "根据传入的参数判断是否为购物车提交订单,同时对购物车进行删除,用户开始进行支付") - public ResponseEntity submitOrders(@Valid @RequestBody SubmitOrderParam submitOrderParam) { + public ServerResponseEntity submitOrders(@Valid @RequestBody SubmitOrderParam submitOrderParam) { ShopCartOrderMergerDto mergerOrder = orderService.getConfirmOrderCache(userId); if (mergerOrder == null) { throw new YamiShopBindException("订单已过期,请重新下单"); @@ -140,7 +140,7 @@ update tz_sku set stocks = stocks - #{sku.stocks}, version = version + 1,update_ 最后我们回到`controller` ```java -return ResponseEntity.ok(new OrderNumbersDto(orderNumbers.toString())); +return ServerResponseEntity.success(new OrderNumbersDto(orderNumbers.toString())); ``` 这里面返回了多个订单项,这里就变成了并单支付咯,在多个店铺一起进行支付的时候需要进行并单支付的操作,一个店铺的时候,又要变成一个订单支付的操作,可是我们只希望有一个统一支付的接口进行调用,所以我们的支付接口要进行一点点的设计咯。 diff --git a/doc/认证与授权/从授权开始看源码.md b/doc/认证与授权/从授权开始看源码.md index 82f3026..e8026a2 100644 --- a/doc/认证与授权/从授权开始看源码.md +++ b/doc/认证与授权/从授权开始看源码.md @@ -233,7 +233,7 @@ ClientCredentialsTokenEndpointFilter.doFilter() @FrameworkEndpoint public class TokenEndpoint extends AbstractEndpoint{ @RequestMapping(value = "/oauth/token", method=RequestMethod.POST) - public ResponseEntity postAccessToken(Principal principal, @RequestParam + public ServerResponseEntity postAccessToken(Principal principal, @RequestParam Map parameters) throws HttpRequestMethodNotSupportedException { diff --git a/yami-shop-admin/src/main/java/com/yami/shop/admin/config/SwaggerConfiguration.java b/yami-shop-admin/src/main/java/com/yami/shop/admin/config/SwaggerConfiguration.java index 5c37d41..ede3c95 100644 --- a/yami-shop-admin/src/main/java/com/yami/shop/admin/config/SwaggerConfiguration.java +++ b/yami-shop-admin/src/main/java/com/yami/shop/admin/config/SwaggerConfiguration.java @@ -28,8 +28,7 @@ public class SwaggerConfiguration { public GroupedOpenApi baseRestApi() { return GroupedOpenApi.builder() .group("接口文档") - .packagesToScan("com.yami") - .build(); + .packagesToScan("com.yami").build(); } diff --git a/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/AdminLoginController.java b/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/AdminLoginController.java index 6a8a885..333853d 100644 --- a/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/AdminLoginController.java +++ b/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/AdminLoginController.java @@ -15,6 +15,7 @@ import com.anji.captcha.model.vo.CaptchaVO; import com.anji.captcha.service.CaptchaService; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.yami.shop.common.exception.YamiShopBindException; +import com.yami.shop.common.response.ServerResponseEntity; import com.yami.shop.security.admin.dto.CaptchaAuthenticationDTO; import com.yami.shop.security.common.bo.UserInfoInTokenBO; import com.yami.shop.security.common.enums.SysTypeEnum; @@ -27,10 +28,10 @@ import com.yami.shop.sys.model.SysMenu; import com.yami.shop.sys.model.SysUser; import com.yami.shop.sys.service.SysMenuService; import com.yami.shop.sys.service.SysUserService; -import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.http.ResponseEntity; +import com.yami.shop.common.response.ServerResponseEntity; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; @@ -70,14 +71,14 @@ public class AdminLoginController { @PostMapping("/adminLogin") @Operation(summary = "账号密码 + 验证码登录(用于后台登录)" , description = "通过账号/手机号/用户名密码登录") - public ResponseEntity login( + public ServerResponseEntity login( @Valid @RequestBody CaptchaAuthenticationDTO captchaAuthenticationDTO) { // 登陆后台登录需要再校验一遍验证码 CaptchaVO captchaVO = new CaptchaVO(); captchaVO.setCaptchaVerification(captchaAuthenticationDTO.getCaptchaVerification()); ResponseModel response = captchaService.verification(captchaVO); if (!response.isSuccess()) { - return ResponseEntity.badRequest().body("验证码有误或已过期"); + return ServerResponseEntity.showFailMsg("验证码有误或已过期"); } SysUser sysUser = sysUserService.getByUserName(captchaAuthenticationDTO.getUserName()); @@ -104,7 +105,7 @@ public class AdminLoginController { userInfoInToken.setShopId(sysUser.getShopId()); // 存储token返回vo TokenInfoVO tokenInfoVO = tokenStore.storeAndGetVo(userInfoInToken); - return ResponseEntity.ok(tokenInfoVO); + return ServerResponseEntity.success(tokenInfoVO); } diff --git a/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/AreaController.java b/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/AreaController.java index 85fb080..ac46c7d 100644 --- a/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/AreaController.java +++ b/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/AreaController.java @@ -18,7 +18,7 @@ import com.yami.shop.common.exception.YamiShopBindException; import com.yami.shop.common.util.PageParam; import com.yami.shop.service.AreaService; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.http.ResponseEntity; +import com.yami.shop.common.response.ServerResponseEntity; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.*; @@ -41,9 +41,9 @@ public class AreaController { */ @GetMapping("/page") @PreAuthorize("@pms.hasPermission('admin:area:page')") - public ResponseEntity> page(Area area,PageParam page) { + public ServerResponseEntity> page(Area area,PageParam page) { IPage sysUserPage = areaService.page(page, new LambdaQueryWrapper()); - return ResponseEntity.ok(sysUserPage); + return ServerResponseEntity.success(sysUserPage); } /** @@ -51,19 +51,19 @@ public class AreaController { */ @GetMapping("/list") @PreAuthorize("@pms.hasPermission('admin:area:list')") - public ResponseEntity> list(Area area) { + public ServerResponseEntity> list(Area area) { List areas = areaService.list(new LambdaQueryWrapper() .like(area.getAreaName() != null, Area::getAreaName, area.getAreaName())); - return ResponseEntity.ok(areas); + return ServerResponseEntity.success(areas); } /** * 通过父级id获取区域列表 */ @GetMapping("/listByPid") - public ResponseEntity> listByPid(Long pid) { + public ServerResponseEntity> listByPid(Long pid) { List list = areaService.listByPid(pid); - return ResponseEntity.ok(list); + return ServerResponseEntity.success(list); } /** @@ -71,9 +71,9 @@ public class AreaController { */ @GetMapping("/info/{id}") @PreAuthorize("@pms.hasPermission('admin:area:info')") - public ResponseEntity info(@PathVariable("id") Long id) { + public ServerResponseEntity info(@PathVariable("id") Long id) { Area area = areaService.getById(id); - return ResponseEntity.ok(area); + return ServerResponseEntity.success(area); } /** @@ -81,14 +81,14 @@ public class AreaController { */ @PostMapping @PreAuthorize("@pms.hasPermission('admin:area:save')") - public ResponseEntity save(@Valid @RequestBody Area area) { + public ServerResponseEntity save(@Valid @RequestBody Area area) { if (area.getParentId() != null) { Area parentArea = areaService.getById(area.getParentId()); area.setLevel(parentArea.getLevel() + 1); areaService.removeAreaCacheByParentId(area.getParentId()); } areaService.save(area); - return ResponseEntity.ok().build(); + return ServerResponseEntity.success(); } /** @@ -96,7 +96,7 @@ public class AreaController { */ @PutMapping @PreAuthorize("@pms.hasPermission('admin:area:update')") - public ResponseEntity update(@Valid @RequestBody Area area) { + public ServerResponseEntity update(@Valid @RequestBody Area area) { Area areaDb = areaService.getById(area.getAreaId()); // 判断当前省市区级别,如果是1级、2级则不能修改级别,不能修改成别人的下级 if(Objects.equals(areaDb.getLevel(), AreaLevelEnum.FIRST_LEVEL.value()) && !Objects.equals(area.getLevel(),AreaLevelEnum.FIRST_LEVEL.value())){ @@ -108,7 +108,7 @@ public class AreaController { hasSameName(area); areaService.updateById(area); areaService.removeAreaCacheByParentId(area.getParentId()); - return ResponseEntity.ok().build(); + return ServerResponseEntity.success(); } /** @@ -116,11 +116,11 @@ public class AreaController { */ @DeleteMapping("/{id}") @PreAuthorize("@pms.hasPermission('admin:area:delete')") - public ResponseEntity delete(@PathVariable Long id) { + public ServerResponseEntity delete(@PathVariable Long id) { Area area = areaService.getById(id); areaService.removeById(id); areaService.removeAreaCacheByParentId(area.getParentId()); - return ResponseEntity.ok().build(); + return ServerResponseEntity.success(); } private void hasSameName(Area area) { diff --git a/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/AttributeController.java b/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/AttributeController.java index e7106a5..c8bc756 100644 --- a/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/AttributeController.java +++ b/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/AttributeController.java @@ -18,7 +18,7 @@ import com.yami.shop.common.util.PageParam; import com.yami.shop.security.admin.util.SecurityUtils; import com.yami.shop.service.ProdPropService; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.http.ResponseEntity; +import com.yami.shop.common.response.ServerResponseEntity; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.*; @@ -41,11 +41,11 @@ public class AttributeController { */ @GetMapping("/page") @PreAuthorize("@pms.hasPermission('admin:attribute:page')") - public ResponseEntity> page(ProdProp prodProp,PageParam page){ + public ServerResponseEntity> page(ProdProp prodProp,PageParam page){ prodProp.setRule(ProdPropRule.ATTRIBUTE.value()); prodProp.setShopId(SecurityUtils.getSysUser().getShopId()); IPage prodPropPage = prodPropService.pagePropAndValue(prodProp,page); - return ResponseEntity.ok(prodPropPage); + return ServerResponseEntity.success(prodPropPage); } /** @@ -53,9 +53,9 @@ public class AttributeController { */ @GetMapping("/info/{id}") @PreAuthorize("@pms.hasPermission('admin:attribute:info')") - public ResponseEntity info(@PathVariable("id") Long id){ + public ServerResponseEntity info(@PathVariable("id") Long id){ ProdProp prodProp = prodPropService.getById(id); - return ResponseEntity.ok(prodProp); + return ServerResponseEntity.success(prodProp); } /** @@ -63,11 +63,11 @@ public class AttributeController { */ @PostMapping @PreAuthorize("@pms.hasPermission('admin:attribute:save')") - public ResponseEntity save(@Valid ProdProp prodProp){ + public ServerResponseEntity save(@Valid ProdProp prodProp){ prodProp.setRule(ProdPropRule.ATTRIBUTE.value()); prodProp.setShopId(SecurityUtils.getSysUser().getShopId()); prodPropService.saveProdPropAndValues(prodProp); - return ResponseEntity.ok().build(); + return ServerResponseEntity.success(); } /** @@ -75,7 +75,7 @@ public class AttributeController { */ @PutMapping @PreAuthorize("@pms.hasPermission('admin:attribute:update')") - public ResponseEntity update(@Valid ProdProp prodProp){ + public ServerResponseEntity update(@Valid ProdProp prodProp){ ProdProp dbProdProp = prodPropService.getById(prodProp.getPropId()); if (!Objects.equals(dbProdProp.getShopId(), SecurityUtils.getSysUser().getShopId())) { throw new YamiShopBindException("没有权限获取该商品规格信息"); @@ -83,7 +83,7 @@ public class AttributeController { prodProp.setRule(ProdPropRule.ATTRIBUTE.value()); prodProp.setShopId(SecurityUtils.getSysUser().getShopId()); prodPropService.updateProdPropAndValues(prodProp); - return ResponseEntity.ok().build(); + return ServerResponseEntity.success(); } /** @@ -91,8 +91,8 @@ public class AttributeController { */ @DeleteMapping("/{id}") @PreAuthorize("@pms.hasPermission('admin:attribute:delete')") - public ResponseEntity delete(@PathVariable Long id){ + public ServerResponseEntity delete(@PathVariable Long id){ prodPropService.deleteProdPropAndValues(id,ProdPropRule.ATTRIBUTE.value(),SecurityUtils.getSysUser().getShopId()); - return ResponseEntity.ok().build(); + return ServerResponseEntity.success(); } } diff --git a/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/BrandController.java b/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/BrandController.java index 9d302b8..de08d25 100644 --- a/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/BrandController.java +++ b/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/BrandController.java @@ -18,7 +18,7 @@ import com.yami.shop.common.exception.YamiShopBindException; import com.yami.shop.common.util.PageParam; import com.yami.shop.service.BrandService; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.http.ResponseEntity; +import com.yami.shop.common.response.ServerResponseEntity; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.*; @@ -43,12 +43,12 @@ public class BrandController { */ @GetMapping("/page") @PreAuthorize("@pms.hasPermission('admin:brand:page')") - public ResponseEntity> page(Brand brand,PageParam page) { + public ServerResponseEntity> page(Brand brand,PageParam page) { page.setAsc("first_char"); IPage brands = brandService.page(page, new LambdaQueryWrapper() .like(StrUtil.isNotBlank(brand.getBrandName()), Brand::getBrandName, brand.getBrandName())); - return ResponseEntity.ok(brands); + return ServerResponseEntity.success(brands); } /** @@ -56,9 +56,9 @@ public class BrandController { */ @GetMapping("/info/{id}") @PreAuthorize("@pms.hasPermission('admin:brand:info')") - public ResponseEntity info(@PathVariable("id") Long id) { + public ServerResponseEntity info(@PathVariable("id") Long id) { Brand brand = brandService.getById(id); - return ResponseEntity.ok(brand); + return ServerResponseEntity.success(brand); } /** @@ -66,13 +66,13 @@ public class BrandController { */ @PostMapping @PreAuthorize("@pms.hasPermission('admin:brand:save')") - public ResponseEntity save(@Valid Brand brand) { + public ServerResponseEntity save(@Valid Brand brand) { Brand dbBrand = brandService.getByBrandName(brand.getBrandName()); if (dbBrand != null) { throw new YamiShopBindException("该品牌名称已存在"); } brandService.save(brand); - return ResponseEntity.ok().build(); + return ServerResponseEntity.success(); } /** @@ -80,13 +80,13 @@ public class BrandController { */ @PutMapping @PreAuthorize("@pms.hasPermission('admin:brand:update')") - public ResponseEntity update(@Valid Brand brand) { + public ServerResponseEntity update(@Valid Brand brand) { Brand dbBrand = brandService.getByBrandName(brand.getBrandName()); if (dbBrand != null && !Objects.equals(dbBrand.getBrandId(), brand.getBrandId())) { throw new YamiShopBindException("该品牌名称已存在"); } brandService.updateById(brand); - return ResponseEntity.ok().build(); + return ServerResponseEntity.success(); } /** @@ -94,9 +94,9 @@ public class BrandController { */ @DeleteMapping("/{id}") @PreAuthorize("@pms.hasPermission('admin:brand:delete')") - public ResponseEntity delete(@PathVariable Long id) { + public ServerResponseEntity delete(@PathVariable Long id) { brandService.deleteByBrand(id); - return ResponseEntity.ok().build(); + return ServerResponseEntity.success(); } } diff --git a/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/CategoryController.java b/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/CategoryController.java index 6d960e3..2a11ad5 100644 --- a/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/CategoryController.java +++ b/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/CategoryController.java @@ -17,7 +17,7 @@ import com.yami.shop.common.exception.YamiShopBindException; import com.yami.shop.security.admin.util.SecurityUtils; import com.yami.shop.service.CategoryService; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.http.ResponseEntity; +import com.yami.shop.common.response.ServerResponseEntity; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.*; @@ -45,18 +45,18 @@ public class CategoryController { */ @GetMapping("/table") @PreAuthorize("@pms.hasPermission('prod:category:page')") - public ResponseEntity> table(){ + public ServerResponseEntity> table(){ List categoryMenuList = categoryService.tableCategory(SecurityUtils.getSysUser().getShopId()); - return ResponseEntity.ok(categoryMenuList); + return ServerResponseEntity.success(categoryMenuList); } /** * 获取分类信息 */ @GetMapping("/info/{categoryId}") - public ResponseEntity info(@PathVariable("categoryId") Long categoryId){ + public ServerResponseEntity info(@PathVariable("categoryId") Long categoryId){ Category category = categoryService.getById(categoryId); - return ResponseEntity.ok(category); + return ServerResponseEntity.success(category); } @@ -67,7 +67,7 @@ public class CategoryController { @SysLog("保存分类") @PostMapping @PreAuthorize("@pms.hasPermission('prod:category:save')") - public ResponseEntity save(@RequestBody Category category){ + public ServerResponseEntity save(@RequestBody Category category){ category.setShopId(SecurityUtils.getSysUser().getShopId()); category.setRecTime(new Date()); Category categoryName = categoryService.getOne(new LambdaQueryWrapper().eq(Category::getCategoryName,category.getCategoryName()) @@ -76,7 +76,7 @@ public class CategoryController { throw new YamiShopBindException("类目名称已存在!"); } categoryService.saveCategory(category); - return ResponseEntity.ok().build(); + return ServerResponseEntity.success(); } /** @@ -85,10 +85,10 @@ public class CategoryController { @SysLog("更新分类") @PutMapping @PreAuthorize("@pms.hasPermission('prod:category:update')") - public ResponseEntity update(@RequestBody Category category){ + public ServerResponseEntity update(@RequestBody Category category){ category.setShopId(SecurityUtils.getSysUser().getShopId()); if (Objects.equals(category.getParentId(),category.getCategoryId())) { - return ResponseEntity.badRequest().body("分类的上级不能是自己本身"); + return ServerResponseEntity.showFailMsg("分类的上级不能是自己本身"); } Category categoryName = categoryService.getOne(new LambdaQueryWrapper().eq(Category::getCategoryName,category.getCategoryName()) .eq(Category::getShopId,category.getShopId()).ne(Category::getCategoryId,category.getCategoryId())); @@ -105,7 +105,7 @@ public class CategoryController { } } categoryService.updateCategory(category); - return ResponseEntity.ok().build(); + return ServerResponseEntity.success(); } /** @@ -114,21 +114,21 @@ public class CategoryController { @SysLog("删除分类") @DeleteMapping("/{categoryId}") @PreAuthorize("@pms.hasPermission('prod:category:delete')") - public ResponseEntity delete(@PathVariable("categoryId") Long categoryId){ + public ServerResponseEntity delete(@PathVariable("categoryId") Long categoryId){ if (categoryService.count(new LambdaQueryWrapper().eq(Category::getParentId,categoryId)) >0) { - return ResponseEntity.badRequest().body("请删除子分类,再删除该分类"); + return ServerResponseEntity.showFailMsg("请删除子分类,再删除该分类"); } categoryService.deleteCategory(categoryId); - return ResponseEntity.ok().build(); + return ServerResponseEntity.success(); } /** * 所有的 */ @GetMapping("/listCategory") - public ResponseEntity> listCategory(){ + public ServerResponseEntity> listCategory(){ - return ResponseEntity.ok(categoryService.list(new LambdaQueryWrapper() + return ServerResponseEntity.success(categoryService.list(new LambdaQueryWrapper() .le(Category::getGrade, 2) .eq(Category::getShopId, SecurityUtils.getSysUser().getShopId()) .orderByAsc(Category::getSeq))); @@ -138,8 +138,8 @@ public class CategoryController { * 所有的产品分类 */ @GetMapping("/listProdCategory") - public ResponseEntity> listProdCategory(){ + public ServerResponseEntity> listProdCategory(){ List categories = categoryService.treeSelect(SecurityUtils.getSysUser().getShopId(),2); - return ResponseEntity.ok(categories); + return ServerResponseEntity.success(categories); } } diff --git a/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/DeliveryController.java b/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/DeliveryController.java index b6d3f22..a3a799a 100644 --- a/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/DeliveryController.java +++ b/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/DeliveryController.java @@ -13,7 +13,7 @@ package com.yami.shop.admin.controller; import java.util.List; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.http.ResponseEntity; +import com.yami.shop.common.response.ServerResponseEntity; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @@ -36,10 +36,10 @@ public class DeliveryController { * 分页获取 */ @GetMapping("/list") - public ResponseEntity> page(){ + public ServerResponseEntity> page(){ List list = deliveryService.list(); - return ResponseEntity.ok(list); + return ServerResponseEntity.success(list); } } diff --git a/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/FileController.java b/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/FileController.java index 9d79546..3be551c 100644 --- a/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/FileController.java +++ b/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/FileController.java @@ -10,19 +10,17 @@ package com.yami.shop.admin.controller; -import java.io.IOException; - +import com.yami.shop.common.bean.Qiniu; +import com.yami.shop.common.response.ServerResponseEntity; +import com.yami.shop.service.AttachFileService; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.multipart.MultipartFile; -import com.yami.shop.bean.dto.TinymceEditorDto; -import com.yami.shop.common.bean.Qiniu; -import com.yami.shop.service.AttachFileService; +import java.io.IOException; /** * 文件上传 controller @@ -39,18 +37,18 @@ public class FileController { private Qiniu qiniu; @PostMapping("/upload/element") - public ResponseEntity uploadElementFile(@RequestParam("file") MultipartFile file) throws IOException{ + public ServerResponseEntity uploadElementFile(@RequestParam("file") MultipartFile file) throws IOException{ if(file.isEmpty()){ - return ResponseEntity.noContent().build(); + return ServerResponseEntity.success(); } String fileName = attachFileService.uploadFile(file.getBytes(),file.getOriginalFilename()); - return ResponseEntity.ok(fileName); + return ServerResponseEntity.success(fileName); } @PostMapping("/upload/tinymceEditor") - public ResponseEntity uploadTinymceEditorImages(@RequestParam("editorFile") MultipartFile editorFile) throws IOException{ + public ServerResponseEntity uploadTinymceEditorImages(@RequestParam("editorFile") MultipartFile editorFile) throws IOException{ String fileName = attachFileService.uploadFile(editorFile.getBytes(),editorFile.getOriginalFilename()); - return ResponseEntity.ok(qiniu.getResourcesUrl() + fileName); + return ServerResponseEntity.success(qiniu.getResourcesUrl() + fileName); } } diff --git a/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/HotSearchController.java b/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/HotSearchController.java index 4223be9..9f263b1 100644 --- a/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/HotSearchController.java +++ b/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/HotSearchController.java @@ -18,7 +18,7 @@ import com.yami.shop.common.util.PageParam; import com.yami.shop.security.admin.util.SecurityUtils; import com.yami.shop.service.HotSearchService; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.http.ResponseEntity; +import com.yami.shop.common.response.ServerResponseEntity; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.*; @@ -42,7 +42,7 @@ public class HotSearchController { */ @GetMapping("/page") @PreAuthorize("@pms.hasPermission('admin:hotSearch:page')") - public ResponseEntity> page(HotSearch hotSearch,PageParam page){ + public ServerResponseEntity> page(HotSearch hotSearch,PageParam page){ IPage hotSearchs = hotSearchService.page(page,new LambdaQueryWrapper() .eq(HotSearch::getShopId, SecurityUtils.getSysUser().getShopId()) .like(StrUtil.isNotBlank(hotSearch.getContent()), HotSearch::getContent,hotSearch.getContent()) @@ -50,16 +50,16 @@ public class HotSearchController { .eq(hotSearch.getStatus()!=null, HotSearch::getStatus,hotSearch.getStatus()) .orderByAsc(HotSearch::getSeq) ); - return ResponseEntity.ok(hotSearchs); + return ServerResponseEntity.success(hotSearchs); } /** * 获取信息 */ @GetMapping("/info/{id}") - public ResponseEntity info(@PathVariable("id") Long id){ + public ServerResponseEntity info(@PathVariable("id") Long id){ HotSearch hotSearch = hotSearchService.getById(id); - return ResponseEntity.ok(hotSearch); + return ServerResponseEntity.success(hotSearch); } /** @@ -67,13 +67,13 @@ public class HotSearchController { */ @PostMapping @PreAuthorize("@pms.hasPermission('admin:hotSearch:save')") - public ResponseEntity save(@RequestBody @Valid HotSearch hotSearch){ + public ServerResponseEntity save(@RequestBody @Valid HotSearch hotSearch){ hotSearch.setRecDate(new Date()); hotSearch.setShopId(SecurityUtils.getSysUser().getShopId()); hotSearchService.save(hotSearch); //清除缓存 hotSearchService.removeHotSearchDtoCacheByShopId(SecurityUtils.getSysUser().getShopId()); - return ResponseEntity.ok().build(); + return ServerResponseEntity.success(); } /** @@ -81,11 +81,11 @@ public class HotSearchController { */ @PutMapping @PreAuthorize("@pms.hasPermission('admin:hotSearch:update')") - public ResponseEntity update(@RequestBody @Valid HotSearch hotSearch){ + public ServerResponseEntity update(@RequestBody @Valid HotSearch hotSearch){ hotSearchService.updateById(hotSearch); //清除缓存 hotSearchService.removeHotSearchDtoCacheByShopId(SecurityUtils.getSysUser().getShopId()); - return ResponseEntity.ok().build(); + return ServerResponseEntity.success(); } /** @@ -93,10 +93,10 @@ public class HotSearchController { */ @DeleteMapping @PreAuthorize("@pms.hasPermission('admin:hotSearch:delete')") - public ResponseEntity delete(@RequestBody List ids){ + public ServerResponseEntity delete(@RequestBody List ids){ hotSearchService.removeByIds(ids); //清除缓存 hotSearchService.removeHotSearchDtoCacheByShopId(SecurityUtils.getSysUser().getShopId()); - return ResponseEntity.ok().build(); + return ServerResponseEntity.success(); } } diff --git a/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/IndexImgController.java b/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/IndexImgController.java index 46c1969..65914cc 100644 --- a/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/IndexImgController.java +++ b/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/IndexImgController.java @@ -20,7 +20,7 @@ import com.yami.shop.security.admin.util.SecurityUtils; import com.yami.shop.service.IndexImgService; import com.yami.shop.service.ProductService; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.http.ResponseEntity; +import com.yami.shop.common.response.ServerResponseEntity; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.*; @@ -47,12 +47,12 @@ public class IndexImgController { */ @GetMapping("/page") @PreAuthorize("@pms.hasPermission('admin:indexImg:page')") - public ResponseEntity> page(IndexImg indexImg, PageParam page) { + public ServerResponseEntity> page(IndexImg indexImg, PageParam page) { IPage indexImgPage = indexImgService.page(page, new LambdaQueryWrapper() .eq(indexImg.getStatus() != null, IndexImg::getStatus, indexImg.getStatus()) .orderByAsc(IndexImg::getSeq)); - return ResponseEntity.ok(indexImgPage); + return ServerResponseEntity.success(indexImgPage); } /** @@ -60,7 +60,7 @@ public class IndexImgController { */ @GetMapping("/info/{imgId}") @PreAuthorize("@pms.hasPermission('admin:indexImg:info')") - public ResponseEntity info(@PathVariable("imgId") Long imgId) { + public ServerResponseEntity info(@PathVariable("imgId") Long imgId) { Long shopId = SecurityUtils.getSysUser().getShopId(); IndexImg indexImg = indexImgService.getOne(new LambdaQueryWrapper().eq(IndexImg::getShopId, shopId).eq(IndexImg::getImgId, imgId)); if (Objects.nonNull(indexImg.getRelation())) { @@ -68,7 +68,7 @@ public class IndexImgController { indexImg.setPic(product.getPic()); indexImg.setProdName(product.getProdName()); } - return ResponseEntity.ok(indexImg); + return ServerResponseEntity.success(indexImg); } /** @@ -76,14 +76,14 @@ public class IndexImgController { */ @PostMapping @PreAuthorize("@pms.hasPermission('admin:indexImg:save')") - public ResponseEntity save(@RequestBody @Valid IndexImg indexImg) { + public ServerResponseEntity save(@RequestBody @Valid IndexImg indexImg) { Long shopId = SecurityUtils.getSysUser().getShopId(); indexImg.setShopId(shopId); indexImg.setUploadTime(new Date()); checkProdStatus(indexImg); indexImgService.save(indexImg); indexImgService.removeIndexImgCache(); - return ResponseEntity.ok().build(); + return ServerResponseEntity.success(); } /** @@ -91,11 +91,11 @@ public class IndexImgController { */ @PutMapping @PreAuthorize("@pms.hasPermission('admin:indexImg:update')") - public ResponseEntity update(@RequestBody @Valid IndexImg indexImg) { + public ServerResponseEntity update(@RequestBody @Valid IndexImg indexImg) { checkProdStatus(indexImg); indexImgService.saveOrUpdate(indexImg); indexImgService.removeIndexImgCache(); - return ResponseEntity.ok().build(); + return ServerResponseEntity.success(); } /** @@ -103,10 +103,10 @@ public class IndexImgController { */ @DeleteMapping @PreAuthorize("@pms.hasPermission('admin:indexImg:delete')") - public ResponseEntity delete(@RequestBody Long[] ids) { + public ServerResponseEntity delete(@RequestBody Long[] ids) { indexImgService.deleteIndexImgByIds(ids); indexImgService.removeIndexImgCache(); - return ResponseEntity.ok().build(); + return ServerResponseEntity.success(); } private void checkProdStatus(IndexImg indexImg) { diff --git a/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/MessageController.java b/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/MessageController.java index bde6163..782022f 100644 --- a/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/MessageController.java +++ b/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/MessageController.java @@ -16,7 +16,7 @@ import java.util.List; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.http.ResponseEntity; +import com.yami.shop.common.response.ServerResponseEntity; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.DeleteMapping; import org.springframework.web.bind.annotation.GetMapping; @@ -52,11 +52,11 @@ public class MessageController { */ @GetMapping("/page") @PreAuthorize("@pms.hasPermission('admin:message:page')") - public ResponseEntity> page(Message message,PageParam page) { + public ServerResponseEntity> page(Message message,PageParam page) { IPage messages = messageService.page(page, new LambdaQueryWrapper() .like(StrUtil.isNotBlank(message.getUserName()), Message::getUserName, message.getUserName()) .eq(message.getStatus() != null, Message::getStatus, message.getStatus())); - return ResponseEntity.ok(messages); + return ServerResponseEntity.success(messages); } /** @@ -64,9 +64,9 @@ public class MessageController { */ @GetMapping("/info/{id}") @PreAuthorize("@pms.hasPermission('admin:message:info')") - public ResponseEntity info(@PathVariable("id") Long id) { + public ServerResponseEntity info(@PathVariable("id") Long id) { Message message = messageService.getById(id); - return ResponseEntity.ok(message); + return ServerResponseEntity.success(message); } /** @@ -74,9 +74,9 @@ public class MessageController { */ @PostMapping @PreAuthorize("@pms.hasPermission('admin:message:save')") - public ResponseEntity save(@RequestBody Message message) { + public ServerResponseEntity save(@RequestBody Message message) { messageService.save(message); - return ResponseEntity.ok().build(); + return ServerResponseEntity.success(); } /** @@ -84,9 +84,9 @@ public class MessageController { */ @PutMapping @PreAuthorize("@pms.hasPermission('admin:message:update')") - public ResponseEntity update(@RequestBody Message message) { + public ServerResponseEntity update(@RequestBody Message message) { messageService.updateById(message); - return ResponseEntity.ok().build(); + return ServerResponseEntity.success(); } /** @@ -94,12 +94,12 @@ public class MessageController { */ @PutMapping("/release/{id}") @PreAuthorize("@pms.hasPermission('admin:message:release')") - public ResponseEntity release(@PathVariable("id") Long id) { + public ServerResponseEntity release(@PathVariable("id") Long id) { Message message = new Message(); message.setId(id); message.setStatus(MessageStatus.RELEASE.value()); messageService.updateById(message); - return ResponseEntity.ok().build(); + return ServerResponseEntity.success(); } /** @@ -107,12 +107,12 @@ public class MessageController { */ @PutMapping("/cancel/{id}") @PreAuthorize("@pms.hasPermission('admin:message:cancel')") - public ResponseEntity cancel(@PathVariable("id") Long id) { + public ServerResponseEntity cancel(@PathVariable("id") Long id) { Message message = new Message(); message.setId(id); message.setStatus(MessageStatus.CANCEL.value()); messageService.updateById(message); - return ResponseEntity.ok().build(); + return ServerResponseEntity.success(); } /** @@ -120,8 +120,8 @@ public class MessageController { */ @DeleteMapping("/{ids}") @PreAuthorize("@pms.hasPermission('admin:message:delete')") - public ResponseEntity delete(@PathVariable Long[] ids) { + public ServerResponseEntity delete(@PathVariable Long[] ids) { messageService.removeByIds(Arrays.asList(ids)); - return ResponseEntity.ok().build(); + return ServerResponseEntity.success(); } } diff --git a/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/NoticeController.java b/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/NoticeController.java index 4ed4936..2d48a69 100644 --- a/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/NoticeController.java +++ b/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/NoticeController.java @@ -18,7 +18,7 @@ import com.yami.shop.common.util.PageParam; import com.yami.shop.security.admin.util.SecurityUtils; import com.yami.shop.service.NoticeService; import lombok.AllArgsConstructor; -import org.springframework.http.ResponseEntity; +import com.yami.shop.common.response.ServerResponseEntity; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.*; @@ -46,12 +46,12 @@ public class NoticeController { * @return 分页数据 */ @GetMapping("/page") - public ResponseEntity> getNoticePage(PageParam page, Notice notice) { + public ServerResponseEntity> getNoticePage(PageParam page, Notice notice) { IPage noticePage = noticeService.page(page, new LambdaQueryWrapper() .eq(notice.getStatus() != null, Notice::getStatus, notice.getStatus()) .eq(notice.getIsTop()!=null,Notice::getIsTop,notice.getIsTop()) .like(notice.getTitle() != null, Notice::getTitle, notice.getTitle()).orderByDesc(Notice::getUpdateTime)); - return ResponseEntity.ok(noticePage); + return ServerResponseEntity.success(noticePage); } @@ -62,8 +62,8 @@ public class NoticeController { * @return 单个数据 */ @GetMapping("/info/{id}") - public ResponseEntity getById(@PathVariable("id") Long id) { - return ResponseEntity.ok(noticeService.getById(id)); + public ServerResponseEntity getById(@PathVariable("id") Long id) { + return ServerResponseEntity.success(noticeService.getById(id)); } /** @@ -75,14 +75,14 @@ public class NoticeController { @SysLog("新增公告管理") @PostMapping @PreAuthorize("@pms.hasPermission('shop:notice:save')") - public ResponseEntity save(@RequestBody @Valid Notice notice) { + public ServerResponseEntity save(@RequestBody @Valid Notice notice) { notice.setShopId(SecurityUtils.getSysUser().getShopId()); if (notice.getStatus() == 1) { notice.setPublishTime(new Date()); } notice.setUpdateTime(new Date()); noticeService.removeNoticeList(); - return ResponseEntity.ok(noticeService.save(notice)); + return ServerResponseEntity.success(noticeService.save(notice)); } /** @@ -94,7 +94,7 @@ public class NoticeController { @SysLog("修改公告管理") @PutMapping @PreAuthorize("@pms.hasPermission('shop:notice:update')") - public ResponseEntity updateById(@RequestBody @Valid Notice notice) { + public ServerResponseEntity updateById(@RequestBody @Valid Notice notice) { Notice oldNotice = noticeService.getById(notice.getId()); if (oldNotice.getStatus() == 0 && notice.getStatus() == 1) { notice.setPublishTime(new Date()); @@ -102,7 +102,7 @@ public class NoticeController { notice.setUpdateTime(new Date()); noticeService.removeNoticeList(); noticeService.removeNoticeById(notice.getId()); - return ResponseEntity.ok(noticeService.updateById(notice)); + return ServerResponseEntity.success(noticeService.updateById(notice)); } /** @@ -114,10 +114,10 @@ public class NoticeController { @SysLog("删除公告管理") @DeleteMapping("/{id}") @PreAuthorize("@pms.hasPermission('shop:notice:delete')") - public ResponseEntity removeById(@PathVariable Long id) { + public ServerResponseEntity removeById(@PathVariable Long id) { noticeService.removeNoticeList(); noticeService.removeNoticeById(id); - return ResponseEntity.ok(noticeService.removeById(id)); + return ServerResponseEntity.success(noticeService.removeById(id)); } } diff --git a/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/OrderController.java b/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/OrderController.java index 96c0b27..3016051 100644 --- a/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/OrderController.java +++ b/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/OrderController.java @@ -32,7 +32,7 @@ import lombok.extern.slf4j.Slf4j; import org.apache.poi.ss.usermodel.Sheet; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.format.annotation.DateTimeFormat; -import org.springframework.http.ResponseEntity; +import com.yami.shop.common.response.ServerResponseEntity; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; @@ -48,7 +48,7 @@ import java.util.List; * @author lgh on 2018/09/15. */ @Slf4j -@Controller +@RestController @RequestMapping("/order/order") public class OrderController { @@ -72,11 +72,11 @@ public class OrderController { */ @GetMapping("/page") @PreAuthorize("@pms.hasPermission('order:order:page')") - public ResponseEntity> page(OrderParam orderParam,PageParam page) { + public ServerResponseEntity> page(OrderParam orderParam,PageParam page) { Long shopId = SecurityUtils.getSysUser().getShopId(); orderParam.setShopId(shopId); IPage orderPage = orderService.pageOrdersDetailByOrderParam(page, orderParam); - return ResponseEntity.ok(orderPage); + return ServerResponseEntity.success(orderPage); } @@ -86,7 +86,7 @@ public class OrderController { */ @GetMapping("/orderInfo/{orderNumber}") @PreAuthorize("@pms.hasPermission('order:order:info')") - public ResponseEntity info(@PathVariable("orderNumber") String orderNumber) { + public ServerResponseEntity info(@PathVariable("orderNumber") String orderNumber) { Long shopId = SecurityUtils.getSysUser().getShopId(); Order order = orderService.getOrderByOrderNumber(orderNumber); if (!Objects.equal(shopId, order.getShopId())) { @@ -96,7 +96,7 @@ public class OrderController { order.setOrderItems(orderItems); UserAddrOrder userAddrOrder = userAddrOrderService.getById(order.getAddrOrderId()); order.setUserAddrOrder(userAddrOrder); - return ResponseEntity.ok(order); + return ServerResponseEntity.success(order); } /** @@ -104,7 +104,7 @@ public class OrderController { */ @PutMapping("/delivery") @PreAuthorize("@pms.hasPermission('order:order:delivery')") - public ResponseEntity delivery(@RequestBody DeliveryOrderParam deliveryOrderParam) { + public ServerResponseEntity delivery(@RequestBody DeliveryOrderParam deliveryOrderParam) { Long shopId = SecurityUtils.getSysUser().getShopId(); Order order = orderService.getOrderByOrderNumber(deliveryOrderParam.getOrderNumber()); if (!Objects.equal(shopId, order.getShopId())) { @@ -126,7 +126,7 @@ public class OrderController { productService.removeProductCacheByProdId(orderItem.getProdId()); skuService.removeSkuCacheBySkuId(orderItem.getSkuId(),orderItem.getProdId()); } - return ResponseEntity.ok().build(); + return ServerResponseEntity.success(); } /** diff --git a/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/PickAddrController.java b/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/PickAddrController.java index 36bc60e..e520387 100644 --- a/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/PickAddrController.java +++ b/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/PickAddrController.java @@ -14,13 +14,13 @@ import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.yami.shop.bean.model.PickAddr; -import com.yami.shop.common.enums.YamiHttpStatus; import com.yami.shop.common.exception.YamiShopBindException; +import com.yami.shop.common.response.ResponseEnum; +import com.yami.shop.common.response.ServerResponseEntity; import com.yami.shop.common.util.PageParam; import com.yami.shop.security.admin.util.SecurityUtils; import com.yami.shop.service.PickAddrService; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.http.ResponseEntity; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.*; @@ -46,11 +46,11 @@ public class PickAddrController { */ @GetMapping("/page") @PreAuthorize("@pms.hasPermission('shop:pickAddr:page')") - public ResponseEntity> page(PickAddr pickAddr,PageParam page){ + public ServerResponseEntity> page(PickAddr pickAddr,PageParam page){ IPage pickAddrs = pickAddrService.page(page,new LambdaQueryWrapper() .like(StrUtil.isNotBlank(pickAddr.getAddrName()),PickAddr::getAddrName,pickAddr.getAddrName()) .orderByDesc(PickAddr::getAddrId)); - return ResponseEntity.ok(pickAddrs); + return ServerResponseEntity.success(pickAddrs); } /** @@ -58,9 +58,9 @@ public class PickAddrController { */ @GetMapping("/info/{id}") @PreAuthorize("@pms.hasPermission('shop:pickAddr:info')") - public ResponseEntity info(@PathVariable("id") Long id){ + public ServerResponseEntity info(@PathVariable("id") Long id){ PickAddr pickAddr = pickAddrService.getById(id); - return ResponseEntity.ok(pickAddr); + return ServerResponseEntity.success(pickAddr); } /** @@ -68,10 +68,10 @@ public class PickAddrController { */ @PostMapping @PreAuthorize("@pms.hasPermission('shop:pickAddr:save')") - public ResponseEntity save(@Valid @RequestBody PickAddr pickAddr){ + public ServerResponseEntity save(@Valid @RequestBody PickAddr pickAddr){ pickAddr.setShopId(SecurityUtils.getSysUser().getShopId()); pickAddrService.save(pickAddr); - return ResponseEntity.ok().build(); + return ServerResponseEntity.success(); } /** @@ -79,14 +79,14 @@ public class PickAddrController { */ @PutMapping @PreAuthorize("@pms.hasPermission('shop:pickAddr:update')") - public ResponseEntity update(@Valid @RequestBody PickAddr pickAddr){ + public ServerResponseEntity update(@Valid @RequestBody PickAddr pickAddr){ PickAddr dbPickAddr = pickAddrService.getById(pickAddr.getAddrId()); if (!Objects.equals(dbPickAddr.getShopId(),SecurityUtils.getSysUser().getShopId())) { - throw new YamiShopBindException(YamiHttpStatus.UNAUTHORIZED); + throw new YamiShopBindException(ResponseEnum.UNAUTHORIZED); } pickAddrService.updateById(pickAddr); - return ResponseEntity.ok().build(); + return ServerResponseEntity.success(); } /** @@ -94,8 +94,8 @@ public class PickAddrController { */ @DeleteMapping @PreAuthorize("@pms.hasPermission('shop:pickAddr:delete')") - public ResponseEntity delete(@RequestBody Long[] ids){ + public ServerResponseEntity delete(@RequestBody Long[] ids){ pickAddrService.removeByIds(Arrays.asList(ids)); - return ResponseEntity.ok().build(); + return ServerResponseEntity.success(); } } diff --git a/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/ProdCommController.java b/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/ProdCommController.java index 5062ddd..732207b 100644 --- a/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/ProdCommController.java +++ b/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/ProdCommController.java @@ -22,7 +22,7 @@ import javax.validation.Valid; import lombok.SneakyThrows; import org.apache.commons.lang3.StringUtils; -import org.springframework.http.ResponseEntity; +import com.yami.shop.common.response.ServerResponseEntity; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.*; @@ -54,8 +54,8 @@ public class ProdCommController { */ @GetMapping("/page" ) @PreAuthorize("@pms.hasPermission('prod:prodComm:page')" ) - public ResponseEntity> getProdCommPage(PageParam page, ProdComm prodComm) { - return ResponseEntity.ok(prodCommService.getProdCommPage(page,prodComm)); + public ServerResponseEntity> getProdCommPage(PageParam page, ProdComm prodComm) { + return ServerResponseEntity.success(prodCommService.getProdCommPage(page,prodComm)); } @@ -66,8 +66,8 @@ public class ProdCommController { */ @GetMapping("/info/{prodCommId}" ) @PreAuthorize("@pms.hasPermission('prod:prodComm:info')" ) - public ResponseEntity getById(@PathVariable("prodCommId" ) Long prodCommId) { - return ResponseEntity.ok(prodCommService.getById(prodCommId)); + public ServerResponseEntity getById(@PathVariable("prodCommId" ) Long prodCommId) { + return ServerResponseEntity.success(prodCommService.getById(prodCommId)); } /** @@ -78,8 +78,8 @@ public class ProdCommController { @SysLog("新增商品评论" ) @PostMapping @PreAuthorize("@pms.hasPermission('prod:prodComm:save')" ) - public ResponseEntity save(@RequestBody @Valid ProdComm prodComm) { - return ResponseEntity.ok(prodCommService.save(prodComm)); + public ServerResponseEntity save(@RequestBody @Valid ProdComm prodComm) { + return ServerResponseEntity.success(prodCommService.save(prodComm)); } /** @@ -90,9 +90,9 @@ public class ProdCommController { @SysLog("修改商品评论" ) @PutMapping @PreAuthorize("@pms.hasPermission('prod:prodComm:update')" ) - public ResponseEntity updateById(@RequestBody @Valid ProdComm prodComm) { + public ServerResponseEntity updateById(@RequestBody @Valid ProdComm prodComm) { prodComm.setReplyTime(new Date()); - return ResponseEntity.ok(prodCommService.updateById(prodComm)); + return ServerResponseEntity.success(prodCommService.updateById(prodComm)); } /** @@ -103,8 +103,8 @@ public class ProdCommController { @SysLog("删除商品评论" ) @DeleteMapping("/{prodCommId}" ) @PreAuthorize("@pms.hasPermission('prod:prodComm:delete')" ) - public ResponseEntity removeById(@PathVariable Long prodCommId) { - return ResponseEntity.ok(prodCommService.removeById(prodCommId)); + public ServerResponseEntity removeById(@PathVariable Long prodCommId) { + return ServerResponseEntity.success(prodCommService.removeById(prodCommId)); } } diff --git a/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/ProdTagController.java b/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/ProdTagController.java index b81d19a..b8f96bd 100644 --- a/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/ProdTagController.java +++ b/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/ProdTagController.java @@ -21,7 +21,7 @@ import com.yami.shop.common.util.PageParam; import com.yami.shop.security.admin.util.SecurityUtils; import com.yami.shop.service.ProdTagService; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.http.ResponseEntity; +import com.yami.shop.common.response.ServerResponseEntity; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.*; @@ -50,13 +50,13 @@ public class ProdTagController { * @return 分页数据 */ @GetMapping("/page") - public ResponseEntity> getProdTagPage(PageParam page, ProdTag prodTag) { + public ServerResponseEntity> getProdTagPage(PageParam page, ProdTag prodTag) { IPage tagPage = prodTagService.page( page, new LambdaQueryWrapper() .eq(prodTag.getStatus() != null, ProdTag::getStatus, prodTag.getStatus()) .like(prodTag.getTitle() != null, ProdTag::getTitle, prodTag.getTitle()) .orderByDesc(ProdTag::getSeq, ProdTag::getCreateTime)); - return ResponseEntity.ok(tagPage); + return ServerResponseEntity.success(tagPage); } @@ -68,8 +68,8 @@ public class ProdTagController { * @return 单个数据 */ @GetMapping("/info/{id}") - public ResponseEntity getById(@PathVariable("id") Long id) { - return ResponseEntity.ok(prodTagService.getById(id)); + public ServerResponseEntity getById(@PathVariable("id") Long id) { + return ServerResponseEntity.success(prodTagService.getById(id)); } /** @@ -81,7 +81,7 @@ public class ProdTagController { @SysLog("新增商品分组标签") @PostMapping @PreAuthorize("@pms.hasPermission('prod:prodTag:save')") - public ResponseEntity save(@RequestBody @Valid ProdTag prodTag) { + public ServerResponseEntity save(@RequestBody @Valid ProdTag prodTag) { // 查看是否相同的标签 List list = prodTagService.list(new LambdaQueryWrapper().like(ProdTag::getTitle, prodTag.getTitle())); if (CollectionUtil.isNotEmpty(list)) { @@ -93,7 +93,7 @@ public class ProdTagController { prodTag.setUpdateTime(new Date()); prodTag.setShopId(SecurityUtils.getSysUser().getShopId()); prodTagService.removeProdTag(); - return ResponseEntity.ok(prodTagService.save(prodTag)); + return ServerResponseEntity.success(prodTagService.save(prodTag)); } /** @@ -105,10 +105,10 @@ public class ProdTagController { @SysLog("修改商品分组标签") @PutMapping @PreAuthorize("@pms.hasPermission('prod:prodTag:update')") - public ResponseEntity updateById(@RequestBody @Valid ProdTag prodTag) { + public ServerResponseEntity updateById(@RequestBody @Valid ProdTag prodTag) { prodTag.setUpdateTime(new Date()); prodTagService.removeProdTag(); - return ResponseEntity.ok(prodTagService.updateById(prodTag)); + return ServerResponseEntity.success(prodTagService.updateById(prodTag)); } /** @@ -120,18 +120,18 @@ public class ProdTagController { @SysLog("删除商品分组标签") @DeleteMapping("/{id}") @PreAuthorize("@pms.hasPermission('prod:prodTag:delete')") - public ResponseEntity removeById(@PathVariable Long id) { + public ServerResponseEntity removeById(@PathVariable Long id) { ProdTag prodTag = prodTagService.getById(id); if (prodTag.getIsDefault() != 0) { throw new YamiShopBindException("默认标签不能删除"); } prodTagService.removeProdTag(); - return ResponseEntity.ok(prodTagService.removeById(id)); + return ServerResponseEntity.success(prodTagService.removeById(id)); } @GetMapping("/listTagList") - public ResponseEntity> listTagList() { - return ResponseEntity.ok(prodTagService.listProdTag()); + public ServerResponseEntity> listTagList() { + return ServerResponseEntity.success(prodTagService.listProdTag()); } diff --git a/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/ProdTagReferenceController.java b/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/ProdTagReferenceController.java index 06ed61c..07a430a 100644 --- a/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/ProdTagReferenceController.java +++ b/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/ProdTagReferenceController.java @@ -18,7 +18,7 @@ import com.yami.shop.bean.model.ProdTagReference; import com.yami.shop.common.annotation.SysLog; import com.yami.shop.service.ProdTagReferenceService; import lombok.AllArgsConstructor; -import org.springframework.http.ResponseEntity; +import com.yami.shop.common.response.ServerResponseEntity; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.*; @@ -44,8 +44,8 @@ public class ProdTagReferenceController { * @return 分页数据 */ @GetMapping("/page" ) - public ResponseEntity> getProdTagReferencePage(PageParam page, ProdTagReference prodTagReference) { - return ResponseEntity.ok(prodTagReferenceService.page(page, new LambdaQueryWrapper())); + public ServerResponseEntity> getProdTagReferencePage(PageParam page, ProdTagReference prodTagReference) { + return ServerResponseEntity.success(prodTagReferenceService.page(page, new LambdaQueryWrapper())); } @@ -55,8 +55,8 @@ public class ProdTagReferenceController { * @return 单个数据 */ @GetMapping("/info/{referenceId}" ) - public ResponseEntity getById(@PathVariable("referenceId" ) Long referenceId) { - return ResponseEntity.ok(prodTagReferenceService.getById(referenceId)); + public ServerResponseEntity getById(@PathVariable("referenceId" ) Long referenceId) { + return ServerResponseEntity.success(prodTagReferenceService.getById(referenceId)); } /** @@ -67,8 +67,8 @@ public class ProdTagReferenceController { @SysLog("新增分组标签引用" ) @PostMapping @PreAuthorize("@pms.hasPermission('generator:prodTagReference:save')" ) - public ResponseEntity save(@RequestBody @Valid ProdTagReference prodTagReference) { - return ResponseEntity.ok(prodTagReferenceService.save(prodTagReference)); + public ServerResponseEntity save(@RequestBody @Valid ProdTagReference prodTagReference) { + return ServerResponseEntity.success(prodTagReferenceService.save(prodTagReference)); } /** @@ -79,8 +79,8 @@ public class ProdTagReferenceController { @SysLog("修改分组标签引用" ) @PutMapping @PreAuthorize("@pms.hasPermission('generator:prodTagReference:update')" ) - public ResponseEntity updateById(@RequestBody @Valid ProdTagReference prodTagReference) { - return ResponseEntity.ok(prodTagReferenceService.updateById(prodTagReference)); + public ServerResponseEntity updateById(@RequestBody @Valid ProdTagReference prodTagReference) { + return ServerResponseEntity.success(prodTagReferenceService.updateById(prodTagReference)); } /** @@ -91,8 +91,8 @@ public class ProdTagReferenceController { @SysLog("删除分组标签引用" ) @DeleteMapping("/{referenceId}" ) @PreAuthorize("@pms.hasPermission('generator:prodTagReference:delete')" ) - public ResponseEntity removeById(@PathVariable Long referenceId) { - return ResponseEntity.ok(prodTagReferenceService.removeById(referenceId)); + public ServerResponseEntity removeById(@PathVariable Long referenceId) { + return ServerResponseEntity.success(prodTagReferenceService.removeById(referenceId)); } } diff --git a/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/ProductController.java b/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/ProductController.java index e921f8a..fdc0028 100644 --- a/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/ProductController.java +++ b/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/ProductController.java @@ -18,6 +18,7 @@ import com.yami.shop.bean.model.Product; import com.yami.shop.bean.model.Sku; import com.yami.shop.bean.param.ProductParam; import com.yami.shop.common.exception.YamiShopBindException; +import com.yami.shop.common.response.ServerResponseEntity; import com.yami.shop.common.util.Json; import com.yami.shop.common.util.PageParam; import com.yami.shop.security.admin.util.SecurityUtils; @@ -27,9 +28,7 @@ import com.yami.shop.service.ProductService; import com.yami.shop.service.SkuService; import ma.glasnost.orika.MapperFacade; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.http.ResponseEntity; import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; import javax.validation.Valid; @@ -43,7 +42,7 @@ import java.util.Objects; * * @author lgh */ -@Controller +@RestController @RequestMapping("/prod/prod") public class ProductController { @@ -67,14 +66,14 @@ public class ProductController { */ @GetMapping("/page") @PreAuthorize("@pms.hasPermission('prod:prod:page')") - public ResponseEntity> page(ProductParam product, PageParam page) { + public ServerResponseEntity> page(ProductParam product, PageParam page) { IPage products = productService.page(page, new LambdaQueryWrapper() .like(StrUtil.isNotBlank(product.getProdName()), Product::getProdName, product.getProdName()) .eq(Product::getShopId, SecurityUtils.getSysUser().getShopId()) .eq(product.getStatus() != null, Product::getStatus, product.getStatus()) .orderByDesc(Product::getPutawayTime)); - return ResponseEntity.ok(products); + return ServerResponseEntity.success(products); } /** @@ -82,7 +81,7 @@ public class ProductController { */ @GetMapping("/info/{prodId}") @PreAuthorize("@pms.hasPermission('prod:prod:info')") - public ResponseEntity info(@PathVariable("prodId") Long prodId) { + public ServerResponseEntity info(@PathVariable("prodId") Long prodId) { Product prod = productService.getProductByProdId(prodId); if (!Objects.equals(prod.getShopId(), SecurityUtils.getSysUser().getShopId())) { throw new YamiShopBindException("没有权限获取该商品规格信息"); @@ -93,7 +92,7 @@ public class ProductController { //获取分组标签 List listTagId = prodTagReferenceService.listTagIdByProdId(prodId); prod.setTagList(listTagId); - return ResponseEntity.ok(prod); + return ServerResponseEntity.success(prod); } /** @@ -101,7 +100,7 @@ public class ProductController { */ @PostMapping @PreAuthorize("@pms.hasPermission('prod:prod:save')") - public ResponseEntity save(@Valid @RequestBody ProductParam productParam) { + public ServerResponseEntity save(@Valid @RequestBody ProductParam productParam) { checkParam(productParam); Product product = mapperFacade.map(productParam, Product.class); @@ -113,7 +112,7 @@ public class ProductController { } product.setCreateTime(new Date()); productService.saveProduct(product); - return ResponseEntity.ok().build(); + return ServerResponseEntity.success(); } /** @@ -121,11 +120,11 @@ public class ProductController { */ @PutMapping @PreAuthorize("@pms.hasPermission('prod:prod:update')") - public ResponseEntity update(@Valid @RequestBody ProductParam productParam) { + public ServerResponseEntity update(@Valid @RequestBody ProductParam productParam) { checkParam(productParam); Product dbProduct = productService.getProductByProdId(productParam.getProdId()); if (!Objects.equals(dbProduct.getShopId(), SecurityUtils.getSysUser().getShopId())) { - return ResponseEntity.badRequest().body("无法修改非本店铺商品信息"); + return ServerResponseEntity.showFailMsg("无法修改非本店铺商品信息"); } List dbSkus = skuService.listByProdId(dbProduct.getProdId()); @@ -150,13 +149,13 @@ public class ProductController { for (Sku sku : dbSkus) { skuService.removeSkuCacheBySkuId(sku.getSkuId(), sku.getProdId()); } - return ResponseEntity.ok().build(); + return ServerResponseEntity.success(); } /** * 删除 */ - public ResponseEntity delete(Long prodId) { + public ServerResponseEntity delete(Long prodId) { Product dbProduct = productService.getProductByProdId(prodId); if (!Objects.equals(dbProduct.getShopId(), SecurityUtils.getSysUser().getShopId())) { throw new YamiShopBindException("无法获取非本店铺商品信息"); @@ -176,7 +175,7 @@ public class ProductController { basketService.removeShopCartItemsCacheByUserId(userId); } - return ResponseEntity.ok().build(); + return ServerResponseEntity.success(); } /** @@ -184,11 +183,11 @@ public class ProductController { */ @DeleteMapping @PreAuthorize("@pms.hasPermission('prod:prod:delete')") - public ResponseEntity batchDelete(@RequestBody Long[] prodIds) { + public ServerResponseEntity batchDelete(@RequestBody Long[] prodIds) { for (Long prodId : prodIds) { delete(prodId); } - return ResponseEntity.ok().build(); + return ServerResponseEntity.success(); } /** @@ -196,7 +195,7 @@ public class ProductController { */ @PutMapping("/prodStatus") @PreAuthorize("@pms.hasPermission('prod:prod:status')") - public ResponseEntity shopStatus(@RequestParam Long prodId, @RequestParam Integer prodStatus) { + public ServerResponseEntity shopStatus(@RequestParam Long prodId, @RequestParam Integer prodStatus) { Product product = new Product(); product.setProdId(prodId); product.setStatus(prodStatus); @@ -210,7 +209,7 @@ public class ProductController { for (String userId : userIds) { basketService.removeShopCartItemsCacheByUserId(userId); } - return ResponseEntity.ok().build(); + return ServerResponseEntity.success(); } private void checkParam(ProductParam productParam) { diff --git a/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/ShopDetailController.java b/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/ShopDetailController.java index 64b8da8..a435829 100644 --- a/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/ShopDetailController.java +++ b/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/ShopDetailController.java @@ -20,7 +20,7 @@ import com.yami.shop.security.admin.util.SecurityUtils; import com.yami.shop.service.ShopDetailService; import ma.glasnost.orika.MapperFacade; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.http.ResponseEntity; +import com.yami.shop.common.response.ServerResponseEntity; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; @@ -36,7 +36,7 @@ import java.util.stream.Collectors; * * @author lgh on 2018/08/29. */ -@Controller +@RestController @RequestMapping("/shop/shopDetail") public class ShopDetailController { @@ -51,23 +51,23 @@ public class ShopDetailController { * 修改分销开关 */ @PutMapping("/isDistribution") - public ResponseEntity updateIsDistribution(@RequestParam Integer isDistribution){ + public ServerResponseEntity updateIsDistribution(@RequestParam Integer isDistribution){ ShopDetail shopDetail=new ShopDetail(); shopDetail.setShopId(SecurityUtils.getSysUser().getShopId()); shopDetail.setIsDistribution(isDistribution); shopDetailService.updateById(shopDetail); // 更新完成后删除缓存 shopDetailService.removeShopDetailCacheByShopId(shopDetail.getShopId()); - return ResponseEntity.ok().build(); + return ServerResponseEntity.success(); } /** * 获取信息 */ @GetMapping("/info") @PreAuthorize("@pms.hasPermission('shop:shopDetail:info')") - public ResponseEntity info(){ + public ServerResponseEntity info(){ ShopDetail shopDetail = shopDetailService.getShopDetailByShopId(SecurityUtils.getSysUser().getShopId()); - return ResponseEntity.ok(shopDetail); + return ServerResponseEntity.success(shopDetail); } @@ -76,12 +76,12 @@ public class ShopDetailController { */ @GetMapping("/page") @PreAuthorize("@pms.hasPermission('shop:shopDetail:page')") - public ResponseEntity> page(ShopDetail shopDetail,PageParam page){ + public ServerResponseEntity> page(ShopDetail shopDetail,PageParam page){ IPage shopDetails = shopDetailService.page(page, new LambdaQueryWrapper() .like(StrUtil.isNotBlank(shopDetail.getShopName()),ShopDetail::getShopName,shopDetail.getShopName()) .orderByDesc(ShopDetail::getShopId)); - return ResponseEntity.ok(shopDetails); + return ServerResponseEntity.success(shopDetails); } /** @@ -89,10 +89,10 @@ public class ShopDetailController { */ @GetMapping("/info/{shopId}") @PreAuthorize("@pms.hasPermission('shop:shopDetail:info')") - public ResponseEntity info(@PathVariable("shopId") Long shopId){ + public ServerResponseEntity info(@PathVariable("shopId") Long shopId){ ShopDetail shopDetail = shopDetailService.getShopDetailByShopId(shopId); // 店铺图片 - return ResponseEntity.ok(shopDetail); + return ServerResponseEntity.success(shopDetail); } /** @@ -100,12 +100,12 @@ public class ShopDetailController { */ @PostMapping @PreAuthorize("@pms.hasPermission('shop:shopDetail:save')") - public ResponseEntity save(@Valid ShopDetailParam shopDetailParam){ + public ServerResponseEntity save(@Valid ShopDetailParam shopDetailParam){ ShopDetail shopDetail = mapperFacade.map(shopDetailParam, ShopDetail.class); shopDetail.setCreateTime(new Date()); shopDetail.setShopStatus(1); shopDetailService.save(shopDetail); - return ResponseEntity.ok().build(); + return ServerResponseEntity.success(); } /** @@ -113,12 +113,12 @@ public class ShopDetailController { */ @PutMapping @PreAuthorize("@pms.hasPermission('shop:shopDetail:update')") - public ResponseEntity update(@Valid ShopDetailParam shopDetailParam){ + public ServerResponseEntity update(@Valid ShopDetailParam shopDetailParam){ ShopDetail daShopDetail = shopDetailService.getShopDetailByShopId(shopDetailParam.getShopId()); ShopDetail shopDetail = mapperFacade.map(shopDetailParam, ShopDetail.class); shopDetail.setUpdateTime(new Date()); shopDetailService.updateShopDetail(shopDetail,daShopDetail); - return ResponseEntity.ok().build(); + return ServerResponseEntity.success(); } /** @@ -126,9 +126,9 @@ public class ShopDetailController { */ @DeleteMapping("/{id}") @PreAuthorize("@pms.hasPermission('shop:shopDetail:delete')") - public ResponseEntity delete(@PathVariable Long id){ + public ServerResponseEntity delete(@PathVariable Long id){ shopDetailService.deleteShopDetailByShopId(id); - return ResponseEntity.ok().build(); + return ServerResponseEntity.success(); } /** @@ -136,14 +136,14 @@ public class ShopDetailController { */ @PutMapping("/shopStatus") @PreAuthorize("@pms.hasPermission('shop:shopDetail:shopStatus')") - public ResponseEntity shopStatus(@RequestParam Long shopId,@RequestParam Integer shopStatus){ + public ServerResponseEntity shopStatus(@RequestParam Long shopId,@RequestParam Integer shopStatus){ ShopDetail shopDetail = new ShopDetail(); shopDetail.setShopId(shopId); shopDetail.setShopStatus(shopStatus); shopDetailService.updateById(shopDetail); // 更新完成后删除缓存 shopDetailService.removeShopDetailCacheByShopId(shopDetail.getShopId()); - return ResponseEntity.ok().build(); + return ServerResponseEntity.success(); } @@ -151,13 +151,13 @@ public class ShopDetailController { * 获取所有的店铺名称 */ @GetMapping("/listShopName") - public ResponseEntity> listShopName(){ + public ServerResponseEntity> listShopName(){ List list = shopDetailService.list().stream().map((dbShopDetail) ->{ ShopDetail shopDetail = new ShopDetail(); shopDetail.setShopId(dbShopDetail.getShopId()); shopDetail.setShopName(dbShopDetail.getShopName()); return shopDetail; }).collect(Collectors.toList()); - return ResponseEntity.ok(list); + return ServerResponseEntity.success(list); } } diff --git a/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/SpecController.java b/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/SpecController.java index e4976d8..c6a987b 100644 --- a/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/SpecController.java +++ b/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/SpecController.java @@ -21,7 +21,7 @@ import com.yami.shop.security.admin.util.SecurityUtils; import com.yami.shop.service.ProdPropService; import com.yami.shop.service.ProdPropValueService; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.http.ResponseEntity; +import com.yami.shop.common.response.ServerResponseEntity; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.*; @@ -48,11 +48,11 @@ public class SpecController { */ @GetMapping("/page") @PreAuthorize("@pms.hasPermission('prod:spec:page')") - public ResponseEntity> page(ProdProp prodProp,PageParam page) { + public ServerResponseEntity> page(ProdProp prodProp,PageParam page) { prodProp.setRule(ProdPropRule.SPEC.value()); prodProp.setShopId(SecurityUtils.getSysUser().getShopId()); IPage list = prodPropService.pagePropAndValue(prodProp, page); - return ResponseEntity.ok(list); + return ServerResponseEntity.success(list); } @@ -60,18 +60,18 @@ public class SpecController { * 获取所有的规格 */ @GetMapping("/list") - public ResponseEntity> list() { + public ServerResponseEntity> list() { List list = prodPropService.list(new LambdaQueryWrapper().eq(ProdProp::getRule, ProdPropRule.SPEC.value()).eq(ProdProp::getShopId, SecurityUtils.getSysUser().getShopId())); - return ResponseEntity.ok(list); + return ServerResponseEntity.success(list); } /** * 根据规格id获取规格值 */ @GetMapping("/listSpecValue/{specId}") - public ResponseEntity> listSpecValue(@PathVariable("specId") Long specId) { + public ServerResponseEntity> listSpecValue(@PathVariable("specId") Long specId) { List list = prodPropValueService.list(new LambdaQueryWrapper().eq(ProdPropValue::getPropId, specId)); - return ResponseEntity.ok(list); + return ServerResponseEntity.success(list); } /** @@ -79,11 +79,11 @@ public class SpecController { */ @PostMapping @PreAuthorize("@pms.hasPermission('prod:spec:save')") - public ResponseEntity save(@Valid @RequestBody ProdProp prodProp) { + public ServerResponseEntity save(@Valid @RequestBody ProdProp prodProp) { prodProp.setRule(ProdPropRule.SPEC.value()); prodProp.setShopId(SecurityUtils.getSysUser().getShopId()); prodPropService.saveProdPropAndValues(prodProp); - return ResponseEntity.ok().build(); + return ServerResponseEntity.success(); } /** @@ -91,7 +91,7 @@ public class SpecController { */ @PutMapping @PreAuthorize("@pms.hasPermission('prod:spec:update')") - public ResponseEntity update(@Valid @RequestBody ProdProp prodProp) { + public ServerResponseEntity update(@Valid @RequestBody ProdProp prodProp) { ProdProp dbProdProp = prodPropService.getById(prodProp.getPropId()); if (!Objects.equals(dbProdProp.getShopId(), SecurityUtils.getSysUser().getShopId())) { throw new YamiShopBindException("没有权限获取该商品规格信息"); @@ -99,7 +99,7 @@ public class SpecController { prodProp.setRule(ProdPropRule.SPEC.value()); prodProp.setShopId(SecurityUtils.getSysUser().getShopId()); prodPropService.updateProdPropAndValues(prodProp); - return ResponseEntity.ok().build(); + return ServerResponseEntity.success(); } /** @@ -107,19 +107,19 @@ public class SpecController { */ @DeleteMapping("/{id}") @PreAuthorize("@pms.hasPermission('prod:spec:delete')") - public ResponseEntity delete(@PathVariable Long id) { + public ServerResponseEntity delete(@PathVariable Long id) { prodPropService.deleteProdPropAndValues(id, ProdPropRule.SPEC.value(), SecurityUtils.getSysUser().getShopId()); - return ResponseEntity.ok().build(); + return ServerResponseEntity.success(); } /** * 根据获取规格值最大的自增id */ @GetMapping("/listSpecMaxValueId") - public ResponseEntity listSpecMaxValueId() { + public ServerResponseEntity listSpecMaxValueId() { ProdPropValue propValue = prodPropValueService.getOne(new LambdaQueryWrapper() .orderByDesc(ProdPropValue::getValueId).last("limit 1")); - return ResponseEntity.ok(Objects.isNull(propValue) ? 0L : propValue.getValueId()); + return ServerResponseEntity.success(Objects.isNull(propValue) ? 0L : propValue.getValueId()); } } diff --git a/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/TransportController.java b/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/TransportController.java index edbfdf5..7921270 100644 --- a/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/TransportController.java +++ b/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/TransportController.java @@ -18,7 +18,7 @@ import com.yami.shop.security.admin.util.SecurityUtils; import com.yami.shop.service.TransportService; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.http.ResponseEntity; +import com.yami.shop.common.response.ServerResponseEntity; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.*; @@ -41,13 +41,13 @@ public class TransportController { */ @GetMapping("/page") @PreAuthorize("@pms.hasPermission('shop:transport:page')") - public ResponseEntity> page(Transport transport,PageParam page) { + public ServerResponseEntity> page(Transport transport,PageParam page) { Long shopId = SecurityUtils.getSysUser().getShopId(); IPage transports = transportService.page(page, new LambdaQueryWrapper() .eq(Transport::getShopId, shopId) .like(StringUtils.isNotBlank(transport.getTransName()), Transport::getTransName, transport.getTransName())); - return ResponseEntity.ok(transports); + return ServerResponseEntity.success(transports); } /** @@ -55,9 +55,9 @@ public class TransportController { */ @GetMapping("/info/{id}") @PreAuthorize("@pms.hasPermission('shop:transport:info')") - public ResponseEntity info(@PathVariable("id") Long id) { + public ServerResponseEntity info(@PathVariable("id") Long id) { Transport transport = transportService.getTransportAndAllItems(id); - return ResponseEntity.ok(transport); + return ServerResponseEntity.success(transport); } /** @@ -65,13 +65,13 @@ public class TransportController { */ @PostMapping @PreAuthorize("@pms.hasPermission('shop:transport:save')") - public ResponseEntity save(@RequestBody Transport transport) { + public ServerResponseEntity save(@RequestBody Transport transport) { Long shopId = SecurityUtils.getSysUser().getShopId(); transport.setShopId(shopId); Date createTime = new Date(); transport.setCreateTime(createTime); transportService.insertTransportAndTransfee(transport); - return ResponseEntity.ok().build(); + return ServerResponseEntity.success(); } /** @@ -79,9 +79,9 @@ public class TransportController { */ @PutMapping @PreAuthorize("@pms.hasPermission('shop:transport:update')") - public ResponseEntity update(@RequestBody Transport transport) { + public ServerResponseEntity update(@RequestBody Transport transport) { transportService.updateTransportAndTransfee(transport); - return ResponseEntity.ok().build(); + return ServerResponseEntity.success(); } /** @@ -89,13 +89,13 @@ public class TransportController { */ @DeleteMapping @PreAuthorize("@pms.hasPermission('shop:transport:delete')") - public ResponseEntity delete(@RequestBody Long[] ids) { + public ServerResponseEntity delete(@RequestBody Long[] ids) { transportService.deleteTransportAndTransfeeAndTranscity(ids); // 删除运费模板的缓存 for (Long id : ids) { transportService.removeTransportAndAllItemsCache(id); } - return ResponseEntity.ok().build(); + return ServerResponseEntity.success(); } @@ -103,10 +103,10 @@ public class TransportController { * 获取运费模板列表 */ @GetMapping("/list") - public ResponseEntity> list() { + public ServerResponseEntity> list() { Long shopId = SecurityUtils.getSysUser().getShopId(); List list = transportService.list(new LambdaQueryWrapper().eq(Transport::getShopId, shopId)); - return ResponseEntity.ok(list); + return ServerResponseEntity.success(list); } } diff --git a/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/UserAddrController.java b/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/UserAddrController.java index 8034945..7fa2b0b 100644 --- a/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/UserAddrController.java +++ b/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/UserAddrController.java @@ -17,7 +17,7 @@ import com.yami.shop.bean.model.UserAddr; import com.yami.shop.common.annotation.SysLog; import com.yami.shop.service.UserAddrService; import lombok.AllArgsConstructor; -import org.springframework.http.ResponseEntity; +import com.yami.shop.common.response.ServerResponseEntity; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.*; @@ -44,8 +44,8 @@ public class UserAddrController { * @return 分页数据 */ @GetMapping("/page") - public ResponseEntity> getUserAddrPage(PageParam page, UserAddr userAddr) { - return ResponseEntity.ok(userAddrService.page(page, new LambdaQueryWrapper())); + public ServerResponseEntity> getUserAddrPage(PageParam page, UserAddr userAddr) { + return ServerResponseEntity.success(userAddrService.page(page, new LambdaQueryWrapper())); } @@ -56,8 +56,8 @@ public class UserAddrController { * @return 单个数据 */ @GetMapping("/info/{addrId}") - public ResponseEntity getById(@PathVariable("addrId") Long addrId) { - return ResponseEntity.ok(userAddrService.getById(addrId)); + public ServerResponseEntity getById(@PathVariable("addrId") Long addrId) { + return ServerResponseEntity.success(userAddrService.getById(addrId)); } /** @@ -69,8 +69,8 @@ public class UserAddrController { @SysLog("新增用户地址管理") @PostMapping @PreAuthorize("@pms.hasPermission('user:addr:save')") - public ResponseEntity save(@RequestBody @Valid UserAddr userAddr) { - return ResponseEntity.ok(userAddrService.save(userAddr)); + public ServerResponseEntity save(@RequestBody @Valid UserAddr userAddr) { + return ServerResponseEntity.success(userAddrService.save(userAddr)); } /** @@ -82,8 +82,8 @@ public class UserAddrController { @SysLog("修改用户地址管理") @PutMapping @PreAuthorize("@pms.hasPermission('user:addr:update')") - public ResponseEntity updateById(@RequestBody @Valid UserAddr userAddr) { - return ResponseEntity.ok(userAddrService.updateById(userAddr)); + public ServerResponseEntity updateById(@RequestBody @Valid UserAddr userAddr) { + return ServerResponseEntity.success(userAddrService.updateById(userAddr)); } /** @@ -95,8 +95,8 @@ public class UserAddrController { @SysLog("删除用户地址管理") @DeleteMapping("/{addrId}") @PreAuthorize("@pms.hasPermission('user:addr:delete')") - public ResponseEntity removeById(@PathVariable Long addrId) { - return ResponseEntity.ok(userAddrService.removeById(addrId)); + public ServerResponseEntity removeById(@PathVariable Long addrId) { + return ServerResponseEntity.success(userAddrService.removeById(addrId)); } } diff --git a/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/UserController.java b/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/UserController.java index c065051..d33bbc4 100644 --- a/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/UserController.java +++ b/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/UserController.java @@ -17,7 +17,7 @@ import com.yami.shop.bean.model.User; import com.yami.shop.common.util.PageParam; import com.yami.shop.service.UserService; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.http.ResponseEntity; +import com.yami.shop.common.response.ServerResponseEntity; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.*; @@ -40,14 +40,14 @@ public class UserController { */ @GetMapping("/page") @PreAuthorize("@pms.hasPermission('admin:user:page')") - public ResponseEntity> page(User user,PageParam page) { + public ServerResponseEntity> page(User user,PageParam page) { IPage userPage = userService.page(page, new LambdaQueryWrapper() .like(StrUtil.isNotBlank(user.getNickName()), User::getNickName, user.getNickName()) .eq(user.getStatus() != null, User::getStatus, user.getStatus())); for (User userResult : userPage.getRecords()) { userResult.setNickName(userResult.getNickName() == null ? "" : userResult.getNickName()); } - return ResponseEntity.ok(userPage); + return ServerResponseEntity.success(userPage); } /** @@ -55,10 +55,10 @@ public class UserController { */ @GetMapping("/info/{userId}") @PreAuthorize("@pms.hasPermission('admin:user:info')") - public ResponseEntity info(@PathVariable("userId") String userId) { + public ServerResponseEntity info(@PathVariable("userId") String userId) { User user = userService.getById(userId); user.setNickName(user.getNickName() == null ? "" : user.getNickName()); - return ResponseEntity.ok(user); + return ServerResponseEntity.success(user); } /** @@ -66,11 +66,11 @@ public class UserController { */ @PutMapping @PreAuthorize("@pms.hasPermission('admin:user:update')") - public ResponseEntity update(@RequestBody User user) { + public ServerResponseEntity update(@RequestBody User user) { user.setModifyTime(new Date()); user.setNickName(user.getNickName() == null ? "" : user.getNickName()); userService.updateById(user); - return ResponseEntity.ok().build(); + return ServerResponseEntity.success(); } /** @@ -78,8 +78,8 @@ public class UserController { */ @DeleteMapping @PreAuthorize("@pms.hasPermission('admin:user:delete')") - public ResponseEntity delete(@RequestBody String[] userIds) { + public ServerResponseEntity delete(@RequestBody String[] userIds) { userService.removeByIds(Arrays.asList(userIds)); - return ResponseEntity.ok().build(); + return ServerResponseEntity.success(); } } diff --git a/yami-shop-api/src/main/java/com/yami/shop/api/config/SwaggerConfiguration.java b/yami-shop-api/src/main/java/com/yami/shop/api/config/SwaggerConfiguration.java index ea141e8..41b9fe6 100644 --- a/yami-shop-api/src/main/java/com/yami/shop/api/config/SwaggerConfiguration.java +++ b/yami-shop-api/src/main/java/com/yami/shop/api/config/SwaggerConfiguration.java @@ -28,8 +28,7 @@ public class SwaggerConfiguration { public GroupedOpenApi createRestApi() { return GroupedOpenApi.builder() .group("接口文档") - .packagesToScan("com.yami.shop.api") - .build(); + .packagesToScan("com.yami.shop.api").build(); } diff --git a/yami-shop-api/src/main/java/com/yami/shop/api/controller/AddrController.java b/yami-shop-api/src/main/java/com/yami/shop/api/controller/AddrController.java index e47675f..c882a1d 100644 --- a/yami-shop-api/src/main/java/com/yami/shop/api/controller/AddrController.java +++ b/yami-shop-api/src/main/java/com/yami/shop/api/controller/AddrController.java @@ -15,15 +15,15 @@ import com.yami.shop.bean.app.dto.UserAddrDto; import com.yami.shop.bean.app.param.AddrParam; import com.yami.shop.bean.model.UserAddr; import com.yami.shop.common.exception.YamiShopBindException; +import com.yami.shop.common.response.ServerResponseEntity; import com.yami.shop.security.api.util.SecurityUtils; import com.yami.shop.service.UserAddrService; -import io.swagger.v3.oas.annotations.tags.Tag; -import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; import lombok.AllArgsConstructor; import ma.glasnost.orika.MapperFacade; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.*; import javax.validation.Valid; @@ -49,19 +49,19 @@ public class AddrController { */ @GetMapping("/list") @Operation(summary = "用户地址列表" , description = "获取用户的所有地址信息") - public ResponseEntity> dvyList() { + public ServerResponseEntity> dvyList() { String userId = SecurityUtils.getUser().getUserId(); List userAddrs = userAddrService.list(new LambdaQueryWrapper().eq(UserAddr::getUserId, userId).orderByDesc(UserAddr::getCommonAddr).orderByDesc(UserAddr::getUpdateTime)); - return ResponseEntity.ok(mapperFacade.mapAsList(userAddrs, UserAddrDto.class)); + return ServerResponseEntity.success(mapperFacade.mapAsList(userAddrs, UserAddrDto.class)); } @PostMapping("/addAddr") @Operation(summary = "新增用户地址" , description = "新增用户地址") - public ResponseEntity addAddr(@Valid @RequestBody AddrParam addrParam) { + public ServerResponseEntity addAddr(@Valid @RequestBody AddrParam addrParam) { String userId = SecurityUtils.getUser().getUserId(); if (addrParam.getAddrId() != null && addrParam.getAddrId() != 0) { - return ResponseEntity.badRequest().body("该地址已存在"); + return ServerResponseEntity.showFailMsg("该地址已存在"); } int addrCount = userAddrService.count(new LambdaQueryWrapper().eq(UserAddr::getUserId, userId)); UserAddr userAddr = mapperFacade.map(addrParam, UserAddr.class); @@ -80,7 +80,7 @@ public class AddrController { // 清除默认地址缓存 userAddrService.removeUserAddrByUserId(0L, userId); } - return ResponseEntity.ok("添加地址成功"); + return ServerResponseEntity.success("添加地址成功"); } /** @@ -88,12 +88,12 @@ public class AddrController { */ @PutMapping("/updateAddr") @Operation(summary = "修改订单用户地址" , description = "修改用户地址") - public ResponseEntity updateAddr(@Valid @RequestBody AddrParam addrParam) { + public ServerResponseEntity updateAddr(@Valid @RequestBody AddrParam addrParam) { String userId = SecurityUtils.getUser().getUserId(); UserAddr dbUserAddr = userAddrService.getUserAddrByUserId(addrParam.getAddrId(), userId); if (dbUserAddr == null) { - return ResponseEntity.badRequest().body("该地址已被删除"); + return ServerResponseEntity.showFailMsg("该地址已被删除"); } UserAddr userAddr = mapperFacade.map(addrParam, UserAddr.class); @@ -104,7 +104,7 @@ public class AddrController { userAddrService.removeUserAddrByUserId(addrParam.getAddrId(), userId); // 清除默认地址缓存 userAddrService.removeUserAddrByUserId(0L, userId); - return ResponseEntity.ok("修改地址成功"); + return ServerResponseEntity.success("修改地址成功"); } /** @@ -113,18 +113,18 @@ public class AddrController { @DeleteMapping("/deleteAddr/{addrId}") @Operation(summary = "删除订单用户地址" , description = "根据地址id,删除用户地址") @Parameter(name = "addrId", description = "地址ID" , required = true) - public ResponseEntity deleteDvy(@PathVariable("addrId") Long addrId) { + public ServerResponseEntity deleteDvy(@PathVariable("addrId") Long addrId) { String userId = SecurityUtils.getUser().getUserId(); UserAddr userAddr = userAddrService.getUserAddrByUserId(addrId, userId); if (userAddr == null) { - return ResponseEntity.badRequest().body("该地址已被删除"); + return ServerResponseEntity.showFailMsg("该地址已被删除"); } if (userAddr.getCommonAddr() == 1) { - return ResponseEntity.badRequest().body("默认地址无法删除"); + return ServerResponseEntity.showFailMsg("默认地址无法删除"); } userAddrService.removeById(addrId); userAddrService.removeUserAddrByUserId(addrId, userId); - return ResponseEntity.ok("删除地址成功"); + return ServerResponseEntity.success("删除地址成功"); } /** @@ -132,14 +132,14 @@ public class AddrController { */ @PutMapping("/defaultAddr/{addrId}") @Operation(summary = "设置默认地址" , description = "根据地址id,设置默认地址") - public ResponseEntity defaultAddr(@PathVariable("addrId") Long addrId) { + public ServerResponseEntity defaultAddr(@PathVariable("addrId") Long addrId) { String userId = SecurityUtils.getUser().getUserId(); userAddrService.updateDefaultUserAddr(addrId, userId); userAddrService.removeUserAddrByUserId(0L, userId); userAddrService.removeUserAddrByUserId(addrId, userId); - return ResponseEntity.ok("修改地址成功"); + return ServerResponseEntity.success("修改地址成功"); } /** @@ -148,13 +148,13 @@ public class AddrController { @GetMapping("/addrInfo/{addrId}") @Operation(summary = "获取地址信息" , description = "根据地址id,获取地址信息") @Parameter(name = "addrId", description = "地址ID" , required = true) - public ResponseEntity addrInfo(@PathVariable("addrId") Long addrId) { + public ServerResponseEntity addrInfo(@PathVariable("addrId") Long addrId) { String userId = SecurityUtils.getUser().getUserId(); UserAddr userAddr = userAddrService.getUserAddrByUserId(addrId, userId); if (userAddr == null) { throw new YamiShopBindException("该地址已被删除"); } - return ResponseEntity.ok(mapperFacade.map(userAddr, UserAddrDto.class)); + return ServerResponseEntity.success(mapperFacade.map(userAddr, UserAddrDto.class)); } } diff --git a/yami-shop-api/src/main/java/com/yami/shop/api/controller/AreaController.java b/yami-shop-api/src/main/java/com/yami/shop/api/controller/AreaController.java index 8147bcc..b2c1d1b 100644 --- a/yami-shop-api/src/main/java/com/yami/shop/api/controller/AreaController.java +++ b/yami-shop-api/src/main/java/com/yami/shop/api/controller/AreaController.java @@ -14,7 +14,7 @@ import java.util.List; import com.yami.shop.service.AreaService; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.http.ResponseEntity; +import com.yami.shop.common.response.ServerResponseEntity; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @@ -43,9 +43,9 @@ public class AreaController { @GetMapping("/listByPid") @Operation(summary = "获取省市区信息" , description = "根据省市区的pid获取地址信息") @Parameter(name = "pid", description = "省市区的pid(pid为0获取所有省份)" , required = true) - public ResponseEntity> listByPid(Long pid){ + public ServerResponseEntity> listByPid(Long pid){ List list = areaService.listByPid(pid); - return ResponseEntity.ok(list); + return ServerResponseEntity.success(list); } } diff --git a/yami-shop-api/src/main/java/com/yami/shop/api/controller/CategoryController.java b/yami-shop-api/src/main/java/com/yami/shop/api/controller/CategoryController.java index 52a3298..37c252b 100644 --- a/yami-shop-api/src/main/java/com/yami/shop/api/controller/CategoryController.java +++ b/yami-shop-api/src/main/java/com/yami/shop/api/controller/CategoryController.java @@ -13,7 +13,7 @@ package com.yami.shop.api.controller; import java.util.List; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.http.ResponseEntity; +import com.yami.shop.common.response.ServerResponseEntity; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; @@ -48,10 +48,10 @@ public class CategoryController { @GetMapping("/categoryInfo") @Operation(summary = "分类信息列表" , description = "获取所有的产品分类信息,顶级分类的parentId为0,默认为顶级分类") @Parameter(name = "parentId", description = "分类ID", required = false) - public ResponseEntity> categoryInfo(@RequestParam(value = "parentId", defaultValue = "0") Long parentId) { + public ServerResponseEntity> categoryInfo(@RequestParam(value = "parentId", defaultValue = "0") Long parentId) { List categories = categoryService.listByParentId(parentId); List categoryDtos = mapperFacade.mapAsList(categories, CategoryDto.class); - return ResponseEntity.ok(categoryDtos); + return ServerResponseEntity.success(categoryDtos); } diff --git a/yami-shop-api/src/main/java/com/yami/shop/api/controller/DeliveryController.java b/yami-shop-api/src/main/java/com/yami/shop/api/controller/DeliveryController.java index 45b2e1d..64b9060 100644 --- a/yami-shop-api/src/main/java/com/yami/shop/api/controller/DeliveryController.java +++ b/yami-shop-api/src/main/java/com/yami/shop/api/controller/DeliveryController.java @@ -12,7 +12,7 @@ package com.yami.shop.api.controller; import com.yami.shop.service.OrderService; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.http.ResponseEntity; +import com.yami.shop.common.response.ServerResponseEntity; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @@ -47,7 +47,7 @@ public class DeliveryController { @GetMapping("/check") @Operation(summary = "查看物流" , description = "根据订单号查看物流") @Parameter(name = "orderNumber", description = "订单号" , required = true) - public ResponseEntity checkDelivery(String orderNumber) { + public ServerResponseEntity checkDelivery(String orderNumber) { Order order = orderService.getOrderByOrderNumber(orderNumber); Delivery delivery = deliveryService.getById(order.getDvyId()); @@ -58,6 +58,6 @@ public class DeliveryController { deliveryDto.setDvyFlowId(order.getDvyFlowId()); deliveryDto.setCompanyHomeUrl(delivery.getCompanyHomeUrl()); deliveryDto.setCompanyName(delivery.getDvyName()); - return ResponseEntity.ok(deliveryDto); + return ServerResponseEntity.success(deliveryDto); } } diff --git a/yami-shop-api/src/main/java/com/yami/shop/api/controller/IndexImgController.java b/yami-shop-api/src/main/java/com/yami/shop/api/controller/IndexImgController.java index 8fb7ca0..bbbf850 100644 --- a/yami-shop-api/src/main/java/com/yami/shop/api/controller/IndexImgController.java +++ b/yami-shop-api/src/main/java/com/yami/shop/api/controller/IndexImgController.java @@ -17,7 +17,7 @@ import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import ma.glasnost.orika.MapperFacade; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.http.ResponseEntity; +import com.yami.shop.common.response.ServerResponseEntity; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; @@ -40,9 +40,9 @@ public class IndexImgController { */ @GetMapping("/indexImgs") @Operation(summary = "首页轮播图" , description = "获取首页轮播图列表信息") - public ResponseEntity> indexImgs() { + public ServerResponseEntity> indexImgs() { List indexImgList = indexImgService.listIndexImg(); List indexImgDtos = mapperFacade.mapAsList(indexImgList, IndexImgDto.class); - return ResponseEntity.ok(indexImgDtos); + return ServerResponseEntity.success(indexImgDtos); } } diff --git a/yami-shop-api/src/main/java/com/yami/shop/api/controller/MyOrderController.java b/yami-shop-api/src/main/java/com/yami/shop/api/controller/MyOrderController.java index af1ec49..8068fda 100644 --- a/yami-shop-api/src/main/java/com/yami/shop/api/controller/MyOrderController.java +++ b/yami-shop-api/src/main/java/com/yami/shop/api/controller/MyOrderController.java @@ -28,7 +28,7 @@ import io.swagger.v3.oas.annotations.Parameters; import io.swagger.v3.oas.annotations.Operation; import lombok.AllArgsConstructor; import ma.glasnost.orika.MapperFacade; -import org.springframework.http.ResponseEntity; +import com.yami.shop.common.response.ServerResponseEntity; import org.springframework.web.bind.annotation.*; import java.util.Arrays; @@ -67,7 +67,7 @@ public class MyOrderController { @GetMapping("/orderDetail") @Operation(summary = "订单详情信息" , description = "根据订单号获取订单详情信息") @Parameter(name = "orderNumber", description = "订单号" , required = true) - public ResponseEntity orderDetail(@RequestParam(value = "orderNumber", required = true) String orderNumber) { + public ServerResponseEntity orderDetail(@RequestParam(value = "orderNumber", required = true) String orderNumber) { String userId = SecurityUtils.getUser().getUserId(); OrderShopDto orderShopDto = new OrderShopDto(); @@ -107,7 +107,7 @@ public class MyOrderController { orderShopDto.setTotal(total); orderShopDto.setTotalNum(totalNum); - return ResponseEntity.ok(orderShopDto); + return ServerResponseEntity.success(orderShopDto); } @@ -119,11 +119,11 @@ public class MyOrderController { @Parameters({ @Parameter(name = "status", description = "订单状态 1:待付款 2:待发货 3:待收货 4:待评价 5:成功 6:失败") }) - public ResponseEntity> myOrder(@RequestParam(value = "status") Integer status,PageParam page) { + public ServerResponseEntity> myOrder(@RequestParam(value = "status") Integer status,PageParam page) { String userId = SecurityUtils.getUser().getUserId(); IPage myOrderDtoIpage = myOrderService.pageMyOrderByUserIdAndStatus(page, userId, status); - return ResponseEntity.ok(myOrderDtoIpage); + return ServerResponseEntity.success(myOrderDtoIpage); } /** @@ -132,7 +132,7 @@ public class MyOrderController { @PutMapping("/cancel/{orderNumber}") @Operation(summary = "根据订单号取消订单" , description = "根据订单号取消订单") @Parameter(name = "orderNumber", description = "订单号" , required = true) - public ResponseEntity cancel(@PathVariable("orderNumber") String orderNumber) { + public ServerResponseEntity cancel(@PathVariable("orderNumber") String orderNumber) { String userId = SecurityUtils.getUser().getUserId(); Order order = orderService.getOrderByOrderNumber(orderNumber); if (!Objects.equals(order.getUserId(), userId)) { @@ -151,7 +151,7 @@ public class MyOrderController { productService.removeProductCacheByProdId(orderItem.getProdId()); skuService.removeSkuCacheBySkuId(orderItem.getSkuId(),orderItem.getProdId()); } - return ResponseEntity.ok().build(); + return ServerResponseEntity.success(); } @@ -160,7 +160,7 @@ public class MyOrderController { */ @PutMapping("/receipt/{orderNumber}") @Operation(summary = "根据订单号确认收货" , description = "根据订单号确认收货") - public ResponseEntity receipt(@PathVariable("orderNumber") String orderNumber) { + public ServerResponseEntity receipt(@PathVariable("orderNumber") String orderNumber) { String userId = SecurityUtils.getUser().getUserId(); Order order = orderService.getOrderByOrderNumber(orderNumber); if (!Objects.equals(order.getUserId(), userId)) { @@ -178,7 +178,7 @@ public class MyOrderController { productService.removeProductCacheByProdId(orderItem.getProdId()); skuService.removeSkuCacheBySkuId(orderItem.getSkuId(),orderItem.getProdId()); } - return ResponseEntity.ok().build(); + return ServerResponseEntity.success(); } /** @@ -187,7 +187,7 @@ public class MyOrderController { @DeleteMapping("/{orderNumber}") @Operation(summary = "根据订单号删除订单" , description = "根据订单号删除订单") @Parameter(name = "orderNumber", description = "订单号" , required = true) - public ResponseEntity delete(@PathVariable("orderNumber") String orderNumber) { + public ServerResponseEntity delete(@PathVariable("orderNumber") String orderNumber) { String userId = SecurityUtils.getUser().getUserId(); Order order = orderService.getOrderByOrderNumber(orderNumber); @@ -204,7 +204,7 @@ public class MyOrderController { // 删除订单 orderService.deleteOrders(Arrays.asList(order)); - return ResponseEntity.ok("删除成功"); + return ServerResponseEntity.success("删除成功"); } /** @@ -212,10 +212,10 @@ public class MyOrderController { */ @GetMapping("/orderCount") @Operation(summary = "获取我的订单订单数量" , description = "获取我的订单订单数量") - public ResponseEntity getOrderCount() { + public ServerResponseEntity getOrderCount() { String userId = SecurityUtils.getUser().getUserId(); OrderCountData orderCountMap = orderService.getOrderCount(userId); - return ResponseEntity.ok(orderCountMap); + return ServerResponseEntity.success(orderCountMap); } diff --git a/yami-shop-api/src/main/java/com/yami/shop/api/controller/NoticeController.java b/yami-shop-api/src/main/java/com/yami/shop/api/controller/NoticeController.java index 3b00931..7f58577 100644 --- a/yami-shop-api/src/main/java/com/yami/shop/api/controller/NoticeController.java +++ b/yami-shop-api/src/main/java/com/yami/shop/api/controller/NoticeController.java @@ -21,7 +21,7 @@ import io.swagger.v3.oas.annotations.Parameters; import io.swagger.v3.oas.annotations.Operation; import lombok.AllArgsConstructor; import ma.glasnost.orika.MapperFacade; -import org.springframework.http.ResponseEntity; +import com.yami.shop.common.response.ServerResponseEntity; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; @@ -48,10 +48,10 @@ public class NoticeController { @GetMapping("/topNoticeList") @Operation(summary = "置顶公告列表信息" , description = "获取所有置顶公告列表信息") @JsonView(NoticeDto.NoContent.class) - public ResponseEntity> getTopNoticeList() { + public ServerResponseEntity> getTopNoticeList() { List noticeList = noticeService.listNotice(); List noticeDtoList = mapperFacade.mapAsList(noticeList, NoticeDto.class); - return ResponseEntity.ok(noticeDtoList); + return ServerResponseEntity.success(noticeDtoList); } /** @@ -60,10 +60,10 @@ public class NoticeController { @GetMapping("/info/{id}") @Operation(summary = "公告详情" , description = "获取公告id公告详情") @JsonView(NoticeDto.WithContent.class) - public ResponseEntity getNoticeById(@PathVariable("id") Long id) { + public ServerResponseEntity getNoticeById(@PathVariable("id") Long id) { Notice notice = noticeService.getNoticeById(id); NoticeDto noticeDto = mapperFacade.map(notice, NoticeDto.class); - return ResponseEntity.ok(noticeDto); + return ServerResponseEntity.success(noticeDto); } /** @@ -73,8 +73,8 @@ public class NoticeController { @Operation(summary = "公告列表信息" , description = "获取所有公告列表信息") @Parameters({ }) - public ResponseEntity> pageNotice(PageParam page) { + public ServerResponseEntity> pageNotice(PageParam page) { - return ResponseEntity.ok(noticeService.pageNotice(page)); + return ServerResponseEntity.success(noticeService.pageNotice(page)); } } diff --git a/yami-shop-api/src/main/java/com/yami/shop/api/controller/OrderController.java b/yami-shop-api/src/main/java/com/yami/shop/api/controller/OrderController.java index 222748f..d0c5540 100644 --- a/yami-shop-api/src/main/java/com/yami/shop/api/controller/OrderController.java +++ b/yami-shop-api/src/main/java/com/yami/shop/api/controller/OrderController.java @@ -27,7 +27,7 @@ import io.swagger.v3.oas.annotations.Operation; import ma.glasnost.orika.MapperFacade; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.ApplicationContext; -import org.springframework.http.ResponseEntity; +import com.yami.shop.common.response.ServerResponseEntity; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; @@ -67,7 +67,7 @@ public class OrderController { */ @PostMapping("/confirm") @Operation(summary = "结算,生成订单信息" , description = "传入下单所需要的参数进行下单") - public ResponseEntity confirm(@Valid @RequestBody OrderParam orderParam) { + public ServerResponseEntity confirm(@Valid @RequestBody OrderParam orderParam) { String userId = SecurityUtils.getUser().getUserId(); // 订单的地址信息 @@ -135,7 +135,7 @@ public class OrderController { shopCartOrderMergerDto = orderService.putConfirmOrderCache(userId, shopCartOrderMergerDto); - return ResponseEntity.ok(shopCartOrderMergerDto); + return ServerResponseEntity.success(shopCartOrderMergerDto); } /** @@ -143,7 +143,7 @@ public class OrderController { */ @PostMapping("/submit") @Operation(summary = "提交订单,返回支付流水号" , description = "根据传入的参数判断是否为购物车提交订单,同时对购物车进行删除,用户开始进行支付") - public ResponseEntity submitOrders(@Valid @RequestBody SubmitOrderParam submitOrderParam) { + public ServerResponseEntity submitOrders(@Valid @RequestBody SubmitOrderParam submitOrderParam) { String userId = SecurityUtils.getUser().getUserId(); ShopCartOrderMergerDto mergerOrder = orderService.getConfirmOrderCache(userId); if (mergerOrder == null) { @@ -193,7 +193,7 @@ public class OrderController { basketService.removeShopCartItemsCacheByUserId(userId); } orderService.removeConfirmOrderCache(userId); - return ResponseEntity.ok(new OrderNumbersDto(orderNumbers.toString())); + return ServerResponseEntity.success(new OrderNumbersDto(orderNumbers.toString())); } } diff --git a/yami-shop-api/src/main/java/com/yami/shop/api/controller/PayController.java b/yami-shop-api/src/main/java/com/yami/shop/api/controller/PayController.java index e0de854..3fbe9fa 100644 --- a/yami-shop-api/src/main/java/com/yami/shop/api/controller/PayController.java +++ b/yami-shop-api/src/main/java/com/yami/shop/api/controller/PayController.java @@ -20,7 +20,7 @@ import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.Operation; import lombok.AllArgsConstructor; import lombok.SneakyThrows; -import org.springframework.http.ResponseEntity; +import com.yami.shop.common.response.ServerResponseEntity; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; @@ -42,14 +42,14 @@ public class PayController { */ @PostMapping("/pay") @Operation(summary = "根据订单号进行支付" , description = "根据订单号进行支付") - public ResponseEntity pay(@RequestBody PayParam payParam) { + public ServerResponseEntity pay(@RequestBody PayParam payParam) { YamiUser user = SecurityUtils.getUser(); String userId = user.getUserId(); PayInfoDto payInfo = payService.pay(userId, payParam); payService.paySuccess(payInfo.getPayNo(), ""); - return ResponseEntity.ok().build(); + return ServerResponseEntity.success(); } /** @@ -57,7 +57,7 @@ public class PayController { */ @PostMapping("/normalPay") @Operation(summary = "根据订单号进行支付" , description = "根据订单号进行支付") - public ResponseEntity normalPay(@RequestBody PayParam payParam) { + public ServerResponseEntity normalPay(@RequestBody PayParam payParam) { YamiUser user = SecurityUtils.getUser(); String userId = user.getUserId(); @@ -66,6 +66,6 @@ public class PayController { // 根据内部订单号更新order settlement payService.paySuccess(pay.getPayNo(), ""); - return ResponseEntity.ok(true); + return ServerResponseEntity.success(true); } } diff --git a/yami-shop-api/src/main/java/com/yami/shop/api/controller/PayNoticeController.java b/yami-shop-api/src/main/java/com/yami/shop/api/controller/PayNoticeController.java index f146c4c..4cfe7c8 100644 --- a/yami-shop-api/src/main/java/com/yami/shop/api/controller/PayNoticeController.java +++ b/yami-shop-api/src/main/java/com/yami/shop/api/controller/PayNoticeController.java @@ -33,7 +33,7 @@ public class PayNoticeController { // // // @RequestMapping("/order") -// public ResponseEntity submit(@RequestBody String xmlData) throws WxPayException { +// public ServerResponseEntity submit(@RequestBody String xmlData) throws WxPayException { // WxPayOrderNotifyResult parseOrderNotifyResult = wxMiniPayService.parseOrderNotifyResult(xmlData); // // String payNo = parseOrderNotifyResult.getOutTradeNo(); @@ -43,6 +43,6 @@ public class PayNoticeController { // payService.paySuccess(payNo, bizPayNo); // // -// return ResponseEntity.ok().build(); +// return ServerResponseEntity.success(); // } } diff --git a/yami-shop-api/src/main/java/com/yami/shop/api/controller/ProdCommController.java b/yami-shop-api/src/main/java/com/yami/shop/api/controller/ProdCommController.java index b7fd173..bcd9b44 100644 --- a/yami-shop-api/src/main/java/com/yami/shop/api/controller/ProdCommController.java +++ b/yami-shop-api/src/main/java/com/yami/shop/api/controller/ProdCommController.java @@ -24,7 +24,7 @@ import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.Parameters; import io.swagger.v3.oas.annotations.Operation; import lombok.AllArgsConstructor; -import org.springframework.http.ResponseEntity; +import com.yami.shop.common.response.ServerResponseEntity; import org.springframework.web.bind.annotation.*; import java.util.Date; @@ -43,14 +43,14 @@ public class ProdCommController { @GetMapping("/prodCommData") @Operation(summary = "返回商品评论数据(好评率 好评数量 中评数 差评数)" , description = "根据商品id获取") - public ResponseEntity getProdCommData(Long prodId) { - return ResponseEntity.ok(prodCommService.getProdCommDataByProdId(prodId)); + public ServerResponseEntity getProdCommData(Long prodId) { + return ServerResponseEntity.success(prodCommService.getProdCommDataByProdId(prodId)); } @GetMapping("/prodCommPageByUser") @Operation(summary = "根据用户返回评论分页数据" , description = "传入页码") - public ResponseEntity> getProdCommPage(PageParam page) { - return ResponseEntity.ok(prodCommService.getProdCommDtoPageByUserId(page, SecurityUtils.getUser().getUserId())); + public ServerResponseEntity> getProdCommPage(PageParam page) { + return ServerResponseEntity.success(prodCommService.getProdCommDtoPageByUserId(page, SecurityUtils.getUser().getUserId())); } @GetMapping("/prodCommPageByProd") @@ -59,13 +59,13 @@ public class ProdCommController { @Parameter(name = "prodId", description = "商品id" , required = true), @Parameter(name = "evaluate", description = "-1或null 全部,0好评 1中评 2差评 3有图" , required = true), }) - public ResponseEntity> getProdCommPageByProdId(PageParam page, Long prodId, Integer evaluate) { - return ResponseEntity.ok(prodCommService.getProdCommDtoPageByProdId(page, prodId, evaluate)); + public ServerResponseEntity> getProdCommPageByProdId(PageParam page, Long prodId, Integer evaluate) { + return ServerResponseEntity.success(prodCommService.getProdCommDtoPageByProdId(page, prodId, evaluate)); } @PostMapping @Operation(summary = "添加评论") - public ResponseEntity saveProdCommPage(ProdCommParam prodCommParam) { + public ServerResponseEntity saveProdCommPage(ProdCommParam prodCommParam) { ProdComm prodComm = new ProdComm(); prodComm.setProdId(prodCommParam.getProdId()); prodComm.setOrderItemId(prodCommParam.getOrderItemId()); @@ -78,13 +78,13 @@ public class ProdCommController { prodComm.setStatus(0); prodComm.setEvaluate(prodCommParam.getEvaluate()); prodCommService.save(prodComm); - return ResponseEntity.ok().build(); + return ServerResponseEntity.success(); } @DeleteMapping @Operation(summary = "删除评论" , description = "根据id删除") - public ResponseEntity deleteProdComm(Long prodCommId) { + public ServerResponseEntity deleteProdComm(Long prodCommId) { prodCommService.removeById(prodCommId); - return ResponseEntity.ok().build(); + return ServerResponseEntity.success(); } } diff --git a/yami-shop-api/src/main/java/com/yami/shop/api/controller/ProdController.java b/yami-shop-api/src/main/java/com/yami/shop/api/controller/ProdController.java index 2d2e9d2..9b3e724 100644 --- a/yami-shop-api/src/main/java/com/yami/shop/api/controller/ProdController.java +++ b/yami-shop-api/src/main/java/com/yami/shop/api/controller/ProdController.java @@ -16,18 +16,18 @@ import com.yami.shop.bean.app.dto.TagProductDto; import com.yami.shop.bean.model.Product; import com.yami.shop.bean.model.Sku; import com.yami.shop.bean.model.Transport; +import com.yami.shop.common.response.ServerResponseEntity; import com.yami.shop.common.util.Json; import com.yami.shop.common.util.PageParam; import com.yami.shop.service.ProductService; import com.yami.shop.service.SkuService; import com.yami.shop.service.TransportService; -import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.Parameters; -import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; import ma.glasnost.orika.MapperFacade; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; @@ -62,20 +62,20 @@ public class ProdController { @Parameters({ @Parameter(name = "categoryId", description = "分类ID" , required = true), }) - public ResponseEntity> prodList( + public ServerResponseEntity> prodList( @RequestParam(value = "categoryId") Long categoryId,PageParam page) { IPage productPage = prodService.pageByCategoryId(page, categoryId); - return ResponseEntity.ok(productPage); + return ServerResponseEntity.success(productPage); } @GetMapping("/prodInfo") @Operation(summary = "商品详情信息" , description = "根据商品ID(prodId)获取商品信息") @Parameter(name = "prodId", description = "商品ID" , required = true) - public ResponseEntity prodInfo(Long prodId) { + public ServerResponseEntity prodInfo(Long prodId) { Product product = prodService.getProductByProdId(prodId); if (product == null) { - return ResponseEntity.ok().build(); + return ServerResponseEntity.success(); } List skuList = skuService.listByProdId(prodId); @@ -93,16 +93,16 @@ public class ProdController { productDto.setTransport(transportAndAllItems); } - return ResponseEntity.ok(productDto); + return ServerResponseEntity.success(productDto); } @GetMapping("/lastedProdPage") @Operation(summary = "新品推荐" , description = "获取新品推荐商品列表") @Parameters({ }) - public ResponseEntity> lastedProdPage(PageParam page) { + public ServerResponseEntity> lastedProdPage(PageParam page) { IPage productPage = prodService.pageByPutAwayTime(page); - return ResponseEntity.ok(productPage); + return ServerResponseEntity.success(productPage); } @GetMapping("/prodListByTagId") @@ -110,27 +110,24 @@ public class ProdController { @Parameters({ @Parameter(name = "tagId", description = "当前页,默认为1" , required = true), }) - public ResponseEntity> prodListByTagId( + public ServerResponseEntity> prodListByTagId( @RequestParam(value = "tagId") Long tagId,PageParam page) { IPage productPage = prodService.pageByTagId(page, tagId); - return ResponseEntity.ok(productPage); + return ServerResponseEntity.success(productPage); } @GetMapping("/moreBuyProdList") @Operation(summary = "每日疯抢" , description = "获取销量最多的商品列表") @Parameters({}) - public ResponseEntity> moreBuyProdList(PageParam page) { + public ServerResponseEntity> moreBuyProdList(PageParam page) { IPage productPage = prodService.moreBuyProdList(page); - return ResponseEntity.ok(productPage); + return ServerResponseEntity.success(productPage); } @GetMapping("/tagProdList") @Operation(summary = "首页所有标签商品接口" , description = "获取首页所有标签商品接口") - public ResponseEntity> getTagProdList() { + public ServerResponseEntity> getTagProdList() { List productDtoList = prodService.tagProdList(); - return ResponseEntity.ok(productDtoList); + return ServerResponseEntity.success(productDtoList); } - - - } diff --git a/yami-shop-api/src/main/java/com/yami/shop/api/controller/ProdTagController.java b/yami-shop-api/src/main/java/com/yami/shop/api/controller/ProdTagController.java index 6150f4a..ac1b36f 100644 --- a/yami-shop-api/src/main/java/com/yami/shop/api/controller/ProdTagController.java +++ b/yami-shop-api/src/main/java/com/yami/shop/api/controller/ProdTagController.java @@ -17,7 +17,7 @@ import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import lombok.AllArgsConstructor; import ma.glasnost.orika.MapperFacade; -import org.springframework.http.ResponseEntity; +import com.yami.shop.common.response.ServerResponseEntity; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @@ -42,10 +42,10 @@ public class ProdTagController { */ @GetMapping("/prodTagList") @Operation(summary = "商品分组标签列表" , description = "获取所有的商品分组列表") - public ResponseEntity> getProdTagList() { + public ServerResponseEntity> getProdTagList() { List prodTagList = prodTagService.listProdTag(); List prodTagDtoList = mapperFacade.mapAsList(prodTagList, ProdTagDto.class); - return ResponseEntity.ok(prodTagDtoList); + return ServerResponseEntity.success(prodTagDtoList); } } diff --git a/yami-shop-api/src/main/java/com/yami/shop/api/controller/SearchController.java b/yami-shop-api/src/main/java/com/yami/shop/api/controller/SearchController.java index 033e857..900bf31 100644 --- a/yami-shop-api/src/main/java/com/yami/shop/api/controller/SearchController.java +++ b/yami-shop-api/src/main/java/com/yami/shop/api/controller/SearchController.java @@ -23,7 +23,7 @@ import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.Parameters; import io.swagger.v3.oas.annotations.Operation; import lombok.AllArgsConstructor; -import org.springframework.http.ResponseEntity; +import com.yami.shop.common.response.ServerResponseEntity; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @@ -51,7 +51,7 @@ public class SearchController { @Parameter(name = "number", description = "取数" , required = true), @Parameter(name = "sort", description = "是否按照顺序(0 否 1是)"), }) - public ResponseEntity> hotSearchByShopId(Long shopId,Integer number,Integer sort) { + public ServerResponseEntity> hotSearchByShopId(Long shopId,Integer number,Integer sort) { List list = hotSearchService.getHotSearchDtoByShopId(shopId); return getListResponseEntity(number, sort, list); @@ -63,19 +63,19 @@ public class SearchController { @Parameter(name = "number", description = "取数" , required = true), @Parameter(name = "sort", description = "是否按照顺序(0 否 1是)", required = false ), }) - public ResponseEntity> hotSearch(Integer number,Integer sort) { + public ServerResponseEntity> hotSearch(Integer number,Integer sort) { List list = hotSearchService.getHotSearchDtoByShopId(0L); return getListResponseEntity(number, sort, list); } - private ResponseEntity> getListResponseEntity(Integer number, Integer sort, List list) { + private ServerResponseEntity> getListResponseEntity(Integer number, Integer sort, List list) { if(sort == null || sort == 0){ Collections.shuffle(list); } if(!CollectionUtil.isNotEmpty(list) || list.size()< number){ - return ResponseEntity.ok(list); + return ServerResponseEntity.success(list); } - return ResponseEntity.ok(list.subList(0, number)); + return ServerResponseEntity.success(list.subList(0, number)); } @GetMapping("/searchProdPage") @@ -86,9 +86,9 @@ public class SearchController { @Parameter(name = "orderBy", description = "排序(0升序 1降序)"), @Parameter(name = "shopId", description = "店铺id" , required = true), }) - public ResponseEntity> searchProdPage(PageParam page, String prodName, Integer sort, Integer orderBy, Long shopId) { + public ServerResponseEntity> searchProdPage(PageParam page, String prodName, Integer sort, Integer orderBy, Long shopId) { - return ResponseEntity.ok(productService.getSearchProdDtoPageByProdName(page,prodName,sort,orderBy)); + return ServerResponseEntity.success(productService.getSearchProdDtoPageByProdName(page,prodName,sort,orderBy)); } diff --git a/yami-shop-api/src/main/java/com/yami/shop/api/controller/ShopCartController.java b/yami-shop-api/src/main/java/com/yami/shop/api/controller/ShopCartController.java index 872bed7..1e6c97f 100644 --- a/yami-shop-api/src/main/java/com/yami/shop/api/controller/ShopCartController.java +++ b/yami-shop-api/src/main/java/com/yami/shop/api/controller/ShopCartController.java @@ -29,7 +29,7 @@ import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.Operation; import lombok.AllArgsConstructor; import org.springframework.context.ApplicationContext; -import org.springframework.http.ResponseEntity; +import com.yami.shop.common.response.ServerResponseEntity; import org.springframework.web.bind.annotation.*; import javax.validation.Valid; @@ -64,7 +64,7 @@ public class ShopCartController { */ @PostMapping("/info") @Operation(summary = "获取用户购物车信息" , description = "获取用户购物车信息,参数为用户选中的活动项数组,以购物车id为key") - public ResponseEntity> info(@RequestBody Map basketIdShopCartParamMap) { + public ServerResponseEntity> info(@RequestBody Map basketIdShopCartParamMap) { String userId = SecurityUtils.getUser().getUserId(); // 更新购物车信息, @@ -74,33 +74,33 @@ public class ShopCartController { // 拿到购物车的所有item List shopCartItems = basketService.getShopCartItems(userId); - return ResponseEntity.ok(basketService.getShopCarts(shopCartItems)); + return ServerResponseEntity.success(basketService.getShopCarts(shopCartItems)); } @DeleteMapping("/deleteItem") @Operation(summary = "删除用户购物车物品" , description = "通过购物车id删除用户购物车物品") - public ResponseEntity deleteItem(@RequestBody List basketIds) { + public ServerResponseEntity deleteItem(@RequestBody List basketIds) { String userId = SecurityUtils.getUser().getUserId(); basketService.deleteShopCartItemsByBasketIds(userId, basketIds); - return ResponseEntity.ok().build(); + return ServerResponseEntity.success(); } @DeleteMapping("/deleteAll") @Operation(summary = "清空用户购物车所有物品" , description = "清空用户购物车所有物品") - public ResponseEntity deleteAll() { + public ServerResponseEntity deleteAll() { String userId = SecurityUtils.getUser().getUserId(); basketService.deleteAllShopCartItems(userId); - return ResponseEntity.ok("删除成功"); + return ServerResponseEntity.success("删除成功"); } @PostMapping("/changeItem") @Operation(summary = "添加、修改用户购物车物品", description = "通过商品id(prodId)、skuId、店铺Id(shopId),添加/修改用户购物车商品,并传入改变的商品个数(count)," + "当count为正值时,增加商品数量,当count为负值时,将减去商品的数量,当最终count值小于0时,会将商品从购物车里面删除") - public ResponseEntity addItem(@Valid @RequestBody ChangeShopCartParam param) { + public ServerResponseEntity addItem(@Valid @RequestBody ChangeShopCartParam param) { if (param.getCount() == 0) { - return ResponseEntity.badRequest().body("输入更改数量"); + return ServerResponseEntity.showFailMsg("输入更改数量"); } String userId = SecurityUtils.getUser().getUserId(); @@ -110,7 +110,7 @@ public class ShopCartController { // 当商品状态不正常时,不能添加到购物车 if (prodParam.getStatus() != 1 || skuParam.getStatus() != 1) { - return ResponseEntity.badRequest().body("当前商品已下架"); + return ServerResponseEntity.showFailMsg("当前商品已下架"); } for (ShopCartItemDto shopCartItemDto : shopCartItems) { if (Objects.equals(param.getSkuId(), shopCartItemDto.getSkuId())) { @@ -122,46 +122,46 @@ public class ShopCartController { // 防止购物车变成负数 if (basket.getBasketCount() <= 0) { basketService.deleteShopCartItemsByBasketIds(userId, Collections.singletonList(basket.getBasketId())); - return ResponseEntity.ok().build(); + return ServerResponseEntity.success(); } // 当sku实际库存不足时,不能添加到购物车 if (skuParam.getStocks() < basket.getBasketCount() && shopCartItemDto.getProdCount() > 0) { - return ResponseEntity.badRequest().body("库存不足"); + return ServerResponseEntity.showFailMsg("库存不足"); } basketService.updateShopCartItem(basket); - return ResponseEntity.ok().build(); + return ServerResponseEntity.success(); } } // 防止购物车已被删除的情况下,添加了负数的商品 if (param.getCount() < 0) { - return ResponseEntity.badRequest().body("商品已从购物车移除"); + return ServerResponseEntity.showFailMsg("商品已从购物车移除"); } // 当sku实际库存不足时,不能添加到购物车 if (skuParam.getStocks() < param.getCount()) { - return ResponseEntity.badRequest().body("库存不足"); + return ServerResponseEntity.showFailMsg("库存不足"); } // 所有都正常时 basketService.addShopCartItem(param,userId); - return ResponseEntity.ok("添加成功"); + return ServerResponseEntity.success("添加成功"); } @GetMapping("/prodCount") @Operation(summary = "获取购物车商品数量" , description = "获取所有购物车商品数量") - public ResponseEntity prodCount() { + public ServerResponseEntity prodCount() { String userId = SecurityUtils.getUser().getUserId(); List shopCartItems = basketService.getShopCartItems(userId); if (CollectionUtil.isEmpty(shopCartItems)) { - return ResponseEntity.ok(0); + return ServerResponseEntity.success(0); } Integer totalCount = shopCartItems.stream().map(ShopCartItemDto::getProdCount).reduce(0, Integer::sum); - return ResponseEntity.ok(totalCount); + return ServerResponseEntity.success(totalCount); } @GetMapping("/expiryProdList") @Operation(summary = "获取购物车失效商品信息" , description = "获取购物车失效商品列表") - public ResponseEntity> expiryProdList() { + public ServerResponseEntity> expiryProdList() { String userId = SecurityUtils.getUser().getUserId(); List shopCartItems = basketService.getShopCartExpiryItems(userId); //根据店铺ID划分item @@ -182,20 +182,20 @@ public class ShopCartController { shopcartExpiryitems.add(shopCartExpiryItemDto); } - return ResponseEntity.ok(shopcartExpiryitems); + return ServerResponseEntity.success(shopcartExpiryitems); } @DeleteMapping("/cleanExpiryProdList") @Operation(summary = "清空用户失效商品" , description = "清空用户失效商品") - public ResponseEntity cleanExpiryProdList() { + public ServerResponseEntity cleanExpiryProdList() { String userId = SecurityUtils.getUser().getUserId(); basketService.cleanExpiryProdList(userId); - return ResponseEntity.ok().build(); + return ServerResponseEntity.success(); } @PostMapping("/totalPay") @Operation(summary = "获取选中购物项总计、选中的商品数量" , description = "获取选中购物项总计、选中的商品数量,参数为购物车id数组") - public ResponseEntity getTotalPay(@RequestBody List basketIds) { + public ServerResponseEntity getTotalPay(@RequestBody List basketIds) { // 拿到购物车的所有item List dbShopCartItems = basketService.getShopCartItems(SecurityUtils.getUser().getUserId()); @@ -244,7 +244,7 @@ public class ShopCartController { shopCartAmountDto.setSubtractMoney(reduce); shopCartAmountDto.setFinalMoney(Arith.sub(shopCartAmountDto.getTotalMoney(), shopCartAmountDto.getSubtractMoney())); - return ResponseEntity.ok(shopCartAmountDto); + return ServerResponseEntity.success(shopCartAmountDto); } } diff --git a/yami-shop-api/src/main/java/com/yami/shop/api/controller/SkuController.java b/yami-shop-api/src/main/java/com/yami/shop/api/controller/SkuController.java index 5b1c7f1..a5548ad 100644 --- a/yami-shop-api/src/main/java/com/yami/shop/api/controller/SkuController.java +++ b/yami-shop-api/src/main/java/com/yami/shop/api/controller/SkuController.java @@ -19,7 +19,7 @@ import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.Operation; import lombok.AllArgsConstructor; import ma.glasnost.orika.MapperFacade; -import org.springframework.http.ResponseEntity; +import com.yami.shop.common.response.ServerResponseEntity; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @@ -42,13 +42,13 @@ public class SkuController { @GetMapping("/getSkuList") @Operation(summary = "通过prodId获取商品全部规格列表" , description = "通过prodId获取商品全部规格列表") @Parameter(name = "prodId", description = "商品id" ) - public ResponseEntity> getSkuListByProdId(Long prodId) { + public ServerResponseEntity> getSkuListByProdId(Long prodId) { List skus = skuService.list(new LambdaQueryWrapper() .eq(Sku::getStatus, 1) .eq(Sku::getIsDelete, 0) .eq(Sku::getProdId, prodId) ); List skuDtoList = mapperFacade.mapAsList(skus, SkuDto.class); - return ResponseEntity.ok(skuDtoList); + return ServerResponseEntity.success(skuDtoList); } } diff --git a/yami-shop-api/src/main/java/com/yami/shop/api/controller/SmsController.java b/yami-shop-api/src/main/java/com/yami/shop/api/controller/SmsController.java index 1a9e7fa..9c04760 100644 --- a/yami-shop-api/src/main/java/com/yami/shop/api/controller/SmsController.java +++ b/yami-shop-api/src/main/java/com/yami/shop/api/controller/SmsController.java @@ -18,7 +18,7 @@ import com.yami.shop.service.SmsLogService; import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.Operation; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.http.ResponseEntity; +import com.yami.shop.common.response.ServerResponseEntity; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; @@ -39,10 +39,10 @@ public class SmsController { */ @PostMapping("/send") @Operation(summary = "发送验证码" , description = "用户的发送验证码") - public ResponseEntity audit(@RequestBody SendSmsParam sendSmsParam) { + public ServerResponseEntity audit(@RequestBody SendSmsParam sendSmsParam) { String userId = SecurityUtils.getUser().getUserId(); smsLogService.sendSms(SmsType.VALID, userId, sendSmsParam.getMobile(),Maps.newHashMap()); - return ResponseEntity.ok().build(); + return ServerResponseEntity.success(); } } diff --git a/yami-shop-api/src/main/java/com/yami/shop/api/controller/UserCollectionController.java b/yami-shop-api/src/main/java/com/yami/shop/api/controller/UserCollectionController.java index cec3ba9..e6b2aff 100644 --- a/yami-shop-api/src/main/java/com/yami/shop/api/controller/UserCollectionController.java +++ b/yami-shop-api/src/main/java/com/yami/shop/api/controller/UserCollectionController.java @@ -26,7 +26,7 @@ import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.Operation; import lombok.AllArgsConstructor; -import org.springframework.http.ResponseEntity; +import com.yami.shop.common.response.ServerResponseEntity; import org.springframework.web.bind.annotation.*; import java.util.Date; @@ -46,18 +46,18 @@ public class UserCollectionController { @GetMapping("/page") @Operation(summary = "分页返回收藏数据" , description = "根据用户id获取") - public ResponseEntity> getUserCollectionDtoPageByUserId(PageParam page) { - return ResponseEntity.ok(userCollectionService.getUserCollectionDtoPageByUserId(page, SecurityUtils.getUser().getUserId())); + public ServerResponseEntity> getUserCollectionDtoPageByUserId(PageParam page) { + return ServerResponseEntity.success(userCollectionService.getUserCollectionDtoPageByUserId(page, SecurityUtils.getUser().getUserId())); } @GetMapping("isCollection") @Operation(summary = "根据商品id获取该商品是否在收藏夹中" , description = "传入收藏商品id") - public ResponseEntity isCollection(Long prodId) { + public ServerResponseEntity isCollection(Long prodId) { if (productService.count(new LambdaQueryWrapper() .eq(Product::getProdId, prodId)) < 1) { throw new YamiShopBindException("该商品不存在"); } - return ResponseEntity.ok(userCollectionService.count(new LambdaQueryWrapper() + return ServerResponseEntity.success(userCollectionService.count(new LambdaQueryWrapper() .eq(UserCollection::getProdId, prodId) .eq(UserCollection::getUserId, SecurityUtils.getUser().getUserId())) > 0); } @@ -65,7 +65,7 @@ public class UserCollectionController { @PostMapping("/addOrCancel") @Operation(summary = "添加/取消收藏" , description = "传入收藏商品id,如果商品未收藏则收藏商品,已收藏则取消收藏") @Parameter(name = "prodId", description = "商品id" , required = true) - public ResponseEntity addOrCancel(@RequestBody Long prodId) { + public ServerResponseEntity addOrCancel(@RequestBody Long prodId) { if (Objects.isNull(productService.getProductByProdId(prodId))) { throw new YamiShopBindException("该商品不存在"); } @@ -83,7 +83,7 @@ public class UserCollectionController { userCollection.setProdId(prodId); userCollectionService.save(userCollection); } - return ResponseEntity.ok().build(); + return ServerResponseEntity.success(); } /** @@ -98,10 +98,10 @@ public class UserCollectionController { @GetMapping("/prods") @Operation(summary = "获取用户收藏商品列表" , description = "获取用户收藏商品列表") - public ResponseEntity> collectionProds(PageParam page) { + public ServerResponseEntity> collectionProds(PageParam page) { String userId = SecurityUtils.getUser().getUserId(); IPage productDtoPage = productService.collectionProds(page, userId); - return ResponseEntity.ok(productDtoPage); + return ServerResponseEntity.success(productDtoPage); } } diff --git a/yami-shop-api/src/main/java/com/yami/shop/api/controller/UserController.java b/yami-shop-api/src/main/java/com/yami/shop/api/controller/UserController.java index ac038ab..f3febc1 100644 --- a/yami-shop-api/src/main/java/com/yami/shop/api/controller/UserController.java +++ b/yami-shop-api/src/main/java/com/yami/shop/api/controller/UserController.java @@ -19,7 +19,7 @@ import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import lombok.AllArgsConstructor; import ma.glasnost.orika.MapperFacade; -import org.springframework.http.ResponseEntity; +import com.yami.shop.common.response.ServerResponseEntity; import org.springframework.web.bind.annotation.*; /** * @author lanhai @@ -38,22 +38,22 @@ public class UserController { */ @GetMapping("/userInfo") @Operation(summary = "查看用户信息" , description = "根据用户ID(userId)获取用户信息") - public ResponseEntity userInfo() { + public ServerResponseEntity userInfo() { String userId = SecurityUtils.getUser().getUserId(); User user = userService.getById(userId); UserDto userDto = mapperFacade.map(user, UserDto.class); - return ResponseEntity.ok(userDto); + return ServerResponseEntity.success(userDto); } @PutMapping("/setUserInfo") @Operation(summary = "设置用户信息" , description = "设置用户信息") - public ResponseEntity setUserInfo(@RequestBody UserInfoParam userInfoParam) { + public ServerResponseEntity setUserInfo(@RequestBody UserInfoParam userInfoParam) { String userId = SecurityUtils.getUser().getUserId(); User user = new User(); user.setUserId(userId); user.setPic(userInfoParam.getAvatarUrl()); user.setNickName(userInfoParam.getNickName()); userService.updateById(user); - return ResponseEntity.ok().build(); + return ServerResponseEntity.success(); } } diff --git a/yami-shop-api/src/main/java/com/yami/shop/api/controller/UserRegisterController.java b/yami-shop-api/src/main/java/com/yami/shop/api/controller/UserRegisterController.java index 7070a8b..a476500 100644 --- a/yami-shop-api/src/main/java/com/yami/shop/api/controller/UserRegisterController.java +++ b/yami-shop-api/src/main/java/com/yami/shop/api/controller/UserRegisterController.java @@ -16,7 +16,7 @@ import com.yami.shop.service.UserService; import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.Operation; import lombok.AllArgsConstructor; -import org.springframework.http.ResponseEntity; +import com.yami.shop.common.response.ServerResponseEntity; import org.springframework.security.crypto.password.PasswordEncoder; import org.springframework.web.bind.annotation.*; @@ -44,7 +44,7 @@ public class UserRegisterController { @PostMapping("/register") @Operation(summary = "注册" , description = "用户注册或绑定手机号接口") - public ResponseEntity register(@Valid @RequestBody UserRegisterParam userRegisterParam) { + public ServerResponseEntity register(@Valid @RequestBody UserRegisterParam userRegisterParam) { if (StrUtil.isBlank(userRegisterParam.getNickName())) { userRegisterParam.setNickName(userRegisterParam.getUserName()); } @@ -71,13 +71,13 @@ public class UserRegisterController { userInfoInTokenBO.setSysType(SysTypeEnum.ORDINARY.value()); userInfoInTokenBO.setIsAdmin(0); userInfoInTokenBO.setEnabled(true); - return ResponseEntity.ok(tokenStore.storeAndGetVo(userInfoInTokenBO)); + return ServerResponseEntity.success(tokenStore.storeAndGetVo(userInfoInTokenBO)); } @PutMapping("/updatePwd") @Operation(summary = "修改密码" , description = "修改密码") - public ResponseEntity updatePwd(@Valid @RequestBody UserRegisterParam userPwdUpdateParam) { + public ServerResponseEntity updatePwd(@Valid @RequestBody UserRegisterParam userPwdUpdateParam) { User user = userService.getOne(new LambdaQueryWrapper().eq(User::getNickName, userPwdUpdateParam.getNickName())); if (user == null) { // 无法获取用户信息 @@ -96,6 +96,6 @@ public class UserRegisterController { user.setModifyTime(new Date()); user.setLoginPassword(password); userService.updateById(user); - return ResponseEntity.ok().build(); + return ServerResponseEntity.success(); } } diff --git a/yami-shop-common/src/main/java/com/yami/shop/common/config/DefaultExceptionHandlerConfig.java b/yami-shop-common/src/main/java/com/yami/shop/common/config/DefaultExceptionHandlerConfig.java index 4cf17cc..cb406d5 100644 --- a/yami-shop-common/src/main/java/com/yami/shop/common/config/DefaultExceptionHandlerConfig.java +++ b/yami-shop-common/src/main/java/com/yami/shop/common/config/DefaultExceptionHandlerConfig.java @@ -11,15 +11,21 @@ package com.yami.shop.common.config; import com.yami.shop.common.exception.YamiShopBindException; +import com.yami.shop.common.response.ResponseEnum; +import com.yami.shop.common.response.ServerResponseEntity; import lombok.extern.slf4j.Slf4j; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.stereotype.Controller; import org.springframework.validation.BindException; +import org.springframework.validation.FieldError; import org.springframework.web.bind.MethodArgumentNotValidException; import org.springframework.web.bind.annotation.ExceptionHandler; import org.springframework.web.bind.annotation.RestControllerAdvice; +import java.util.ArrayList; +import java.util.List; + /** * 自定义错误处理器 * @author LGH @@ -29,23 +35,44 @@ import org.springframework.web.bind.annotation.RestControllerAdvice; @RestControllerAdvice public class DefaultExceptionHandlerConfig { + @ExceptionHandler({ MethodArgumentNotValidException.class, BindException.class }) + public ResponseEntity>> methodArgumentNotValidExceptionHandler(Exception e) { + log.error("methodArgumentNotValidExceptionHandler", e); + List fieldErrors = null; + if (e instanceof MethodArgumentNotValidException) { + fieldErrors = ((MethodArgumentNotValidException) e).getBindingResult().getFieldErrors(); + } + if (e instanceof BindException) { + fieldErrors = ((BindException) e).getBindingResult().getFieldErrors(); + } + if (fieldErrors == null) { + return ResponseEntity.status(HttpStatus.OK) + .body(ServerResponseEntity.fail(ResponseEnum.METHOD_ARGUMENT_NOT_VALID)); + } - @ExceptionHandler(BindException.class) - public ResponseEntity bindExceptionHandler(BindException e){ - log.error("BindException:", e); - return ResponseEntity.status(HttpStatus.BAD_REQUEST).body(e.getBindingResult().getFieldErrors().get(0).getDefaultMessage()); - + List defaultMessages = new ArrayList<>(fieldErrors.size()); + for (FieldError fieldError : fieldErrors) { + defaultMessages.add(fieldError.getField() + ":" + fieldError.getDefaultMessage()); + } + return ResponseEntity.status(HttpStatus.OK) + .body(ServerResponseEntity.fail(ResponseEnum.METHOD_ARGUMENT_NOT_VALID, defaultMessages)); } - @ExceptionHandler(MethodArgumentNotValidException.class) - public ResponseEntity methodArgumentNotValidExceptionHandler(MethodArgumentNotValidException e){ - log.error("MethodArgumentNotValidException:", e); - return ResponseEntity.status(HttpStatus.BAD_REQUEST).body(e.getBindingResult().getFieldErrors().get(0).getDefaultMessage()); + @ExceptionHandler(YamiShopBindException.class) + public ResponseEntity> unauthorizedExceptionHandler(YamiShopBindException e){ + log.error("mall4jExceptionHandler", e); + + ServerResponseEntity serverResponseEntity = e.getServerResponseEntity(); + if (serverResponseEntity!=null) { + return ResponseEntity.status(HttpStatus.OK).body(serverResponseEntity); + } + // 失败返回消息 状态码固定为直接显示消息的状态码 + return ResponseEntity.status(HttpStatus.OK).body(ServerResponseEntity.fail(e.getCode(),e.getMessage())); } - @ExceptionHandler(YamiShopBindException.class) - public ResponseEntity unauthorizedExceptionHandler(YamiShopBindException e){ - log.error("YamiShopBindException Message :{}",e.getMessage()); - return ResponseEntity.status(e.getHttpStatusCode()).body(e.getMessage()); + @ExceptionHandler(Exception.class) + public ResponseEntity> exceptionHandler(Exception e){ + log.error("exceptionHandler", e); + return ResponseEntity.status(HttpStatus.OK).body(ServerResponseEntity.fail(ResponseEnum.EXCEPTION)); } } \ No newline at end of file diff --git a/yami-shop-common/src/main/java/com/yami/shop/common/enums/YamiHttpStatus.java b/yami-shop-common/src/main/java/com/yami/shop/common/enums/YamiHttpStatus.java deleted file mode 100644 index 017550c..0000000 --- a/yami-shop-common/src/main/java/com/yami/shop/common/enums/YamiHttpStatus.java +++ /dev/null @@ -1,82 +0,0 @@ -/* - * Copyright (c) 2018-2999 广州市蓝海创新科技有限公司 All rights reserved. - * - * https://www.mall4j.com/ - * - * 未经允许,不可做商业用途! - * - * 版权所有,侵权必究! - */ - -package com.yami.shop.common.enums; - -/** - * 与前端进行特殊交互需要使用的状态码,由于小程序需要,所以状态码只能为3位数字,并且不能与正常的http状态码冲突 - * @author LGH - */ -public enum YamiHttpStatus { - /** - * 客户端看到401状态码时,应该重新登陆 - */ - UNAUTHORIZED(401, "未授权"), - - COUPONCANNOTUSETOGETHER(601, "优惠券不能共用"), - - SOCIAL_ACCOUNT_NOT_BIND(475, "social account not bind"), - ACCOUNT_NOT_REGISTER(476, "account not register"), - ; - - - private final int value; - - private final String msg; - - - YamiHttpStatus(int value, String msg) { - this.value = value; - this.msg = msg; - } - - - /** - * Return the integer value of this status code. - */ - public int value() { - return this.value; - } - - /** - * Return the msg of this status code. - */ - public String getMsg() { - return msg; - } - - /** - * Return a string representation of this status code. - */ - @Override - public String toString() { - return this.value + " " + name(); - } - - - public static YamiHttpStatus valueOf(int statusCode) { - YamiHttpStatus status = resolve(statusCode); - if (status == null) { - throw new IllegalArgumentException("没有找到该Http状态码包含状态 [" + statusCode + "]"); - } - return status; - } - - public static YamiHttpStatus resolve(int statusCode) { - for (YamiHttpStatus status : values()) { - if (status.value == statusCode) { - return status; - } - } - return null; - } - - -} diff --git a/yami-shop-common/src/main/java/com/yami/shop/common/exception/YamiShopBindException.java b/yami-shop-common/src/main/java/com/yami/shop/common/exception/YamiShopBindException.java index ce8d3d6..c5f62ec 100644 --- a/yami-shop-common/src/main/java/com/yami/shop/common/exception/YamiShopBindException.java +++ b/yami-shop-common/src/main/java/com/yami/shop/common/exception/YamiShopBindException.java @@ -10,11 +10,14 @@ package com.yami.shop.common.exception; -import com.yami.shop.common.enums.YamiHttpStatus; -import org.springframework.http.HttpStatus; +import com.yami.shop.common.response.ResponseEnum; +import com.yami.shop.common.response.ServerResponseEntity; +import lombok.Getter; + /** * @author lanhai */ +@Getter public class YamiShopBindException extends RuntimeException{ /** @@ -25,41 +28,38 @@ public class YamiShopBindException extends RuntimeException{ /** * http状态码 */ - private Integer httpStatusCode; + private String code; private Object object; + private ServerResponseEntity serverResponseEntity; - /** - * @param httpStatus http状态码 - */ - public YamiShopBindException(YamiHttpStatus httpStatus) { - super(httpStatus.getMsg()); - this.httpStatusCode = httpStatus.value(); + public YamiShopBindException(ResponseEnum responseEnum) { + super(responseEnum.getMsg()); + this.code = responseEnum.value(); } - /** - * @param httpStatus http状态码 + * @param responseEnum */ - public YamiShopBindException(YamiHttpStatus httpStatus, String msg) { + public YamiShopBindException(ResponseEnum responseEnum, String msg) { super(msg); - this.httpStatusCode = httpStatus.value(); + this.code = responseEnum.value(); + } + + public YamiShopBindException(ServerResponseEntity serverResponseEntity) { + this.serverResponseEntity = serverResponseEntity; } public YamiShopBindException(String msg) { super(msg); - this.httpStatusCode = HttpStatus.BAD_REQUEST.value(); + this.code = ResponseEnum.SHOW_FAIL.value(); } public YamiShopBindException(String msg, Object object) { super(msg); - this.httpStatusCode = HttpStatus.BAD_REQUEST.value(); + this.code = ResponseEnum.SHOW_FAIL.value(); this.object = object; } - public Integer getHttpStatusCode() { - return httpStatusCode; - } - } diff --git a/yami-shop-common/src/main/java/com/yami/shop/common/handler/HttpHandler.java b/yami-shop-common/src/main/java/com/yami/shop/common/handler/HttpHandler.java index 7e42838..e5a606d 100644 --- a/yami-shop-common/src/main/java/com/yami/shop/common/handler/HttpHandler.java +++ b/yami-shop-common/src/main/java/com/yami/shop/common/handler/HttpHandler.java @@ -1,9 +1,12 @@ package com.yami.shop.common.handler; import cn.hutool.core.util.CharsetUtil; +import com.fasterxml.jackson.databind.ObjectMapper; import com.yami.shop.common.exception.YamiShopBindException; +import com.yami.shop.common.response.ServerResponseEntity; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.MediaType; import org.springframework.stereotype.Component; import org.springframework.web.context.request.RequestContextHolder; @@ -12,6 +15,7 @@ import org.springframework.web.context.request.ServletRequestAttributes; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.io.PrintWriter; +import java.util.Objects; /** * @author 菠萝凤梨 @@ -22,7 +26,14 @@ public class HttpHandler { private static final Logger logger = LoggerFactory.getLogger(HttpHandler.class); - public void printServerResponseToWeb(String str, int status) { + @Autowired + private ObjectMapper objectMapper; + + public void printServerResponseToWeb(ServerResponseEntity serverResponseEntity) { + if (serverResponseEntity == null) { + logger.info("print obj is null"); + return; + } ServletRequestAttributes requestAttributes = (ServletRequestAttributes) RequestContextHolder .getRequestAttributes(); @@ -35,17 +46,33 @@ public class HttpHandler { logger.error("httpServletResponse is null, can not print to web"); return; } - logger.error("response error: " + str); + logger.error("response error: " + serverResponseEntity.getMsg()); response.setCharacterEncoding(CharsetUtil.UTF_8); response.setContentType(MediaType.APPLICATION_JSON_VALUE); - response.setStatus(status); PrintWriter printWriter = null; try { printWriter = response.getWriter(); - printWriter.write(str); + printWriter.write(objectMapper.writeValueAsString(serverResponseEntity)); } catch (IOException e) { throw new YamiShopBindException("io 异常", e); } } + + public void printServerResponseToWeb(YamiShopBindException yamiShopBindException) { + if (yamiShopBindException == null) { + logger.info("print obj is null"); + return; + } + + if (Objects.nonNull(yamiShopBindException.getServerResponseEntity())) { + printServerResponseToWeb(yamiShopBindException.getServerResponseEntity()); + return; + } + + ServerResponseEntity serverResponseEntity = new ServerResponseEntity<>(); + serverResponseEntity.setCode(yamiShopBindException.getCode()); + serverResponseEntity.setMsg(yamiShopBindException.getMessage()); + printServerResponseToWeb(serverResponseEntity); + } } diff --git a/yami-shop-common/src/main/java/com/yami/shop/common/response/ResponseCode.java b/yami-shop-common/src/main/java/com/yami/shop/common/response/ResponseCode.java index d189d4d..2721206 100644 --- a/yami-shop-common/src/main/java/com/yami/shop/common/response/ResponseCode.java +++ b/yami-shop-common/src/main/java/com/yami/shop/common/response/ResponseCode.java @@ -7,7 +7,6 @@ * * 版权所有,侵权必究! */ - package com.yami.shop.common.response; /** @@ -16,6 +15,5 @@ package com.yami.shop.common.response; public interface ResponseCode { int SUCCESS = 1; - int FAIL = -1; } diff --git a/yami-shop-common/src/main/java/com/yami/shop/common/response/ResponseEnum.java b/yami-shop-common/src/main/java/com/yami/shop/common/response/ResponseEnum.java new file mode 100644 index 0000000..bad0c30 --- /dev/null +++ b/yami-shop-common/src/main/java/com/yami/shop/common/response/ResponseEnum.java @@ -0,0 +1,69 @@ +/* + * Copyright (c) 2018-2999 广州市蓝海创新科技有限公司 All rights reserved. + * + * https://www.mall4j.com/ + * + * 未经允许,不可做商业用途! + * + * 版权所有,侵权必究! + */ +package com.yami.shop.common.response; + +/** + * @author FrozenWatermelon + * @date 2020/7/9 + */ +public enum ResponseEnum { + + /** + * ok + */ + OK("00000", "ok"), + SHOW_FAIL("A00001", ""), + + /** + * 用于直接显示提示用户的错误,内容由输入内容决定 + */ + + /** + * 用于直接显示提示系统的成功,内容由输入内容决定 + */ + SHOW_SUCCESS("A00002", ""), + + /** + * 未授权 + */ + UNAUTHORIZED("A00004", "Unauthorized"), + + /** + * 服务器出了点小差 + */ + EXCEPTION("A00005", "服务器出了点小差"), + /** + * 方法参数没有校验,内容由输入内容决定 + */ + METHOD_ARGUMENT_NOT_VALID("A00014", "方法参数没有校验"); + + private final String code; + + private final String msg; + + public String value() { + return code; + } + + public String getMsg() { + return msg; + } + + ResponseEnum(String code, String msg) { + this.code = code; + this.msg = msg; + } + + @Override + public String toString() { + return "ResponseEnum{" + "code='" + code + '\'' + ", msg='" + msg + '\'' + "} " + super.toString(); + } + +} diff --git a/yami-shop-common/src/main/java/com/yami/shop/common/response/ServerResponseEntity.java b/yami-shop-common/src/main/java/com/yami/shop/common/response/ServerResponseEntity.java index b38be6a..4429143 100644 --- a/yami-shop-common/src/main/java/com/yami/shop/common/response/ServerResponseEntity.java +++ b/yami-shop-common/src/main/java/com/yami/shop/common/response/ServerResponseEntity.java @@ -12,48 +12,187 @@ package com.yami.shop.common.response; import lombok.extern.slf4j.Slf4j; +import java.io.Serializable; +import java.util.Objects; + /** * @author lanhai */ @Slf4j -public class ServerResponseEntity { +public class ServerResponseEntity implements Serializable { + + /** + * 状态码 + */ + private String code; + + /** + * 信息 + */ + private String msg; + + /** + * 数据 + */ + private T data; + + /** + * 版本 + */ + private String version; + + /** + * 时间 + */ + private Long timestamp; + + private String sign; - public static ServerResponse success(T data) { - ServerResponse serverResponse = new ServerResponse<>(); - serverResponse.setObj(data); - serverResponse.setCode(ResponseCode.SUCCESS); - return serverResponse; + public String getSign() { + return sign; } - public static ServerResponse success() { - ServerResponse serverResponse = new ServerResponse<>(); - serverResponse.setCode(ResponseCode.SUCCESS); - return serverResponse; + public void setSign(String sign) { + this.sign = sign; } - public static ServerResponse fail(String msg) { - log.error(msg); - ServerResponse serverResponse = new ServerResponse<>(); - serverResponse.setMsg(msg); - serverResponse.setCode(ResponseCode.FAIL); - return serverResponse; + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; } - public static ServerResponse fail(String msg, T data) { + public String getMsg() { + return msg; + } + + public void setMsg(String msg) { + this.msg = msg; + } + + public T getData() { + return data; + } + + public ServerResponseEntity setData(T data) { + this.data = data; + return this; + } + + public String getVersion() { + return version; + } + + public void setVersion(String version) { + this.version = version; + } + + public Long getTimestamp() { + return timestamp; + } + + public void setTimestamp(Long timestamp) { + this.timestamp = timestamp; + } + + public boolean isSuccess() { + return Objects.equals(ResponseEnum.OK.value(), this.code); + } + public boolean isFail() { + return !Objects.equals(ResponseEnum.OK.value(), this.code); + } + + public ServerResponseEntity() { + // 版本号 + this.version = "mall4j.v230313"; + } + + public static ServerResponseEntity success(T data) { + ServerResponseEntity serverResponseEntity = new ServerResponseEntity<>(); + serverResponseEntity.setData(data); + serverResponseEntity.setCode(ResponseEnum.OK.value()); + return serverResponseEntity; + } + + public static ServerResponseEntity success() { + ServerResponseEntity serverResponseEntity = new ServerResponseEntity<>(); + serverResponseEntity.setCode(ResponseEnum.OK.value()); + serverResponseEntity.setMsg(ResponseEnum.OK.getMsg()); + return serverResponseEntity; + } + + public static ServerResponseEntity success(Integer code, T data) { + return success(String.valueOf(code), data); + } + + public static ServerResponseEntity success(String code, T data) { + ServerResponseEntity serverResponseEntity = new ServerResponseEntity<>(); + serverResponseEntity.setCode(code); + serverResponseEntity.setData(data); + return serverResponseEntity; + } + + /** + * 前端显示失败消息 + * @param msg 失败消息 + * @return + */ + public static ServerResponseEntity showFailMsg(String msg) { log.error(msg); - ServerResponse serverResponse = new ServerResponse<>(); - serverResponse.setMsg(msg); - serverResponse.setCode(ResponseCode.FAIL); - serverResponse.setObj(data); - return serverResponse; + ServerResponseEntity serverResponseEntity = new ServerResponseEntity<>(); + serverResponseEntity.setMsg(msg); + serverResponseEntity.setCode(ResponseEnum.SHOW_FAIL.value()); + return serverResponseEntity; + } + + public static ServerResponseEntity fail(ResponseEnum responseEnum) { + log.error(responseEnum.toString()); + ServerResponseEntity serverResponseEntity = new ServerResponseEntity<>(); + serverResponseEntity.setMsg(responseEnum.getMsg()); + serverResponseEntity.setCode(responseEnum.value()); + return serverResponseEntity; + } + + public static ServerResponseEntity fail(ResponseEnum responseEnum, T data) { + log.error(responseEnum.toString()); + ServerResponseEntity serverResponseEntity = new ServerResponseEntity<>(); + serverResponseEntity.setMsg(responseEnum.getMsg()); + serverResponseEntity.setCode(responseEnum.value()); + serverResponseEntity.setData(data); + return serverResponseEntity; } - public static ServerResponse fail(int code ,String msg, T data) { + public static ServerResponseEntity fail(String code, String msg, T data) { log.error(msg); - ServerResponse serverResponse = new ServerResponse<>(); - serverResponse.setMsg(msg); - serverResponse.setCode(code); - serverResponse.setObj(data); - return serverResponse; + ServerResponseEntity serverResponseEntity = new ServerResponseEntity<>(); + serverResponseEntity.setMsg(msg); + serverResponseEntity.setCode(code); + serverResponseEntity.setData(data); + return serverResponseEntity; + } + + public static ServerResponseEntity fail(String code, String msg) { + return fail(code, msg, null); + } + + public static ServerResponseEntity fail(Integer code, T data) { + ServerResponseEntity serverResponseEntity = new ServerResponseEntity<>(); + serverResponseEntity.setCode(String.valueOf(code)); + serverResponseEntity.setData(data); + return serverResponseEntity; + } + + @Override + public String toString() { + return "ServerResponseEntity{" + + "code='" + code + '\'' + + ", msg='" + msg + '\'' + + ", data=" + data + + ", version='" + version + '\'' + + ", timestamp=" + timestamp + + ", sign='" + sign + '\'' + + '}'; } } diff --git a/yami-shop-security/yami-shop-security-api/src/main/java/com/yami/shop/security/api/controller/LoginController.java b/yami-shop-security/yami-shop-security-api/src/main/java/com/yami/shop/security/api/controller/LoginController.java index 61f0d7d..b3791bb 100644 --- a/yami-shop-security/yami-shop-security-api/src/main/java/com/yami/shop/security/api/controller/LoginController.java +++ b/yami-shop-security/yami-shop-security-api/src/main/java/com/yami/shop/security/api/controller/LoginController.java @@ -15,7 +15,7 @@ import com.yami.shop.security.common.vo.TokenInfoVO; import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.Operation; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.http.ResponseEntity; +import com.yami.shop.common.response.ServerResponseEntity; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; @@ -43,7 +43,7 @@ public class LoginController { @PostMapping("/login") @Operation(summary = "账号密码(用于前端登录)" , description = "通过账号/手机号/用户名密码登录,还要携带用户的类型,也就是用户所在的系统") - public ResponseEntity login( + public ServerResponseEntity login( @Valid @RequestBody AuthenticationDTO authenticationDTO) { String mobileOrUserName = authenticationDTO.getUserName(); User user = getUser(mobileOrUserName); @@ -59,7 +59,7 @@ public class LoginController { userInfoInToken.setEnabled(user.getStatus() == 1); // 存储token返回vo TokenInfoVO tokenInfoVO = tokenStore.storeAndGetVo(userInfoInToken); - return ResponseEntity.ok(tokenInfoVO); + return ServerResponseEntity.success(tokenInfoVO); } private User getUser(String mobileOrUserName) { diff --git a/yami-shop-security/yami-shop-security-common/src/main/java/com/yami/shop/security/common/controller/CaptchaController.java b/yami-shop-security/yami-shop-security-common/src/main/java/com/yami/shop/security/common/controller/CaptchaController.java index 78991c0..d8bc092 100644 --- a/yami-shop-security/yami-shop-security-common/src/main/java/com/yami/shop/security/common/controller/CaptchaController.java +++ b/yami-shop-security/yami-shop-security-common/src/main/java/com/yami/shop/security/common/controller/CaptchaController.java @@ -14,7 +14,7 @@ import com.anji.captcha.model.common.ResponseModel; import com.anji.captcha.model.vo.CaptchaVO; import com.anji.captcha.service.CaptchaService; import io.swagger.v3.oas.annotations.tags.Tag; -import org.springframework.http.ResponseEntity; +import com.yami.shop.common.response.ServerResponseEntity; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; @@ -36,19 +36,19 @@ public class CaptchaController { } @PostMapping({ "/get" }) - public ResponseEntity get(@RequestBody CaptchaVO captchaVO) { - return ResponseEntity.ok(captchaService.get(captchaVO)); + public ServerResponseEntity get(@RequestBody CaptchaVO captchaVO) { + return ServerResponseEntity.success(captchaService.get(captchaVO)); } @PostMapping({ "/check" }) - public ResponseEntity check(@RequestBody CaptchaVO captchaVO) { + public ServerResponseEntity check(@RequestBody CaptchaVO captchaVO) { ResponseModel responseModel; try { responseModel = captchaService.check(captchaVO); }catch (Exception e) { - return ResponseEntity.ok(ResponseModel.errorMsg(RepCodeEnum.API_CAPTCHA_COORDINATE_ERROR)); + return ServerResponseEntity.success(ResponseModel.errorMsg(RepCodeEnum.API_CAPTCHA_COORDINATE_ERROR)); } - return ResponseEntity.ok(responseModel); + return ServerResponseEntity.success(responseModel); } } diff --git a/yami-shop-security/yami-shop-security-common/src/main/java/com/yami/shop/security/common/controller/LogoutController.java b/yami-shop-security/yami-shop-security-common/src/main/java/com/yami/shop/security/common/controller/LogoutController.java index ccbb0e2..4b1d5d0 100644 --- a/yami-shop-security/yami-shop-security-common/src/main/java/com/yami/shop/security/common/controller/LogoutController.java +++ b/yami-shop-security/yami-shop-security-common/src/main/java/com/yami/shop/security/common/controller/LogoutController.java @@ -10,11 +10,11 @@ package com.yami.shop.security.common.controller; import cn.hutool.core.util.StrUtil; +import com.yami.shop.common.response.ServerResponseEntity; import com.yami.shop.security.common.manager.TokenStore; -import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RestController; @@ -33,13 +33,13 @@ public class LogoutController { @PostMapping("/logOut") @Operation(summary = "退出登陆" , description = "点击退出登陆,清除token,清除菜单缓存") - public ResponseEntity logOut(HttpServletRequest request) { + public ServerResponseEntity logOut(HttpServletRequest request) { String accessToken = request.getHeader("Authorization"); if (StrUtil.isBlank(accessToken)) { - return ResponseEntity.ok().build(); + return ServerResponseEntity.success(); } // 删除该用户在该系统当前的token tokenStore.deleteCurrentToken(accessToken); - return ResponseEntity.ok().build(); + return ServerResponseEntity.success(); } } diff --git a/yami-shop-security/yami-shop-security-common/src/main/java/com/yami/shop/security/common/controller/TokenController.java b/yami-shop-security/yami-shop-security-common/src/main/java/com/yami/shop/security/common/controller/TokenController.java index c68c4a3..3a3213f 100644 --- a/yami-shop-security/yami-shop-security-common/src/main/java/com/yami/shop/security/common/controller/TokenController.java +++ b/yami-shop-security/yami-shop-security-common/src/main/java/com/yami/shop/security/common/controller/TokenController.java @@ -9,6 +9,7 @@ */ package com.yami.shop.security.common.controller; +import com.yami.shop.common.response.ServerResponseEntity; import com.yami.shop.security.common.bo.TokenInfoBO; import com.yami.shop.security.common.dto.RefreshTokenDTO; import com.yami.shop.security.common.manager.TokenStore; @@ -16,7 +17,6 @@ import com.yami.shop.security.common.vo.TokenInfoVO; import io.swagger.v3.oas.annotations.tags.Tag; import ma.glasnost.orika.MapperFacade; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; @@ -38,11 +38,11 @@ public class TokenController { private MapperFacade mapperFacade; @PostMapping("/token/refresh") - public ResponseEntity refreshToken(@Valid @RequestBody RefreshTokenDTO refreshTokenDTO) { + public ServerResponseEntity refreshToken(@Valid @RequestBody RefreshTokenDTO refreshTokenDTO) { TokenInfoBO tokenInfoServerResponseEntity = tokenStore .refreshToken(refreshTokenDTO.getRefreshToken()); - return ResponseEntity - .ok(mapperFacade.map(tokenInfoServerResponseEntity, TokenInfoVO.class)); + return ServerResponseEntity + .success(mapperFacade.map(tokenInfoServerResponseEntity, TokenInfoVO.class)); } } diff --git a/yami-shop-security/yami-shop-security-common/src/main/java/com/yami/shop/security/common/filter/AuthFilter.java b/yami-shop-security/yami-shop-security-common/src/main/java/com/yami/shop/security/common/filter/AuthFilter.java index 6f71748..f20ce3a 100644 --- a/yami-shop-security/yami-shop-security-common/src/main/java/com/yami/shop/security/common/filter/AuthFilter.java +++ b/yami-shop-security/yami-shop-security-common/src/main/java/com/yami/shop/security/common/filter/AuthFilter.java @@ -13,6 +13,8 @@ import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.util.StrUtil; import com.yami.shop.common.exception.YamiShopBindException; import com.yami.shop.common.handler.HttpHandler; +import com.yami.shop.common.response.ResponseEnum; +import com.yami.shop.common.response.ServerResponseEntity; import com.yami.shop.security.common.adapter.AuthConfigAdapter; import com.yami.shop.security.common.bo.UserInfoInTokenBO; import com.yami.shop.security.common.manager.TokenStore; @@ -20,7 +22,6 @@ import com.yami.shop.security.common.util.AuthUserContext; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.http.HttpStatus; import org.springframework.stereotype.Component; import org.springframework.util.AntPathMatcher; @@ -85,7 +86,7 @@ public class AuthFilter implements Filter { } else if (!mayAuth) { // 返回前端401 - httpHandler.printServerResponseToWeb(HttpStatus.UNAUTHORIZED.getReasonPhrase(), HttpStatus.UNAUTHORIZED.value()); + httpHandler.printServerResponseToWeb(ServerResponseEntity.fail(ResponseEnum.UNAUTHORIZED)); return; } // 保存上下文 @@ -96,7 +97,7 @@ public class AuthFilter implements Filter { }catch (Exception e) { // 手动捕获下非controller异常 if (e instanceof YamiShopBindException) { - httpHandler.printServerResponseToWeb(e.getMessage(), ((YamiShopBindException) e).getHttpStatusCode()); + httpHandler.printServerResponseToWeb((YamiShopBindException) e); } else { throw e; } diff --git a/yami-shop-security/yami-shop-security-common/src/main/java/com/yami/shop/security/common/manager/TokenStore.java b/yami-shop-security/yami-shop-security-common/src/main/java/com/yami/shop/security/common/manager/TokenStore.java index 83fdab9..3e02136 100644 --- a/yami-shop-security/yami-shop-security-common/src/main/java/com/yami/shop/security/common/manager/TokenStore.java +++ b/yami-shop-security/yami-shop-security-common/src/main/java/com/yami/shop/security/common/manager/TokenStore.java @@ -16,7 +16,7 @@ import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.StrUtil; import cn.hutool.crypto.symmetric.AES; import com.yami.shop.common.constants.OauthCacheNames; -import com.yami.shop.common.enums.YamiHttpStatus; +import com.yami.shop.common.response.ResponseEnum; import com.yami.shop.common.exception.YamiShopBindException; import com.yami.shop.common.util.PrincipalUtil; import com.yami.shop.security.common.bo.TokenInfoBO; @@ -158,7 +158,7 @@ public class TokenStore { */ public UserInfoInTokenBO getUserInfoByAccessToken(String accessToken, boolean needDecrypt) { if (StrUtil.isBlank(accessToken)) { - throw new YamiShopBindException(YamiHttpStatus.UNAUTHORIZED,"accessToken is blank"); + throw new YamiShopBindException(ResponseEnum.UNAUTHORIZED,"accessToken is blank"); } String realAccessToken; if (needDecrypt) { @@ -171,7 +171,7 @@ public class TokenStore { .get(getAccessKey(realAccessToken)); if (userInfoInTokenBO == null) { - throw new YamiShopBindException(YamiHttpStatus.UNAUTHORIZED,"accessToken 已过期"); + throw new YamiShopBindException(ResponseEnum.UNAUTHORIZED,"accessToken 已过期"); } return userInfoInTokenBO; } @@ -183,13 +183,13 @@ public class TokenStore { */ public TokenInfoBO refreshToken(String refreshToken) { if (StrUtil.isBlank(refreshToken)) { - throw new YamiShopBindException(YamiHttpStatus.UNAUTHORIZED,"refreshToken is blank"); + throw new YamiShopBindException(ResponseEnum.UNAUTHORIZED,"refreshToken is blank"); } String realRefreshToken = decryptToken(refreshToken); String accessToken = stringRedisTemplate.opsForValue().get(getRefreshToAccessKey(realRefreshToken)); if (StrUtil.isBlank(accessToken)) { - throw new YamiShopBindException(YamiHttpStatus.UNAUTHORIZED,"refreshToken 已过期"); + throw new YamiShopBindException(ResponseEnum.UNAUTHORIZED,"refreshToken 已过期"); } UserInfoInTokenBO userInfoInTokenBO = getUserInfoByAccessToken(accessToken, false); @@ -256,16 +256,16 @@ public class TokenStore { int expiresIn = getExpiresIn(sysType); long second = 1000L; if (System.currentTimeMillis() - createTokenTime > expiresIn * second) { - throw new YamiShopBindException(YamiHttpStatus.UNAUTHORIZED,"token error"); + throw new YamiShopBindException(ResponseEnum.UNAUTHORIZED,"token error"); } } catch (Exception e) { - throw new YamiShopBindException(YamiHttpStatus.UNAUTHORIZED,"token error"); + throw new YamiShopBindException(ResponseEnum.UNAUTHORIZED,"token error"); } // 防止解密后的token是脚本,从而对redis进行攻击,uuid只能是数字和小写字母 if (!PrincipalUtil.isSimpleChar(decryptToken)) { - throw new YamiShopBindException(YamiHttpStatus.UNAUTHORIZED,"token error"); + throw new YamiShopBindException(ResponseEnum.UNAUTHORIZED,"token error"); } return decryptToken; } diff --git a/yami-shop-sys/src/main/java/com/yami/shop/sys/controller/SysConfigController.java b/yami-shop-sys/src/main/java/com/yami/shop/sys/controller/SysConfigController.java index 6796f36..f859487 100644 --- a/yami-shop-sys/src/main/java/com/yami/shop/sys/controller/SysConfigController.java +++ b/yami-shop-sys/src/main/java/com/yami/shop/sys/controller/SysConfigController.java @@ -17,7 +17,7 @@ import javax.validation.Valid; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.yami.shop.sys.model.SysConfig; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.http.ResponseEntity; +import com.yami.shop.common.response.ServerResponseEntity; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.DeleteMapping; import org.springframework.web.bind.annotation.GetMapping; @@ -53,9 +53,9 @@ public class SysConfigController{ */ @GetMapping("/page") @PreAuthorize("@pms.hasPermission('sys:config:page')") - public ResponseEntity> page(String paramKey,PageParam page){ + public ServerResponseEntity> page(String paramKey,PageParam page){ IPage sysConfigs = sysConfigService.page(page, new LambdaQueryWrapper().like(StrUtil.isNotBlank(paramKey),SysConfig::getParamKey,paramKey)); - return ResponseEntity.ok(sysConfigs); + return ServerResponseEntity.success(sysConfigs); } @@ -64,9 +64,9 @@ public class SysConfigController{ */ @GetMapping("/info/{id}") @PreAuthorize("@pms.hasPermission('sys:config:info')") - public ResponseEntity info(@PathVariable("id") Long id){ + public ServerResponseEntity info(@PathVariable("id") Long id){ SysConfig config = sysConfigService.getById(id); - return ResponseEntity.ok(config); + return ServerResponseEntity.success(config); } /** @@ -75,9 +75,9 @@ public class SysConfigController{ @SysLog("保存配置") @PostMapping @PreAuthorize("@pms.hasPermission('sys:config:save')") - public ResponseEntity save(@RequestBody @Valid SysConfig config){ + public ServerResponseEntity save(@RequestBody @Valid SysConfig config){ sysConfigService.save(config); - return ResponseEntity.ok().build(); + return ServerResponseEntity.success(); } /** @@ -86,9 +86,9 @@ public class SysConfigController{ @SysLog("修改配置") @PutMapping @PreAuthorize("@pms.hasPermission('sys:config:update')") - public ResponseEntity update(@RequestBody @Valid SysConfig config){ + public ServerResponseEntity update(@RequestBody @Valid SysConfig config){ sysConfigService.updateById(config); - return ResponseEntity.ok().build(); + return ServerResponseEntity.success(); } /** @@ -97,9 +97,9 @@ public class SysConfigController{ @SysLog("删除配置") @DeleteMapping @PreAuthorize("@pms.hasPermission('sys:config:delete')") - public ResponseEntity delete(@RequestBody Long[] configIds){ + public ServerResponseEntity delete(@RequestBody Long[] configIds){ sysConfigService.deleteBatch(configIds); - return ResponseEntity.ok().build(); + return ServerResponseEntity.success(); } } diff --git a/yami-shop-sys/src/main/java/com/yami/shop/sys/controller/SysLogController.java b/yami-shop-sys/src/main/java/com/yami/shop/sys/controller/SysLogController.java index d4a7d5e..36eb59d 100644 --- a/yami-shop-sys/src/main/java/com/yami/shop/sys/controller/SysLogController.java +++ b/yami-shop-sys/src/main/java/com/yami/shop/sys/controller/SysLogController.java @@ -14,7 +14,7 @@ package com.yami.shop.sys.controller; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.yami.shop.sys.model.SysLog; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.http.ResponseEntity; +import com.yami.shop.common.response.ServerResponseEntity; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; @@ -45,12 +45,12 @@ public class SysLogController { */ @GetMapping("/page") @PreAuthorize("@pms.hasPermission('sys:log:page')") - public ResponseEntity> page(SysLog sysLog,PageParam page){ + public ServerResponseEntity> page(SysLog sysLog,PageParam page){ IPage sysLogs = sysLogService.page(page, new LambdaQueryWrapper() .like(StrUtil.isNotBlank(sysLog.getUsername()),SysLog::getUsername, sysLog.getUsername()) .like(StrUtil.isNotBlank(sysLog.getOperation()), SysLog::getOperation,sysLog.getOperation())); - return ResponseEntity.ok(sysLogs); + return ServerResponseEntity.success(sysLogs); } } diff --git a/yami-shop-sys/src/main/java/com/yami/shop/sys/controller/SysMenuController.java b/yami-shop-sys/src/main/java/com/yami/shop/sys/controller/SysMenuController.java index d161b2a..da2a8b7 100644 --- a/yami-shop-sys/src/main/java/com/yami/shop/sys/controller/SysMenuController.java +++ b/yami-shop-sys/src/main/java/com/yami/shop/sys/controller/SysMenuController.java @@ -21,7 +21,7 @@ import com.yami.shop.sys.model.SysMenu; import com.yami.shop.sys.service.SysMenuService; import io.swagger.v3.oas.annotations.Operation; import lombok.AllArgsConstructor; -import org.springframework.http.ResponseEntity; +import com.yami.shop.common.response.ServerResponseEntity; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.*; @@ -44,10 +44,10 @@ public class SysMenuController{ @GetMapping("/nav") @Operation(summary = "获取用户所拥有的菜单和权限" , description = "通过登陆用户的userId获取用户所拥有的菜单和权限") - public ResponseEntity> nav(){ + public ServerResponseEntity> nav(){ List menuList = sysMenuService.listMenuByUserId(SecurityUtils.getSysUser().getUserId()); - return ResponseEntity.ok(MapUtil.builder().put("menuList", menuList).put("authorities", SecurityUtils.getSysUser().getAuthorities()).build()); + return ServerResponseEntity.success(MapUtil.builder().put("menuList", menuList).put("authorities", SecurityUtils.getSysUser().getAuthorities()).build()); } /** @@ -55,9 +55,9 @@ public class SysMenuController{ * @return */ @GetMapping("/table") - public ResponseEntity> table(){ + public ServerResponseEntity> table(){ List sysMenuList = sysMenuService.listMenuAndBtn(); - return ResponseEntity.ok(sysMenuList); + return ServerResponseEntity.success(sysMenuList); } /** @@ -65,31 +65,31 @@ public class SysMenuController{ */ @GetMapping("/list") @Operation(summary = "获取用户所拥有的菜单(不包括按钮)" , description = "通过登陆用户的userId获取用户所拥有的菜单和权限") - public ResponseEntity> list(){ + public ServerResponseEntity> list(){ List sysMenuList= sysMenuService.listSimpleMenuNoButton(); - return ResponseEntity.ok(sysMenuList); + return ServerResponseEntity.success(sysMenuList); } /** * 选择菜单 */ @GetMapping("/listRootMenu") - public ResponseEntity> listRootMenu(){ + public ServerResponseEntity> listRootMenu(){ //查询列表数据 List menuList = sysMenuService.listRootMenu(); - return ResponseEntity.ok(menuList); + return ServerResponseEntity.success(menuList); } /** * 选择子菜单 */ @GetMapping("/listChildrenMenu") - public ResponseEntity> listChildrenMenu(Long parentId){ + public ServerResponseEntity> listChildrenMenu(Long parentId){ //查询列表数据 List menuList = sysMenuService.listChildrenMenuByParentId(parentId); - return ResponseEntity.ok(menuList); + return ServerResponseEntity.success(menuList); } /** @@ -97,9 +97,9 @@ public class SysMenuController{ */ @GetMapping("/info/{menuId}") @PreAuthorize("@pms.hasPermission('sys:menu:info')") - public ResponseEntity info(@PathVariable("menuId") Long menuId){ + public ServerResponseEntity info(@PathVariable("menuId") Long menuId){ SysMenu menu = sysMenuService.getById(menuId); - return ResponseEntity.ok(menu); + return ServerResponseEntity.success(menu); } /** @@ -108,11 +108,11 @@ public class SysMenuController{ @SysLog("保存菜单") @PostMapping @PreAuthorize("@pms.hasPermission('sys:menu:save')") - public ResponseEntity save(@Valid @RequestBody SysMenu menu){ + public ServerResponseEntity save(@Valid @RequestBody SysMenu menu){ //数据校验 verifyForm(menu); sysMenuService.save(menu); - return ResponseEntity.ok().build(); + return ServerResponseEntity.success(); } /** @@ -121,18 +121,18 @@ public class SysMenuController{ @SysLog("修改菜单") @PutMapping @PreAuthorize("@pms.hasPermission('sys:menu:update')") - public ResponseEntity update(@Valid @RequestBody SysMenu menu){ + public ServerResponseEntity update(@Valid @RequestBody SysMenu menu){ //数据校验 verifyForm(menu); if(menu.getType() == MenuType.MENU.getValue()){ if(StrUtil.isBlank(menu.getUrl())){ - return ResponseEntity.badRequest().body("菜单URL不能为空"); + return ServerResponseEntity.showFailMsg("菜单URL不能为空"); } } sysMenuService.updateById(menu); - return ResponseEntity.ok().build(); + return ServerResponseEntity.success(); } /** @@ -141,19 +141,19 @@ public class SysMenuController{ @SysLog("删除菜单") @DeleteMapping("/{menuId}") @PreAuthorize("@pms.hasPermission('sys:menu:delete')") - public ResponseEntity delete(@PathVariable Long menuId){ + public ServerResponseEntity delete(@PathVariable Long menuId){ if(menuId <= Constant.SYS_MENU_MAX_ID){ - return ResponseEntity.badRequest().body("系统菜单,不能删除"); + return ServerResponseEntity.showFailMsg("系统菜单,不能删除"); } //判断是否有子菜单或按钮 List menuList = sysMenuService.listChildrenMenuByParentId(menuId); if(menuList.size() > 0){ - return ResponseEntity.badRequest().body("请先删除子菜单或按钮"); + return ServerResponseEntity.showFailMsg("请先删除子菜单或按钮"); } sysMenuService.deleteMenuAndRoleMenu(menuId); - return ResponseEntity.ok().build(); + return ServerResponseEntity.success(); } /** diff --git a/yami-shop-sys/src/main/java/com/yami/shop/sys/controller/SysRoleController.java b/yami-shop-sys/src/main/java/com/yami/shop/sys/controller/SysRoleController.java index 6a1be4e..6f9fc7b 100644 --- a/yami-shop-sys/src/main/java/com/yami/shop/sys/controller/SysRoleController.java +++ b/yami-shop-sys/src/main/java/com/yami/shop/sys/controller/SysRoleController.java @@ -16,7 +16,7 @@ import java.util.List; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.yami.shop.sys.model.SysRole; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.http.ResponseEntity; +import com.yami.shop.common.response.ServerResponseEntity; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.DeleteMapping; import org.springframework.web.bind.annotation.GetMapping; @@ -56,9 +56,9 @@ public class SysRoleController{ */ @GetMapping("/page") @PreAuthorize("@pms.hasPermission('sys:role:page')") - public ResponseEntity> page(String roleName,PageParam page){ + public ServerResponseEntity> page(String roleName,PageParam page){ IPage sysRoles = sysRoleService.page(page,new LambdaQueryWrapper().like(StrUtil.isNotBlank(roleName),SysRole::getRoleName,roleName)); - return ResponseEntity.ok(sysRoles); + return ServerResponseEntity.success(sysRoles); } /** @@ -66,9 +66,9 @@ public class SysRoleController{ */ @GetMapping("/list") @PreAuthorize("@pms.hasPermission('sys:role:list')") - public ResponseEntity> list(){ + public ServerResponseEntity> list(){ List list = sysRoleService.list(); - return ResponseEntity.ok(list); + return ServerResponseEntity.success(list); } /** @@ -76,14 +76,14 @@ public class SysRoleController{ */ @GetMapping("/info/{roleId}") @PreAuthorize("@pms.hasPermission('sys:role:info')") - public ResponseEntity info(@PathVariable("roleId") Long roleId){ + public ServerResponseEntity info(@PathVariable("roleId") Long roleId){ SysRole role = sysRoleService.getById(roleId); //查询角色对应的菜单 List menuList = sysMenuService.listMenuIdByRoleId(roleId); role.setMenuIdList(menuList); - return ResponseEntity.ok(role); + return ServerResponseEntity.success(role); } /** @@ -92,9 +92,9 @@ public class SysRoleController{ @SysLog("保存角色") @PostMapping @PreAuthorize("@pms.hasPermission('sys:role:save')") - public ResponseEntity save(@RequestBody SysRole role){ + public ServerResponseEntity save(@RequestBody SysRole role){ sysRoleService.saveRoleAndRoleMenu(role); - return ResponseEntity.ok().build(); + return ServerResponseEntity.success(); } /** @@ -103,9 +103,9 @@ public class SysRoleController{ @SysLog("修改角色") @PutMapping @PreAuthorize("@pms.hasPermission('sys:role:update')") - public ResponseEntity update(@RequestBody SysRole role){ + public ServerResponseEntity update(@RequestBody SysRole role){ sysRoleService.updateRoleAndRoleMenu(role); - return ResponseEntity.ok().build(); + return ServerResponseEntity.success(); } /** @@ -114,8 +114,8 @@ public class SysRoleController{ @SysLog("删除角色") @DeleteMapping @PreAuthorize("@pms.hasPermission('sys:role:delete')") - public ResponseEntity delete(@RequestBody Long[] roleIds){ + public ServerResponseEntity delete(@RequestBody Long[] roleIds){ sysRoleService.deleteBatch(roleIds); - return ResponseEntity.ok().build(); + return ServerResponseEntity.success(); } } diff --git a/yami-shop-sys/src/main/java/com/yami/shop/sys/controller/SysUserController.java b/yami-shop-sys/src/main/java/com/yami/shop/sys/controller/SysUserController.java index d64ab86..6a4880a 100644 --- a/yami-shop-sys/src/main/java/com/yami/shop/sys/controller/SysUserController.java +++ b/yami-shop-sys/src/main/java/com/yami/shop/sys/controller/SysUserController.java @@ -29,7 +29,7 @@ import com.yami.shop.sys.service.SysRoleService; import com.yami.shop.sys.service.SysUserService; import io.swagger.v3.oas.annotations.Operation; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.http.ResponseEntity; +import com.yami.shop.common.response.ServerResponseEntity; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.security.crypto.password.PasswordEncoder; import org.springframework.web.bind.annotation.*; @@ -61,19 +61,19 @@ public class SysUserController { */ @GetMapping("/page") @PreAuthorize("@pms.hasPermission('sys:user:page')") - public ResponseEntity> page(String username,PageParam page){ + public ServerResponseEntity> page(String username,PageParam page){ IPage sysUserPage = sysUserService.page(page, new LambdaQueryWrapper() .eq(SysUser::getShopId, SecurityUtils.getSysUser().getShopId()) .like(StrUtil.isNotBlank(username), SysUser::getUsername, username)); - return ResponseEntity.ok(sysUserPage); + return ServerResponseEntity.success(sysUserPage); } /** * 获取登录的用户信息 */ @GetMapping("/info") - public ResponseEntity info(){ - return ResponseEntity.ok(sysUserService.getSysUserById(SecurityUtils.getSysUser().getUserId())); + public ServerResponseEntity info(){ + return ServerResponseEntity.success(sysUserService.getSysUserById(SecurityUtils.getSysUser().getUserId())); } /** @@ -82,7 +82,7 @@ public class SysUserController { @SysLog("修改密码") @PostMapping("/password") @Operation(summary = "修改密码" , description = "修改当前登陆用户的密码") - public ResponseEntity password(@RequestBody @Valid UpdatePasswordDto param){ + public ServerResponseEntity password(@RequestBody @Valid UpdatePasswordDto param){ Long userId = SecurityUtils.getSysUser().getUserId(); // 开源版代码,禁止用户修改admin 的账号密码 @@ -93,14 +93,14 @@ public class SysUserController { SysUser dbUser = sysUserService.getSysUserById(userId); String password = passwordManager.decryptPassword(param.getPassword()); if (!passwordEncoder.matches(password, dbUser.getPassword())) { - return ResponseEntity.badRequest().body("原密码不正确"); + return ServerResponseEntity.showFailMsg("原密码不正确"); } //新密码 String newPassword = passwordEncoder.encode(passwordManager.decryptPassword(param.getNewPassword())); // 更新密码 sysUserService.updatePasswordByUserId(userId, newPassword); tokenStore.deleteAllToken(String.valueOf(SysTypeEnum.ADMIN.value()),String.valueOf(userId)); - return ResponseEntity.ok().build(); + return ServerResponseEntity.success(); } /** @@ -108,7 +108,7 @@ public class SysUserController { */ @GetMapping("/info/{userId}") @PreAuthorize("@pms.hasPermission('sys:user:info')") - public ResponseEntity info(@PathVariable("userId") Long userId){ + public ServerResponseEntity info(@PathVariable("userId") Long userId){ SysUser user = sysUserService.getSysUserById(userId); user.setUserId(null); if (!Objects.equals(user.getShopId(), SecurityUtils.getSysUser().getShopId())) { @@ -117,7 +117,7 @@ public class SysUserController { //获取用户所属的角色列表 List roleIdList = sysRoleService.listRoleIdByUserId(userId); user.setRoleIdList(roleIdList); - return ResponseEntity.ok(user); + return ServerResponseEntity.success(user); } /** @@ -126,17 +126,17 @@ public class SysUserController { @SysLog("保存用户") @PostMapping @PreAuthorize("@pms.hasPermission('sys:user:save')") - public ResponseEntity save(@Valid @RequestBody SysUser user){ + public ServerResponseEntity save(@Valid @RequestBody SysUser user){ String username = user.getUsername(); SysUser dbUser = sysUserService.getOne(new LambdaQueryWrapper() .eq(SysUser::getUsername, username)); if (dbUser!=null) { - return ResponseEntity.badRequest().body("该用户已存在"); + return ServerResponseEntity.showFailMsg("该用户已存在"); } user.setShopId(SecurityUtils.getSysUser().getShopId()); user.setPassword(passwordEncoder.encode(passwordManager.decryptPassword(user.getPassword()))); sysUserService.saveUserAndUserRole(user); - return ResponseEntity.ok().build(); + return ServerResponseEntity.success(); } /** @@ -145,7 +145,7 @@ public class SysUserController { @SysLog("修改用户") @PutMapping @PreAuthorize("@pms.hasPermission('sys:user:update')") - public ResponseEntity update(@Valid @RequestBody SysUser user){ + public ServerResponseEntity update(@Valid @RequestBody SysUser user){ String password = passwordManager.decryptPassword(user.getPassword()); SysUser dbUser = sysUserService.getSysUserById(user.getUserId()); @@ -155,7 +155,7 @@ public class SysUserController { SysUser dbUserNameInfo = sysUserService.getByUserName(user.getUsername()); if (dbUserNameInfo != null && !Objects.equals(dbUserNameInfo.getUserId(),user.getUserId())) { - return ResponseEntity.badRequest().body("该用户已存在"); + return ServerResponseEntity.showFailMsg("该用户已存在"); } if (StrUtil.isBlank(password)) { user.setPassword(null); @@ -173,7 +173,7 @@ public class SysUserController { throw new YamiShopBindException("admin用户不可以被禁用"); } sysUserService.updateUserAndUserRole(user); - return ResponseEntity.ok().build(); + return ServerResponseEntity.success(); } /** @@ -182,17 +182,17 @@ public class SysUserController { @SysLog("删除用户") @DeleteMapping @PreAuthorize("@pms.hasPermission('sys:user:delete')") - public ResponseEntity delete(@RequestBody Long[] userIds){ + public ServerResponseEntity delete(@RequestBody Long[] userIds){ if (userIds.length == 0) { - return ResponseEntity.badRequest().body("请选择需要删除的用户"); + return ServerResponseEntity.showFailMsg("请选择需要删除的用户"); } if(ArrayUtil.contains(userIds, Constant.SUPER_ADMIN_ID)){ - return ResponseEntity.badRequest().body("系统管理员不能删除"); + return ServerResponseEntity.showFailMsg("系统管理员不能删除"); } if(ArrayUtil.contains(userIds, SecurityUtils.getSysUser().getUserId())){ - return ResponseEntity.badRequest().body("当前用户不能删除"); + return ServerResponseEntity.showFailMsg("当前用户不能删除"); } sysUserService.deleteBatch(userIds,SecurityUtils.getSysUser().getShopId()); - return ResponseEntity.ok().build(); + return ServerResponseEntity.success(); } }