解决冲突-2

This commit is contained in:
s2042968 2024-11-15 17:52:19 +08:00
parent 23a59515ad
commit ba8280c1e0
12 changed files with 67 additions and 324 deletions

View File

@ -3,11 +3,15 @@
*/ */
package com.electromagnetic.industry.software.data.manage.controller.config; 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.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.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
import springfox.documentation.swagger2.annotations.EnableSwagger2; import springfox.documentation.swagger2.annotations.EnableSwagger2;
import javax.annotation.Resource;
/** /**
* @author * @author
* @version $Id: d.java, v 0.1 2021-01-05 19:33 Exp $$ * @version $Id: d.java, v 0.1 2021-01-05 19:33 Exp $$
@ -15,6 +19,10 @@ import springfox.documentation.swagger2.annotations.EnableSwagger2;
@Configuration @Configuration
@EnableSwagger2 @EnableSwagger2
public class WebMvcConfig implements WebMvcConfigurer { public class WebMvcConfig implements WebMvcConfigurer {
@Resource
LoginInterceptor loginInterceptor;
/** /**
* *
* @param registry registry * @param registry registry
@ -28,5 +36,11 @@ public class WebMvcConfig implements WebMvcConfigurer {
.addResourceLocations("classpath:/META-INF/resources/webjars/"); .addResourceLocations("classpath:/META-INF/resources/webjars/");
} }
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(loginInterceptor)
.addPathPatterns("/**")
.excludePathPatterns("/data/ed/user/login");
}
} }

View File

@ -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.UserLoginRequest;
import com.electromagnetic.industry.software.data.manage.request.user.UserRequest; 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 electromagnetic.data.framework.share.model.ElectromagneticResult;
import com.electromagnetic.industry.software.data.manage.request.user.*; 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 io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;

View File

@ -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 {
}
}

View File

@ -1,8 +1,9 @@
package com.electromagnetic.industry.software.data.manage.domain.boardservice.user.model; package com.electromagnetic.industry.software.data.manage.domain.boardservice.user.model;
import cn.hutool.core.date.DateTime;
import lombok.Data; import lombok.Data;
import java.util.Date;
@Data @Data
public class Token { public class Token {
@ -29,10 +30,10 @@ public class Token {
/** /**
* 创建时间 * 创建时间
*/ */
private DateTime createdAt; private Date createdAt;
/** /**
* 过期时间 * 过期时间
*/ */
private DateTime expireAt; private Date expireAt;
} }

View File

