系统的营销功能

营销功能概述:

系统的营销功能主要是:市场活动管理、营销自动化、销售线索管理以及数据分析和报告等。‌ToC‌(Consumer):面向个人消费者,满足日常消费需求。

‌优惠券的种类:

ToC的系统中,经常需要使用优惠券搞营销活动,而优惠券的种类一般分为:1、抵扣券(现金券),2、折扣券,3、满减券。

抵扣券的含义:客户的订单需要支付10块,抵扣券面值5块,客户就使用这个抵扣券后再支付5块。

折扣券的含义:客户的订单需要支付10块,折扣券打5折,客户就使用这个折扣券后再支付5块。

满减券的含义:客户的订单需要支付10块,满减券为满10减5,客户就使用这个满减券后再支付5块。

优惠券的主体:

优惠券隶属于谁,谁发放优惠券,ToC的系统中,经常有多个加盟商,这个优惠券可能是隶属于某个加盟商,也可能是平台。

客户使用优惠券:

营销、促销此类的活动,通常让利于客户,手段通常是优惠券,有了优惠券后需要给到客户,这里给到,可能是系统了发放给了客户(后台用户发放),也可能是低价售出(订单方式)。

优惠券是有价的:

优惠券是有价的,在支付时,是当钱花的,当设定好一个营销活动时,除了时间范围,还有需要的计算出来的有所的费用。

系统在接入支付功能时,往往是第三方提供,有的本身就包含了结算、分账这些功能,往往可能会出现分账时金额不够导致失败。

第三方的支付系统,往往提供:钱包(备用金账户),各个主体之间进的账户,按合作进行分层,当备用金余额不够充足,优惠力度过大,导致分账时金额不足,也需要引起注意。

数据库表设计

活动表:某个时间段针对客户搞一个营销活动,需要记录是什么样的活动,多长时间,总计花费多少钱。

CREATE TABLE `t_activity` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '主键ID',`name` VARCHAR(200) NULL DEFAULT NULL COMMENT '活动的名称' COLLATE 'utf8mb4_general_ci',`start_time` TIMESTAMP NULL DEFAULT NULL COMMENT '活动的起始时间',`end_time` TIMESTAMP NULL DEFAULT NULL COMMENT '活动的结束时间',`status` TINYINT(4) NULL DEFAULT NULL COMMENT '状态:0、初始化,1、启动,2、完成',`explain` TEXT NULL DEFAULT NULL COMMENT '活动说明' COLLATE 'utf8mb4_general_ci',`director` INT(11) NULL DEFAULT NULL COMMENT '责任人ID',`director_name` INT(11) NULL DEFAULT NULL COMMENT '责任人名称',`required_fees` DECIMAL(10,2) NULL DEFAULT NULL COMMENT '开始前所需的费用',`finished_fees` DECIMAL(10,2) NULL DEFAULT NULL COMMENT '结束后使用了的费用',`create_user` VARCHAR(100) NULL DEFAULT NULL COMMENT '创建人' COLLATE 'utf8mb4_general_ci',`create_time` TIMESTAMP NULL DEFAULT NULL COMMENT '创建时间',`update_user` VARCHAR(50) NULL DEFAULT NULL COMMENT '更新人' COLLATE 'utf8mb4_general_ci',`update_time` TIMESTAMP NULL DEFAULT NULL COMMENT '更新时间',`logic_deleted` TINYINT(4) NULL DEFAULT NULL COMMENT '是否删除:0,未删除,1,已删除',`delete_user` VARCHAR(50) NULL DEFAULT NULL COMMENT '删除人' COLLATE 'utf8mb4_general_ci',`delete_time` TIMESTAMP NULL DEFAULT NULL COMMENT '删除时间',PRIMARY KEY (`id`) USING BTREE
)
COMMENT='活动表'
COLLATE='utf8mb4_general_ci'
ENGINE=InnoDB
;

优惠券表:活动的体现形式就是优惠券,优惠券是有价的,且有数量的。

