FollowStrategy.java
2.7 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
package cn.fw.valhalla.service.bus.follow.strategy;
import cn.fw.common.web.auth.LoginAuthBean;
import cn.fw.valhalla.domain.db.OriginalData;
import cn.fw.valhalla.domain.db.follow.FollowRecord;
import cn.fw.valhalla.domain.db.follow.FollowTask;
import cn.fw.valhalla.domain.dto.FollowAttachmentDTO;
import cn.fw.valhalla.domain.enums.FollowTypeEnum;
import cn.fw.valhalla.domain.vo.follow.FollowDetailVO;
import cn.fw.valhalla.domain.vo.follow.FollowRecordVO;
import cn.fw.valhalla.domain.vo.follow.FollowTodoListVO;
import cn.fw.valhalla.domain.vo.setting.SettingVO;
import java.util.Date;
import java.util.List;
/**
* @author : kurisu
* @className : FollowStrategy
* @description : 跟进策略接口
* @date: 2020-08-14 10:10
*/
public interface FollowStrategy {
/**
* 获取类型
*
* @return
*/
FollowTypeEnum getFollowType();
/**
* 查询待办列表详情
*
* @param startIndex
* @param pageSize
* @param userId
* @return
*/
List<FollowTodoListVO> getList(Integer startIndex, Integer pageSize, Long userId);
/**
* 查询跟进待办详情
*
* @param id
* @return
*/
FollowDetailVO getDetail(Long id);
/**
* 查询跟进记录
*
* @param taskId
* @return
*/
List<FollowRecordVO> getRecordList(Long taskId);
/**
* 完成跟进
*
* @param id
* @param currentUser
*/
void completeRecord(Long id, LoginAuthBean currentUser);
/**
* 完成跟进
* @param record
*/
void completeRecord2(FollowRecord record);
/**
* 上传跟进附件
*
* @param dto
* @param userId
*/
void uploadAtt(FollowAttachmentDTO dto, Long userId);
/**
* 取消跟进任务
*
* @param customerId
* @param time
* @param groupId
*/
void cancelFollowTask(Long customerId, Date time, Long groupId);
/**
* 更新跟进任务
*
* @param setting
* @param groupId
*/
void settingChanged(List<SettingVO> setting, Long groupId);
/**
* 元数据生成任务
*
* @param originalData
* @return
*/
boolean origin2task(OriginalData originalData);
/**
* 生成首次跟进记录
*
* @param task
* @return 操作结果
*/
Long createFirstRecord(FollowTask task);
/**
* 逾期处理
*
* @param record
*/
void overdueProcessing(FollowRecord record);
/**
* 提前终止跟进任务
* @param task
*/
void stopFollowTask(FollowTask task);
/**
* 查询跟进池详情
*
* @param task
* @return
*/
FollowDetailVO followPoolDetail(FollowTask task);
}