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 812cef4..4b0d656 100644 --- a/bootstrap/src/main/java/com/electromagnetic/industry/software/data/manage/controller/user/UserController.java +++ b/bootstrap/src/main/java/com/electromagnetic/industry/software/data/manage/controller/user/UserController.java @@ -7,6 +7,8 @@ import com.electromagnetic.industry.software.data.manage.request.user.UserPublis import com.electromagnetic.industry.software.data.manage.request.user.UserLoginRequest; import com.electromagnetic.industry.software.data.manage.request.user.UserRequest; import electromagnetic.data.framework.share.model.ElectromagneticResult; +import com.electromagnetic.industry.software.data.manage.request.user.*; +import electromagnetic.data.framework.share.model.ElectromagneticResult; import electromagnetic.data.framework.share.result.BaseResult; import electromagnetic.data.framework.share.result.LoginResult; import io.swagger.annotations.ApiOperation; @@ -29,13 +31,14 @@ public class UserController { @ApiOperation(value = "新增用户信息", notes = "") @PostMapping - public BaseResult createUser(@RequestBody UserRequest userRequest) { + public ElectromagneticResult createUser(@RequestBody UserRequest userRequest) { return userFacade.createUser(userRequest); } @ApiOperation(value="编辑用户信息",notes = "") @PutMapping - public BaseResult editUser(@RequestBody UserModiRequest userModiRequest){ return userFacade.modifyUser(userModiRequest);} + public ElectromagneticResult editUser(@RequestBody UserModiRequest userModiRequest){ return userFacade.modifyUser(userModiRequest);} + @ApiOperation(value = "发布用户信息", notes = "") @RequestMapping(value = "/publish", method = RequestMethod.POST) public ElectromagneticResult publishUser(@RequestBody UserPublishRequest userPublishRequest) { @@ -50,4 +53,10 @@ public class UserController { return userFacade.getSingleUser(getSingleUserRequest); } + + @ApiOperation(value = "校验工号唯一性", notes = "") + @RequestMapping(value = "/validate", method = RequestMethod.POST) + public ElectromagneticResult validateWorkNum(@RequestBody UserWorkNumRequest userWorkNumRequest) { + return userFacade.validateWorkNum(userWorkNumRequest); + } } 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 f9c4754..8cd8245 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 @@ -43,6 +43,7 @@ public interface UserService { */ Boolean matchPassword(User user, String password); + /** * 获取单条用户信息 * @param userId 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 2a78977..e421a2e 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 @@ -64,6 +64,7 @@ public class UserServiceImpl implements UserService { return user.getUserPwd().equals(encodePwd); } + /** * 用户发布 * @param userIds 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 ebe71a8..e5b33df 100644 --- a/facade/src/main/java/com/electromagnetic/industry/software/data/manage/facade/user/UserFacade.java +++ b/facade/src/main/java/com/electromagnetic/industry/software/data/manage/facade/user/UserFacade.java @@ -6,6 +6,8 @@ import com.electromagnetic.industry.software.data.manage.request.user.UserPublis import com.electromagnetic.industry.software.data.manage.request.user.UserLoginRequest; import com.electromagnetic.industry.software.data.manage.request.user.UserRequest; import electromagnetic.data.framework.share.model.ElectromagneticResult; +import com.electromagnetic.industry.software.data.manage.request.user.*; +import electromagnetic.data.framework.share.model.ElectromagneticResult; import electromagnetic.data.framework.share.result.BaseResult; import electromagnetic.data.framework.share.result.LoginResult; @@ -23,14 +25,14 @@ public interface UserFacade { * @param userRequest * @return */ - BaseResult createUser(UserRequest userRequest); + ElectromagneticResult createUser(UserRequest userRequest); /** * 编辑用户信息 * @param userModiRequest * @return */ - BaseResult modifyUser(UserModiRequest userModiRequest); + ElectromagneticResult modifyUser(UserModiRequest userModiRequest); /** @@ -40,6 +42,13 @@ public interface UserFacade { */ ElectromagneticResult publishUser(UserPublishRequest userPublishRequest); + /** + * 校验工号唯一性 + * @param workNumberRequest + * @return + */ + ElectromagneticResult validateWorkNum(UserWorkNumRequest workNumberRequest); + /** * 通过用户编码获取单条用户信息 * @param getSingleUserRequest 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/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 ab1d8cf..8306db9 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 @@ -10,6 +10,7 @@ import com.electromagnetic.industry.software.data.manage.domain.boardservice.use 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.indicator.IndicatorCardRequest; import com.electromagnetic.industry.software.data.manage.request.user.GetSingleUserRequest; import com.electromagnetic.industry.software.data.manage.request.user.UserModiRequest; @@ -35,6 +36,7 @@ import org.springframework.stereotype.Service; import java.util.List; import javax.annotation.Resource; +import javax.swing.text.StyledEditorKit; @Service public class UserFacadeImpl implements UserFacade { @@ -68,13 +70,14 @@ 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 BaseResultUtil.success(userService.createUser(user)); + return ElectromagneticResultUtil.success(userService.createUser(user)); } /** @@ -83,14 +86,14 @@ public class UserFacadeImpl implements UserFacade { * @return */ @Override - public BaseResult modifyUser(UserModiRequest userModiRequest) { + public ElectromagneticResult modifyUser(UserModiRequest userModiRequest) { // 将请求对象转换为模型对象 User user = UserMappers.INSTANCE.getUserModiRequestToModel(userModiRequest); // 调用 UserService 的修改用户方法 Boolean success = userService.modifyUser(user); //根据操作结果构建 BaseResult 对象并返回 - return BaseResultUtil.success(userService.modifyUser(user)); + return ElectromagneticResultUtil.success(userService.modifyUser(user)); } /** @@ -99,6 +102,26 @@ public class UserFacadeImpl implements UserFacade { * @return */ @Override + public ElectromagneticResult publishUser(UserPublishRequest userPublishRequest){ + User user = UserMappers.INSTANCE.getUserPublishRequestToModel(userPublishRequest); + return ElectromagneticResultUtil.success(userService.publishUser(user)); + } + + /** + * 校验工号唯一性 + * + * @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)); public ElectromagneticResult publishUser(UserPublishRequest userPublishRequest){ List userIds = userPublishRequest.getUserIds(); return ElectromagneticResultUtil.success(userService.publishUser(userIds)); 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 f6c3d9b..307226a 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 @@ -7,6 +7,7 @@ import com.electromagnetic.industry.software.data.manage.domain.boardservice.use 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.*; 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; @@ -53,10 +54,17 @@ public interface UserMappers { */ SingleUserResponse getSingleUserToResponse(User user); /** - * 编辑用户Reduest转用户模型 + * 编辑用户Request转用户模型 * @param userModiRequest * @return */ User getUserModiRequestToModel(UserModiRequest userModiRequest); + /** + * 校验工号唯一性Request转用户模型 + * @param userWorkNumRequest + * @return + */ + User getUserWorkNumRequestToModel(UserWorkNumRequest userWorkNumRequest); + } \ No newline at end of file