/*
* Copyright 1999-2012 Alibaba Group.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.alibaba.cobar.manager.jdbcmock.domain;
import java.sql.ResultSet;
import java.sql.SQLException;
public class SalesOrderImpl implements SalesOrder
{
private String orderNumber;
private String region;
private double totalPrice;
/* (non-Javadoc)
* @see xmleasymock.demo.test.SalesOrder#getSalesOrderNumber()
*/
@Override
public String getOrderNumber()
{
return orderNumber;
}
/* (non-Javadoc)
* @see xmleasymock.demo.test.SalesOrder#getSalesRepID()
*/
@Override
public String getRegion()
{
return region;
}
/* (non-Javadoc)
* @see xmleasymock.demo.test.SalesOrder#getTotalPrice()
*/
@Override
public double getTotalPrice()
{
return totalPrice;
}
/* (non-Javadoc)
* @see xmleasymock.demo.test.SalesOrder#setSalesOrderNumber(java.lang.String)
*/
@Override
public void setOrderNumber(String orderNumber)
{
this.orderNumber = orderNumber;
}
/* (non-Javadoc)
* @see xmleasymock.demo.test.SalesOrder#setSalesRepID(java.lang.String)
*/
@Override
public void setRegion(String region)
{
this.region = region;
}
/* (non-Javadoc)
* @see xmleasymock.demo.test.SalesOrder#setTotalPrice(double)
*/
@Override
public void setTotalPrice(double totalPrice)
{
this.totalPrice = totalPrice;
}
/* (non-Javadoc)
* @see xmleasymock.demo.test.SalesOrder#loadDataFromDB(java.sql.ResultSet)
*/
@Override
public void loadDataFromDB(ResultSet resultSet) throws SQLException
{
orderNumber = resultSet.getString(1);
region = resultSet.getString(2);
totalPrice = resultSet.getDouble(3);
}
/* (non-Javadoc)
* @see xmleasymock.demo.test.SalesOrder#getPriceLevel()
*/
@Override
public String getPriceLevel()
{
double totalPrice = this.getTotalPrice();
double totalPoints = 0.0;
if ("Africa".equalsIgnoreCase(this.getRegion()))
totalPoints = totalPrice;
else if ("Asia Pacific".equalsIgnoreCase(this.getRegion()))
totalPoints = totalPrice * 0.9;
else if ("Europe".equalsIgnoreCase(this.getRegion()))
totalPoints = totalPrice * 0.85;
else if ("America".equalsIgnoreCase(this.getRegion()))
totalPoints = totalPrice * 0.8;
else
totalPoints = totalPrice * 0.75;
if (totalPoints < 500)
return "Level_A";
else if (totalPoints < 1000)
return "Level_B";
else if (totalPoints < 2000)
return "Level_C";
else if (totalPoints < 4000)
return "Level_D";
else
return "Level_E";
}
/* (non-Javadoc)
* @see java.lang.Object#toString()
*/
@Override
public String toString()
{
StringBuffer sb = new StringBuffer();
sb.append("orderNumber = "+orderNumber+"\n");
sb.append("region = "+region+"\n");
sb.append("totalPrice = "+totalPrice+"\n");
sb.append("priceLevel = "+this.getPriceLevel()+"\n");
return sb.toString();
}
}