From 0a1616fd53c4fd05f0a80f4164b0cc68b507fdea Mon Sep 17 00:00:00 2001 From: s2042968 Date: Fri, 29 Nov 2024 16:08:19 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=9B=E5=BB=BA=E6=9C=AC=E5=9C=B0=E7=BA=BF?= =?UTF-8?q?=E7=A8=8B=E5=AD=98=E5=82=A8=E7=94=A8=E6=88=B7=E4=BF=A1=E6=81=AF?= =?UTF-8?q?=EF=BC=8C=E4=BF=AE=E6=94=B9token=E5=8A=A0=E5=AF=86=E6=96=B9?= =?UTF-8?q?=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/user/UserController.java | 4 ++- .../user/interceptor/LoginInterceptor.java | 31 ++++++++++++++++--- .../user/service/TokenService.java | 2 +- .../user/service/impl/TokenServiceImpl.java | 19 ++++++------ .../share/constants/UserConstants.java | 8 +++-- .../framework/share}/model/UserLoginInfo.java | 12 ++++++- .../data/framework/share/util/TokenUtil.java | 21 +++++++++++++ .../framework/share/util/UserThreadLocal.java | 30 ++++++++++++++++++ .../request/user/UserDeleteRequest.java | 9 ------ .../manage/request/user/UserModiRequest.java | 10 ------ .../request/user/UserPublishRequest.java | 9 ------ .../data/manage/request/user/UserRequest.java | 20 ------------ .../main/resources/sqlmapper/UserMapper.xml | 5 ++- .../service/facade/user/UserFacadeImpl.java | 23 ++++++++++---- .../manage/service/mappers/UserMappers.java | 2 +- 15 files changed, 129 insertions(+), 76 deletions(-) rename domain/src/main/java/com/electromagnetic/industry/software/data/manage/domain/boardservice/user/util/UserConstant.java => electromagnetic-framework/src/main/java/electromagnetic/data/framework/share/constants/UserConstants.java (64%) rename {domain/src/main/java/com/electromagnetic/industry/software/data/manage/domain/boardservice/user => electromagnetic-framework/src/main/java/electromagnetic/data/framework/share}/model/UserLoginInfo.java (57%) create mode 100644 electromagnetic-framework/src/main/java/electromagnetic/data/framework/share/util/TokenUtil.java create mode 100644 electromagnetic-framework/src/main/java/electromagnetic/data/framework/share/util/UserThreadLocal.java 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 312feb0..cd84fc0 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 @@ -30,7 +30,9 @@ public class UserController { @ApiOperation(value="编辑用户信息",notes = "") @PutMapping("/updateUser") - public ElectromagneticResult updateUser(@RequestBody UserModiRequest userModiRequest){ return userFacade.modifyUser(userModiRequest);} + public ElectromagneticResult updateUser(@RequestBody UserModiRequest userModiRequest){ + return userFacade.modifyUser(userModiRequest); + } @ApiOperation(value = "发布用户信息", notes = "") @RequestMapping(value = "/publish", method = RequestMethod.POST) 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 index c771921..a16a6cd 100644 --- 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 @@ -1,6 +1,13 @@ package com.electromagnetic.industry.software.data.manage.domain.boardservice.user.interceptor; import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.service.TokenService; +import electromagnetic.data.framework.share.constants.UserConstants; +import electromagnetic.data.framework.share.model.UserLoginInfo; +import electromagnetic.data.framework.share.util.TokenUtil; +import electromagnetic.data.framework.share.util.UserThreadLocal; +import io.jsonwebtoken.Claims; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.stereotype.Component; import org.springframework.web.servlet.HandlerInterceptor; import org.springframework.web.servlet.ModelAndView; @@ -12,6 +19,8 @@ import javax.servlet.http.HttpServletResponse; @Component public class LoginInterceptor implements HandlerInterceptor { + private static Logger LOGGER = LoggerFactory.getLogger("LOGIN_INTERCEPTOR"); + @Resource TokenService tokenService; @@ -19,17 +28,31 @@ public class LoginInterceptor implements HandlerInterceptor { public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { String token = request.getHeader("Authorization"); - if (token==null || !token.startsWith("Bearer ")) { + if (token==null) { + LOGGER.error("Authorization header is null"); response.setStatus(401); return false; } else { - //token = token.substring(7); + token = token.substring(7); } - boolean result = tokenService.isTokenValid(token.substring(7)); + boolean result = tokenService.isTokenValid(token); if (!result) { + LOGGER.error("Invalid token"); response.setStatus(401); return false; } else { + Claims claims = TokenUtil.getLoginInfo(token); + if (claims==null) { + LOGGER.error("User info is missing"); + response.setStatus(401); + return false; + } else { + UserLoginInfo userLoginInfo = new UserLoginInfo(); + userLoginInfo.setUserId(claims.get(UserConstants.LOGIN_USER_ID, String.class)); + userLoginInfo.setUsername(claims.get(UserConstants.LOGIN_USER_NAME, String.class)); + userLoginInfo.setWorkNumber(claims.get(UserConstants.LOGIN_WORK_NUMBER, String.class)); + UserThreadLocal.set(userLoginInfo); + } return true; } } @@ -41,6 +64,6 @@ public class LoginInterceptor implements HandlerInterceptor { @Override public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception { - + UserThreadLocal.remove(); } } diff --git a/domain/src/main/java/com/electromagnetic/industry/software/data/manage/domain/boardservice/user/service/TokenService.java b/domain/src/main/java/com/electromagnetic/industry/software/data/manage/domain/boardservice/user/service/TokenService.java index 4af370e..2576ead 100644 --- a/domain/src/main/java/com/electromagnetic/industry/software/data/manage/domain/boardservice/user/service/TokenService.java +++ b/domain/src/main/java/com/electromagnetic/industry/software/data/manage/domain/boardservice/user/service/TokenService.java @@ -1,7 +1,7 @@ package com.electromagnetic.industry.software.data.manage.domain.boardservice.user.service; 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 electromagnetic.data.framework.share.model.UserLoginInfo; public interface TokenService { 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 4a7df47..67f0a40 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 @@ -4,10 +4,10 @@ import cn.hutool.core.date.DateTime; import cn.hutool.core.date.SystemClock; import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.model.Token; 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 electromagnetic.data.framework.share.model.UserLoginInfo; import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.repository.TokenRepository; import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.service.TokenService; -import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.util.UserConstant; +import electromagnetic.data.framework.share.constants.UserConstants; import io.jsonwebtoken.Jwts; import io.jsonwebtoken.SignatureAlgorithm; import org.springframework.stereotype.Service; @@ -16,7 +16,6 @@ import javax.annotation.Resource; import java.util.Date; import java.util.HashMap; import java.util.Map; -import java.util.UUID; import static cn.hutool.core.date.SystemClock.now; @@ -33,15 +32,15 @@ public class TokenServiceImpl implements TokenService { */ @Override public String createToken(UserLoginInfo loginInfo){ - String token = UUID.randomUUID().toString(); - loginInfo.setToken(token); Map claims = new HashMap<>(); - claims.put(UserConstant.LOGIN_USER_KEY, loginInfo); - Jwts.builder() + claims.put(UserConstants.LOGIN_USER_ID, loginInfo.getUserId()); + claims.put(UserConstants.LOGIN_USER_NAME, loginInfo.getUsername()); + claims.put(UserConstants.LOGIN_WORK_NUMBER, loginInfo.getWorkNumber()); + return Jwts.builder() .addClaims(claims) - .signWith(SignatureAlgorithm.HS512, UserConstant.SECRET_KEY) + .setIssuedAt(DateTime.now()) + .signWith(SignatureAlgorithm.HS512, UserConstants.SECRET_KEY) .compact(); - return token; } /** @@ -55,7 +54,7 @@ public class TokenServiceImpl implements TokenService { Token token = new Token(); token.setUserId(user.getUserId()); token.setToken(tokenStr); - token.setExpireAt(new DateTime(now()+UserConstant.DEFAULT_EXPIRE_TIME)); + token.setExpireAt(new DateTime(now()+ UserConstants.DEFAULT_EXPIRE_TIME)); return tokenRepository.insert(token)>0; } diff --git a/domain/src/main/java/com/electromagnetic/industry/software/data/manage/domain/boardservice/user/util/UserConstant.java b/electromagnetic-framework/src/main/java/electromagnetic/data/framework/share/constants/UserConstants.java similarity index 64% rename from domain/src/main/java/com/electromagnetic/industry/software/data/manage/domain/boardservice/user/util/UserConstant.java rename to electromagnetic-framework/src/main/java/electromagnetic/data/framework/share/constants/UserConstants.java index d0edb39..a535daf 100644 --- a/domain/src/main/java/com/electromagnetic/industry/software/data/manage/domain/boardservice/user/util/UserConstant.java +++ b/electromagnetic-framework/src/main/java/electromagnetic/data/framework/share/constants/UserConstants.java @@ -1,6 +1,6 @@ -package com.electromagnetic.industry.software.data.manage.domain.boardservice.user.util; +package electromagnetic.data.framework.share.constants; -public class UserConstant { +public class UserConstants { /** * 默认初始密码 @@ -25,5 +25,7 @@ public class UserConstant { /** * 令牌前缀 */ - public static final String LOGIN_USER_KEY = "login_user_key"; + public static final String LOGIN_USER_NAME = "userName"; + public static final String LOGIN_WORK_NUMBER = "workNumber"; + public static final String LOGIN_USER_ID = "userId"; } diff --git a/domain/src/main/java/com/electromagnetic/industry/software/data/manage/domain/boardservice/user/model/UserLoginInfo.java b/electromagnetic-framework/src/main/java/electromagnetic/data/framework/share/model/UserLoginInfo.java similarity index 57% rename from domain/src/main/java/com/electromagnetic/industry/software/data/manage/domain/boardservice/user/model/UserLoginInfo.java rename to electromagnetic-framework/src/main/java/electromagnetic/data/framework/share/model/UserLoginInfo.java index bb6fcd3..a6c59e5 100644 --- a/domain/src/main/java/com/electromagnetic/industry/software/data/manage/domain/boardservice/user/model/UserLoginInfo.java +++ b/electromagnetic-framework/src/main/java/electromagnetic/data/framework/share/model/UserLoginInfo.java @@ -1,4 +1,4 @@ -package com.electromagnetic.industry.software.data.manage.domain.boardservice.user.model; +package electromagnetic.data.framework.share.model; import lombok.Data; @@ -10,6 +10,16 @@ public class UserLoginInfo { */ private String workNumber; + /** + * 用户名 + */ + private String username; + + /** + * 用户编号 + */ + private String userId; + /** * 用户密码 */ diff --git a/electromagnetic-framework/src/main/java/electromagnetic/data/framework/share/util/TokenUtil.java b/electromagnetic-framework/src/main/java/electromagnetic/data/framework/share/util/TokenUtil.java new file mode 100644 index 0000000..bb3c3d6 --- /dev/null +++ b/electromagnetic-framework/src/main/java/electromagnetic/data/framework/share/util/TokenUtil.java @@ -0,0 +1,21 @@ +package electromagnetic.data.framework.share.util; + +import electromagnetic.data.framework.share.constants.UserConstants; +import io.jsonwebtoken.Claims; +import io.jsonwebtoken.Jwts; + +public class TokenUtil { + + /** + * 获取Claim + * + * @param token + * @return + */ + public static Claims getLoginInfo(String token) { + return Jwts.parser() + .setSigningKey(UserConstants.SECRET_KEY) + .parseClaimsJws(token) + .getBody(); + } +} diff --git a/electromagnetic-framework/src/main/java/electromagnetic/data/framework/share/util/UserThreadLocal.java b/electromagnetic-framework/src/main/java/electromagnetic/data/framework/share/util/UserThreadLocal.java new file mode 100644 index 0000000..55b7ce3 --- /dev/null +++ b/electromagnetic-framework/src/main/java/electromagnetic/data/framework/share/util/UserThreadLocal.java @@ -0,0 +1,30 @@ +package electromagnetic.data.framework.share.util; + +import electromagnetic.data.framework.share.model.UserLoginInfo; + +public class UserThreadLocal { + /** + * 存储用户信息 + */ + private static ThreadLocal userThread = new ThreadLocal<>(); + + public static void set(UserLoginInfo userLoginInfo) { + userThread.set(userLoginInfo); + } + + public static UserLoginInfo getUser() { + return userThread.get(); + } + + public static String getUsername() { + return userThread.get().getUsername(); + } + + public static String getUserId() { + return userThread.get().getUserId(); + } + + public static void remove() { + userThread.remove(); + } +} diff --git a/facade/src/main/java/com/electromagnetic/industry/software/data/manage/request/user/UserDeleteRequest.java b/facade/src/main/java/com/electromagnetic/industry/software/data/manage/request/user/UserDeleteRequest.java index f2214a5..0092c7f 100644 --- a/facade/src/main/java/com/electromagnetic/industry/software/data/manage/request/user/UserDeleteRequest.java +++ b/facade/src/main/java/com/electromagnetic/industry/software/data/manage/request/user/UserDeleteRequest.java @@ -16,13 +16,4 @@ public class UserDeleteRequest extends BaseRequest implements Serializable { */ private String userId; - /** - * 更新人姓名 - */ - private String modifier; - - /** - * 更新人工号 - */ - private String modifierName; } diff --git a/facade/src/main/java/com/electromagnetic/industry/software/data/manage/request/user/UserModiRequest.java b/facade/src/main/java/com/electromagnetic/industry/software/data/manage/request/user/UserModiRequest.java index 4af010f..2a5276d 100644 --- a/facade/src/main/java/com/electromagnetic/industry/software/data/manage/request/user/UserModiRequest.java +++ b/facade/src/main/java/com/electromagnetic/industry/software/data/manage/request/user/UserModiRequest.java @@ -57,14 +57,4 @@ public class UserModiRequest extends BaseRequest implements Serializable { * 实习截止日期 */ private Date internshipEndDate; - - /** - * 创建者 - */ - private String modifier; - - /** - * 创建者姓名 - */ - private String modifierName; } diff --git a/facade/src/main/java/com/electromagnetic/industry/software/data/manage/request/user/UserPublishRequest.java b/facade/src/main/java/com/electromagnetic/industry/software/data/manage/request/user/UserPublishRequest.java index 09ccfe4..4ee3823 100644 --- a/facade/src/main/java/com/electromagnetic/industry/software/data/manage/request/user/UserPublishRequest.java +++ b/facade/src/main/java/com/electromagnetic/industry/software/data/manage/request/user/UserPublishRequest.java @@ -17,13 +17,4 @@ public class UserPublishRequest extends BaseRequest implements Serializable { */ private List userIds; - /** - * 编辑者 - */ - private String modifier; - - /** - * 编辑者姓名 - */ - private String modifierName; } \ No newline at end of file diff --git a/facade/src/main/java/com/electromagnetic/industry/software/data/manage/request/user/UserRequest.java b/facade/src/main/java/com/electromagnetic/industry/software/data/manage/request/user/UserRequest.java index ffdced0..b819623 100644 --- a/facade/src/main/java/com/electromagnetic/industry/software/data/manage/request/user/UserRequest.java +++ b/facade/src/main/java/com/electromagnetic/industry/software/data/manage/request/user/UserRequest.java @@ -53,24 +53,4 @@ public class UserRequest extends BaseRequest implements Serializable { */ private Date internshipEndDate; - /** - * 创建者 - */ - private String creator; - - /** - * 创建者姓名 - */ - private String creatorName; - - /** - * 编辑者userId - */ - private String modifier; - - /** - * 编辑者姓名 - */ - private String modifierName; - } diff --git a/infrastructure/repository/src/main/resources/sqlmapper/UserMapper.xml b/infrastructure/repository/src/main/resources/sqlmapper/UserMapper.xml index 1e765f1..ee0c6c3 100644 --- a/infrastructure/repository/src/main/resources/sqlmapper/UserMapper.xml +++ b/infrastructure/repository/src/main/resources/sqlmapper/UserMapper.xml @@ -82,6 +82,7 @@ internship_end_date = #{internshipEndDate}, modifier = #{modifier}, modifier_name = #{modifierName}, + gmt_modified=now() where user_id= #{userId} @@ -93,6 +94,7 @@ is_published = 1, modifier = #{modifier}, modifier_name = #{modifierName}, + gmt_modified = now() where user_id IN @@ -202,7 +204,8 @@ effect_flag=0, modifier=#{modifier}, - modifier_name=#{modifierName} + modifier_name=#{modifierName}, + gmt_modified = now() where user_id = #{userId} 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 eb65fb3..da07d92 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 @@ -2,13 +2,13 @@ package com.electromagnetic.industry.software.data.manage.service.facade.user; import com.electromagnetic.industry.software.data.manage.common.ElectromagneticErrorEnum; 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 electromagnetic.data.framework.share.model.UserLoginInfo; import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.params.PublishParam; import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.params.SearchKeyWords; import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.params.UserDeleteKeyWords; import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.service.TokenService; import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.service.UserService; -import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.util.UserConstant; +import electromagnetic.data.framework.share.constants.UserConstants; 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.response.user.SingleUserResponse; @@ -20,11 +20,12 @@ import electromagnetic.data.framework.share.model.ElectromagneticResult; import electromagnetic.data.framework.share.model.ElectromagneticResultUtil; import electromagnetic.data.framework.share.sign.AESUtils; import electromagnetic.data.framework.share.util.SignUtils; +import electromagnetic.data.framework.share.util.TokenUtil; +import electromagnetic.data.framework.share.util.UserThreadLocal; import org.apache.commons.lang3.RandomStringUtils; import org.springframework.stereotype.Service; import javax.annotation.Resource; -import javax.servlet.http.HttpServletRequest; import java.util.List; @Service @@ -43,8 +44,10 @@ public class UserFacadeImpl implements UserFacade { @Override public ElectromagneticResult login(UserLoginRequest loginRequest) { UserLoginInfo info = UserMappers.INSTANCE.getUserLoginRequestToModel(loginRequest); - String decodePwd = AESUtils.decrypt(info.getUserPwd(), UserConstant.SECRET_KEY); + String decodePwd = AESUtils.decrypt(info.getUserPwd(), UserConstants.SECRET_KEY); User user = userService.getUserByWorkNumber(info.getWorkNumber()); + info.setUserId(user.getUserId()); + info.setUsername(user.getUserName()); if ( userService.checkUserValid(user) && userService.matchPassword(user, decodePwd)) { String tokenStr = tokenService.createToken(info); tokenService.createUserToken(user, tokenStr); @@ -66,8 +69,10 @@ public class UserFacadeImpl implements UserFacade { User user = UserMappers.INSTANCE.getUserRequestToModel(userRequest); user.setSalt(RandomStringUtils.randomAlphanumeric(16)); user.setUserId(IdWorker.getSnowFlakeIdString()); - user.setUserPwd(SignUtils.MD5(UserConstant.DEFAULT_PASSWORD+user.getSalt())); - user.setIsPublished(UserConstant.DEFAULT_PUBLISH_STATUS); + user.setUserPwd(SignUtils.MD5(UserConstants.DEFAULT_PASSWORD+user.getSalt())); + user.setIsPublished(UserConstants.DEFAULT_PUBLISH_STATUS); + user.setCreator(UserThreadLocal.getUserId()); + user.setCreatorName(UserThreadLocal.getUsername()); return ElectromagneticResultUtil.success(userService.createUser(user)); } @@ -80,6 +85,8 @@ public class UserFacadeImpl implements UserFacade { public ElectromagneticResult modifyUser(UserModiRequest userModiRequest) { // 将请求对象转换为模型对象 User user = UserMappers.INSTANCE.getUserModiRequestToModel(userModiRequest); + user.setModifier(UserThreadLocal.getUserId()); + user.setModifierName(UserThreadLocal.getUsername()); //根据操作结果构建 BaseResult 对象并返回 return ElectromagneticResultUtil.success(userService.modifyUser(user)); } @@ -92,6 +99,8 @@ public class UserFacadeImpl implements UserFacade { @Override public ElectromagneticResult publishUser(UserPublishRequest userPublishRequest){ PublishParam model = UserMappers.INSTANCE.getUserPublishRequestToModel(userPublishRequest); + model.setModifier(UserThreadLocal.getUserId()); + model.setModifierName(UserThreadLocal.getUsername()); return ElectromagneticResultUtil.success(userService.publishUser(model)); } @@ -179,6 +188,8 @@ public class UserFacadeImpl implements UserFacade { public ElectromagneticResult deleteUser(UserDeleteRequest userDeleteRequest) { // 将请求对象转换为模型对象 UserDeleteKeyWords userDeleteKeyWords = UserMappers.INSTANCE.getUserDeleteRequestToModel(userDeleteRequest); + userDeleteKeyWords.setModifier(UserThreadLocal.getUserId()); + userDeleteKeyWords.setModifierName(UserThreadLocal.getUsername()); // 检查用户是否已经被逻辑删除 User existingUser = userService.getSingleUser(userDeleteKeyWords.getUserId()); 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 e09199a..ef52562 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 @@ -4,7 +4,7 @@ package com.electromagnetic.industry.software.data.manage.service.mappers; 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 electromagnetic.data.framework.share.model.UserLoginInfo; import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.params.PublishParam; import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.params.SearchKeyWords; import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.params.UserDeleteKeyWords;