# Conflicts:
#	ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/system/service/impl/UserServiceImpl.java
master
bynt 2 years ago
commit 9cee5584f5

@ -10,6 +10,7 @@ import org.springframework.stereotype.Repository;
import java.util.Date;
import java.util.List;
import java.util.Set;
/**
* @author jt
@ -18,6 +19,7 @@ import java.util.List;
public interface TaskImeiRepository extends JpaRepository<TaskImei, Long>, JpaSpecificationExecutor<TaskImei> {
/**
* id
*
* @param taskId
* @return
*/
@ -25,6 +27,7 @@ public interface TaskImeiRepository extends JpaRepository<TaskImei, Long>, JpaSp
/**
*
*
* @param num
* @return
*/
@ -59,6 +62,7 @@ public interface TaskImeiRepository extends JpaRepository<TaskImei, Long>, JpaSp
/**
*
*
* @param userId
* @param num
* @return
@ -66,4 +70,13 @@ public interface TaskImeiRepository extends JpaRepository<TaskImei, Long>, JpaSp
@Query(value = "select count(1) from tb_task_imei where" +
" to_days(create_time) = to_days(now()) and user_id = ?1 and status = ?2", nativeQuery = true)
Integer countByUserId(Long userId, Integer num);
/**
* imei
*
* @param taskIds id
*/
@Modifying
@Query(value = "delete from tb_task_imei where task_id in ?1", nativeQuery = true)
void deleteByTaskIds(Set<Long> taskIds);
}

@ -3,9 +3,12 @@ package com.baiye.modules.platform.repository;
import com.baiye.modules.platform.domain.TaskTag;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Modifying;
import org.springframework.data.jpa.repository.Query;
import org.springframework.stereotype.Repository;
import java.util.List;
import java.util.Set;
/**
* @author jt
@ -22,8 +25,18 @@ public interface TaskTagRepository extends JpaRepository<TaskTag, Long>, JpaSpec
/**
* idtag
*
* @param taskId
* @return
*/
TaskTag findTaskTagByTaskId(Long taskId);
/**
* imei
*
* @param taskIds id
*/
@Modifying
@Query(value = "delete from tb_task_tag where task_id in ?1", nativeQuery = true)
void deleteByTaskIds(Set<Long> taskIds);
}

@ -4,6 +4,7 @@ import com.baiye.modules.platform.domain.TaskImei;
import com.baiye.modules.platform.service.dto.PlatformTransmitDTO;
import java.util.List;
import java.util.Set;
/**
* @author Enzo
@ -60,4 +61,10 @@ public interface TaskImeiService {
* @return
*/
Integer countByUserIdAndDate(Long userId, Integer num);
/**
* Imei()
* @param taskIds
*/
void deleteTaskImei(Set<Long> taskIds);
}

@ -16,6 +16,7 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
import java.util.Set;
/**
* @author Enzo
@ -87,5 +88,10 @@ public class TaskImeiServiceImpl implements TaskImeiService {
return taskImeiRepository.countByUserId(userId, num);
}
@Override
public void deleteTaskImei(Set<Long> taskIds) {
taskImeiRepository.deleteByTaskIds(taskIds);
}
}

@ -3,6 +3,7 @@ package com.baiye.modules.report.dao;
import com.baiye.modules.report.entity.TaskReport;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Modifying;
import org.springframework.data.jpa.repository.Query;
import org.springframework.stereotype.Repository;
@ -36,4 +37,7 @@ public interface TaskReportRepository extends JpaRepository<TaskReport, Long>, J
*/
@Query(value = "select * from tb_report_task where (create_time between ?1 and ?2) and company_id =?3", nativeQuery = true)
List<TaskReport> queryAllByTimeAndCompanyId(String beginTime, String endTime, Long companyId);
@Modifying
void deleteByCompanyId(Long companyId);
}

@ -3,6 +3,7 @@ package com.baiye.modules.report.dao;
import com.baiye.modules.report.entity.UserReport;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Modifying;
import org.springframework.data.jpa.repository.Query;
import org.springframework.stereotype.Repository;
@ -36,4 +37,7 @@ public interface UserReportRepository extends JpaRepository<UserReport, Long>, J
*/
@Query(value = "select * from tb_report_user where (create_time between ?1 and ?2) and (coalesce (?3,null) is null or organize_id in (?3))", nativeQuery = true)
List<UserReport> queryAllByTimeAndTeamIds(String beginTime, String endTime, List<Long> ids);
@Modifying
void deleteByCompanyId(Long companyId);
}

@ -108,7 +108,12 @@ public interface QueryReportService {
*/
void downloadCallRecordDetails(HttpServletResponse response, Long clueId);
Map<Long, Map<String, Object>> findMemberIdByOrganizeIds(List<Long> organizeIds);
/**
*
*
* @param companyId
*/
void deleteReport(Long companyId);
}

@ -50,6 +50,7 @@ import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.cache.annotation.Cacheable;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.servlet.http.HttpServletResponse;
import java.util.*;
@ -922,4 +923,11 @@ public class QueryReportServiceImpl implements QueryReportService {
}
return map;
}
@Override
@Transactional(rollbackFor = Exception.class)
public void deleteReport(Long companyId) {
taskReportRepository.deleteByCompanyId(companyId);
userReportRepository.deleteByCompanyId(companyId);
}
}

