diff --git a/bootstrap/src/main/java/com/electromagnetic/industry/software/data/manage/controller/category/CategoryController.java b/bootstrap/src/main/java/com/electromagnetic/industry/software/data/manage/controller/category/CategoryController.java new file mode 100644 index 0000000..215a39c --- /dev/null +++ b/bootstrap/src/main/java/com/electromagnetic/industry/software/data/manage/controller/category/CategoryController.java @@ -0,0 +1,28 @@ +package com.electromagnetic.industry.software.data.manage.controller.category; + +import com.electromagnetic.industry.software.data.manage.facade.Category.CategoryFacade; +import electromagnetic.data.framework.share.model.ElectromagneticResult; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; + +@RequestMapping("/data/ed/category") +@RestController +public class CategoryController { + + @Resource + CategoryFacade categoryFacade; + + /** + * 目录树查询 + */ + @ApiOperation(value = "目录树查询", notes = "") + @RequestMapping(value = "/tree", method = RequestMethod.GET) + public ElectromagneticResult categoryTree() { + return categoryFacade.categoryTree(); + } + +} 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 84fae58..db38ce7 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 @@ -1,15 +1,16 @@ package com.electromagnetic.industry.software.data.manage.controller.user; import com.electromagnetic.industry.software.data.manage.facade.user.UserFacade; +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 electromagnetic.data.framework.share.result.BaseResult; -import electromagnetic.data.framework.share.result.LoginResult; +import electromagnetic.data.framework.share.model.ElectromagneticResult; +import com.electromagnetic.industry.software.data.manage.request.user.*; import io.swagger.annotations.ApiOperation; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import jdk.internal.org.objectweb.asm.tree.analysis.Value; +import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; @@ -22,14 +23,47 @@ public class UserController { @ApiOperation(value = "登录", notes = "") @PostMapping("/login") - public LoginResult login(@RequestBody UserLoginRequest loginRequest) { + public ElectromagneticResult login(@RequestBody UserLoginRequest loginRequest) { return userFacade.login(loginRequest); } @ApiOperation(value = "新增用户信息", notes = "") - @PostMapping - public BaseResult createUser(@RequestBody UserRequest userRequest) { + @PostMapping("/createUser") + public ElectromagneticResult createUser(@RequestBody UserRequest userRequest) { return userFacade.createUser(userRequest); } + @ApiOperation(value="编辑用户信息",notes = "") + @PutMapping("/updateUser") + public ElectromagneticResult updateUser(@RequestBody UserModiRequest userModiRequest){ return userFacade.modifyUser(userModiRequest);} + + @ApiOperation(value = "发布用户信息", notes = "") + @RequestMapping(value = "/publish", method = RequestMethod.POST) + public ElectromagneticResult publishUser(@RequestBody UserPublishRequest userPublishRequest) { + return userFacade.publishUser(userPublishRequest); + } + + @ApiOperation(value = "获取单条用户信息", notes = "") + @RequestMapping(value = "/getInfo", method = RequestMethod.GET) + public ElectromagneticResult getSingleUser(GetSingleUserRequest getSingleUserRequest) { + return userFacade.getSingleUser(getSingleUserRequest); + } + + @ApiOperation(value = "查询用户信息", notes = "") + @RequestMapping(value = "/list", method = RequestMethod.POST) + public ElectromagneticResult searchUser(@RequestBody SearchUserRequest searchUserRequest) { + return userFacade.searchUser(searchUserRequest); + } + + @ApiOperation(value = "校验工号唯一性", notes = "") + @RequestMapping(value = "/validate", method = RequestMethod.POST) + public ElectromagneticResult validateWorkNum(@RequestBody UserWorkNumRequest userWorkNumRequest) { + return userFacade.validateWorkNum(userWorkNumRequest); + } + + @ApiOperation(value="删除用户信息",notes="") + @GetMapping(value = "/deleteUser") + public ElectromagneticResult deleteUser(@RequestBody UserDeleteRequest userDeleteRequest) { + return userFacade.deleteUser(userDeleteRequest); + } } diff --git a/bootstrap/src/main/resources/application.properties b/bootstrap/src/main/resources/application.properties index cc4dfa0..13a1394 100644 --- a/bootstrap/src/main/resources/application.properties +++ b/bootstrap/src/main/resources/application.properties @@ -1,4 +1,4 @@ -#required +#required spring.application.name=electromagnetic-data # security run.mode=NORMAL diff --git a/domain/src/main/java/com/electromagnetic/industry/software/data/manage/domain/boardservice/category/model/Category.java b/domain/src/main/java/com/electromagnetic/industry/software/data/manage/domain/boardservice/category/model/Category.java new file mode 100644 index 0000000..6643fc2 --- /dev/null +++ b/domain/src/main/java/com/electromagnetic/industry/software/data/manage/domain/boardservice/category/model/Category.java @@ -0,0 +1,82 @@ +package com.electromagnetic.industry.software.data.manage.domain.boardservice.category.model; + +import lombok.Data; + +import java.io.Serializable; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +@Data +public class Category implements Serializable { + + /** + * 主键ID + */ + private Long id; + + /** + * 目录类型ID + */ + private String categoryTypeId; + + /** + * 上级编码,为空则为一级 + */ + private String parentId; + + /** + * 目录编码 + */ + private String categoryId; + + /** + * 目录名称 + */ + private String categoryName; + + /** + * 目录状态 + */ + private String categoryStatus; + + /** + * 创建人 + */ + private String creator; + + /** + * 创建人姓名 + */ + private String creatorName; + + /** + * 创建时间 + */ + private Date gmtCreate; + + /** + * 编辑人 + */ + private String modifier; + + /** + * 编辑人姓名 + */ + private String modifierName; + + /** + * 编辑时间 + */ + private Date gmtModified; + + /** + * 是否有效:0-无效 1-有效 + */ + private int effectFlag; + + /** + * 子目录 + */ + private List children = new ArrayList<>(); +} 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..c771921 --- /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/params/SearchKeyWords.java b/domain/src/main/java/com/electromagnetic/industry/software/data/manage/domain/boardservice/user/params/SearchKeyWords.java new file mode 100644 index 0000000..8b90ee1 --- /dev/null +++ b/domain/src/main/java/com/electromagnetic/industry/software/data/manage/domain/boardservice/user/params/SearchKeyWords.java @@ -0,0 +1,46 @@ +package com.electromagnetic.industry.software.data.manage.domain.boardservice.user.params; + +import lombok.Data; + +@Data +public class SearchKeyWords { + /** + * 搜索关键词 + */ + private String keyWord; + + /** + * 用户状态 + */ + private String userStatus; + + /** + * 用户发布状态 + */ + private String isPublished; + + /** + * 排序方式: "asc" 或 "desc" 或 “” + */ + private String gmtCreate; + + /** + * 排序方式: "asc" 或 "desc" 或 “” + */ + private String joinTime; + + /** + * 排序方式: "asc" 或 "desc" 或 “” + */ + private String internEndDate; + + /** + * 页码 + */ + private int pageIndex; + + /** + * 单页条目数量 + */ + private int pageSize; +} diff --git a/domain/src/main/java/com/electromagnetic/industry/software/data/manage/domain/boardservice/user/repository/CategoryRepository.java b/domain/src/main/java/com/electromagnetic/industry/software/data/manage/domain/boardservice/user/repository/CategoryRepository.java new file mode 100644 index 0000000..42d01a0 --- /dev/null +++ b/domain/src/main/java/com/electromagnetic/industry/software/data/manage/domain/boardservice/user/repository/CategoryRepository.java @@ -0,0 +1,18 @@ +package com.electromagnetic.industry.software.data.manage.domain.boardservice.user.repository; + +import com.electromagnetic.industry.software.data.manage.domain.boardservice.category.model.Category; + +import java.util.List; + +public interface CategoryRepository { + + /** + * 获取顶级节点 + */ + List getTopCategories(); + + /** + * 获取所有节点 + */ + List getAllCategories(); +} diff --git a/domain/src/main/java/com/electromagnetic/industry/software/data/manage/domain/boardservice/user/repository/TokenRepository.java b/domain/src/main/java/com/electromagnetic/industry/software/data/manage/domain/boardservice/user/repository/TokenRepository.java index 01b6928..88afa9d 100644 --- a/domain/src/main/java/com/electromagnetic/industry/software/data/manage/domain/boardservice/user/repository/TokenRepository.java +++ b/domain/src/main/java/com/electromagnetic/industry/software/data/manage/domain/boardservice/user/repository/TokenRepository.java @@ -10,4 +10,11 @@ public interface TokenRepository { * @return */ int insert(Token token); + + /** + * 查询令牌 + * @param token + * @return + */ + public Token selectToken(String token); } diff --git a/domain/src/main/java/com/electromagnetic/industry/software/data/manage/domain/boardservice/user/repository/UserRepository.java b/domain/src/main/java/com/electromagnetic/industry/software/data/manage/domain/boardservice/user/repository/UserRepository.java index cfc0f1b..7f61690 100644 --- a/domain/src/main/java/com/electromagnetic/industry/software/data/manage/domain/boardservice/user/repository/UserRepository.java +++ b/domain/src/main/java/com/electromagnetic/industry/software/data/manage/domain/boardservice/user/repository/UserRepository.java @@ -1,6 +1,8 @@ package com.electromagnetic.industry.software.data.manage.domain.boardservice.user.repository; +import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.params.SearchKeyWords; import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.model.User; +import java.util.List; public interface UserRepository { @@ -11,10 +13,53 @@ public interface UserRepository { */ int insert(User user); + /** + * 用户编辑 + * @param user + * @return + */ + int modify(User user); + + /** + * 用户发布 + * @param userIds + * @return + */ + int publish(List userIds); + /** * 通过工号查询用户 * @param workNumber * @return */ User selectUserByWorkNumber(String workNumber); + + /** + * 通过用户编码查询用户 + * @param userId + * @return + */ + User getSingleUser(String userId); + + /** + * 查询用户 + * @param searchKeyWords + * @return + */ + List search(SearchKeyWords searchKeyWords); + + /** + * 查询数据总条目数 + * @param searchKeywords + * @return + */ + int getTotalCount (SearchKeyWords searchKeywords); + + /** + * 删除用户 + * @param userId + * @return + */ + int deleteUser(String userId); + } diff --git a/domain/src/main/java/com/electromagnetic/industry/software/data/manage/domain/boardservice/user/service/CategoryService.java b/domain/src/main/java/com/electromagnetic/industry/software/data/manage/domain/boardservice/user/service/CategoryService.java new file mode 100644 index 0000000..1a62adb --- /dev/null +++ b/domain/src/main/java/com/electromagnetic/industry/software/data/manage/domain/boardservice/user/service/CategoryService.java @@ -0,0 +1,14 @@ +package com.electromagnetic.industry.software.data.manage.domain.boardservice.user.service; + +import com.electromagnetic.industry.software.data.manage.domain.boardservice.category.model.Category; + +import java.util.List; + +public interface CategoryService { + + /** + * 构建树结构 + */ + public List buildCategoryTree(); + +} 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 6446c4c..2bdacf1 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,6 +1,5 @@ package com.electromagnetic.industry.software.data.manage.domain.boardservice.user.service; -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; @@ -20,4 +19,9 @@ public interface TokenService { * @return */ public Boolean createUserToken (User user, String tokenStr); + + /** + * 查看token是否有效 + */ + public Boolean isTokenValid(String tokenStr); } diff --git a/domain/src/main/java/com/electromagnetic/industry/software/data/manage/domain/boardservice/user/service/UserService.java b/domain/src/main/java/com/electromagnetic/industry/software/data/manage/domain/boardservice/user/service/UserService.java index d8f750f..bddc728 100644 --- a/domain/src/main/java/com/electromagnetic/industry/software/data/manage/domain/boardservice/user/service/UserService.java +++ b/domain/src/main/java/com/electromagnetic/industry/software/data/manage/domain/boardservice/user/service/UserService.java @@ -1,7 +1,9 @@ package com.electromagnetic.industry.software.data.manage.domain.boardservice.user.service; +import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.params.SearchKeyWords; 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 java.util.List; public interface UserService { @@ -12,6 +14,20 @@ public interface UserService { */ Boolean createUser(User user); + /** + * 编辑用户 + * @param user + * @return + */ + Boolean modifyUser(User user); + + /** + * 用户发布 + * @param userIds + * @return + */ + Boolean publishUser(List userIds); + /** * 通过工号查询用户 * @param workNumber @@ -26,4 +42,33 @@ public interface UserService { * @return */ Boolean matchPassword(User user, String password); + + + /** + * 获取单条用户信息 + * @param userId + * @return + */ + User getSingleUser(String userId); + + /** + * 查询用户信息 + * @param searchKeyWords + * @return + */ + List searchUser(SearchKeyWords searchKeyWords); + + /** + * 查询数据总条目数 + * @param searchKeywords + * @return + */ + int getTotalCount (SearchKeyWords searchKeywords); + + /** + * 根据userId逻辑删除用户 + * @param userId + * @return + */ + Boolean deleteUser(String userId); } diff --git a/domain/src/main/java/com/electromagnetic/industry/software/data/manage/domain/boardservice/user/service/impl/CategoryServiceImpl.java b/domain/src/main/java/com/electromagnetic/industry/software/data/manage/domain/boardservice/user/service/impl/CategoryServiceImpl.java new file mode 100644 index 0000000..ab1cc51 --- /dev/null +++ b/domain/src/main/java/com/electromagnetic/industry/software/data/manage/domain/boardservice/user/service/impl/CategoryServiceImpl.java @@ -0,0 +1,83 @@ +package com.electromagnetic.industry.software.data.manage.domain.boardservice.user.service.impl; + +import com.electromagnetic.industry.software.data.manage.domain.boardservice.category.model.Category; +import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.repository.CategoryRepository; +import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.service.CategoryService; +import org.springframework.stereotype.Service; +import org.springframework.util.StringUtils; + +import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; +import java.util.stream.Collectors; + +@Service +public class CategoryServiceImpl implements CategoryService { + + @Resource + CategoryRepository categoryRepository; + + /** + * 构建树结构 + */ + @Override + public List buildCategoryTree(){ + List categories = categoryRepository.getAllCategories(); + List returnList = new ArrayList<>(); + List tempList = categories.stream().map(Category::getCategoryId).collect(Collectors.toList()); + for (Category category : categories) { + if (!tempList.contains(category.getParentId())) { + recursionFn(categories, category); + returnList.add(category); + } + } + if (returnList.isEmpty()) { + returnList = categories; + } + return returnList; + } + + /** + * 递归列表 + * @param list + * @param category + */ + private void recursionFn (List list, Category category) { + List childList = getChildList(list, category); + category.setChildren(childList); + for (Category child : childList) { + if (hasChild(list, child)) { + recursionFn(list, child); + } + } + } + + /** + * 得到子节点列表 + * @param list + * @param category + * @return + */ + private List getChildList(List list, Category category) { + List childList = new ArrayList<>(); + Iterator it = list.iterator(); + while (it.hasNext()) { + Category child = it.next(); + if (!StringUtils.isEmpty(child.getParentId()) && child.getParentId().equals(category.getCategoryId())) { + childList.add(child); + } + } + return childList; + } + + /** + * 判断是否有子节点 + * @param list + * @param category + * @return + */ + private boolean hasChild(List list, Category category) { + return !getChildList(list, category).isEmpty(); + } +} 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 9bfbc3a..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 @@ -1,6 +1,7 @@ package com.electromagnetic.industry.software.data.manage.domain.boardservice.user.service.impl; 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; @@ -12,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; @@ -56,4 +58,17 @@ public class TokenServiceImpl implements TokenService { token.setExpireAt(new DateTime(now()+UserConstant.DEFAULT_EXPIRE_TIME)); return tokenRepository.insert(token)>0; } + + /** + * 查看token是否有效 + */ + @Override + public Boolean isTokenValid(String tokenStr){ + Token token = tokenRepository.selectToken(tokenStr); + Date now = new Date(SystemClock.now()); + if (token != null && now.before(token.getExpireAt())) { + return true; + } + return false; + } } diff --git a/domain/src/main/java/com/electromagnetic/industry/software/data/manage/domain/boardservice/user/service/impl/UserServiceImpl.java b/domain/src/main/java/com/electromagnetic/industry/software/data/manage/domain/boardservice/user/service/impl/UserServiceImpl.java index ec09e28..34592ef 100644 --- a/domain/src/main/java/com/electromagnetic/industry/software/data/manage/domain/boardservice/user/service/impl/UserServiceImpl.java +++ b/domain/src/main/java/com/electromagnetic/industry/software/data/manage/domain/boardservice/user/service/impl/UserServiceImpl.java @@ -1,15 +1,16 @@ package com.electromagnetic.industry.software.data.manage.domain.boardservice.user.service.impl; +import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.params.SearchKeyWords; import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.model.User; import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.repository.UserRepository; 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.exception.LoggerConstant; import electromagnetic.data.framework.share.util.SignUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Service; - +import java.util.List; +import java.lang.String; import javax.annotation.Resource; @Service @@ -30,6 +31,17 @@ public class UserServiceImpl implements UserService { return userRepository.insert(user)>0; } + /** + * 编辑用户 + * + * @param user + * @return + */ + @Override + public Boolean modifyUser(User user) { + return userRepository.modify(user)>0; + } + /** * 通过工号查询用户 * @param workNumber @@ -48,7 +60,53 @@ public class UserServiceImpl implements UserService { @Override public Boolean matchPassword(User user, String password){ String salt = user.getSalt(); - String encodePwd = SignUtils.MD5(UserConstant.DEFAULT_PASSWORD+salt); + String encodePwd = SignUtils.MD5(password+salt); return user.getUserPwd().equals(encodePwd); } + + + /** + * 用户发布 + * @param userIds + * @return + */ + @Override + public Boolean publishUser(List userIds) { return userRepository.publish(userIds)>0; } + + /** + * 获取单条用户信息 + * @param userId + * @return + */ + @Override + public User getSingleUser(String userId) { return userRepository.getSingleUser(userId); } + + /** + * 查询用户信息 + * @param searchKeyWords + * @return + */ + @Override + public List searchUser(SearchKeyWords searchKeyWords) { return userRepository.search(searchKeyWords); } + + /** + * 查询数据总条目数 + * @param searchKeywords + * @return + */ + @Override + public int getTotalCount (SearchKeyWords searchKeywords) { + return userRepository.getTotalCount(searchKeywords); + } + + /** + * 根据userId逻辑删除用户 + * + * @param userId + * @return + */ + @Override + public Boolean deleteUser(String userId) { + return userRepository.deleteUser(userId)>0; + } } diff --git a/electromagnetic-framework/pom.xml b/electromagnetic-framework/pom.xml index 899213d..9e7d955 100644 --- a/electromagnetic-framework/pom.xml +++ b/electromagnetic-framework/pom.xml @@ -71,6 +71,10 @@ org.apache.tomcat.embed tomcat-embed-core + + org.springframework + spring-webmvc + \ No newline at end of file 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/sign/AESUtils.java b/electromagnetic-framework/src/main/java/electromagnetic/data/framework/share/sign/AESUtils.java index c8bcbf8..3bb0e57 100644 --- a/electromagnetic-framework/src/main/java/electromagnetic/data/framework/share/sign/AESUtils.java +++ b/electromagnetic-framework/src/main/java/electromagnetic/data/framework/share/sign/AESUtils.java @@ -132,7 +132,7 @@ public class AESUtils { Security.addProvider(new BouncyCastleProvider()); Cipher cipher = Cipher.getInstance("AES/ECB/PKCS7Padding"); cipher.init(Cipher.DECRYPT_MODE, secretKeySpec); - return cipher.doFinal(Base64.decodeBase64(enc)).toString(); + return new String(cipher.doFinal(Base64.decodeBase64(enc))); } catch (NoSuchPaddingException e) { throw new RuntimeException(e); } catch (IllegalBlockSizeException e) { 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/common/ElectromagneticErrorEnum.java b/facade/src/main/java/com/electromagnetic/industry/software/data/manage/common/ElectromagneticErrorEnum.java index 2890365..f805b5e 100644 --- a/facade/src/main/java/com/electromagnetic/industry/software/data/manage/common/ElectromagneticErrorEnum.java +++ b/facade/src/main/java/com/electromagnetic/industry/software/data/manage/common/ElectromagneticErrorEnum.java @@ -65,12 +65,12 @@ public enum ElectromagneticErrorEnum implements ErrorEnum { REPORT_OFF_DESC_NULL(ErrorLevels.ERROR, ErrorTypes.BIZ, "53034", "REPORT_URL_ERROR", "下架原因不能为空"), REPORT_CANCEL_OFF_DESC_NULL(ErrorLevels.ERROR, ErrorTypes.BIZ, "53035", "REPORT_URL_ERROR", "取消下架原因不能为空"), DEPT_EXIST_REPORT(ErrorLevels.ERROR, ErrorTypes.BIZ, "53036", "DEPT_EXIST_REPORT", "部门下已挂在数据"), - FINE_CREATE_USER_ERROR(ErrorLevels.ERROR, ErrorTypes.BIZ, "53037", "FINE_CREATE_USER_ERROR", "帆软创建用户失败"), + FINE_CREATE_USER_ERROR(ErrorLevels.ERROR, ErrorTypes.BIZ, "53037", "FINE_CREATE_USER_ERROR", "创建用户失败"), FINE_CONNECT_LIST_ERROR(ErrorLevels.ERROR, ErrorTypes.BIZ, "53038", "FINE_CONNECT_LIST_ERROR", "获取finebi数据库连接列表错误"), FINE_CONNECT_TABLE_ERROR(ErrorLevels.ERROR, ErrorTypes.BIZ, "53039", "FINE_CONNECT_TABLE_ERROR", "获取finebi数据库对应表列表错误"), FINE_ADD_GROUP_ERROR(ErrorLevels.ERROR, ErrorTypes.BIZ, "53040", "FINE_ADD_GROUP_ERROR", "添加分组报错"), FINE_ADD_PACK_ERROR(ErrorLevels.ERROR, ErrorTypes.BIZ, "53041", "FINE_ADD_PACK_ERROR", "添加业务包报错"), - FINE_DELETE_USER_ERROR(ErrorLevels.ERROR, ErrorTypes.BIZ, "53042", "FINE_DELETE_USER_ERROR", "帆软删除用户失败"), + FINE_DELETE_USER_ERROR(ErrorLevels.ERROR, ErrorTypes.BIZ, "53042", "FINE_DELETE_USER_ERROR", "删除用户失败"), FINE_ADD_DB_ERROR(ErrorLevels.ERROR, ErrorTypes.BIZ, "53043", "FINE_ADD_DB_ERROR", "数据集已存在,请不要重复添加"), FINE_GET_TABLE_INFO_ERROR(ErrorLevels.ERROR, ErrorTypes.BIZ, "53044", "FINE_GET_TABLE_INFO_ERROR", "数据集表信息错误"), LABEL_OBJNAME_IS_CHINESE(ErrorLevels.ERROR, ErrorTypes.BIZ, "53045", "LABEL_OSS_ANALYSIS_FAIL", "名称不能包含特殊字符(下划线,横杠,加号 除外)"), diff --git a/facade/src/main/java/com/electromagnetic/industry/software/data/manage/facade/Category/CategoryFacade.java b/facade/src/main/java/com/electromagnetic/industry/software/data/manage/facade/Category/CategoryFacade.java new file mode 100644 index 0000000..63b1509 --- /dev/null +++ b/facade/src/main/java/com/electromagnetic/industry/software/data/manage/facade/Category/CategoryFacade.java @@ -0,0 +1,12 @@ +package com.electromagnetic.industry.software.data.manage.facade.Category; + +import java.util.List; +import electromagnetic.data.framework.share.model.ElectromagneticResult; + +public interface CategoryFacade { + + /** + * 构建树结构 + */ + ElectromagneticResult categoryTree(); +} 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 3fb052e..b7af854 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 @@ -1,9 +1,12 @@ package com.electromagnetic.industry.software.data.manage.facade.user; +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 electromagnetic.data.framework.share.result.BaseResult; -import electromagnetic.data.framework.share.result.LoginResult; +import electromagnetic.data.framework.share.model.ElectromagneticResult; +import com.electromagnetic.industry.software.data.manage.request.user.*; public interface UserFacade { @@ -12,13 +15,55 @@ public interface UserFacade { * @param loginRequest * @return */ - LoginResult login(UserLoginRequest loginRequest); + ElectromagneticResult login(UserLoginRequest loginRequest); /** * 新增用户信息 * @param userRequest * @return */ - BaseResult createUser(UserRequest userRequest); + ElectromagneticResult createUser(UserRequest userRequest); + /** + * 编辑用户信息 + * @param userModiRequest + * @return + */ + ElectromagneticResult modifyUser(UserModiRequest userModiRequest); + + + /** + * 发布用户 + * @param userPublishRequest + * @return + */ + ElectromagneticResult publishUser(UserPublishRequest userPublishRequest); + + /** + * 校验工号唯一性 + * @param workNumberRequest + * @return + */ + ElectromagneticResult validateWorkNum(UserWorkNumRequest workNumberRequest); + + /** + * 通过用户编码获取单条用户信息 + * @param getSingleUserRequest + * @return + */ + ElectromagneticResult getSingleUser(GetSingleUserRequest getSingleUserRequest); + + /** + * 查询用户信息 + * @param searchUserRequest + * @return + */ + ElectromagneticResult searchUser(SearchUserRequest searchUserRequest); + + /** + * 刪除用戶(逻辑删除) + * @param userDeleteRequest + * @return + */ + ElectromagneticResult deleteUser(UserDeleteRequest userDeleteRequest); } diff --git a/facade/src/main/java/com/electromagnetic/industry/software/data/manage/request/user/GetSingleUserRequest.java b/facade/src/main/java/com/electromagnetic/industry/software/data/manage/request/user/GetSingleUserRequest.java new file mode 100644 index 0000000..a50a018 --- /dev/null +++ b/facade/src/main/java/com/electromagnetic/industry/software/data/manage/request/user/GetSingleUserRequest.java @@ -0,0 +1,18 @@ +package com.electromagnetic.industry.software.data.manage.request.user; + +import cn.hutool.core.date.DateTime; +import electromagnetic.data.framework.share.model.BaseRequest; +import lombok.Data; + +import java.io.Serializable; + +@Data +public class GetSingleUserRequest extends BaseRequest implements Serializable { + private static final long serialVersionUID = 1L; + + /** + * 用户编码 + */ + private String userId; + +} diff --git a/facade/src/main/java/com/electromagnetic/industry/software/data/manage/request/user/SearchUserRequest.java b/facade/src/main/java/com/electromagnetic/industry/software/data/manage/request/user/SearchUserRequest.java new file mode 100644 index 0000000..b918533 --- /dev/null +++ b/facade/src/main/java/com/electromagnetic/industry/software/data/manage/request/user/SearchUserRequest.java @@ -0,0 +1,53 @@ +package com.electromagnetic.industry.software.data.manage.request.user; + +import electromagnetic.data.framework.share.model.BaseRequest; +import lombok.Data; + +import java.io.Serializable; + + +@Data +public class SearchUserRequest extends BaseRequest implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 搜索关键词 + */ + private String keyWord; + + /** + * 用户状态 + */ + private String userStatus; + + /** + * 用户发布状态,1已发布,0未发布 + */ + private String isPublished; + + /** + * 排序方式: "asc" 或 "desc" 或 “” + */ + private String gmtCreate; + + /** + * 排序方式: "asc" 或 "desc" 或 “” + */ + private String joinTime; + + /** + * 排序方式: "asc" 或 "desc" 或 “” + */ + private String internEndDate; + + /** + * 页码 + */ + private int pageIndex; + + /** + * 单页条目数量 + */ + private int pageSize; +} 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 new file mode 100644 index 0000000..1685fe4 --- /dev/null +++ b/facade/src/main/java/com/electromagnetic/industry/software/data/manage/request/user/UserDeleteRequest.java @@ -0,0 +1,20 @@ +package com.electromagnetic.industry.software.data.manage.request.user; + +import cn.hutool.core.date.DateTime; +import electromagnetic.data.framework.share.model.BaseRequest; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + + +@Data +public class UserDeleteRequest extends BaseRequest implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 用户编码 + */ + private String userId; +} 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 new file mode 100644 index 0000000..4af010f --- /dev/null +++ b/facade/src/main/java/com/electromagnetic/industry/software/data/manage/request/user/UserModiRequest.java @@ -0,0 +1,70 @@ +package com.electromagnetic.industry.software.data.manage.request.user; + +import cn.hutool.core.date.DateTime; +import electromagnetic.data.framework.share.model.BaseRequest; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + + +@Data +public class UserModiRequest extends BaseRequest implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 用户Id + */ + private String userId; + + /** + * 用户姓名 + */ + private String userName; + + /** + * 工号 + */ + private String workNumber; + + /** + * 手机号 + */ + private String mobile; + + /** + * 所属部门 + */ + private String userDept; + + /** + * 职称 + */ + private String userTitle; + + /** + * 入职日期 + */ + private DateTime joinTime; + + /** + * 工作状态 + */ + private String userStatus; + + /** + * 实习截止日期 + */ + 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 new file mode 100644 index 0000000..77a182d --- /dev/null +++ b/facade/src/main/java/com/electromagnetic/industry/software/data/manage/request/user/UserPublishRequest.java @@ -0,0 +1,21 @@ +package com.electromagnetic.industry.software.data.manage.request.user; + +import cn.hutool.core.date.DateTime; +import electromagnetic.data.framework.share.model.BaseRequest; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; +import java.util.List; + + +@Data +public class UserPublishRequest extends BaseRequest implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 用户编码 + */ + private List userIds; +} \ No newline at end of file diff --git a/facade/src/main/java/com/electromagnetic/industry/software/data/manage/request/user/UserWorkNumRequest.java b/facade/src/main/java/com/electromagnetic/industry/software/data/manage/request/user/UserWorkNumRequest.java new file mode 100644 index 0000000..7903a0c --- /dev/null +++ b/facade/src/main/java/com/electromagnetic/industry/software/data/manage/request/user/UserWorkNumRequest.java @@ -0,0 +1,22 @@ +package com.electromagnetic.industry.software.data.manage.request.user; + +import cn.hutool.core.date.DateTime; +import electromagnetic.data.framework.share.model.BaseRequest; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + + +@Data +public class UserWorkNumRequest extends BaseRequest implements Serializable { + + private static final long serialVersionUID = 1L; + + + /** + * 工号 + */ + private String workNumber; + +} diff --git a/facade/src/main/java/com/electromagnetic/industry/software/data/manage/response/user/SingleUserResponse.java b/facade/src/main/java/com/electromagnetic/industry/software/data/manage/response/user/SingleUserResponse.java new file mode 100644 index 0000000..9dfabe8 --- /dev/null +++ b/facade/src/main/java/com/electromagnetic/industry/software/data/manage/response/user/SingleUserResponse.java @@ -0,0 +1,108 @@ +package com.electromagnetic.industry.software.data.manage.response.user; + +import lombok.Data; + +import java.util.Date; + +@Data +public class SingleUserResponse { + + private static final long serialVersionUID = -7475233976453471059L; + + /** + * 主键ID + */ + private Long id; + + /** + * 用户编码 + */ + private String userId; + + /** + * 用户姓名 + */ + private String userName; + + /** + * 工号 + */ + private String workNumber; + + /** + * 手机号 + */ + private String mobile; + + /** + * 所属部门 + */ + private String userDept; + + /** + * 职称 + */ + private String userTitle; + + /** + * 登录密码 + */ + private String userPwd; + + /** + * 入职日期 + */ + private Date joinTime; + + /** + * 工作状态 + */ + private String userStatus; + + /** + * 实习截止日期 + */ + private Date internshipEndDate; + + /** + * 是否已发布 + */ + private Integer isPublished; + + /** + * 盐 + */ + private String salt; + + /** + * 创建人 + */ + private String creator; + + /** + * 创建人姓名 + */ + private String creatorName; + /** + * 创建时间 + */ + private Date gmtCreate; + /** + * 更新人 + */ + private String modifier; + /** + * 更新人姓名 + */ + private String modifierName; + /** + * 更新时间 + */ + private Date gmtModified; + + /** + * 是否有效:0-无效 1-有效 + */ + private Integer effectFlag; +} + diff --git a/facade/src/main/java/com/electromagnetic/industry/software/data/manage/response/user/UserLoginResponse.java b/facade/src/main/java/com/electromagnetic/industry/software/data/manage/response/user/UserLoginResponse.java new file mode 100644 index 0000000..aea4acf --- /dev/null +++ b/facade/src/main/java/com/electromagnetic/industry/software/data/manage/response/user/UserLoginResponse.java @@ -0,0 +1,13 @@ +package com.electromagnetic.industry.software.data.manage.response.user; + +import lombok.Data; + +import java.io.Serializable; + +@Data +public class UserLoginResponse implements Serializable { + + private String token; + + private String userId; +} diff --git a/facade/src/main/java/com/electromagnetic/industry/software/data/manage/response/user/UserSearchResponse.java b/facade/src/main/java/com/electromagnetic/industry/software/data/manage/response/user/UserSearchResponse.java new file mode 100644 index 0000000..e8846e4 --- /dev/null +++ b/facade/src/main/java/com/electromagnetic/industry/software/data/manage/response/user/UserSearchResponse.java @@ -0,0 +1,31 @@ +/** + * Copyright (c) 2004-2024 All Rights Reserved. + */ +package com.electromagnetic.industry.software.data.manage.response.user; + +import lombok.Data; +import org.apache.catalina.User; + +import java.io.Serializable; +import java.util.List; + +/** + * 指标卡详情Reponse + * @author + * @version $Id: IndicatorCardDetail.java, v 0.1 2024-08-14 10:37 + */ +@Data +public class UserSearchResponse implements Serializable { + private static final long serialVersionUID = -7475233976453471059L; + + /** + * 用户列表 + */ + private List userList; + + + /** + * 总数据数 + */ + private long totalCount; +} \ No newline at end of file diff --git a/infrastructure/repository/src/main/java/com/electromagnetic/industry/software/data/manage/repository/dao/CategoryMapper.java b/infrastructure/repository/src/main/java/com/electromagnetic/industry/software/data/manage/repository/dao/CategoryMapper.java new file mode 100644 index 0000000..762c437 --- /dev/null +++ b/infrastructure/repository/src/main/java/com/electromagnetic/industry/software/data/manage/repository/dao/CategoryMapper.java @@ -0,0 +1,22 @@ +package com.electromagnetic.industry.software.data.manage.repository.dao; + +import com.electromagnetic.industry.software.data.manage.domain.boardservice.category.model.Category; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +@Mapper +public interface CategoryMapper { + + /** + * 获取顶级节点 + * @return + */ + List selectTopCategories(); + + /** + * 获取所有节点 + * @return + */ + List selectAllCategories(); +} diff --git a/infrastructure/repository/src/main/java/com/electromagnetic/industry/software/data/manage/repository/dao/TokenMapper.java b/infrastructure/repository/src/main/java/com/electromagnetic/industry/software/data/manage/repository/dao/TokenMapper.java index fb67a60..9a9690d 100644 --- a/infrastructure/repository/src/main/java/com/electromagnetic/industry/software/data/manage/repository/dao/TokenMapper.java +++ b/infrastructure/repository/src/main/java/com/electromagnetic/industry/software/data/manage/repository/dao/TokenMapper.java @@ -12,4 +12,11 @@ public interface TokenMapper { * @return */ int insert(Token token); + + /** + * 查询 + * @param token + * @return Token + */ + Token selectToken(String token); } diff --git a/infrastructure/repository/src/main/java/com/electromagnetic/industry/software/data/manage/repository/dao/UserMapper.java b/infrastructure/repository/src/main/java/com/electromagnetic/industry/software/data/manage/repository/dao/UserMapper.java index ae6d137..180d05e 100644 --- a/infrastructure/repository/src/main/java/com/electromagnetic/industry/software/data/manage/repository/dao/UserMapper.java +++ b/infrastructure/repository/src/main/java/com/electromagnetic/industry/software/data/manage/repository/dao/UserMapper.java @@ -1,11 +1,13 @@ package com.electromagnetic.industry.software.data.manage.repository.dao; +import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.params.SearchKeyWords; import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.model.User; import org.apache.ibatis.annotations.Mapper; +import java.util.List; + @Mapper public interface UserMapper { - /** * 插入 * @param user @@ -13,10 +15,52 @@ public interface UserMapper { */ int insert(User user); + /** + * 编辑 + * @param user + * @return + */ + int modify(User user); + + /** + * 发布 + * @param userIds + * @return + */ + int publish(List userIds); + /** * 通过工号查询用户 * @param workNumber * @return */ User selectUserByWorkNumber(String workNumber); + + /** + * 通过用户编码查询用户 + * @param userId + * @return + */ + User getSingleUser(String userId); + + /** + * 通过用户编码查询用户 + * @param searchKeywords + * @return + */ + List search(SearchKeyWords searchKeywords); + + /** + * 查询数据总条目数 + * @param searchKeywords + * @return + */ + int getTotalCount (SearchKeyWords searchKeywords); + + /** + * 通过用户ID删除用户 + * @param userId + * @return + */ + int deleteUser(String userId); } \ No newline at end of file diff --git a/infrastructure/repository/src/main/java/com/electromagnetic/industry/software/data/manage/repository/impl/CategoryRepositoryImpl.java b/infrastructure/repository/src/main/java/com/electromagnetic/industry/software/data/manage/repository/impl/CategoryRepositoryImpl.java new file mode 100644 index 0000000..ae4471f --- /dev/null +++ b/infrastructure/repository/src/main/java/com/electromagnetic/industry/software/data/manage/repository/impl/CategoryRepositoryImpl.java @@ -0,0 +1,33 @@ +package com.electromagnetic.industry.software.data.manage.repository.impl; + +import com.electromagnetic.industry.software.data.manage.domain.boardservice.category.model.Category; +import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.repository.CategoryRepository; +import com.electromagnetic.industry.software.data.manage.repository.dao.CategoryMapper; +import org.springframework.stereotype.Repository; + +import javax.annotation.Resource; +import java.util.List; + +@Repository +public class CategoryRepositoryImpl implements CategoryRepository { + + @Resource + CategoryMapper categoryMapper; + + /** + * 获取顶级节点 + */ + @Override + public List getTopCategories(){ + return categoryMapper.selectTopCategories(); + } + + /** + * 获取所有节点 + */ + @Override + public List getAllCategories(){ + return categoryMapper.selectAllCategories(); + } + +} diff --git a/infrastructure/repository/src/main/java/com/electromagnetic/industry/software/data/manage/repository/impl/TokenRepositoryImpl.java b/infrastructure/repository/src/main/java/com/electromagnetic/industry/software/data/manage/repository/impl/TokenRepositoryImpl.java index af4e7b7..f4c178e 100644 --- a/infrastructure/repository/src/main/java/com/electromagnetic/industry/software/data/manage/repository/impl/TokenRepositoryImpl.java +++ b/infrastructure/repository/src/main/java/com/electromagnetic/industry/software/data/manage/repository/impl/TokenRepositoryImpl.java @@ -22,4 +22,12 @@ public class TokenRepositoryImpl implements TokenRepository { public int insert(Token token){ return tokenMapper.insert(token); } + + /** + * 查询令牌 + * @param token + * @return + */ + @Override + public Token selectToken(String token) {return tokenMapper.selectToken(token);} } diff --git a/infrastructure/repository/src/main/java/com/electromagnetic/industry/software/data/manage/repository/impl/UserRepositoryImpl.java b/infrastructure/repository/src/main/java/com/electromagnetic/industry/software/data/manage/repository/impl/UserRepositoryImpl.java index 36958fa..81d328e 100644 --- a/infrastructure/repository/src/main/java/com/electromagnetic/industry/software/data/manage/repository/impl/UserRepositoryImpl.java +++ b/infrastructure/repository/src/main/java/com/electromagnetic/industry/software/data/manage/repository/impl/UserRepositoryImpl.java @@ -4,10 +4,12 @@ package com.electromagnetic.industry.software.data.manage.repository.impl; +import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.params.SearchKeyWords; import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.model.User; import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.repository.UserRepository; import com.electromagnetic.industry.software.data.manage.repository.dao.UserMapper; import org.springframework.stereotype.Repository; +import java.util.List; import javax.annotation.Resource; @@ -27,6 +29,28 @@ public class UserRepositoryImpl implements UserRepository { return userMapper.insert(user); } + /** + * 用户编辑 + * + * @param user + * @return + */ + @Override + public int modify(User user) { + return userMapper.modify(user); + } + + /** + * 用户发布 + * + * @param userIds + * @return + */ + @Override + public int publish(List userIds) { + return userMapper.publish(userIds); + } + /** * 通过工号查询用户 * @param workNumber @@ -36,4 +60,44 @@ public class UserRepositoryImpl implements UserRepository { public User selectUserByWorkNumber(String workNumber) { return userMapper.selectUserByWorkNumber(workNumber); } + + /** + * 通过工号查询用户 + * @param userId + * @return + */ + @Override + public User getSingleUser(String userId) { + return userMapper.getSingleUser(userId); + } + + /** + * 查询用户 + * @param searchKeywords + * @return + */ + @Override + public List search(SearchKeyWords searchKeywords) { + return userMapper.search(searchKeywords); + } + + /** + * 查询数据总条目数 + * @param searchKeywords + * @return + */ + @Override + public int getTotalCount (SearchKeyWords searchKeywords) {return userMapper.getTotalCount(searchKeywords);} + + /** + * 删除用户 + * @param userId + * @return + */ + @Override + public int deleteUser(String userId) { + return userMapper.deleteUser(userId); + } + + } \ No newline at end of file diff --git a/infrastructure/repository/src/main/resources/sqlmapper/CategoryMapper.xml b/infrastructure/repository/src/main/resources/sqlmapper/CategoryMapper.xml new file mode 100644 index 0000000..86f06c8 --- /dev/null +++ b/infrastructure/repository/src/main/resources/sqlmapper/CategoryMapper.xml @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + + + + + + + + select category_type_id, parent_id, category_id, category_name, category_status, + creator, creator_name, gmt_create, modifier, modifier_name, gmt_modified, effect_flag + from ed_category + + + + + + \ No newline at end of file diff --git a/infrastructure/repository/src/main/resources/sqlmapper/TokenMapper.xml b/infrastructure/repository/src/main/resources/sqlmapper/TokenMapper.xml index 0ab10d0..6a3061f 100644 --- a/infrastructure/repository/src/main/resources/sqlmapper/TokenMapper.xml +++ b/infrastructure/repository/src/main/resources/sqlmapper/TokenMapper.xml @@ -10,6 +10,10 @@ + + select id, user_id, token, is_long_term, created_at, expire_at from tokens + + insert into tokens( user_id, @@ -26,4 +30,10 @@ #{expireAt} ) + + + \ No newline at end of file diff --git a/infrastructure/repository/src/main/resources/sqlmapper/UserMapper.xml b/infrastructure/repository/src/main/resources/sqlmapper/UserMapper.xml index 1780886..ccac3af 100644 --- a/infrastructure/repository/src/main/resources/sqlmapper/UserMapper.xml +++ b/infrastructure/repository/src/main/resources/sqlmapper/UserMapper.xml @@ -68,9 +68,134 @@ 1 ) + + update ed_users + + user_id = #{userId}, + user_name = #{userName}, + work_number = #{workNumber}, + mobile = #{mobile}, + user_dept = #{userDept}, + user_title = #{userTitle}, + join_time = #{joinTime}, + user_status = #{userStatus}, + internship_end_date = #{internshipEndDate}, + modifier = #{modifier}, + modifier_name = #{modifierName}, + + where id= #{id} + - + SELECT * + FROM ed_users + + + + (user_name LIKE CONCAT('%', #{keyWord}, '%') OR work_number LIKE CONCAT('%', #{keyWord}, '%')) + + + + + + + AND user_status = #{userStatus} + + + + + + + + + AND is_published = CAST(#{isPublished} AS INT) + + + + + + + + + ORDER BY gmt_create ${gmtCreate} + + + ORDER BY join_time ${joinTime} + + + ORDER BY internship_end_date ${internEndDate} + + + LIMIT #{pageSize} OFFSET #{pageIndex} + + + + + + + + + + update ed_users + set effect_flag=0 + where user_id = #{userId} + \ No newline at end of file diff --git a/service/src/main/java/com/electromagnetic/industry/software/data/manage/service/facade/user/CategoryFacadeImpl.java b/service/src/main/java/com/electromagnetic/industry/software/data/manage/service/facade/user/CategoryFacadeImpl.java new file mode 100644 index 0000000..cd38858 --- /dev/null +++ b/service/src/main/java/com/electromagnetic/industry/software/data/manage/service/facade/user/CategoryFacadeImpl.java @@ -0,0 +1,26 @@ +package com.electromagnetic.industry.software.data.manage.service.facade.user; + +import com.electromagnetic.industry.software.data.manage.domain.boardservice.category.model.Category; +import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.service.CategoryService; +import com.electromagnetic.industry.software.data.manage.facade.Category.CategoryFacade; +import electromagnetic.data.framework.share.model.ElectromagneticResult; +import electromagnetic.data.framework.share.model.ElectromagneticResultUtil; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.List; + +@Service +public class CategoryFacadeImpl implements CategoryFacade { + + @Resource + CategoryService categoryService; + + /** + * 构建树结构 + */ + public ElectromagneticResult categoryTree(){ + List list =categoryService.buildCategoryTree(); + return ElectromagneticResultUtil.success(list); + } +} 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 fe90f01..9e7efac 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,25 +1,33 @@ 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 com.electromagnetic.industry.software.data.manage.domain.boardservice.user.params.SearchKeyWords; 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 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.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.user.SingleUserResponse; +import com.electromagnetic.industry.software.data.manage.response.user.UserLoginResponse; +import com.electromagnetic.industry.software.data.manage.response.user.UserSearchResponse; import com.electromagnetic.industry.software.data.manage.service.mappers.UserMappers; +import com.github.pagehelper.PageInfo; import electromagnetic.data.framework.share.id.IdWorker; -import electromagnetic.data.framework.share.result.BaseResult; -import electromagnetic.data.framework.share.result.LoginResult; +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.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 javax.annotation.Resource; +import java.util.List; @Service public class UserFacadeImpl implements UserFacade { @@ -35,16 +43,19 @@ public class UserFacadeImpl implements UserFacade { * @return */ @Override - public LoginResult login(UserLoginRequest loginRequest) { + public ElectromagneticResult login(UserLoginRequest loginRequest) { UserLoginInfo info = UserMappers.INSTANCE.getUserLoginRequestToModel(loginRequest); String decodePwd = AESUtils.decrypt(info.getUserPwd(), UserConstant.SECRET_KEY); User user = userService.getUserByWorkNumber(info.getWorkNumber()); - if (user==null || userService.matchPassword(user, decodePwd)) { + if ( user!=null && userService.matchPassword(user, decodePwd)) { String tokenStr = tokenService.createToken(info); tokenService.createUserToken(user, tokenStr); - return LoginResultUtil.success(tokenStr); + UserLoginResponse userLoginResponse = new UserLoginResponse(); + userLoginResponse.setToken(tokenStr); + userLoginResponse.setUserId(user.getUserId()); + return ElectromagneticResultUtil.success(userLoginResponse); } - return LoginResultUtil.fail("500","用户不存在/密码错误"); + return ElectromagneticResultUtil.fail("500","用户不存在/密码错误"); } /** @@ -53,12 +64,109 @@ public class UserFacadeImpl implements UserFacade { * @return */ @Override - public BaseResult createUser(UserRequest userRequest){ + public ElectromagneticResult createUser(UserRequest userRequest){ 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); - return BaseResultUtil.success(userService.createUser(user)); + return ElectromagneticResultUtil.success(userService.createUser(user)); } + + /** + * 修改用户信息 + * @param userModiRequest + * @return + */ + @Override + public ElectromagneticResult modifyUser(UserModiRequest userModiRequest) { + // 将请求对象转换为模型对象 + User user = UserMappers.INSTANCE.getUserModiRequestToModel(userModiRequest); + //根据操作结果构建 BaseResult 对象并返回 + return ElectromagneticResultUtil.success(userService.modifyUser(user)); + } + + /** + * 发布用户信息 + * @param userPublishRequest + * @return + */ + @Override + public ElectromagneticResult publishUser(UserPublishRequest userPublishRequest){ + return ElectromagneticResultUtil.success(userService.publishUser(userPublishRequest.getUserIds())); + } + + /** + * 校验工号唯一性 + * + * @param userWorkNumRequest + * @return + */ + @Override + public ElectromagneticResult validateWorkNum(UserWorkNumRequest userWorkNumRequest) { + // 将请求对象转换为模型对象 + User user = UserMappers.INSTANCE.getUserWorkNumRequestToModel(userWorkNumRequest); + // 尝试根据工号获取用户 + User existingUser = userService.getUserByWorkNumber(user.getWorkNumber()); + // 根据是否存在具有相同工号的用户来确定工号的唯一性 + boolean isWorkNumberUnique = (existingUser == null); + return ElectromagneticResultUtil.success(Boolean.valueOf(isWorkNumberUnique)); + } + + /** + * 获取单条用户信息 + * @param getSingleUserRequest + * @return + */ + @Override + public ElectromagneticResult getSingleUser(GetSingleUserRequest getSingleUserRequest){ + User user = userService.getSingleUser(getSingleUserRequest.getUserId()); + SingleUserResponse singleUserResponse = UserMappers.INSTANCE.getSingleUserToResponse(user); + return ElectromagneticResultUtil.success(singleUserResponse); + } + + /** + * 查询用户信息 + * @param searchUserRequest + * @return + */ + @Override + public ElectromagneticResult searchUser(SearchUserRequest searchUserRequest){ + searchUserRequest.setPageIndex((searchUserRequest.getPageIndex()-1)*searchUserRequest.getPageSize()); + SearchKeyWords model = UserMappers.INSTANCE.getSearchKeywordsRequestToModel(searchUserRequest); + List userList = userService.searchUser(model); + int totalCount = userService.getTotalCount(model); + List singleUserResponseList = UserMappers.INSTANCE.userListToResponseList(userList); + UserSearchResponse userSearchResponse = new UserSearchResponse(); + userSearchResponse.setUserList(singleUserResponseList); + userSearchResponse.setTotalCount(totalCount); + return ElectromagneticResultUtil.success(userSearchResponse); + } + + /** + * 刪除用戶(逻辑删除) + * @param userDeleteRequest + * @return + */ + @Override + public ElectromagneticResult deleteUser(UserDeleteRequest userDeleteRequest) { + // 将请求对象转换为模型对象 + User user = UserMappers.INSTANCE.getUserDeleteRequestToModel(userDeleteRequest); + // 检查用户是否已经被逻辑删除 + User existingUser = userService.getSingleUser(user.getUserId()); + if(existingUser != null && existingUser.getEffectFlag()==0){ + // 如果用户已经被逻辑删除(在这个假设中,0 表示已删除),则不进行任何操作或返回错误 + return ElectromagneticResultUtil.fail(ElectromagneticErrorEnum. FINE_DELETE_USER_ERROR); + } + if(existingUser!=null && existingUser.getEffectFlag()==1){// 在这个假设中,1 表示未删除 + return ElectromagneticResultUtil.success(userService.deleteUser(user.getUserId())); + }else{ + // 如果用户不存在(理论上不应该发生,除非数据库状态不一致),则返回错误 + return ElectromagneticResultUtil.fail(ElectromagneticErrorEnum. FINE_DELETE_USER_ERROR); + + } + + } + + } 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 636e323..3393f1c 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 @@ -3,13 +3,19 @@ */ package com.electromagnetic.industry.software.data.manage.service.mappers; +import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.params.SearchKeyWords; import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.model.User; +import com.electromagnetic.industry.software.data.manage.request.user.UserModiRequest; +import com.electromagnetic.industry.software.data.manage.request.user.*; import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.model.UserLoginInfo; 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.user.SingleUserResponse; import org.mapstruct.Mapper; import org.mapstruct.factory.Mappers; +import java.util.List; + /** * 用户模型转换 * @author szt @@ -31,4 +37,48 @@ public interface UserMappers { * @return */ UserLoginInfo getUserLoginRequestToModel(UserLoginRequest loginRequest); + + /** + * 获取单条用户信息Request转用户模型 + * @param user + * @return + */ + SingleUserResponse getSingleUserToResponse(User user); + + /** + * 获取单条用户信息Request转用户模型 + * @param searchUserRequest + * @return + */ + SearchKeyWords getSearchKeywordsRequestToModel(SearchUserRequest searchUserRequest); + + /** + * 获取用户列表转response列表 + * @param users + * @return + */ + List userListToResponseList(List users); + + /** + * 编辑用户Request转用户模型 + * @param userModiRequest + * @return + */ + User getUserModiRequestToModel(UserModiRequest userModiRequest); + + /** + * 校验工号唯一性Request转用户模型 + * @param userWorkNumRequest + * @return + */ + User getUserWorkNumRequestToModel(UserWorkNumRequest userWorkNumRequest); + + /** + * 删除单条用户信息Request转用户模型 + * @param userDeleteRequest + * @return + */ + User getUserDeleteRequestToModel(UserDeleteRequest userDeleteRequest); + + } \ No newline at end of file