一、前端
1. 服务
-
服务不支持金币,价格为780元,则展示780元;
-
服务支持部分使用金币,价格为780元,金币最多使用1000,则展示780元+金币的图标;
-
价格:按照最低规格配置的价格进行展示;
-
最多金币使用数是根据服务订单而言,项目规格和服务人员不影响最多使用金币数;
-
如后台配置了部分使用金币、纯金币使用选项,则在优惠卡券下新增‘金币使用’一栏,反之不展示;
可使用金币的开关
-
可使用金币的开关,默认打开,即默认使用金币;
-
开关打开,即展示‘金币抵扣’字段,金额展示最多可使用的金币的抵扣金额;
-
开关下面的可使用金币:当前用户可使用的金币数;
-
最多可使用的金币数:根据后台配置的最大使用金币数进行比较;
-
底部价格=订单金额 - 优惠券/金币抵扣
例如:用户当前90个金币,后台配置的最多使用金币为5000,灰度显示展示‘无可用金币’,按钮关闭且不可点击状态;
用户当前1900个金币,后台配置的最多使用金币为5000,开关下的文本显示‘可使用金币1900,最多可使用1900’,开关可点击
用户当前125个金币,后台配置的最多使用金币为5000,开关下的文本显示‘可使用金币125,最多可使用100’,开关可点击;
用户当前3000个金币,后台配置的最多使用金币为5000,开关下的文本显示‘可使用金币3000,最多可使用3000’,开关可点击;
用户当前6000个金币,后台配置的最多使用金币为5000,开关下的文本显示‘可使用金币6000,最多可使用5000’,开关可点击;
抵扣规则:
- 100金币=1元
- 使用的金币数为100的整数倍;
1.1 服务订单
- 如金币抵扣>0,在实付金额上面新增‘金币抵扣’,这里显示用户金币所抵扣的金额,反之不展示(包括全部、代付款、服务中、已完成、已取消)
1.2 服务订单详情
- 如金币抵扣>0,在‘优惠’字段下新增‘金币抵扣’,显示用户金币所抵扣的金额,且已优惠改‘已抵扣’,价格为抵扣的价格;
- 如金币抵扣<=0,不展示‘金币抵扣’字样,和原有保持一致;
- 实付金额为抵扣/优惠之后的价格;
1.3 服务订单退款
- 根据后台退款的金额进行退还金币数,实际支付金额:退还的金额==支付金币数:退还金币数;
- 订单总金额100元,金币抵扣80元,实际支付20元,退款19元,20:19==8000:退还金币数;
2. 商城
2.1 商品列表
2.2 商品详情
例如:
- 商品不支持金币,价格为20元,则展示20元;
- 商品支持部分使用金币,价格为20元,金币最多使用1000,则展示20元+金币的图标,;
- 商品支持纯金币,最多使用1000,则展示1000金币,‘立即购买’字段更改为‘立即兑换’;
2.3 订单详情
- 后台配置为部分使用/纯金币使用,才展示金币使用开关,且开关默认打开状态,反之不展示;
- 订单详情仅展示金币使用开关,在底部统一展示‘优惠券抵扣XX元’,‘金币抵扣XX元’,优惠券抵扣>0,金币抵扣>0才展示;
- 优惠券和金币使用开关可来回切换,不能同时选择,打开金币开关的时候,优惠券自动选中不使用,文本提示‘金币不能和优惠券同时使用’;
- 选中优惠券的时候,金币开关自动关闭,文本提示‘金币不能和优惠券同时使用’;
- 底部的优惠券抵扣和金币抵扣金额同步变化;
- 先计算纯金币使用商品的金币数,后将所有部分使用金币且金币开关打开的商品,用剩余金币数重新按照比例进行分配金币和金钱;
- 金币使用的开关切换,需要同步重新计算进行分配;
- 在创建订单的时候,后台记录每个sku所使用的金币数及金钱;
例如:退款(总共花了305元+6500个金币)
商品 | 规格 | 类型 | 是否打开开关 | 金额 | 数量 | (最多)使用金币数 | 金钱占比 | 金币占比 | 金钱退款 | 金币退款 |
---|---|---|---|---|---|---|---|---|---|---|
A | a1 | 部分使用金币 | 是 | 20 | 1 | 1500 | 20/120 | 1500/4500 | 115x(20/120)=19.16 | 500x(1500/4500)=166 |
A | a2 | 部分使用金币 | 否 | 30 | 2 | 1500x2 | - | - | 60 | - |
A | a3 | 部分使用金币 | 是 | 50 | 2 | 1500x2 | 100/120 | 3000/4500 | 115-19.16=95.84 | 500-166=334 |
B | b1 | 纯金币 | 是 | - | 1 | 2000 | - | - | - | 2000 |
B | b2 | 纯金币 | 是 | - | 2 | 2000x2 | - | - | - | 4000 |
C | c1 | 不可使用金币 | - | 20 | 2 | - | - | - | 40 | - |
C | c2 | 不可使用金币 | - | 30 | 3 | - | - | - | 90 | - |
例如:同一订单,不同规格(部分金币使用)
商品规格 | 金额 | 数量 | 最多使用金币数 | 金钱占比 | 金币占比 |
---|---|---|---|---|---|
A | 5 | 2 | 400x2 | 10/85 | 800/2000 |
B | 15 | 1 | 400 | 15/85 | 400/2000 |
C | 30 | 2 | 400x2 | 60/85 | 800/2000 |
退款(总共花了65元钱+2000个金币)
- 商品A:65x(10/85)=7.64元钱,2000x(800/2000)=800
- 商品B:65x(15/85)=11.47元钱,2000x(400/2000)=400
- 商品C:65-7.64-11.47=45.89元钱,2000-800-1000=800
退款(总共花了70元钱+1500个金币)
- 商品A:70x(10/85)=8.23元钱,1500x(800/2000)=600
- 商品B:70x(15/85)=12.35元钱,1500x(400/2000)=300
- 商品C:70-8.23-12.35=49.42元钱,1500-600-300=600
- 退款的时候,金币取整,最后一个商品的金币=使用的总金币数-其他商品的金币之和;
- 退款的时候,金钱保留小数点后2位有效数字,最后一个商品的价格=使用的总价格-其他商品的价格之和;
2.4 商城订单
- 如金币抵扣>0,在优惠后新增‘金币抵扣’,显示用户金币所抵扣的金额,反之不展示(包括全部、代付款、服务中、已完成、已取消);
2.5 商品订单商品详情
- 金币抵扣>0,展示合计的金币对应金额;
2.6 购物车
- 在购物车选择的时候,如遇纯金币使用的商品,优先判断当前用户的金币数,金币数足够才能进行选择去结算,否则不可选择,点击提示‘金币不足’,部分使用金币或不可使用金币不影响;;
3. 签到页面超值兑换
- 仅展示商品的推荐部分商品,展示10条进行分页;
- 展示内容:图片、商品名称、价格=价格+积分;
- 价格:按照最低规格配置的价格进行展示;
- 图片名称:单行文本展示,超出省略;
- 点击非按钮区域,跳转至商品详情页面,详情页面和商城一致;
- 按钮:兑换、抢购;
- 抢购:纯金额使用的情况下,展示抢购按钮,反之展示‘兑换’按钮;
- 纯金币使用的商品,需要判断用户当前金币数,如用户当前金币数<商品兑换的金币数,按钮置灰;
- 点击操作按钮兑换/抢购,弹出商品规格选择,后跳转至订单详情页面;
- 金币使用默认打开开关;
- 如金币抵扣>0,在优惠券后新增‘金币抵扣’,显示用户金币所抵扣的金额,反之不展示;
- 如用金币购买的商品,后涉及退货退款,则在后台退货、退款订单完成时,金币原路返回;
3.1 更多
- 分类进行展示,和商城类似,展示10条进行分页;
- 展示内容:图片、商品名称、价格=价格+金币;
- 价格:按照最低规格配置的价格进行展示;
- 图片名称:单行文本展示;
- 按钮:兑换、抢购;
- 抢购:纯金额使用的情况下,展示抢购按钮,反之展示‘兑换’按钮;
- 纯金币使用的商品,需要判断用户当前金币数,如用户当前金币数<商品兑换的金币数,按钮置灰,点击文本提示‘金币不足’;
3.2 搜索
3.2.1 搜索前
- 历史搜索:默认展示3行,点击下拉展开的图标展示近1个月的历史搜索;
- 列表去重,按照最新搜索靠前排序;
搜索内容:
- 支持中文、英文、数字搜索,模糊搜索;
- 如搜索特殊字符,如空格/逗号/+/-/?/%/#,默认搜索热搜商品的第一个;
- 如输入火龙果+,模糊搜索火龙果的商品信息;
例如:搜索栏输入空格,点击搜索后搜索框内容展示人参果,列表展示人参果相关内容,历史搜索里面新增‘人参果’记录;
- 点击删除:删除历史搜索记录;
- 热搜商品:展示搜索最多的前10个商品名称;
- 如商品名称都只有1个搜索记录,则按照数据库最近搜索的商品名称进行排序;
3.2.2 搜索后
- 模糊查询,按照后台的商品序号进行排序;
4. 金币清零
-
可用金币清零,不清除记录;
-
有金币的情况下,在每年的12月1日 09:00:00的时候,消息通知的消息栏提醒:XXX金币将于12月31日23:59:59过期,请尽快使用;
-
有金币的情况下,在每年的12月31日 09:00:00,消息通知的消息栏提醒:XXX金币将于今晚 23:59:59过期,请尽快使用;
5. 首页推荐服务
- 服务不支持金币,价格为20元,则展示20元;
- 服务支持部分使用金币,价格为20元,金币最多使用1000,则展示20元+金币的图标;
- 价格:按照最低规格配置的价格进行展示;
二、后端
1. 商城后台
1.1 商品创建
- 新增纯金币使用、部分金币使用、不可使用金币三个单项选择,默认选中不可使用金币;
纯金币使用
- 在商品规格的‘商品价格’更改为‘使用金币’,下面填写对应规格的金币数,默认100,金币数下面提示‘填写可使用的金币数’,为必填项;
- 商品运费不显示,用户直接进行金币兑换商品;
部分金币使用
- ‘金币数’更改为‘最多可使用的金币数’,为100的整数倍,默认100,金币数对应的价格小于商品的最低价格,反之在填写价格的时候提醒‘价格应大于金币抵扣金额’,为必填项;
- 商品价格、运费填写的价格为原价;
- 商品的价格>1元;
- 最多金币使用数是根据商品而言,与商品规格的价格无关,也就是说,商品A设定的的最多使用金币数是1000,商品A的所有规格使用金币都不能超过1000;
不可使用金币
- 原有商品默认为不可使用金币;
- 不展示‘金币数’,即以前的逻辑;
1.2 是否推荐
- 默认关闭;
- 开关打开,即表示推荐到签到页面的商品兑换;
- 推荐的商品在商城列表和签到页面都展示该商品;
1.3 订单管理
- 订单状态后面新增‘金币使用’,展示用户该笔订单使用的金币数;
1.4 订单详情
- 订单信息栏,优惠后新增‘金币使用’,展示用户该笔订单使用的金币数;
- 在订单优惠金额下新增‘金币扣减’字样,展示金币数对应的金额,保留小数点后2位数字;
2. CMS后台
2.1 订单列表
- 下单金额后新增‘金币使用’,展示用户该笔订单使用的金币数,未使用金币显示空;
2.2 服务添加
- 顶部新增部分金币使用、不可使用金币两个单项选择,默认选择不可使用金币;
部分金币使用
- 项目规格字段前添加‘最多可使用的金币数’字段,该字段仅支持数字,提示‘请填写最多可使用的金币数’,为100的整数倍,默认100,金币数对应的价格小于服务的价格,反之在填写价格的时候提醒‘价格应大于金币抵扣金额’,为必填项;
- 项目规格中的高低峰价格按照原价填写且价格>1;
不可使用金币
- 原有商品默认为不可使用金币;
- 保持以前的逻辑;
2.3 派单列表
- 金额后新增‘金币使用’,展示用户该笔订单使用的金币数,未使用金币显示空;
3. 金币使用及发放
金币使用
- 金币不能和优惠券、促销活动、限时抢购同时使用,四选一;
- 如遇促销活动、限时抢购,不展示金币使用相关信息,即保持以前逻辑;
金币发放
- 购买XXX(XXX为商品/服务的商品名称)商品/服务:订单交易完成的时候系统自动发放对应金币数,金币数 = 商品实际支付金额(非运费、优惠券、金币抵扣部分),且消息中心的消息栏有消息通知,恭喜您,购买的XXX(商品名称)商品/服务交易完成,成功换购XX金币,点击不跳转;
- 商品交易 < 1元,不计金币;
- 兑换XXX(XXX为商品/服务名称)商品/服务时,支付成功时,金币数进行相应扣减,金币数 = 商品实际支付金额(非运费、优惠券、金币抵扣部分),且消息中心的消息栏有消息通知,恭喜您,购买的XXX(商品名称)商品/服务交易完成,成功换购XX金币,点击不跳转;
- 商品/服务退款成功时,金币数原路返回;
例如:12.31 23:58:58 使用了金币1000,在次日将这1000个金币退还了,这退还的1000个金币不做清零;
商品名称:
- 服务:对应服务的服务名称;
- 商品:对应商品的商品名称,单行文本显示,超出省略;
例如:8.6日购买的休闲锻炼商品50元钱,运费8元,优惠券使用10元,总共支付48元,8.8日用户已经确认收货,用户点击确认收货时,系统自动发送通知类消息,恭喜您,购买的休闲锻炼商品交易已完成,成功换购40金币。
- 金币明细时间为增加/减少金币的时间;
- 后台查看金币明细中的类型有‘购买商品/服务’、‘商品/服务退款’、‘金币签到’三种类型;