商城积分系统的设计方案(上)-- 需求分析

一、背景

用户在参与公司的促销活动,比如邀请用户下单支付,可以获得虚拟货币。它可以用于解锁学习课程。

商品在定价的时候,需支持虚拟货币,用户在购买该商品的时候,可使用虚拟货币进行支付。

在电商体系中,更常见的是做任务赚到的积分,可以抵扣现金,以购买商品。比如支付宝的积分商城。

本文分析的参考对象是支付宝积分商城,满足公司业务的不同积分需求,梳理出积分系统的要点。

后文我将把积分体系的数模设计以及接口设计分享出来,供需要的参考一二。

二、支付宝的积分商城

1、功能模块

  • 积分余额(账户的当前积分值)
  • 积分收支明细(每一笔收入的积分和消耗的积分)
  • 收入的积分,进一步分为两种途径:做任务赚取到的积分、支付宝付款(主动扫和被扫)奖励的积分。
  • 消耗积分,购买积分商城的商品,使用积分抵扣。(商品支持使用积分抵扣)
  • 查询积分可兑换的商品列表

收入的积分,除了免费获得外,还有两种途径是通过主动购买和后台手动发放而得。

大家不会去傻傻地去购买支付宝的积分,所以你看不到这个入口,产品大神故无此设计。
但是,作为积分系统,积分本质是一种虚拟货币,比如金币、喵币、金钥匙、淘币等等。
积分,作为促销系统的一种常用手段,拉新用户需要用到积分,活跃老用户更需要用到积分。
所以,大多数公司的业务之外,往往还会有自己的积分商城。

说到虚拟货币,还有更加抽象的概念,比如xx的使用次数、xx的使用时间。
凡此种种,我们需要定义积分类型,表示不同的虚拟货币。

做任务赚取积分,任务类型有以下:

  • 签到
  • 逛一逛xx页面
  • 搜一搜xx
  • 滑动浏览xx页面(15秒)

使用积分抵扣商品的支付,有下面两种情况:

  • 纯积分方式的购买
  • 积分+现金组合方式的购买

纯现金方式的购买,是无法使用积分抵扣的。所以,在给商品定价的时候,价格应该是有两个字段:积分值和现金金额。

2、UI设计

  • 积分余额

在这里插入图片描述

  • 积分记录(收入和支出)

在这里插入图片描述

  • 任务赚积分

在这里插入图片描述

  • 消耗积分之纯积分方式

使用269个支付宝积分,购买一个虚拟商品:1元生活缴费红包。

在这里插入图片描述

  • 消耗积分之积分加现金的组合方式

以商品牙刷为例,它需要消耗999个积分,另外付款1元现金。

在这里插入图片描述
它的实现方式,跟前面的类似,也是使用999个积分,换得该商品价值9.9元的优惠券。

也就是说,积分+现金的组合方式也好,纯积分方式也罢,都采用了优惠券作为中介。

我们是在对商品进行标价的时候,就把积分赋给了商品的价格。这一点,与支付宝积分商城所有不同。(通过优惠券来过渡一下,好处是不会改变商品原先的定价,一直是10.9元)

三、设计目标

  • 支撑公司所有的商城业务,在营销活动过程中,所衍生出来的多种虚拟货币。
  • 积分的发放多种多样,支持灵活的配置。
  • 商品的价格除默认的现金方式外,还需支持纯虚拟货币方式、现金加虚拟货币的组合方式。

四、总结

本文重点在积分系统的设计,不涉及商品、订单、支付和促销等模块,限于篇幅,我们将分为上中下三篇来阐述我们的设计思路。

上文也说了,积分在这里不仅仅是支付宝积分商城的“积分”,更侧重于虚拟货币的概念。

所以,我们是把积分赋给商品的价格里,包括积分数points和现金金额price,重复说一遍!!!

在这里插入图片描述

    @Column(name = "points_type", columnDefinition = "VARCHAR(32) COMMENT '积分类别'")private String pointsType;@Column(name = "points", columnDefinition = "INT default 0 COMMENT '积分数'")private int points;@Column(name = "price", nullable = false, columnDefinition = "INT default 0 COMMENT '商品价格'")private int price;

