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 e9d1282..43057b6 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,11 +1,15 @@ 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.model.ElectromagneticResult; +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; @@ -32,14 +36,28 @@ public class UserController { 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 = "/{userId}", method = RequestMethod.GET) + public ElectromagneticResult getSingleUser(@PathVariable String userId) { + GetSingleUserRequest getSingleUserRequest = new GetSingleUserRequest(); + getSingleUserRequest.setUserId(userId); + 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/repository/UserRepository.java b/domain/src/main/java/com/electromagnetic/industry/software/data/manage/domain/boardservice/user/repository/UserRepository.java index e1f2771..cf5ced7 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,7 @@ package com.electromagnetic.industry.software.data.manage.domain.boardservice.user.repository; import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.model.User; +import java.util.List; public interface UserRepository { @@ -20,10 +21,10 @@ public interface UserRepository { /** * 用户发布 - * @param user + * @param userIds * @return */ - int publish(User user); + int publish(List userIds); /** * 通过工号查询用户 @@ -31,4 +32,11 @@ public interface UserRepository { * @return */ User selectUserByWorkNumber(String workNumber); + + /** + * 通过用户编码查询用户 + * @param userId + * @return + */ + User getSingleUser(String userId); } 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..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 @@ -3,6 +3,8 @@ package com.electromagnetic.industry.software.data.manage.domain.boardservice.us 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 { /** @@ -21,10 +23,10 @@ public interface UserService { /** * 用户发布 - * @param user + * @param userIds * @return */ - Boolean publishUser(User user); + Boolean publishUser(List userIds); /** * 通过工号查询用户 @@ -40,4 +42,12 @@ public interface UserService { * @return */ Boolean matchPassword(User user, String password); + + + /** + * 获取单条用户信息 + * @param userId + * @return + */ + User getSingleUser(String 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 59d017b..36992d4 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 @@ -9,7 +9,8 @@ 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 @@ -63,11 +64,20 @@ public class UserServiceImpl implements UserService { return user.getUserPwd().equals(encodePwd); } + /** * 用户发布 - * @param user + * @param userIds * @return */ @Override - public Boolean publishUser(User user) { return userRepository.publish(user)>0; } + public Boolean publishUser(List userIds) { return userRepository.publish(userIds)>0; } + + /** + * 获取单条用户信息 + * @param userId + * @return + */ + @Override + public User getSingleUser(String userId) { return userRepository.getSingleUser(userId); } } 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 b0de169..2975c83 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,10 +1,14 @@ 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.model.ElectromagneticResult; +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; @@ -29,7 +33,7 @@ public interface UserFacade { * @param userModiRequest * @return */ - BaseResult modifyUser(UserModiRequest userModiRequest); + ElectromagneticResult modifyUser(UserModiRequest userModiRequest); /** @@ -37,5 +41,19 @@ public interface UserFacade { * @param userPublishRequest * @return */ - BaseResult publishUser(UserPublishRequest userPublishRequest); + ElectromagneticResult publishUser(UserPublishRequest userPublishRequest); + + /** + * 校验工号唯一性 + * @param workNumberRequest + * @return + */ + ElectromagneticResult validateWorkNum(UserWorkNumRequest workNumberRequest); + + /** + * 通过用户编码获取单条用户信息 + * @param getSingleUserRequest + * @return + */ + ElectromagneticResult getSingleUser(GetSingleUserRequest getSingleUserRequest); } diff --git a/facade/src/main/java/com/electromagnetic/industry/software/data/manage/request/user/UserPublishRequest.java b/facade/src/main/java/com/electromagnetic/industry/software/data/manage/request/user/UserPublishRequest.java index 63c0496..77a182d 100644 --- a/facade/src/main/java/com/electromagnetic/industry/software/data/manage/request/user/UserPublishRequest.java +++ b/facade/src/main/java/com/electromagnetic/industry/software/data/manage/request/user/UserPublishRequest.java @@ -6,6 +6,7 @@ import lombok.Data; import java.io.Serializable; import java.util.Date; +import java.util.List; @Data @@ -16,10 +17,5 @@ public class UserPublishRequest extends BaseRequest implements Serializable { /** * 用户编码 */ - private String userId; - - /** - * 是否处于发布状态 - */ - private int isPublished; + 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/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 6e66bf9..ed74fed 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 @@ -3,6 +3,8 @@ package com.electromagnetic.industry.software.data.manage.repository.dao; 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 { /** @@ -21,10 +23,10 @@ public interface UserMapper { /** * 发布 - * @param user + * @param userIds * @return */ - int publish(User user); + int publish(List userIds); /** * 通过工号查询用户 @@ -32,4 +34,11 @@ public interface UserMapper { * @return */ User selectUserByWorkNumber(String workNumber); + + /** + * 通过用户编码查询用户 + * @param userId + * @return + */ + User getSingleUser(String userId); } \ No newline at end of file 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 620f496..0729eb2 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 @@ -8,6 +8,7 @@ import com.electromagnetic.industry.software.data.manage.domain.boardservice.use 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; @@ -41,12 +42,12 @@ public class UserRepositoryImpl implements UserRepository { /** * 用户发布 * - * @param user + * @param userIds * @return */ @Override - public int publish(User user) { - return userMapper.publish(user); + public int publish(List userIds) { + return userMapper.publish(userIds); } /** @@ -58,4 +59,14 @@ 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); + } } \ 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 0356ae6..4b32137 100644 --- a/infrastructure/repository/src/main/resources/sqlmapper/UserMapper.xml +++ b/infrastructure/repository/src/main/resources/sqlmapper/UserMapper.xml @@ -90,13 +90,21 @@ update ed_users - is_published = #{isPublished} + is_published = 1 - where user_id = #{userId} + where user_id IN + + #{userId} + + + \ No newline at end of file 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 bcb0066..3e593a8 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,15 +1,26 @@ package com.electromagnetic.industry.software.data.manage.service.facade.user; +import com.electromagnetic.industry.software.data.manage.domain.boardservice.indicator.model.IndicatorCard; +import com.electromagnetic.industry.software.data.manage.domain.boardservice.indicator.model.IndicatorCardDetial; +import com.electromagnetic.industry.software.data.manage.domain.boardservice.indicator.model.IndicatorCardPage; +import com.electromagnetic.industry.software.data.manage.domain.boardservice.indicator.parames.IndicatorCardParams; import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.model.User; import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.model.UserLoginInfo; 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.indicator.IndicatorCardRequest; +import com.electromagnetic.industry.software.data.manage.request.user.GetSingleUserRequest; import com.electromagnetic.industry.software.data.manage.request.user.UserModiRequest; import com.electromagnetic.industry.software.data.manage.request.user.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.indicator.IndicatorCardDetailReponse; +import com.electromagnetic.industry.software.data.manage.response.indicator.IndicatorCardPageResponse; +import com.electromagnetic.industry.software.data.manage.response.user.SingleUserResponse; +import com.electromagnetic.industry.software.data.manage.service.mappers.IndicatorCardMappers; import com.electromagnetic.industry.software.data.manage.service.mappers.UserMappers; import electromagnetic.data.framework.share.id.IdWorker; import electromagnetic.data.framework.share.model.ElectromagneticResult; @@ -22,8 +33,10 @@ 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 java.util.List; import javax.annotation.Resource; +import javax.swing.text.StyledEditorKit; @Service public class UserFacadeImpl implements UserFacade { @@ -72,14 +85,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)); } /** @@ -88,8 +101,53 @@ 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)); + public ElectromagneticResult publishUser(UserPublishRequest userPublishRequest){ + List userIds = userPublishRequest.getUserIds(); + return ElectromagneticResultUtil.success(userService.publishUser(userIds)); + } + + /** + * 获取单条用户信息 + * @param getSingleUserRequest + * @return + */ + @Override + public ElectromagneticResult getSingleUser(GetSingleUserRequest getSingleUserRequest){ + //String userId = getSingleUserRequest.getUserId(); + //response + //User user = new User(); + //user.setUserId(getSingleUserRequest.getUserId()); + User user = userService.getSingleUser(getSingleUserRequest.getUserId()); + SingleUserResponse singleUserResponse = UserMappers.INSTANCE.getSingleUserToResponse(user); + return ElectromagneticResultUtil.success(singleUserResponse); + } + +// @Override +// public ElectromagneticResult getIndicatorCardDetail(IndicatorCardRequest request) { +// IndicatorCard card=new IndicatorCard(); +// card.setIndicatorCardNo(request.getIndicatorCardNo()); +// IndicatorCardDetial indicatorCardDetial=indicatorCardService.getIndicatorCardDetail(card); +// IndicatorCardDetailReponse reponse=IndicatorCardMappers.INSTANCE.getIndicatorCardDetailToReponse(indicatorCardDetial); +// return ElectromagneticResultUtil.success(reponse); +// } } 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..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 @@ -4,11 +4,14 @@ 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.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; +import com.electromagnetic.industry.software.data.manage.response.user.SingleUserResponse; import org.mapstruct.Mapper; import org.mapstruct.factory.Mappers; @@ -29,24 +32,39 @@ public interface UserMappers { */ User getUserRequestToModel(UserRequest userRequest); - - /** - * 用户PublishRequest转用户模型 - * @param userPublishRequest - * @return - */ - User getUserPublishRequestToModel(UserPublishRequest userPublishRequest); /** * 用户登录Request转用户登录模型 * @param loginRequest * @return */ UserLoginInfo getUserLoginRequestToModel(UserLoginRequest loginRequest); + + /** - * 编辑用户Reduest转用户模型 + * 获取单条用户信息Request转用户模型 + * @param getSingleUserRequest + * @return + */ + User getSingleUserRequestToModel(GetSingleUserRequest getSingleUserRequest); + + /** + * 获取单条用户信息Request转用户模型 + * @param user + * @return + */ + SingleUserResponse getSingleUserToResponse(User user); + /** + * 编辑用户Request转用户模型 * @param userModiRequest * @return */ User getUserModiRequestToModel(UserModiRequest userModiRequest); + /** + * 校验工号唯一性Request转用户模型 + * @param userWorkNumRequest + * @return + */ + User getUserWorkNumRequestToModel(UserWorkNumRequest userWorkNumRequest); + } \ No newline at end of file