📄 ordercontrollerimpl.java
字号:
/*
* Created on 2005-10-29
* Author 曹汕
* Version 1.0
* Copyright by CS.SSPKU Inc. All rights reserved.
*/
package com.struts.controller.impl;
import java.util.Vector;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Vector;
import com.struts.utils.*;
import com.struts.business.*;
import com.struts.controller.OrderController;
import javax.transaction.*;
/**
* @author cs
*
* TODO To change the template for this generated type comment go to
* Window - Preferences - Java - Code Style - Code Templates
*/
public class OrderControllerImpl extends ControllerImpl implements OrderController{
private static OrderControllerImpl _instance;
/**
* 单例模式,只创建唯一一个实例
* @return 返还OrderController 类的惟一实例
*/
public static synchronized OrderControllerImpl getInstance() {
if (_instance == null)
_instance = new OrderControllerImpl();
return _instance;
}
public OrderControllerImpl(){
}
/**
* 订单写入数据库
* 事务出错回滚.
* @param OrderHead
* @param Shoppingcart
* @return OrderId
*/
public int SaveOrder(OrderHead oh,Vector shoppingcart){
String strSql;
ResultSet rs;
int orderHeadId;
int orderLineId;
orderHeadId=getId("ORDERHEADSEQ");
DBConnectionManager dbconnection=DBConnectionManager.getInstance();
Connection conn=dbconnection.getConnection();
Shoppingcart sc=new Shoppingcart();
strSql="insert into ORDERHEAD"
+"(ID,MEMBER_ID,ORDER_DATE,POSTCODE,DELIVERY_ADDRESS,"
+"DELIVERY_TYPE,PAYMENT_TYPE,ORDER_MAN,ORDER_PHONE,STATUS,"
+"LESS_DEAL,ISINVOICE,REMARK) values("
+orderHeadId+","
+oh.getMemberId()+",SYSDATE,'"
+oh.getPostcode()+"','"
+oh.getDeliveryAddress()+"',"
+oh.getDeliveryType()+","
+oh.getPaymentType()+",'"
+oh.getOrderPeople()+"','"
+oh.getOrderPhone()+"',0,"
+oh.getLessDeal()+",0,'"
//先默认不开发票,呵呵
//+oh.getIsInvoice()+",'"
+oh.getRemark()+"')";
try{
conn.setAutoCommit(false);
Statement stmt = conn.createStatement();
stmt.executeUpdate(strSql);
for(int i=0;i<shoppingcart.size();i++)
{
sc=(Shoppingcart)shoppingcart.get(i);
orderLineId=getId("ORDERLINESEQ");
strSql="insert into ORDERLINE(ID,ORDERHEAD_ID,PRODUCT_ID,"
+"STATUS,PRODUCT_QUANTITY,PRICE)VALUES("
+orderLineId+","
+orderHeadId+","
+sc.getProductId()+",0,"
+sc.getQuantity()+","
+sc.getMemberPrice()+")";
stmt.executeUpdate(strSql);;
}
conn.commit();
conn.setAutoCommit(true);
}catch(Exception e){
try {
conn.rollback();
} catch (SQLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
e.printStackTrace();
}
return orderHeadId;
}
/**
* 审查订单,修改订单状态.
*/
/**
* 查看订单头信息.
* @param id 即订单id
* @throws SQLException
* @return OrderHead
*/
public OrderHead getOrderInfo(int id){
OrderHead oh=new OrderHead();
String sql="select * from vw_order where id="+id;
ResultSet rs=selectRecord(sql);
try {
while(rs.next()){
oh.setId(id);
oh.setMemberId(rs.getInt("member_id"));
//收件人
oh.setOrderPeople(rs.getString("order_man"));
//订单日期
oh.setOrderDate(rs.getString("order_date"));
//收件人电话
oh.setOrderPhone(rs.getString("order_phone"));
//邮编
oh.setPostcode(rs.getString("postcode"));
//收件人地址
oh.setDeliveryAddress(rs.getString("delivery_address"));
//需要发票标志
oh.setIsInvoice(rs.getInt("isinvoice"));
//订单状态
oh.setStatus(rs.getInt("status"));
//会员ID
oh.setMemberId(rs.getInt("member_id"));
//支付方式
oh.setPaymentType(rs.getInt("payment_type"));
//送货方式
oh.setDeliveryType(rs.getInt("delivery_type"));
//缺货处理方式
oh.setLessDeal(rs.getInt("less_deal"));
//备注
oh.setRemark(rs.getString("remark"));
//订单状态
oh.setStatusName(rs.getString("order_status_name"));
//缺货处理方式名称
oh.setLessDealName(rs.getString("less_deal_name"));
//送货方式名称
oh.setDeliveryTypeName(rs.getString("delivery_type_name"));
//支付方式名称
oh.setPaymentTypeName(rs.getString("payment_type_name"));
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println("订单头信息查询错误");
}
return oh;
}
/**
* 查看订单详细信息
* @param orderHeadId 即订单id
* @return Vector对象,封装订单行信息
*/
public Vector getOrderDetailInfo(int orderHeadId){
Vector orderLines=new Vector();
OrderLine ol;
String sql="select * from vw_orderline where orderhead_id="+orderHeadId;
ResultSet rs=selectRecord(sql);
int i=0;
try {
while(rs.next()){
ol=new OrderLine();
ol.setId(rs.getInt("id"));
// System.out.println("----------------");
// System.out.println(ol.getId());
// System.out.println("----------------");
ol.setOrderHeadId(orderHeadId);
ol.setProductId(rs.getInt("product_id"));
ol.setProductName(rs.getString("product_name"));
ol.setStandardPrice(rs.getDouble("standard_price"));
ol.setOrderPrice(rs.getDouble("price"));
ol.setQuantity(rs.getInt("product_quantity"));
ol.setRemark(rs.getString("remark"));
ol.setStatus(rs.getInt("status"));
ol.setStatusName(rs.getString("status_name"));
orderLines.add(i++,ol);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println("订单行信息查询错误");
}
// for(int i=0;i<orderLines.size();i++){
// ol=(OrderLine)orderLines.get(i);
// System.out.println("************************************************");
// System.out.println(ol.getProductId());
// System.out.println(ol.getProductName());
// System.out.println(ol.getId());
// System.out.println("************************************************");
// }
return orderLines;
}
/**
* 查看订单列表信息.
* @param memberId 即会员id
* @return Vector对象,订单头信息
*/
public Vector getMemberOrderList(int memberId){
Vector orderList=new Vector();
OrderHead oh=null;
String sql="select * from vw_order where member_id="+memberId;
ResultSet rs=selectRecord(sql);
try {
while(rs.next()){
oh=new OrderHead();
//订单号
oh.setId(rs.getInt("id"));
//会员ID
oh.setMemberId(rs.getInt("member_id"));
//收件人
oh.setOrderPeople(rs.getString("order_man"));
//订单日期
oh.setOrderDate(rs.getString("order_date"));
//收件人电话
oh.setOrderPhone(rs.getString("order_phone"));
//邮编
oh.setPostcode(rs.getString("postcode"));
//收件人地址
oh.setDeliveryAddress(rs.getString("delivery_address"));
//需要发票标志
oh.setIsInvoice(rs.getInt("isinvoice"));
//订单状态
oh.setStatus(rs.getInt("status"));
//会员ID
oh.setMemberId(rs.getInt("member_id"));
//支付方式
oh.setPaymentType(rs.getInt("payment_type"));
//送货方式
oh.setDeliveryType(rs.getInt("delivery_type"));
//缺货处理方式
oh.setLessDeal(rs.getInt("less_deal"));
//备注
oh.setRemark(rs.getString("remark"));
//订单状态
oh.setStatusName(rs.getString("order_status_name"));
//缺货处理方式名称
oh.setLessDealName(rs.getString("less_deal_name"));
//送货方式名称
oh.setDeliveryTypeName(rs.getString("delivery_type_name"));
//支付方式名称
oh.setPaymentTypeName(rs.getString("payment_type_name"));
orderList.add(oh);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println("订单列表信息查询错误");
}
return orderList;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -