package cn.test.logan.day04;

import java.util.ArrayList;

/**

* 订单类

* 包含:订单ID、订单所属用户、订单所包含的商品、订单总金额、订单应付金额

* 500-1000 -------> 8.5折

* 1000-1500 -------> 8折

* 1500-2000 -------> 7折

* 2000以上 -------> 6.5折

* 如果是会员,那么可以基于以上折扣继续折扣

* 一般会员:9.5折

* 中级会员:9折

* 高级会员:8折

* @author QIN

*

*/

public class Order {

// 订单ID

public String ordId;

// 订单所属用户

public User user;

// 订单所包含的商品(多个商品,使用ArrayList)

public ArrayList pds;

// 订单总金额

public float ordAllAmt;

// 订单应付金额

public float payAmt;

// 计算总金额的方法

public void setAllAmt() {
float sum = 0;
for(int i=0;i
sum +=this.pds.get(i).price * this.pds.get(i).number;
}
this.ordAllAmt = sum;
}

// 计算实付金额

public void setPayAmt() {
float tmp = this.ordAllAmt;

// 根据总金额进行折扣

if(this.ordAllAmt >= 500 && this.ordAllAmt < 1000) {
tmp = this.ordAllAmt * 0.85f;
}
if(this.ordAllAmt >= 1000 && this.ordAllAmt < 1500) {
tmp = this.ordAllAmt * 0.8f;
}
if(this.ordAllAmt >= 1500 && this.ordAllAmt < 2000) {
tmp = this.ordAllAmt * 0.7f;
}
if(this.ordAllAmt >= 2000) {
tmp = this.ordAllAmt * 0.65f;
}

// 根据会员等级折扣

if(user.CustLevel.equals("一般会员")) {
tmp = tmp * 0.95f;
}
if(user.CustLevel.equals("中级会员")) {
tmp = tmp * 0.9f;
}
if(user.CustLevel.equals("高级会员")) {
tmp = tmp * 0.8f;
}
//计算结果赋值给对象上的payAmt变量
this.payAmt = tmp;
}
}