解决冲突-1

This commit is contained in:
s2042968 2024-11-15 17:31:21 +08:00
commit f89cec142c
12 changed files with 223 additions and 37 deletions

View File

@ -1,11 +1,15 @@
package com.electromagnetic.industry.software.data.manage.controller.user; 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.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.UserModiRequest;
import com.electromagnetic.industry.software.data.manage.request.user.UserPublishRequest; 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.UserLoginRequest;
import com.electromagnetic.industry.software.data.manage.request.user.UserRequest; 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 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.BaseResult;
import electromagnetic.data.framework.share.result.LoginResult; import electromagnetic.data.framework.share.result.LoginResult;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
@ -32,14 +36,28 @@ public class UserController {
return userFacade.createUser(userRequest); return userFacade.createUser(userRequest);
} }
@ApiOperation(value="编辑用户信息",notes = "") @ApiOperation(value="编辑用户信息",notes = "")
@PutMapping @PutMapping
public BaseResult<?> editUser(@RequestBody UserModiRequest userModiRequest){ return userFacade.modifyUser(userModiRequest);} public ElectromagneticResult<?> editUser(@RequestBody UserModiRequest userModiRequest){ return userFacade.modifyUser(userModiRequest);}
@ApiOperation(value = "发布用户信息", notes = "") @ApiOperation(value = "发布用户信息", notes = "")
@RequestMapping(value = "/publish", method = RequestMethod.POST) @RequestMapping(value = "/publish", method = RequestMethod.POST)
public BaseResult<?> publishUser(@RequestBody UserPublishRequest userPublishRequest) { public ElectromagneticResult<?> publishUser(@RequestBody UserPublishRequest userPublishRequest) {
return userFacade.publishUser(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);
}
} }

View File

@ -1,6 +1,7 @@
package com.electromagnetic.industry.software.data.manage.domain.boardservice.user.repository; package com.electromagnetic.industry.software.data.manage.domain.boardservice.user.repository;
import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.model.User; import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.model.User;
import java.util.List;
public interface UserRepository { public interface UserRepository {
@ -20,10 +21,10 @@ public interface UserRepository {
/** /**
* 用户发布 * 用户发布
* @param user * @param userIds
* @return * @return
*/ */
int publish(User user); int publish(List<String> userIds);
/** /**
* 通过工号查询用户 * 通过工号查询用户
@ -31,4 +32,11 @@ public interface UserRepository {
* @return * @return
*/ */
User selectUserByWorkNumber(String workNumber); User selectUserByWorkNumber(String workNumber);
/**
* 通过用户编码查询用户
* @param userId
* @return
*/
User getSingleUser(String userId);
} }

View File

@ -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.User;
import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.model.UserLoginInfo; import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.model.UserLoginInfo;
import java.util.List;
public interface UserService { public interface UserService {
/** /**
@ -21,10 +23,10 @@ public interface UserService {
/** /**
* 用户发布 * 用户发布
* @param user * @param userIds
* @return * @return
*/ */
Boolean publishUser(User user); Boolean publishUser(List<String> userIds);
/** /**
* 通过工号查询用户 * 通过工号查询用户
@ -40,4 +42,12 @@ public interface UserService {
* @return * @return
*/ */
Boolean matchPassword(User user, String password); Boolean matchPassword(User user, String password);
/**
* 获取单条用户信息
* @param userId
* @return
*/
User getSingleUser(String userId);
} }

View File

@ -9,7 +9,8 @@ import electromagnetic.data.framework.share.util.SignUtils;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.List;
import java.lang.String;
import javax.annotation.Resource; import javax.annotation.Resource;
@Service @Service
@ -63,11 +64,20 @@ public class UserServiceImpl implements UserService {
return user.getUserPwd().equals(encodePwd); return user.getUserPwd().equals(encodePwd);
} }
/** /**
* 用户发布 * 用户发布
* @param user * @param userIds
* @return * @return
*/ */
@Override @Override
public Boolean publishUser(User user) { return userRepository.publish(user)>0; } public Boolean publishUser(List<String> userIds) { return userRepository.publish(userIds)>0; }
/**
* 获取单条用户信息
* @param userId
* @return
*/
@Override
public User getSingleUser(String userId) { return userRepository.getSingleUser(userId); }
} }

View File

