某网上商城,在节假日有多种营销策略。在结算中心进行结算时,按购物车中商品的总价格有不同的价格计算方法。如下:(a)平常日,按商品总价格的95折计算;(b)周末,按商品总价格的8折计算;(c)法定节日,满100立减30元(例如:总价格395元,实收305元)。
结算时以当前时间作判断啊,唯一麻烦的应该是法定节日的判断了
法定节假日是固定的(10月1号就是国庆节,不会变),所以先把法定节假日定义为枚举类。
1.获取当前时间。date.
if(date==Enum.法定节假日) {
//money=法定节假日来计算
}else if(date==周末){
//money=按周末来计算
}else{
//money按平常日计算
}
菜鸟的想法。
一年中的周末和法定节假日不是固定的。是国家定的。今年的十一就是一个例子。
建议弄个表把这一年的周末,法定节假日放起来。然后用户结算的时候,查询一下当前日期是什么样的。
或者看一下这个例子http://www.jb51.net/article/78786.htm。
大概这个意思吧:
if(now is 平常日)
{
price = price * 0.95;
}
if(now is 周末)
{
price = price * 0.8;
}
if(now is 法定假日)
{
if(price>=100)
{
price = price - (int)(price/100)*30;
}
}
写个方法判断是节假日(节假日很少的,new的list就好了)还是周末;建两个变量0(节假日),1(周末);
在service中,调用该方法,
然后
switch(boolean){
case 0:
。。。。。。。。。。(节假日)
case 1:
。。。。。。。。。(周末)
default:
。。。。。。。。。(平时)
}
以上。
补充:
至于判断是否是周末,可以百度一下,有相关的方法。