小程序项目业务逻辑回忆3

1.用户激活票劵

在我的票劵未激活票劵查询业务中,票劵是可以通过激活按钮进行激活的

该业务涉及3个表users用户信息表\order_items门票订单关联表\signin_records签到信息表

用户激活票劵时,首先使用该用户user_id创建signin_record表,signin_record表中门票类型ticket_type为"会议",

signin_record表签到状态sign_in_status为"未签到",registration_number为order_item登记号复制,并且使用登记号去生成二维码保存到signin_recode表二维码code_url(用于已激活票劵UI界面展示,参会时凭借二维码进场)

通过order_item中的activiation_code票劵代码去查询被激活的那张票(一个订单下的一张票),变更该票即某一字段order_item票劵状态更改为"已激活",默认为未激活,复制登记号,生成激活时间.

根据UI界面要求(完全可以省略,没必要),用该用户的user_id去更新姓名name\证件类型id_type和证件号id_number

设计数据库签到记录表signin_records

通用主键id、用户id user_id,门票类型(展览或会议,这里是会议,会议需花钱购买门票激活,展览登录注册即可免费参展),登记号registration_number,sigin_time门票生成时间,sigin_in_status签到状态,code_url二维码url

2.查询用户激活票劵

由于用户只能激活一张会议门票,筛选order_item表中current_owner_id为本人(安全考虑,正常当前拥有者不是本人,在未激活列表中激活功能中是看不见的,但是转赠接收过程中存在时间差,及票劵状态为转赠过程中,以防万一用户激活两张票劵做的一层校验),code_status为激活状态,

由于只能激活一张票劵,所以在激活功能中需插入查询功能,查询有已激活票劵,需友好提示用户激活票劵只能本人使用及只能激活一张,否则查询功能会报错,MP框架getone方法查询出2个及2个以上结果时会在日志报错,所以激活及激活查询后端自测时需连同一起测试,查看数据库中是否保存错误信息或遗漏字段没有填充

此时返给前端registration_number登记号,用user_id和ticket_id去user表和ticket表中连表查询用户的姓名和登记号,连同order_items中的code_url一同封装返给前端,

3.查询用户未激活票劵

直接查询返回给前端所需数据即可

可以用到的小技巧

sql中返回统计数量count(*),需用到group_by,使用any_value( ) as 返回别名,可简化sql不用group by

,

相关推荐
java1234_小锋9 小时前
【免费】基于Python的微信小程序网约车(打车,在线叫车,移动出行)系统(FastAPI+Vue3) 锋哥原创出品,必属精品
微信小程序·小程序·fastapi·网约车系统·在线叫车系统
2501_9160074714 小时前
Bundle ID 注册与管理 App ID 创建指南 命名规则 权限开关与删除注意事项
android·ios·小程序·https·uni-app·iphone·webview
凡科网小帆20 小时前
2026小程序商城做的比较好的品牌,怎么选小程序商城品牌
小程序·小程序商城
2501_9159090621 小时前
iOS 证书创建与管理 类型限制 p12 密码与云备份实操
android·ios·小程序·https·uni-app·iphone·webview
格数致用1 天前
数据库设计与表结构详解|信息化项目全流程管理系统源码逐行精讲(五)
人工智能·政务·数据库设计·外键约束
黄华SJ520it2 天前
顶俏洗衣液模式制度开发介绍:S2B2C社交分销+多门店核销系统全解析
前端·数据库·小程序·零售·系统开发
北极糊的狐2 天前
钉钉小程序报错data.formatTime is not a function是因为 axml 模板中不能直接调用 Page 内自定义方法!
java·小程序·钉钉
show4333 天前
多格式导出怎么做?2026免费小程序TXT/SRT实践
开发语言·小程序·c#
AI砖家3 天前
AI编程—微信小程序开发规范
微信小程序·小程序·notepad++·ai编程
show4333 天前
2026小程序端视频转文字技术对比:识别引擎精度实测
小程序·音视频