提交校验唯一性功能

This commit is contained in:
lizhanhao 2024-11-15 17:16:45 +08:00
parent f352d7226a
commit 6816544f36
7 changed files with 85 additions and 29 deletions

View File

@ -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);
}
}

View File

@ -40,4 +40,5 @@ public interface UserService {
* @return
*/
Boolean matchPassword(User user, String password);
}

View File

@ -63,6 +63,7 @@ public class UserServiceImpl implements UserService {
return user.getUserPwd().equals(encodePwd);
}
/**
* 用户发布
* @param user

View File

@ -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);
}

View File

@ -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;
}

View File

@ -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<Boolean> createUser(UserRequest userRequest){
public ElectromagneticResult<Boolean> 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<Boolean> modifyUser(UserModiRequest userModiRequest) {
public ElectromagneticResult<Boolean> 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<Boolean> publishUser(UserPublishRequest userPublishRequest){
public ElectromagneticResult<Boolean> 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));
}
}

View File

@ -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);
}