如何实现用户自主进行套餐打卡
场景
用户购买了一种套餐后,如何能够实现自主打卡,套餐分为次数套餐与时长套餐两种
🔗安装方案
系统使用
用户在微信服务号中登记个人信息,员工录入套餐购买的信息后,用户可在微信服务号中自行打卡或查询套餐购买与打卡记录
本场景结合微信服务号增强功能,请先了解该功能:https://qingflow.com/help/docs/6114c2d8d601550046421de8
https://exiao.yuque.com/docs/share/f8a7d3b5-6836-4930-9812-79476125cb01?# 《如何使用微信增强》
搭建步骤
表单设置
「套餐内容」
先创建一个维护套餐内容的应用

【套餐名称】【套餐内容】:单行文字
【套餐类型】:下拉选择
在字段中设置六级表单,不同的套餐类型对应显示不同的字段内容,选择“次数套餐”类型时,显示字段【有效次数】进行填写

【套餐金额】【有效次数】【有效时长】:数字
「客户信息」
【客户名称】:单行文字
【电话】:电话

「套餐购买」

【客户信息】:段落
将客户信息相关的字段放在同一个段落中

【客户信息】:数据关联
关联「客户信息」应用中的字段【客户名称】

【电话】:电话-关联已有数据
设置关联已有数据,关联「客户信息」应用中的字段【电话】,筛选条件:两个应用中的客户名称相同
设置意义:填写了客户名称后,在「客户信息」应用中对应到客户名称相同的数据,从这条数据中获取客户的电话信息

【客户账号】成员-关联已有数据
设置关联已有数据,关联「客户信息」应用中的字段【申请人】,筛选条件:两个应用中的客户名称和电话都相同
客户在微信服务号登记个人信息后,在申请人中系统会生成一个随机邮箱账号,客户进行打卡时也是通过这个账号进行身份的匹配

【购买信息】:段落

【购买日期】:日期-设置公式
CURDATE:返回当前日期

【套餐类型】:下拉选择
设置逻辑表单,不同的套餐类型对应显示不同的字段内容

【套餐名称】:数据关联
关联「套餐内容」应用中的字段【套餐名称】,筛选条件:两个应用中的套餐类型相同
选择“次数套餐”这个套餐类型,【套餐名称】中显示这种类型的套餐名称,不显示“时长套餐”类型的套餐名称

【套餐内容】:数据关联
关联「套餐内容」应用中的字段【套餐内容】,筛选条件:两个应用中的套餐类型和套餐名称相同
【套餐金额】:数字-关联已有数据
设置关联已有数据,关联「套餐内容」应用中的字段【套餐金额】,筛选条件:两个应用中的套餐名称和套餐内容都相同

【套餐次数】:数字-关联已有数据
设置关联已有数据,关联「套餐内容」应用中的字段【有效次数】,筛选条件:两个应用中的套餐名称和套餐内容都相同

【套餐时长】:数字-关联已有数据
设置关联已有数据,关联「套餐内容」应用中的字段【有效时长】,筛选条件:两个应用中的套餐名称和套餐内容相同

【开始日期】:日期-设置公式

【结束日期】:日期-设置公式
DATEDELTA:将指定日期加/减指定天数,并返回目标日期

【套餐码】:单行文字-设置公式
设置意义:返回一个8位数的随机码

【使用状态】:单行文字-自定义内容
设置默认的自定义内容:生效

「打卡」

【账号】:成员
可选范围和默认内容都设置为当前用户

【打卡日期】:日期-设置公式

【姓名】:单行文字-关联已有数据
设置关联已有数据,关联「客户信息」应用中的字段【客户名称】,筛选条件:申请人等于当前用户

【联系方式】:电话-关联已有数据
设置关联已有数据,关联「客户信息」应用中的字段【电话】,筛选条件:申请人等于当前用户,姓名相同

【套餐名称】:数据关联
关联「套餐购买」应用中的字段【套餐名称】,筛选条件:两个应用中的客户账号相同,且套餐的使用状态为“生效”

【套餐内容】:单行文字-关联已有数据
设置关联已有数据,关联「套餐购买」应用中的字段【套餐内容】,筛选条件:两个应用中的客户账号和套餐名称都相同,且套餐的使用状态为“生效”

【套餐类型】:下拉选择-关联已有数据
设置关联已有数据,关联「套餐购买」应用中的字段【套餐类型】,筛选条件:两个应用中的客户账号和套餐名称都相同,且套餐的使用状态为“生效”
设置逻辑表单,不同套餐类型对应显示不同的字段内容

【套餐次数】:数字-关联已有数据
设置关联已有数据,关联「套餐购买」应用中的字段【套餐次数】,筛选条件:两个应用中的客户账号和套餐名称都相同,且套餐的使用状态为“生效”

【套餐时长】:数字-关联已有数据
设置关联已有数据,关联「套餐购买」应用中的字段【套餐时长】,筛选条件:两个应用中的客户账号和套餐名称都相同,且套餐的使用状态为“生效”

【开始日期】:日期-关联已有数据

【结束日期】:日期-关联已有数据

【套餐码】:单行文字-关联已有数据

【累计打卡次数】:数据关联-聚合方式“最新数据”
关联「打卡」应用(即当前应用本身)中的字段【最新打卡次数】,筛选条件:两个应用中的套餐码相同,设置聚合方式-最新数据
设置意义:获取上一条数据中的“最新打卡次数”

【最新打卡次数】:数字-设置公式
NUM():返回文本中的数字

【使用状态】:单行文字-设置公式

流程设置
「客户信息」
在申请人节点设置为“所有人可填”

「打卡」
在申请人节点设置为“所有人可填”,并设置提交校验
DAYS():返回日期字段1与日期字段2的差值

次数套餐通过公式计算套餐的生效与否,在流程中添加分支,如果套餐已经失效,将「套餐购买」中的对应套餐的使用状态更新为“失效”

添加节点Q-Robot更新数据,将「套餐购买」中同一个套餐码的套餐的使用状态更新为“失效”

时长套餐的使用状态需要通过流程外Q-Robot来进行更新,在结束日期这一天将套餐的套餐码添加到「辅助表」中,在「辅助表」应用中将「套餐购买」应用中套餐的使用状态更新为“失效”
先创建一个辅助应用
【使用码】:单行文字

「套餐购买」
创建流程外Q-Robot,首次触发时间:根据表单内时间字段-结束日期-当天23:59

将套餐码添加到「辅助表」应用中
触发动作:添加数据;目标应用:「辅助表」

「辅助表」
流程中添加节点Q-Robot更新数据,目标应用:「套餐购买」;筛选数据:两个应用中的套餐码相同,更新规则,将「套餐购买」中的使用状态更新为“失效”

表单/门户设置
消费记录查询
在「套餐购买」应用中创建报表,报表类型:数据表;筛选条件:客户账号==当前用户

将报表的可见范围设置为“所有人可见”

打卡记录
在「打卡」应用中创建报表,报表类型:数据表;筛选条件:账号==当前用户
同样将报表的可见范围设置为“所有人可见”

客户信息查询
创建门户,将报表添加在门户中,用户可以在微信服务号中打开门户直接看到消费与打卡记录

将门户的可见范围设置为“所有人可见”

关联报表
在「套餐购买」应用中创建关联报表,关联应用「打卡」中的报表“打卡记录查询”,关联规则:套餐码相等
用户查看某个套餐信息的同时可以通过关联报表看到这个套餐相关的打卡记录

实现效果
视频:1642151709647368.mp4。请在原文中查看。