CREATE TABLE `t_coupon` (`id` BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID',`franchisee_id` BIGINT(20) NULL DEFAULT NULL COMMENT '加盟商ID',`grade` TINYINT(4) NULL DEFAULT NULL COMMENT '优惠券级别:1,平台优惠券、2,加盟商优惠券',`name` VARCHAR(50) NULL DEFAULT NULL COMMENT '优惠券名称' COLLATE 'utf8mb4_general_ci',`type` TINYINT(4) NULL DEFAULT NULL COMMENT '优惠券类型(1、抵扣券(现金券),2、折扣券,3、满减券)',`type_name` TINYINT(4) NULL DEFAULT NULL COMMENT '优惠券类型名称',`cash_amount` DECIMAL(10,2) NULL DEFAULT NULL COMMENT '抵扣券(现金券),抵扣金额',`cash_discount` DECIMAL(10,2) NULL DEFAULT NULL COMMENT '折扣券,打折比例',`full_amount` DECIMAL(10,2) NULL DEFAULT NULL COMMENT '满多少金额',`subtract_amount` DECIMAL(10,2) NULL DEFAULT NULL COMMENT '减多少金额',`explain` TEXT NULL DEFAULT NULL COMMENT '使用说明' COLLATE 'utf8mb4_general_ci',`inventory_quantity` INT(11) NULL DEFAULT NULL COMMENT '库存数量',`remaining_quantity` INT(11) NULL DEFAULT NULL COMMENT '现存数量',`create_user` VARCHAR(100) NULL DEFAULT NULL COMMENT '创建用户' COLLATE 'utf8mb4_general_ci',`create_time` TIMESTAMP NULL DEFAULT NULL COMMENT '创建时间',`update_user` VARCHAR(100) NULL DEFAULT NULL COMMENT '更新用户' COLLATE 'utf8mb4_general_ci',`update_time` TIMESTAMP NULL DEFAULT NULL COMMENT '更新时间',`logic_deleted` TINYINT(4) NULL DEFAULT NULL COMMENT '是否删除:0,未删除,1,已删除',`delete_time` TIMESTAMP NULL DEFAULT NULL COMMENT '删除时间',`delete_user` VARCHAR(100) NULL DEFAULT NULL COMMENT '删除用户' COLLATE 'utf8mb4_general_ci',PRIMARY KEY (`id`) USING BTREE,INDEX `grade` (`grade`) USING BTREE,INDEX `type` (`type`) USING BTREE,INDEX `franchisee_id` (`franchisee_id`) USING BTREE
)
COMMENT='优惠券'
COLLATE='utf8mb4_general_ci'
ENGINE=InnoDB
;

优惠券流转表:活动时针对客户的,流转表记录的是优惠券如何给到客户的,可能是后台用户主动发给客户,也可能是客户低价购买到自己手中,也可能是别的什么方式。

CREATE TABLE `t_coupon_flow` (`id` BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID',`flow_no` VARCHAR(50) NULL DEFAULT NULL COMMENT '流转编号' COLLATE 'utf8mb4_general_ci',`method` VARCHAR(50) NULL DEFAULT NULL COMMENT '流转方式' COLLATE 'utf8mb4_general_ci',`customer_id` BIGINT(20) NULL DEFAULT NULL COMMENT '客户ID',`status` TINYINT(4) NULL DEFAULT NULL COMMENT '流转状态:0:新建,1:完成',`remarks` VARCHAR(200) NULL DEFAULT NULL COMMENT '备注' COLLATE 'utf8mb4_general_ci',`content` TEXT NULL DEFAULT NULL COMMENT '操作内容' COLLATE 'utf8mb4_general_ci',`create_user` VARCHAR(100) NULL DEFAULT NULL COMMENT '创建用户' COLLATE 'utf8mb4_general_ci',`create_time` TIMESTAMP NULL DEFAULT NULL COMMENT '创建时间',`modify_user` VARCHAR(100) NULL DEFAULT NULL COMMENT '修改用户' COLLATE 'utf8mb4_general_ci',`modify_time` TIMESTAMP NULL DEFAULT NULL COMMENT '修改时间',`logic_deleted` TINYINT(4) NULL DEFAULT NULL COMMENT '是否删除:0,未删除,1,已删除',`delete_user` VARCHAR(100) NULL DEFAULT NULL COMMENT '删除用户' COLLATE 'utf8mb4_general_ci',`delete_time` TIMESTAMP NULL DEFAULT NULL COMMENT '删除时间',PRIMARY KEY (`id`) USING BTREE,UNIQUE INDEX `flow_no` (`flow_no`) USING BTREE,INDEX `status` (`status`) USING BTREE
)
COMMENT='优惠券流转表'
COLLATE='utf8mb4_general_ci'
ENGINE=InnoDB
;

客户优惠券表: 通过某种方法优惠券到了客户手中,也就是所属客户了,优惠券是一张一张的体现的,通过状态来标定客户是否使用。

