Browse Source

登录检查方式变更

wangzhengliang 3 years ago
parent
commit
25ff260dbd

+ 14 - 0
src/main/java/com/chuanghai/ihotel/anno/AdminLoginCheck.java

@@ -0,0 +1,14 @@
+package com.chuanghai.ihotel.anno;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Target;
+
+/**
+ * @Author: codingliang
+ * @Description: 管理员登录检查
+ * @Date: 2021-05-14 17:26
+ * @Version: V1.0
+ **/
+@Target(ElementType.METHOD)
+public @interface AdminLoginCheck {
+}

+ 14 - 0
src/main/java/com/chuanghai/ihotel/anno/UserLoginCheck.java

@@ -0,0 +1,14 @@
+package com.chuanghai.ihotel.anno;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Target;
+
+/**
+ * @Author: codingliang
+ * @Description: 用户登录检查
+ * @Date: 2021-05-17 10:53
+ * @Version: V1.0
+ **/
+@Target(ElementType.METHOD)
+public @interface UserLoginCheck {
+}

+ 115 - 0
src/main/java/com/chuanghai/ihotel/aop/LoginCheckAspect.java

@@ -0,0 +1,115 @@
+package com.chuanghai.ihotel.aop;
+
+
+import com.chuanghai.ihotel.common.exception.BizCodeEnume;
+import com.chuanghai.ihotel.common.exception.RRException;
+import com.chuanghai.ihotel.util.JWTUtil;
+import com.chuanghai.ihotel.vo.LoginUserVO;
+import io.jsonwebtoken.Claims;
+import org.aspectj.lang.ProceedingJoinPoint;
+import org.aspectj.lang.annotation.Around;
+import org.aspectj.lang.annotation.Aspect;
+import org.springframework.core.annotation.Order;
+import org.springframework.stereotype.Component;
+import org.springframework.util.StringUtils;
+import org.springframework.web.context.request.RequestAttributes;
+import org.springframework.web.context.request.RequestContextHolder;
+import org.springframework.web.context.request.ServletRequestAttributes;
+
+import javax.servlet.http.HttpServletRequest;
+
+/**
+ * @Author: codingliang
+ * @Description: 登录拦截
+ * @Date: 2021-04-29 15:57
+ * @Version: V1.0
+ **/
+@Aspect
+@Component
+@Order(0)
+public class LoginCheckAspect {
+
+    public static ThreadLocal<LoginUserVO> threadLocal = new ThreadLocal<>();
+
+    /**
+     * 管理员登录拦截
+     * @param point
+     * @return
+     * @throws Throwable
+     */
+    @Around("@annotation(com.chuanghai.ihotel.anno.AdminLoginCheck)")
+    public Object userLoginCheck(ProceedingJoinPoint point) throws Throwable {
+        Claims claims = validateToken("admin_token");
+        Long adminId = (Long) claims.get("admin_id");
+        if (adminId == null) {
+            throw new RRException(BizCodeEnume.TOKEN_INVALID);
+        }
+
+        LoginUserVO loginUserVO = LoginUserVO.builder().adminId(adminId).build();
+
+        Object proceed;
+        try {
+            threadLocal.set(loginUserVO);
+            proceed = point.proceed();
+        } finally {
+            threadLocal.remove();
+        }
+
+        return proceed;
+    }
+
+    /**
+     * 评分员登录拦截
+     * @param point
+     * @return
+     * @throws Throwable
+     */
+    @Around("@annotation(com.chuanghai.ihotel.anno.UserLoginCheck)")
+    public Object raterLoginCheck(ProceedingJoinPoint point) throws Throwable {
+        // 校验token
+        Claims claims = validateToken("user_token");
+
+        String cardNumber = (String) claims.get("card_number");
+        String identityType = (String) claims.get("identity_type");
+
+        if (!StringUtils.hasText(cardNumber)) {
+            throw new RRException(BizCodeEnume.TOKEN_INVALID);
+        }
+        LoginUserVO loginUserVO = LoginUserVO.builder().cardNumber(cardNumber).identityType(identityType).build();
+        Object proceed;
+        try {
+            threadLocal.set(loginUserVO);
+            proceed = point.proceed();
+        } finally {
+            threadLocal.remove();
+        }
+
+        return proceed;
+    }
+
+    // 检验token
+    private Claims validateToken(String headName) {
+        HttpServletRequest request = getHttpServletRequest();
+        String token = request.getHeader(headName);
+
+        // 验证userToken
+        if (!StringUtils.hasText(token)) {
+            throw new RRException(BizCodeEnume.TOKEN_IS_EMPTY);
+        }
+
+        // 解析token
+        Claims claims = JWTUtil.checkJWT(token);
+        if (claims == null) { // 未登录
+            throw new RRException(BizCodeEnume.TOKEN_INVALID);
+        }
+
+        return claims;
+    }
+
+    // 获取request
+    private HttpServletRequest getHttpServletRequest() {
+        RequestAttributes requestAttributes = RequestContextHolder.getRequestAttributes();
+        ServletRequestAttributes attributes = (ServletRequestAttributes) requestAttributes;
+        return attributes.getRequest();
+    }
+}

