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 fce74d2..c889ca2 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,10 +1,8 @@ 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.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.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; @@ -27,16 +25,23 @@ 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 BaseResult publishUser(@RequestBody UserPublishRequest userPublishRequest) { + public ElectromagneticResult publishUser(@RequestBody UserPublishRequest userPublishRequest) { return userFacade.publishUser(userPublishRequest); } + + @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 0aa0415..a16ab8b 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 @@ -40,4 +40,5 @@ public interface UserService { * @return */ Boolean matchPassword(User user, String password); + } 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 fe5847f..e82e563 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 @@ -63,6 +63,7 @@ public class UserServiceImpl implements UserService { return user.getUserPwd().equals(encodePwd); } + /** * 用户发布 * @param user 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 84201a0..449ca2a 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,7 @@ package com.electromagnetic.industry.software.data.manage.facade.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.request.user.*; +import electromagnetic.data.framework.share.model.ElectromagneticResult; import electromagnetic.data.framework.share.result.BaseResult; import electromagnetic.data.framework.share.result.LoginResult; @@ -21,14 +19,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); /** @@ -36,5 +34,12 @@ public interface UserFacade { * @param userPublishRequest * @return */ - BaseResult publishUser(UserPublishRequest userPublishRequest); + ElectromagneticResult publishUser(UserPublishRequest userPublishRequest); + + /** + * 校验工号唯一性 + * @param workNumberRequest + * @return + */ + ElectromagneticResult validateWorkNum(UserWorkNumRequest workNumberRequest); } 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 2a7dd00..9e4e8fc 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 @@ -6,12 +6,11 @@ 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.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.request.user.*; import com.electromagnetic.industry.software.data.manage.service.mappers.UserMappers; import electromagnetic.data.framework.share.id.IdWorker; +import electromagnetic.data.framework.share.model.ElectromagneticResult; +import electromagnetic.data.framework.share.model.ElectromagneticResultUtil; import electromagnetic.data.framework.share.result.BaseResult; import electromagnetic.data.framework.share.result.LoginResult; import electromagnetic.data.framework.share.sign.AESUtils; @@ -22,6 +21,7 @@ import org.apache.commons.lang3.RandomStringUtils; import org.springframework.stereotype.Service; import javax.annotation.Resource; +import javax.swing.text.StyledEditorKit; @Service public class UserFacadeImpl implements UserFacade { @@ -55,13 +55,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)); } /** @@ -70,14 +71,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)); } /** @@ -86,8 +87,25 @@ public class UserFacadeImpl implements UserFacade { * @return */ @Override - public BaseResult publishUser(UserPublishRequest userPublishRequest){ + public ElectromagneticResult publishUser(UserPublishRequest userPublishRequest){ User user = UserMappers.INSTANCE.getUserPublishRequestToModel(userPublishRequest); - return BaseResultUtil.success(userService.publishUser(user)); + 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)); } } 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 0f2d500..5c892e3 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,11 +4,8 @@ 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.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; import org.mapstruct.Mapper; import org.mapstruct.factory.Mappers; @@ -43,10 +40,17 @@ public interface UserMappers { */ UserLoginInfo getUserLoginRequestToModel(UserLoginRequest loginRequest); /** - * 编辑用户Reduest转用户模型 + * 编辑用户Request转用户模型 * @param userModiRequest * @return */ User getUserModiRequestToModel(UserModiRequest userModiRequest); + /** + * 校验工号唯一性Request转用户模型 + * @param userWorkNumRequest + * @return + */ + User getUserWorkNumRequestToModel(UserWorkNumRequest userWorkNumRequest); + } \ No newline at end of file