@ -38,6 +38,7 @@ import com.baiye.modules.platform.domain.*;
import com.baiye.modules.platform.repository.* ;
import com.baiye.modules.platform.repository.* ;
import com.baiye.modules.platform.service.* ;
import com.baiye.modules.platform.service.* ;
import com.baiye.modules.platform.service.dto.* ;
import com.baiye.modules.platform.service.dto.* ;
import com.baiye.modules.report.service.QueryReportService ;
import com.baiye.modules.system.mapstruct.UserMapper ;
import com.baiye.modules.system.mapstruct.UserMapper ;
import com.baiye.modules.system.domain.Role ;
import com.baiye.modules.system.domain.Role ;
import com.baiye.modules.system.domain.User ;
import com.baiye.modules.system.domain.User ;
@ -45,6 +46,7 @@ import com.baiye.modules.system.dto.UserQueryCriteria;
import com.baiye.modules.system.repository.RoleRepository ;
import com.baiye.modules.system.repository.RoleRepository ;
import com.baiye.modules.system.repository.UserRepository ;
import com.baiye.modules.system.repository.UserRepository ;
import com.baiye.modules.system.service.UserService ;
import com.baiye.modules.system.service.UserService ;
import com.baiye.modules.telemarkting.service.ExtensionNumberService ;
import com.baiye.util.* ;
import com.baiye.util.* ;
import com.google.common.collect.ImmutableMap ;
import com.google.common.collect.ImmutableMap ;
import lombok.RequiredArgsConstructor ;
import lombok.RequiredArgsConstructor ;
@ -111,7 +113,10 @@ public class UserServiceImpl implements UserService {
private final CallDeductService callDeductService ;
private final CallDeductService callDeductService ;
private final LabelOrganizeService labelOrganizeService ;
private final LabelOrganizeService labelOrganizeService ;
private final ExtensionNumberService extensionNumberService ;
private final QueryReportService queryReportService ;
private final TaskImeiService taskImeiService ;
private final TaskTagRepository taskTagRepository ;
@Override
@Override
@Transactional ( rollbackFor = Exception . class )
@Transactional ( rollbackFor = Exception . class )
public Boolean fileCreateUser ( List < UserFavorOfExcel > excels , Long companyId , UserDto userDto ) {
public Boolean fileCreateUser ( List < UserFavorOfExcel > excels , Long companyId , UserDto userDto ) {
@ -550,7 +555,6 @@ public class UserServiceImpl implements UserService {
public void delete2 ( DelUserDTO delUserDTO ) {
public void delete2 ( DelUserDTO delUserDTO ) {
Long userId = delUserDTO . getUserId ( ) ;
Long userId = delUserDTO . getUserId ( ) ;
Long replaceUserId = delUserDTO . getReplaceUserId ( ) ;
Long replaceUserId = delUserDTO . getReplaceUserId ( ) ;
Boolean isDel = delUserDTO . getIsDel ( ) ;
UserDto user = findById ( userId ) ;
UserDto user = findById ( userId ) ;
Set < Long > roleIds = user . getRoles ( ) . stream ( ) . map ( RoleSmallDto : : getId ) . collect ( Collectors . toSet ( ) ) ;
Set < Long > roleIds = user . getRoles ( ) . stream ( ) . map ( RoleSmallDto : : getId ) . collect ( Collectors . toSet ( ) ) ;
Set < Long > replaceRoleIds = new HashSet < > ( ) ;
Set < Long > replaceRoleIds = new HashSet < > ( ) ;
@ -587,6 +591,13 @@ public class UserServiceImpl implements UserService {
if ( response . getStatusCode ( ) . value ( ) ! = DefaultNumberConstants . TWO_HUNDRED )
if ( response . getStatusCode ( ) . value ( ) ! = DefaultNumberConstants . TWO_HUNDRED )
throw new BadRequestException ( "删除失败" ) ;
throw new BadRequestException ( "删除失败" ) ;
//TODO 删除逻辑待补充?
//TODO 删除逻辑待补充?
//11、删除分机号
extensionNumberService . deleteExtensionNumberByCompany ( user . getCompanyId ( ) ) ;
//12、删除统计信息
queryReportService . deleteReport ( user . getCompanyId ( ) ) ;
//13.删除imei和tag
taskImeiService . deleteTaskImei ( taskIds ) ;
taskTagRepository . deleteByTaskIds ( taskIds ) ;
return ;
return ;
} else if ( roleIds . contains ( RoleNumberConstants . MINUS_NINE_NUMBER ) ) {
} else if ( roleIds . contains ( RoleNumberConstants . MINUS_NINE_NUMBER ) ) {
// 二: 删除或者替换组长
// 二: 删除或者替换组长
@ -595,25 +606,22 @@ public class UserServiceImpl implements UserService {
throw new BadRequestException ( "请选择组长角色的用户" ) ;
throw new BadRequestException ( "请选择组长角色的用户" ) ;
organizeUserRepository . updateUser ( userId , replaceUserId ) ;
organizeUserRepository . updateUser ( userId , replaceUserId ) ;
organizeUserRepository . updateCreateBy ( replaceUserId , userId ) ;
organizeUserRepository . updateCreateBy ( replaceUserId , userId ) ;
this . sourceDel ( isDel, userId, replaceUserId ) ;
this . sourceDel ( userId, replaceUserId ) ;
} else if ( roleIds . contains ( RoleNumberConstants . MINUS_FIVE_NUMBER ) ) {
} else if ( roleIds . contains ( RoleNumberConstants . MINUS_FIVE_NUMBER ) ) {
// 三: 删除或者替换业务员
// 三: 删除或者替换业务员
if ( isDel ) organizeUserRepository . deleteByUserId ( userId ) ;
if ( replaceUserId = = null ) organizeUserRepository . deleteByUserId ( userId ) ;
else {
else organizeUserRepository . updateUser ( userId , replaceUserId ) ;
if ( replaceUserId = = null ) throw new BadRequestException ( "请选择替换人员" ) ;
this . sourceDel ( userId , replaceUserId ) ;
if ( CollUtil . isNotEmpty ( replaceRoleIds ) & & ! roleIds . contains ( RoleNumberConstants . MINUS_FIVE_NUMBER ) )
throw new BadRequestException ( "请选择业务管理员角色的用户" ) ;
organizeUserRepository . updateUser ( userId , replaceUserId ) ;
}
this . sourceDel ( isDel , userId , replaceUserId ) ;
}
}
//分机号
extensionNumberService . updateExtensionNumber ( userId , replaceUserId ) ;
// 清理缓存
// 清理缓存
delCaches ( userId , user . getUsername ( ) ) ;
delCaches ( userId , user . getUsername ( ) ) ;
userRepository . deleteById ( userId ) ;
userRepository . deleteById ( userId ) ;
}
}
private void sourceDel ( Boolean isDel , Long userId , Long replaceUserId ) {
private void sourceDel ( Long userId , Long replaceUserId ) {
if ( isDe l) {
if ( replaceUserId = = nul l) {
ResponseEntity < Map < Long , Integer > > response = sourceClueClient . delClueByUser ( userId ) ;
ResponseEntity < Map < Long , Integer > > response = sourceClueClient . delClueByUser ( userId ) ;
if ( response . getStatusCode ( ) . value ( ) ! = 200 ) throw new BadRequestException ( "删除失败" ) ;
if ( response . getStatusCode ( ) . value ( ) ! = 200 ) throw new BadRequestException ( "删除失败" ) ;
//更新任务资源数量
//更新任务资源数量