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

一、背景

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

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

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

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

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

二、支付宝的积分商城

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,一经查实,立即删除!

相关文章

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

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

linux基于wifi,Xshell的远程连接

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

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

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

【秋招刷题打卡】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;探…

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

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

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

第一后裔是一款采用虚幻5引擎打造的第三人称合作射击动作RPG&#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…

Transformer教程之神经网络和深度学习基础

在当今的人工智能领域&#xff0c;Transformer已经成为了一个热门的词汇。它不仅在自然语言处理&#xff08;NLP&#xff09;领域取得了巨大的成功&#xff0c;还在计算机视觉等其他领域展现出了强大的潜力。然而&#xff0c;要真正理解Transformer&#xff0c;我们首先需要扎实…

gdb用法

创建文件 // main.cpp文件 // 稳态误差 void pid_test_wentaiwucha() {float p 1.5;int t 1; // t 1s;int target 5; // 5m/sfloat output 0;float radis 3; // 稳态误差std::cout << "output: " << std::endl;fo…

并发 多线程

目录 thread thread 类总览 构造函数 join joinable ​编辑 detach swap yield swap 成员函数的调用 namespace::this_thread 线程同步--锁 互斥锁mutex 递归锁recursive_mutex 定时锁 Lock 锁辅助类 lock_guard​编辑 unique_lock std::lock 解决死锁问题 消息…

浅谈逻辑控制器之随机顺序控制器

浅谈逻辑控制器之随机顺序控制器 随机顺序控制器&#xff08;Random Order Controller&#xff09;作为一个独特的逻辑控制器&#xff0c;为测试脚本的执行增添了一层随机性&#xff0c;特别适用于模拟用户行为中不确定的访问模式。 随机顺序控制器概述 随机顺序控制器&…

代码随想录算法训练营第三十六天|62.不同路径、 63. 不同路径 II、343.整数拆分(可跳过)、96.不同的二叉搜索树(可跳过)

62.不同路径 题目链接&#xff1a;62.不同路径 文档讲解&#xff1a;代码随想录 状态&#xff1a;还行 思路&#xff1a;当前状态的只有可能是从上面或者左边过来的&#xff0c;所以 dp[i][j] dp[i-1] dp[j-1] 题解&#xff1a; public int uniquePaths(int m, int n) {if (…

Docker 安装Nginx部署网站 防火墙端口 数据卷挂载

拉取镜像 docker pull nginx#不写版本号 表示最新版本查看是否拉取成功 docker images#成功 nginx latest 605c77e624dd 2 years ago 141MB mysql 8.0 3218b38490ce 2 years ago 516MB mysql latest 3218b38490ce 2 years ago 5…

virtualbox(7.0) ubuntu(22) 和win11共享文件夹

在虚拟机中安装增强功能。在virtualbox中配置 执行命令将用户加入vboxsf组 sudo adduser your_usrname vboxsf 重启ubuntu即可

LeetCode 585, 438, 98

目录 585. 2016年的投资题目链接表要求知识点思路代码 438. 找到字符串中所有字母异位词题目链接标签思路代码 98. 验证二叉搜索树题目链接标签合法区间思路代码 中序遍历思路代码 585. 2016年的投资 题目链接 585. 2016年的投资 表 表Insurance的字段为pid、tiv_2015、tiv…

Charles网络抓包工具手机抓包配置(二)

目录 事前配置 配置手机连接 代理设置 Https请求设置 手机安装根证书 手机连接代理 证书获取​编辑 证书安装 成果 前言-与正文无关 ​ 生活远不止眼前的苦劳与奔波&#xff0c;它还充满了无数值得我们去体验和珍惜的美好事物。在这个快节奏的世界中&#xff0c;我们…