📄 shopchannel.asp
字号:
HtmlContent = Newasp.HtmlContent
HtmlContent = Replace(HtmlContent, "{$ChannelRootDir}", ChannelRootDir)
HtmlContent = Replace(HtmlContent, "{$InstallDir}", strInstallDir)
HtmlContent = Replace(HtmlContent, "{$ChannelID}", ChannelID)
HtmlContent = Replace(HtmlContent, "{$ModuleName}", Newasp.ModuleName)
HtmlContent = Replace(HtmlContent, "{$ShopIndex}", strIndexName)
arrChinaeBank = Split(Newasp.ChinaeBank, "|||")
Set wp = New WebPayment_Cls
wp.PayPlatform = CInt(Newasp.StopBankPay) '--选择在线支付银行
wp.Paymentid = Trim(arrChinaeBank(0)) '--在线支付ID
wp.Paymentkey = Trim(arrChinaeBank(1)) '--在线支付KEY
wp.Percent = Newasp.CheckNumeric(arrChinaeBank(2)) '--在线支付手续费
wp.ReceivePage '--执行在线支付
OrderForm = Newasp.CheckInfuse(wp.Orderid,35) '--返回订单号
PaymentMoney = CCur(wp.Paymoney) '--返回支付金额
BuyMoney = CCur(wp.Buymoney) '--返回减去手续费后的金额
ServiceCharge = CCur(wp.ServiceCharge) '--返回手续费
Consignee = Newasp.CheckInfuse(wp.Consignee,35) '--返回订货人姓名
Readme = Newasp.CheckRequest(wp.Comment,220) '--返回订货说明
errcode = CInt(wp.ErrNumber) '--返回错误代码,0=成功
If errcode > 0 Then ErrorMsg = wp.Description '--返回错误信息
'--检验返回订单号是否正确
Set Rs = Newasp.Execute("SELECT id,totalmoney,PayDone FROM NC_OrderForm WHERE OrderID='"& OrderForm &"'")
If Rs.BOF And Rs.EOF Then
ErrorMsg ="非法操作,订单号不正确!!!"
errcode = 1
Else
'--如果返回的金额和提交时的金额不符,返回错误
If BuyMoney <> Rs("totalmoney") Then
ErrorMsg ="非法操作,交易金额不对!!!"
errcode = 1
End If
'--判断是否重复提交数据
If Rs("PayDone") > 0 Then
ErrorMsg ="此次交易已经成功,请不要重复提交数据!!!"
errcode = 1
End If
End If
Set Rs = Nothing
If errcode = 0 Then
'--如果在支付成功
HtmlContent = Replace(HtmlContent, "{$PageTitle}", "在线支付成功")
strContent = Newasp.HtmlSetting(13)
strContent = Replace(strContent, "{$ReceiveTiele}", "成功")
strContent = Replace(strContent, "{$OrderID}", OrderForm)
strContent = Replace(strContent, "{$PayMoney}", FormatNumber(PaymentMoney,2,-1))
strContent = Replace(strContent, "{$BuyMoney}", FormatNumber(BuyMoney,2,-1))
strContent = Replace(strContent, "{$ServiceCharge}", FormatNumber(ServiceCharge,2,-1))
strContent = Replace(strContent, "{$DateTime}", Now())
strContent = Replace(strContent, "{$ErrorMsg}", "")
strContent = Replace(strContent, "{$PayState}", "恭喜您!本交易完成。")
'--支付成功后开始更新数据库state
'--更新订单处理状态
Newasp.Execute ("UPDATE NC_OrderForm SET Paymode='网上支付',PayDone=1 WHERE OrderID='"& OrderForm &"'")
'--如果是会员更新会员消费记录
If Newasp.memberid > 0 Then
Newasp.Execute ("UPDATE NC_User SET prepaid=prepaid+" & BuyMoney & " WHERE UserName='"& UserName &"' And userid=" & userid)
End If
'--添加相关交易明细表
If Trim(Consignee) = "" Then
If userid > 0 Then
Consignee = Username
Else
Consignee = "匿名用户"
End If
End If
Set Rs = CreateObject("ADODB.Recordset")
SQL = "SELECT * FROM NC_Account WHERE (AccountID is null)"
Rs.Open SQL,Conn,1,3
Rs.addnew
Rs("payer").Value = Consignee
Rs("payee").Value = Newasp.CheckRequest(Newasp.SiteName,20)
Rs("product").Value = "网上购物"
Rs("Amount").Value = 1
Rs("unit").Value = "次"
Rs("price").Value = BuyMoney
Rs("TotalPrices").Value = PaymentMoney
Rs("DateAndTime").Value = Now()
Rs("Accountype").Value = 0
Rs("Explain").Value = Readme
Rs("Reclaim").Value = 0
Rs.update
Rs.Close:Set Rs = Nothing
Else
'--如果支付失败
HtmlContent = Replace(HtmlContent, "{$PageTitle}", "在线支付失败")
strContent = Newasp.HtmlSetting(16)
strContent = Replace(strContent, "{$ErrorMsg}", ErrorMsg)
strContent = Replace(strContent, "{$ReceiveTiele}", "失败")
strContent = Replace(strContent, "{$OrderID}", OrderForm)
strContent = Replace(strContent, "{$PayMoney}", FormatNumber(PaymentMoney,2,-1))
strContent = Replace(strContent, "{$BuyMoney}", FormatNumber(BuyMoney,2,-1))
strContent = Replace(strContent, "{$ServiceCharge}", FormatNumber(ServiceCharge,2,-1))
strContent = Replace(strContent, "{$DateTime}", Now())
strContent = Replace(strContent, "{$PayState}", "对不起!本交易失败。")
End If
Set wp = Nothing
HtmlContent = Replace(HtmlContent, "{$PublicContent}", strContent)
ReplaceString
Response.Write HtmlContent
End Sub
'///---在线支付返回过程结束
'=================================================
'过程名:ShowPaginate
'作 用:商城收藏夹分页
'=================================================
Public Function ShowPaginate(ByVal str,ByVal CurrentPage,ByVal Pcount,ByVal totalrec,ByVal maxperpage)
Dim strTempage
strTempage = str
strTempage = Replace(strTempage, "{$CurrentPage}", CurrentPage)
strTempage = Replace(strTempage, "{$PageCount}", Pcount)
strTempage = Replace(strTempage, "{$Totalrec}", totalrec)
strTempage = Replace(strTempage, "{$totalrec}", totalrec)
strTempage = Replace(strTempage, "{$MaxPerPage}", maxperpage)
ShowPaginate = strTempage
End Function
'///---商品收藏夹过程开始
'=================================================
'过程名:BuildFavorite
'作 用:商城收藏夹
'=================================================
Public Sub BuildFavorite()
Dim strContent,ErrorMsg
Dim userid,UserName,Action,i,j
Dim maxfavsize,strTopNum,strPagination
Dim maxperpage,CurrentPage,Pcount,totalrec,page_count
Dim StyleList,favcount,FavoriteHint,shopid
userid = Clng(Newasp.memberid)
UserName = Newasp.CheckRequest(Newasp.membername,45)
Action = LCase(Newasp.CheckInfuse(Request("action"),8))
skinid = CLng(Newasp.ChannelSkin)
maxfavsize = CLng(Newasp.GroupSetting(36))
If maxfavsize > 0 Then
strTopNum = "TOP " & maxfavsize
FavoriteHint = "您的收藏夹最多可以存放 <font color=""red""><b>" & maxfavsize & "</b></font> 件商品!"
Else
strTopNum = ""
FavoriteHint = "您的收藏夹大小无限制!"
End If
'--权限设置
If userid = 0 Or UserName = "" Then
Call OutAlertScript("对不起!只有注册会员才能使用收藏功能。")
Exit Sub
End If
If CInt(Newasp.GroupSetting(35)) = 0 Then
Call OutAlertScript("对不起!你没有使用收藏夹的权限。")
Exit Sub
End If
Select Case Action
Case "del"
If userid = 0 Or Newasp.ChkNumeric(Request("favid")) = 0 Then
ErrorMsg = "您没有选择收藏ID,或者你没有登录。"
FoundErr = True
End If
If FoundErr = False Then
Newasp.Execute("DELETE FROM NC_Favourite WHERE userid="& userid &" And favid="& Newasp.ChkNumeric(Request("favid")))
Response.Redirect("favorite.asp")
End If
Case "add"
If FoundErr = False Then
Call AddFavorite
Response.Redirect("favorite.asp")
End If
Case "modify"
shopid = Newasp.ChkNumeric(Request("shopid"))
If userid = 0 Or shopid = 0 Then
ErrorMsg = "您没有选择商品ID,或者你没有登录。"
FoundErr = True
End If
If FoundErr = False Then
SQL = "SELECT shopid,TradeName,NowPrice FROM [NC_ShopList] WHERE ChannelID=" & ChannelID & " And isAccept > 0 And shopid=" & shopid
Set Rs = Newasp.Execute(SQL)
If Not (Rs.BOF And Rs.EOF) Then
Newasp.Execute ("UPDATE NC_Favourite SET ProductName='"& Newasp.CheckStr(Rs("TradeName")) &"',UnitPrice="& Rs("NowPrice") &" WHERE userid="& userid &" And shopid="& Rs("shopid"))
End If
Set Rs = Nothing
Response.Redirect("favorite.asp")
End If
End Select
'--统计收藏夹大小
Set Rs = Newasp.Execute("SELECT COUNT(favid) FROM NC_Favourite WHERE userid="& userid)
favcount = CLng(Rs(0))
'以下判断为自动删除多出来的商品
If favcount > maxfavsize And maxfavsize <> 0 Then
i = favcount - maxfavsize
SQL = "SELECT TOP "& i &" favid FROM NC_Favourite WHERE userid="& userid &" ORDER BY favid DESC"
Set Rs=Newasp.Execute(SQL)
While Not Rs.EOF
Newasp.Execute("DELETE FROM NC_Favourite WHERE favid="& rs(0))
Rs.movenext
Wend
smsCount = Maxsms
End if
Rs.Close:Set Rs = Nothing
Newasp.LoadTemplates ChannelID, 6, skinid
maxperpage = CInt(Newasp.HtmlSetting(20)) '--每页数
CurrentPage = Newasp.ChkNumeric(Request("page"))
If CurrentPage = 0 Then CurrentPage = 1
HtmlContent = Newasp.HtmlContent
HtmlContent = Replace(HtmlContent, "{$ChannelRootDir}", ChannelRootDir)
HtmlContent = Replace(HtmlContent, "{$InstallDir}", strInstallDir)
HtmlContent = Replace(HtmlContent, "{$ChannelID}", ChannelID)
HtmlContent = Replace(HtmlContent, "{$ModuleName}", Newasp.ModuleName)
HtmlContent = Replace(HtmlContent, "{$ShopIndex}", strIndexName)
HtmlContent = Replace(HtmlContent, "{$PageTitle}", "收藏夹")
If FoundErr = False Then
strContent = Newasp.HtmlSetting(17)
Set Rs = CreateObject("ADODB.Recordset")
SQL = "SELECT " & strTopNum & " favid,userid,shopid,ProductName,UnitPrice,addTime FROM [NC_Favourite] WHERE userid="& userid &" ORDER BY favid DESC"
Rs.Open SQL, Conn, 1, 1
If Rs.BOF And Rs.EOF Then
strContent = strContent & Newasp.HtmlSetting(22)
Else
Rs.PageSize = maxperpage
Rs.AbsolutePage = CurrentPage
page_count = 0
totalrec = Rs.recordcount
j = (CurrentPage - 1) * maxperpage + 1
Do While Not Rs.EOF And (Not page_count = Rs.PageSize)
If (page_count Mod 2) = 0 Then
StyleList = 1
Else
StyleList = 2
End If
strContent = strContent & Newasp.HtmlSetting(18)
strContent = Replace(strContent, "{$FavoriteID}", Rs("favid"))
strContent = Replace(strContent, "{$ProductID}", Rs("shopid"))
strContent = Replace(strContent, "{$TradeName}", Rs("ProductName"))
strContent = Replace(strContent, "{$FavouriteID}", Rs("favid"))
strContent = Replace(strContent, "{$UnitPrice}", FormatNumber(Rs("UnitPrice"),2,-1))
strContent = Replace(strContent, "{$AddTime}", Rs("addTime"))
strContent = Replace(strContent, "{$StyleList}", StyleList)
strContent = Replace(strContent, "{$Ordered}", j)
Rs.movenext
page_count = page_count + 1
j = j + 1
If page_count >= maxperpage Then Exit Do
Loop
End if
Rs.Close:Set Rs = Nothing
'--分页计算
If totalrec Mod maxperpage = 0 Then
Pcount = totalrec \ maxperpage
Else
Pcount = totalrec \ maxperpage + 1
End If
If page_count = 0 Then CurrentPage = 0
'--显示分类代码
strPagination = Newasp.HtmlSetting(21)
strPagination = ShowPaginate(strPagination,CurrentPage,Pcount,totalrec,maxperpage)
'--分页代码结束
strContent = strContent & Newasp.HtmlSetting(19)
strContent = Replace(strContent, "{$Pagination}", strPagination)
Else
strContent = Newasp.HtmlSetting(14)
strContent = Replace(strContent, "{$ErrorMsg}", ErrorMsg)
strContent = Replace(strContent, "{$DateTime}", Now())
End If
strContent = Replace(strContent, "{$MaxFavourite}", maxfavsize)
strContent = Replace(strContent, "{$FavoriteHint}", FavoriteHint)
HtmlContent = Replace(HtmlContent, "{$PublicContent}", strContent)
ReplaceString
Response.Write HtmlContent
End Sub
'=================================================
'过程名:AddFavorite
'作 用:添加收藏夹
'=================================================
Private Sub AddFavorite()
Dim ValueFavourite,strProductID
Dim favcount,shopid,userid
userid = Clng(Newasp.memberid)
shopid = Newasp.ChkNumeric(Request("shopid"))
If shopid = 0 Then
strProductID = Newasp.CheckRequest(Request.Cookies("ProductIDList")("ProductID"),0)
If Len(strProductID) = 0 Then Exit Sub
SQL = "SELECT shopid,TradeName,NowPrice FROM [NC_ShopList] WHERE ChannelID=" & ChannelID & " And isAccept > 0 And shopid in (" & strProductID & ")"
Set Rs = Newasp.Execute(SQL)
If Not (Rs.BOF And Rs.EOF) Then
Do While Not Rs.EOF
favcount = Newasp.Execute("SELECT COUNT(favid) FROM NC_Favourite WHERE userid="& userid &" And shopid=" & Rs("shopid"))(0)
If CLng(favcount) = 0 Then
ValueFavourite = "" & userid & "," & Rs("shopid") & ",'" & Newasp.CheckStr(Rs("TradeName")) & "'," & Rs("NowPrice") & "," & NowString & ""
SQL = "INSERT INTO NC_Favourite (userid,shopid,ProductName,UnitPrice,addTime) values ("& ValueFavourite &")"
Newasp.Execute(SQL)
End if
Rs.movenext
Loop
End if
Rs.Close:Set Rs = Nothing
Else
If shopid = 0 Then Exit Sub
SQL = "SELECT shopid,TradeName,NowPrice FROM [NC_ShopList] WHERE ChannelID=" & ChannelID & " And isAccept > 0 And shopid=" & shopid
Set Rs = Newasp.Execute(SQL)
If Not (Rs.BOF And Rs.EOF) Then
favcount = Newasp.Execute("SELECT COUNT(favid) FROM NC_Favourite WHERE userid="& userid &" And shopid=" & Rs("shopid"))(0)
If CLng(favcount) = 0 Then
ValueFavourite = "" & userid & "," & Rs("shopid") & ",'" & Newasp.CheckStr(Rs("TradeName")) & "'," & Rs("NowPrice") & "," & NowString & ""
SQL = "INSERT INTO NC_Favourite (userid,shopid,ProductName,UnitPrice,addTime) values ("& ValueFavourite &")"
Newasp.Execute(SQL)
End if
End if
Rs.Close:Set Rs = Nothing
End If
End Sub
'///---商城收藏夹过程结束
'-------------------------------------------------
'///---订单查询过程开始
'=
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -