diff --git a/nxhs-service/src/main/java/cc/yunxi/controller/CommonController.java b/nxhs-service/src/main/java/cc/yunxi/controller/CommonController.java index b8ccb9d..9d04265 100644 --- a/nxhs-service/src/main/java/cc/yunxi/controller/CommonController.java +++ b/nxhs-service/src/main/java/cc/yunxi/controller/CommonController.java @@ -1,8 +1,10 @@ package cc.yunxi.controller; +import cc.yunxi.aspect.UserTypeAnnotation; import cc.yunxi.common.domain.CommonResult; import cc.yunxi.domain.dto.UserDTO; import cc.yunxi.domain.dto.WxLoginDTO; +import cc.yunxi.enums.UserTypeEnum; import cc.yunxi.service.impl.CommonService; import cc.yunxi.utils.UserContext; import io.swagger.annotations.Api; @@ -46,10 +48,21 @@ public class CommonController { } + @ApiOperation("刷新绑定站点") + @GetMapping("/myStation") + @UserTypeAnnotation(UserTypeEnum.RECYCLER) + public CommonResult checkStation(@RequestHeader("authorization") String token) { + UserDTO userDTO = commonService.checkStation(token); + return CommonResult.success(userDTO); + } + + + @ApiOperation("登录态检查") @GetMapping("/check_token") public CommonResult checkToken() { UserDTO userDto = UserContext.getUser(); return CommonResult.success(userDto); } + } diff --git a/nxhs-service/src/main/java/cc/yunxi/controller/RecycleOrderController.java b/nxhs-service/src/main/java/cc/yunxi/controller/RecycleOrderController.java index 07bc8fa..3e7eb09 100644 --- a/nxhs-service/src/main/java/cc/yunxi/controller/RecycleOrderController.java +++ b/nxhs-service/src/main/java/cc/yunxi/controller/RecycleOrderController.java @@ -56,8 +56,8 @@ public class RecycleOrderController { public CommonResult> queryOrderByPage(@RequestBody RecycleOrderQuery recycleOrderQuery) { // 1.解析用户上下文 UserDTO userDTO = UserContext.getUser(); -// recycleOrderQuery.setUserType(userDTO.getUserType()).setStationId(userDTO.getStationId()); - recycleOrderQuery.setUserId(userDTO.getId()).setUserType(userDTO.getUserType()); // 默认先从前端获取回收站Id todo + recycleOrderQuery.setUserType(userDTO.getUserType()).setStationId(userDTO.getStationId()); +// recycleOrderQuery.setUserId(userDTO.getId()).setUserType(userDTO.getUserType()); // 测试时从前端获取回收站Id // 2.分页查询 Page result = recycleOrderService.queryOrderByPage(recycleOrderQuery); PageDTO recycleOrderPageVO = PageDTO.of(result, RecycleOrderRespVO.class, (s, t) -> { diff --git a/nxhs-service/src/main/java/cc/yunxi/domain/query/RecycleOrderQuery.java b/nxhs-service/src/main/java/cc/yunxi/domain/query/RecycleOrderQuery.java index 5aada1e..e0e9ebf 100644 --- a/nxhs-service/src/main/java/cc/yunxi/domain/query/RecycleOrderQuery.java +++ b/nxhs-service/src/main/java/cc/yunxi/domain/query/RecycleOrderQuery.java @@ -23,11 +23,9 @@ public class RecycleOrderQuery extends PageQuery { @ApiModelProperty(value = "订单状态", required = false, example = "PENDING") private OrderStatusEnum status; - @ApiModelProperty(value = "回收员当前位置", required = false) private LocationDTO location; - @ApiModelProperty(value = "用户类型", hidden = true, example = "CLIENT") private UserTypeEnum userType; diff --git a/nxhs-service/src/main/java/cc/yunxi/service/ICommonService.java b/nxhs-service/src/main/java/cc/yunxi/service/ICommonService.java index d1fd514..28267c7 100644 --- a/nxhs-service/src/main/java/cc/yunxi/service/ICommonService.java +++ b/nxhs-service/src/main/java/cc/yunxi/service/ICommonService.java @@ -33,4 +33,11 @@ public interface ICommonService { * @param token */ void logout(String token); + + + /** + * 刷新绑定站点 + * @param token + */ + UserDTO checkStation(String token); } diff --git a/nxhs-service/src/main/java/cc/yunxi/service/impl/CommonService.java b/nxhs-service/src/main/java/cc/yunxi/service/impl/CommonService.java index 1712f6c..1ba05f3 100644 --- a/nxhs-service/src/main/java/cc/yunxi/service/impl/CommonService.java +++ b/nxhs-service/src/main/java/cc/yunxi/service/impl/CommonService.java @@ -13,6 +13,7 @@ import cc.yunxi.service.ICommonService; import cc.yunxi.service.IRecyclerService; import cc.yunxi.utils.JwtTool; import cc.yunxi.utils.RedisTool; +import cc.yunxi.utils.UserContext; import cc.yunxi.utils.WeChatUtil; import cn.hutool.core.util.StrUtil; import cn.hutool.http.HttpUtil; @@ -130,6 +131,20 @@ public class CommonService implements ICommonService { removeToken(token); } + @Override + public UserDTO checkStation(String token) { + UserDTO userDTO = UserContext.getUser(); + Recycler recycler = recyclerService.getRecyclerById(userDTO.getId()); + if (StrUtil.isEmpty(recycler.getStationId())) { + throw new BizIllegalException("暂未分配站点,请耐心等待管理员处理!"); + } + userDTO.setStationId(recycler.getStationId()); + this.removeToken(token); + String newToken = this.createToken(userDTO); + userDTO.setToken(newToken); + return userDTO; + } + /** * 创建token @@ -150,4 +165,5 @@ public class CommonService implements ICommonService { public void removeToken(String token) { redisTool.expireKeyAt(TOKEN_KEY + token, new Date()); } + }