Merge remote-tracking branch 'origin/develop_comac' into develop_comac

# Conflicts:
#	domain/src/main/java/com/electromagnetic/industry/software/data/manage/domain/boardservice/user/service/UserService.java
#	domain/src/main/java/com/electromagnetic/industry/software/data/manage/domain/boardservice/user/service/impl/UserServiceImpl.java
#	infrastructure/repository/src/main/java/com/electromagnetic/industry/software/data/manage/repository/dao/UserMapper.java
#	service/target/generated-sources/annotations/com/electromagnetic/industry/software/data/manage/service/mappers/UserMappersImpl.java
This commit is contained in:
石璞臻 2024-11-20 10:49:18 +08:00
commit 18dab91f3b
13 changed files with 135 additions and 11 deletions

View File

@ -9,6 +9,7 @@ import com.electromagnetic.industry.software.data.manage.request.user.UserReques
import electromagnetic.data.framework.share.model.ElectromagneticResult; import electromagnetic.data.framework.share.model.ElectromagneticResult;
import com.electromagnetic.industry.software.data.manage.request.user.*; import com.electromagnetic.industry.software.data.manage.request.user.*;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import jdk.internal.org.objectweb.asm.tree.analysis.Value;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource; import javax.annotation.Resource;
@ -34,7 +35,7 @@ public class UserController {
@ApiOperation(value="编辑用户信息",notes = "") @ApiOperation(value="编辑用户信息",notes = "")
@PutMapping("/updateUser") @PutMapping("/updateUser")
public ElectromagneticResult<?> editUser(@RequestBody UserModiRequest userModiRequest){ return userFacade.modifyUser(userModiRequest);} public ElectromagneticResult<?> updateUser(@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)
@ -60,4 +61,10 @@ public class UserController {
public ElectromagneticResult<?> validateWorkNum(@RequestBody UserWorkNumRequest userWorkNumRequest) { public ElectromagneticResult<?> validateWorkNum(@RequestBody UserWorkNumRequest userWorkNumRequest) {
return userFacade.validateWorkNum(userWorkNumRequest); return userFacade.validateWorkNum(userWorkNumRequest);
} }
@ApiOperation(value="删除用户信息",notes="")
@GetMapping(value = "/deleteUser")
public ElectromagneticResult<?> deleteUser(@RequestBody UserDeleteRequest userDeleteRequest) {
return userFacade.deleteUser(userDeleteRequest);
}
} }

View File

@ -48,5 +48,11 @@ public interface UserRepository {
*/ */
List<User> search(SearchKeyWords searchKeywords); List<User> search(SearchKeyWords searchKeywords);
/**
* 删除用户
* @param userId
* @return
*/
int deleteUser(String userId);
} }

View File

@ -57,4 +57,11 @@ public interface UserService {
* @return * @return
*/ */
List<User> searchUser(SearchKeyWords searchKeyWords); List<User> searchUser(SearchKeyWords searchKeyWords);
/**
* 根据userId逻辑删除用户
* @param userId
* @return
*/
Boolean deleteUser(String userId);
} }

View File

@ -87,5 +87,17 @@ public class UserServiceImpl implements UserService {
* @return * @return
*/ */
@Override @Override
public List<User> searchUser(SearchKeywords searchKeywords) { return userRepository.search(searchKeywords); }
/**
* 根据userId逻辑删除用户
*
* @param userId
* @return
*/
@Override
public Boolean deleteUser(String userId) {
return userRepository.deleteUser(userId)>0;
}
public List<User> searchUser(SearchKeyWords searchKeywords) { return userRepository.search(searchKeywords); } public List<User> searchUser(SearchKeyWords searchKeywords) { return userRepository.search(searchKeywords); }
} }

View File