CREATE TABLE `t_customer_coupon` (`id` BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT '主键',`flow_id` BIGINT(20) NULL DEFAULT NULL COMMENT '流转ID',`flow_no` VARCHAR(50) NULL DEFAULT NULL COMMENT '流转编号' COLLATE 'utf8mb4_general_ci',`customer_id` BIGINT(20) NULL DEFAULT NULL COMMENT '客户ID',`coupon_id` BIGINT(20) NULL DEFAULT NULL COMMENT '优惠券ID',`coupon_franchisee_id` BIGINT(20) NULL DEFAULT NULL COMMENT '加盟商ID',`coupon_grade` TINYINT(4) NULL DEFAULT NULL COMMENT '优惠券级别:1,平台优惠券、2,加盟商优惠券',`coupon_type` TINYINT(4) NULL DEFAULT NULL COMMENT '优惠券类型(1、抵扣券(现金券),2、折扣券,3、满减券)',`coupon_attributes` TEXT NULL DEFAULT NULL COMMENT '优惠券属性(原来优惠券的属性)' COLLATE 'utf8mb4_general_ci',`cash_amount` DECIMAL(10,2) NULL DEFAULT NULL COMMENT '优惠券减免金额',`status` TINYINT(4) NULL DEFAULT NULL COMMENT '状态:0,未生效,1,未使用,2:已使用',`create_user` VARCHAR(100) NULL DEFAULT NULL COMMENT '创建人' COLLATE 'utf8mb4_general_ci',`create_time` TIMESTAMP NULL DEFAULT NULL COMMENT '创建时间',`update_user` VARCHAR(100) NULL DEFAULT NULL COMMENT '更新人' COLLATE 'utf8mb4_general_ci',`update_time` TIMESTAMP NULL DEFAULT NULL COMMENT '更新时间',`logic_deleted` TINYINT(4) NULL DEFAULT NULL COMMENT '是否删除:0,未删除,1,已删除',`delete_user` VARCHAR(100) NULL DEFAULT NULL COMMENT '删除人' COLLATE 'utf8mb4_general_ci',`delete_time` TIMESTAMP NULL DEFAULT NULL COMMENT '删除时间',PRIMARY KEY (`id`) USING BTREE,INDEX `customer_id` (`customer_id`) USING BTREE,INDEX `coupon_id` (`coupon_id`) USING BTREE,INDEX `status` (`status`) USING BTREE
)
COMMENT='客户优惠券'
COLLATE='utf8mb4_general_ci'
ENGINE=InnoDB
;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/bicheng/88447.shtml
繁体地址,请注明出处:http://hk.pswp.cn/bicheng/88447.shtml
英文地址,请注明出处:http://en.pswp.cn/bicheng/88447.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

让 3 个线程串行的几种方式