+ 1 - 2
src/main/java/com/chuanghai/ihotel/aop/ParamCheckAspect.java

@@ -9,7 +9,6 @@ import org.aspectj.lang.annotation.Around;
 import org.aspectj.lang.annotation.Aspect;
 import org.aspectj.lang.annotation.Aspect;
 import org.aspectj.lang.reflect.MethodSignature;
 import org.aspectj.lang.reflect.MethodSignature;
 import org.hibernate.validator.HibernateValidator;
 import org.hibernate.validator.HibernateValidator;
-import org.springframework.core.Ordered;
 import org.springframework.core.annotation.Order;
 import org.springframework.core.annotation.Order;
 import org.springframework.stereotype.Component;
 import org.springframework.stereotype.Component;
 
 
@@ -27,7 +26,7 @@ import java.util.Set;
  */
  */
 @Aspect
 @Aspect
 @Component
 @Component
-@Order(0)
+@Order(1)
 public class ParamCheckAspect {
 public class ParamCheckAspect {
 
 
     /**
     /**

+ 2 - 3
src/main/java/com/chuanghai/ihotel/aop/RepeatSubmitAspect.java

@@ -4,7 +4,6 @@ import com.chuanghai.ihotel.anno.RepeatSubmit;
 import com.chuanghai.ihotel.common.exception.BizCodeEnume;
 import com.chuanghai.ihotel.common.exception.BizCodeEnume;
 import com.chuanghai.ihotel.common.exception.RRException;
 import com.chuanghai.ihotel.common.exception.RRException;
 import com.chuanghai.ihotel.constant.RedisKey;
 import com.chuanghai.ihotel.constant.RedisKey;
-import com.chuanghai.ihotel.interceptor.LoginInterceptor;
 import com.chuanghai.ihotel.util.CommonUtil;
 import com.chuanghai.ihotel.util.CommonUtil;
 import lombok.extern.slf4j.Slf4j;
 import lombok.extern.slf4j.Slf4j;
 import org.aspectj.lang.ProceedingJoinPoint;
 import org.aspectj.lang.ProceedingJoinPoint;
@@ -36,7 +35,7 @@ import java.util.concurrent.TimeUnit;
 @Aspect
 @Aspect
 @Component
 @Component
 @Slf4j
 @Slf4j
-@Order(1)
+@Order(2)
 public class RepeatSubmitAspect {
 public class RepeatSubmitAspect {
 
 
 
 
@@ -69,7 +68,7 @@ public class RepeatSubmitAspect {
 
 
         HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
         HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
 
 
-        String cardNumber = LoginInterceptor.threadLocal.get().getCardNumber();
+        String cardNumber = LoginCheckAspect.threadLocal.get().getCardNumber();
 
 
         // 用于记录成功或者失败
         // 用于记录成功或者失败
         boolean res;
         boolean res;

+ 0 - 28
src/main/java/com/chuanghai/ihotel/config/InterceptorConfig.java

@@ -1,28 +0,0 @@
-package com.chuanghai.ihotel.config;
-
-import com.chuanghai.ihotel.interceptor.LoginInterceptor;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
-import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
-
-/**
- * 拦截器配置
- **/
-@Configuration
-@Slf4j
-public class InterceptorConfig implements WebMvcConfigurer {
-
-    @Override
-    public void addInterceptors(InterceptorRegistry registry) {
-
-        registry.addInterceptor(new LoginInterceptor())
-                // 添加拦截路径
-                .addPathPatterns("/**")
-                // 不拦截路径
-                .excludePathPatterns("/ihotel/roomType/list", "/ihotel/roomType/info/**");
-
-
-
-    }
-}

+ 14 - 7
src/main/java/com/chuanghai/ihotel/controller/HotelOrderController.java

@@ -2,6 +2,8 @@ package com.chuanghai.ihotel.controller;
 
 
 import com.chuanghai.ihotel.anno.ParamCheck;
 import com.chuanghai.ihotel.anno.ParamCheck;
 import com.chuanghai.ihotel.anno.RepeatSubmit;
 import com.chuanghai.ihotel.anno.RepeatSubmit;
+import com.chuanghai.ihotel.anno.UserLoginCheck;
+import com.chuanghai.ihotel.aop.LoginCheckAspect;
 import com.chuanghai.ihotel.common.exception.BizCodeEnume;
 import com.chuanghai.ihotel.common.exception.BizCodeEnume;
 import com.chuanghai.ihotel.common.exception.RRException;
 import com.chuanghai.ihotel.common.exception.RRException;
 import com.chuanghai.ihotel.common.utils.CommonResult;
 import com.chuanghai.ihotel.common.utils.CommonResult;
@@ -11,7 +13,6 @@ import com.chuanghai.ihotel.constant.RedisKey;
 import com.chuanghai.ihotel.controller.request.ConfrimOrderRequest;
 import com.chuanghai.ihotel.controller.request.ConfrimOrderRequest;
 import com.chuanghai.ihotel.controller.request.SubmitOrderRequest;
 import com.chuanghai.ihotel.controller.request.SubmitOrderRequest;
 import com.chuanghai.ihotel.entity.HotelOrderEntity;
 import com.chuanghai.ihotel.entity.HotelOrderEntity;
-import com.chuanghai.ihotel.interceptor.LoginInterceptor;
 import com.chuanghai.ihotel.service.HotelOrderService;
 import com.chuanghai.ihotel.service.HotelOrderService;
 import com.chuanghai.ihotel.util.CommonUtil;
 import com.chuanghai.ihotel.util.CommonUtil;
 import com.chuanghai.ihotel.vo.ConfirmOrderVO;
 import com.chuanghai.ihotel.vo.ConfirmOrderVO;
@@ -30,7 +31,6 @@ import org.springframework.web.bind.annotation.RequestHeader;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 import org.springframework.web.bind.annotation.RestController;
 
 
-import java.time.Duration;
 import java.time.LocalDate;
 import java.time.LocalDate;
 import java.time.LocalDateTime;
 import java.time.LocalDateTime;
 import java.time.ZoneOffset;
 import java.time.ZoneOffset;
@@ -59,9 +59,10 @@ public class HotelOrderController {
      * @param userToken 用户token
      * @param userToken 用户token
      * @return
      * @return
      */
      */
+    @UserLoginCheck
     @GetMapping("submit/token")
     @GetMapping("submit/token")
     public CommonResult<OrderSubmitTokenVO> getOrderToken(@RequestHeader("user_token") String userToken){
     public CommonResult<OrderSubmitTokenVO> getOrderToken(@RequestHeader("user_token") String userToken){
-        LoginUserVO loginUserVO = LoginInterceptor.threadLocal.get();
+        LoginUserVO loginUserVO = LoginCheckAspect.threadLocal.get();
         String cardNumber = loginUserVO.getCardNumber();
         String cardNumber = loginUserVO.getCardNumber();
         String token = CommonUtil.getStringNumRandom(32);
         String token = CommonUtil.getStringNumRandom(32);
         String key = String.format(RedisKey.SUBMIT_ORDER_TOKEN_KEY_FOR_TOKEN, cardNumber, token);
         String key = String.format(RedisKey.SUBMIT_ORDER_TOKEN_KEY_FOR_TOKEN, cardNumber, token);
@@ -100,16 +101,17 @@ public class HotelOrderController {
      * @param request 请求参数
      * @param request 请求参数
      * @return
      * @return
      */
      */
-    @PostMapping("submit/order")
+    @UserLoginCheck
     @ParamCheck(index = 3)
     @ParamCheck(index = 3)
-//    @RepeatSubmit(limitType = RepeatSubmit.Type.TOKEN)
+    @RepeatSubmit(limitType = RepeatSubmit.Type.TOKEN)
+    @PostMapping("submit/order")
     public CommonResult<OrderSubmitVO> submitOrder(@RequestHeader("user_token") String userToken,
     public CommonResult<OrderSubmitVO> submitOrder(@RequestHeader("user_token") String userToken,
                                     @RequestHeader("request_token") String requestToken,
                                     @RequestHeader("request_token") String requestToken,
                                     @RequestBody SubmitOrderRequest request) {
                                     @RequestBody SubmitOrderRequest request) {
         // 时间校验
         // 时间校验
         timeCheck(request.getEnableStartTime(), request.getEnableEndTime());
         timeCheck(request.getEnableStartTime(), request.getEnableEndTime());
 
 
-        OrderSubmitVO vo = hotelOrderService.submitOrder(userToken, request);
+        OrderSubmitVO vo = hotelOrderService.submitOrder(request);
         return CommonResult.ok().setResult(vo);
         return CommonResult.ok().setResult(vo);
     }
     }
 
 
@@ -149,7 +151,7 @@ public class HotelOrderController {
     }
     }
 
 
     /**
     /**
-     * 删除
+     * 删除订单
      */
      */
     @DeleteMapping("/delete")
     @DeleteMapping("/delete")
     public CommonResult<String> delete(@RequestBody Long[] ids){
     public CommonResult<String> delete(@RequestBody Long[] ids){
@@ -162,6 +164,11 @@ public class HotelOrderController {
         }
         }
     }
     }
 
 
+    /**
+     * 时间校验
+     * @param startTime
+     * @param endTime
+     */
     private void timeCheck(LocalDateTime startTime, LocalDateTime endTime) {
     private void timeCheck(LocalDateTime startTime, LocalDateTime endTime) {
         // 校验参数
         // 校验参数
         LocalDateTime currentTime = LocalDateTime.now();
         LocalDateTime currentTime = LocalDateTime.now();

+ 0 - 84
src/main/java/com/chuanghai/ihotel/interceptor/LoginInterceptor.java

@@ -1,84 +0,0 @@
-package com.chuanghai.ihotel.interceptor;
-
-import com.chuanghai.ihotel.common.exception.BizCodeEnume;
-import com.chuanghai.ihotel.common.utils.CommonResult;
-import com.chuanghai.ihotel.util.CommonUtil;
-import com.chuanghai.ihotel.util.JWTUtil;
-import com.chuanghai.ihotel.vo.LoginUserVO;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import io.jsonwebtoken.Claims;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.http.HttpMethod;
-import org.springframework.http.HttpStatus;
-import org.springframework.util.StringUtils;
-import org.springframework.web.servlet.HandlerInterceptor;
-import org.springframework.web.servlet.ModelAndView;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import java.io.IOException;
-import java.io.OutputStream;
-
-/**
- * 登录拦截
- **/
-@Slf4j
-public class LoginInterceptor implements HandlerInterceptor {
-
-    public static ThreadLocal<LoginUserVO> threadLocal = new ThreadLocal<>();
-
-    @Override
-    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
-        if (HttpMethod.OPTIONS.toString().equalsIgnoreCase(request.getMethod())) {
-            response.setStatus(HttpStatus.NO_CONTENT.value());
-            return true;
-        }
-
-        // 获取token信息
-        String token = request.getHeader("user_token");
-        // 验证userToken
-        if (!StringUtils.hasText(token)) {
-            returnErrorResponse(response, BizCodeEnume.TOKEN_IS_EMPTY);
-            return false;
-        }
-
-        // 解析token
-        Claims claims = JWTUtil.checkJWT(token);
-        if (claims == null) { // 未登录
-            returnErrorResponse(response, BizCodeEnume.TOKEN_INVALID);
-            return false;
-        }
-
-        String cardNumber = (String) claims.get("card_number");
-        String identityType = (String) claims.get("identity_type");
-        LoginUserVO loginUserVO = LoginUserVO.builder().cardNumber(cardNumber).identityType(identityType).build();
-        threadLocal.set(loginUserVO);
-
-        return true;
-    }
-
-    @Override
-    public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
-
-    }
-
-    @Override
-    public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
-        threadLocal.remove();
-    }
-
-    // 返回错误信息
-    public void returnErrorResponse(HttpServletResponse response, BizCodeEnume bizCodeEnume) {
-        try (OutputStream out = response.getOutputStream()) {
-            CommonResult fail = CommonResult.fail(Integer.toString(bizCodeEnume.getCode()), bizCodeEnume.getMsg());
-            ObjectMapper objectMapper = new ObjectMapper();
-
-            response.setCharacterEncoding("utf-8");
-            response.setContentType("text/json");
-            out.write(objectMapper.writeValueAsString(fail).getBytes("utf-8"));
-            out.flush();
-        } catch (IOException e) {
-            e.printStackTrace();
-        }
-    }
-}

+ 1 - 2
src/main/java/com/chuanghai/ihotel/service/HotelOrderService.java

@@ -43,11 +43,10 @@ public interface HotelOrderService extends IService<HotelOrderEntity> {
 
 
     /**
     /**
      * 提交订单
      * 提交订单
-     * @param userToken 用户token
      * @param request 请求参数
      * @param request 请求参数
      * @return
      * @return
      */
      */
-    OrderSubmitVO submitOrder(String userToken, SubmitOrderRequest request);
+    OrderSubmitVO submitOrder(SubmitOrderRequest request);
 
 
     /**
     /**
      * 处理订单消息
      * 处理订单消息

+ 12 - 19
src/main/java/com/chuanghai/ihotel/service/impl/HotelOrderServiceImpl.java

@@ -1,16 +1,25 @@
 package com.chuanghai.ihotel.service.impl;
 package com.chuanghai.ihotel.service.impl;
 
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.IdWorker;
 import com.baomidou.mybatisplus.core.toolkit.IdWorker;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.chuanghai.ihotel.aop.LoginCheckAspect;
 import com.chuanghai.ihotel.common.exception.BizCodeEnume;
 import com.chuanghai.ihotel.common.exception.BizCodeEnume;
 import com.chuanghai.ihotel.common.exception.RRException;
 import com.chuanghai.ihotel.common.exception.RRException;
+import com.chuanghai.ihotel.common.utils.MyQuery;
+import com.chuanghai.ihotel.common.utils.PageParam;
+import com.chuanghai.ihotel.common.utils.PageUtils;
 import com.chuanghai.ihotel.component.PayComponent;
 import com.chuanghai.ihotel.component.PayComponent;
 import com.chuanghai.ihotel.config.JXNXSPayConfig;
 import com.chuanghai.ihotel.config.JXNXSPayConfig;
 import com.chuanghai.ihotel.config.RabbitMQConfig;
 import com.chuanghai.ihotel.config.RabbitMQConfig;
 import com.chuanghai.ihotel.constant.TimeConstant;
 import com.chuanghai.ihotel.constant.TimeConstant;
 import com.chuanghai.ihotel.controller.request.ConfrimOrderRequest;
 import com.chuanghai.ihotel.controller.request.ConfrimOrderRequest;
 import com.chuanghai.ihotel.controller.request.SubmitOrderRequest;
 import com.chuanghai.ihotel.controller.request.SubmitOrderRequest;
+import com.chuanghai.ihotel.dao.HotelOrderDao;
 import com.chuanghai.ihotel.dto.EventMessageDTO;
 import com.chuanghai.ihotel.dto.EventMessageDTO;
 import com.chuanghai.ihotel.dto.LockRoomDTO;
 import com.chuanghai.ihotel.dto.LockRoomDTO;
+import com.chuanghai.ihotel.entity.HotelOrderEntity;
 import com.chuanghai.ihotel.entity.HotelUserEntity;
 import com.chuanghai.ihotel.entity.HotelUserEntity;
 import com.chuanghai.ihotel.entity.RoomEntity;
 import com.chuanghai.ihotel.entity.RoomEntity;
 import com.chuanghai.ihotel.entity.RoomTypeEntity;
 import com.chuanghai.ihotel.entity.RoomTypeEntity;
@@ -19,7 +28,7 @@ import com.chuanghai.ihotel.enums.EventMessageTypeEnum;
 import com.chuanghai.ihotel.enums.OrderBillStatuEnum;
 import com.chuanghai.ihotel.enums.OrderBillStatuEnum;
 import com.chuanghai.ihotel.enums.OrderStatuEnum;
 import com.chuanghai.ihotel.enums.OrderStatuEnum;
 import com.chuanghai.ihotel.enums.UserIdentityTypeEnum;
 import com.chuanghai.ihotel.enums.UserIdentityTypeEnum;
-import com.chuanghai.ihotel.interceptor.LoginInterceptor;
+import com.chuanghai.ihotel.service.HotelOrderService;
 import com.chuanghai.ihotel.service.HotelUserService;
 import com.chuanghai.ihotel.service.HotelUserService;
 import com.chuanghai.ihotel.service.RoomRealtimeStatuService;
 import com.chuanghai.ihotel.service.RoomRealtimeStatuService;
 import com.chuanghai.ihotel.service.RoomService;
 import com.chuanghai.ihotel.service.RoomService;
@@ -33,30 +42,14 @@ import lombok.extern.slf4j.Slf4j;
 import org.springframework.amqp.rabbit.core.RabbitTemplate;
 import org.springframework.amqp.rabbit.core.RabbitTemplate;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.context.annotation.Lazy;
-import org.springframework.stereotype.Component;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.chuanghai.ihotel.common.utils.PageUtils;
-import com.chuanghai.ihotel.common.utils.MyQuery;
-import com.chuanghai.ihotel.common.utils.PageParam;
-
-import com.chuanghai.ihotel.dao.HotelOrderDao;
-import com.chuanghai.ihotel.entity.HotelOrderEntity;
-import com.chuanghai.ihotel.service.HotelOrderService;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.StringUtils;
 import org.springframework.util.StringUtils;
-import sun.plugin2.message.EventMessage;
 
 
-import javax.validation.constraints.Min;
-import javax.validation.constraints.NotNull;
 import java.math.BigDecimal;
 import java.math.BigDecimal;
 import java.time.LocalDate;
 import java.time.LocalDate;
 import java.time.LocalDateTime;
 import java.time.LocalDateTime;
 import java.time.temporal.ChronoUnit;
 import java.time.temporal.ChronoUnit;
-import java.time.temporal.TemporalAccessor;
 import java.util.Map;
 import java.util.Map;
 
 
 @Slf4j
 @Slf4j
@@ -185,8 +178,8 @@ public class HotelOrderServiceImpl extends ServiceImpl<HotelOrderDao, HotelOrder
 
 
     @Transactional
     @Transactional
     @Override
     @Override
-    public OrderSubmitVO submitOrder(String userToken, SubmitOrderRequest request) {
-        LoginUserVO loginUserVO = LoginInterceptor.threadLocal.get();
+    public OrderSubmitVO submitOrder(SubmitOrderRequest request) {
+        LoginUserVO loginUserVO = LoginCheckAspect.threadLocal.get();
         String cardNumber = loginUserVO.getCardNumber();
         String cardNumber = loginUserVO.getCardNumber();
 
 
         // 身份校验
         // 身份校验

+ 10 - 2
src/main/java/com/chuanghai/ihotel/vo/LoginUserVO.java

@@ -14,11 +14,19 @@ import lombok.Data;
 public class LoginUserVO {
 public class LoginUserVO {
 
 
     /**
     /**
-     * 卡号
+     * 用户类型,1管理员、2普通用户
+     */
+    private String userType;
+    /**
+     * 管理员id,userType为1时该字段有值
+     */
+    private Long adminId;
+    /**
+     * 卡号,userType为2时该字段有值
      */
      */
     private String cardNumber;
     private String cardNumber;
     /**
     /**
-     * 身份
+     * 身份,userType为2时该字段有值 0其他、1学生、4教职工、5校友
      */
      */
     private String identityType;
     private String identityType;
 }
 }