@ -1,10 +1,14 @@
package com.electromagnetic.industry.software.data.manage.facade.user; 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.UserModiRequest;
import com.electromagnetic.industry.software.data.manage.request.user.UserPublishRequest; 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.UserLoginRequest;
import com.electromagnetic.industry.software.data.manage.request.user.UserRequest; 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 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.BaseResult;
import electromagnetic.data.framework.share.result.LoginResult; import electromagnetic.data.framework.share.result.LoginResult;
@ -29,7 +33,7 @@ public interface UserFacade {
* @param userModiRequest * @param userModiRequest
* @return * @return
*/ */
BaseResult<?> modifyUser(UserModiRequest userModiRequest); ElectromagneticResult<?> modifyUser(UserModiRequest userModiRequest);
/** /**
@ -37,5 +41,19 @@ public interface UserFacade {
* @param userPublishRequest * @param userPublishRequest
* @return * @return
*/ */
BaseResult<?> publishUser(UserPublishRequest userPublishRequest); ElectromagneticResult<?> publishUser(UserPublishRequest userPublishRequest);
/**
* 校验工号唯一性
* @param workNumberRequest
* @return
*/
ElectromagneticResult<?> validateWorkNum(UserWorkNumRequest workNumberRequest);
/**
* 通过用户编码获取单条用户信息
* @param getSingleUserRequest
* @return
*/
ElectromagneticResult<?> getSingleUser(GetSingleUserRequest getSingleUserRequest);
} }

View File

@ -6,6 +6,7 @@ import lombok.Data;
import java.io.Serializable; import java.io.Serializable;
import java.util.Date; import java.util.Date;
import java.util.List;
@Data @Data
@ -16,10 +17,5 @@ public class UserPublishRequest extends BaseRequest implements Serializable {
/** /**
* 用户编码 * 用户编码
*/ */
private String userId; private List<String> userIds;
/**
* 是否处于发布状态
*/
private int isPublished;
} }

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

@ -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 com.electromagnetic.industry.software.data.manage.domain.boardservice.user.model.User;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import java.util.List;
@Mapper @Mapper
public interface UserMapper { public interface UserMapper {
/** /**
@ -21,10 +23,10 @@ public interface UserMapper {
/** /**
* 发布 * 发布
* @param user * @param userIds
* @return * @return
*/ */
int publish(User user); int publish(List<String> userIds);
/** /**
* 通过工号查询用户 * 通过工号查询用户
@ -32,4 +34,11 @@ public interface UserMapper {
* @return * @return
*/ */
User selectUserByWorkNumber(String workNumber); User selectUserByWorkNumber(String workNumber);
/**
* 通过用户编码查询用户
* @param userId
* @return
*/
User getSingleUser(String userId);
} }

View File

@ -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.domain.boardservice.user.repository.UserRepository;
import com.electromagnetic.industry.software.data.manage.repository.dao.UserMapper; import com.electromagnetic.industry.software.data.manage.repository.dao.UserMapper;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
import java.util.List;
import javax.annotation.Resource; import javax.annotation.Resource;
@ -41,12 +42,12 @@ public class UserRepositoryImpl implements UserRepository {
/** /**
* 用户发布 * 用户发布
* *
* @param user * @param userIds
* @return * @return
*/ */
@Override @Override
public int publish(User user) { public int publish(List<String> userIds) {
return userMapper.publish(user); return userMapper.publish(userIds);
} }
/** /**
@ -58,4 +59,14 @@ public class UserRepositoryImpl implements UserRepository {
public User selectUserByWorkNumber(String workNumber) { public User selectUserByWorkNumber(String workNumber) {
return userMapper.selectUserByWorkNumber(workNumber); return userMapper.selectUserByWorkNumber(workNumber);
} }
/**
* 通过工号查询用户
* @param userId
* @return
*/
@Override
public User getSingleUser(String userId) {
return userMapper.getSingleUser(userId);
}
} }

View File

@ -90,13 +90,21 @@
<update id="publish" parameterType="com.electromagnetic.industry.software.data.manage.domain.boardservice.user.model.User"> <update id="publish" parameterType="com.electromagnetic.industry.software.data.manage.domain.boardservice.user.model.User">
update ed_users update ed_users
<trim prefix="SET" suffixOverrides=","> <trim prefix="SET" suffixOverrides=",">
<if test="isPublished != null">is_published = #{isPublished}</if> is_published = 1
</trim> </trim>
where user_id = #{userId} where user_id IN
<foreach collection="userIds" item="userId" open="(" separator="," close=")">
#{userId}
</foreach>
</update> </update>
<select id="selectUserByWorkNumber" parameterType="String" resultMap="UserResultMap"> <select id="selectUserByWorkNumber" parameterType="String" resultMap="UserResultMap">
<include refid="selectUserVo" /> <include refid="selectUserVo" />
where work_number = #{workNumber} where work_number = #{workNumber}
</select> </select>
<select id="getSingleUser" parameterType="String" resultMap="UserResultMap">
<include refid="selectUserVo" />
where user_id = #{userId}
</select>
</mapper> </mapper>

View File

