PageRenderTime 30ms CodeModel.GetById 1ms RepoModel.GetById 0ms app.codeStats 0ms

/Wap/User/User_Order.asp

https://github.com/joechen2010/health
ASP | 426 lines | 400 code | 16 blank | 10 comment | 1 complexity | 36fc20308a4eb293f3246503f9243ae4 MD5 | raw file
  1. <%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
  2. <!--#include file="../Conn.asp"-->
  3. <!--#include file="../KS_Cls/Kesion.CommonCls.asp"-->
  4. <% Response.ContentType="text/vnd.wap.wml" %><?xml version="1.0" encoding="utf-8"?>
  5. <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
  6. <wml>
  7. <head>
  8. <meta http-equiv="Cache-Control" content="no-Cache"/>
  9. <meta http-equiv="Cache-Control" content="max-age=0"/>
  10. </head>
  11. <card id="main" title="我的订单">
  12. <p>
  13. <%
  14. Dim KSCls
  15. Set KSCls = New User_Order
  16. KSCls.Kesion()
  17. Set KSCls = Nothing
  18. %>
  19. </p>
  20. </card>
  21. </wml>
  22. <%
  23. Class User_Order
  24. Private KS
  25. Private CurrentPage,totalPut
  26. Private RS,MaxPerPage
  27. Private TempStr,SqlStr,Prev
  28. Private InfoIDArr,InfoID,DomainStr
  29. Private Sub Class_Initialize()
  30. MaxPerPage =5
  31. Set KS=New PublicCls
  32. DomainStr=KS.GetDomain
  33. End Sub
  34. Private Sub Class_Terminate()
  35. Set KS=Nothing
  36. Set KSUser=Nothing
  37. End Sub
  38. Public Sub Kesion()
  39. IF Cbool(KSUser.UserLoginChecked)=False Then
  40. Response.redirect DomainStr&"User/Login/"
  41. Exit Sub
  42. End If
  43. Select Case KS.S("Action")
  44. Case "ShowOrder" Call ShowOrder
  45. Case "DelOrder" Call DelOrder
  46. Case "SignUp" Call SignUp
  47. Case "AddPayment" Call AddPayment '从账户余额付款
  48. Case "SavePayment" Call SavePayment
  49. Case "PaymentOnline" '在线支付
  50. 'Response.Redirect "User_PayOnline.asp?Action=Payonline&id=" & KS.S("ID")
  51. Case Else Call OrderList
  52. End Select
  53. If Prev=True Then
  54. Response.Write "<anchor>返回上一页<prev/></anchor><br/>"
  55. End If
  56. Response.Write "<br/>"
  57. Response.Write "<a href=""Index.asp?" & KS.WapValue & """>我的地盘</a><br/>" &vbcrlf
  58. Response.Write "<a href=""" & KS.GetGoBackIndex & """>返回首页</a>" &vbcrlf
  59. End Sub
  60. Sub OrderList()
  61. If KS.S("page") <> "" Then
  62. CurrentPage = CInt(KS.S("page"))
  63. Else
  64. CurrentPage = 1
  65. End If
  66. Response.Write "【我的订单】<br/>"
  67. SqlStr="Select * From KS_Order Where UserName='" & KSUser.UserName &"' order by id desc"
  68. Set RS=Server.createobject("adodb.recordset")
  69. RS.open SqlStr,Conn,1,1
  70. If RS.EOF And RS.BOF Then
  71. Response.Write "您没有下任何订单!<br/>"
  72. Else
  73. totalPut = RS.RecordCount
  74. If CurrentPage < 1 Then
  75. CurrentPage = 1
  76. End If
  77. If (CurrentPage - 1) * MaxPerPage > totalPut Then
  78. If (totalPut Mod MaxPerPage) = 0 Then
  79. CurrentPage = totalPut \ MaxPerPage
  80. Else
  81. CurrentPage = totalPut \ MaxPerPage + 1
  82. End If
  83. End If
  84. If CurrentPage = 1 Then
  85. Call ShowContent
  86. Else
  87. If (CurrentPage - 1) * MaxPerPage < totalPut Then
  88. RS.Move (CurrentPage - 1) * MaxPerPage
  89. Call ShowContent
  90. Else
  91. CurrentPage = 1
  92. Call ShowContent
  93. End If
  94. End If
  95. End If
  96. Call KS.ShowPageParamter(totalPut, MaxPerPage, "User_Order.asp", True, "条订单", CurrentPage, KS.WapValue)
  97. End Sub
  98. Sub ShowContent()
  99. Dim i,MoneyTotal,MoneyReceipt
  100. Do While Not RS.Eof
  101. %>
  102. 编号:<a href="User_Order.asp?Action=ShowOrder&amp;ID=<%=RS("ID")%>&amp;<%=KS.WapValue%>"><%=rs("orderid")%></a><br/>
  103. 时间:<%=rs("inputtime")%><br/>
  104. 金额:<%=formatnumber(rs("MoneyTotal"),2)%> 收款金额:<%=formatnumber(RS("MoneyReceipt"),2)%><br/>
  105. <%
  106. If RS("NeedInvoice")=1 Then
  107. If RS("Invoiced")=1 Then
  108. Response.Write "发票已开,"
  109. Else
  110. Response.Write "发票未开,"
  111. End If
  112. End If
  113. If RS("Status")=0 Then
  114. Response.Write "等待确认"
  115. ElseIf RS("Status")=1 Then
  116. Response.Write "已经确认"
  117. ElseIf RS("Status")=2 Then
  118. Response.Write "已结清"
  119. End If
  120. Response.Write ","
  121. If RS("MoneyReceipt")<=0 Then
  122. Response.Write "等待汇款"
  123. ElseIf RS("MoneyReceipt")<RS("MoneyTotal") Then
  124. Response.WRITE "已收定金"
  125. Else
  126. Response.Write "已经付清"
  127. End If
  128. Response.Write ","
  129. If RS("DeliverStatus")=0 Then
  130. Response.Write "未发货"
  131. ElseIf RS("DeliverStatus")=1 Then
  132. Response.Write "已发货"
  133. ElseIf RS("DeliverStatus")=2 Then
  134. Response.Write "已签收"
  135. End If
  136. Response.Write "<br/>"
  137. MoneyReceipt=RS("MoneyReceipt")+MoneyReceipt
  138. MoneyTotal=RS("MoneyTotal")+MoneyTotal
  139. Response.Write "<img src=""../Images/Hen.gif"" alt=""""/><br/>"
  140. RS.MoveNext
  141. I = I + 1
  142. If I >= MaxPerPage Then Exit Do
  143. Loop
  144. Response.Write "<br/>"
  145. Response.Write "本页-合计:"&formatnumber(MoneyTotal,2)&" "
  146. Response.Write "收款金额:"&formatnumber(MoneyReceipt,2)&"<br/>"
  147. Response.Write "所有-总计:"&formatnumber(Conn.execute("Select sum(moneytotal) from KS_Order Where UserName='" & KSUser.UserName & "'")(0),2)&" "
  148. Response.Write "收款金额:"&formatnumber(Conn.execute("Select sum(MoneyReceipt) from KS_Order Where UserName='" & KSUser.UserName & "'")(0),2)&"<br/>"
  149. End Sub
  150. Sub ShowOrder()
  151. Dim ID:ID=KS.ChkClng(KS.S("ID"))
  152. Dim RS:Set RS=Server.CreateObject("adodb.recordset")
  153. RS.Open "Select * from ks_order where id=" & ID ,Conn,1,1
  154. IF RS.Eof And RS.Bof Then
  155. RS.Close:Set RS=Nothing
  156. Response.Write "参数错误!<br/>"
  157. Prev=True
  158. Exit Sub
  159. End If
  160. '返回订单详细信息
  161. Response.Write "【订单信息】<br/>" &vbcrlf
  162. Response.Write "订单编号:" & RS("ORDERID") & "<br/>"&vbcrlf
  163. Response.Write "客户姓名:" & RS("Contactman") & "<br/>" &vbcrlf
  164. Response.Write "用 户 名:" & RS("UserName") & "<br/>" &vbcrlf
  165. Response.Write "【代 理 商】<br/>" &vbcrlf
  166. Response.Write "购买日期:" & formatdatetime(RS("inputtime"),2) & "<br/>" & vbcrlf
  167. Response.Write "下单时间:" & RS("inputtime") & "<br/>" & vbcrlf
  168. If RS("NeedInvoice")=1 Then
  169. Response.Write "发票状态:"
  170. If RS("Invoiced")=1 Then
  171. Response.Write "已开"
  172. Else
  173. Response.Write "未开"
  174. End If
  175. Response.Write "<br/>" & vbcrlf
  176. End If
  177. Response.Write "订单状态:"
  178. If RS("Status")=0 Then
  179. Response.Write "等待确认"
  180. ElseIf RS("Status")=1 Then
  181. Response.Write "已经确认"
  182. ElseIf RS("Status")=2 Then
  183. Response.Write "已结清"
  184. End If
  185. Response.Write "<br/>" & vbcrlf
  186. Response.Write "付款情况:"
  187. If RS("MoneyReceipt")<=0 Then
  188. Response.Write "等待汇款"
  189. ElseIf RS("MoneyReceipt")<RS("MoneyTotal") Then
  190. Response.Write "已收定金"
  191. Else
  192. Response.Write "已经付清"
  193. End If
  194. Response.Write "<br/>" & vbcrlf
  195. Response.Write "物流状态:"
  196. If RS("DeliverStatus")=0 Then
  197. Response.Write "未发货"
  198. ElseIf RS("DeliverStatus")=1 Then
  199. Response.Write "已发货"
  200. ElseIf RS("DeliverStatus")=2 Then
  201. Response.Write "已签收"
  202. End If
  203. Response.Write "<br/>" & vbcrlf
  204. Response.Write "<br/>" & vbcrlf
  205. Response.Write "收货姓名:" & RS("contactman") & "<br/>" & vbcrlf
  206. Response.Write "联系电话:" & RS("phone") & "<br/>" & vbcrlf
  207. Response.Write "收货地址:" & RS("address") & "<br/>" & vbcrlf
  208. Response.Write "邮政编码:" & RS("zipcode") & "<br/>" & vbcrlf
  209. Response.Write "收货邮箱:" & RS("email") & "<br/>" & vbcrlf
  210. Response.Write "收货手机:" & RS("mobile") & "<br/>" & vbcrlf
  211. Response.Write "付款方式:" & KS.ReturnPayMent(rs("PaymentType"),0) & "<br/>" & vbcrlf
  212. Response.Write "送货方式:" & KS.ReturnDelivery(rs("DeliverType"),0) & "<br/>" & vbcrlf
  213. If RS("Invoiced")=1 Then
  214. Response.Write "发票信息:" & RS("InvoiceContent") & "<br/>" & vbcrlf
  215. End If
  216. Response.Write "备注留言:" & RS("Remark") & "<br/>" & vbcrlf
  217. Response.Write "<img src=""../Images/Hen.gif"" alt=""""/><br/>"
  218. Dim TotalPrice,RSI:Set RSI=Server.CreateObject("ADODB.RECORDSET")
  219. RSI.Open "Select * From KS_OrderItem Where OrderID='" & RS("OrderID") & "'",conn,1,1
  220. If RSI.Eof Then
  221. RSI.Close:Set RSI=Nothing
  222. Response.Write "找不到相关商品!<br/>" & vbcrlf
  223. Else
  224. Do While Not RSI.EOF
  225. Response.Write "商品名称:<a href='" & DomainStr & "Show.asp?ID=" & RSI("proid") & "&amp;ChannelID=5&amp;"&KS.WapValue&"'>" & Conn.Execute("select title from ks_product where id=" & RSI("proid"))(0) & "</a><br/>" & vbcrlf
  226. Response.Write "数量单位:" & RSI("Amount") &""& Conn.Execute("select unit from ks_product where id=" & RSI("proid"))(0) & " "
  227. Response.Write "期限:" & RSI("ServiceTerm") & "<br/>"
  228. Response.Write "原价:" & formatnumber(RSI("price_original"),2) & " "
  229. Response.Write "实价:" & formatnumber(RSI("price"),2) & " "
  230. Response.Write "指定价:" & formatnumber(RSI("realprice"),2) & " "
  231. Response.Write "金额:" & formatnumber(RSI("realprice")*RSI("amount"),2) & "<br/>"
  232. 'Response.Write "备注:" & RSI("Remark") & "<br/>"
  233. TotalPrice=TotalPrice+ RSI("realprice")*RSI("Amount")
  234. Response.Write "<img src=""../Images/Hen.gif"" alt=""""/><br/>"
  235. RSI.Movenext
  236. loop
  237. Response.Write "合计:" & formatnumber(totalprice,2) & "<br/>"
  238. End If
  239. RSI.Close:set RSI=Nothing
  240. Response.Write "付款方式折扣率:" & RS("Discount_Payment") & "% 运费:" & RS("Charge_Deliver")&" 元 税率:" & KS.Setting(65) &"% 价格含税:"
  241. IF KS.Setting(64)=1 Then
  242. Response.Write "是"
  243. Else
  244. Response.Write "不含税"
  245. End If
  246. Response.Write "<br/>" & vbcrlf
  247. Dim TaxMoney
  248. Dim TaxRate:TaxRate=KS.Setting(65)
  249. If KS.Setting(64)=1 Or rs("NeedInvoice")=0 Then TaxMoney=1 Else TaxMoney=1+TaxRate/100
  250. Response.Write "实际金额:(" & rs("MoneyGoods") & "×" & rs("Discount_Payment") & "%+"&rs("Charge_Deliver") & ")×"
  251. If KS.Setting(64)=1 Or rs("NeedInvoice")=0 Then Response.Write "100%" Else Response.Write "(1+" & TaxRate & "%)"
  252. Response.Write "=" & formatnumber(rs("MoneyTotal"),2) & "元<br/>"
  253. Response.Write "实际金额:¥" & formatnumber(rs("MoneyTotal"),2) & " "
  254. Response.Write "已付款:¥" & formatnumber(rs("MoneyReceipt"),2) & " "
  255. If RS("MoneyReceipt")<RS("MoneyTotal") Then
  256. Response.Write "尚欠款:¥" & formatnumber(RS("MoneyTotal")-RS("MoneyReceipt"),2) &""
  257. End If
  258. Response.Write "<br/>" & vbcrlf
  259. Response.Write "注:“原价”指商品的原始零售价,“实价”指系统自动计算出来的商品最终价格,“指定价”指管理员根据不同会员组手动指定的最终价格。商品的最终销售价格以“指定价”为准。<br/>"
  260. Response.Write "<br/>"
  261. If rs("status")=0 And rs("DeliverStatus")=0 And rs("MoneyReceipt")=0 Then
  262. Response.Write "<a href=""User_Order.asp?Action=DelOrder&amp;ID=" & rs("id") & "&amp;" & KS.WapValue & """>删除订单</a> "
  263. End If
  264. If RS("MoneyReceipt")<RS("MoneyTotal") Then
  265. Response.Write "<a href=""User_Order.asp?Action=AddPayment&amp;ID=" & rs("id") & "&amp;" & KS.WapValue & """>从余额中扣款支付</a> "
  266. End If
  267. If rs("DeliverStatus")=1 Then
  268. Response.Write "<a href=""User_Order.asp?Action=SignUp&amp;ID=" & RS("ID") & "&amp;" & KS.WapValue & """>签收商品</a> "
  269. End If
  270. Response.Write "<a href=""User_Order.asp?" & KS.WapValue & """>订单首页</a><br/>"
  271. End Sub
  272. '删除订单
  273. Sub DelOrder()
  274. Dim ID:ID=KS.ChkClng(KS.S("ID"))
  275. If KS.S("Checked")="ok" Then
  276. Dim RS:Set RS=Server.CreateObject("ADODB.RECORDSET")
  277. RS.Open "Select OrderID From KS_Order where status=0 and DeliverStatus=0 and MoneyReceipt=0 and id=" & ID,Conn,1,3
  278. If Not RS.EOF Then
  279. Conn.Execute("delete from ks_orderitem Where OrderID='" & rs(0) &"'")
  280. RS.Delete
  281. End if
  282. Response.redirect DomainStr&"User/User_Order.asp?" & KS.WapValue & ""
  283. Else
  284. Response.Write "确定要删除此订单吗?"
  285. Response.Write "<a href=""User_Order.asp?Action=DelOrder&amp;Checked=ok&amp;ID=" & ID & "&amp;" & KS.WapValue & """>确定</a> "
  286. Response.Write "<a href=""User_Order.asp?Action=ShowOrder&amp;ID=" & ID & "&amp;" & KS.WapValue & """>取消</a><br/>"
  287. End if
  288. End Sub
  289. '签收商品
  290. Sub SignUp()
  291. Dim OrderID,id:ID=KS.ChkClng(KS.S("ID"))
  292. Dim RS:Set RS=Server.CreateObject("ADODB.RECORDSET")
  293. RS.Open "Select * From KS_Order Where ID=" & ID,Conn,1,3
  294. If RS.EOF Then
  295. RS.Close:Set RS=Nothing
  296. Response.Write "出错啦!<br/>"
  297. Prev=True
  298. Exit Sub
  299. End If
  300. RS("DeliverStatus")=2
  301. RS("BeginDate")=Now
  302. RS.Update
  303. OrderID=RS("OrderID")
  304. RS.Close:Set RS=Nothing
  305. Conn.Execute("Update KS_LogDeliver Set Status=1 Where OrderID='" & OrderID & "'")
  306. Response.redirect DomainStr&"User/User_Order.asp?Action=ShowOrder&ID="&ID&"&"&KS.WapValue&""
  307. End Sub
  308. Sub AddPayment()
  309. Dim ID:ID=KS.ChkClng(KS.S("ID"))
  310. Dim RS:Set RS=Server.CreateObject("ADODB.RECORDSET")
  311. RS.Open "Select * From KS_Order Where ID="& ID,Conn,1,1
  312. If RS.EOF Then
  313. RS.Close:Set RS=Nothing
  314. Response.Write "出错啦!<br/>"
  315. Prev=True
  316. Exit Sub
  317. End If
  318. %>
  319. <b>注意支出信息一旦录入就不能再修改所以在保存之前确认输入无误</b><br/><br/>
  320. 使用账户资金支付订单<br/>
  321. <%=KSUser.UserName%><br/>
  322. 客户名称<%=RS("ContactMan")%><br/>
  323. 资金余额<%=KSUser.Money%><br/>
  324. 支付内容<br/>
  325. 订单编号<%=RS("OrderID")%><br/>
  326. 订单金额<%=RS("MoneyTotal")%><br/>
  327. <%=RS("MoneyReceipt")%><br/>
  328. 支付成功后将从您的资金余额中扣除相应款项<br/>
  329. 支出金额<input maxLength="20" size="10" value="<%=RS("moneytotal")-RS("MoneyReceipt")%>" name="Money<%=Minute(Now)%><%=Second(Now)%>" /><br/>
  330. <anchor>确认支付<go href="User_Order.asp?<%=KS.WapValue%>" method="post">
  331. <postfield name="Action" value="SavePayment"/>
  332. <postfield name="ID" value="<%=RS("id")%>"/>
  333. <postfield name="Money" value="$(Money<%=Minute(Now)%><%=Second(Now)%>)"/>
  334. </go></anchor>
  335. <br/>
  336. <%
  337. RS.Close:Set RS=Nothing
  338. End Sub
  339. '开始余额支付操作
  340. Sub SavePayment()
  341. Dim ID:ID=KS.ChkClng(KS.S("ID"))
  342. Dim Money:Money=KS.S("Money")
  343. If Not IsNumeric(Money) Then
  344. Response.Write "请输入有效的金额!<br/>"
  345. Prev=True
  346. Exit Sub
  347. End If
  348. Dim RS:Set RS=Server.CreateObject("ADODB.RECORDSET")
  349. RS.Open "Select * From KS_Order Where ID=" & ID,Conn,1,3
  350. If RS.EOF Then
  351. RS.Close:Set RS=Nothing
  352. Response.Write "出错啦!<br/>"
  353. Prev=True
  354. Exit Sub
  355. End If
  356. If Round(Money)>Round(KSUser.Money) Then
  357. Response.Write "错误信息<br/>"
  358. Response.Write "产生错误的可能原因:您输入的支付金额超过了您的资金余额,无效支付!<br/>"
  359. Prev=True
  360. RS.Close:Set RS=Nothing:Exit Sub
  361. End If
  362. '从账户资金中扣除金额
  363. Dim CurrMoney:CurrMoney=0
  364. Dim RSU:Set RSU=Server.CreateObject("adodb.recordset")
  365. RSU.Open "Select Money From KS_User Where UserName='" & RS("UserName") & "'",Conn,1,3
  366. If Not RSU.Eof Then
  367. RSU(0)=RSU(0)-Money
  368. RSU.Update
  369. CurrMoney=rsu(0)
  370. End If
  371. RSU.Close:Set RSU=Nothing
  372. RS("MoneyReceipt")=RS("MoneyReceipt")+Money
  373. RS("Status")=1
  374. RS.Update
  375. '写入资金明细
  376. Dim RSLog:Set RSLog=Server.CreateObject("ADODB.RECORDSET")
  377. RSLog.Open "Select * From KS_LogMoney",Conn,1,3
  378. RSLog.AddNew
  379. RSLog("UserName")=RS("UserName")
  380. RSLog("ClientName")=RS("Contactman")
  381. RSLog("Money")=Money
  382. RSLog("MoneyType")=4 '余额支付
  383. RSLog("IncomeOrPayOut")=2 '支出
  384. RSLog("OrderID")=RS("OrderID")
  385. RSLog("Remark")="支付订单费用,订单号:" & RS("Orderid")
  386. RSLog("PayTime")=Now
  387. RSLog("LogTime")=Now
  388. RSLog("Inputer")=KSUser.UserName
  389. RSLog("IP")=KS.GetIP
  390. RSLog("CurrMoney")=CurrMoney
  391. RSLog("ChannelID")=0
  392. RSLog("InfoID")=0
  393. RSLog.Update
  394. RSLog.Close:Set RSLog=Nothing
  395. '====================为用户增加购物应得积分========================
  396. If RS("MoneyReceipt")>=RS("MoneyTotal") Then
  397. Dim RSP:set RSP=Conn.Execute("select point,id from ks_product where id in(select proid from KS_OrderItem where orderid='" & rs("orderid") & "')")
  398. do while not rsp.eof
  399. Dim Amount:Amount=Conn.Execute("select amount from ks_orderitem where orderid='" & RS("orderid") & "' and proid=" & RSP(1))(0)
  400. Conn.Execute("update ks_user set score=score+" & KS.ChkClng(rsp(0))*amount & " where username='" & ksuser.username & "'")
  401. RSP.MoveNext
  402. Loop
  403. RSP.Close:set RSP=Nothing
  404. End If
  405. '================================================================
  406. RS.Close:Set RS=Nothing
  407. Response.redirect DomainStr&"User/User_Order.asp?Action=ShowOrder&ID="&ID&"&"&KS.WapValue&""
  408. End Sub
  409. End Class
  410. %>