price默认是0元,因为有些商品是0元购的,无需使用优惠券。(当然,后台人员在设置0元商品的时候,需要二次审核)

积分类别pointsType + 积分数points,正是为了兼容多种虚拟货币。

商品本身也可能是虚拟商品,虚拟货币购买虚拟商品,一切尽在虚拟世界中。

下一篇我们将介绍其数模设计。。。

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

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

相关文章

等保2.0自查表,扩展部分

等保2.0自查表,扩展部分,参考标准: GB∕T 22239-2019 《信息安全技术 网络安全等级保护基本要求》 GB∕T 28448-2019 《信息安全技术网络安全等级保护测评要求》 云计算安全 层面 控制点 检查项 三级要求 二级要求 安全物理环境 基础…

android:exported=“false“

书籍: 《第一行代码 Android》第三版 开发环境: Android Studio Jellyfish | 2023.3.1 问题: A launchable activity must be exported as of Android 12, which also makes it available to other apps 新建的activity中的android:exp…

PID算法介绍以及代码实现过程说明

写在正文之前 在上一篇文章就说会在这两天会基于PID写一个文章,这里的原理部分值得大家都看一下,代码部分的实现是基于python的,但是对于使用其他编程语言的朋友,由于我写的很通俗易懂,所以也值得借鉴。 一、PID算法…

最大流的学习代码,匹配问题的学习 使用c++

使用一个例子学习最大流和匹配问题&#xff0c;假如某地有n个出租车司机和m个正在打车的乘客&#xff0c;他们应该如何匹配&#xff1b; #include <iostream> // 用于输入输出 #include <vector> // 用于动态数组 #include <queue> // 用于广度优先…

linux基于wifi,Xshell的远程连接

最近有个比赛&#xff0c;要使用ros小车但是系统是ubuntu20.04无桌面系统刚开始接触linux的我啥都不会&#xff0c;就一个简单的连接wifi都搞了3天才搞通。再此进行一个总结。参考博客原文链接&#xff1a;https://blog.csdn.net/qq_51491920/article/details/126221940 一、什…

短说V4.1.5及PC端V3.1.4正式版发布公告

Hi 大家好&#xff0c; 我是给你们带来惊喜的运营小番茄。 本期更新为短说 4.1.5和PC端3.1.4的正式版。 本次修复上个版本中的问题和功能优化&#xff0c;以及新增了如下功能&#xff1a; PC端支持发布秀米帖&#xff0c;可支持部分秀米格式&#xff1b;后台管理类消息新增…

C#中的容器

1、数组 数组是存储相同类型元素的固定大小的顺序集合 声明数组时&#xff0c;必须指定数组的大小 2.数组的插入和删除数据比较麻烦&#xff0c;但是查询比较快 2、动态数组&#xff08;ArrayList&#xff09; 动态数组&#xff1a;可自动调节数组的大小 可以存储任意类型数…

【秋招刷题打卡】Day03-二分系列之-二分答案

Day03-二分系列之-二分答案 给大家推荐一下咱们的 陪伴打卡小屋 知识星球啦&#xff0c;详细介绍 >笔试刷题陪伴小屋-打卡赢价值丰厚奖励 < ⏰小屋将在每日上午发放打卡题目&#xff0c;包括&#xff1a; 一道该算法的模版题 (主要以力扣&#xff0c;牛客&#xff0c;…

43 mysql insert select 的实现

前言 我们这里 来探讨一下 insert into $fields select $fields from $table; 的相关实现, 然后 大致来看一下 为什么 他能这么快 按照 我的思考, 应该里里面有 批量插入才对, 但是 调试结果 发现令我有一些意外 呵呵 果然 只有调试才是唯一的真理 测试数据表如下 CREATE…

数字社交的领航者:解析Facebook的引领作用

在当今数字化社会中&#xff0c;社交网络已经成为了人们日常生活不可或缺的一部分。而在众多社交平台中&#xff0c;Facebook凭借其巨大的用户基础和创新的技术应用&#xff0c;被公认为数字社交领域的领航者之一。本文将深入解析Facebook在数字社交中的引领作用&#xff0c;探…

