网上购物会员管理订单管理模块设计.docx
《网上购物会员管理订单管理模块设计.docx》由会员分享,可在线阅读,更多相关《网上购物会员管理订单管理模块设计.docx(18页珍藏版)》请在冰豆网上搜索。
网上购物会员管理订单管理模块设计
订单管理、会员管理子模块的详细实现
1.功能描述
在网上商城系统中存在两种类型的用户,即系统用户和注册用户。
系统用户是网上商城的管理人员,只能有Admin用户创建产生;注册用户是网上商城的顾客,任何访问者都可以注册成为用户。
我负责的是后台会员管理的相关模块,即管理人员的添加修改和删除,注册用户的删除。
如图标注是我处理的功能
●后台主页所使用的文件如下:
Manger_AdminIndex
Manger_Main
Manger_Left
Manger_Top
●系统用户管理所使用的文件如下:
添加管理员Manger/MemberAdd
管理管理员Manger/Member
●注册用户的管理所使用的文件如下:
管理会员Manger/Manager
后台主页界面如下
界面相关代码如下:
使用了一个框架集,组织了1个框架再嵌套了1个框架集。
Top.aspx、Main.aspx、Left.aspx三个页面就是三个框架的内容。
1.管理会员功能
点击“添加管理员”跳转到Manger/MemberAdd.aspx,如下图:
当单击“保存按钮时”触发OnClick事件,执行btnSave_Click过程,代码如下:
protectedvoidbtnSave_Click(objectsender,EventArgse)
{
if(txtName.Text=="")
{
Response.Write("");
}
else
{
intP_Int_returnValue=mc.AddAdmin(txtName.Text.Trim(),txtPass.Text.Trim());
if(P_Int_returnValue==100)
{
Response.Write("");
}
else
{
Response.Write("");
}
}
}
btnSave_Click过程保存在Manger/MemberAdd.aspx.cs文件中。
程序用来判断当前输入是否正确,如果正确就可以添加信息到dbo.Admin数据库表中。
2.点击“管理管理员”跳转到Manger/Member.aspx,如下图:
界面使用了GridView控件显示表tb_dbo.Admin中的管理员数据,GridView控件其中编辑列中可自动生成“编辑”、“删除”列,引起的触发事件保存在Manger/Member.aspx.cs文件中。
MangerClassmcObj=newMangerClass();
protectedvoidPage_Load(objectsender,EventArgse)
{
if(!
IsPostBack)
{
gvAdminBind();
}
}
publicvoidgvAdminBind()
{
DataSetds=mcObj.ReturnAdminIDs("Admin");
gvCategoryList.DataSource=ds.Tables["Admin"].DefaultView;
gvCategoryList.DataBind();
}
protectedvoidgvCategoryList_PageIndexChanging(objectsender,GridViewPageEventArgse)
{
gvCategoryList.PageIndex=e.NewPageIndex;
gvAdminBind();
}
protectedvoidgvCategoryList_RowDeleting(objectsender,GridViewDeleteEventArgse)
{
intP_Int_AdminID=Convert.ToInt32(gvCategoryList.DataKeys[e.RowIndex].Value.ToString());
mcObj.DeleteAdminInfo(P_Int_AdminID);
gvAdminBind();
}
protectedvoidgvCategoryList_RowCancelingEdit(objectsender,GridViewCancelEditEventArgse)
{
gvCategoryList.EditIndex=-1;
gvAdminBind();
}
protectedvoidgvCategoryList_RowEditing(objectsender,GridViewEditEventArgse)
{
gvCategoryList.EditIndex=e.NewEditIndex;
gvAdminBind();
}
protectedvoidgvCategoryList_RowUpdating(objectsender,GridViewUpdateEventArgse)
{
intP_Int_AdminID=Convert.ToInt32(gvCategoryList.DataKeys[e.RowIndex].Value.ToString());
stringP_Str_Admin=((TextBox)(gvCategoryList.Rows[e.RowIndex].Cells[1].Controls[0])).Text.ToString();
stringP_Str_Password=((TextBox)(gvCategoryList.Rows[e.RowIndex].Cells[2].Controls[0])).Text.ToString();
mcObj.UpdateAdminInfo(P_Int_AdminID,P_Str_Admin,P_Str_Password);
gvCategoryList.EditIndex=-1;
gvAdminBind();
}
3.点击“管理管理员”跳转到Manger/Manager.aspx,如下图:
界面使用了GridView控件显示表tb_dbo.Users中的管理员数据。
GridView控件其中编辑列中可手动设置生成“删除”列,引起的触发事件保存在Manger/Manager.aspx.cs文件中。
代码如下:
MangerClassmcObj=newMangerClass();
protectedvoidPage_Load(objectsender,EventArgse)
{
if(!
IsPostBack)
{
gvMemberBind();
}
}
publicvoidgvMemberBind()
{
DataSetds=mcObj.ReturnMemberDs("Member");
gvMemberList.DataSource=ds.Tables["Member"].DefaultView;
gvMemberList.DataBind();
}
protectedvoidgvMemberList_PageIndexChanging(objectsender,GridViewPageEventArgse)
{
gvMemberList.PageIndex=e.NewPageIndex;
gvMemberBind();
}
protectedvoidgvMemberList_RowDeleting(objectsender,GridViewDeleteEventArgse)
{
intP_Int_MemberID=Convert.ToInt32(gvMemberList.DataKeys[e.RowIndex].Value.ToString());
mcObj.DeleteMemberInfo(P_Int_MemberID);
gvMemberBind();
}
2.订单子模块管理设计
订单管理包过订单是否确认,订单是否付款,订单是否发货,订单是否归档。
以及根据订单是否确认,订单是否付款,订单是否发货,订单是否归档查询订单信息。
系统用户都可以对订单进行管理,注册用户提交的订单必须经过处理才能生效,管理员可以查看订单并对订单的状态进行修改分类。
以下是相关设计。
●订单信息保存的文件:
OrderList.aspx
●修改订单状态的文件如下:
OrderModify.aspx
1.查看所有订单信息的界面:
界面使用了GridView控件显示表tb_OrderInfo中的管理员数据。
GridView控件其中编辑列中可手动设置生成“删除”列,引起的触发事件保存在Manger/Manager.aspx.cs文件中。
2.左侧“是否确认”、“是否付款”、“是否发货”、“是否归档”都是在OrderList.aspx.cs文件中实现的,首先在left.aspx中分类命名,代码如下:
OrderList=00"target="right">未确认|OrderList=01"target="right">
已确认
|
20px">OrderList=10"target="right">未付款|OrderList=11"target="right">
已付款
|
OrderList=20"target="right">未发货|OrderList=21"target="right">
已发货
|
OrderList=30"target="right">未归档|OrderList=31"target="right">
已归档
|
点击左侧订单分类情况出现相应情况的订单的代码如下
if(this.Request.QueryString["OrderList"].ToString()!
=String.Empty.Trim())
{
if(this.Request.QueryString["OrderList"].ToString()=="00"||this.Request.QueryString["OrderList"].ToString()=="01")
{
if(this.Request.QueryString["OrderList"].ToString()=="00")
{
P_Int_List=0;
}
else
{
P_Int_List=1;
}
gvConfirmBind
(1);
}
elseif(this.Request.QueryString["OrderList"].ToString()=="10"||this.Request.QueryString["OrderList"].ToString()=="11")
{
if(this.Request.QueryString["OrderList"].ToString()=="10")
{
P_Int_List=0;
}
else
{
P_Int_List=1;
}
gvPayedBind
(2);
}
elseif(this.Request.QueryString["OrderList"].ToString()=="20"||this.Request.QueryString["OrderList"].ToString()=="21")
{
if(this.Request.QueryString["OrderList"].ToString()=="20")
{
P_Int_List=0;
}
else
{
P_Int_List=1;
}
gvShippedBind(3);
}
elseif(this.Request.QueryString["OrderList"].ToString()=="30"||this.Request.QueryString["OrderList"].ToString()=="31")
{
if(this.Request.QueryString["OrderList"].ToString()=="30")
{
P_Int_List=0;
}
else
{
P_Int_List=1;
}
gvFinishedBind(4);
}
}
3.查询功能,点击“搜索”后,可以找到相应的订单,如图:
点击“搜索”后引起的触发事件保存在“Manger/OrderList.aspx.cs”文件中,代码如下:
if(txtKeyword.Text=="")
{
Response.Write("");
}
else
{
P_Int_IsSearch=1;
gvSearchBind();
}
相关查询数据库的操作保存在MangerClass.cs中,代码如下
publicSqlCommandGetOrderInfo(intP_Int_Flag,intP_Int_IsMember,intP_Int_MemberID,intP_Int_OrderID,intP_Int_Confirm,intP_Int_Payed,intP_Int_Shipped,intP_Int_Finished,intP_Int_IsConfirm,intP_Int_IsPayment,intP_Int_IsConsignment,intP_Int_IsPigeonhole)
{
SqlConnectionmyConn=dbObj.GetConnection();
SqlCommandmyCmd=newSqlCommand("Proc_GetOrderInfo",myConn);
myCmd.CommandType=CommandType.StoredProcedure;
//添加参数
SqlParameterFlag=newSqlParameter("@Flag",SqlDbType.Int,4);
Flag.Value=P_Int_Flag;
myCmd.Parameters.Add(Flag);
//添加参数
SqlParameterIsMember=newSqlParameter("@IsMember",SqlDbType.Int,4);
IsMember.Value=P_Int_IsMember;
myCmd.Parameters.Add(IsMember);
//添加参数
SqlParameterMemberID=newSqlParameter("@MemberID",SqlDbType.Int,4);
MemberID.Value=P_Int_MemberID;
myCmd.Parameters.Add(MemberID);
//添加参数
SqlParameterOrderID=newSqlParameter("@OrderID",SqlDbType.Int,4);
OrderID.Value=P_Int_OrderID;
myCmd.Parameters.Add(OrderID);
//添加参数
SqlParameterConfirm=newSqlParameter("@Confirm",SqlDbType.Int,4);
Confirm.Value=P_Int_Confirm;
myCmd.Parameters.Add(Confirm);
//添加参数
SqlParameterPayed=newSqlParameter("@Payed",SqlDbType.Int,4);
Payed.Value=P_Int_Payed;
myCmd.Parameters.Add(Payed);
//添加参数
SqlParameterShipped=newSqlParameter("@Shipped",SqlDbType.Int,4);
Shipped.Value=P_Int_Shipped;
myCmd.Parameters.Add(Shipped);
SqlParameterFinished=newSqlParameter("@Finished",SqlDbType.Int,4);
Finished.Value=P_Int_Finished;
myCmd.Parameters.Add(Finished);
//添加参数
SqlParameterIsConfirm=newSqlParameter("@IsConfirm",SqlDbType.Int,4);
IsConfirm.Value=P_Int_IsConfirm;
myCmd.Parameters.Add(IsConfirm);
//添加参数
SqlParameterIsPayment=newSqlParameter("@IsPayment",SqlDbType.Int,4);
IsPayment.Value=P_Int_IsPayment;
myCmd.Parameters.Add(IsPayment);
//添加参数
SqlParameterIsConsignment=newSqlParameter("@IsConsignment",SqlDbType.Int,4);
IsConsignment.Value=P_Int_IsConsignment;
myCmd.Parameters.Add(IsConsignment);
//添加参数
SqlParameterIsPigeonhole=newSqlParameter("@IsPigeonhole",SqlDbType.Int,4);
IsPigeonhole.Value=P_Int_IsPigeonhole;
myCmd.Parameters.Add(IsPigeonhole);
//执行过程
myConn.Open();
try
{
myCmd.ExecuteNonQuery();
}
catch(Exceptionex)
{
throw(ex);
}
finally
{
myCmd.Dispose();
myConn.Close();
}
returnmyCmd;
}
4.查看订单详情及修改其状态的界面如下:
此界面使用了repeater控件以表格形式显示出订单详情,相关数据保存在Manger/OrderModify.aspx.cs中,代码如下:
MangerClassmcObj=newMangerClass();
UserInfoClassuiObj=newUserInfoClass();
publicstaticCommonPropertyorder=newCommonProperty();
protectedvoidPage_Load(objectsender,EventArgse)
{
order=GetOrderInfo();
if(!
IsPostBack)
{
rpBind();
IsCPCPBind();
}
}
publicvoidIsCPCPBind()
{
DataSetds=mcObj.GetOdIfDS(Convert.ToInt32(Request["OrderID"].Tri