这个业务怎么实现 ,累计买3套赠一套

a435648445 2015-04-19 01:37:24
如题:
假如我今天买了3套,实际收到的是4套
假如我今天买了2套,实际收到是2套,然后第二天我又买了1套,实际收到的是2套(因为累计达到3套了)
假如我今天买了5套,实际收到是6套,然后第二天我又买了1套,实际收到的是2套(因为又达到一次3套)
这种业务怎么实现,数据库里面怎么存储比较方便?也便于查询。
...全文
110 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
zujinsheng 2015-04-19
  • 打赏
  • 举报
回复
n+(n/3) 向下取整..
  • 打赏
  • 举报
回复
如果你是销售方,你可以把“入库数”记为“出库数”,把库存数记为负数。 上述是假设只计总账。只是一个非常简化的原型。 实际使用中,可能要对特定的客户(编号)单独核算。因此“订单数”和“可累计数”都不能单独使用,你还需要增加一个“客户编号”字段。增加一个维度,这样就相当于为Excel增加了n张表(每一个表对应的某个特定客户的账本),相应的“订单、验收入库、库存、可优惠数”都是针对特定客户单独核算的了,如果要知道总数就需要把所有客户的余额数据汇总起来。 在更加实际的应用中,其实还需要为不同的商品品项单独核算(甚至核算到具体的型号),也就是在客户编号之外再增加一个商品编码字段,每一次处理业务操作时都应该用“商品编码+客户编码”组合起来作为key去进行数据查找。
  • 打赏
  • 举报
回复
   订单数          验收入库         库存数           可累计数             事件备注
-----------    -------------     -----------     ---------------       -------------
    3                3                  3               3                   购买
    0                1                  4               0                   赠送
    2                2                  6               2                   购买
    1                1                  7               3                   购买
    0                1                  8               0                   赠送
    5                5                 13               5                   购买
    0                1                 14               2                   赠送
    1                1                 15               3                   购买
    0                1                 16               0                   赠送
 
 
设计起来并不复杂,就是学会比较规范地“记工作流水账”就可以。 不要因为想“节省数据库空间”而少字段。另外就是学学用Excel来管账,养成用Excel进行工作的习惯,对你设计数据库业务表有好处。
  • 打赏
  • 举报
回复
你可以把“订单数、验收入库、库存数、可累计数”分开保存。比如说按照你的业脚本

订单数    验收入库    库存数    可累计数      事件备注
-----------    -------------     -----------     ---------------       -------------
    3                3                  3                    3                    购买
    0                1                  4                    0                   赠送
    2                2                  6                    2                    购买
    1                1                  7                    3                   购买
    0                1                  8                    0                   赠送
    5                5                  13                  5                   购买
    0                1                  14                   2                  赠送
    1                1                  15                  3                  购买
  0                1                   16                 0                   赠送



你可以看到以下业务逻规则:
1. 每一次购买行为时将购买数量累加到“可累计数”。
2. 购买之后检查是否可以赠送。
3. 赠送时,每赠送n个商品入库,对“可累计数”减少 n*3。

  • 打赏
  • 举报
回复
直接就设计两张表,一张为销售表,一张为累计赠送表

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