标签业务修改(合代码,未测试)

master
yqy 2 years ago
parent 35a82d11fc
commit d5ac175898

@ -6,7 +6,6 @@ import com.baiye.model.dto.DynamicTaskDistributionDTO;
import com.baiye.model.dto.TaskQueryCriteria; import com.baiye.model.dto.TaskQueryCriteria;
import com.baiye.modules.platform.domain.Task; import com.baiye.modules.platform.domain.Task;
import com.baiye.modules.platform.service.TaskService; import com.baiye.modules.platform.service.TaskService;
import com.baiye.modules.platform.service.dto.TaskDto;
import com.baiye.modules.platform.service.dto.TaskTagDto; import com.baiye.modules.platform.service.dto.TaskTagDto;
import com.baiye.valid.AddGroup; import com.baiye.valid.AddGroup;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
@ -18,7 +17,6 @@ import org.springframework.http.ResponseEntity;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Set; import java.util.Set;
@ -35,6 +33,7 @@ public class TaskController {
private final TaskService taskService; private final TaskService taskService;
@Inner(value = false)
@ApiOperation("新建任务") @ApiOperation("新建任务")
@PostMapping("/saveTask") @PostMapping("/saveTask")
public CommonResponse<Object> saveTask(@RequestBody @Validated({AddGroup.class}) Task task) { public CommonResponse<Object> saveTask(@RequestBody @Validated({AddGroup.class}) Task task) {
@ -62,7 +61,7 @@ public class TaskController {
@ApiOperation("查询任务列表") @ApiOperation("查询任务列表")
@GetMapping("/list") @GetMapping("/list")
@Inner @Inner(value = false)
public ResponseEntity<Object> list(TaskQueryCriteria taskQueryCriteria) { public ResponseEntity<Object> list(TaskQueryCriteria taskQueryCriteria) {
return new ResponseEntity<>(taskService.list(taskQueryCriteria), HttpStatus.OK); return new ResponseEntity<>(taskService.list(taskQueryCriteria), HttpStatus.OK);
} }
@ -82,12 +81,11 @@ public class TaskController {
@ApiOperation("查询任务标签和小组任务标签") @ApiOperation("查询任务标签和小组任务标签")
@GetMapping("/findTaskLabel") @GetMapping("/findTaskLabel")
public ResponseEntity<Map<String, List<String>>> findTaskLabel(@RequestParam("taskId") Long taskId, public ResponseEntity<Object> findTaskLabel(@RequestParam(value = "userId") Long userId) {
@RequestParam(value = "organizeId", required = false) Long organizeId, return new ResponseEntity<>(taskService.findTaskLabel(userId), HttpStatus.OK);
@RequestParam(value = "userId", required = false) Long userId) {
return new ResponseEntity<>(taskService.findTaskLabel(taskId, organizeId, userId), HttpStatus.OK);
} }
@Inner
@ApiOperation("修改任务信息") @ApiOperation("修改任务信息")
@PostMapping("/update") @PostMapping("/update")
public CommonResponse<Object> updateTask(@RequestBody Task task) { public CommonResponse<Object> updateTask(@RequestBody Task task) {
@ -109,6 +107,7 @@ public class TaskController {
return CommonResponse.createBySuccess(); return CommonResponse.createBySuccess();
} }
@Inner
@ApiOperation("websocket发送错误信息") @ApiOperation("websocket发送错误信息")
@GetMapping("/sendErrMessage") @GetMapping("/sendErrMessage")
public void sendErrMessage(String errorMessage, Long userId) { public void sendErrMessage(String errorMessage, Long userId) {
@ -129,6 +128,7 @@ public class TaskController {
return CommonResponse.createBySuccessMessage("操作成功"); return CommonResponse.createBySuccessMessage("操作成功");
} }
@Inner
@ApiOperation("查询动态任务(自动)分配比率") @ApiOperation("查询动态任务(自动)分配比率")
@GetMapping("/findTaskDistribution") @GetMapping("/findTaskDistribution")
public CommonResponse<DynamicTaskDistributionDTO> findTaskDistribution(@RequestParam("taskId") Long taskId) { public CommonResponse<DynamicTaskDistributionDTO> findTaskDistribution(@RequestParam("taskId") Long taskId) {

@ -58,7 +58,7 @@ public interface TaskService {
/** /**
* *
*/ */
Map<String, List<String>> findTaskLabel(Long taskId, Long organizeId, Long userId); List<Object> findTaskLabel(Long userId);
/** /**
* *

@ -59,6 +59,7 @@ public class LabelOrganizeServiceImpl implements LabelOrganizeService {
String name = labelOrganize.getName(); String name = labelOrganize.getName();
Long organizeId = labelOrganize.getId(); Long organizeId = labelOrganize.getId();
List<Label> labelList = labelOrganize.getLabelList(); List<Label> labelList = labelOrganize.getLabelList();
Integer isEnable = labelOrganize.getIsEnable();
Long currentUserId = SecurityUtils.getCurrentUserId(); Long currentUserId = SecurityUtils.getCurrentUserId();
//1、删除标签信息 //1、删除标签信息
if (CollUtil.isNotEmpty(delLabelIds)) { if (CollUtil.isNotEmpty(delLabelIds)) {
@ -69,6 +70,7 @@ public class LabelOrganizeServiceImpl implements LabelOrganizeService {
if (RequestUtils.isNotBlank(name)) { if (RequestUtils.isNotBlank(name)) {
updateLabelOrganize.setName(name); updateLabelOrganize.setName(name);
} }
if (isEnable != null) updateLabelOrganize.setIsEnable(isEnable);
labelOrganizeRepository.save(updateLabelOrganize); labelOrganizeRepository.save(updateLabelOrganize);
//3、是否有新增标签 //3、是否有新增标签
if (CollUtil.isNotEmpty(labelList)) { if (CollUtil.isNotEmpty(labelList)) {

@ -21,7 +21,6 @@ import com.baiye.modules.platform.service.LabelService;
import com.baiye.modules.platform.service.TaskService; import com.baiye.modules.platform.service.TaskService;
import com.baiye.modules.platform.service.dto.*; import com.baiye.modules.platform.service.dto.*;
import com.baiye.modules.platform.service.mapstruct.TaskMapper; import com.baiye.modules.platform.service.mapstruct.TaskMapper;
import com.baiye.modules.platform.service.mapstruct.TaskOrganizeMapper;
import com.baiye.modules.system.domain.User; import com.baiye.modules.system.domain.User;
import com.baiye.modules.system.repository.UserRepository; import com.baiye.modules.system.repository.UserRepository;
import com.baiye.socket.WebSocketServer; import com.baiye.socket.WebSocketServer;
@ -62,7 +61,6 @@ public class TaskServiceImpl implements TaskService {
private final TaskUserDistributionRepository taskUserDistributionRepository; private final TaskUserDistributionRepository taskUserDistributionRepository;
private final AdBackRequestApi adBackRequestApi; private final AdBackRequestApi adBackRequestApi;
private final TaskTagRepository taskTagRepository; private final TaskTagRepository taskTagRepository;
private final TaskOrganizeMapper taskOrganizeMapper;
private final WebSocketServer webSocketServer; private final WebSocketServer webSocketServer;
@Value("${snowflake.workerId}") @Value("${snowflake.workerId}")
private int workerId; private int workerId;
@ -73,36 +71,15 @@ public class TaskServiceImpl implements TaskService {
@Override @Override
@Transactional(rollbackOn = Exception.class) @Transactional(rollbackOn = Exception.class)
public void saveTask(Task task) { public void saveTask(Task task) {
Long labelOrganizeId = task.getLabelOrganizeId(); if (task.getId() == null) task.setId(IdUtil.getSnowflake(workerId, datacenterId).nextId());
if (task.getId() == null) { if (CollUtil.isNotEmpty(task.getOrganizeList())) task.setOrganizeList(task.getOrganizeList());
task.setId(IdUtil.getSnowflake(workerId, datacenterId).nextId()); task.setCreateBy(SecurityUtils.getCurrentUserId());
}
if (CollUtil.isNotEmpty(task.getOrganizeList())) {
task.setOrganizeList(task.getOrganizeList());
}
if (task.getCreateBy() == null) {
task.setCreateBy(SecurityUtils.getCurrentUserId());
}
if (task.getIsForm() == DefaultNumberConstants.FIVE_NUMBER) {
List<String> labelList = new ArrayList<>();
labelList.add("有意向");
labelList.add("无意向");
labelList.add("未接通");
task.setBaseLabel(labelList);
} else {
List<String> labelList = labelService.findLabelList(new HashSet<>(Collections.singleton(labelOrganizeId)));
if (CollUtil.isNotEmpty(labelList)) {
task.setBaseLabel(labelList);
}
}
task.setIsDistribution(DefaultNumberConstants.ZERO_NUMBER); task.setIsDistribution(DefaultNumberConstants.ZERO_NUMBER);
taskRepository.save(task); taskRepository.save(task);
} }
/** /**
* ad-back * ad-back
*
* @param taskTagDto
*/ */
@Override @Override
public CommonResponse<Object> saveAdBackTask(TaskTagDto taskTagDto) { public CommonResponse<Object> saveAdBackTask(TaskTagDto taskTagDto) {
@ -113,7 +90,7 @@ public class TaskServiceImpl implements TaskService {
} }
createTask(taskId, taskTagDto.getUserId(), taskTagDto.getTaskName(), DefaultNumberConstants.FOUR_NUMBER, taskTagDto.getLabelOrganizeId(), taskTagDto createTask(taskId, taskTagDto.getUserId(), taskTagDto.getTaskName(), DefaultNumberConstants.FOUR_NUMBER, taskTagDto.getLabelOrganizeId(), taskTagDto
.getRemark()); .getRemark());
// 推送到adbask // 推送到adbask
adBackRequestApi.sendTag(taskId, taskTagDto.getUserId(), taskTagDto.getTagStr()); adBackRequestApi.sendTag(taskId, taskTagDto.getUserId(), taskTagDto.getTagStr());
return CommonResponse.createBySuccess(); return CommonResponse.createBySuccess();
} }
@ -179,7 +156,6 @@ public class TaskServiceImpl implements TaskService {
private void createTask(Long taskId, Long id, String taskName, Integer isForm, Long labelOrganizeId, String remark) { private void createTask(Long taskId, Long id, String taskName, Integer isForm, Long labelOrganizeId, String remark) {
Task task = new Task(); Task task = new Task();
task.setId(taskId); task.setId(taskId);
task.setTaskName(taskName);
task.setIsEncryption(DefaultNumberConstants.ZERO_NUMBER); task.setIsEncryption(DefaultNumberConstants.ZERO_NUMBER);
//设置默认值 //设置默认值
task.setIsDistribution(DefaultNumberConstants.ZERO_NUMBER); task.setIsDistribution(DefaultNumberConstants.ZERO_NUMBER);
@ -187,6 +163,7 @@ public class TaskServiceImpl implements TaskService {
task.setIsForm(isForm); task.setIsForm(isForm);
task.setCreateBy(id); task.setCreateBy(id);
task.setRemark(remark); task.setRemark(remark);
task.setTaskName(taskName);
taskRepository.save(task); taskRepository.save(task);
} }
@ -363,28 +340,32 @@ public class TaskServiceImpl implements TaskService {
} }
@Override @Override
public Map<String, List<String>> findTaskLabel(Long taskId, Long organizeId, Long userId) { public List<Object> findTaskLabel(Long userId) {
Map<String, List<String>> returnMap = new HashMap<>(); User user = userRepository.findById(userId).orElseGet(User::new);
TaskOrganizeQueryCriteria taskOrganizeQueryCriteria = new TaskOrganizeQueryCriteria(); // 查询公司下的标签组
taskOrganizeQueryCriteria.setTaskId(taskId); LabelOrganizeQueryCriteria criteria = new LabelOrganizeQueryCriteria();
if (organizeId != null) { criteria.setCreateBy(user.getWhichUserId());
taskOrganizeQueryCriteria.setOrganizeId(organizeId); criteria.setIsEnable(DefaultNumberConstants.ONE_NUMBER);
} List<LabelOrganizeDto> labelOrganizeDtoList = labelOrganizeService.query(criteria);
List<TaskOrganizeDto> taskOrganizeList = taskOrganizeMapper.toDto(taskOrganizeRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root, taskOrganizeQueryCriteria, criteriaBuilder))); // 查询公司下的标签信息
if (CollUtil.isNotEmpty(taskOrganizeList)) { LabelQueryCriteria labelQueryCriteria = new LabelQueryCriteria();
TaskOrganizeDto taskOrganizeDto = taskOrganizeList.get(0); labelQueryCriteria.setUserId(user.getWhichUserId());
returnMap.put(KeyFieldConstants.TASK_ORGANIZE_LABEL, taskOrganizeDto.getOrganizeLabel()); List<LabelDto> labelDtoList = labelService.queryAll(labelQueryCriteria);
} Map<Long, List<LabelDto>> collect = labelDtoList.stream().collect(Collectors.groupingBy(LabelDto::getLabelOrganizeId));
if (userId != null) { // 数据处理
User user = userRepository.findById(userId).orElseGet(User::new); List<Object> list = new ArrayList<>();
LabelOrganizeQueryCriteria criteria = new LabelOrganizeQueryCriteria(); if (CollUtil.isNotEmpty(labelOrganizeDtoList)) {
criteria.setCreateBy(user.getWhichUserId()); for (LabelOrganizeDto labelOrganizeDto : labelOrganizeDtoList) {
criteria.setIsEnable(DefaultNumberConstants.ONE_NUMBER); if (collect.containsKey(labelOrganizeDto.getId())) {
Set<Long> ids = labelOrganizeService.query(criteria).stream().map(LabelOrganizeDto::getId).collect(Collectors.toSet()); Map<String, Object> map = new HashMap<>();
List<String> labelList = labelService.findLabelList(ids); map.put("organizeName", labelOrganizeDto.getName());
returnMap.put(KeyFieldConstants.TASK_BASE_LABEL, labelList); List<String> labelList = collect.get(labelOrganizeDto.getId()).stream().map(LabelDto::getLabelName).collect(Collectors.toList());
map.put("labelList", labelList);
list.add(map);
}
}
} }
return returnMap; return list;
} }
@Override @Override
@ -518,5 +499,4 @@ public class TaskServiceImpl implements TaskService {
dynamicTaskDistributionUserDTO.setRatio(countMap.get(key)); dynamicTaskDistributionUserDTO.setRatio(countMap.get(key));
} }
} }
} }

@ -103,6 +103,7 @@ public class UserServiceImpl implements UserService {
private final PayTemplateUserService payTemplateUserService; private final PayTemplateUserService payTemplateUserService;
private final OrganizeUserRepository organizeUserRepository; private final OrganizeUserRepository organizeUserRepository;
private final TaskRepository taskRepository; private final TaskRepository taskRepository;
private final TaskService taskService;
private final TaskOrganizeRepository taskOrganizeRepository; private final TaskOrganizeRepository taskOrganizeRepository;
private final TaskUserDistributionRepository taskUserDistributionRepository; private final TaskUserDistributionRepository taskUserDistributionRepository;
private final SourceClueClient sourceClueClient; private final SourceClueClient sourceClueClient;
@ -239,13 +240,13 @@ public class UserServiceImpl implements UserService {
Long labelOrganizeId = labelOrganizeService.saveDefault(userCreateResult.getId()); Long labelOrganizeId = labelOrganizeService.saveDefault(userCreateResult.getId());
if (userDTO.getCompanyType() != null && userDTO.getCompanyType() == 1) { if (userDTO.getCompanyType() != null && userDTO.getCompanyType() == 1) {
//抖音(飞鱼) //抖音(飞鱼)
createTask(userCreateResult.getId(), "抖音任务", DefaultNumberConstants.THREE_NUMBER, labelOrganizeId); createTask(userCreateResult.getId(), "抖音任务", DefaultNumberConstants.THREE_NUMBER);
} }
//公司名称做的对应,所以将公司名设为表单任务名 //公司名称做的对应,所以将公司名设为表单任务名
createTask(userCreateResult.getId(), userCreateResult.getUsername(), DefaultNumberConstants.ONE_NUMBER, labelOrganizeId); createTask(userCreateResult.getId(), userCreateResult.getUsername(), DefaultNumberConstants.ONE_NUMBER);
createTask(userCreateResult.getId(), "员工上传任务", DefaultNumberConstants.TWO_NUMBER, labelOrganizeId); createTask(userCreateResult.getId(), "员工上传任务", DefaultNumberConstants.TWO_NUMBER);
createTask(userCreateResult.getId(), "拓客模块-投流回流池", DefaultNumberConstants.SEVEN_NUMBER, labelOrganizeId); createTask(userCreateResult.getId(), "拓客模块-投流回流池", DefaultNumberConstants.SEVEN_NUMBER);
createTask(userCreateResult.getId(), "拓客模块-拓客回流池", DefaultNumberConstants.SIX_NUMBER, labelOrganizeId); createTask(userCreateResult.getId(), "拓客模块-拓客回流池", DefaultNumberConstants.SIX_NUMBER);
} }
MultipartFile file = userDTO.getFile(); MultipartFile file = userDTO.getFile();
@ -266,7 +267,7 @@ public class UserServiceImpl implements UserService {
* *
* @param username * @param username
*/ */
private void createTask(Long id, String username, Integer isForm, Long labelOrganizeId) { private void createTask(Long id, String username, Integer isForm) {
Long taskId = IdUtil.getSnowflake(9, 9).nextId(); Long taskId = IdUtil.getSnowflake(9, 9).nextId();
Task task = new Task(); Task task = new Task();
task.setId(taskId); task.setId(taskId);
@ -490,7 +491,7 @@ public class UserServiceImpl implements UserService {
//抖音授权 //抖音授权
List<Task> tasks = taskRepository.findByCreateByAndIsForm(user.getId(), DefaultNumberConstants.THREE_NUMBER); List<Task> tasks = taskRepository.findByCreateByAndIsForm(user.getId(), DefaultNumberConstants.THREE_NUMBER);
if (CollUtil.isEmpty(tasks)) { if (CollUtil.isEmpty(tasks)) {
createTask(user.getId(), "抖音任务", DefaultNumberConstants.THREE_NUMBER, null); createTask(user.getId(), "抖音任务", DefaultNumberConstants.THREE_NUMBER);
} }
} }
} }
@ -752,8 +753,6 @@ public class UserServiceImpl implements UserService {
/** /**
* *
*
* @param username /
*/ */
/* private void flushCache(String username) { /* private void flushCache(String username) {
userCacheClean.cleanUserCache(username); userCacheClean.cleanUserCache(username);

@ -76,11 +76,8 @@ public class ClueDto implements Serializable {
@ApiModelProperty(value = "标签") @ApiModelProperty(value = "标签")
private Object sourceLabel; private Object sourceLabel;
@ApiModelProperty(value = "组长标签") @ApiModelProperty(value = "全部标签返回")
private List<String> organizeLabel = new ArrayList<>(); private List<Object> label = new ArrayList<>();
@ApiModelProperty(value = "任务(管理员)标签")
private List<String> baseLabel = new ArrayList<>();
@ApiModelProperty(value = "任务名") @ApiModelProperty(value = "任务名")
private String taskName; private String taskName;

@ -22,7 +22,7 @@ public interface TaskClient {
@ApiOperation("添加任务") @ApiOperation("添加任务")
@PostMapping(value = PAY_PREFIX + "/saveTask") @PostMapping(value = PAY_PREFIX + "/saveTask")
ResponseEntity<Object> saveTask(@RequestBody Task task); ResponseEntity<Object> saveTask(@RequestBody Task task, @RequestHeader(SecurityConstants.FROM) String from);
@ApiOperation("查询任务列表") @ApiOperation("查询任务列表")
@PostMapping(PAY_PREFIX + "/query") @PostMapping(PAY_PREFIX + "/query")
@ -34,7 +34,7 @@ public interface TaskClient {
@ApiOperation("websocket发送错误信息") @ApiOperation("websocket发送错误信息")
@GetMapping(PAY_PREFIX + "/sendErrMessage") @GetMapping(PAY_PREFIX + "/sendErrMessage")
void sendErrMessage(@RequestParam("errorMessage") String errorMessage, @RequestParam("userId") Long userId); void sendErrMessage(@RequestParam("errorMessage") String errorMessage, @RequestParam("userId") Long userId, @RequestHeader(SecurityConstants.FROM) String from);
@ApiOperation("查询任务详情") @ApiOperation("查询任务详情")
@GetMapping(PAY_PREFIX + "/queryDetails") @GetMapping(PAY_PREFIX + "/queryDetails")
@ -42,11 +42,11 @@ public interface TaskClient {
@ApiOperation("修改任务信息") @ApiOperation("修改任务信息")
@PostMapping(PAY_PREFIX + "/update") @PostMapping(PAY_PREFIX + "/update")
CommonResponse<Object> updateTask(@RequestBody Task task); CommonResponse<Object> updateTask(@RequestBody Task task, @RequestHeader(SecurityConstants.FROM) String from);
@ApiOperation("查询动态任务(自动)分配比率") @ApiOperation("查询动态任务(自动)分配比率")
@GetMapping(PAY_PREFIX + "/findTaskDistribution") @GetMapping(PAY_PREFIX + "/findTaskDistribution")
CommonResponse<DynamicTaskDistributionDTO> findTaskDistribution(@RequestParam("taskId") Long taskId); CommonResponse<DynamicTaskDistributionDTO> findTaskDistribution(@RequestParam("taskId") Long taskId, @RequestHeader(SecurityConstants.FROM) String from);
@ApiOperation("查询任务列表") @ApiOperation("查询任务列表")
@GetMapping(PAY_PREFIX + "/list") @GetMapping(PAY_PREFIX + "/list")
@ -65,7 +65,5 @@ public interface TaskClient {
@ApiOperation("查询任务标签和小组任务标签") @ApiOperation("查询任务标签和小组任务标签")
@GetMapping(PAY_PREFIX + "/findTaskLabel") @GetMapping(PAY_PREFIX + "/findTaskLabel")
ResponseEntity<Map<String, List<String>>> findTaskLabel(@RequestParam("taskId") Long taskId, ResponseEntity<List<Object>> findTaskLabel(@RequestParam(value = "userId") Long userId);
@RequestParam(value = "organizeId", required = false) Long organizeId,
@RequestParam(value = "userId", required = false) Long userId);
} }

@ -17,7 +17,7 @@ import java.util.Set;
@Component @Component
public class TaskClientFallback implements TaskClient { public class TaskClientFallback implements TaskClient {
@Override @Override
public ResponseEntity<Object> saveTask(Task task) { public ResponseEntity<Object> saveTask(Task task, String from) {
return null; return null;
} }
@ -32,7 +32,7 @@ public class TaskClientFallback implements TaskClient {
} }
@Override @Override
public void sendErrMessage(String errorMessage, Long userId) { public void sendErrMessage(String errorMessage, Long userId, String from) {
} }
@ -42,12 +42,12 @@ public class TaskClientFallback implements TaskClient {
} }
@Override @Override
public CommonResponse<Object> updateTask(Task task) { public CommonResponse<Object> updateTask(Task task, String from) {
return null; return null;
} }
@Override @Override
public CommonResponse<DynamicTaskDistributionDTO> findTaskDistribution(Long taskId) { public CommonResponse<DynamicTaskDistributionDTO> findTaskDistribution(Long taskId, String from) {
return null; return null;
} }
@ -61,7 +61,7 @@ public class TaskClientFallback implements TaskClient {
} }
@Override @Override
public ResponseEntity<Map<String, List<String>>> findTaskLabel(Long taskId, Long organizeId, Long userId) { public ResponseEntity<List<Object>> findTaskLabel(Long userId) {
return null; return null;
} }
} }

@ -105,18 +105,6 @@ public class ClueController {
return new ResponseEntity<>(clueService.findMemberIdList(clueMiddle), HttpStatus.OK); return new ResponseEntity<>(clueService.findMemberIdList(clueMiddle), HttpStatus.OK);
} }
@ApiOperation("导出资源记录")
@GetMapping("/queryRecordList/download")
public void exportRecordList(HttpServletResponse response, ClueRecordCriteria clueRecordCriteria) {
clueService.exportRecordList(response, clueRecordCriteria);
}
@ApiOperation("导出资源(客户列表)")
@GetMapping("/queryAll/download")
public void exportClueList(HttpServletResponse response, ClueQueryCriteria clueQueryCriteria) {
clueService.exportClueList(response, clueQueryCriteria);
}
@ApiOperation("查询资源标签(统计)") @ApiOperation("查询资源标签(统计)")
@PostMapping("/findSourceLabel") @PostMapping("/findSourceLabel")
public ResponseEntity<List<ResSourceLabel>> findSourceLabel(@RequestBody List<Long> clueIds) { public ResponseEntity<List<ResSourceLabel>> findSourceLabel(@RequestBody List<Long> clueIds) {

@ -2,6 +2,7 @@ package com.baiye.module.controller;
import com.baiye.http.CommonResponse; import com.baiye.http.CommonResponse;
import com.baiye.module.service.ClueRecordService; import com.baiye.module.service.ClueRecordService;
import com.baiye.module.service.dto.ClueRecordCriteria;
import com.baiye.module.service.dto.ClueRecordQueryCriteria; import com.baiye.module.service.dto.ClueRecordQueryCriteria;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
@ -9,6 +10,8 @@ import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
@RequiredArgsConstructor @RequiredArgsConstructor
@RestController @RestController
@Api(tags = "文件上传记录表") @Api(tags = "文件上传记录表")
@ -37,4 +40,10 @@ public class ClueRecordController {
public CommonResponse<Object> findClueFailRecord(@RequestParam("recordId") Long recordId){ public CommonResponse<Object> findClueFailRecord(@RequestParam("recordId") Long recordId){
return CommonResponse.createBySuccess(clueRecordService.findClueFailRecord(recordId)); return CommonResponse.createBySuccess(clueRecordService.findClueFailRecord(recordId));
} }
@ApiOperation("导出资源记录")
@GetMapping("/queryRecordList/download")
public void exportRecordList(HttpServletResponse response, ClueRecordCriteria clueRecordCriteria) {
clueRecordService.exportRecordList(response, clueRecordCriteria);
}
} }

@ -123,6 +123,7 @@ public class ClueJpa {
Integer memberStatus = clueQueryCriteria.getMemberStatus(); Integer memberStatus = clueQueryCriteria.getMemberStatus();
Boolean isAdmin = clueQueryCriteria.getIsAdmin(); Boolean isAdmin = clueQueryCriteria.getIsAdmin();
Integer publicPoolStatus = clueQueryCriteria.getPublicPoolStatus(); Integer publicPoolStatus = clueQueryCriteria.getPublicPoolStatus();
Long userId = clueQueryCriteria.getUserId();
List<Timestamp> newestCallTimeList = clueQueryCriteria.getNewestCallTime(); List<Timestamp> newestCallTimeList = clueQueryCriteria.getNewestCallTime();
List<Timestamp> createTime = clueQueryCriteria.getCreateTime(); List<Timestamp> createTime = clueQueryCriteria.getCreateTime();
@ -186,6 +187,9 @@ public class ClueJpa {
if (publicPoolStatus != null) { if (publicPoolStatus != null) {
sql.append("and cm.public_pool_status = :publicPoolStatus "); sql.append("and cm.public_pool_status = :publicPoolStatus ");
} }
if (userId != null) {
sql.append("and c.create_by = :userId ");
}
//拼接最后加入时间排序,没加id排序出现数据重复问题(注意空格) //拼接最后加入时间排序,没加id排序出现数据重复问题(注意空格)
sql.append("ORDER BY c.create_time desc ,c.id "); sql.append("ORDER BY c.create_time desc ,c.id ");
@ -252,6 +256,9 @@ public class ClueJpa {
if (publicPoolStatus != null) { if (publicPoolStatus != null) {
query.setParameter("publicPoolStatus", publicPoolStatus); query.setParameter("publicPoolStatus", publicPoolStatus);
} }
if (userId != null) {
query.setParameter("userId", userId);
}
query.unwrap(NativeQueryImpl.class).setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP); query.unwrap(NativeQueryImpl.class).setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP);
return query.getResultList(); return query.getResultList();
} }

@ -1,9 +1,10 @@
package com.baiye.module.service; package com.baiye.module.service;
import com.baiye.module.entity.ClueFailRecord; import com.baiye.module.entity.ClueFailRecord;
import com.baiye.module.entity.ClueRecord; import com.baiye.module.service.dto.ClueRecordCriteria;
import com.baiye.module.service.dto.ClueRecordQueryCriteria; import com.baiye.module.service.dto.ClueRecordQueryCriteria;
import javax.servlet.http.HttpServletResponse;
import java.util.List; import java.util.List;
public interface ClueRecordService { public interface ClueRecordService {
@ -22,4 +23,9 @@ public interface ClueRecordService {
* *
*/ */
List<ClueFailRecord> findClueFailRecord(Long recordId); List<ClueFailRecord> findClueFailRecord(Long recordId);
/**
*
*/
void exportRecordList(HttpServletResponse response, ClueRecordCriteria clueRecordCriteria);
} }

@ -61,15 +61,10 @@ public interface ClueService {
*/ */
List<ClueDto> query(ClueQueryCriteria clueQueryCriteria); List<ClueDto> query(ClueQueryCriteria clueQueryCriteria);
/** // /**
* // * 导出资源(客户列表)
*/ // */
void exportRecordList(HttpServletResponse response, ClueRecordCriteria clueRecordCriteria); // void exportClueList(HttpServletResponse response, ClueQueryCriteria clueQueryCriteria);
/**
* ()
*/
void exportClueList(HttpServletResponse response, ClueQueryCriteria clueQueryCriteria);
/** /**
* *

@ -1,97 +1,97 @@
package com.baiye.module.service.dto; //package com.baiye.module.service.dto;
//
import com.alibaba.excel.annotation.ExcelIgnore; //import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty; //import com.alibaba.excel.annotation.ExcelProperty;
import com.baiye.util.ExportOriginConverter; //import com.baiye.util.ExportOriginConverter;
import com.baiye.util.ExportStatusConverter; //import com.baiye.util.ExportStatusConverter;
import io.swagger.annotations.ApiModelProperty; //import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor; //import lombok.AllArgsConstructor;
import lombok.Getter; //import lombok.Getter;
import lombok.NoArgsConstructor; //import lombok.NoArgsConstructor;
import lombok.Setter; //import lombok.Setter;
//
import java.io.Serializable; //import java.io.Serializable;
import java.util.Date; //import java.util.Date;
import java.util.List; //import java.util.List;
//
@Getter //@Getter
@Setter //@Setter
@AllArgsConstructor //@AllArgsConstructor
@NoArgsConstructor //@NoArgsConstructor
public class ExcelClueDto implements Serializable { //public class ExcelClueDto implements Serializable {
//
@ExcelIgnore // @ExcelIgnore
private Long id; // private Long id;
//
@ExcelProperty(value = "姓名", index = 0) // @ExcelProperty(value = "姓名", index = 0)
@ApiModelProperty(value = "姓名") // @ApiModelProperty(value = "姓名")
private String name; // private String name;
//
@ExcelProperty(value = "手机号", index = 1) // @ExcelProperty(value = "手机号", index = 1)
@ApiModelProperty(value = "nid") // @ApiModelProperty(value = "nid")
private String nid; // private String nid;
//
@ExcelProperty(value = "微信", index = 2) // @ExcelProperty(value = "微信", index = 2)
@ApiModelProperty(value = "微信") // @ApiModelProperty(value = "微信")
private String wx; // private String wx;
//
@ExcelProperty(value = "渠道", index = 4 ,converter = ExportOriginConverter.class) // @ExcelProperty(value = "渠道", index = 4 ,converter = ExportOriginConverter.class)
@ApiModelProperty(value = "数据来源 0:自定义模板 1:UC 2:快手 3:抖音 4:百度") // @ApiModelProperty(value = "数据来源 0:自定义模板 1:UC 2:快手 3:抖音 4:百度")
private Integer origin; // private Integer origin;
//
@ExcelProperty(value = "金额", index = 3) // @ExcelProperty(value = "金额", index = 3)
@ApiModelProperty(value = "金额") // @ApiModelProperty(value = "金额")
private String amount; // private String amount;
//
@ApiModelProperty(value = "数据收集日期") // @ApiModelProperty(value = "数据收集日期")
@ExcelIgnore // @ExcelIgnore
private Date collectTime; // private Date collectTime;
//
@ExcelProperty(value = "线索归属地", index = 5) // @ExcelProperty(value = "线索归属地", index = 5)
@ApiModelProperty(value = "线索归属地") // @ApiModelProperty(value = "线索归属地")
private String address; // private String address;
//
@ExcelIgnore // @ExcelIgnore
@ApiModelProperty(value = "导入记录id") // @ApiModelProperty(value = "导入记录id")
private Long recordId; // private Long recordId;
//
@ExcelIgnore // @ExcelIgnore
@ApiModelProperty(value = "小组id") // @ApiModelProperty(value = "小组id")
private Long organizeId; // private Long organizeId;
//
@ExcelIgnore // @ExcelIgnore
@ApiModelProperty(value = "所属组员id") // @ApiModelProperty(value = "所属组员id")
private Long memberId; // private Long memberId;
//
@ExcelProperty(value = "跟进状态", index = 6, converter = ExportStatusConverter.class) // @ExcelProperty(value = "跟进状态", index = 6, converter = ExportStatusConverter.class)
@ApiModelProperty(value = "组员跟进状态 0无状态 1进行中 2已完成") // @ApiModelProperty(value = "组员跟进状态 0无状态 1进行中 2已完成")
private Integer memberStatus; // private Integer memberStatus;
//
@ApiModelProperty(value = "创建人") // @ApiModelProperty(value = "创建人")
@ExcelIgnore // @ExcelIgnore
private Long createBy; // private Long createBy;
//
@ExcelProperty(value = "创建时间", index = 8) // @ExcelProperty(value = "创建时间", index = 8)
@ApiModelProperty(value = "创建时间") // @ApiModelProperty(value = "创建时间")
private Date createTime; // private Date createTime;
//
@ExcelIgnore // @ExcelIgnore
@ApiModelProperty(value = "更新时间") // @ApiModelProperty(value = "更新时间")
private Date updateTime; // private Date updateTime;
//
@ExcelProperty(value = "备注", index = 7) // @ExcelProperty(value = "备注", index = 7)
@ApiModelProperty(value = "备注") // @ApiModelProperty(value = "备注")
private String remark; // private String remark;
//
@ExcelIgnore // @ExcelIgnore
private Long taskId; // private Long taskId;
//
@ExcelIgnore // @ExcelIgnore
private Object sourceLabel; // private Object sourceLabel;
//
@ExcelIgnore // @ExcelIgnore
private List<String> organizeLabel; // private List<String> organizeLabel;
//
@ExcelIgnore // @ExcelIgnore
private List<String> baseLabel; // private List<String> baseLabel;
} //}

@ -9,16 +9,23 @@ import com.baiye.module.dao.ClueRecordRepository;
import com.baiye.module.entity.ClueFailRecord; import com.baiye.module.entity.ClueFailRecord;
import com.baiye.module.entity.ClueRecord; import com.baiye.module.entity.ClueRecord;
import com.baiye.module.service.ClueRecordService; import com.baiye.module.service.ClueRecordService;
import com.baiye.module.service.dto.ClueRecordCriteria;
import com.baiye.module.service.dto.ClueRecordDto;
import com.baiye.module.service.dto.ClueRecordQueryCriteria; import com.baiye.module.service.dto.ClueRecordQueryCriteria;
import com.baiye.module.service.mapstruct.ClueRecordMapper;
import com.baiye.task.FileAnalysisTask; import com.baiye.task.FileAnalysisTask;
import com.baiye.util.ExportExcelUtil;
import com.baiye.util.QueryHelp;
import com.baiye.util.SecurityUtils;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.data.domain.Sort;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import java.util.*; import java.util.*;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@ -32,6 +39,7 @@ public class ClueRecordServiceImpl implements ClueRecordService {
private final UserClient userClient; private final UserClient userClient;
private final ClueRecordRepository clueRecordRepository; private final ClueRecordRepository clueRecordRepository;
private final ClueFailRecordRepository clueFailRecordRepository; private final ClueFailRecordRepository clueFailRecordRepository;
private final ClueRecordMapper clueRecordMapper;
@Value("${storage.download-auditing-file}") @Value("${storage.download-auditing-file}")
private String auditingFileUrl; private String auditingFileUrl;
@ -104,4 +112,12 @@ public class ClueRecordServiceImpl implements ClueRecordService {
public List<ClueFailRecord> findClueFailRecord(Long recordId) { public List<ClueFailRecord> findClueFailRecord(Long recordId) {
return clueFailRecordRepository.findByRecordId(recordId); return clueFailRecordRepository.findByRecordId(recordId);
} }
@Override
public void exportRecordList(HttpServletResponse response, ClueRecordCriteria clueRecordCriteria) {
clueRecordCriteria.setCreateBy(SecurityUtils.getCurrentUserId());
Sort sort = Sort.by(Sort.Direction.DESC, "createTime");
List<ClueRecordDto> clueRecordDtoList = clueRecordMapper.toDto(clueRecordRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root, clueRecordCriteria, criteriaBuilder), sort));
ExportExcelUtil.downloadEasyExcel(response, ClueRecordDto.class, clueRecordDtoList, "record");
}
} }

@ -4,6 +4,7 @@ import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import cn.hutool.json.JSONObject;
import com.baiye.constant.*; import com.baiye.constant.*;
import com.baiye.enums.ClueStageEnum; import com.baiye.enums.ClueStageEnum;
import com.baiye.exception.BadRequestException; import com.baiye.exception.BadRequestException;
@ -18,9 +19,6 @@ import com.baiye.module.request.ReqOceanEngineApi;
import com.baiye.module.service.ClueService; import com.baiye.module.service.ClueService;
import com.baiye.module.service.CompanyService; import com.baiye.module.service.CompanyService;
import com.baiye.module.service.dto.ClueRecordCriteria; import com.baiye.module.service.dto.ClueRecordCriteria;
import com.baiye.module.service.dto.ClueRecordDto;
import com.baiye.module.service.dto.ExcelClueDto;
import com.baiye.module.service.mapstruct.ClueRecordMapper;
import com.baiye.task.ClueBackupsTask; import com.baiye.task.ClueBackupsTask;
import com.baiye.util.*; import com.baiye.util.*;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
@ -29,14 +27,12 @@ import org.apache.commons.lang.StringUtils;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.data.domain.Page; import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable; import org.springframework.data.domain.Pageable;
import org.springframework.data.domain.Sort;
import org.springframework.http.HttpStatus; import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity; import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import javax.servlet.http.HttpServletResponse;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.*; import java.util.*;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@ -49,7 +45,6 @@ public class ClueServiceImpl implements ClueService {
private final ClueRepository clueRepository; private final ClueRepository clueRepository;
private final ClueRecordRepository clueRecordRepository; private final ClueRecordRepository clueRecordRepository;
private final ClueRecordMapper clueRecordMapper;
private final ClueMiddleRepository clueMiddleRepository; private final ClueMiddleRepository clueMiddleRepository;
private final ClueTalkRepository clueTalkRepository; private final ClueTalkRepository clueTalkRepository;
private final ClueJpa clueJpa; private final ClueJpa clueJpa;
@ -268,7 +263,7 @@ public class ClueServiceImpl implements ClueService {
} }
Set<Long> memberIds = clueDtoList.stream().map(ClueDto::getMemberId).collect(Collectors.toSet()); Set<Long> memberIds = clueDtoList.stream().map(ClueDto::getMemberId).collect(Collectors.toSet());
Map<Long, String> userNickNameMap = userClient.findById(memberIds); Map<Long, String> userNickNameMap = userClient.findById(memberIds);
// id查询(详情查询)时返回标签信息 // 资源ID查询(详情查询)时返回标签信息
if (clueQueryCriteria.getId() != null) { if (clueQueryCriteria.getId() != null) {
for (ClueDto clueDto : clueDtoList) { for (ClueDto clueDto : clueDtoList) {
//查询分配人的用户名称 //查询分配人的用户名称
@ -276,18 +271,9 @@ public class ClueServiceImpl implements ClueService {
if (memberId != null && userNickNameMap.containsKey(memberId)) { if (memberId != null && userNickNameMap.containsKey(memberId)) {
clueDto.setDistributeUserName(userNickNameMap.get(memberId)); clueDto.setDistributeUserName(userNickNameMap.get(memberId));
} }
ResponseEntity<Map<String, List<String>>> response = taskClient.findTaskLabel(clueDto.getTaskId(), clueDto.getOrganizeId(), clueQueryCriteria.getMemberId()); ResponseEntity<List<Object>> response = taskClient.findTaskLabel(clueQueryCriteria.getMemberId());
if (response.getStatusCode().value() != 200) { if (response.getStatusCode().value() != 200) throw new BadRequestException("查询出错");
throw new BadRequestException("查询出错"); if (CollUtil.isNotEmpty(response.getBody())) clueDto.setLabel(response.getBody());
}
List<String> organizeLabel = Objects.requireNonNull(response.getBody()).get(KeyFieldConstants.TASK_ORGANIZE_LABEL);
List<String> baseLabel = Objects.requireNonNull(response.getBody()).get(KeyFieldConstants.TASK_BASE_LABEL);
if (CollUtil.isNotEmpty(organizeLabel)) {
clueDto.setOrganizeLabel(organizeLabel);
}
if (CollUtil.isNotEmpty(baseLabel)) {
clueDto.setBaseLabel(baseLabel);
}
AddWeChatFriendRecordDTO recordDTO = weChatAddFriendClient.findByClueId(clueDto.getId()).getBody(); AddWeChatFriendRecordDTO recordDTO = weChatAddFriendClient.findByClueId(clueDto.getId()).getBody();
clueDto.setAddWeChatStatus(DefaultNumberConstants.MINUS_ONE_NUMBER); clueDto.setAddWeChatStatus(DefaultNumberConstants.MINUS_ONE_NUMBER);
if (recordDTO != null) { if (recordDTO != null) {
@ -302,22 +288,13 @@ public class ClueServiceImpl implements ClueService {
throw new BadRequestException("查询业务员不能为空"); throw new BadRequestException("查询业务员不能为空");
} }
@Override // @Override
public void exportRecordList(HttpServletResponse response, ClueRecordCriteria clueRecordCriteria) { // public void exportClueList(HttpServletResponse response, ClueQueryCriteria clueQueryCriteria) {
if (clueRecordCriteria.getCreateBy() != null) { // if (clueQueryCriteria.getMemberId() != null) {
Sort sort = Sort.by(Sort.Direction.ASC, "createTime"); // List<ClueDto> clueDtoList = clueJpa.getClueList(clueQueryCriteria, null);
List<ClueRecordDto> clueRecordDtos = clueRecordMapper.toDto(clueRecordRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root, clueRecordCriteria, criteriaBuilder), sort)); // ExportExcelUtil.downloadEasyExcel(response, ExcelClueDto.class, clueDtoList);
ExportExcelUtil.downloadEasyExcel(response, ClueRecordDto.class, clueRecordDtos, "export-Record"); // }
} // }
}
@Override
public void exportClueList(HttpServletResponse response, ClueQueryCriteria clueQueryCriteria) {
if (clueQueryCriteria.getMemberId() != null) {
List<ClueDto> clueDtoList = clueJpa.getClueList(clueQueryCriteria, null);
ExportExcelUtil.downloadEasyExcel(response, ExcelClueDto.class, clueDtoList, "export-clue");
}
}
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@ -327,16 +304,6 @@ public class ClueServiceImpl implements ClueService {
executeTalkClue(clueMiddle); executeTalkClue(clueMiddle);
return; return;
} }
//更新通话状态时不加锁
if (clueMiddle.getClueCallStatus() == null) {
//乐观锁,不用jpa查询(jpa有缓存这个坑)
if (clueMiddle.getOptimisticVersion() != null) {
Integer version = clueMiddleRepository.lookUpOptimisticVersion(clueMiddle.getClueId());
if (!version.equals(clueMiddle.getOptimisticVersion())) {
throw new BadRequestException("刷新后重试");
}
}
}
Clue clue = clueRepository.findById(clueMiddle.getClueId()).orElseGet(Clue::new); Clue clue = clueRepository.findById(clueMiddle.getClueId()).orElseGet(Clue::new);
ClueMiddle clueMiddleOne = clueMiddleRepository.findById(clueMiddle.getClueId()).orElseGet(ClueMiddle::new); ClueMiddle clueMiddleOne = clueMiddleRepository.findById(clueMiddle.getClueId()).orElseGet(ClueMiddle::new);
if (clueMiddle.getSourceLabel() != null) { if (clueMiddle.getSourceLabel() != null) {
@ -494,7 +461,7 @@ public class ClueServiceImpl implements ClueService {
} }
if (taskNum == null || taskNum == 0) { if (taskNum == null || taskNum == 0) {
try { try {
taskClient.sendErrMessage("导入资源合规条数0条,请检查文件重新导入", userId); taskClient.sendErrMessage("导入资源合规条数0条,请检查文件重新导入", userId, SecurityConstants.FROM_IN);
} catch (Exception e) { } catch (Exception e) {
throw new BadRequestException("发送websocket失败"); throw new BadRequestException("发送websocket失败");
} }
@ -508,16 +475,13 @@ public class ClueServiceImpl implements ClueService {
task.setCreateBy(userId); task.setCreateBy(userId);
task.setTaskName(taskName); task.setTaskName(taskName);
task.setTotalNumber(taskNum); task.setTotalNumber(taskNum);
task.setTaskType(DefaultNumberConstants.ZERO_NUMBER);
if (origin == DefaultNumberConstants.SIX_NUMBER) { if (origin == DefaultNumberConstants.SIX_NUMBER) {
task.setTaskType(DefaultNumberConstants.ONE_NUMBER); task.setTaskType(DefaultNumberConstants.ONE_NUMBER);
task.setIsForm(DefaultNumberConstants.FIVE_NUMBER); task.setIsForm(DefaultNumberConstants.FIVE_NUMBER);
} else {
task.setTaskType(DefaultNumberConstants.ZERO_NUMBER);
}
ResponseEntity<Object> response = taskClient.saveTask(task);
if (response.getStatusCode().value() != 200) {
throw new BadRequestException("创建任务失败");
} }
ResponseEntity<Object> response = taskClient.saveTask(task, SecurityConstants.FROM_IN);
if (response.getStatusCode().value() != 200) throw new BadRequestException("创建任务失败");
} }
@Override @Override
@ -682,7 +646,6 @@ public class ClueServiceImpl implements ClueService {
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void insertDynamicTask(DynamicTaskDto dynamicTaskDto) { public void insertDynamicTask(DynamicTaskDto dynamicTaskDto) {
Long taskId = dynamicTaskDto.getTaskId(); Long taskId = dynamicTaskDto.getTaskId();
String remark = dynamicTaskDto.getRemark(); String remark = dynamicTaskDto.getRemark();
boolean flag = false; boolean flag = false;
@ -743,7 +706,7 @@ public class ClueServiceImpl implements ClueService {
task.setId(taskId); task.setId(taskId);
task.setTotalNumber(taskNum); task.setTotalNumber(taskNum);
task.setIsDistribution(1); task.setIsDistribution(1);
taskClient.updateTask(task); taskClient.updateTask(task, SecurityConstants.FROM_IN);
} }
} }
@ -835,7 +798,7 @@ public class ClueServiceImpl implements ClueService {
Task crmTask = new Task(); Task crmTask = new Task();
crmTask.setId(crmTaskId); crmTask.setId(crmTaskId);
crmTask.setTotalNumber(crmTotalNumber + 1); crmTask.setTotalNumber(crmTotalNumber + 1);
taskClient.updateTask(crmTask); taskClient.updateTask(crmTask, SecurityConstants.FROM_IN);
//初始化线索 //初始化线索
ClueMiddle clueMiddle = new ClueMiddle(); ClueMiddle clueMiddle = new ClueMiddle();
@ -862,7 +825,7 @@ public class ClueServiceImpl implements ClueService {
} else { } else {
clueIds = clueMiddleRepository.findByTaskIdAndMemberStatus(taskId, DefaultNumberConstants.ZERO_NUMBER); clueIds = clueMiddleRepository.findByTaskIdAndMemberStatus(taskId, DefaultNumberConstants.ZERO_NUMBER);
} }
CommonResponse<DynamicTaskDistributionDTO> response = taskClient.findTaskDistribution(taskId); CommonResponse<DynamicTaskDistributionDTO> response = taskClient.findTaskDistribution(taskId, SecurityConstants.FROM_IN);
if (response.getStatus() == DefaultNumberConstants.ZERO_NUMBER) { if (response.getStatus() == DefaultNumberConstants.ZERO_NUMBER) {
DynamicTaskDistributionDTO dynamicTaskDistributionDTO = response.getData(); DynamicTaskDistributionDTO dynamicTaskDistributionDTO = response.getData();

@ -10,6 +10,7 @@ import cn.hutool.json.JSONArray;
import cn.hutool.json.JSONObject; import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil; import cn.hutool.json.JSONUtil;
import com.baiye.constant.DefaultNumberConstants; import com.baiye.constant.DefaultNumberConstants;
import com.baiye.constant.SecurityConstants;
import com.baiye.feign.TaskClient; import com.baiye.feign.TaskClient;
import com.baiye.feign.TaskImeiClient; import com.baiye.feign.TaskImeiClient;
import com.baiye.model.dto.TaskQueryCriteria; import com.baiye.model.dto.TaskQueryCriteria;
@ -117,7 +118,7 @@ public class FormSourceServiceImpl implements FormSourceService {
task.setId(taskId); task.setId(taskId);
task.setTotalNumber(taskNum); task.setTotalNumber(taskNum);
task.setIsDistribution(1); task.setIsDistribution(1);
taskClient.updateTask(task); taskClient.updateTask(task, SecurityConstants.FROM_IN);
map.put("status", 0); map.put("status", 0);
map.put("msg", "推送成功"); map.put("msg", "推送成功");

@ -1,6 +1,7 @@
package com.baiye.module.service.impl; package com.baiye.module.service.impl;
import cn.hutool.core.util.NumberUtil; import cn.hutool.core.util.NumberUtil;
import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil; import cn.hutool.json.JSONUtil;
import com.baiye.constant.DefaultNumberConstants; import com.baiye.constant.DefaultNumberConstants;
import com.baiye.model.dto.UserDto; import com.baiye.model.dto.UserDto;
@ -28,6 +29,7 @@ public class TurnoverRecordServiceImpl implements TurnoverRecordService {
private final ClueMiddleRepository clueMiddleRepository; private final ClueMiddleRepository clueMiddleRepository;
@Override @Override
@Transactional(rollbackFor = Exception.class)
public void save(TurnoverRecord turnoverRecord) { public void save(TurnoverRecord turnoverRecord) {
UserDto userDto = JSONUtil.toBean(SecurityUtils.getUser(), UserDto.class); UserDto userDto = JSONUtil.toBean(SecurityUtils.getUser(), UserDto.class);
turnoverRecord.setMemberId(userDto.getId()); turnoverRecord.setMemberId(userDto.getId());

@ -2,9 +2,11 @@ package com.baiye.task;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import com.alibaba.excel.EasyExcelFactory; import com.alibaba.excel.EasyExcelFactory;
import com.baiye.constant.SecurityConstants;
import com.baiye.constant.FileConstant; import com.baiye.constant.FileConstant;
import com.baiye.exception.BadRequestException; import com.baiye.exception.BadRequestException;
import com.baiye.feign.TaskClient; import com.baiye.feign.TaskClient;
import com.baiye.constant.FileConstant;
import com.baiye.module.dao.*; import com.baiye.module.dao.*;
import com.baiye.module.entity.ClueRecord; import com.baiye.module.entity.ClueRecord;
import com.baiye.module.entity.Task; import com.baiye.module.entity.Task;
@ -25,6 +27,7 @@ import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.io.FileInputStream; import java.io.FileInputStream;
import java.util.*;
import java.util.List; import java.util.List;
@ -82,7 +85,7 @@ public class FileAnalysisTask {
} }
} }
} catch (Exception e) { } catch (Exception e) {
taskClient.sendErrMessage("导入资源错误,请检查数据格式后重新导入", clueRecords.get(0).getCreateBy()); taskClient.sendErrMessage("导入资源错误,请检查数据格式后重新导入", clueRecords.get(0).getCreateBy(), SecurityConstants.FROM_IN);
//导入文件记录失败修改状态 //导入文件记录失败修改状态
updateList(clueRecords); updateList(clueRecords);
e.printStackTrace(); e.printStackTrace();
@ -103,7 +106,7 @@ public class FileAnalysisTask {
task.setId(taskId); task.setId(taskId);
task.setTotalNumber(taskNum); task.setTotalNumber(taskNum);
task.setIsDistribution(1); task.setIsDistribution(1);
taskClient.updateTask(task); taskClient.updateTask(task, SecurityConstants.FROM_IN);
// 查看此任务是否开启自动分配,开启了就分配掉 // 查看此任务是否开启自动分配,开启了就分配掉
clueService.dynamicTaskDistribution(taskId, uploadType); clueService.dynamicTaskDistribution(taskId, uploadType);
return; return;

@ -13,6 +13,7 @@ import cn.hutool.core.text.csv.CsvUtil;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import com.baiye.config.properties.DeliveryProperties; import com.baiye.config.properties.DeliveryProperties;
import com.baiye.constant.DefaultNumberConstants; import com.baiye.constant.DefaultNumberConstants;
import com.baiye.constant.SecurityConstants;
import com.baiye.exception.BadRequestException; import com.baiye.exception.BadRequestException;
import com.baiye.feign.DownRecordClient; import com.baiye.feign.DownRecordClient;
import com.baiye.feign.TaskClient; import com.baiye.feign.TaskClient;
@ -152,7 +153,7 @@ public class MailSourceTask {
// 删除邮件 删除文件 // 删除邮件 删除文件
FileUtil.del(path); FileUtil.del(path);
FileUtil.del(unzipPath); FileUtil.del(unzipPath);
taskClient.updateTask(task); taskClient.updateTask(task, SecurityConstants.FROM_IN);
deliveryRecordService.updateStatusByTaskName(DefaultNumberConstants.ONE_NUMBER, taskName); deliveryRecordService.updateStatusByTaskName(DefaultNumberConstants.ONE_NUMBER, taskName);
log.info("============== message parsing succeeded file path as {} unzip path as {} ===============", path, unzipPath); log.info("============== message parsing succeeded file path as {} unzip path as {} ===============", path, unzipPath);
} }

@ -167,7 +167,7 @@ public class OceanEngineSync {
task.setId(taskId); task.setId(taskId);
task.setTotalNumber(taskNum); task.setTotalNumber(taskNum);
task.setIsDistribution(1); task.setIsDistribution(1);
taskClient.updateTask(task); taskClient.updateTask(task, SecurityConstants.FROM_IN);
OceanEngineClueId oceanEngineClueId = new OceanEngineClueId(); OceanEngineClueId oceanEngineClueId = new OceanEngineClueId();
oceanEngineClueId.setLocalClueId(save.getId()); oceanEngineClueId.setLocalClueId(save.getId());

Loading…
Cancel
Save