[已解决问题] B2C数据库定单模块遇到的问题.
提问时间: 2008-04-11 19:45
悬赏分:50 浏览:199 次
本人开发一个B2C项目的定单模块,在设计数据库时碰到这样的问题,
 
   本系统会员分两种:个人会员和商务会员.    假如我做为一个个人会员购买了三件商品,而这三件商品来自三个商务会员,下定单的时候商务会员应该是只能看到自己商品的定单吧, 这时就相当于把下的一个定单分成三个小定单分别下个不同的商务会员,这样的话要怎么样设计定单模块相关的表?

 



问题补充:谢谢丁学老鸟前辈的指导,你那问题我也知道,所以我一直没想到一个好的设计方案,而且我们产品部已经规划好了,每个商务会员收到自己商品的定单(就是要分子定单),我现在的一个设计方案是这样的, 详单表的每条记录相当于一个子定单(每条记录都有个状态),也有总定单的ID, 这样是相当于每个商品一个子定单了, 然后再从详单表把属于不同商家的商品信息再合成一个定单显示给商家看,但是这样的话控制总定单状态就不好控制了,就是说个人会员看到的是个总定单信息,而商家看到的也是总定单编号,子定单完全是在程序里控制的.这样的话逻辑复杂,代码量很大,

大家给我看看这个思路能行的通不? 希望老鸟们能给我一个更好的思路..谢谢.

最佳答案
分订单是不可能的,总不能给用户三个订单号,这样用户体验就太不好了
对用户来说,一个订单就是一个订单,但订单下面有订单明细信息,用户会以订单为单位看待
到了商户那里,可以给订单号给他,但对商户来说是以订单明细为单位看待的,商户只需要处理一条条的明细
订单状态在订单表和订单明细表里同时存在,有两种方式处理:一是每次商户修改一个明细状态时自动尝试更新订单状态(全部明细完成订单才更新为完成),另一种是只有在用户查看订单时才更新一次订单状态,不然就只由商户更新明细状态,对用户 来说效果是一样的。这两种办法可以根据业务需要进行选择。
显示给用户时,显示整个订单的状态,也显示各个明细的状态,但用户不需要知道这是属于谁的明细,未处理的只提示未处理,缺货的只提示缺货即可。
其实真正的问题在于配送,是各商户自己配送还是汇总到你这里再一次性配送,前一种给用户 感觉不好,后一种增加了时间也对用户不利,这才是需要特别注意的地方
2008/4/11 21:07:18 回答者:丁学


提问者对于答案的评价:学长,你的分析很透彻,很感谢你的建议.谢谢, 以后有有问题再请你多多帮忙哦
其它回答(2)
个人觉得不同商户的商品应该分成不同的订单
若做成一份订单以在商品明细表中加商户ID字段分组查询就行了
1个月前   回答者:Dove.Net - 初学一级
关键是你的业务需求:
1,个人用户是否知道他实际上是从不同的的商家那里买东西,而不是直接向这个网站的运营公司买东西?
2,运营公司要不要从中控制好赚钱--从用户订单转化成商家订单这个可以捞钱的重中之重..
1个月前   回答者:deerchao - 老鸟四级
评论
1个月前   ︷起↘嚸. :
这样是可以,,可以根据商务ID去分组,然后再分别给每个商务会员下单,这样代码量就比较大了, 而且一份定单没法做到吧,因为商务会员在自己后台看到自己的要处理的定单里只能有自己的商品(必须分别对他下单),如果是分别下单,这样总定单还有必要有吗? 如果有必要的话,子定单的状态改变了,总定单该怎么样跟着变呢?这份总定单的总金额又怎么算呢?这些我现在比较模糊,请各位帮我分析下!!!
1个月前   丁学 :
好像没说清楚,其实就一句话:
用户可以看到订单和订单的明细,商户只能看到和处理属于他自己的明细,订单和明细的状态同步更新就行
1个月前   Dove.Net :
只一份订单会不会在一些其它问题
不知道这里会不会存在配送费之类的其它附加费问题
如果有,那一张订单里不同商户的商品可能存在不同的配送费或其它费用,也很麻烦
另外,个人会员一张订单可能要向多家商户咨询、交流等。这种用户体验也不见得好
1个月前   丁学 :
to Dove.NET:
不管是一张订单还是分成多个,配送费和咨询的问题都会一样的存在,所以这才是考验业务设计能力的地方
1个月前   丁学 :
to 楼主的补充:
其实不需要让商户知道总订单号,你的子订单和我上面说的订单明细是一样的
当一个子订单被商户处理后,取出这个子订单所属总订单的所有子订单,查看状态即可用来更新总订单状态,至于状态设置什么,可以自由控制,比如可以在未全部处理完一直显示给用户订单未处理或者显示处理中,也可以在部分已处理时告诉用户部分已处理,问用户是等待全部处理完再发货还是立即发送已经处理的部分(这个情况一般在部分商品缺货时用,可能需要有电话或短信通知,不然用户 可能不会看到)
1个月前   ︷起↘嚸. :
      前辈的思路我了解,但是我觉得如果有总定单,而总定单又有状态的话,可能会导致整个交易失败,如果你想想个人用户买了几样东西,而他最想要的几样东西商家没有发货或者遇到其他特殊状况,他会继续买下去吗?可能不想要了, 而商家又没做出表示,这样的话整个定单就会垮了..定单本来就是一体的,要么一次提交,要么不提交,我有这种想法,不分总定单了,买了多少个商家的商品就有多少个定单,个人用户后台看到的也是一个个小定单,但是个人用户提交定单时这些定单是一次性提交的.不过下定单后的汇款和配送商品始终不知道有什么好的办法..
1个月前   丁学 :
总订单有状态并不影响,可以给总订单一个特殊状态,比如“部分已完成”,然后让用户 自己 去选择是否发货,这样可以避免一个商家没反应搞坏整个订单
不过为了公平起见,建议对这种没反应的商家做出惩罚,对反应及时并可以正常发货的商家给予一定奖励,反应及时但由于各种原因不能发货的不奖不罚
其实关键在于你在整个交易中处在什么地位,如果是绝对强势地位,那就相对好办得多
付款可以按总订单来付,如果整个订单都成功了,那就没什么问题,如果用户 选择订单部分成功时发货,需要把余额退还给顾客,需要注意的是,一旦状态为开始发货,未处理的明细要禁止商户再处理,不然可能会多发东西
配送依然麻烦,可以让商户分开配送,这样用户会莫名其妙,但你自己比较省事也不需要再支付一次额外配送费。另一种是商户全发给你,然后你统一发送,时间会慢一些,但对用户来说感觉不到异常,多了一次配送费,可以从利润里出,也可以加到商户的费用里去。
这个需求本来就很郁闷,所以 想设计出完美的流程,几乎不可能,所以 只能在某些地方进行取舍,看哪些对你最重要吧
最好的状况是商户可以把货送到你这里来,不过这样的话,你就有了库存,成本会高一些
1个月前   ︷起↘嚸. :
丁学前辈说的非常好,和我们讨论时情况一致,谢谢你的建议,呵呵,
   您需要登录以后才能回答!
我的问题    我要提问


快到期问题

> 问题排行榜

有不合适内容,建议去除