需求分析:费用延用设计。
比如有个客户A,他7月份购买了保险产品A,保险产品B.
产品A总价为:100元,子产品价格的总和。
产品B总价为:100元,子产品价格的总和。7月账单:客户购买所有产品总和200元及明细,
8月账单沿用7月费用:客户购买所有产品总和200元及明细。注意事项:
1、每个产品随时有可能调整价格,价格调整后同时客户产品价格应该变化。
比如A:
7月是200元,
8月沿用7月200元,
9月调整价格为300元,
10月沿用9月价格。
2、客户费用段是不允许用户手动修改。现在我所想的表结构如下:
客户表:
cusid    cusname
1  测试客户费用段表:
fid cusid moneytotal beginTime stopTime
1    1        200            2013-07     null   ---------------》如何为空,沿用 产品A明细表:
id fid proid  money
1   1     1       20
2   1     2       80
产品B明细表:
id fid proid  money
1   1     4       20
2   1     5       80现在问题是:
1、我调产品A的价格要先去费用段表生成一条记录,然后把产品A,产品B的所有明细重新插入。一般一个客户会购买5种以上产品。
费用段表:
fid cusid moneytotal beginTime stopTime
1    1        200            2013-07     2013-08   终止时间就是产品生效时间的前一个月。
2    1        180            2013-09      null        ---------------》如何为空,沿用 产品A明细表:
id fid proid  money
1   1     1       20
2   1     2       803   2     1       20   
3   2     1       60   ------>调整后的价格产品B明细表:
id fid proid  money
1   1     4       20
2   1     5       803   2     4       20     ---->重新对应fid(费用段id)
4   2     5       802、如果产品B的价格应该8月调,而我先调了产品A9月,这里就存在跨费用段了,现在应该怎么办?,这儿有个问题就是调每个产品价格先后顺序。晚辈在此请前辈们帮忙指教?
需求测试产品行业数据存储

解决方案 »

  1.   

    只记录原始状态和有变更的状态即可.例如表中可以只有7月的200和9月的300.如果要查询8月的,查询时间小于等于8月的数据,然后倒序top1即可.10月同理.
      

  2.   

    用户表产品表
    产品id,当前价格产品价格变更历史表
    产品id,年月,开始价格用户产品表
    用户id,产品id,年月,价格产品价格变更历史表 新增记录时,对产品表修改对应产品的当前价格,对用户产品表添加或更新对于产品的价格