diff --git a/ad-platform-pojo/src/main/java/com/baiye/model/dto/DynamicTaskDto.java b/ad-platform-pojo/src/main/java/com/baiye/model/dto/DynamicTaskDto.java new file mode 100644 index 00000000..db78a4a9 --- /dev/null +++ b/ad-platform-pojo/src/main/java/com/baiye/model/dto/DynamicTaskDto.java @@ -0,0 +1,64 @@ +package com.baiye.model.dto; + +import lombok.Data; + +import javax.validation.constraints.NotNull; +import java.util.Date; + +/** + * 表单添加动态任务的实体 + * + * @author jt + */ +@Data +public class DynamicTaskDto { + /** + * 动态任务id + */ + @NotNull + private Long taskId; + /** + * 用户id + */ + @NotNull + private Long userId; + /** + * 上传类型 + */ + @NotNull + private Integer type; + /** + * 线索名 + */ + @NotNull + private String name; + /** + * 手机号 + */ + @NotNull + private String nid; + /** + * 微信号 + */ + private String wx; + /** + * 金额 + */ + private String amount; + /** + * 线索获取时间 + */ + private Date collectTime; + /*** + * 线索归属地 + */ + private String address; + /** + * 平台 + */ + private String platform; + /** + * 标识 + */ + private String tag; +} diff --git a/services/ad-platform-source/src/main/java/com/baiye/module/controller/ClueController.java b/services/ad-platform-source/src/main/java/com/baiye/module/controller/ClueController.java index 912e152b..8386b6e8 100644 --- a/services/ad-platform-source/src/main/java/com/baiye/module/controller/ClueController.java +++ b/services/ad-platform-source/src/main/java/com/baiye/module/controller/ClueController.java @@ -2,10 +2,7 @@ package com.baiye.module.controller; import com.baiye.http.CommonResponse; import com.baiye.http.ResponseCode; -import com.baiye.model.dto.ClueDto; -import com.baiye.model.dto.ClueQueryCriteria; -import com.baiye.model.dto.DistributeResponseDTO; -import com.baiye.model.dto.PublicCluePoolQueryCriteria; +import com.baiye.model.dto.*; import com.baiye.model.vo.ResSourceLabel; import com.baiye.module.entity.Clue; import com.baiye.module.entity.ClueMiddle; @@ -177,4 +174,14 @@ public class ClueController { public CommonResponse queryClueByAdmin(@RequestParam(value = "memberId") Long memberId) { return CommonResponse.createBySuccess(clueService.queryClueByAdmin(memberId)); } + + /** + * @param dynamicTaskDto + * @return + */ + @PostMapping("/dynamic/task") + public CommonResponse insertDynamicTask(@Validated @RequestBody DynamicTaskDto dynamicTaskDto) { + clueService.insertDynamicTask(dynamicTaskDto); + return CommonResponse.createBySuccess(); + } } diff --git a/services/ad-platform-source/src/main/java/com/baiye/module/dao/ClueJpa.java b/services/ad-platform-source/src/main/java/com/baiye/module/dao/ClueJpa.java index c6ff06bd..e52acba8 100644 --- a/services/ad-platform-source/src/main/java/com/baiye/module/dao/ClueJpa.java +++ b/services/ad-platform-source/src/main/java/com/baiye/module/dao/ClueJpa.java @@ -280,7 +280,7 @@ public class ClueJpa { List userIdList = clueQueryCriteria.getUserIdList(); StringBuilder sql = new StringBuilder(); sql.append("SELECT tc.id as id,tc.nid as nid,tc.create_time as createTime,tc.name as name,tc.origin as origin,tcm.task_id as taskId,tcm.member_status as memberStatus," + - "tcm.clue_stage as clueStage,tcm.clue_call_status as clueCallStatus,tcm.member_id as memberId " + + "tcm.clue_stage as clueStage,tcm.clue_call_status as clueCallStatus,tcm.member_id as memberId,tcm.source_label as sourceLabel " + "FROM tb_clue_middle tcm LEFT JOIN tb_clue tc ON tcm.clue_id = tc.id WHERE 1 = 1 "); if (CollUtil.isNotEmpty(taskIds)) { sql.append("AND tcm.task_id IN (:taskId) "); @@ -365,6 +365,8 @@ public class ClueJpa { if (memberId != null) { clue.setMemberId(memberId.longValue()); } + JSONArray sourceLabel = JSONUtil.parseArray(row.get("sourceLabel")); + clue.setSourceLabel(sourceLabel); } arrayList.add(clue); } diff --git a/services/ad-platform-source/src/main/java/com/baiye/module/entity/Clue.java b/services/ad-platform-source/src/main/java/com/baiye/module/entity/Clue.java index 3d5c6eec..94f33502 100644 --- a/services/ad-platform-source/src/main/java/com/baiye/module/entity/Clue.java +++ b/services/ad-platform-source/src/main/java/com/baiye/module/entity/Clue.java @@ -55,4 +55,7 @@ public class Clue extends BaseClue { @ApiModelProperty(value = "标识") @Transient private String tag; + + @Transient + private Object sourceLabel; } diff --git a/services/ad-platform-source/src/main/java/com/baiye/module/service/ClueService.java b/services/ad-platform-source/src/main/java/com/baiye/module/service/ClueService.java index a5339c55..1c62e63a 100644 --- a/services/ad-platform-source/src/main/java/com/baiye/module/service/ClueService.java +++ b/services/ad-platform-source/src/main/java/com/baiye/module/service/ClueService.java @@ -3,6 +3,7 @@ package com.baiye.module.service; import com.baiye.model.dto.ClueDto; import com.baiye.model.dto.ClueQueryCriteria; import com.baiye.model.dto.DistributeResponseDTO; +import com.baiye.model.dto.DynamicTaskDto; import com.baiye.model.vo.ResSourceLabel; import com.baiye.module.entity.Clue; import com.baiye.module.entity.ClueMiddle; @@ -199,8 +200,16 @@ public interface ClueService { /** * 管理员获取当日意向数 + * * @param memberId * @return */ Integer queryClueByAdmin(Long memberId); + + /** + * 新增动态任务表单 + * + * @param dynamicTaskDto + */ + void insertDynamicTask(DynamicTaskDto dynamicTaskDto); } diff --git a/services/ad-platform-source/src/main/java/com/baiye/module/service/impl/ClueServiceImpl.java b/services/ad-platform-source/src/main/java/com/baiye/module/service/impl/ClueServiceImpl.java index 9ad769c3..6b670c65 100644 --- a/services/ad-platform-source/src/main/java/com/baiye/module/service/impl/ClueServiceImpl.java +++ b/services/ad-platform-source/src/main/java/com/baiye/module/service/impl/ClueServiceImpl.java @@ -13,6 +13,7 @@ import com.baiye.feign.*; import com.baiye.model.dto.*; import com.baiye.model.entity.BaseClue; import com.baiye.model.vo.ResSourceLabel; +import com.baiye.module.constant.FileConstant; import com.baiye.module.dao.*; import com.baiye.module.entity.*; import com.baiye.module.entity.vo.BaseExcelVo; @@ -23,6 +24,7 @@ import com.baiye.util.*; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang.StringUtils; +import org.springframework.beans.BeanUtils; import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; import org.springframework.data.domain.Sort; @@ -514,6 +516,36 @@ public class ClueServiceImpl implements ClueService { return clueMiddleRepository.queryClueByAdmin(memberId, DateUtil.today(), stages); } + @Override + @Transactional(rollbackFor = Exception.class) + public void insertDynamicTask(DynamicTaskDto dynamicTaskDto) { + Clue clue = new Clue(); + BeanUtils.copyProperties(dynamicTaskDto, clue); + clue.setOrigin(5); + clue.setCreateBy(dynamicTaskDto.getUserId()); + Clue save = clueRepository.save(clue); + + ClueMiddle clueMiddle = new ClueMiddle(); + Long taskId = dynamicTaskDto.getTaskId(); + + clueMiddle.setClueId(save.getId()); + clueMiddle.setTaskId(taskId); + clueMiddle.setMemberStatus(DefaultNumberConstants.ZERO_NUMBER); + clueMiddle.setOptimisticVersion(DefaultNumberConstants.ZERO_NUMBER); + clueMiddle.setClueStage(DefaultNumberConstants.ZERO_NUMBER); + clueMiddle.setClueCallStatus(DefaultNumberConstants.ZERO_NUMBER); + clueMiddleRepository.save(clueMiddle); + //动态任务 + if (dynamicTaskDto.getType() == FileConstant.FIVE_NUMBER) { + Integer taskNum = clueMiddleRepository.findTaskNum(taskId); + Task task = new Task(); + task.setId(taskId); + task.setTotalNumber(taskNum); + task.setIsDistribution(1); + taskClient.updateTask(task); + } + } + /** * 分页查询任务 *