我现在做一个web后台系统(Classic ASP+SQL Server 2005),现在碰到个比较头疼的问题,大概描述下就这样:
一个旅游的线路设计,首先包括飞机票(机票)、景区门票(门票)、吃饭的餐费(餐费)、景区之间的小交通车费(车费)、导游的服务费(导服费)、部分特色餐的餐费(特色餐餐费)、观看演出的门票(演出)、住宿的酒店(酒店)这些费用。
因为咱们国家很大,很多地方提供的价格都有个时效性,比如说大家都熟悉的机票,几乎一周一个价格,同样景区也很容易理解,对于旅游这个行业来说,有些景区冬天和夏天还有春秋天的门票价格都是不一样的,但是时间段各个不同。
比如说,兵马俑在9月1日到11月30日,门票是120,12月1日到2月28日是100,3月1日到4月30日是80,5月1日到6月30日是100,7月1日到8月31日是80.
当然我只是打个比方,具体怎么回事我也不知道,我只是说个现象。
下面再举个例子说餐费:某餐厅6月1日到10月31日是30元一顿,11月1日到1月31日25元每顿,2月1日到3月10日是20元每顿,3月11日到5月31日是25元每顿。
酒店的房价也不一样,有些是4月到6月最贵,有些是9月到11月最贵,上面有两个项目已经很说明问题了,我就不再赘述了。
简单列个表格:
1月1日-1月31日:兵马俑100,餐费25
2月1日-2月28日:兵马俑100,餐费20
3月1日-3月10日:兵马俑80,餐费20
3月11日-4月30日:兵马俑80,餐费25
5月1日-5月31日:兵马俑100,餐费25
……
除此之外,这些价格还有个人数的区分。人数划分在业内没有一个固定的标准,有些是按照1/2/3-5/6-9/10+来划分,有些是按照1-2/3-4/5-9/10+划分,酒店行业很规范,都是5间房(10个人)来划分价格标准。
但是酒店又涉及到住宿标准的不同,三星级四星级五星级,甚至还有快捷酒店和超五星酒店(比如说上海的和平饭店)。
而一条旅游线路的最终价格是由这些零碎的费用组合而成的,就是上面我说的各项费用加起来,然后每一种人数等级都要算一边总和,每一种酒店的星级都要算一边。这样问题就来了:
想要灵活的获取每一组报价,如何处理?
需要在前台页面中显示出来每一个时间段的价格,如果遇到这个时间段与其他项目的时间段不重合,需要拆分。我上面列出来的表格就是问题所在,我只是简单列出来一个景区的门票价格和一顿餐费。要知道一个旅游线路多则20多天,少则七八天,景区仅仅北京都有十几个,一个城市至少3顿餐,多的甚至10顿餐,而且除了景区门票和餐费之外,还有我上面说的各种价格,还有另外的一些附加服务费(例如什么行李搬运啊,什么接送火车站机场之类)。这样一拆,似乎是要把一年中365天做个循环,检查每一天的价格是否相同?然后每一种人数等级再来一次365循环,然后每个星级的酒店再循环3次相加……这对效率和资源恐怕都是一件相当不容易的事情。
楼主今天下午得知这个需求之后当时就蒙了,完全不知道如何处理这些海量的数字。求各位大牛指点迷津……