我是一段不羁的公告!
记得给艿艿这 3 个项目加油,添加一个 STAR 噢。
https://github.com/YunaiV/SpringBoot-Labs
https://github.com/YunaiV/onemall
https://github.com/YunaiV/ruoyi-vue-pro

数据库实体设计 —— 营销(4.6)之打包一口价

艿艿目前正在做一个开源的电商项目,胖友可以 star 下。https://gitee.com/zhijiantianya/onemall

1. 概述

本文主要分享营销模块的 打包一口价 的数据库实体设计

基于如下信息,逆向猜测数据库实体:

【护脸旁白】
笔者非电商行业出身 && 非有赞工程师,所以有错误或不合理的地方,烦请斧正和探讨。
有赞是个各方面都很 NICE 的公司,推荐

2. 背景了解

参见 《如何设置打包一口价》 文档。

可以看到,功能上和优惠套餐相似,差异点在打包后选择 N 件。是不是有一种大家喜闻乐见村口的 “十元店” 的感觉。

另外,参与打包一口价的商品,不同于不允许优惠套餐,允许编辑价格、规格等信息。

3. 数据库实体

BaleActivity ,打包一口价活动。

3.1 基本信息

《数据库实体设计 —— 营销(4.5)之优惠套餐》「3.1 基本信息」 一致。

/**
* 编号,自增唯一
*/
private Integer id;
/**
* 店铺编号
*/
private Integer shopId;
/**
* 名称
*/
private String name;
/**
* 创建时间
*/
private Date createTime;
/**
* 更新时间
*/
private Date updateTime;

3.2 状态信息

《数据库实体设计 —— 营销(4.5)之优惠套餐》「3.1 基本信息」 基本一致,相比多了手动失效功能。

/**
* 状态
*
* 1-未开始
* 2-进行中
* 3-已结束
* 4-已删除
*/
private Integer status;
/**
* 结束类型
*
* 1-活动到期
* 2-手动删除
* 3-手动失效
*/
private Integer endType;
/**
* 活动到期时间
*/
private Date expireTime;
/**
* 设置为失效时间
*/
private Date invalidTime;
/**
* 删除时间
*/
private Date deleteTime;
  • status ,状态。迁移过程如下图:
  • endType ,结束类型。
  • 因为迁移状态比较灵活,所以用多个字段记录时间。
    • expireTime ,活动到期时间。
    • invalidTime ,设置为失效时间。
    • deleteTime ,删除时间。

3.3 时间信息

《数据库实体设计 —— 营销(4.5)之优惠套餐》「3.3 时间信息」 一致。

/**
* 开始时间
*/
private Date startTime;
/**
* 结束时间
*/
private Date endTime;

3.4 商品优惠信息

/**
* 打包价格,单位:分
*/
private Integer balePrice;
/**
* 任选件数
*/
private Integer baleNum;
/**
* 优惠是否叠加
*
* 可与优惠券、优惠码、满减、支付有礼、订单返现促销活动进行优惠叠加
*/
private Boolean isPreferentialOverlay;
/**
* 指定可用商品列表,使用逗号分隔商品编号 {@link cn.iocoder.doraemon.itemgroup.item.entity.Item#id}
*/
private String items;
  • balePrice ,打包价格,单位:分。
  • baleNum ,任选件数。
  • isPreferentialOverlay ,优惠是否叠加。
  • items ,指定可用商品列表,使用逗号分隔商品编号( Item.id ) 。

4. API

有赞云暂未提供相关 API ,因此本小节省略。

666.彩蛋

小文一篇,涉及到交易价格计算的部分,在后续文章分享。

《各类营销活动叠加汇总》

总访客数 && 总访问量