场景描述
在CRM系统中,为了避免浪费客户资源,系统基本都带有无跟进客户自动退回公海的功能,本文档将会讲述如何在白码平台中,实现CRM七天无跟进自动掉公海的功能。
准备工作
1、建立客户表。
客户表 | |||
名称 | 类型 | 关联表 | 关联字段 |
姓名 | 字符 | ||
状态 | 字符 | ||
最后跟进日期 | 日期 | ||
跟进人 | 关联 | 用户表 |
2、建立跟进表。
跟进表 | |||
名称 | 类型 | 关联表 | 关联字段 |
客户 | 关联 | 客户表 | |
跟进内容 | 字符 | ||
跟进日期 | 日期 |
功能实现
1 分配公海客户功能
选择公海客户步骤,状态字段设为“公海客户”,过滤掉“跟进客户”。
分配信息步骤,关联获取选择公海客户步骤所选中的客户,然后将状态设为“跟进客户”,跟进日期设为当前时间, 跟进人设为必填,最后将功能发布即可。
2 添加跟进记录功能
选择跟进客户步骤,将跟进人设为“当前用户”。
新增跟进信息步骤,客户选为选择跟进用户所选择的客户,跟进内容用长文本填写,跟进日期设为系统当前日期,最后将功能发布即可
3 添加7天无跟进退回公海功能
此功能直接用编程实现
代码实现如下:
代码如下: 复制代码
async function runProcess($model = model, $plugin = plugin, $params = params) {
/* 获取7天前的时间对象 */
let new_date = $plugin.moment().subtract(7,"days").format("YYYY-MM-DD")
/**
* 获取所有7天未跟进跟进客户
* 注意,data.queryData 最大支持100条数据,
* 用户可以根据查询的数据量等于100判断还有未跟进的客户,进行循环查询。
*/
let entity = "63ec50bda89be89c8c11d083";//客户表entity想·
let custList = await $plugin.data.queryData(entity, {
"63ec50d1cda58a9c8dbc45ee": "跟进客户",//状态
"63ec50dbcda58a9c8dbc462e": { $lt: new_date },//最后跟进日期小于七天前
},{all:true});
// 遍历所有7天未跟进客户
let updateDate = []
custList.forEach(cust => {
// 放弃客户进入公海
updateDate.push({
_id: cust._id,
"63ec50d1cda58a9c8dbc45ee": "公海客户",//状态设为公海客户
"63ec50e6a89be89c8c11d0fc": "",//清除跟进人
})
});
await $plugin.data.bulk(entity, {
update: updateDate
})
}
4 设置定时任务
进入系统的设置中的定时任务,点击新建,选择功能为7天无跟进退回公海,执行时间设置为每天12:00,周期设置为每天,点击确定保存。
5 开启定时任务
将状态开启,定时任务设置完毕