📄 cart.asp
字号:
<!--#include file="../Conn.asp"-->
<!--#include file="../Inc/Cl_Const.asp"-->
<!--#include file="../Inc/Cl_Function_Public.asp"-->
<%
Const ChannelID=0
Dim Action,sDisabled
PageSize = 20
Action = Lcase(Trim(request("Action")))
CurrentPath = Cl.Language.selectSingleNode("//CurrentPath").text & "<a href='" & Cl.Web_info(4) & "'>" & Cl.Web_info(0) & "</a>"
If CLng(Cl.Product_Setting(2))=0 Then
if Cl.UserID=0 Then
Response.redirect "Login.asp"
end if
End if
Select Case Action
Case "chk"
ModifyCart
Case "clear"
Session("UserCart") = Empty
Call Cl.OutMsg(0,"成功清空了购物车内所选的商品!","?")
Case "buy"
ProductBuy
Case "preview"
Preview
Case "order"
SaveOrder
Case Else
MyCart
End Select
Response.write Template.ReplaceAllFlag(TempStr)
CloseAllObj
Sub SaveOrder()
Cl.Path=CurrentPath & " >> 提交订单"
Cl.Title="提交订单--" & Cl.Title
Dim ConSignee, Address, ZipCode, Phone, Email
Dim PaymentType, DeliverType, NeedInvoice, InvoiceHead, Remark
Dim DeliverCharge, TaxCharge, IsPayed, OrderID
Dim UserCart,TmpSQL,TmpCarts,sInfoID,Tmpnum
Dim TruePrice,ProductType
Dim TmpOrderNum
UserCart = Session("UserCart")
If UserCart="" then
Call Cl.OutMsg(0,"对不起!您目前好像还没有选购商品。","Cart.asp")
End If
TmpOrderNum = Cl.Product_Setting(0)&Cl.Format_Time(now(),8)
IsPayed = False
ConSignee = Trim(Request.Form("ConSignee"))
Address = Trim(Request.Form("Address"))
ZipCode = Trim(Request.Form("ZipCode"))
Phone = Trim(Request.Form("Phone"))
Email = Trim(Request.Form("Email"))
PaymentType = Cl.GetClng(Request.Form("PaymentType"))
DeliverType = Cl.GetClng(Request.Form("DeliverType"))
NeedInvoice = Trim(Request.Form("NeedInvoice"))
InvoiceHead = Cl.ChkBadWords(Request.Form("InvoiceHead"))
Remark = Cl.ChkBadWords(Request.Form("Remark"))
MoneySum = Trim(Request.Form("MoneySum"))
PresentExp = Cl.GetClng(Request.Form("PresentExp"))
MoneyTotal = Trim(Request.Form("MoneyTotal"))
DeliverCharge = Trim(Request.Form("DeliverCharge"))
TaxCharge = Trim(Request.Form("TaxCharge"))
if Lcase(NeedInvoice)="yes" then
NeedInvoice=True
Else
NeedInvoice=False
End if
Dim RsAdd
Dim MaxTID
MaxTID=Cl.Execute("select max(OrderID) from Cl_Order")(0)
if isnull(MaxTID) or Not IsNumeric(MaxTID) then MaxTID=0
OrderID=MaxTID+1
Set RsAdd=Server.CreateObject("Adodb.RecordSet")
SQL="select * from Cl_Order where OrderNum='"&TmpOrderNum&"' "
OpenConn : RsAdd.open sql,Conn,1,3
if not RsAdd.eof then
RsAdd.close : set RsAdd=nothing
Call Cl.OutMsg(0,"当前订购商品的人数过多,请稍候再尝试订购!","Cart.asp?Action=Buy")
End if
RsAdd.AddNew
RsAdd("OrderID") = OrderID
RsAdd("UserID") = Cl.UserID
RsAdd("UserName") = Cl.MemberName
RsAdd("OrderNum") = TmpOrderNum
RsAdd("ConSignee") = ConSignee
RsAdd("Address") = Address
RsAdd("ZipCode") = ZipCode
RsAdd("Phone") = Phone
RsAdd("Email") = Email
RsAdd("PaymentType")= PaymentType
RsAdd("DeliverType")= DeliverType
RsAdd("InvoiceHead")= InvoiceHead
RsAdd("NeedInvoice")= NeedInvoice
RsAdd("Remark") = Remark
RsAdd("MoneyTotal") = MoneyTotal'订单总金额
RsAdd("MoneySum") = MoneySum'购买商品合计金额
RsAdd("BeginDate") = Cl.Format_Time(now(),3)'开始服务日期
RsAdd("AddTime") = Now()'录入时间
RsAdd("PresentExp") = PresentExp'得到的积分
RsAdd("TaxRate") = Clng(Cl.Product_Setting(9))
RsAdd("TaxCharge") = TaxCharge
RsAdd("DeliverCharge")=DeliverCharge'运费
if Cl.UserID>0 and Cl.UserGroupID<>5 Then
Dim UserMoney,rsUser
Set rsUser = Cl.Execute_U("Select "&Db.UserMoney&" From "&Db.UserTable&" where "&Db.UserID&"="&Clng(Cl.UserID)&"")
UserMoney = rsUser(0)
rsUser.Close : Set rsUser = Nothing
If Clng(UserMoney) >= Clng(MoneyTotal) then
RsAdd("Status")=2
RsAdd("MoneyReceipt")=MoneyTotal
Cl.Execute_U("Update "&Db.UserTable&" Set "&Db.UserMoney&"="&Db.UserMoney&"-"&Clng(MoneyTotal)&",TotalExp=TotalExp+"&PresentExp&" where "&Db.UserID&"="&Clng(Cl.UserID)&"")
Rem 金币支付,不计入收入,只记录消费记录
'Cl.Execute("insert into Cl_BankrollItem (UserID,UserName,PayMoney,TrueMoney,PayType,CurrencyType,BankName,ItemType,OrderID,PaymentID,Remark,AddTime) " & _
'"values ("&Cl.UserID&",'"&Cl.MemberName&"',"&MoneyTotal&","&MoneyTotal&",0,0,'金币支付',0,"&OrderID&",0,'',"&SQLNowString&")")
Cl.GetCacheUserInfo
IsPayed = True
else
RsAdd("Status") =0
end if
Else
RsAdd("Status") =0
End if
RsAdd.Update
RsAdd.close : set RsAdd=nothing
TmpSQL =""
TmpCarts=split(UserCart,"|")
for i=0 to ubound(TmpCarts)
if TmpSQL="" then
TmpSQL=left(TmpCarts(i),Instr(TmpCarts(i),":")-1)
else
TmpSQL=TmpSQL & "," & Left(TmpCarts(i),Instr(TmpCarts(i),":")-1)
end if
next
if TmpSQL<>"" then
SQL="Select InfoID,ChannelID,ProductName,MarketPrice,MemberPrice,TruePrice,Discount,PresentExp from Cl_Product where Status=1 And InfoID in("&TmpSQL&")"
Set rs=Cl.Execute(SQL)
if Not Rs.eof then
SQL = Rs.GetRows(-1)
Dim sItemID
For i=0 to Ubound(SQL,2)
sInfoID = SQL(0,i)
TmpNum = Cart_Get_Num(sInfoID)'购物单品的数量
if Cl.UserGroupID=5 then
TruePrice= SQL(3,i) '游客享受当前零售价
else
if SQL(5,i)>0 then
TruePrice = SQL(5,i)'指定会员价
else
TruePrice = SQL(4,i) * (SQL(6,i)/10)'当前零售价×会员折扣率
end if
end if
sItemID=Cl.Execute("select max(ItemID) from Cl_OrderItem")(0)
if Isnull(sItemID) or Not IsNumeric(sItemID) then sItemID=0
sItemID=sItemID+1
Cl.Execute("insert into Cl_OrderItem (ItemID,OrderID,InfoID,MarketPrice,MemberPrice,TruePrice,BuyNum,TotalPrice,BeginDate,ServiceTerm,Remark,PresentExp) " & _
"values ("&sItemID&","&OrderID&","&sInfoID&","&SQL(3,i)&","&SQL(4,i)&","&TruePrice&","&TmpNum&","&TruePrice*TmpNum&","&SQLNowString&",0,'',"&SQL(7,i)&")")
Cl.Execute_L("Insert Into Cl_ConsumeLog (ChannelID,InfoID,Title,Url,UserID,UserName,ConsumePoint,ConsumeMoney,ConsumeNums,ConsumeTime) values ("&SQL(1,i)&","&sInfoID&",'"&SQL(2,i)&"','"&Request.ServerVariables("PATH_INFO")&"',"&Cl.UserID&",'"&Cl.MemberName&"',0,"&TruePrice&",0,'"&Now()&"')")
Next
End if
Rs.close : Set Rs=Nothing
End if
Session("UserCart")=Empty
Call Template.Load(-2,17)
TempStr = Template.Html
if IsPayed then
TempStr = Replace(TempStr,"{$succeedmsg}",Cl.Language.selectSingleNode("//OrderIsPay").text)
else
TempStr = Replace(TempStr,"{$succeedmsg}",Cl.Language.selectSingleNode("//OrderWaitPay").text)
end if
TempStr = Replace(TempStr,"{$orderid}",OrderID)
TempStr = Replace(TempStr,"{$ordernum}",TmpOrderNum)
TempStr = Replace(TempStr,"{$moneytotal}",MoneyTotal)
End Sub
Sub Preview()
Cl.Path=CurrentPath & " >> 确认订单"
Cl.Title="确认订单--" & Cl.Title
Dim ConSignee, Address, ZipCode, Phone, Email
Dim PaymentType, DeliverType, NeedInvoice, InvoiceHead, Remark
Dim DCharge, TaxCharge
ConSignee = Trim(Request.Form("ConSignee"))
Address = Trim(Request.Form("Address"))
ZipCode = Trim(Request.Form("ZipCode"))
Phone = Trim(Request.Form("Phone"))
Email = Trim(Request.Form("Email"))
'PaymentType = Cl.GetClng(Request.Form("PaymentType"))
DeliverType = Cl.GetClng(Request.Form("DeliverType"))
NeedInvoice = Lcase(Trim(Request.Form("NeedInvoice")))
InvoiceHead = Cl.ChkBadWords(Request.Form("InvoiceHead"))
Remark = Cl.ChkBadWords(Request.Form("Remark"))
Call Template.Load(-2,16)
TempStr = Template.Html
TempStr = Replace(TempStr,"{$cartnav}",CartNav)
TempStr = Replace(TempStr,"{$cartlist}",CartList(1))
TempStr = Replace(TempStr,"{$consignee}",ConSignee)
TempStr = Replace(TempStr,"{$address}",Address)
TempStr = Replace(TempStr,"{$zipcode}",ZipCode)
TempStr = Replace(TempStr,"{$phone}",Phone)
TempStr = Replace(TempStr,"{$email}",Email)
Set Rs=Cl.Execute("select TypeID,TypeName,Intro,Charge from Cl_DeliverType where TypeID="&DeliverType&" order by OrderID")
If not Rs.eof then
TempStr = Replace(TempStr,"{$delivertypename}",Rs(1))
TempStr = Replace(TempStr,"{$delivertypeintro}",Rs(2))
TempStr = Replace(TempStr,"{$delivertype}",Rs(0))
DCharge = Rs(3)
else
TempStr = Replace(TempStr,"{$delivertypename}","")
TempStr = Replace(TempStr,"{$delivertypeintro}","")
TempStr = Replace(TempStr,"{$delivertype}",DeliverType)
DCharge = 0
End If
Rs.close : Set Rs=Nothing
if NeedInvoice="yes" then
TempStr = Replace(TempStr,"{$invoicechecked}","checked")
else
TempStr = Replace(TempStr,"{$invoicechecked}","")
end if
TempStr = Replace(TempStr,"{$needinvoice}",NeedInvoice)
if NeedInvoice<>"yes" then
TempStr = Replace(TempStr,"{$invoiceheadstyle}","style=""display:none;""")
else
TempStr = Replace(TempStr,"{$invoiceheadstyle}","")
end if
TempStr = Replace(TempStr,"{$invoicehead}",InvoiceHead)
TempStr = Replace(TempStr,"{$remark}",Remark)
if NeedInvoice = "yes" and Cl.Product_Setting(8)="1" then
TaxCharge = MoneySum * Clng(Cl.Product_Setting(9))/100
TempStr = Replace(TempStr,"{$taxintro}",MoneySum & "*" & Cl.Product_Setting(9) & "%")
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -