小程序业务逻辑回忆2

2024-06-21 17:52
文章标签 业务 程序 逻辑 回忆

本文主要是介绍小程序业务逻辑回忆2,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1.用户下单购票业务

购票业务中可购选4中票,普通票、学生票、vip贵宾票、指定日票。购票类型用ticket_id

进行区分,每种类型票用户都可以购买 n张,但是用户只能激活一张,其他票可用于转增。

用户下单购票时首先以user_id创建order表,然后用工具类生成订单号,更新购买时间purchase_time为当前时间、付款状态payment_status初始状态为默认状态"未付款",总价mount为该订单id下的Order_item所有discount相加,生成的订单号作为order_item的order_number进行存储,更新orginal_user_id和current_owner_id为当前user_d

其中original_user_id原始购买人的用户ID,current_owner_id当前拥有者的用户ID,这两个字段主要用于判断票劵激活业务,和转赠业务.

生成票劵代码activation_code,更新票劵状态code_status为"未付款"

根据ticket_id的is_discount状态判断是否参加折扣,discount折后金额按照打折规则进行计算.

提交订单后调用微信支付功能,然后回传付款状态判断付款状态,15分钟未付款更新order表payment_status为"已关闭",15分钟已付款更新order表中付款状态payment_status为已付款,更新order表当前未退款金额current_mount为订单总金额mount(用于最后计算用户积分)

更新该订单id下order_item表中票劵状态code_status为"未激活"

更新该订单id下order_item表中退款状态refund为"未退款"

综上功能逻辑,设计数据库

ticket表,通用主键id,字段is_discount表示是否打折,name会议票种类名称,price价格

order订单表,通用主键id,user_id用户id(已激活票劵业务查询中可根据此id查询用户的个人信息),

order_number订单号,purchase_time购买时间,payment_status付款状态(已付款\未付款),mount订单总金额(各个票劵折后累加总金额),current_mount(当前未退款金额)

order_items门票订单表,通用主键id,order_id订单id,ticket_id门票信息id,正常情况下订单与门票属于1对多情况order表中设置一个ticket_id就行,不应设置中间表,表拆开后,积分运算更为简单(current_mount当前未退款金额是个实时更新的字段),而且就UI设计界面来说查询信息更为直观

original_user_id原始购买人的用户ID,current_owner_id当前拥有者的用户id

activation_code票劵代码,code_status票劵状态(激活\未激活\已作废,用于未激活票劵列表查询展示)

registration number 注册登记号,仅限已激活的会议门票,激活时生成并保持唯一

activated_time 激活时间,未激活票此字段为空

refund票据退款状态(未退款\已退款\退款中)

discount折后金额   code_url二维码URL

这篇关于小程序业务逻辑回忆2的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1081918

相关文章

最新Spring Security实战教程之表单登录定制到处理逻辑的深度改造(最新推荐)

《最新SpringSecurity实战教程之表单登录定制到处理逻辑的深度改造(最新推荐)》本章节介绍了如何通过SpringSecurity实现从配置自定义登录页面、表单登录处理逻辑的配置,并简单模拟... 目录前言改造准备开始登录页改造自定义用户名密码登陆成功失败跳转问题自定义登出前后端分离适配方案结语前言

如何用java对接微信小程序下单后的发货接口

《如何用java对接微信小程序下单后的发货接口》:本文主要介绍在微信小程序后台实现发货通知的步骤,包括获取Access_token、使用RestTemplate调用发货接口、处理AccessTok... 目录配置参数 调用代码获取Access_token调用发货的接口类注意点总结配置参数 首先需要获取Ac

Java逻辑运算符之&&、|| 与&、 |的区别及应用

《Java逻辑运算符之&&、||与&、|的区别及应用》:本文主要介绍Java逻辑运算符之&&、||与&、|的区别及应用的相关资料,分别是&&、||与&、|,并探讨了它们在不同应用场景中... 目录前言一、基本概念与运算符介绍二、短路与与非短路与:&& 与 & 的区别1. &&:短路与(AND)2. &:非短

基于Python开发PDF转Doc格式小程序

《基于Python开发PDF转Doc格式小程序》这篇文章主要为大家详细介绍了如何基于Python开发PDF转Doc格式小程序,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 用python实现PDF转Doc格式小程序以下是一个使用Python实现PDF转DOC格式的GUI程序,采用T

将java程序打包成可执行文件的实现方式

《将java程序打包成可执行文件的实现方式》本文介绍了将Java程序打包成可执行文件的三种方法:手动打包(将编译后的代码及JRE运行环境一起打包),使用第三方打包工具(如Launch4j)和JDK自带... 目录1.问题提出2.如何将Java程序打包成可执行文件2.1将编译后的代码及jre运行环境一起打包2

在不同系统间迁移Python程序的方法与教程

《在不同系统间迁移Python程序的方法与教程》本文介绍了几种将Windows上编写的Python程序迁移到Linux服务器上的方法,包括使用虚拟环境和依赖冻结、容器化技术(如Docker)、使用An... 目录使用虚拟环境和依赖冻结1. 创建虚拟环境2. 冻结依赖使用容器化技术(如 docker)1. 创

JAVA智听未来一站式有声阅读平台听书系统小程序源码

智听未来,一站式有声阅读平台听书系统 🌟 开篇:遇见未来,从“智听”开始 在这个快节奏的时代,你是否渴望在忙碌的间隙,找到一片属于自己的宁静角落?是否梦想着能随时随地,沉浸在知识的海洋,或是故事的奇幻世界里?今天,就让我带你一起探索“智听未来”——这一站式有声阅读平台听书系统,它正悄悄改变着我们的阅读方式,让未来触手可及! 📚 第一站:海量资源,应有尽有 走进“智听

业务中14个需要进行A/B测试的时刻[信息图]

在本指南中,我们将全面了解有关 A/B测试 的所有内容。 我们将介绍不同类型的A/B测试,如何有效地规划和启动测试,如何评估测试是否成功,您应该关注哪些指标,多年来我们发现的常见错误等等。 什么是A/B测试? A/B测试(有时称为“分割测试”)是一种实验类型,其中您创建两种或多种内容变体——如登录页面、电子邮件或广告——并将它们显示给不同的受众群体,以查看哪一种效果最好。 本质上,A/B测

EMLOG程序单页友链和标签增加美化

单页友联效果图: 标签页面效果图: 源码介绍 EMLOG单页友情链接和TAG标签,友链单页文件代码main{width: 58%;是设置宽度 自己把设置成与您的网站宽度一样,如果自适应就填写100%,TAG文件不用修改 安装方法:把Links.php和tag.php上传到网站根目录即可,访问 域名/Links.php、域名/tag.php 所有模板适用,代码就不粘贴出来,已经打

跨系统环境下LabVIEW程序稳定运行

在LabVIEW开发中,不同电脑的配置和操作系统(如Win11与Win7)可能对程序的稳定运行产生影响。为了确保程序在不同平台上都能正常且稳定运行,需要从兼容性、驱动、以及性能优化等多个方面入手。本文将详细介绍如何在不同系统环境下,使LabVIEW开发的程序保持稳定运行的有效策略。 LabVIEW版本兼容性 LabVIEW各版本对不同操作系统的支持存在差异。因此,在开发程序时,尽量使用