@ -37,6 +37,9 @@ import com.baiye.model.enums.ResponseCode;
import com.baiye.modules.platform.domain.*;
import com.baiye.modules.platform.repository.*;
import com.baiye.modules.platform.service.*;
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.platform.service.dto.BuyComboDTO;
import com.baiye.modules.platform.service.dto.CompanyDto;
import com.baiye.modules.platform.service.dto.CreateUserDTO;
@ -48,17 +51,20 @@ import com.baiye.modules.system.mapstruct.UserMapper;
import com.baiye.modules.system.repository.RoleRepository;
import com.baiye.modules.system.repository.UserRepository;
import com.baiye.modules.system.service.UserService;
import com.baiye.modules.telemarkting.service.ExtensionNumberService;
import com.baiye.util.*;
import com.google.common.collect.ImmutableMap;
import com.google.common.collect.Sets;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.cache.Cache;
import org.springframework.cache.annotation.CacheConfig;
import org.springframework.cache.annotation.CacheEvict;
import org.springframework.cache.annotation.Cacheable;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.security.crypto.password.PasswordEncoder;
import org.springframework.stereotype.Service;
@ -125,6 +131,12 @@ public class UserServiceImpl implements UserService {
private final CallDeductService callDeductService;
private final LabelOrganizeService labelOrganizeService;
private final ExtensionNumberService extensionNumberService;
private final QueryReportService queryReportService;
private final TaskImeiService taskImeiService;
private final TaskTagRepository taskTagRepository;
@Override
@Transactional(rollbackFor = Exception.class)
public Boolean fileCreateUser(List<UserFavorOfExcel> excels, Long companyId, UserDto userDto) {
@ -599,6 +611,13 @@ public class UserServiceImpl implements UserService {
// 踢出用户
this.remoteAuthService.delete(Sets.newHashSet(userIds));
//TODO 删除逻辑待补充?
//11、删除分机号
extensionNumberService.deleteExtensionNumberByCompany(user.getCompanyId());
//12、删除统计信息
queryReportService.deleteReport(user.getCompanyId());
//13.删除imei和tag
taskImeiService.deleteTaskImei(taskIds);
taskTagRepository.deleteByTaskIds(taskIds);
return;
} else if (roleIds.contains(RoleNumberConstants.MINUS_NINE_NUMBER)) {
// 二: 删除或者替换组长
@ -607,18 +626,15 @@ public class UserServiceImpl implements UserService {
throw new BadRequestException("请选择组长角色的用户");
organizeUserRepository.updateUser(userId, replaceUserId);
organizeUserRepository.updateCreateBy(replaceUserId, userId);
this.sourceDel(isDel, userId, replaceUserId);
this.sourceDel(userId, replaceUserId);
} else if (roleIds.contains(RoleNumberConstants.MINUS_FIVE_NUMBER)) {
// 三: 删除或者替换业务员
if (isDel) organizeUserRepository.deleteByUserId(userId);
else {
if (replaceUserId == null) throw new BadRequestException("请选择替换人员");
if (CollUtil.isNotEmpty(replaceRoleIds) && !roleIds.contains(RoleNumberConstants.MINUS_FIVE_NUMBER))
throw new BadRequestException("请选择业务管理员角色的用户");
organizeUserRepository.updateUser(userId, replaceUserId);
}
this.sourceDel(isDel, userId, replaceUserId);
if (replaceUserId == null) organizeUserRepository.deleteByUserId(userId);
else organizeUserRepository.updateUser(userId, replaceUserId);
this.sourceDel(userId, replaceUserId);
}
//分机号
extensionNumberService.updateExtensionNumber(userId, replaceUserId);
// 清理缓存
delCaches(userId, user.getUsername());
// 踢出用户
@ -626,8 +642,8 @@ public class UserServiceImpl implements UserService {
userRepository.deleteById(userId);
}
private void sourceDel(Boolean isDel, Long userId, Long replaceUserId) {
if (isDel) {
private void sourceDel(Long userId, Long replaceUserId) {
if (replaceUserId == null) {
ResponseEntity<Map<Long, Integer>> response = sourceClueClient.delClueByUser(userId);
if (response.getStatusCode().value() != 200) throw new BadRequestException("删除失败");
//更新任务资源数量

@ -3,6 +3,7 @@ package com.baiye.modules.telemarkting.dao;
import com.baiye.modules.telemarkting.entity.ExtensionDisplay;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Modifying;
import org.springframework.stereotype.Repository;
@Repository
@ -15,4 +16,11 @@ public interface ExtensionDisplayRepository extends JpaRepository<ExtensionDispl
* @return
*/
ExtensionDisplay findExtensionDisplayByCompanyId(Long companyId);
/**
*
* @param companyId
*/
@Modifying
void deleteByCompanyId(Long companyId);
}

@ -18,6 +18,7 @@ public interface ExtensionNumberRepository extends JpaRepository<ExtensionNumber
/**
* id
*
* @param status
* @param companyId id
* @return
@ -27,6 +28,7 @@ public interface ExtensionNumberRepository extends JpaRepository<ExtensionNumber
/**
*
*
* @param status
* @param id
*/
@ -36,6 +38,7 @@ public interface ExtensionNumberRepository extends JpaRepository<ExtensionNumber
/**
*
*
* @param memberId
* @return
*/
@ -57,4 +60,8 @@ public interface ExtensionNumberRepository extends JpaRepository<ExtensionNumber
@Modifying
@Query(value = "delete from ExtensionNumber where companyId = ?1")
int deleteByCompanyId(Long companyId);
@Modifying
@Query(value = "update tb_extension_number c set c.status =?1 where c.number = (select number from tb_extension_user where member_id =?2", nativeQuery = true)
int updateExtensionNumber(Integer status, Long userId);
}

@ -33,7 +33,26 @@ public interface ExtensionUserRepository extends JpaRepository<ExtensionUser, Lo
@Query(value = "delete from tb_extension_user where member_id in ?1", nativeQuery = true)
int deleteByMemberId(List<Long> userIds);
/**
* id
*
* @param userId
* @return
*/
@Modifying
@Query(value = "delete from tb_extension_user where member_id = ?1", nativeQuery = true)
int deleteByMemberId(Long userId);
@Modifying
@Query(value = "update ExtensionUser c set c.memberId =?2 where c.memberId = ?1")
void updateByNumber(Long userId, Long replaceUserId);
/**
*
*
* @param companyId
*/
@Modifying
@Query(value = "delete from tb_extension_user where number in (select number from tb_extension_number where company_id = ?1)", nativeQuery = true)
void deleteByCompanyId(Long companyId);
}

@ -39,4 +39,19 @@ public interface ExtensionNumberService {
* @return
*/
ExtensionDisplay queryExtensionDisplay(Long companyId);
/**
*
*
* @param companyId id
*/
void deleteExtensionNumberByCompany(Long companyId);
/**
*
*
* @param userId id
* @param replaceUserId id
*/
void updateExtensionNumber( Long userId, Long replaceUserId);
}

@ -159,4 +159,28 @@ public class ExtensionNumberServiceImpl implements ExtensionNumberService {
public ExtensionDisplay queryExtensionDisplay(Long companyId) {
return extensionDisplayRepository.findExtensionDisplayByCompanyId(companyId);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void deleteExtensionNumberByCompany(Long companyId) {
extensionUserRepository.deleteByCompanyId(companyId);
extensionNumberRepository.deleteByCompanyId(companyId);
extensionDisplayRepository.deleteByCompanyId(companyId);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void updateExtensionNumber(Long userId, Long replaceUserId) {
if (replaceUserId == null) {
//删除组员
extensionNumberRepository.updateExtensionNumber(0, userId);
extensionUserRepository.deleteByMemberId(userId);
} else {
extensionUserRepository.updateByNumber(userId, replaceUserId);
int i = extensionNumberRepository.updateExtensionNumber(0, replaceUserId);
if (i > 0) {
extensionUserRepository.deleteByMemberId(replaceUserId);
}
}
}
}

@ -11,7 +11,4 @@ public class DelUserDTO {
@ApiModelProperty("替换人用户ID")
private Long replaceUserId;
@ApiModelProperty("是否删除资源")
private Boolean isDel;
}

@ -1,13 +1,14 @@
package com.baiye.module.dao;
import com.baiye.module.entity.ClueMiddle;
import com.baiye.module.entity.ReportToker;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Modifying;
import org.springframework.data.jpa.repository.Query;
import org.springframework.stereotype.Repository;
import java.util.List;
import java.util.Set;
/**
* @author jt
@ -36,4 +37,8 @@ public interface ReportTokerRepository extends JpaRepository<ReportToker, Long>,
*/
@Query(value = "select * from tb_report_toker where (create_time between ?1 and ?2) and member_id in ?3", nativeQuery = true)
List<ReportToker> queryAllByTimeAndMemberIds(String beginTime, String endTime, List<Long> memberIds);
@Modifying
@Query(value = "delete from tb_report_toker where task_id in ?1", nativeQuery = true)
void deleteTokerReport(Set<Long> taskIds);
}

@ -66,7 +66,7 @@ public class ClueServiceImpl implements ClueService {
private final CompanyService companyService;
private final TurnCrmLogRepository turnCrmLogRepository;
private final ReportTokerRepository reportTokerRepository;
private final ClueBackupsTask clueBackupsTask;
private static final SimpleDateFormat timeOne = new SimpleDateFormat("yyyyMMddHHmmssSSS");
@ -509,6 +509,9 @@ public class ClueServiceImpl implements ClueService {
clueFailRecordRepository.deleteAllByRecordIdIn(clueRecordId);
//5、删除拓客或者DMP资源数据
clueTalkRepository.deleteByTaskIdIn(taskIds);
//6、删除拓客投流的统计
reportTokerRepository.deleteTokerReport(taskIds);
//7.
}
return true;
}

Loading…
Cancel
Save