@ -1,15 +1,26 @@
package com.electromagnetic.industry.software.data.manage.service.facade.user; 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.User;
import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.model.UserLoginInfo; 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.TokenService;
import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.service.UserService; 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.domain.boardservice.user.util.UserConstant;
import com.electromagnetic.industry.software.data.manage.facade.user.UserFacade; 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.UserModiRequest;
import com.electromagnetic.industry.software.data.manage.request.user.UserPublishRequest; 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.UserLoginRequest;
import com.electromagnetic.industry.software.data.manage.request.user.UserRequest; 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 com.electromagnetic.industry.software.data.manage.service.mappers.UserMappers;
import electromagnetic.data.framework.share.id.IdWorker; import electromagnetic.data.framework.share.id.IdWorker;
import electromagnetic.data.framework.share.model.ElectromagneticResult; 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 electromagnetic.data.framework.share.util.SignUtils;
import org.apache.commons.lang3.RandomStringUtils; import org.apache.commons.lang3.RandomStringUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.List;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.swing.text.StyledEditorKit;
@Service @Service
public class UserFacadeImpl implements UserFacade { public class UserFacadeImpl implements UserFacade {
@ -72,14 +85,14 @@ public class UserFacadeImpl implements UserFacade {
* @return * @return
*/ */
@Override @Override
public BaseResult<Boolean> modifyUser(UserModiRequest userModiRequest) { public ElectromagneticResult<Boolean> modifyUser(UserModiRequest userModiRequest) {
// 将请求对象转换为模型对象 // 将请求对象转换为模型对象
User user = UserMappers.INSTANCE.getUserModiRequestToModel(userModiRequest); User user = UserMappers.INSTANCE.getUserModiRequestToModel(userModiRequest);
// 调用 UserService 的修改用户方法 // 调用 UserService 的修改用户方法
Boolean success = userService.modifyUser(user); Boolean success = userService.modifyUser(user);
//根据操作结果构建 BaseResult 对象并返回 //根据操作结果构建 BaseResult 对象并返回
return BaseResultUtil.success(userService.modifyUser(user)); return ElectromagneticResultUtil.success(userService.modifyUser(user));
} }
/** /**
@ -88,8 +101,53 @@ public class UserFacadeImpl implements UserFacade {
* @return * @return
*/ */
@Override @Override
public BaseResult<Boolean> publishUser(UserPublishRequest userPublishRequest){ public ElectromagneticResult<Boolean> publishUser(UserPublishRequest userPublishRequest){
User user = UserMappers.INSTANCE.getUserPublishRequestToModel(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<Boolean> publishUser(UserPublishRequest userPublishRequest){
List<String> userIds = userPublishRequest.getUserIds();
return ElectromagneticResultUtil.success(userService.publishUser(userIds));
}
/**
* 获取单条用户信息
* @param getSingleUserRequest
* @return
*/
@Override
public ElectromagneticResult<SingleUserResponse> 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<IndicatorCardDetailReponse> 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);
// }
} }

View File

@ -4,11 +4,14 @@
package com.electromagnetic.industry.software.data.manage.service.mappers; 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.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.UserModiRequest;
import com.electromagnetic.industry.software.data.manage.request.user.UserPublishRequest; 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.domain.boardservice.user.model.UserLoginInfo;
import com.electromagnetic.industry.software.data.manage.request.user.UserLoginRequest; 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.UserRequest;
import com.electromagnetic.industry.software.data.manage.response.user.SingleUserResponse;
import org.mapstruct.Mapper; import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers; import org.mapstruct.factory.Mappers;
@ -29,24 +32,39 @@ public interface UserMappers {
*/ */
User getUserRequestToModel(UserRequest userRequest); User getUserRequestToModel(UserRequest userRequest);
/**
* 用户PublishRequest转用户模型
* @param userPublishRequest
* @return
*/
User getUserPublishRequestToModel(UserPublishRequest userPublishRequest);
/** /**
* 用户登录Request转用户登录模型 * 用户登录Request转用户登录模型
* @param loginRequest * @param loginRequest
* @return * @return
*/ */
UserLoginInfo getUserLoginRequestToModel(UserLoginRequest loginRequest); UserLoginInfo getUserLoginRequestToModel(UserLoginRequest loginRequest);
/** /**
* 编辑用户Reduest转用户模型 * 获取单条用户信息Request转用户模型
* @param getSingleUserRequest
* @return
*/
User getSingleUserRequestToModel(GetSingleUserRequest getSingleUserRequest);
/**
* 获取单条用户信息Request转用户模型
* @param user
* @return
*/
SingleUserResponse getSingleUserToResponse(User user);
/**
* 编辑用户Request转用户模型
* @param userModiRequest * @param userModiRequest
* @return * @return
*/ */
User getUserModiRequestToModel(UserModiRequest userModiRequest); User getUserModiRequestToModel(UserModiRequest userModiRequest);
/**
* 校验工号唯一性Request转用户模型
* @param userWorkNumRequest
* @return
*/
User getUserWorkNumRequestToModel(UserWorkNumRequest userWorkNumRequest);
} }