diff --git a/bootstrap/src/main/java/com/electromagnetic/industry/software/data/manage/controller/config/WebMvcConfig.java b/bootstrap/src/main/java/com/electromagnetic/industry/software/data/manage/controller/config/WebMvcConfig.java index ea7cbce..a00379a 100644 --- a/bootstrap/src/main/java/com/electromagnetic/industry/software/data/manage/controller/config/WebMvcConfig.java +++ b/bootstrap/src/main/java/com/electromagnetic/industry/software/data/manage/controller/config/WebMvcConfig.java @@ -3,11 +3,15 @@ */ package com.electromagnetic.industry.software.data.manage.controller.config; +import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.interceptor.LoginInterceptor; import org.springframework.context.annotation.Configuration; +import org.springframework.web.servlet.config.annotation.InterceptorRegistry; import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; import springfox.documentation.swagger2.annotations.EnableSwagger2; +import javax.annotation.Resource; + /** * @author * @version $Id: d.java, v 0.1 2021-01-05 19:33 Exp $$ @@ -15,6 +19,10 @@ import springfox.documentation.swagger2.annotations.EnableSwagger2; @Configuration @EnableSwagger2 public class WebMvcConfig implements WebMvcConfigurer { + + @Resource + LoginInterceptor loginInterceptor; + /** * * @param registry registry @@ -28,5 +36,11 @@ public class WebMvcConfig implements WebMvcConfigurer { .addResourceLocations("classpath:/META-INF/resources/webjars/"); } + @Override + public void addInterceptors(InterceptorRegistry registry) { + registry.addInterceptor(loginInterceptor) + .addPathPatterns("/**") + .excludePathPatterns("/data/ed/user/login"); + } } diff --git a/bootstrap/src/main/java/com/electromagnetic/industry/software/data/manage/controller/user/UserController.java b/bootstrap/src/main/java/com/electromagnetic/industry/software/data/manage/controller/user/UserController.java index 43057b6..4923fe0 100644 --- a/bootstrap/src/main/java/com/electromagnetic/industry/software/data/manage/controller/user/UserController.java +++ b/bootstrap/src/main/java/com/electromagnetic/industry/software/data/manage/controller/user/UserController.java @@ -7,11 +7,7 @@ import com.electromagnetic.industry.software.data.manage.request.user.UserPublis import com.electromagnetic.industry.software.data.manage.request.user.UserLoginRequest; import com.electromagnetic.industry.software.data.manage.request.user.UserRequest; import electromagnetic.data.framework.share.model.ElectromagneticResult; -import electromagnetic.data.framework.share.model.ElectromagneticResult; import com.electromagnetic.industry.software.data.manage.request.user.*; -import electromagnetic.data.framework.share.model.ElectromagneticResult; -import electromagnetic.data.framework.share.result.BaseResult; -import electromagnetic.data.framework.share.result.LoginResult; import io.swagger.annotations.ApiOperation; import org.springframework.web.bind.annotation.*; diff --git a/domain/src/main/java/com/electromagnetic/industry/software/data/manage/domain/boardservice/user/interceptor/LoginInterceptor.java b/domain/src/main/java/com/electromagnetic/industry/software/data/manage/domain/boardservice/user/interceptor/LoginInterceptor.java new file mode 100644 index 0000000..04bf533 --- /dev/null +++ b/domain/src/main/java/com/electromagnetic/industry/software/data/manage/domain/boardservice/user/interceptor/LoginInterceptor.java @@ -0,0 +1,46 @@ +package com.electromagnetic.industry.software.data.manage.domain.boardservice.user.interceptor; + +import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.service.TokenService; +import org.springframework.stereotype.Component; +import org.springframework.web.servlet.HandlerInterceptor; +import org.springframework.web.servlet.ModelAndView; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +@Component +public class LoginInterceptor implements HandlerInterceptor { + + @Resource + TokenService tokenService; + + @Override + public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { + + String token = request.getHeader("Authorization"); + if (token==null || !token.startsWith("Bearer ")) { + response.setStatus(401); + return false; + } else { + token = token.substring(7); + } + boolean result = tokenService.isTokenValid(token.substring(7)); + if (!result) { + response.setStatus(401); + return false; + } else { + 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 { + + } +} diff --git a/domain/src/main/java/com/electromagnetic/industry/software/data/manage/domain/boardservice/user/model/Token.java b/domain/src/main/java/com/electromagnetic/industry/software/data/manage/domain/boardservice/user/model/Token.java index 37e302f..e4975e6 100644 --- a/domain/src/main/java/com/electromagnetic/industry/software/data/manage/domain/boardservice/user/model/Token.java +++ b/domain/src/main/java/com/electromagnetic/industry/software/data/manage/domain/boardservice/user/model/Token.java @@ -1,8 +1,9 @@ package com.electromagnetic.industry.software.data.manage.domain.boardservice.user.model; -import cn.hutool.core.date.DateTime; import lombok.Data; +import java.util.Date; + @Data public class Token { @@ -29,10 +30,10 @@ public class Token { /** * 创建时间 */ - private DateTime createdAt; + private Date createdAt; /** * 过期时间 */ - private DateTime expireAt; + private Date expireAt; } diff --git a/domain/src/main/java/com/electromagnetic/industry/software/data/manage/domain/boardservice/user/service/impl/TokenServiceImpl.java b/domain/src/main/java/com/electromagnetic/industry/software/data/manage/domain/boardservice/user/service/impl/TokenServiceImpl.java index a852c88..3bb3582 100644 --- a/domain/src/main/java/com/electromagnetic/industry/software/data/manage/domain/boardservice/user/service/impl/TokenServiceImpl.java +++ b/domain/src/main/java/com/electromagnetic/industry/software/data/manage/domain/boardservice/user/service/impl/TokenServiceImpl.java @@ -13,6 +13,7 @@ import io.jsonwebtoken.SignatureAlgorithm; import org.springframework.stereotype.Service; import javax.annotation.Resource; +import java.util.Date; import java.util.HashMap; import java.util.Map; import java.util.UUID; @@ -64,7 +65,7 @@ public class TokenServiceImpl implements TokenService { @Override public Boolean isTokenValid(String tokenStr){ Token token = tokenRepository.selectToken(tokenStr); - DateTime now = new DateTime(SystemClock.now()); + Date now = new Date(SystemClock.now()); if (token != null && now.before(token.getExpireAt())) { return true; } diff --git a/electromagnetic-framework/src/main/java/electromagnetic/data/framework/share/result/BaseResult.java b/electromagnetic-framework/src/main/java/electromagnetic/data/framework/share/result/BaseResult.java deleted file mode 100644 index 769682b..0000000 --- a/electromagnetic-framework/src/main/java/electromagnetic/data/framework/share/result/BaseResult.java +++ /dev/null @@ -1,88 +0,0 @@ -package electromagnetic.data.framework.share.result; - -import java.io.Serializable; - -public class BaseResult implements Serializable{ - - private static final long serialVersionUID = 1L; - - /** - * 请求成功还是失败 - */ - private Boolean success; - - /** - * 错误码 - */ - private String errorCode; - - /** - * 错误消息 - */ - private String errorMessage; - - - public BaseResult() { - - } - - public BaseResult(Boolean success, String errorCode, String errorMessage) { - this.success = success; - this.errorCode = errorCode; - this.errorMessage = errorMessage; - } - - /** - * Getter method for property success. - * - * @return property value of success - */ - public Boolean getSuccess() { - return success; - } - - /** - * Setter method for property success. - * - * @param success value to be assigned to property success - */ - public void setSuccess(Boolean success) { - this.success = success; - } - - /** - * Getter method for property errorCode. - * - * @return property value of errorCode - */ - public String getErrorCode() { - return errorCode; - } - - /** - * Setter method for property errorCode. - * - * @param errorCode value to be assigned to property errorCode - */ - public void setErrorCode(String errorCode) { - this.errorCode = errorCode; - } - - /** - * Getter method for property errorMsg. - * - * @return property value of errorMsg - */ - public String getErrorMessage() { - return errorMessage; - } - - /** - * Setter method for property errorMsg. - * - * @param errorMessage value to be assigned to property errorMsg - */ - public void setErrorMessage(String errorMessage) { - this.errorMessage = errorMessage; - } -} diff --git a/electromagnetic-framework/src/main/java/electromagnetic/data/framework/share/result/LoginResult.java b/electromagnetic-framework/src/main/java/electromagnetic/data/framework/share/result/LoginResult.java deleted file mode 100644 index 6ea7fa9..0000000 --- a/electromagnetic-framework/src/main/java/electromagnetic/data/framework/share/result/LoginResult.java +++ /dev/null @@ -1,100 +0,0 @@ -package electromagnetic.data.framework.share.result; - -import java.io.Serializable; - -public class LoginResult implements Serializable{ - - private static final long serialVersionUID = 1L; - - /** - * 请求成功还是失败 - */ - private Boolean success; - - /** - * 错误码 - */ - private String errorCode; - - /** - * 错误消息 - */ - private String errorMessage; - - /** - * 令牌 - */ - private String token; - - public LoginResult() { - - } - - public LoginResult(Boolean success, String errorCode, String errorMessage, String token) { - this.success = success; - this.errorCode = errorCode; - this.errorMessage = errorMessage; - this.token = token; - } - - /** - * Getter method for property success. - * - * @return property value of success - */ - public Boolean getSuccess() { - return success; - } - - /** - * Setter method for property success. - * - * @param success value to be assigned to property success - */ - public void setSuccess(Boolean success) { - this.success = success; - } - - /** - * Getter method for property errorCode. - * - * @return property value of errorCode - */ - public String getErrorCode() { - return errorCode; - } - - /** - * Setter method for property errorCode. - * - * @param errorCode value to be assigned to property errorCode - */ - public void setErrorCode(String errorCode) { - this.errorCode = errorCode; - } - - /** - * Getter method for property errorMsg. - * - * @return property value of errorMsg - */ - public String getErrorMessage() { - return errorMessage; - } - - /** - * Setter method for property errorMsg. - * - * @param errorMessage value to be assigned to property errorMsg - */ - public void setErrorMessage(String errorMessage) { - this.errorMessage = errorMessage; - } - - public String getToken() { - return token; - } - public void setToken(String token) { - this.token = token; - } -} diff --git a/electromagnetic-framework/src/main/java/electromagnetic/data/framework/share/util/BaseResultUtil.java b/electromagnetic-framework/src/main/java/electromagnetic/data/framework/share/util/BaseResultUtil.java deleted file mode 100644 index 92cb311..0000000 --- a/electromagnetic-framework/src/main/java/electromagnetic/data/framework/share/util/BaseResultUtil.java +++ /dev/null @@ -1,42 +0,0 @@ -package electromagnetic.data.framework.share.util; - -import electromagnetic.data.framework.share.enums.ErrorEnum; -import electromagnetic.data.framework.share.result.BaseResult; -import electromagnetic.data.framework.share.result.CallbackResult; - -/** - * 返回结果转换工具类 - * - */ -public class BaseResultUtil { - - public static BaseResult convertToResult(CallbackResult callbackResult) { - BaseResult BaseResult = new BaseResult<>(); - BaseResult.setSuccess(callbackResult.isSuccess()); - BaseResult.setErrorCode(callbackResult.getResultCode()); - BaseResult.setErrorMessage(callbackResult.getResultMessage()); - return BaseResult; - } - - public static BaseResult success(T data){ - BaseResult BaseResult = new BaseResult<>(); - BaseResult.setSuccess(true); - return BaseResult; - } - - public static BaseResult fail(String code , String msg){ - BaseResult BaseResult = new BaseResult<>(); - BaseResult.setSuccess(false); - BaseResult.setErrorCode(code); - BaseResult.setErrorMessage(msg); - return BaseResult; - } - - public static BaseResult fail(ErrorEnum errorEnum){ - BaseResult BaseResult = new BaseResult<>(); - BaseResult.setSuccess(false); - BaseResult.setErrorCode(errorEnum.getCode()); - BaseResult.setErrorMessage(errorEnum.getErrorMessage()); - return BaseResult; - } -} diff --git a/electromagnetic-framework/src/main/java/electromagnetic/data/framework/share/util/LoginResultUtil.java b/electromagnetic-framework/src/main/java/electromagnetic/data/framework/share/util/LoginResultUtil.java deleted file mode 100644 index 5458bc6..0000000 --- a/electromagnetic-framework/src/main/java/electromagnetic/data/framework/share/util/LoginResultUtil.java +++ /dev/null @@ -1,39 +0,0 @@ -package electromagnetic.data.framework.share.util; - -import electromagnetic.data.framework.share.enums.ErrorEnum; -import electromagnetic.data.framework.share.result.CallbackResult; -import electromagnetic.data.framework.share.result.LoginResult; - -public class LoginResultUtil { - - public static LoginResult convertToResult(CallbackResult callbackResult) { - LoginResult LoginResult = new LoginResult<>(); - LoginResult.setSuccess(callbackResult.isSuccess()); - LoginResult.setErrorCode(callbackResult.getResultCode()); - LoginResult.setErrorMessage(callbackResult.getResultMessage()); - return LoginResult; - } - - public static LoginResult success(String token){ - LoginResult LoginResult = new LoginResult<>(); - LoginResult.setSuccess(true); - LoginResult.setToken(token); - return LoginResult; - } - - public static LoginResult fail(String code , String msg){ - LoginResult LoginResult = new LoginResult<>(); - LoginResult.setSuccess(false); - LoginResult.setErrorCode(code); - LoginResult.setErrorMessage(msg); - return LoginResult; - } - - public static LoginResult fail(ErrorEnum errorEnum){ - LoginResult LoginResult = new LoginResult<>(); - LoginResult.setSuccess(false); - LoginResult.setErrorCode(errorEnum.getCode()); - LoginResult.setErrorMessage(errorEnum.getErrorMessage()); - return LoginResult; - } -} diff --git a/facade/src/main/java/com/electromagnetic/industry/software/data/manage/facade/user/UserFacade.java b/facade/src/main/java/com/electromagnetic/industry/software/data/manage/facade/user/UserFacade.java index 2975c83..b6aa635 100644 --- a/facade/src/main/java/com/electromagnetic/industry/software/data/manage/facade/user/UserFacade.java +++ b/facade/src/main/java/com/electromagnetic/industry/software/data/manage/facade/user/UserFacade.java @@ -6,11 +6,7 @@ import com.electromagnetic.industry.software.data.manage.request.user.UserPublis import com.electromagnetic.industry.software.data.manage.request.user.UserLoginRequest; import com.electromagnetic.industry.software.data.manage.request.user.UserRequest; import electromagnetic.data.framework.share.model.ElectromagneticResult; -import electromagnetic.data.framework.share.model.ElectromagneticResult; import com.electromagnetic.industry.software.data.manage.request.user.*; -import electromagnetic.data.framework.share.model.ElectromagneticResult; -import electromagnetic.data.framework.share.result.BaseResult; -import electromagnetic.data.framework.share.result.LoginResult; public interface UserFacade { diff --git a/service/src/main/java/com/electromagnetic/industry/software/data/manage/service/facade/user/UserFacadeImpl.java b/service/src/main/java/com/electromagnetic/industry/software/data/manage/service/facade/user/UserFacadeImpl.java index 3e593a8..e1bd5a8 100644 --- a/service/src/main/java/com/electromagnetic/industry/software/data/manage/service/facade/user/UserFacadeImpl.java +++ b/service/src/main/java/com/electromagnetic/industry/software/data/manage/service/facade/user/UserFacadeImpl.java @@ -1,9 +1,5 @@ package com.electromagnetic.industry.software.data.manage.service.facade.user; -import com.electromagnetic.industry.software.data.manage.domain.boardservice.indicator.model.IndicatorCard; -import com.electromagnetic.industry.software.data.manage.domain.boardservice.indicator.model.IndicatorCardDetial; -import com.electromagnetic.industry.software.data.manage.domain.boardservice.indicator.model.IndicatorCardPage; -import com.electromagnetic.industry.software.data.manage.domain.boardservice.indicator.parames.IndicatorCardParams; import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.model.User; import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.model.UserLoginInfo; import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.service.TokenService; @@ -11,32 +7,21 @@ import com.electromagnetic.industry.software.data.manage.domain.boardservice.use import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.util.UserConstant; import com.electromagnetic.industry.software.data.manage.facade.user.UserFacade; import com.electromagnetic.industry.software.data.manage.request.user.*; -import com.electromagnetic.industry.software.data.manage.request.indicator.IndicatorCardRequest; -import com.electromagnetic.industry.software.data.manage.request.user.GetSingleUserRequest; import com.electromagnetic.industry.software.data.manage.request.user.UserModiRequest; import com.electromagnetic.industry.software.data.manage.request.user.UserPublishRequest; import com.electromagnetic.industry.software.data.manage.request.user.UserLoginRequest; import com.electromagnetic.industry.software.data.manage.request.user.UserRequest; -import com.electromagnetic.industry.software.data.manage.response.indicator.IndicatorCardDetailReponse; -import com.electromagnetic.industry.software.data.manage.response.indicator.IndicatorCardPageResponse; import com.electromagnetic.industry.software.data.manage.response.user.SingleUserResponse; -import com.electromagnetic.industry.software.data.manage.service.mappers.IndicatorCardMappers; import com.electromagnetic.industry.software.data.manage.service.mappers.UserMappers; import electromagnetic.data.framework.share.id.IdWorker; import electromagnetic.data.framework.share.model.ElectromagneticResult; import electromagnetic.data.framework.share.model.ElectromagneticResultUtil; -import electromagnetic.data.framework.share.result.BaseResult; -import electromagnetic.data.framework.share.result.LoginResult; import electromagnetic.data.framework.share.sign.AESUtils; -import electromagnetic.data.framework.share.util.BaseResultUtil; -import electromagnetic.data.framework.share.util.LoginResultUtil; import electromagnetic.data.framework.share.util.SignUtils; import org.apache.commons.lang3.RandomStringUtils; import org.springframework.stereotype.Service; -import java.util.List; import javax.annotation.Resource; -import javax.swing.text.StyledEditorKit; @Service public class UserFacadeImpl implements UserFacade { @@ -88,9 +73,6 @@ public class UserFacadeImpl implements UserFacade { public ElectromagneticResult modifyUser(UserModiRequest userModiRequest) { // 将请求对象转换为模型对象 User user = UserMappers.INSTANCE.getUserModiRequestToModel(userModiRequest); - // 调用 UserService 的修改用户方法 - Boolean success = userService.modifyUser(user); - //根据操作结果构建 BaseResult 对象并返回 return ElectromagneticResultUtil.success(userService.modifyUser(user)); } @@ -102,8 +84,7 @@ public class UserFacadeImpl implements UserFacade { */ @Override public ElectromagneticResult publishUser(UserPublishRequest userPublishRequest){ - User user = UserMappers.INSTANCE.getUserPublishRequestToModel(userPublishRequest); - return ElectromagneticResultUtil.success(userService.publishUser(user)); + return ElectromagneticResultUtil.success(userService.publishUser(userPublishRequest.getUserIds())); } /** @@ -121,9 +102,6 @@ public class UserFacadeImpl implements UserFacade { // 根据是否存在具有相同工号的用户来确定工号的唯一性 boolean isWorkNumberUnique = (existingUser == null); return ElectromagneticResultUtil.success(Boolean.valueOf(isWorkNumberUnique)); - public ElectromagneticResult publishUser(UserPublishRequest userPublishRequest){ - List userIds = userPublishRequest.getUserIds(); - return ElectromagneticResultUtil.success(userService.publishUser(userIds)); } /** @@ -133,21 +111,9 @@ public class UserFacadeImpl implements UserFacade { */ @Override public ElectromagneticResult getSingleUser(GetSingleUserRequest getSingleUserRequest){ - //String userId = getSingleUserRequest.getUserId(); - //response - //User user = new User(); - //user.setUserId(getSingleUserRequest.getUserId()); User user = userService.getSingleUser(getSingleUserRequest.getUserId()); SingleUserResponse singleUserResponse = UserMappers.INSTANCE.getSingleUserToResponse(user); return ElectromagneticResultUtil.success(singleUserResponse); } -// @Override -// public ElectromagneticResult getIndicatorCardDetail(IndicatorCardRequest request) { -// IndicatorCard card=new IndicatorCard(); -// card.setIndicatorCardNo(request.getIndicatorCardNo()); -// IndicatorCardDetial indicatorCardDetial=indicatorCardService.getIndicatorCardDetail(card); -// IndicatorCardDetailReponse reponse=IndicatorCardMappers.INSTANCE.getIndicatorCardDetailToReponse(indicatorCardDetial); -// return ElectromagneticResultUtil.success(reponse); -// } } diff --git a/service/src/main/java/com/electromagnetic/industry/software/data/manage/service/mappers/UserMappers.java b/service/src/main/java/com/electromagnetic/industry/software/data/manage/service/mappers/UserMappers.java index 307226a..966ed76 100644 --- a/service/src/main/java/com/electromagnetic/industry/software/data/manage/service/mappers/UserMappers.java +++ b/service/src/main/java/com/electromagnetic/industry/software/data/manage/service/mappers/UserMappers.java @@ -39,14 +39,6 @@ public interface UserMappers { */ UserLoginInfo getUserLoginRequestToModel(UserLoginRequest loginRequest); - - /** - * 获取单条用户信息Request转用户模型 - * @param getSingleUserRequest - * @return - */ - User getSingleUserRequestToModel(GetSingleUserRequest getSingleUserRequest); - /** * 获取单条用户信息Request转用户模型 * @param user