@ -13,6 +13,7 @@ import io.jsonwebtoken.SignatureAlgorithm;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.Date;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
import java.util.UUID; import java.util.UUID;
@ -64,7 +65,7 @@ public class TokenServiceImpl implements TokenService {
@Override @Override
public Boolean isTokenValid(String tokenStr){ public Boolean isTokenValid(String tokenStr){
Token token = tokenRepository.selectToken(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())) { if (token != null && now.before(token.getExpireAt())) {
return true; return true;
} }

View File

@ -1,88 +0,0 @@
package electromagnetic.data.framework.share.result;
import java.io.Serializable;
public class BaseResult<T> 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 <tt>success</tt>.
*
* @return property value of success
*/
public Boolean getSuccess() {
return success;
}
/**
* Setter method for property <tt>success</tt>.
*
* @param success value to be assigned to property success
*/
public void setSuccess(Boolean success) {
this.success = success;
}
/**
* Getter method for property <tt>errorCode</tt>.
*
* @return property value of errorCode
*/
public String getErrorCode() {
return errorCode;
}
/**
* Setter method for property <tt>errorCode</tt>.
*
* @param errorCode value to be assigned to property errorCode
*/
public void setErrorCode(String errorCode) {
this.errorCode = errorCode;
}
/**
* Getter method for property <tt>errorMsg</tt>.
*
* @return property value of errorMsg
*/
public String getErrorMessage() {
return errorMessage;
}
/**
* Setter method for property <tt>errorMsg</tt>.
*
* @param errorMessage value to be assigned to property errorMsg
*/
public void setErrorMessage(String errorMessage) {
this.errorMessage = errorMessage;
}
}

View File

@ -1,100 +0,0 @@
package electromagnetic.data.framework.share.result;
import java.io.Serializable;
public class LoginResult<T> 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 <tt>success</tt>.
*
* @return property value of success
*/
public Boolean getSuccess() {
return success;
}
/**
* Setter method for property <tt>success</tt>.
*
* @param success value to be assigned to property success
*/
public void setSuccess(Boolean success) {
this.success = success;
}
/**
* Getter method for property <tt>errorCode</tt>.
*
* @return property value of errorCode
*/
public String getErrorCode() {
return errorCode;
}
/**
* Setter method for property <tt>errorCode</tt>.
*
* @param errorCode value to be assigned to property errorCode
*/
public void setErrorCode(String errorCode) {
this.errorCode = errorCode;
}
/**
* Getter method for property <tt>errorMsg</tt>.
*
* @return property value of errorMsg
*/
public String getErrorMessage() {
return errorMessage;
}
/**
* Setter method for property <tt>errorMsg</tt>.
*
* @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;
}
}

View File

@ -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 <T> BaseResult<T> convertToResult(CallbackResult<T> callbackResult) {
BaseResult<T> BaseResult = new BaseResult<>();
BaseResult.setSuccess(callbackResult.isSuccess());
BaseResult.setErrorCode(callbackResult.getResultCode());
BaseResult.setErrorMessage(callbackResult.getResultMessage());
return BaseResult;
}
public static <T> BaseResult<T> success(T data){
BaseResult<T> BaseResult = new BaseResult<>();
BaseResult.setSuccess(true);
return BaseResult;
}
public static <T> BaseResult<T> fail(String code , String msg){
BaseResult<T> BaseResult = new BaseResult<>();
BaseResult.setSuccess(false);
BaseResult.setErrorCode(code);
BaseResult.setErrorMessage(msg);
return BaseResult;
}
public static <T> BaseResult fail(ErrorEnum errorEnum){
BaseResult<T> BaseResult = new BaseResult<>();
BaseResult.setSuccess(false);
BaseResult.setErrorCode(errorEnum.getCode());
BaseResult.setErrorMessage(errorEnum.getErrorMessage());
return BaseResult;
}
}

View File

@ -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 <T> LoginResult<T> convertToResult(CallbackResult<T> callbackResult) {
LoginResult<T> LoginResult = new LoginResult<>();
LoginResult.setSuccess(callbackResult.isSuccess());
LoginResult.setErrorCode(callbackResult.getResultCode());
LoginResult.setErrorMessage(callbackResult.getResultMessage());
return LoginResult;
}
public static <T> LoginResult<T> success(String token){
LoginResult<T> LoginResult = new LoginResult<>();
LoginResult.setSuccess(true);
LoginResult.setToken(token);
return LoginResult;
}
public static <T> LoginResult<T> fail(String code , String msg){
LoginResult<T> LoginResult = new LoginResult<>();
LoginResult.setSuccess(false);
LoginResult.setErrorCode(code);
LoginResult.setErrorMessage(msg);
return LoginResult;
}
public static <T> LoginResult fail(ErrorEnum errorEnum){
LoginResult<T> LoginResult = new LoginResult<>();
LoginResult.setSuccess(false);
LoginResult.setErrorCode(errorEnum.getCode());
LoginResult.setErrorMessage(errorEnum.getErrorMessage());
return LoginResult;
}
}

View File

@ -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.UserLoginRequest;
import com.electromagnetic.industry.software.data.manage.request.user.UserRequest; 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 electromagnetic.data.framework.share.model.ElectromagneticResult;
import com.electromagnetic.industry.software.data.manage.request.user.*; 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 { public interface UserFacade {

View File

@ -1,9 +1,5 @@
package com.electromagnetic.industry.software.data.manage.service.facade.user; 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.User;
import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.model.UserLoginInfo; import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.model.UserLoginInfo;
import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.service.TokenService; 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.domain.boardservice.user.util.UserConstant;
import com.electromagnetic.industry.software.data.manage.facade.user.UserFacade; 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.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.UserModiRequest;
import com.electromagnetic.industry.software.data.manage.request.user.UserPublishRequest; 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.UserLoginRequest;
import com.electromagnetic.industry.software.data.manage.request.user.UserRequest; 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.response.user.SingleUserResponse;
import com.electromagnetic.industry.software.data.manage.service.mappers.IndicatorCardMappers;
import com.electromagnetic.industry.software.data.manage.service.mappers.UserMappers; import com.electromagnetic.industry.software.data.manage.service.mappers.UserMappers;
import electromagnetic.data.framework.share.id.IdWorker; import electromagnetic.data.framework.share.id.IdWorker;
import electromagnetic.data.framework.share.model.ElectromagneticResult; import electromagnetic.data.framework.share.model.ElectromagneticResult;
import electromagnetic.data.framework.share.model.ElectromagneticResultUtil; 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.sign.AESUtils;
import electromagnetic.data.framework.share.util.BaseResultUtil;
import electromagnetic.data.framework.share.util.LoginResultUtil;
import electromagnetic.data.framework.share.util.SignUtils; import electromagnetic.data.framework.share.util.SignUtils;
import org.apache.commons.lang3.RandomStringUtils; import org.apache.commons.lang3.RandomStringUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.List;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.swing.text.StyledEditorKit;
@Service @Service
public class UserFacadeImpl implements UserFacade { public class UserFacadeImpl implements UserFacade {
@ -88,9 +73,6 @@ public class UserFacadeImpl implements UserFacade {
public ElectromagneticResult<Boolean> modifyUser(UserModiRequest userModiRequest) { public ElectromagneticResult<Boolean> modifyUser(UserModiRequest userModiRequest) {
// 将请求对象转换为模型对象 // 将请求对象转换为模型对象
User user = UserMappers.INSTANCE.getUserModiRequestToModel(userModiRequest); User user = UserMappers.INSTANCE.getUserModiRequestToModel(userModiRequest);
// 调用 UserService 的修改用户方法
Boolean success = userService.modifyUser(user);
//根据操作结果构建 BaseResult 对象并返回 //根据操作结果构建 BaseResult 对象并返回
return ElectromagneticResultUtil.success(userService.modifyUser(user)); return ElectromagneticResultUtil.success(userService.modifyUser(user));
} }
@ -102,8 +84,7 @@ public class UserFacadeImpl implements UserFacade {
*/ */
@Override @Override
public ElectromagneticResult<Boolean> publishUser(UserPublishRequest userPublishRequest){ public ElectromagneticResult<Boolean> publishUser(UserPublishRequest userPublishRequest){
User user = UserMappers.INSTANCE.getUserPublishRequestToModel(userPublishRequest); return ElectromagneticResultUtil.success(userService.publishUser(userPublishRequest.getUserIds()));
return ElectromagneticResultUtil.success(userService.publishUser(user));
} }
/** /**
@ -121,9 +102,6 @@ public class UserFacadeImpl implements UserFacade {
// 根据是否存在具有相同工号的用户来确定工号的唯一性 // 根据是否存在具有相同工号的用户来确定工号的唯一性
boolean isWorkNumberUnique = (existingUser == null); boolean isWorkNumberUnique = (existingUser == null);
return ElectromagneticResultUtil.success(Boolean.valueOf(isWorkNumberUnique)); return ElectromagneticResultUtil.success(Boolean.valueOf(isWorkNumberUnique));
public ElectromagneticResult<Boolean> publishUser(UserPublishRequest userPublishRequest){
List<String> userIds = userPublishRequest.getUserIds();
return ElectromagneticResultUtil.success(userService.publishUser(userIds));
} }
/** /**
@ -133,21 +111,9 @@ public class UserFacadeImpl implements UserFacade {
*/ */
@Override @Override
public ElectromagneticResult<SingleUserResponse> getSingleUser(GetSingleUserRequest getSingleUserRequest){ public ElectromagneticResult<SingleUserResponse> getSingleUser(GetSingleUserRequest getSingleUserRequest){
//String userId = getSingleUserRequest.getUserId();
//response
//User user = new User();
//user.setUserId(getSingleUserRequest.getUserId());
User user = userService.getSingleUser(getSingleUserRequest.getUserId()); User user = userService.getSingleUser(getSingleUserRequest.getUserId());
SingleUserResponse singleUserResponse = UserMappers.INSTANCE.getSingleUserToResponse(user); SingleUserResponse singleUserResponse = UserMappers.INSTANCE.getSingleUserToResponse(user);
return ElectromagneticResultUtil.success(singleUserResponse); return ElectromagneticResultUtil.success(singleUserResponse);
} }
// @Override
// public ElectromagneticResult<IndicatorCardDetailReponse> 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);
// }
} }

View File

@ -39,14 +39,6 @@ public interface UserMappers {
*/ */
UserLoginInfo getUserLoginRequestToModel(UserLoginRequest loginRequest); UserLoginInfo getUserLoginRequestToModel(UserLoginRequest loginRequest);
/**
* 获取单条用户信息Request转用户模型
* @param getSingleUserRequest
* @return
*/
User getSingleUserRequestToModel(GetSingleUserRequest getSingleUserRequest);
/** /**
* 获取单条用户信息Request转用户模型 * 获取单条用户信息Request转用户模型
* @param user * @param user