@ -65,12 +65,12 @@ public enum ElectromagneticErrorEnum implements ErrorEnum {
REPORT_OFF_DESC_NULL(ErrorLevels.ERROR, ErrorTypes.BIZ, "53034", "REPORT_URL_ERROR", "下架原因不能为空"), REPORT_OFF_DESC_NULL(ErrorLevels.ERROR, ErrorTypes.BIZ, "53034", "REPORT_URL_ERROR", "下架原因不能为空"),
REPORT_CANCEL_OFF_DESC_NULL(ErrorLevels.ERROR, ErrorTypes.BIZ, "53035", "REPORT_URL_ERROR", "取消下架原因不能为空"), REPORT_CANCEL_OFF_DESC_NULL(ErrorLevels.ERROR, ErrorTypes.BIZ, "53035", "REPORT_URL_ERROR", "取消下架原因不能为空"),
DEPT_EXIST_REPORT(ErrorLevels.ERROR, ErrorTypes.BIZ, "53036", "DEPT_EXIST_REPORT", "部门下已挂在数据"), DEPT_EXIST_REPORT(ErrorLevels.ERROR, ErrorTypes.BIZ, "53036", "DEPT_EXIST_REPORT", "部门下已挂在数据"),
FINE_CREATE_USER_ERROR(ErrorLevels.ERROR, ErrorTypes.BIZ, "53037", "FINE_CREATE_USER_ERROR", "帆软创建用户失败"), FINE_CREATE_USER_ERROR(ErrorLevels.ERROR, ErrorTypes.BIZ, "53037", "FINE_CREATE_USER_ERROR", "创建用户失败"),
FINE_CONNECT_LIST_ERROR(ErrorLevels.ERROR, ErrorTypes.BIZ, "53038", "FINE_CONNECT_LIST_ERROR", "获取finebi数据库连接列表错误"), FINE_CONNECT_LIST_ERROR(ErrorLevels.ERROR, ErrorTypes.BIZ, "53038", "FINE_CONNECT_LIST_ERROR", "获取finebi数据库连接列表错误"),
FINE_CONNECT_TABLE_ERROR(ErrorLevels.ERROR, ErrorTypes.BIZ, "53039", "FINE_CONNECT_TABLE_ERROR", "获取finebi数据库对应表列表错误"), FINE_CONNECT_TABLE_ERROR(ErrorLevels.ERROR, ErrorTypes.BIZ, "53039", "FINE_CONNECT_TABLE_ERROR", "获取finebi数据库对应表列表错误"),
FINE_ADD_GROUP_ERROR(ErrorLevels.ERROR, ErrorTypes.BIZ, "53040", "FINE_ADD_GROUP_ERROR", "添加分组报错"), FINE_ADD_GROUP_ERROR(ErrorLevels.ERROR, ErrorTypes.BIZ, "53040", "FINE_ADD_GROUP_ERROR", "添加分组报错"),
FINE_ADD_PACK_ERROR(ErrorLevels.ERROR, ErrorTypes.BIZ, "53041", "FINE_ADD_PACK_ERROR", "添加业务包报错"), FINE_ADD_PACK_ERROR(ErrorLevels.ERROR, ErrorTypes.BIZ, "53041", "FINE_ADD_PACK_ERROR", "添加业务包报错"),
FINE_DELETE_USER_ERROR(ErrorLevels.ERROR, ErrorTypes.BIZ, "53042", "FINE_DELETE_USER_ERROR", "帆软删除用户失败"), FINE_DELETE_USER_ERROR(ErrorLevels.ERROR, ErrorTypes.BIZ, "53042", "FINE_DELETE_USER_ERROR", "删除用户失败"),
FINE_ADD_DB_ERROR(ErrorLevels.ERROR, ErrorTypes.BIZ, "53043", "FINE_ADD_DB_ERROR", "数据集已存在,请不要重复添加"), FINE_ADD_DB_ERROR(ErrorLevels.ERROR, ErrorTypes.BIZ, "53043", "FINE_ADD_DB_ERROR", "数据集已存在,请不要重复添加"),
FINE_GET_TABLE_INFO_ERROR(ErrorLevels.ERROR, ErrorTypes.BIZ, "53044", "FINE_GET_TABLE_INFO_ERROR", "数据集表信息错误"), FINE_GET_TABLE_INFO_ERROR(ErrorLevels.ERROR, ErrorTypes.BIZ, "53044", "FINE_GET_TABLE_INFO_ERROR", "数据集表信息错误"),
LABEL_OBJNAME_IS_CHINESE(ErrorLevels.ERROR, ErrorTypes.BIZ, "53045", "LABEL_OSS_ANALYSIS_FAIL", "名称不能包含特殊字符(下划线,横杠,加号 除外)"), LABEL_OBJNAME_IS_CHINESE(ErrorLevels.ERROR, ErrorTypes.BIZ, "53045", "LABEL_OSS_ANALYSIS_FAIL", "名称不能包含特殊字符(下划线,横杠,加号 除外)"),

View File

@ -59,4 +59,11 @@ public interface UserFacade {
* @return * @return
*/ */
ElectromagneticResult<?> searchUser(SearchUserRequest searchUserRequest); ElectromagneticResult<?> searchUser(SearchUserRequest searchUserRequest);
/**
* 刪除用戶逻辑删除
* @param userDeleteRequest
* @return
*/
ElectromagneticResult<?> deleteUser(UserDeleteRequest userDeleteRequest);
} }

View File

@ -0,0 +1,20 @@
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 UserDeleteRequest extends BaseRequest implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 用户编码
*/
private String userId;
}

View File

@ -49,4 +49,11 @@ public interface UserMapper {
* @return * @return
*/ */
List<User> search(SearchKeyWords searchKeywords); List<User> search(SearchKeyWords searchKeywords);
/**
* 通过用户ID删除用户
* @param userId
* @return
*/
int deleteUser(String userId);
} }