1、通过join()的方式 子线程调用join()的时候,主线程等待子线程执行完再执行。如果让多个线程顺序执行的话,那么需要他们按顺序调用start()。/*** - 第一个迭代(i0):* 启动线程t1 -> 然后调用t1.join()。* …

在 Vue 项目中关闭 ESLint 规则

在 Vue 2 项目中关闭 ESLint 规则有以下几种方法,根据您的需求选择合适的方式: 1. 完全禁用 ESLint 修改 vue.config.js(推荐) module.exports {// 关闭 ESLintlintOnSave: false }或修改 package.json {"scripts": {&…

电脑息屏工具,一键黑屏超方便

软件介绍 今天为大家推荐一款实用的PC端屏幕管理工具——CloseDsp。这款"息屏小能手"能一键关闭显示器,解决各种场景下的屏幕管理需求。 核心功能 CloseDsp最突出的特点是能瞬间关闭显示器屏幕。只需点击"关闭显示器"按钮,屏幕…

嵌入式调试LOG日志输出(以STM32为例)

引言在嵌入式系统开发中,调试是贯穿整个生命周期的关键环节。与传统PC端程序不同,嵌入式设备资源受限(如内存、存储、处理器性能),且运行环境复杂(无显示器、键盘),传统的断点调试或…

Zephyr的设备驱动模型

默认配置默认配置 boards/arm/nucleo_f401re/ ├── nucleo_f401re.dts ← 板卡设备树主入口 ├── nucleo_f401re_defconfig ← 默认 Kconfig 配置 ├── board.cmake ← CMake 构建入口overlay1.新增加驱动需要修改对应板的设备树文件&#xf…

Mysql字段没有索引,通过where x = 3 for update是使用什么级别的锁

没有索引时,FOR UPDATE 会锁住整个表 现在,你正在一本一本地翻看所有书,寻找“维修中”的书,并且你对管理员说:“在我清点和修改完之前,别人不能动这些书,也不能往这个范围里加新书!…

TCP-与-UDP-协议详解:原理、区别与应用场景全解析

TCP 与 UDP 协议详解:原理、区别与应用场景全解析 在日常使用网络的过程中,我们经常听到 TCP 和 UDP 这两个词。你打开网页、发送消息、观看视频,背后都在使用 TCP 或 UDP 进行数据传输。那么这两个协议到底是怎么工作的?它们之间…

GitHub信息收集

目录 简介 一、入门搜索技巧 1. 基本关键词搜索 2. 文件类型限定搜索 3. 用户/组织定向搜索 二、精准定位技巧 1. 组合搜索条件 2. 排除干扰结果 3. 路径限定搜索 三、防御建议 四、法律与道德提醒 简介 GitHub作为全球最大的代码托管平台,存储着数十亿…

由 DB_FILES 参数导致的 dg 服务器无法同步问题

由 DB_FILES 参数导致的 dg 服务器无法同步问题 用户反映,dg 服务器数据从昨晚(7月8日)开始停止同步。 连接服务器发现没有 mrp 进程,并且 OPEN_MODE 参数也不正确。具体情况如下所示: SQL> select process, status…

Go语言泛型-泛型对代码结构的优化

在Go语言中,Go泛型-泛型对代码结构的优化部分主要探讨了泛型如何帮助我们优化代码结构、减少重复代码,并提高代码的可维护性、可读性和复用性。以下是详细内容: 一、引言 Go 1.18 引入了泛型,极大地提高了语言的灵活性。泛型使得我们可以编写更加通用、可复用且类型安全的…

【1-快速上手】

文章目录前言简介什么是 Konva?安装 Konva概述它是如何工作的?基本形状样式事件拖放滤镜动画选择器序列化与反序列化性能前言 结合项目实际业务需求,在 Fabric、Konva 等图形化框架中,我选择了性能表现好的 Konva。首先去学习官方…

【LeetCode】209. 长度最小的子数组(前缀和 + 二分)

【LeetCode】209. 长度最小的子数组(前缀和 二分)题目描述前缀和二分优化前缀和总结二分总结题目描述 题目链接:【LeetCode】209. 长度最小的子数组(前缀和 二分) 给定一个含有 n 个整数的数组和一个整数 target。…

文件系统----底层架构

当我们谈到文件系统的时候,最重要的点在于:文件的内容与属性是如何存储在磁盘中的?以及操作系统是如何精准定位到这些文件内容的?在谈及文件的内核前,我们先来了解一下储存文件的硬件-----硬盘一.理解硬件首先我们来看…

小程序开发平台,自主开发小程序源码系统,多端适配,带完整的部署教程

温馨提示:文末有资源获取方式全开源与自主开发源码完全开放:开发者可自由修改前端界面、后端逻辑及数据库结构,支持深度定制(如调整用户端交互流程、商家端管理功能等)。技术栈透明:基于主流技术&#xff0…

stp拓扑变化分类

Max Age 20sHellotime 2sForward delay 153、拓扑改变需要多长时间1)根桥故障:需要50秒(Max age2个forwarding delay)2)非直连链路:非直连故障在稳定的STP网络,非根桥会定期收到来自根桥的BPDU报…

一、深度学习——神经网络

一、神经网络 1.神经网络定义:人工神经网络(Artificial Neural Network,ANN)也简称为神经网络(NN),是一种模仿生物神经网络结构和功能的计算模型。人脑可以看作是一个生物神经网络,由…

【牛客算法】 小红的奇偶抽取

文章目录 一、题目介绍1.1 题目描述1.2 输入描述1.3 输出描述1.4 示例二、解题思路2.1 核心算法设计2.2 性能优化关键2.3 算法流程图三、解法实现3.1 解法一:字符串分离法3.1.1 初级版本分析3.2 解法二:数学逐位构建法(推荐)3.2.1 优化版本分析四、总结与拓展4.1 关键优化技…

Maven 继承:构建高效项目结构的利器

一、引言 Maven 是一个强大的项目管理工具,它通过标准化的项目结构和依赖管理极大地简化了 Java 项目的开发流程。在 Maven 中,继承是一种非常有用的功能,它允许我们创建一个父项目,其他子项目可以继承这个父项目的配置信息&#…

Mysql组合索引的update在多种情况下的间隙锁的范围(简单来说)

简单来说,当 UPDATE 语句的 WHERE 条件使用了组合索引,并且需要锁定不存在的“间隙”来防止幻读时,就会产生间隙锁。间隙锁的范围取决于 WHERE 条件如何利用组合索引,以及数据库的隔离级别。 我们用图书馆的例子。比如&#xff1a…

什么是Apache Ignite的affinity(亲和性)

在 Apache Ignite 中, affinity(亲和性) 是一种用于控制数据分布和查询性能的重要机制。它允许开发者指定数据如何在集群中的节点之间分布,从而优化数据访问和查询效率。以下是关于 affinity 的详细解释:数据亲和性&a…