|
|
@ -43,8 +43,7 @@ import java.util.stream.Collectors;
|
|
|
|
|
|
|
|
|
|
|
|
@Service
|
|
|
|
@Service
|
|
|
|
@RequiredArgsConstructor
|
|
|
|
@RequiredArgsConstructor
|
|
|
|
public class DistributeTaskServiceImpl extends ExtendServiceImpl<DistributeTaskMapper, DistributeTaskEntity>
|
|
|
|
public class DistributeTaskServiceImpl extends ExtendServiceImpl<DistributeTaskMapper, DistributeTaskEntity> implements DistributeTaskService {
|
|
|
|
implements DistributeTaskService {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private final DistributeTaskUserMapper distributeTaskUserMapper;
|
|
|
|
private final DistributeTaskUserMapper distributeTaskUserMapper;
|
|
|
|
|
|
|
|
|
|
|
@ -103,9 +102,7 @@ public class DistributeTaskServiceImpl extends ExtendServiceImpl<DistributeTaskM
|
|
|
|
|
|
|
|
|
|
|
|
if (CollUtil.isNotEmpty(userList)) {
|
|
|
|
if (CollUtil.isNotEmpty(userList)) {
|
|
|
|
// 验证数据
|
|
|
|
// 验证数据
|
|
|
|
List<Long> userIdList = userList.stream()
|
|
|
|
List<Long> userIdList = userList.stream().map(DistributeTaskUserDTO::getUserId).collect(Collectors.toList());
|
|
|
|
.map(DistributeTaskUserDTO::getUserId)
|
|
|
|
|
|
|
|
.collect(Collectors.toList());
|
|
|
|
|
|
|
|
this.inspectUserTask(userIdList);
|
|
|
|
this.inspectUserTask(userIdList);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
this.verifyData(distributeTaskDTO);
|
|
|
|
this.verifyData(distributeTaskDTO);
|
|
|
@ -144,7 +141,7 @@ public class DistributeTaskServiceImpl extends ExtendServiceImpl<DistributeTaskM
|
|
|
|
// 修改任务用户关系映射
|
|
|
|
// 修改任务用户关系映射
|
|
|
|
if (CollUtil.isNotEmpty(distributeTaskDTO.getUsers())) {
|
|
|
|
if (CollUtil.isNotEmpty(distributeTaskDTO.getUsers())) {
|
|
|
|
distributeTaskUserMapper.delete(new LambdaQueryWrapper<DistributeTaskUserEntity>()
|
|
|
|
distributeTaskUserMapper.delete(new LambdaQueryWrapper<DistributeTaskUserEntity>()
|
|
|
|
.eq(DistributeTaskUserEntity::getDistributeTaskId, distributeTaskId));
|
|
|
|
.eq(DistributeTaskUserEntity::getDistributeTaskId, distributeTaskId));
|
|
|
|
this.insertUser(distributeTaskDTO.getUsers(), taskEntity.getDistributeTaskId());
|
|
|
|
this.insertUser(distributeTaskDTO.getUsers(), taskEntity.getDistributeTaskId());
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
@ -159,15 +156,13 @@ public class DistributeTaskServiceImpl extends ExtendServiceImpl<DistributeTaskM
|
|
|
|
DistributeTaskEntity entity = baseMapper.selectById(taskId);
|
|
|
|
DistributeTaskEntity entity = baseMapper.selectById(taskId);
|
|
|
|
if (entity.getExecuteStatus() == 0) {
|
|
|
|
if (entity.getExecuteStatus() == 0) {
|
|
|
|
String fileRecordId = entity.getFileRecordId();
|
|
|
|
String fileRecordId = entity.getFileRecordId();
|
|
|
|
List<Long> recordIdList = Arrays.stream(fileRecordId.split(","))
|
|
|
|
List<Long> recordIdList = Arrays.stream(fileRecordId.split(",")).map(Long::parseLong).collect(Collectors.toList());
|
|
|
|
.map(Long::parseLong)
|
|
|
|
|
|
|
|
.collect(Collectors.toList());
|
|
|
|
|
|
|
|
clueRecordMapper.updateDistributeStatus(recordIdList, 0);
|
|
|
|
clueRecordMapper.updateDistributeStatus(recordIdList, 0);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
// 删除
|
|
|
|
// 删除
|
|
|
|
int taskBool = baseMapper.deleteById(taskId);
|
|
|
|
int taskBool = baseMapper.deleteById(taskId);
|
|
|
|
int userBool = distributeTaskUserMapper.delete(new LambdaQueryWrapper<DistributeTaskUserEntity>()
|
|
|
|
int userBool = distributeTaskUserMapper.delete(new LambdaQueryWrapper<DistributeTaskUserEntity>()
|
|
|
|
.eq(DistributeTaskUserEntity::getDistributeTaskId, taskId));
|
|
|
|
.eq(DistributeTaskUserEntity::getDistributeTaskId, taskId));
|
|
|
|
// 删除定时任务
|
|
|
|
// 删除定时任务
|
|
|
|
jobService.removeJob(PrefixKeyConstant.JOB_KEY + taskId);
|
|
|
|
jobService.removeJob(PrefixKeyConstant.JOB_KEY + taskId);
|
|
|
|
return taskBool > 0 && userBool > 0;
|
|
|
|
return taskBool > 0 && userBool > 0;
|
|
|
@ -177,10 +172,8 @@ public class DistributeTaskServiceImpl extends ExtendServiceImpl<DistributeTaskM
|
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
|
public Boolean executeTask(Long taskId) {
|
|
|
|
public Boolean executeTask(Long taskId) {
|
|
|
|
DistributeTaskEntity taskEntity = baseMapper.selectById(taskId);
|
|
|
|
DistributeTaskEntity taskEntity = baseMapper.selectById(taskId);
|
|
|
|
|
|
|
|
|
|
|
|
DistributeTaskEntity updateEntity = new DistributeTaskEntity();
|
|
|
|
DistributeTaskEntity updateEntity = new DistributeTaskEntity();
|
|
|
|
updateEntity.setDistributeTaskId(taskId);
|
|
|
|
updateEntity.setDistributeTaskId(taskId);
|
|
|
|
|
|
|
|
|
|
|
|
if (taskEntity != null) {
|
|
|
|
if (taskEntity != null) {
|
|
|
|
// 执行手动任务(立即执行分发)
|
|
|
|
// 执行手动任务(立即执行分发)
|
|
|
|
Integer timeStatus = taskEntity.getTimeStatus();
|
|
|
|
Integer timeStatus = taskEntity.getTimeStatus();
|
|
|
@ -193,8 +186,7 @@ public class DistributeTaskServiceImpl extends ExtendServiceImpl<DistributeTaskM
|
|
|
|
Job jobDetail = jobService.getJobDetail(PrefixKeyConstant.JOB_KEY + taskId);
|
|
|
|
Job jobDetail = jobService.getJobDetail(PrefixKeyConstant.JOB_KEY + taskId);
|
|
|
|
if (jobDetail != null && jobDetail.getJobName() != null) {
|
|
|
|
if (jobDetail != null && jobDetail.getJobName() != null) {
|
|
|
|
jobService.resumeJob(PrefixKeyConstant.JOB_KEY + taskId);// 开启定时任务
|
|
|
|
jobService.resumeJob(PrefixKeyConstant.JOB_KEY + taskId);// 开启定时任务
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
else {
|
|
|
|
|
|
|
|
this.addJob(taskId, taskEntity.getStartTime(), true);// 添加定时任务
|
|
|
|
this.addJob(taskId, taskEntity.getStartTime(), true);// 添加定时任务
|
|
|
|
}
|
|
|
|
}
|
|
|
|
updateEntity.setExecuteStatus(1);
|
|
|
|
updateEntity.setExecuteStatus(1);
|
|
|
@ -212,13 +204,12 @@ public class DistributeTaskServiceImpl extends ExtendServiceImpl<DistributeTaskM
|
|
|
|
BeanUtils.copyProperties(distributeTaskEntity, distributeTaskVO);
|
|
|
|
BeanUtils.copyProperties(distributeTaskEntity, distributeTaskVO);
|
|
|
|
|
|
|
|
|
|
|
|
List<DistributeTaskUserEntity> userEntities = distributeTaskUserMapper
|
|
|
|
List<DistributeTaskUserEntity> userEntities = distributeTaskUserMapper
|
|
|
|
.selectList(new LambdaQueryWrapper<DistributeTaskUserEntity>()
|
|
|
|
.selectList(new LambdaQueryWrapper<DistributeTaskUserEntity>()
|
|
|
|
.eq(DistributeTaskUserEntity::getDistributeTaskId, id));
|
|
|
|
.eq(DistributeTaskUserEntity::getDistributeTaskId, id));
|
|
|
|
|
|
|
|
|
|
|
|
// 返回用户权重任务关联信息
|
|
|
|
// 返回用户权重任务关联信息
|
|
|
|
if (CollUtil.isNotEmpty(userEntities)) {
|
|
|
|
if (CollUtil.isNotEmpty(userEntities)) {
|
|
|
|
Map<Long, List<DistributeTaskUserEntity>> map = userEntities.stream()
|
|
|
|
Map<Long, List<DistributeTaskUserEntity>> map = userEntities.stream().collect(Collectors.groupingBy(DistributeTaskUserEntity::getUserId));
|
|
|
|
.collect(Collectors.groupingBy(DistributeTaskUserEntity::getUserId));
|
|
|
|
|
|
|
|
List<SysUser> sysUsers = sysUserService.listByUserIds(map.keySet());
|
|
|
|
List<SysUser> sysUsers = sysUserService.listByUserIds(map.keySet());
|
|
|
|
List<Map<String, Object>> list = new ArrayList<>();
|
|
|
|
List<Map<String, Object>> list = new ArrayList<>();
|
|
|
|
for (SysUser sysUser : sysUsers) {
|
|
|
|
for (SysUser sysUser : sysUsers) {
|
|
|
@ -231,15 +222,13 @@ public class DistributeTaskServiceImpl extends ExtendServiceImpl<DistributeTaskM
|
|
|
|
userMap.put("weight", distributeTaskUserEntity.getWeight());
|
|
|
|
userMap.put("weight", distributeTaskUserEntity.getWeight());
|
|
|
|
}
|
|
|
|
}
|
|
|
|
list.add(userMap);
|
|
|
|
list.add(userMap);
|
|
|
|
distributeTaskVO.setUserList(list);
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
distributeTaskVO.setUserList(list);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
// 返回任务和文件记录信息
|
|
|
|
// 返回任务和文件记录信息
|
|
|
|
if (distributeTaskEntity.getDistributeTaskType() == DefaultNumberConstants.ZERO_NUMBER) {
|
|
|
|
if (distributeTaskEntity.getDistributeTaskType() == DefaultNumberConstants.ZERO_NUMBER) {
|
|
|
|
String fileRecordId = distributeTaskEntity.getFileRecordId();
|
|
|
|
String fileRecordId = distributeTaskEntity.getFileRecordId();
|
|
|
|
List<Long> recordIdList = Arrays.stream(fileRecordId.split(","))
|
|
|
|
List<Long> recordIdList = Arrays.stream(fileRecordId.split(",")).map(Long::parseLong).collect(Collectors.toList());
|
|
|
|
.map(Long::parseLong)
|
|
|
|
|
|
|
|
.collect(Collectors.toList());
|
|
|
|
|
|
|
|
List<ClueRecordEntity> clueRecordEntities = clueRecordMapper.selectBatchIds(recordIdList);
|
|
|
|
List<ClueRecordEntity> clueRecordEntities = clueRecordMapper.selectBatchIds(recordIdList);
|
|
|
|
List<Map<String, Object>> list = new ArrayList<>();
|
|
|
|
List<Map<String, Object>> list = new ArrayList<>();
|
|
|
|
for (ClueRecordEntity clueRecordEntity : clueRecordEntities) {
|
|
|
|
for (ClueRecordEntity clueRecordEntity : clueRecordEntities) {
|
|
|
@ -247,8 +236,8 @@ public class DistributeTaskServiceImpl extends ExtendServiceImpl<DistributeTaskM
|
|
|
|
recordMap.put("recordId", clueRecordEntity.getClueRecordId());
|
|
|
|
recordMap.put("recordId", clueRecordEntity.getClueRecordId());
|
|
|
|
recordMap.put("fileName", clueRecordEntity.getOldFileName());
|
|
|
|
recordMap.put("fileName", clueRecordEntity.getOldFileName());
|
|
|
|
list.add(recordMap);
|
|
|
|
list.add(recordMap);
|
|
|
|
distributeTaskVO.setRecordList(list);
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
distributeTaskVO.setRecordList(list);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return distributeTaskVO;
|
|
|
|
return distributeTaskVO;
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -264,39 +253,30 @@ public class DistributeTaskServiceImpl extends ExtendServiceImpl<DistributeTaskM
|
|
|
|
Long createBy = taskEntity.getCreateBy();
|
|
|
|
Long createBy = taskEntity.getCreateBy();
|
|
|
|
// 任务中指定的分配人
|
|
|
|
// 任务中指定的分配人
|
|
|
|
List<DistributeTaskUserEntity> userEntities = distributeTaskUserMapper
|
|
|
|
List<DistributeTaskUserEntity> userEntities = distributeTaskUserMapper
|
|
|
|
.selectList(new LambdaQueryWrapper<DistributeTaskUserEntity>()
|
|
|
|
.selectList(new LambdaQueryWrapper<DistributeTaskUserEntity>()
|
|
|
|
.eq(DistributeTaskUserEntity::getDistributeTaskId, taskEntity.getDistributeTaskId()));
|
|
|
|
.eq(DistributeTaskUserEntity::getDistributeTaskId, taskEntity.getDistributeTaskId()));
|
|
|
|
if (CollUtil.isEmpty(userEntities))
|
|
|
|
if (CollUtil.isEmpty(userEntities)) throw new BadRequestException("任务无分配人");
|
|
|
|
throw new BadRequestException("任务无分配人");
|
|
|
|
List<Long> userIdList = userEntities.stream().map(DistributeTaskUserEntity::getUserId).collect(Collectors.toList());
|
|
|
|
List<Long> userIdList = userEntities.stream()
|
|
|
|
|
|
|
|
.map(DistributeTaskUserEntity::getUserId)
|
|
|
|
|
|
|
|
.collect(Collectors.toList());
|
|
|
|
|
|
|
|
// 查看任务类型 获取文件记录ID
|
|
|
|
// 查看任务类型 获取文件记录ID
|
|
|
|
List<Long> recordIdList = new ArrayList<>();
|
|
|
|
List<Long> recordIdList = new ArrayList<>();
|
|
|
|
if (StringUtils.isNotBlank(fileRecordId)
|
|
|
|
if (StringUtils.isNotBlank(fileRecordId) && (taskEntity.getDistributeTaskType() == 0 || taskEntity.getDefaultType() == 0)) {
|
|
|
|
&& (taskEntity.getDistributeTaskType() == 0 || taskEntity.getDefaultType() == 0)) {
|
|
|
|
|
|
|
|
recordIdList = Arrays.stream(fileRecordId.split(",")).map(Long::parseLong).collect(Collectors.toList());
|
|
|
|
recordIdList = Arrays.stream(fileRecordId.split(",")).map(Long::parseLong).collect(Collectors.toList());
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
else {
|
|
|
|
|
|
|
|
String fileRulePrefix = taskEntity.getFileRulePrefix();
|
|
|
|
String fileRulePrefix = taskEntity.getFileRulePrefix();
|
|
|
|
List<ClueRecordEntity> recordEntities = clueRecordMapper
|
|
|
|
List<ClueRecordEntity> recordEntities = clueRecordMapper.selectList(new LambdaQueryWrapper<ClueRecordEntity>()
|
|
|
|
.selectList(new LambdaQueryWrapper<ClueRecordEntity>()
|
|
|
|
|
|
|
|
.likeRight(ClueRecordEntity::getOldFileName, fileRulePrefix)
|
|
|
|
.likeRight(ClueRecordEntity::getOldFileName, fileRulePrefix)
|
|
|
|
.eq(ClueRecordEntity::getCreateBy, taskEntity.getCreateBy())
|
|
|
|
.eq(ClueRecordEntity::getCreateBy, taskEntity.getCreateBy())
|
|
|
|
.eq(ClueRecordEntity::getAllocationStatus, 0));
|
|
|
|
.eq(ClueRecordEntity::getAllocationStatus, 0));
|
|
|
|
if (CollUtil.isNotEmpty(recordEntities)) {
|
|
|
|
if (CollUtil.isNotEmpty(recordEntities)) {
|
|
|
|
recordIdList = recordEntities.stream()
|
|
|
|
recordIdList = recordEntities.stream().map(ClueRecordEntity::getClueRecordId).collect(Collectors.toList());
|
|
|
|
.map(ClueRecordEntity::getClueRecordId)
|
|
|
|
|
|
|
|
.collect(Collectors.toList());
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
if (CollUtil.isNotEmpty(recordIdList)) {
|
|
|
|
if (CollUtil.isNotEmpty(recordIdList)) {
|
|
|
|
// 查询分配人用户信息
|
|
|
|
// 查询分配人用户信息
|
|
|
|
List<SysUser> updateSysUserList = new ArrayList<>();
|
|
|
|
|
|
|
|
List<SysUser> sysUsers = sysUserService.listByUserIds(userIdList);
|
|
|
|
List<SysUser> sysUsers = sysUserService.listByUserIds(userIdList);
|
|
|
|
Map<Long, List<SysUser>> userIdMap = sysUsers.stream()
|
|
|
|
Map<Long, List<SysUser>> userIdMap = sysUsers.stream()
|
|
|
|
.collect(Collectors.groupingBy(SysUser::getUserId));
|
|
|
|
.collect(Collectors.groupingBy(SysUser::getUserId));
|
|
|
|
// 获取文件中未分配的资源
|
|
|
|
// 获取文件中未分配的资源
|
|
|
|
List<Long> clueIds = clueService.findUndistributedClueIds(recordIdList);
|
|
|
|
List<Long> clueIds = clueService.findUndistributedClueIds(recordIdList);
|
|
|
|
// 分配
|
|
|
|
// 分配
|
|
|
@ -306,9 +286,7 @@ public class DistributeTaskServiceImpl extends ExtendServiceImpl<DistributeTaskM
|
|
|
|
distributeDTO.setResourceList(clueIds);
|
|
|
|
distributeDTO.setResourceList(clueIds);
|
|
|
|
if (taskEntity.getRuleStatus() == DefaultNumberConstants.ONE_NUMBER) {
|
|
|
|
if (taskEntity.getRuleStatus() == DefaultNumberConstants.ONE_NUMBER) {
|
|
|
|
distributeDTO.setIsWeight(true);
|
|
|
|
distributeDTO.setIsWeight(true);
|
|
|
|
List<Integer> weightList = userEntities.stream()
|
|
|
|
List<Integer> weightList = userEntities.stream().map(DistributeTaskUserEntity::getWeight).collect(Collectors.toList());
|
|
|
|
.map(DistributeTaskUserEntity::getWeight)
|
|
|
|
|
|
|
|
.collect(Collectors.toList());
|
|
|
|
|
|
|
|
List<Double> weights = weightList.stream().map(i -> i * 10.0).collect(Collectors.toList());
|
|
|
|
List<Double> weights = weightList.stream().map(i -> i * 10.0).collect(Collectors.toList());
|
|
|
|
distributeDTO.setWeights(weights);
|
|
|
|
distributeDTO.setWeights(weights);
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -318,19 +296,16 @@ public class DistributeTaskServiceImpl extends ExtendServiceImpl<DistributeTaskM
|
|
|
|
if (createBy == 1) {
|
|
|
|
if (createBy == 1) {
|
|
|
|
List<ClueRecordEntity> recordEntities = clueRecordMapper.selectList(
|
|
|
|
List<ClueRecordEntity> recordEntities = clueRecordMapper.selectList(
|
|
|
|
new LambdaQueryWrapper<ClueRecordEntity>().in(ClueRecordEntity::getCreateBy, userIdList)
|
|
|
|
new LambdaQueryWrapper<ClueRecordEntity>().in(ClueRecordEntity::getCreateBy, userIdList)
|
|
|
|
.eq(ClueRecordEntity::getRecordType, DefaultNumberConstants.ONE_NUMBER));
|
|
|
|
.eq(ClueRecordEntity::getRecordType, DefaultNumberConstants.ONE_NUMBER));
|
|
|
|
map = recordEntities.stream().collect(Collectors.groupingBy(ClueRecordEntity::getCreateBy));
|
|
|
|
map = recordEntities.stream().collect(Collectors.groupingBy(ClueRecordEntity::getCreateBy));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
List<ClueEntity> clueEntityList = new ArrayList<>();
|
|
|
|
List<ClueEntity> clueEntityList = new ArrayList<>();
|
|
|
|
|
|
|
|
Map<Long, Integer> updateUserNumMap = new HashMap<>();
|
|
|
|
// 更新分配信息
|
|
|
|
// 更新分配信息
|
|
|
|
for (DistributeResponseDTO responseDTO : responseDTOS) {
|
|
|
|
for (DistributeResponseDTO responseDTO : responseDTOS) {
|
|
|
|
// 用户分发量修改
|
|
|
|
|
|
|
|
if (userIdMap.containsKey(responseDTO.getDeptId())) {
|
|
|
|
|
|
|
|
SysUser sysUser = userIdMap.get(responseDTO.getDeptId()).get(0);
|
|
|
|
|
|
|
|
sysUser.setDistributeNum(sysUser.getDistributeNum() + responseDTO.getResponseList().size());
|
|
|
|
|
|
|
|
updateSysUserList.add(sysUser);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
Long assignedBy = responseDTO.getDeptId();
|
|
|
|
Long assignedBy = responseDTO.getDeptId();
|
|
|
|
|
|
|
|
updateUserNumMap.put(assignedBy, responseDTO.getResponseList().size());
|
|
|
|
|
|
|
|
|
|
|
|
for (Long clueId : responseDTO.getResponseList()) {
|
|
|
|
for (Long clueId : responseDTO.getResponseList()) {
|
|
|
|
ClueEntity clueEntity = new ClueEntity();
|
|
|
|
ClueEntity clueEntity = new ClueEntity();
|
|
|
|
clueEntity.setClueId(clueId);
|
|
|
|
clueEntity.setClueId(clueId);
|
|
|
@ -358,11 +333,9 @@ public class DistributeTaskServiceImpl extends ExtendServiceImpl<DistributeTaskM
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
// 批量修改数据
|
|
|
|
// 批量修改数据
|
|
|
|
if (CollUtil.isNotEmpty(clueEntityList)) {
|
|
|
|
if (CollUtil.isNotEmpty(clueEntityList)) clueService.updateBatchById(clueEntityList);
|
|
|
|
clueService.updateBatchById(clueEntityList);
|
|
|
|
// 用户分发量检测-扣减-修改
|
|
|
|
}
|
|
|
|
sysUserService.detectionAvailableNumUpdate(updateUserNumMap, createBy == 1);
|
|
|
|
// 用户分发量修改
|
|
|
|
|
|
|
|
sysUserService.updateDistributeNum(updateSysUserList);
|
|
|
|
|
|
|
|
// 修改任务执行次数+1
|
|
|
|
// 修改任务执行次数+1
|
|
|
|
baseMapper.updateByExecuteNumAddOne(taskEntity.getDistributeTaskId());
|
|
|
|
baseMapper.updateByExecuteNumAddOne(taskEntity.getDistributeTaskId());
|
|
|
|
// 修改记录分配状态
|
|
|
|
// 修改记录分配状态
|
|
|
@ -370,9 +343,7 @@ public class DistributeTaskServiceImpl extends ExtendServiceImpl<DistributeTaskM
|
|
|
|
clueRecordMapper.updateAllocationStatusAndDistributeStatus(recordIdList, 1, 1);
|
|
|
|
clueRecordMapper.updateAllocationStatusAndDistributeStatus(recordIdList, 1, 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
// 分发下级任务
|
|
|
|
// 分发下级任务
|
|
|
|
if (taskEntity.getCreateBy() == 1) {
|
|
|
|
if (taskEntity.getCreateBy() == 1) this.syncExecuteTask(userIdList);
|
|
|
|
this.syncExecuteTask(userIdList);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -380,13 +351,12 @@ public class DistributeTaskServiceImpl extends ExtendServiceImpl<DistributeTaskM
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
@Override
|
|
|
|
public boolean updateData(DistributeTaskEntity distributeTaskEntity) {
|
|
|
|
public boolean updateData(DistributeTaskEntity distributeTaskEntity) {
|
|
|
|
baseMapper.updateById(distributeTaskEntity);
|
|
|
|
return SqlHelper.retBool(baseMapper.updateById(distributeTaskEntity));
|
|
|
|
return false;
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
@Override
|
|
|
|
public void addDefaultTask(String taskName, String prefixName, String recordId, Long createUserId,
|
|
|
|
public void addDefaultTask(String taskName, String prefixName, String recordId, Long createUserId,
|
|
|
|
Long allocationBy) {
|
|
|
|
Long allocationBy) {
|
|
|
|
// 创建默认任务
|
|
|
|
// 创建默认任务
|
|
|
|
DistributeTaskEntity taskEntity = new DistributeTaskEntity();
|
|
|
|
DistributeTaskEntity taskEntity = new DistributeTaskEntity();
|
|
|
|
taskEntity.setDistributeTaskType(1);
|
|
|
|
taskEntity.setDistributeTaskType(1);
|
|
|
@ -411,29 +381,14 @@ public class DistributeTaskServiceImpl extends ExtendServiceImpl<DistributeTaskM
|
|
|
|
taskUserEntity.setDistributeTaskId(taskEntity.getDistributeTaskId());
|
|
|
|
taskUserEntity.setDistributeTaskId(taskEntity.getDistributeTaskId());
|
|
|
|
distributeTaskUserMapper.insert(taskUserEntity);
|
|
|
|
distributeTaskUserMapper.insert(taskUserEntity);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
// 任务默认下级用户平均分配
|
|
|
|
|
|
|
|
// BaseMapper<SysUser> sysUserBaseMapper = sysUserService.getBaseMapper();
|
|
|
|
|
|
|
|
// List<SysUser> sysUserList = sysUserBaseMapper
|
|
|
|
|
|
|
|
// .selectList(new LambdaQueryWrapper<SysUser>().eq(SysUser::getWhichUserId,
|
|
|
|
|
|
|
|
// userId));
|
|
|
|
|
|
|
|
// if (CollUtil.isNotEmpty(sysUserList)) {
|
|
|
|
|
|
|
|
// List<DistributeTaskUserEntity> list = new ArrayList<>();
|
|
|
|
|
|
|
|
// for (SysUser sysUser : sysUserList) {
|
|
|
|
|
|
|
|
// DistributeTaskUserEntity taskUserEntity = new DistributeTaskUserEntity();
|
|
|
|
|
|
|
|
// taskUserEntity.setUserId(sysUser.getUserId());
|
|
|
|
|
|
|
|
// taskUserEntity.setDistributeTaskId(taskEntity.getDistributeTaskId());
|
|
|
|
|
|
|
|
// list.add(taskUserEntity);
|
|
|
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
// if (CollUtil.isNotEmpty(list))
|
|
|
|
|
|
|
|
// distributeTaskUserMapper.insertBatchSomeColumn(list);
|
|
|
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
/**
|
|
|
|
* 添加修改定时任务
|
|
|
|
* 添加修改定时任务
|
|
|
|
* @param taskId 任务ID
|
|
|
|
*
|
|
|
|
|
|
|
|
* @param taskId 任务ID
|
|
|
|
* @param startTime 时间
|
|
|
|
* @param startTime 时间
|
|
|
|
* @param bool 执行类型 true:添加 false:修改
|
|
|
|
* @param bool 执行类型 true:添加 false:修改
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
private void addJob(Long taskId, LocalDateTime startTime, Boolean bool) {
|
|
|
|
private void addJob(Long taskId, LocalDateTime startTime, Boolean bool) {
|
|
|
|
Job job = new Job();
|
|
|
|
Job job = new Job();
|
|
|
@ -443,8 +398,7 @@ public class DistributeTaskServiceImpl extends ExtendServiceImpl<DistributeTaskM
|
|
|
|
job.setJobClass("com.baiye.job.LinkWatchJob");
|
|
|
|
job.setJobClass("com.baiye.job.LinkWatchJob");
|
|
|
|
if (bool) {
|
|
|
|
if (bool) {
|
|
|
|
jobService.addJob(job);
|
|
|
|
jobService.addJob(job);
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
else {
|
|
|
|
|
|
|
|
jobService.updateJob(job);
|
|
|
|
jobService.updateJob(job);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -478,6 +432,9 @@ public class DistributeTaskServiceImpl extends ExtendServiceImpl<DistributeTaskM
|
|
|
|
if (sum != DefaultNumberConstants.TEN_NUMBER)
|
|
|
|
if (sum != DefaultNumberConstants.TEN_NUMBER)
|
|
|
|
throw new BadRequestException("权重分配不符合10份制");
|
|
|
|
throw new BadRequestException("权重分配不符合10份制");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
List<Long> userIds = userList.stream().map(DistributeTaskUserDTO::getUserId).collect(Collectors.toList());
|
|
|
|
|
|
|
|
String nickName = sysUserService.detectionAvailableNum(userIds);
|
|
|
|
|
|
|
|
if (StringUtils.isNotBlank(nickName)) throw new BadRequestException(nickName + "余额不足");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
@ -503,37 +460,35 @@ public class DistributeTaskServiceImpl extends ExtendServiceImpl<DistributeTaskM
|
|
|
|
if (SecurityUtils.getCurrentUserId() == 1 && CollUtil.isNotEmpty(userIdList)) {
|
|
|
|
if (SecurityUtils.getCurrentUserId() == 1 && CollUtil.isNotEmpty(userIdList)) {
|
|
|
|
List<DistributeTaskEntity> taskEntities = baseMapper.selectList(
|
|
|
|
List<DistributeTaskEntity> taskEntities = baseMapper.selectList(
|
|
|
|
new LambdaQueryWrapper<DistributeTaskEntity>().in(DistributeTaskEntity::getCreateBy, userIdList)
|
|
|
|
new LambdaQueryWrapper<DistributeTaskEntity>().in(DistributeTaskEntity::getCreateBy, userIdList)
|
|
|
|
.eq(DistributeTaskEntity::getDefaultType, 0)
|
|
|
|
.eq(DistributeTaskEntity::getDefaultType, 0)
|
|
|
|
.ne(DistributeTaskEntity::getExecuteStatus, 0));
|
|
|
|
.ne(DistributeTaskEntity::getExecuteStatus, 0));
|
|
|
|
if (CollUtil.isNotEmpty(taskEntities)) {
|
|
|
|
if (CollUtil.isNotEmpty(taskEntities)) {
|
|
|
|
List<Long> taskIds = taskEntities.stream()
|
|
|
|
List<Long> taskIds = taskEntities.stream()
|
|
|
|
.map(DistributeTaskEntity::getDistributeTaskId)
|
|
|
|
.map(DistributeTaskEntity::getDistributeTaskId)
|
|
|
|
.collect(Collectors.toList());
|
|
|
|
.collect(Collectors.toList());
|
|
|
|
if (taskIds.size() < userIdList.size()) {
|
|
|
|
if (taskIds.size() < userIdList.size()) {
|
|
|
|
throw new BadRequestException("用户默认分发任务无分配用户,请检查用户的分配任务");
|
|
|
|
throw new BadRequestException("用户默认分发任务无分配用户,请检查用户的分配任务");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
List<DistributeTaskUserEntity> taskUserEntities = distributeTaskUserMapper
|
|
|
|
List<DistributeTaskUserEntity> taskUserEntities = distributeTaskUserMapper
|
|
|
|
.selectList(new LambdaQueryWrapper<DistributeTaskUserEntity>()
|
|
|
|
.selectList(new LambdaQueryWrapper<DistributeTaskUserEntity>()
|
|
|
|
.in(DistributeTaskUserEntity::getDistributeTaskId, taskIds));
|
|
|
|
.in(DistributeTaskUserEntity::getDistributeTaskId, taskIds));
|
|
|
|
if (CollUtil.isNotEmpty(taskUserEntities)) {
|
|
|
|
if (CollUtil.isNotEmpty(taskUserEntities)) {
|
|
|
|
Map<Long, List<DistributeTaskUserEntity>> map = taskUserEntities.stream()
|
|
|
|
Map<Long, List<DistributeTaskUserEntity>> map = taskUserEntities.stream()
|
|
|
|
.collect(Collectors.groupingBy(DistributeTaskUserEntity::getDistributeTaskId));
|
|
|
|
.collect(Collectors.groupingBy(DistributeTaskUserEntity::getDistributeTaskId));
|
|
|
|
for (Long taskId : taskIds) {
|
|
|
|
for (Long taskId : taskIds) {
|
|
|
|
if (!map.containsKey(taskId)) {
|
|
|
|
if (!map.containsKey(taskId)) {
|
|
|
|
Map<Long, List<DistributeTaskEntity>> listMap = taskEntities.stream()
|
|
|
|
Map<Long, List<DistributeTaskEntity>> listMap = taskEntities.stream()
|
|
|
|
.collect(Collectors.groupingBy(DistributeTaskEntity::getDistributeTaskId));
|
|
|
|
.collect(Collectors.groupingBy(DistributeTaskEntity::getDistributeTaskId));
|
|
|
|
Long createBy = listMap.get(taskId).get(0).getCreateBy();
|
|
|
|
Long createBy = listMap.get(taskId).get(0).getCreateBy();
|
|
|
|
SysUser sysUser = sysUserService.getById(createBy);
|
|
|
|
SysUser sysUser = sysUserService.getById(createBy);
|
|
|
|
throw new BadRequestException("用户:" + sysUser.getUsername() + " 默认分发任务中无分配人,请通知整改后操作该用户");
|
|
|
|
throw new BadRequestException("用户:" + sysUser.getUsername() + " 默认分发任务中无分配人,请通知整改后操作该用户");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
else {
|
|
|
|
|
|
|
|
throw new BadRequestException("用户默认分发任务无分配用户,请检查用户的分配任务");
|
|
|
|
throw new BadRequestException("用户默认分发任务无分配用户,请检查用户的分配任务");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
else {
|
|
|
|
|
|
|
|
throw new BadRequestException("用户无默认分发任务,请检查用户的分配任务");
|
|
|
|
throw new BadRequestException("用户无默认分发任务,请检查用户的分配任务");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -544,8 +499,8 @@ public class DistributeTaskServiceImpl extends ExtendServiceImpl<DistributeTaskM
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
private void syncExecuteTask(List<Long> userIdList) {
|
|
|
|
private void syncExecuteTask(List<Long> userIdList) {
|
|
|
|
List<DistributeTaskEntity> taskEntities = baseMapper
|
|
|
|
List<DistributeTaskEntity> taskEntities = baseMapper
|
|
|
|
.selectList(new LambdaQueryWrapper<DistributeTaskEntity>().eq(DistributeTaskEntity::getDefaultType, 0)
|
|
|
|
.selectList(new LambdaQueryWrapper<DistributeTaskEntity>().eq(DistributeTaskEntity::getDefaultType, 0)
|
|
|
|
.in(DistributeTaskEntity::getCreateBy, userIdList));
|
|
|
|
.in(DistributeTaskEntity::getCreateBy, userIdList));
|
|
|
|
if (CollUtil.isNotEmpty(taskEntities)) {
|
|
|
|
if (CollUtil.isNotEmpty(taskEntities)) {
|
|
|
|
for (DistributeTaskEntity distributeTaskEntity : taskEntities) {
|
|
|
|
for (DistributeTaskEntity distributeTaskEntity : taskEntities) {
|
|
|
|
Integer executeStatus = distributeTaskEntity.getExecuteStatus();
|
|
|
|
Integer executeStatus = distributeTaskEntity.getExecuteStatus();
|
|
|
|