View File

@ -80,4 +80,16 @@ public class UserRepositoryImpl implements UserRepository {
public List<User> search(SearchKeyWords searchKeywords) { public List<User> search(SearchKeyWords searchKeywords) {
return userMapper.search(searchKeywords); return userMapper.search(searchKeywords);
} }
/**
* 删除用户
* @param userId
* @return
*/
@Override
public int deleteUser(String userId) {
return userMapper.deleteUser(userId);
}
} }

View File

@ -150,4 +150,10 @@
<include refid="selectUserVo" /> <include refid="selectUserVo" />
where user_id = #{userId} where user_id = #{userId}
</select> </select>
<update id="deleteUser" parameterType="String">
update ed_users
set effect_flag=0
where user_id = #{userId}
</update>
</mapper> </mapper>

View File

@ -1,25 +1,19 @@
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.Indicator; import com.electromagnetic.industry.software.data.manage.common.ElectromagneticErrorEnum;
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.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.indicator.IndicatorCardRequest;
import com.electromagnetic.industry.software.data.manage.request.user.*; import com.electromagnetic.industry.software.data.manage.request.user.*;
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.IndicatorResponse;
import com.electromagnetic.industry.software.data.manage.response.user.SingleUserResponse; import com.electromagnetic.industry.software.data.manage.response.user.SingleUserResponse;
import com.electromagnetic.industry.software.data.manage.response.user.UserSearchResponse; import com.electromagnetic.industry.software.data.manage.response.user.UserSearchResponse;
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;
@ -30,7 +24,6 @@ import org.apache.commons.lang3.RandomStringUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List; import java.util.List;
@Service @Service
@ -140,6 +133,30 @@ public class UserFacadeImpl implements UserFacade {
return ElectromagneticResultUtil.success(userSearchResponse); return ElectromagneticResultUtil.success(userSearchResponse);
} }
/**
* 刪除用戶逻辑删除
* @param userDeleteRequest
* @return
*/
@Override
public ElectromagneticResult<?> deleteUser(UserDeleteRequest userDeleteRequest) {
// 将请求对象转换为模型对象
User user = UserMappers.INSTANCE.getUserDeleteRequestToModel(userDeleteRequest);
// 检查用户是否已经被逻辑删除
User existingUser = userService.getSingleUser(user.getUserId());
if(existingUser != null && existingUser.getEffectFlag()==0){
// 如果用户已经被逻辑删除在这个假设中0 表示已删除则不进行任何操作或返回错误
return ElectromagneticResultUtil.fail(ElectromagneticErrorEnum. FINE_DELETE_USER_ERROR);
}
if(existingUser!=null && existingUser.getEffectFlag()==1){// 在这个假设中1 表示未删除
return ElectromagneticResultUtil.success(userService.deleteUser(user.getUserId()));
}else{
// 如果用户不存在理论上不应该发生除非数据库状态不一致则返回错误
return ElectromagneticResultUtil.fail(ElectromagneticErrorEnum. FINE_DELETE_USER_ERROR);
}
}
} }

View File

@ -73,4 +73,12 @@ public interface UserMappers {
*/ */
User getUserWorkNumRequestToModel(UserWorkNumRequest userWorkNumRequest); User getUserWorkNumRequestToModel(UserWorkNumRequest userWorkNumRequest);
/**
* 删除单条用户信息Request转用户模型
* @param userDeleteRequest
* @return
*/
User getUserDeleteRequestToModel(UserDeleteRequest userDeleteRequest);
} }

View File

@ -4,6 +4,7 @@ import com.electromagnetic.industry.software.data.manage.domain.boardservice.use
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.params.SearchKeyWords; import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.params.SearchKeyWords;
import com.electromagnetic.industry.software.data.manage.request.user.SearchUserRequest; import com.electromagnetic.industry.software.data.manage.request.user.SearchUserRequest;
import com.electromagnetic.industry.software.data.manage.request.user.UserDeleteRequest;
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.UserModiRequest; import com.electromagnetic.industry.software.data.manage.request.user.UserModiRequest;
import com.electromagnetic.industry.software.data.manage.request.user.UserRequest; import com.electromagnetic.industry.software.data.manage.request.user.UserRequest;
@ -158,4 +159,18 @@ public class UserMappersImpl implements UserMappers {
return user; return user;
} }
@Override
public User getUserDeleteRequestToModel(UserDeleteRequest userDeleteRequest) {
if ( userDeleteRequest == null ) {
return null;
}
User user = new User();
user.setUserId( userDeleteRequest.getUserId() );
user.setUserName( userDeleteRequest.getUserName() );
return user;
}
} }