代码整合(未测试)

master
yqy 1 year ago
parent f417fa315c
commit 5f44b093cd

@ -68,6 +68,7 @@ public final class PasswordUtils {
byte[] secretKeyBytes = secretKey.getBytes(); byte[] secretKeyBytes = secretKey.getBytes();
AES aes = new AES(Mode.CBC, Padding.PKCS5Padding, secretKeyBytes, secretKeyBytes); AES aes = new AES(Mode.CBC, Padding.PKCS5Padding, secretKeyBytes, secretKeyBytes);
byte[] result = aes.decrypt(Base64.decode(aesPass.getBytes(StandardCharsets.UTF_8))); byte[] result = aes.decrypt(Base64.decode(aesPass.getBytes(StandardCharsets.UTF_8)));
System.out.println(new String(result, StandardCharsets.UTF_8));
return new String(result, StandardCharsets.UTF_8); return new String(result, StandardCharsets.UTF_8);
} }

@ -1,18 +1,20 @@
package com.baiye.aspect; package com.baiye.aspect;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import com.baiye.exception.BadRequestException; import com.baiye.modules.distribute.entity.*;
import com.baiye.modules.distribute.entity.ClueEntity;
import com.baiye.modules.distribute.entity.ClueRecordEntity;
import com.baiye.modules.distribute.mapper.ClueMapper; import com.baiye.modules.distribute.mapper.ClueMapper;
import com.baiye.modules.distribute.mapper.ClueStageMapper;
import com.baiye.modules.distribute.mapper.LabelMapper;
import com.baiye.modules.distribute.mapper.LabelOrganizeMapper;
import com.baiye.modules.distribute.service.ClueRecordService; import com.baiye.modules.distribute.service.ClueRecordService;
import com.baiye.modules.distribute.service.DistributeTaskService; import com.baiye.modules.distribute.service.DistributeTaskService;
import com.baiye.security.util.SecurityUtils; import com.baiye.security.util.SecurityUtils;
import com.baiye.system.mapper.SysUserMapper; import com.baiye.system.mapper.SysUserMapper;
import com.baiye.system.model.dto.SysUserDTO; import com.baiye.system.model.dto.SysUserDTO;
import com.baiye.system.model.entity.SysUser; import com.baiye.system.model.entity.SysUser;
import com.baiye.system.service.SysUserService;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.aspectj.lang.JoinPoint; import org.aspectj.lang.JoinPoint;
import org.aspectj.lang.annotation.AfterReturning; import org.aspectj.lang.annotation.AfterReturning;
@ -21,33 +23,31 @@ import org.aspectj.lang.annotation.Before;
import org.aspectj.lang.annotation.Pointcut; import org.aspectj.lang.annotation.Pointcut;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import javax.annotation.Resource;
import java.util.Collections;
import java.util.List; import java.util.List;
import java.util.stream.Collectors; import java.util.stream.Collectors;
/** /**
* AOP * AOP
*
* @Author YQY
* @Date 2023/8/15
*/ */
@Aspect @Aspect
@Component @Component
@Slf4j @Slf4j
@RequiredArgsConstructor
public class SysUserAspect { public class SysUserAspect {
@Resource private final ClueRecordService clueRecordService;
private ClueRecordService clueRecordService;
@Resource private final ClueMapper clueMapper;
private ClueMapper clueMapper;
@Resource private final SysUserMapper sysUserMapper;
private SysUserMapper sysUserMapper;
@Resource private final DistributeTaskService distributeTaskService;
private DistributeTaskService distributeTaskService;
private final LabelMapper labelMapper;
private final LabelOrganizeMapper labelOrganizeMapper;
private final ClueStageMapper clueStageMapper;
/** /**
* *
@ -75,10 +75,11 @@ public class SysUserAspect {
SysUser sysUser = sysUserMapper.selectByUsername(username); SysUser sysUser = sysUserMapper.selectByUsername(username);
if (sysUser != null && sysUser.getUserId() != null) { if (sysUser != null && sysUser.getUserId() != null) {
// 创建默认的文件记录 // 创建默认的文件记录
ClueRecordEntity entity = clueRecordService.addDefaultRecordService(sysUser.getUserId(), "资源推送"); ClueRecordEntity entity = clueRecordService.addDefaultRecordService(sysUser.getUserId(), "资源推送",
"资源推送");
// 创建默认的执行任务 // 创建默认的执行任务
distributeTaskService.addDefaultTask("资源推送", null, entity.getClueRecordId().toString(), distributeTaskService.addDefaultTask("资源推送", null, entity.getClueRecordId().toString(),
sysUser.getUserId()); sysUser.getUserId(), null);
} }
} }
} }
@ -90,6 +91,7 @@ public class SysUserAspect {
Object[] args = joinPoint.getArgs(); Object[] args = joinPoint.getArgs();
Object obj = args[0]; Object obj = args[0];
if (obj instanceof Long) { if (obj instanceof Long) {
// 查询下级是否有子用户
List<SysUser> userList = sysUserMapper List<SysUser> userList = sysUserMapper
.selectList(new LambdaQueryWrapper<SysUser>().eq(SysUser::getWhichUserId, obj)); .selectList(new LambdaQueryWrapper<SysUser>().eq(SysUser::getWhichUserId, obj));
if (CollUtil.isNotEmpty(userList)) { if (CollUtil.isNotEmpty(userList)) {
@ -98,6 +100,18 @@ public class SysUserAspect {
clueMapper.delete(new LambdaQueryWrapper<ClueEntity>().in(ClueEntity::getAssignedBy, userIdList)); clueMapper.delete(new LambdaQueryWrapper<ClueEntity>().in(ClueEntity::getAssignedBy, userIdList));
} }
clueMapper.delete(new LambdaQueryWrapper<ClueEntity>().eq(ClueEntity::getAssignedBy, obj)); clueMapper.delete(new LambdaQueryWrapper<ClueEntity>().eq(ClueEntity::getAssignedBy, obj));
// 删除用户的任务和上传记录
BaseMapper<DistributeTaskEntity> taskMapper = distributeTaskService.getBaseMapper();
taskMapper
.delete(new LambdaQueryWrapper<DistributeTaskEntity>().eq(DistributeTaskEntity::getCreateBy, obj));
BaseMapper<ClueRecordEntity> clueRecordMapper = clueRecordService.getBaseMapper();
clueRecordMapper.delete(new LambdaQueryWrapper<ClueRecordEntity>().eq(ClueRecordEntity::getCreateBy, obj));
// 删除用户标签和标签组 - 阶段信息
labelMapper.delete(new LambdaQueryWrapper<LabelEntity>().eq(LabelEntity::getCreateBy, obj));
labelOrganizeMapper
.delete(new LambdaQueryWrapper<LabelOrganizeEntity>().eq(LabelOrganizeEntity::getCreateBy, obj));
clueStageMapper.delete(new LambdaQueryWrapper<ClueStageEntity>().eq(ClueStageEntity::getCreateBy, obj));
} }
} }

@ -10,6 +10,7 @@ import com.example.entity.Job;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.ApplicationArguments; import org.springframework.boot.ApplicationArguments;
import org.springframework.boot.ApplicationRunner; import org.springframework.boot.ApplicationRunner;
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import javax.annotation.Resource; import javax.annotation.Resource;
@ -30,26 +31,30 @@ public class JobApplicationRunner implements ApplicationRunner {
@Override @Override
public void run(ApplicationArguments args) { public void run(ApplicationArguments args) {
log.info("==============项目启动,自动添加业务中定时任务=============="); // log.info("==============项目启动,自动添加业务中定时任务==============");
List<DistributeTaskEntity> distributeTaskEntities = distributeTaskMapper.selectList( // List<DistributeTaskEntity> distributeTaskEntities =
new LambdaQueryWrapper<DistributeTaskEntity>().eq(DistributeTaskEntity::getDistributeTaskType, 1) // distributeTaskMapper.selectList(
.eq(DistributeTaskEntity::getTimeStatus, 1) // new
.ne(DistributeTaskEntity::getExecuteStatus, 0)); // LambdaQueryWrapper<DistributeTaskEntity>().eq(DistributeTaskEntity::getDistributeTaskType,
// 1)
if (CollUtil.isNotEmpty(distributeTaskEntities)) { // .eq(DistributeTaskEntity::getTimeStatus, 1)
for (DistributeTaskEntity distributeTaskEntity : distributeTaskEntities) { // .ne(DistributeTaskEntity::getExecuteStatus, 0));
Job job = new Job(); //
job.setJobName(PrefixKeyConstant.JOB_KEY + distributeTaskEntity.getDistributeTaskId()); // if (CollUtil.isNotEmpty(distributeTaskEntities)) {
String cron = DateTimeToCronUtils.getCron(distributeTaskEntity.getStartTime(), // for (DistributeTaskEntity distributeTaskEntity : distributeTaskEntities) {
DateTimeToCronUtils.EVERYDAY); // Job job = new Job();
job.setCron(cron); // job.setJobName(PrefixKeyConstant.JOB_KEY +
job.setJobClass("com.baiye.job.LinkWatchJob"); // distributeTaskEntity.getDistributeTaskId());
jobService.addJob(job); // String cron = DateTimeToCronUtils.getCron(distributeTaskEntity.getStartTime(),
// 暂停 // DateTimeToCronUtils.EVERYDAY);
if (distributeTaskEntity.getExecuteStatus() == 3) // job.setCron(cron);
jobService.pauseJob(job.getJobName()); // job.setJobClass("com.baiye.job.LinkWatchJob");
} // jobService.addJob(job);
} // // 暂停
// if (distributeTaskEntity.getExecuteStatus() == 3)
// jobService.pauseJob(job.getJobName());
// }
// }
} }
} }

@ -1,6 +1,7 @@
package com.baiye.modules.distribute.controller; package com.baiye.modules.distribute.controller;
import com.alibaba.excel.EasyExcel; import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.ExcelWriter;
import com.baiye.exception.BadRequestException; import com.baiye.exception.BadRequestException;
import com.baiye.modules.distribute.service.ClueFileService; import com.baiye.modules.distribute.service.ClueFileService;
import com.baiye.result.R; import com.baiye.result.R;
@ -9,10 +10,16 @@ import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import org.springframework.core.io.Resource;
import org.springframework.core.io.ResourceLoader;
import org.springframework.http.HttpHeaders;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.io.IOException; import java.io.IOException;
import java.io.InputStream; import java.io.InputStream;
import java.net.URLEncoder;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Map; import java.util.Map;
@ -24,6 +31,8 @@ public class ClueFileController {
private final ClueFileService clueFileService; private final ClueFileService clueFileService;
private final ResourceLoader resourceLoader;
@PostMapping("/fileUpload") @PostMapping("/fileUpload")
@Operation(summary = "文件上传资源") @Operation(summary = "文件上传资源")
public R<Object> clueFileUpload(@RequestParam("file") MultipartFile file) { public R<Object> clueFileUpload(@RequestParam("file") MultipartFile file) {
@ -34,9 +43,12 @@ public class ClueFileController {
@Operation(summary = "导出模板") @Operation(summary = "导出模板")
public void exportExcelTemplate(HttpServletResponse response) { public void exportExcelTemplate(HttpServletResponse response) {
try (InputStream inputStream = getClass().getResourceAsStream("/file/template.xlsx")) { try (InputStream inputStream = getClass().getResourceAsStream("/file/template.xlsx")) {
response.setHeader("Content-Disposition", "attachment; filename=\"template.xlsx\""); String fileName = URLEncoder.encode("template.xlsx", "UTF-8");
response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); response.setContentType("application/vnd.ms-excel");
EasyExcel.write(response.getOutputStream()).withTemplate(inputStream).sheet().doWrite(new ArrayList<>()); response.setCharacterEncoding("utf-8");
response.setHeader("Content-disposition", "attachment;filename=" + fileName);
// EasyExcel.write(response.getOutputStream()).withTemplate(inputStream).sheet().doWrite(null);
final ExcelWriter write = EasyExcel.write(response.getOutputStream()).withTemplate(inputStream).build();
} }
catch (IOException e) { catch (IOException e) {
throw new BadRequestException("导出失败,请联系管理员"); throw new BadRequestException("导出失败,请联系管理员");

@ -44,6 +44,7 @@ public class ClueRecordController {
qo.setCreateBy(SecurityUtils.getCurrentUserId()); qo.setCreateBy(SecurityUtils.getCurrentUserId());
qo.setAllocationStatus(0); qo.setAllocationStatus(0);
qo.setDistributeStatus(0); qo.setDistributeStatus(0);
qo.setRecordType(0);
return R.ok(clueRecordService.listSelectData(qo)); return R.ok(clueRecordService.listSelectData(qo));
} }

@ -41,4 +41,7 @@ public class ClueRecordQo {
@Schema(title = "渠道类型") @Schema(title = "渠道类型")
private String channelType; private String channelType;
@Schema(title = "记录类型 0:文件上传 1:资源推送")
private Integer recordType;
} }

@ -31,7 +31,7 @@ public interface ClueRecordService extends ExtendService<ClueRecordEntity> {
/** /**
* , * ,
*/ */
ClueRecordEntity addDefaultRecordService(Long userId, String name); ClueRecordEntity addDefaultRecordService(Long userId, String name, String channelIdentifying);
/** /**
* *

@ -54,8 +54,13 @@ public interface DistributeTaskService extends ExtendService<DistributeTaskEntit
/** /**
* *
* @param taskName
* @param prefixName
* @param recordId ID
* @param createUserId
* @param allocationBy (null)
*/ */
void addDefaultTask(String taskName, String prefixName, String recordId, Long userId); void addDefaultTask(String taskName, String prefixName, String recordId, Long createUserId, Long allocationBy);
/** /**
* admin-- * admin--

@ -46,12 +46,13 @@ public class ClueRecordServiceImpl extends ExtendServiceImpl<ClueRecordMapper, C
} }
@Override @Override
public ClueRecordEntity addDefaultRecordService(Long userId, String name) { public ClueRecordEntity addDefaultRecordService(Long userId, String name, String channelIdentifying) {
ClueRecordEntity clueRecordEntity = new ClueRecordEntity(); ClueRecordEntity clueRecordEntity = new ClueRecordEntity();
clueRecordEntity.setStatus(2); clueRecordEntity.setStatus(2);
clueRecordEntity.setOldFileName(name); clueRecordEntity.setOldFileName(name);
clueRecordEntity.setRecordType(1); clueRecordEntity.setRecordType(1);
clueRecordEntity.setCreateBy(userId); clueRecordEntity.setCreateBy(userId);
clueRecordEntity.setChannelIdentifying(channelIdentifying);
baseMapper.insert(clueRecordEntity); baseMapper.insert(clueRecordEntity);
return clueRecordEntity; return clueRecordEntity;
} }

@ -141,7 +141,7 @@ public class DistributeTaskServiceImpl extends ExtendServiceImpl<DistributeTaskM
// 删除定时任务 // 删除定时任务
jobService.removeJob(PrefixKeyConstant.JOB_KEY + taskId); jobService.removeJob(PrefixKeyConstant.JOB_KEY + taskId);
} }
if (timeStatus == 1 && startTime != null && !startTime.isEqual(time)) { if (timeStatus == 1 && startTime != null && time != null && !startTime.isEqual(time)) {
// 修改定时任务 // 修改定时任务
this.addJob(taskId, time, false); this.addJob(taskId, time, false);
} }
@ -166,6 +166,16 @@ public class DistributeTaskServiceImpl extends ExtendServiceImpl<DistributeTaskM
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public boolean del(Long taskId) { public boolean del(Long taskId) {
// 删除时任务未执行 文件记录状态回退
DistributeTaskEntity entity = baseMapper.selectById(taskId);
if (entity.getExecuteStatus() == 0) {
String fileRecordId = entity.getFileRecordId();
List<Long> recordIdList = Arrays.stream(fileRecordId.split(","))
.map(Long::parseLong)
.collect(Collectors.toList());
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));
@ -264,8 +274,17 @@ public class DistributeTaskServiceImpl extends ExtendServiceImpl<DistributeTaskM
if (taskEntity != null) { if (taskEntity != null) {
String fileRecordId = taskEntity.getFileRecordId(); String fileRecordId = taskEntity.getFileRecordId();
Long createBy = taskEntity.getCreateBy(); Long createBy = taskEntity.getCreateBy();
List<Long> recordIdList = new ArrayList<>(); // 任务中指定的分配人
List<DistributeTaskUserEntity> userEntities = distributeTaskUserMapper
.selectList(new LambdaQueryWrapper<DistributeTaskUserEntity>()
.eq(DistributeTaskUserEntity::getDistributeTaskId, taskEntity.getDistributeTaskId()));
if (CollUtil.isEmpty(userEntities))
throw new BadRequestException("任务无分配人");
List<Long> userIdList = userEntities.stream()
.map(DistributeTaskUserEntity::getUserId)
.collect(Collectors.toList());
// 查看任务类型 获取文件记录ID // 查看任务类型 获取文件记录ID
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());
@ -283,13 +302,6 @@ public class DistributeTaskServiceImpl extends ExtendServiceImpl<DistributeTaskM
.collect(Collectors.toList()); .collect(Collectors.toList());
} }
} }
// 任务中指定的分配人
List<DistributeTaskUserEntity> userEntities = distributeTaskUserMapper
.selectList(new LambdaQueryWrapper<DistributeTaskUserEntity>()
.eq(DistributeTaskUserEntity::getDistributeTaskId, taskEntity.getDistributeTaskId()));
List<Long> userIdList = userEntities.stream()
.map(DistributeTaskUserEntity::getUserId)
.collect(Collectors.toList());
// 查询分配人用户信息 // 查询分配人用户信息
List<SysUser> updateSysUserList = new ArrayList<>(); List<SysUser> updateSysUserList = new ArrayList<>();
List<SysUser> sysUsers = sysUserService.listByUserIds(userIdList); List<SysUser> sysUsers = sysUserService.listByUserIds(userIdList);
@ -387,7 +399,8 @@ public class DistributeTaskServiceImpl extends ExtendServiceImpl<DistributeTaskM
} }
@Override @Override
public void addDefaultTask(String taskName, String prefixName, String recordId, Long userId) { public void addDefaultTask(String taskName, String prefixName, String recordId, Long createUserId,
Long allocationBy) {
// 创建默认任务 // 创建默认任务
DistributeTaskEntity taskEntity = new DistributeTaskEntity(); DistributeTaskEntity taskEntity = new DistributeTaskEntity();
taskEntity.setDistributeTaskType(1); taskEntity.setDistributeTaskType(1);
@ -398,23 +411,36 @@ public class DistributeTaskServiceImpl extends ExtendServiceImpl<DistributeTaskM
taskEntity.setExecuteStatus(0); taskEntity.setExecuteStatus(0);
taskEntity.setFileRecordId(recordId); taskEntity.setFileRecordId(recordId);
taskEntity.setDefaultType(0); taskEntity.setDefaultType(0);
taskEntity.setCreateBy(userId); taskEntity.setCreateBy(createUserId);
// admin管理员创建是默认开启,业务管理员创建时由于不确定是否创建了子用户,所以无法自动开启
if (createUserId == 1) {
taskEntity.setExecuteStatus(1);
}
baseMapper.insert(taskEntity); baseMapper.insert(taskEntity);
// 任务默认下级用户平均分配
BaseMapper<SysUser> sysUserBaseMapper = sysUserService.getBaseMapper(); // 任务默认当前选中用户平均分配
List<SysUser> sysUserList = sysUserBaseMapper if (createUserId == 1) {
.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(); DistributeTaskUserEntity taskUserEntity = new DistributeTaskUserEntity();
taskUserEntity.setUserId(sysUser.getUserId()); taskUserEntity.setUserId(allocationBy);
taskUserEntity.setDistributeTaskId(taskEntity.getDistributeTaskId()); taskUserEntity.setDistributeTaskId(taskEntity.getDistributeTaskId());
list.add(taskUserEntity); distributeTaskUserMapper.insert(taskUserEntity);
}
if (CollUtil.isNotEmpty(list))
distributeTaskUserMapper.insertBatchSomeColumn(list);
} }
// 任务默认下级用户平均分配
// 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);
// }
} }
/** /**
@ -491,7 +517,8 @@ 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));
if (CollUtil.isNotEmpty(taskEntities)) { if (CollUtil.isNotEmpty(taskEntities)) {
List<Long> taskIds = taskEntities.stream() List<Long> taskIds = taskEntities.stream()
.map(DistributeTaskEntity::getDistributeTaskId) .map(DistributeTaskEntity::getDistributeTaskId)
@ -505,13 +532,16 @@ public class DistributeTaskServiceImpl extends ExtendServiceImpl<DistributeTaskM
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 : map.keySet()) { for (Long taskId : taskIds) {
if (!taskIds.contains(taskId)) { if (!map.containsKey(taskId)) {
DistributeTaskUserEntity distributeTaskUserEntity = map.get(taskId).get(0); Map<Long, List<DistributeTaskEntity>> listMap = taskEntities.stream()
SysUser sysUser = sysUserService.getById(distributeTaskUserEntity.getUserId()); .collect(Collectors.groupingBy(DistributeTaskEntity::getDistributeTaskId));
Long createBy = listMap.get(taskId).get(0).getCreateBy();
SysUser sysUser = sysUserService.getById(createBy);
throw new BadRequestException("用户:" + sysUser.getUsername() + " 默认分发任务中无分配人,请通知整改后操作该用户"); throw new BadRequestException("用户:" + sysUser.getUsername() + " 默认分发任务中无分配人,请通知整改后操作该用户");
} }
} }
} }
else { else {
throw new BadRequestException("用户默认分发任务无分配用户,请检查用户的分配任务"); throw new BadRequestException("用户默认分发任务无分配用户,请检查用户的分配任务");

@ -67,7 +67,7 @@ public class OutsideReqServiceImpl implements OutsideReqService {
ClueEntity clueEntity = new ClueEntity(); ClueEntity clueEntity = new ClueEntity();
clueEntity.setNid(AESUtils.encrypt(mobileDecodeStr, securityProperties.getPasswordSecretKey())); clueEntity.setNid(AESUtils.encrypt(mobileDecodeStr, securityProperties.getPasswordSecretKey()));
clueEntity.setClueRecordId(linkEntity.getClueRecordId()); clueEntity.setClueRecordId(linkEntity.getClueRecordId());
clueEntity.setOtherClue(JSONUtil.toJsonStr(dbPushClueDTO)); // clueEntity.setOtherClue(JSONUtil.toJsonStr(dbPushClueDTO));
clueEntity.setCreateBy(linkEntity.getCreateBy()); clueEntity.setCreateBy(linkEntity.getCreateBy());
clueService.save(clueEntity); clueService.save(clueEntity);
// 执行任务 // 执行任务
@ -75,10 +75,14 @@ public class OutsideReqServiceImpl implements OutsideReqService {
new LambdaQueryWrapper<DistributeTaskEntity>().eq(DistributeTaskEntity::getDefaultType, 0) new LambdaQueryWrapper<DistributeTaskEntity>().eq(DistributeTaskEntity::getDefaultType, 0)
.eq(DistributeTaskEntity::getCreateBy, linkEntity.getCreateBy()) .eq(DistributeTaskEntity::getCreateBy, linkEntity.getCreateBy())
.eq(DistributeTaskEntity::getFileRecordId, linkEntity.getClueRecordId())); .eq(DistributeTaskEntity::getFileRecordId, linkEntity.getClueRecordId()));
if (entity.getExecuteStatus() != 1 && entity.getExecuteStatus() != 3)
distributeTaskService.execute(entity); distributeTaskService.execute(entity);
} }
} }
else {
log.error("============推送手机号检验不通过============");
}
} }
else { else {
log.info("============推送了空数据或者空手机号============"); log.info("============推送了空数据或者空手机号============");

@ -54,7 +54,7 @@ public class PushLinkServiceImpl extends ExtendServiceImpl<PushLinkMapper, PushL
dbPushUrl = dbPushUrl.concat(appKey); dbPushUrl = dbPushUrl.concat(appKey);
// 创建记录(任务) // 创建记录(任务)
ClueRecordEntity clueRecordEntity = clueRecordService ClueRecordEntity clueRecordEntity = clueRecordService
.addDefaultRecordService(SecurityUtils.getCurrentUserId(), pushLinkDTO.getName()); .addDefaultRecordService(SecurityUtils.getCurrentUserId(), dtoName, dtoName);
Long recordId = clueRecordEntity.getClueRecordId(); Long recordId = clueRecordEntity.getClueRecordId();
// 插入数据 // 插入数据
PushLinkEntity saveEntity = new PushLinkEntity(); PushLinkEntity saveEntity = new PushLinkEntity();
@ -66,7 +66,7 @@ public class PushLinkServiceImpl extends ExtendServiceImpl<PushLinkMapper, PushL
// 检验数据--创建默认的执行任务 // 检验数据--创建默认的执行任务
distributeTaskService.inspectUserTask(Collections.singletonList(userId)); distributeTaskService.inspectUserTask(Collections.singletonList(userId));
distributeTaskService.addDefaultTask(dtoName, dbPushUrl, recordId.toString(), distributeTaskService.addDefaultTask(dtoName, dbPushUrl, recordId.toString(),
SecurityUtils.getCurrentUserId()); SecurityUtils.getCurrentUserId(), userId);
} }
return dbPushUrl; return dbPushUrl;
} }

@ -33,7 +33,7 @@ mybatis-plus:
ballcat: ballcat:
security: security:
# 前端传输密码的 AES 加密密钥 # 前端传输密码的 AES 加密密钥
password-secret-key: '==BallCat-Auth==' password-secret-key: '==ad-distribute='
oauth2: oauth2:
authorizationserver: authorizationserver:
# 登陆验证码是否开启 # 登陆验证码是否开启

@ -44,6 +44,9 @@
<if test="qo != null and qo.distributeStatus != null"> <if test="qo != null and qo.distributeStatus != null">
AND distribute_status = #{qo.distributeStatus} AND distribute_status = #{qo.distributeStatus}
</if> </if>
<if test="qo != null and qo.recordType != null">
AND record_type = #{qo.recordType}
</if>
</select> </select>
<update id="updateAllocationStatus"> <update id="updateAllocationStatus">

Loading…
Cancel
Save