<% @LANGUAGE="VBSCRIPT" CODEPAGE="65001" %>
|
<% Session.CodePage=65001 %>
|
<% Response.charset = "utf-8" %>
|
<!--#include virtual="/inc/odbc.asp"-->
|
<!--#include virtual="/inc/function.asp"-->
|
<!--#include virtual="/inc/core.asp"-->
|
<%
|
Set rs = Server.CreateObject("ADODB.Recordset")
|
Set rsDt = Server.CreateObject("ADODB.Recordset")
|
|
method=trim(Request("method"))
|
errcode=""
|
if method="" Then
|
errcode=40001
|
errmsg="invalid method"
|
end If
|
|
'时间戳验证----------
|
UnixTime=trim(Request("UnixTime"))
|
Call MD5_UnixTime(UnixTime)
|
'时间戳验证---end
|
|
'签名验证----------
|
ApiSign=trim(Request("Sign"))
|
if ApiSign="" Then
|
errcode=40005
|
errmsg="invalid Sign"
|
ElseIf method="OA_MessageSend" Then
|
'不验签名
|
|
else
|
'待签名字符串
|
ReDim arr(Request.QueryString.Count+Request.Form.Count,2)
|
Dim v '所有表单值
|
Dim t '所有表单数量
|
v=Request.QueryString
|
If v<>"" And Request.Form<>"" Then
|
v=v&"&"&Request.Form
|
ElseIf Request.Form<>"" Then
|
v=Request.Form
|
End If
|
t=Request.QueryString.Count+Request.Form.Count
|
For i=0 To t-1
|
arr(i,1)=Split(Split(v,"&")(i),"=")(0)
|
arr(i,2)=Split(Split(v,"&")(i),"=")(1)
|
Next
|
For i = 0 To t-1
|
For j = i + 1 To t-1
|
If arr(i,1) > arr(j,1) Then
|
tmp1 = arr(i,1)
|
arr(i,1) = arr(j,1)
|
arr(j,1) = tmp1
|
tmp2 = arr(i,2)
|
arr(i,2) = arr(j,2)
|
arr(j,2) = tmp2
|
End If
|
Next
|
Next
|
For i = 0 To t-1
|
'response.write arr(i,1) & "=" & arr(i,2) & "<br>"
|
If arr(i,1)="Sign" Then
|
reserve=arr(i,2)
|
else
|
If arr(i,2)="timestamp" Then arr(i,2)=Date() &" "& Time()
|
sParaSort=sParaSort & arr(i,1) & arr(i,2)
|
sParaRunning=sParaRunning &"&"& arr(i,1) &"="& arr(i,2)
|
End if
|
Next
|
sign_type = "MD5"
|
input_charset="utf-8"
|
stringA=sParaSort&key
|
'response.write sParaSort & "<br>"
|
Private Function BuildRequestMysign(sParaSort)
|
'获得签名结果
|
Select Case sign_type
|
Case "MD5" BuildRequestMysign = Md5Sign(sParaSort,key,input_charset)
|
Case Else BuildRequestMysign = ""
|
End Select
|
End Function
|
sParaSort=BuildRequestMysign(sParaSort)
|
If CStr(ApiSign)<>CStr(sParaSort) Then
|
errcode=40006
|
errmsg="invalid Sign"
|
'签名调试
|
If is_test="1" Then errmsg="invalid stringA:"&stringA&",Sign:"&sParaSort
|
End If
|
End If
|
'签名验证---end
|
|
objConn.BeginTrans
|
|
If errcode="" then
|
select case method
|
case "APITest" '接口测试
|
TestData=trim(Request("Test")) '服务单状态
|
webJson="{""method"":""APITest"",""result"":1,""Test"":"""&TestData&"""}"
|
'查询服务单列表 end
|
|
case "StItm_List" '查询商品列表
|
'必须
|
ClassID = trim(Request("ClassID")) '商品类型
|
|
'可选
|
UserID = trim(Request("UserID")) '用户唯一ID
|
strItmID = trim(Request("strItmID")) '商品唯一ID
|
strItmNo = trim(Request("strItmNo")) '物料号
|
searchTXT = trim(Request("search")) '查询关键字
|
page_no = trim(Request("page_no")) '页码(默认1)
|
page_size = trim(Request("page_size")) '每页显示数量(默认20,最大100)
|
|
'写入默认值
|
If ClassID="" Or ClassID="undefined" Then ClassID="10"
|
If strItmID="undefined" Then strItmID=""
|
If strItmNo="undefined" Then strItmNo=""
|
If searchTXT="undefined" Then searchTXT=""
|
If page_no="" Then page_no=1
|
If page_size="" Then page_size=20
|
If CInt(page_size)>100 Then page_size=100
|
total=0
|
|
'查找数据库
|
|
|
If strItmID<>"" Then
|
searchSql=" and strItmID in ("&strItmID&")"
|
ElseIf strItmNo<>"" Then
|
searchSql=" and strItmNo in ("&strItmNo&")"
|
ElseIf searchTXT<>"" Then
|
searchSql=" and (strItmName like '%"&searchTXT&"%' or strItmRemarks like '%"&searchTXT&"%')"
|
Else
|
searchSql=" and strItmClassID in ("&ClassID&")"
|
End If
|
|
sql="select strItmID,strItmNo,strItmPinyin,strItmName,strItmUnit,PurchasePrice,SellingPrice,CreditsPrice,strItmClassID,strItmRemarks,strItmState,strItmBarcode,isCarStItm,vtext from tblStItm,dictionary where strItmClassID=vID and vtitle='strItmClass' and strItmState=1 "&searchSql&" order by isCarStItm desc,strItmID desc"
|
'Response.Write sql&"<br>"
|
rs.open sql,objConn,1,1
|
if not rs.eof then
|
rs.pagesize=page_size
|
rs.absolutepage=page_no
|
total=rs.recordcount
|
end If
|
do while not rs.Eof and p<=CInt(page_size)
|
strItmID = rs("strItmID") '商品ID
|
strItmNo = rs("strItmNo") '物料号
|
strItmPinyin = rs("strItmPinyin") '拼音码
|
strItmName = rs("strItmName") '商品名称
|
strItmUnit = rs("strItmUnit") '商品单位
|
PurchasePrice = rs("PurchasePrice") '标准进价
|
SellingPrice = rs("SellingPrice") '销售价
|
CreditsPrice = rs("CreditsPrice") '积分
|
strItmClassID = rs("strItmClassID") '类型ID
|
strItmRemarks = rs("strItmRemarks") '说明备注
|
strItmState = rs("strItmState") '停用状态 (1正常 0停用)
|
strItmBarcode = rs("strItmBarcode") '条码
|
isCarStItm = rs("isCarStItm") '是否推荐(1推荐)
|
strItmClassName = rs("vtext") '类型名称
|
|
|
webJson = webJson&",{""strItmID"":"&strItmID&",""strItmNo"":"""&strItmNo&""",""strItmName"":"""&strItmName&""",""strItmUnit"":"""&strItmUnit&""",""PurchasePrice"":"""&PurchasePrice&""",""SellingPrice"":"""&SellingPrice&""",""CreditsPrice"":"""&CreditsPrice&""",""strItmClassID"":"""&strItmClassID&""",""strItmClassName"":"""&strItmClassName&""",""strItmRemarks"":"""&strItmRemarks&""",""strItmBarcode"":"""&strItmBarcode&""",""isCarStItm"":"&isCarStItm&"}"
|
|
rs.movenext
|
loop
|
rs.close()
|
If webJson<>"" Then webJson=Mid(webJson,2)
|
|
If errcode="" Then
|
webJson="{""method"":""StItm_List"",""result"":1,""total"":"&total&totalJson&",""StItmList"":["&webJson&"]}"
|
End If
|
'查询商品列表 end
|
|
case "StItm_detail" '商品详情
|
'必须
|
strItmID = trim(Request("strItmID")) '商品唯一ID
|
|
'可选
|
UserID = trim(Request("UserID")) '用户唯一ID
|
|
'写入默认值
|
If strItmID="undefined" Then strItmID=""
|
If UserID="undefined" Then UserID=""
|
|
'查找数据库
|
|
|
If strItmID="" Then
|
errcode=40603
|
errmsg="empty strItmID"
|
Else
|
sql="select * from tblStItm where strItmID="&strItmID&" order by isCarStItm desc,strItmID desc"
|
'Response.Write sql&"<br>"
|
rs.open sql,objConn,1,1
|
if not rs.eof then
|
strItmID = rs("strItmID") '商品ID
|
strItmNo = rs("strItmNo") '物料号
|
strItmPinyin = rs("strItmPinyin") '拼音码
|
strItmName = rs("strItmName") '商品名称
|
strItmUnit = rs("strItmUnit") '商品单位
|
PurchasePrice = rs("PurchasePrice") '标准进价
|
SellingPrice = rs("SellingPrice") '销售价
|
CreditsPrice = rs("CreditsPrice") '积分
|
strItmClassID = rs("strItmClassID") '类型ID
|
strItmRemarks = rs("strItmRemarks") '说明备注
|
strItmState = rs("strItmState") '停用状态 (1正常 0停用)
|
strItmBarcode = rs("strItmBarcode") '条码
|
isCarStItm = rs("isCarStItm") '是否推荐(1推荐)
|
strItmDesc = rs("strItmDesc") '商品详情
|
|
If strItmDesc<>"" Then
|
strItmDesc = Replace(strItmDesc,"""","'")
|
strItmDesc = Replace(strItmDesc,CHR(10),"")
|
strItmDesc = Replace(strItmDesc," ","")
|
strItmDesc = Replace(strItmDesc,CHR(13),"\n")
|
|
strItmDesc = Replace(strItmDesc,"src='/","width='100%' src='https://api.v.com.cn/")
|
|
End If
|
|
|
|
webJson = ",""strItmID"":"&strItmID&",""strItmNo"":"""&strItmNo&""",""strItmName"":"""&strItmName&""",""strItmUnit"":"""&strItmUnit&""",""PurchasePrice"":"""&PurchasePrice&""",""SellingPrice"":"""&SellingPrice&""",""CreditsPrice"":"""&CreditsPrice&""",""strItmClassID"":"""&strItmClassID&""",""strItmClassName"":"""&strItmClassName&""",""strItmRemarks"":"""&strItmRemarks&""",""strItmBarcode"":"""&strItmBarcode&""",""strItmDesc"":"""&strItmDesc&""""
|
|
|
end If
|
rs.close()
|
|
If webJson<>"" Then
|
webJson="{""method"":""StItm_detail"",""result"":1"&webJson&"}"
|
Else
|
errcode=40604
|
errmsg="empty strItmID"
|
End If
|
End If
|
'查询商品列表 end
|
|
|
case else
|
errcode=40004
|
errmsg="invalid method"
|
end Select
|
End If
|
|
rsRollbackTrans(objConn.Errors.count)
|
|
If Left(errcode,1)="4" Or webJson="" Then
|
If errcode="" Then
|
errcode=-1
|
errmsg="error"
|
End If
|
webJson="{""APPID"":"""&APPID&""",""method"":"""&method&""",""result"":2,""errcode"":"&errcode&",""errmsg"":"""&errmsg&"""}"
|
Call OA_Running(UnitID,webJson)
|
Else
|
OkJson="{""APPID"":"""&APPID&""",""method"":"""&method&""",""result"":1,""Running"":"""&sParaRunning&"""}"
|
'Call OA_Running(UnitID,OkJson)
|
End If
|
|
Response.Write webJson
|
|
%>
|
|
<%If method="Article_detail" And trim(Request("aa"))="1" then%>
|
<textarea><%=webJson%></textarea>
|
<%End if%>
|