一起学Hugging Face Transformers(3) - Hugging Face 加载模型和Tokenizer

文章目录 前言一、加载预训练模型和Tokenizer1. 安装Transformers库2. 加载预训练模型和Tokenizer 二、使用AutoModel和AutoTokenizer1. 使用AutoModel和AutoTokenizer2. 原理1&#xff09; 配置文件 (config.json)2&#xff09; 使用AutoModel3&#xff09; 使用AutoTokenizer…

Vue.js 的 provide 选项来向子组件提供数据

父组件 // Parent.vue <template><div><p>Parent Component</p><p>Count: {{ count }}</p><ChildComponent /></div> </template><script> import ChildComponent from ./ChildComponent.vue;export default {co…

这三款工具很好用,赶快试试

FileZilla FileZilla是一款免费开源的FTP软件&#xff0c;分为客户端版本和服务器版本&#xff0c;具备所有的FTP软件功能。它是一个快速、可信赖的FTP客户端以及服务器端开放源代码程序&#xff0c;具有多种特色和直觉的界面。FileZilla客户端版是一个方便高效的FTP客户端工具…

第一后裔The First Descendant开服时间、配置要求一览

第一后裔是一款采用虚幻5引擎打造的第三人称合作射击动作RPG&#xff0c;玩家将化身为一名继承者&#xff0c;通过各种任务和故事不断成长&#xff0c;为守护人类与对抗侵略者战斗。该作即将上线&#xff0c;为了不让玩家们错过这款精彩的游戏&#xff0c;本文整理了第一后裔上…

卫生间和厨房墙面基层起沙怎么办?

最近有几个工地遇到了一个共同问题&#xff0c;卫生间和厨房墙面起沙。      如果有正在装修的业主&#xff0c;可以看一下你家墙面是否也存在这样的问题。      最简单的检测方法&#xff0c;在工地上找一个坚硬的东西在墙上划&#xff0c;如果墙上的沙粒子一直哗哗的…

测评:【AI办公】版本更迭与AI加持下的最新ONLYOFFICE桌面编辑器8.1

你是否还在为没有一款合适的在线桌面编辑器而苦恼&#xff1f;你是否还在因为办公软件的选择过少而只能使用WPS或者office&#xff1f;随着办公需求的不断变化和发展&#xff0c;办公软件也在不断更新和改进。ONLYOFFICE 作为一款全功能办公软件&#xff0c;一直致力于为用户提…

2024年全国青少年信息素养大赛图形化编程复赛样题_6547网

第 1 题 问答题 【编程实现】 按空格键随机切换背景&#xff0c;让背景对应的角色造型显示在舞台上。 【具体要求】 对角色编程&#xff0c;当按下空格键时&#xff0c;背景随机切换&#xff1b; 角色切换成对应的造型显示在舞台上&#xff1b; 角色说“我是”和它的造…

帮助你简易起步一个BLOG(博客搭建)项目

Blog项目 后端项目结构1. 项目初始化2. 详细步骤3.postman测试 前端1. 项目初始化2. 详细步骤 本章节是为了帮助你起步一个完整的前后端分离项目。 前端技术栈&#xff1a; react、vite、mantine、tailwind CSS、zustand、rxjs、threejs 后端技术栈&#xff1a;nodemon、nodej…

计算机网络 5.2网卡

第二节 网卡 一、认识网卡 1.工作方式&#xff1a;中断请求。 2.应用场合&#xff1a;接入局域网。 3.功能&#xff1a; ①实现局域网中传输介质的物理连接和电气连接。 ②拥有一个全球唯一的网卡地址&#xff08;长度为48位的二进制数&#xff09;。 ③执行网络控制命令…

深入探索Batch脚本:实现延迟执行的高级技巧

在Windows操作系统中&#xff0c;批处理文件&#xff08;Batch文件&#xff09;是一种自动化脚本&#xff0c;允许用户执行一系列命令和操作。在某些情况下&#xff0c;我们可能需要在批处理文件中创建延迟执行的命令&#xff0c;即让某些操作在预定的时间后执行。本文将详细介…