Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
Z
zhichan
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
蒋勇
zhichan
Commits
5197de48
Commit
5197de48
authored
Mar 15, 2021
by
Sxy
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat: jd导单
parent
f936d9d8
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
264 additions
and
65 deletions
+264
-65
igirl-channel/app/base/api/impl/action/tmOrder.js
+12
-0
igirl-channel/app/base/api/impl/action/tmQuery.js
+3
-0
igirl-channel/app/base/service/impl/dborder/orderSve.js
+50
-39
igirl-channel/app/base/service/impl/trademark/tmquerySve.js
+166
-0
igirl-channel/app/config/localsettings.js
+25
-25
igirl-channel/app/config/settings.js
+8
-1
No files found.
igirl-channel/app/base/api/impl/action/tmOrder.js
View file @
5197de48
...
...
@@ -304,6 +304,18 @@ class TmOrderAPI extends APIBase {
case
"offlinePaymentOrder"
:
//订单线下支付(上传支付凭证)
opResult
=
await
this
.
orderSve
.
offlinePaymentOrder
(
action_body
);
break
;
case
"updateOrderPayStatusJd"
:
// 京东更新订单付款状态
// 查询 修改的判定付款状态为未支付才进行修改,否则不进行处理
opResult
=
await
this
.
orderSve
.
checkOrderPayStatus
(
action_body
,
pobj
,
req
)
if
(
opResult
&&
opResult
.
status
==
0
)
{
opResult
=
await
this
.
orderSve
.
updateOrderPayStatus
(
action_body
,
pobj
,
req
);
if
(
opResult
.
status
==
0
)
{
pobj
.
actionBody
[
"deliveryOrderNo"
]
=
opResult
.
data
.
deliveryOrderNo
;
var
url
=
this
.
pushFqbossDataUrl
+
"api/channelaccessApi/updateChannelPayStatus"
;
this
.
pushData2
(
opResult
,
req
,
pobj
,
url
);
}
}
break
;
default
:
opResult
=
system
.
getResult
(
null
,
"action_type参数错误"
);
break
;
...
...
igirl-channel/app/base/api/impl/action/tmQuery.js
View file @
5197de48
...
...
@@ -107,6 +107,9 @@ class TmQueryAPI extends APIBase {
case
"icheming"
:
//商标智能分析 -----
opResult
=
await
this
.
toolSve
.
icheming
(
action_body
,
req
);
break
;
case
"pushJdPayOrder"
:
// 京东
opResult
=
await
this
.
tmquerySve
.
pushJdPayOrder
(
action_body
,
req
);
break
;
default
:
opResult
=
system
.
getResult
(
null
,
"action_type参数错误"
);
break
;
...
...
igirl-channel/app/base/service/impl/dborder/orderSve.js
View file @
5197de48
...
...
@@ -215,6 +215,17 @@ class OrderService extends ServiceBase {
return
system
.
getResultSuccess
({
deliveryOrderNo
:
result
.
deliveryOrderNo
});
});
}
async
checkOrderPayStatus
(
action_body
,
pobj
,
req
)
{
var
result
=
await
this
.
ordertmproductDao
.
getItemByNeedNoOrderNo
(
action_body
.
needNoOrderNo
,
req
.
app
.
id
);
if
(
!
result
)
{
return
system
.
getResult
(
null
,
"data is empty"
);
}
if
(
result
.
payStatus
===
"dfk"
)
{
return
system
.
getResultSuccess
(
result
);
}
return
system
.
getResult
(
null
,
"付款状态为未支付才进行修改"
);
}
async
op1688ChannelPushOrder
(
action_body
,
pobj
,
req
)
{
try
{
//var reqUrl = "https://inte-mcp.chanjet.com/gsb/getOrder?token=" + action_body.token; //测试环境
...
...
@@ -903,45 +914,45 @@ class OrderService extends ServiceBase {
* @param {*} pobj
* @param {*} actionBody
*/
async
getOrderDeliveryFlowInfo
(
pobj
,
actionBody
,
req
)
{
if
(
!
actionBody
.
channelUserId
)
{
return
system
.
getResult
(
null
,
"actionBody.channelUserId must not empty"
);
}
var
token
=
""
;
var
tokenRes
=
await
this
.
getCenterChannelToken
(
req
.
app
);
if
(
tokenRes
&&
tokenRes
.
status
==
0
&&
tokenRes
.
data
)
{
token
=
tokenRes
.
data
.
token
;
}
if
(
!
token
)
{
return
system
.
getResultFail
(
-
88
,
"获取token失败"
);
}
//获取用户userpin
var
userpin
=
""
;
pobj
.
actionType
=
"getLoginByUserName"
;
pobj
.
actionBody
.
userName
=
actionBody
.
channelUserId
;
pobj
.
actionBody
.
mobile
=
req
.
user
.
userMoblie
;
var
url
=
settings
.
centerChannelUrl
()
+
"web/auth/accessAuth/springBoard"
;
var
userpinResult
=
await
this
.
execClient
.
execPushDataPost
(
pobj
,
url
,
token
);
if
(
!
userpinResult
||
!
userpinResult
.
stdout
)
{
return
system
.
getResult
(
null
,
userpinResult
.
msg
);
}
var
userpinResultTmp
=
JSON
.
parse
(
userpinResult
.
stdout
);
if
(
userpinResultTmp
.
status
!=
0
&&
userpinResultTmp
.
status
!=
2060
)
{
return
system
.
getResultFail
(
-
99
,
"获取userpin失败"
);
}
userpin
=
userpinResultTmp
.
data
.
userpin
;
if
(
!
userpin
)
{
return
system
.
getResultFail
(
-
88
,
"获取userpin失败!!"
);
}
url
=
settings
.
centerChannelUrl
()
+
"web/opaction/order/springBoard"
;
pobj
.
actionType
=
"getOrderDeliveryFlowInfo"
;
var
rtn
=
await
this
.
execClient
.
execDataPostByTokenUserPin
(
pobj
,
url
,
token
,
userpin
);
if
(
!
rtn
||
!
rtn
.
stdout
)
{
return
system
.
getResult
(
null
,
"execPost is empty"
);
}
var
result
=
JSON
.
parse
(
rtn
.
stdout
);
return
result
;
}
async
getOrderDeliveryFlowInfo
(
pobj
,
actionBody
,
req
)
{
if
(
!
actionBody
.
channelUserId
)
{
return
system
.
getResult
(
null
,
"actionBody.channelUserId must not empty"
);
}
var
token
=
""
;
var
tokenRes
=
await
this
.
getCenterChannelToken
(
req
.
app
);
if
(
tokenRes
&&
tokenRes
.
status
==
0
&&
tokenRes
.
data
)
{
token
=
tokenRes
.
data
.
token
;
}
if
(
!
token
)
{
return
system
.
getResultFail
(
-
88
,
"获取token失败"
);
}
//获取用户userpin
var
userpin
=
""
;
pobj
.
actionType
=
"getLoginByUserName"
;
pobj
.
actionBody
.
userName
=
actionBody
.
channelUserId
;
pobj
.
actionBody
.
mobile
=
req
.
user
.
userMoblie
;
var
url
=
settings
.
centerChannelUrl
()
+
"web/auth/accessAuth/springBoard"
;
var
userpinResult
=
await
this
.
execClient
.
execPushDataPost
(
pobj
,
url
,
token
);
if
(
!
userpinResult
||
!
userpinResult
.
stdout
)
{
return
system
.
getResult
(
null
,
userpinResult
.
msg
);
}
var
userpinResultTmp
=
JSON
.
parse
(
userpinResult
.
stdout
);
if
(
userpinResultTmp
.
status
!=
0
&&
userpinResultTmp
.
status
!=
2060
)
{
return
system
.
getResultFail
(
-
99
,
"获取userpin失败"
);
}
userpin
=
userpinResultTmp
.
data
.
userpin
;
if
(
!
userpin
)
{
return
system
.
getResultFail
(
-
88
,
"获取userpin失败!!"
);
}
url
=
settings
.
centerChannelUrl
()
+
"web/opaction/order/springBoard"
;
pobj
.
actionType
=
"getOrderDeliveryFlowInfo"
;
var
rtn
=
await
this
.
execClient
.
execDataPostByTokenUserPin
(
pobj
,
url
,
token
,
userpin
);
if
(
!
rtn
||
!
rtn
.
stdout
)
{
return
system
.
getResult
(
null
,
"execPost is empty"
);
}
var
result
=
JSON
.
parse
(
rtn
.
stdout
);
return
result
;
}
/**
* 获取启服务通订单列表信息
* @param {*} pobj
...
...
igirl-channel/app/base/service/impl/trademark/tmquerySve.js
View file @
5197de48
const
system
=
require
(
"../../../system"
);
var
settings
=
require
(
"../../../../config/settings"
);
const
_
=
require
(
"lodash"
)
const
md5
=
require
(
"MD5"
);
class
TmqueryService
{
constructor
()
{
this
.
channelApiUrl
=
settings
.
channelApiUrl
();
this
.
zcApiUrl
=
settings
.
reqZcApi
();
this
.
reqEsAddr
=
settings
.
reqEsAddr
();
this
.
execClient
=
system
.
getObject
(
"util.execClient"
);
}
/**
* 验证签名
* @param {*} params 要验证的参数
* @param {*} app_key 应用的校验key
* @param {*} isEmptySign params key 对应值为空是否参与签名
*/
createSign
(
params
,
app_key
,
isEmptySign
)
{
if
(
!
params
)
{
return
system
.
getResult
(
null
,
"请求参数为空"
);
}
var
signArr
=
[];
var
keys
=
Object
.
keys
(
params
).
sort
();
if
(
keys
.
length
==
0
)
{
return
system
.
getResult
(
null
,
"请求参数信息为空"
);
}
for
(
let
k
=
0
;
k
<
keys
.
length
;
k
++
)
{
const
tKey
=
keys
[
k
];
if
(
tKey
!=
"sign"
)
{
if
(
tKey
!=
"token"
)
{
if
(
tKey
!=
"actionProcess"
)
{
if
(
isEmptySign
)
{
signArr
.
push
(
tKey
+
"="
+
params
[
tKey
]);
}
else
{
if
(
params
[
tKey
])
{
signArr
.
push
(
tKey
+
"="
+
params
[
tKey
]);
}
}
}
}
}
}
if
(
signArr
.
length
==
0
)
{
return
system
.
getResult
(
null
,
"请求参数组装签名参数信息为空"
);
}
var
resultSignStr
=
signArr
.
join
(
"&"
)
+
"&key="
+
app_key
;
var
resultTmpSign
=
md5
(
resultSignStr
).
toUpperCase
();
return
system
.
getResultSuccess
(
resultTmpSign
);
}
async
findTrademarkNameAccurate
(
queryobj
,
req
)
{
//通过商标名来进行精准查询
var
url
=
this
.
zcApiUrl
+
"api/trademark/tmqueryApi/findTrademarkNameAccurate"
;
return
await
this
.
opReqResult
(
url
,
queryobj
,
req
);
...
...
@@ -80,5 +124,127 @@ class TmqueryService {
return
data
;
}
async
pushJdPayOrder
(
queryobj
,
req
)
{
/**
* 请求es 拿出数据,组装
*/
let
failOrders
=
[];
try
{
const
data
=
await
this
.
execClient
.
execPost
({
"query"
:
{
"bool"
:
{
"must"
:
[
{
"query_string"
:
{
"default_field"
:
"optitle"
,
"query"
:
"
\"
###处理京东推送的订单信息参数
\"
"
}
}
]
}
},
"from"
:
0
,
"size"
:
2000
,
"sort"
:
[
{
"created_at"
:
"desc"
}
]
},
`
${
this
.
reqEsAddr
}
bigdata_zc_op_log/_search`
);
let
result
=
data
.
stdout
;
result
=
JSON
.
parse
(
result
);
result
=
result
.
hits
.
hits
;
result
=
_
.
uniqBy
(
result
.
map
(
item
=>
{
return
JSON
.
parse
(
item
.
_source
.
content
.
replace
(
/pushData参数=/g
,
""
))
}).
filter
(
item
=>
{
return
item
.
skuId
}),
"orderNumber"
).
filter
(
item
=>
{
const
signResult
=
this
.
createSign
(
item
,
"F6FBD101C7571ADE231670F080653874"
,
true
);
if
(
signResult
.
status
!=
0
||
signResult
.
data
!=
item
.
token
.
toUpperCase
())
{
failOrders
.
push
({
errMsg
:
"签名失败"
,
param
:
item
});
return
false
}
else
{
return
true
;
}
});
var
tokenInfo
=
await
this
.
getToken
();
if
(
tokenInfo
.
status
!=
0
)
{
return
tokenInfo
;
}
let
buildResult
=
[];
for
(
let
pushData
of
result
)
{
//自助注册产品---用updateOrderPayStatus,否则为addOrderAndDelivery
let
param
=
{
actionProcess
:
pushData
.
actionProcess
,
actionType
:
""
,
actionBody
:
{
channelUserId
:
pushData
.
jdPin
,
payStatus
:
"yfk"
,
channelItemCode
:
pushData
.
skuId
,
//------用此字段查询渠道产品是否存在
needNo
:
pushData
.
skuId
+
"_"
+
pushData
.
orderNumber
,
needNoOrderNo
:
pushData
.
orderNumber
,
//---用此字段查找
buyerMoblie
:
pushData
.
mobile
,
payCode
:
pushData
.
skuId
,
email
:
pushData
.
email
},
isUser
:
"yes"
};
if
([
"FW_GOODS-582206-1"
,
"FW_GOODS-582208-1"
,
"FW_GOODS-582207-1"
].
indexOf
(
pushData
.
skuId
)
>=
0
)
{
param
.
actionType
=
pushData
.
skuId
==
"FW_GOODS-582206-1"
?
"updateOrderPayStatusJd"
:
"addOrderAndDelivery"
;
}
//商标的产品订单
else
{
param
.
actionBody
.
channelItemCode
=
pushData
.
serviceCode
;
param
.
actionType
=
"jdAddQifuOrder"
;
}
//工商产品订单
let
reqUrl
=
this
.
channelApiUrl
+
"/action/tmOrder/springBoard"
;
let
rtn
=
await
this
.
execClient
.
execPushDataPost
(
param
,
reqUrl
,
tokenInfo
.
data
.
token
,
req
.
headers
[
"request-id"
]);;
if
(
!
rtn
||
!
rtn
.
stdout
)
{
failOrders
.
push
(
{
orderNumber
:
item
.
orderNumber
,
errMsg
:
"this.execClient.execPushDataPost无返回"
}
)
}
let
data
=
JSON
.
parse
(
rtn
.
stdout
);
if
(
data
.
status
===
0
)
{
buildResult
.
push
({
...
data
,
param
})
}
else
{
failOrders
.
push
(
{
param
,
errMsg
:
data
}
)
}
}
return
{
successOrders
:
buildResult
,
failOrders
};
}
catch
(
error
)
{
console
.
log
(
error
)
return
system
.
getResultFail
(
-
200
,
"操作error"
);
}
}
async
getToken
()
{
var
reqTokenUrl
=
this
.
channelApiUrl
+
"/auth/accessAuth/getToken"
;
var
reqParam
=
{};
var
rtn
=
await
this
.
execClient
.
execPost
({
appkey
:
"201911251551"
,
secret
:
"56006077354d48858026c80c0e10bef6"
},
reqTokenUrl
);
if
(
!
rtn
.
stdout
)
{
return
system
.
getResult
(
null
,
"获取token失败"
);
}
var
tokenResult
=
JSON
.
parse
(
rtn
.
stdout
);
if
(
tokenResult
.
status
==
0
)
{
tokenResult
.
data
.
secret
=
reqParam
.
secret
;
}
return
tokenResult
;
}
}
module
.
exports
=
TmqueryService
;
igirl-channel/app/config/localsettings.js
View file @
5197de48
var
settings
=
{
redis
:{
host
:
"
43.247.184.32
"
,
port
:
8967
,
password
:
"
Gongsibao2018
"
,
db
:
6
,
var
settings
=
{
redis
:
{
host
:
"
39.107.234.14
"
,
port
:
6379
,
password
:
"
123123
"
,
db
:
6
,
},
database
:{
dbname
:
"hantang"
,
database
:
{
dbname
:
"hantang"
,
// dbname : "igirl_channel",
user
:
"write"
,
password
:
"write"
,
...
...
@@ -14,22 +14,22 @@ var settings={
host
:
'43.247.184.35'
,
port
:
8899
,
dialect
:
'mysql'
,
operatorsAliases
:
false
,
pool
:
{
max
:
5
,
min
:
0
,
acquire
:
90000000
,
idle
:
1000000
},
debug
:
false
,
dialectOptions
:
{
requestTimeout
:
999999
,
// instanceName:'DEV'
}
//设置MSSQL超时时间
}
},
reqEsDevUrl
:
"http://192.168.4.249:9200/"
,
reqHomePageDevUrl
:
"http://zcchannel.apps.com:4003/"
,
reqAuthUrl
:
"http://sj.app.com:4002/auth"
operatorsAliases
:
false
,
pool
:
{
max
:
5
,
min
:
0
,
acquire
:
90000000
,
idle
:
1000000
},
debug
:
false
,
dialectOptions
:
{
requestTimeout
:
999999
,
// instanceName:'DEV'
}
//设置MSSQL超时时间
}
},
reqEsDevUrl
:
"http://192.168.4.249:9200/"
,
reqHomePageDevUrl
:
"http://zcchannel.apps.com:4003/"
,
reqAuthUrl
:
"http://sj.app.com:4002/auth"
};
module
.
exports
=
settings
;
igirl-channel/app/config/settings.js
View file @
5197de48
...
...
@@ -36,7 +36,7 @@ var settings = {
},
centerChannelUrl
:
function
()
{
if
(
this
.
env
==
"dev"
)
{
return
"http://gsb
.qifu
.gongsibao.com:4012/"
;
return
"http://gsb
web.qifu-dev
.gongsibao.com:4012/"
;
}
else
{
return
"http://center-channel-service/"
;
}
...
...
@@ -63,6 +63,13 @@ var settings = {
return
"http://zcapi-service/"
;
//k8s服务名称
}
},
channelApiUrl
:
function
()
{
if
(
this
.
env
==
"dev"
)
{
return
"http://zcchannel.apps.com:4003"
;
}
else
{
return
"http://zc-channel-service"
;
}
},
pushFqbossDataUrl
:
function
()
{
if
(
this
.
env
==
"dev"
)
{
return
"http://192.168.18.141:3000/"
;
//localsettings.reqEsDevUrl;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment