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
811901b5
Commit
811901b5
authored
Oct 16, 2020
by
linboxuan
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'center-channel' of
http://gitlab.gongsibao.com/jiangyong/zhichan
into center-channel
parents
5a0aa6f5
5ea5df42
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
586 additions
and
30 deletions
+586
-30
center-channel/app/base/api/impl/auth/taskapi.js
+1
-1
center-channel/app/base/api/impl/opaction/360tmOrder.js
+40
-0
center-channel/app/base/api/impl/opaction/order.js
+15
-0
center-channel/app/base/service/app.base.js
+1
-1
center-channel/app/base/service/impl/common/qcCenterOrderSve.js
+18
-5
center-channel/app/base/service/impl/utilsSve/utils360Sve.js
+57
-0
center-channel/app/base/service/impl/utilsSve/utilsAuthSve.js
+5
-4
center-channel/app/base/service/impl/utilsSve/utilsFqAliyunSve.js
+60
-0
center-channel/app/base/service/impl/utilsSve/utilsNeedSve.js
+3
-2
center-channel/app/base/service/impl/utilsSve/utilsOrderSve.js
+159
-14
center-channel/app/config/routes/api.js
+2
-1
center-channel/app/front/entry/public/apidoc/platform/tmOrder.md
+225
-2
No files found.
center-channel/app/base/api/impl/auth/taskapi.js
View file @
811901b5
...
@@ -13,7 +13,7 @@ class AccessAuthAPI extends APIBase {
...
@@ -13,7 +13,7 @@ class AccessAuthAPI extends APIBase {
this
.
utilsNeedSve
=
system
.
getObject
(
"service.utilsSve.utilsNeedSve"
);
this
.
utilsNeedSve
=
system
.
getObject
(
"service.utilsSve.utilsNeedSve"
);
}
}
async
QueryTradeIntentionUserList
(
pobj
,
qobj
,
req
)
{
async
QueryTradeIntentionUserList
(
pobj
,
qobj
,
req
)
{
pobj
.
appInfo
=
{
uapp_id
:
22
}
pobj
.
appInfo
=
{
uapp_id
:
18
}
let
endtime
=
Date
.
now
();
let
endtime
=
Date
.
now
();
let
starttime
=
Date
.
now
()
-
30
*
60
*
1000
;
//30分钟(毫秒)
let
starttime
=
Date
.
now
()
-
30
*
60
*
1000
;
//30分钟(毫秒)
pobj
.
actionBody
=
{
pobj
.
actionBody
=
{
...
...
center-channel/app/base/api/impl/opaction/360tmOrder.js
0 → 100644
View file @
811901b5
var
WEBBase
=
require
(
"../../web.base"
);
var
system
=
require
(
"../../../system"
);
var
settings
=
require
(
"../../../../config/settings"
);
class
ProductAPI
extends
WEBBase
{
constructor
()
{
super
();
this
.
utils360Sve
=
system
.
getObject
(
"service.utilsSve.utils360Sve"
);
}
/**
* 接口跳转-POST请求
* action_process 执行的流程
* action_type 执行的类型
* action_body 执行的参数
*/
async
springBoard
(
pobj
,
qobj
,
req
)
{
if
(
!
pobj
.
actionProcess
)
{
return
system
.
getResult
(
null
,
"actionProcess参数不能为空"
);
}
if
(
!
pobj
.
actionType
)
{
return
system
.
getResult
(
null
,
"actionType参数不能为空"
);
}
var
result
=
await
this
.
opActionProcess
(
pobj
,
pobj
.
actionType
,
req
);
return
result
;
}
async
opActionProcess
(
pobj
,
action_type
,
req
)
{
pobj
.
requestId
=
req
.
requestId
;
var
opResult
=
null
;
switch
(
action_type
)
{
case
"getParamsFor360"
:
//创建订单
opResult
=
await
this
.
utils360Sve
.
getParamsFor360
(
pobj
,
pobj
.
actionBody
);
break
;
default
:
opResult
=
system
.
getResult
(
null
,
"action_type参数错误"
);
break
;
}
return
opResult
;
}
}
module
.
exports
=
ProductAPI
;
center-channel/app/base/api/impl/opaction/order.js
View file @
811901b5
...
@@ -29,6 +29,9 @@ class ProductAPI extends WEBBase {
...
@@ -29,6 +29,9 @@ class ProductAPI extends WEBBase {
case
"addOrder"
:
//创建订单
case
"addOrder"
:
//创建订单
opResult
=
await
this
.
utilsOrderSve
.
addOrder
(
pobj
,
pobj
.
actionBody
);
opResult
=
await
this
.
utilsOrderSve
.
addOrder
(
pobj
,
pobj
.
actionBody
);
break
;
break
;
case
"addOrderWeb"
:
//创建订单 官网
opResult
=
await
this
.
utilsOrderSve
.
addOrderWeb
(
pobj
,
pobj
.
actionBody
);
break
;
case
"getOrderInfo"
:
//获取订单列表信息
case
"getOrderInfo"
:
//获取订单列表信息
opResult
=
await
this
.
utilsOrderSve
.
getOrderInfo
(
pobj
,
pobj
.
actionBody
);
opResult
=
await
this
.
utilsOrderSve
.
getOrderInfo
(
pobj
,
pobj
.
actionBody
);
break
;
break
;
...
@@ -53,6 +56,18 @@ class ProductAPI extends WEBBase {
...
@@ -53,6 +56,18 @@ class ProductAPI extends WEBBase {
// case "getIcbcOrderDetails"://获取工商详情
// case "getIcbcOrderDetails"://获取工商详情
// opResult = await this.utilsOrderSve.addOrder(pobj, pobj.actionBody);
// opResult = await this.utilsOrderSve.addOrder(pobj, pobj.actionBody);
// break;
// break;
case
"addUsuallyContacts"
:
//添加常用联系人、申请人
opResult
=
await
this
.
utilsOrderSve
.
addUsuallyContacts
(
pobj
,
pobj
.
actionBody
);
break
;
case
"delUsuallyContacts"
:
//删除常用联系人、申请人
opResult
=
await
this
.
utilsOrderSve
.
delUsuallyContacts
(
pobj
,
pobj
.
actionBody
);
break
;
case
"updateUsuallyContacts"
:
//修改常用联系人、申请人
opResult
=
await
this
.
utilsOrderSve
.
updateUsuallyContacts
(
pobj
,
pobj
.
actionBody
);
break
;
case
"getUsuallyContacts"
:
//查询常用联系人、申请人
opResult
=
await
this
.
utilsOrderSve
.
getUsuallyContacts
(
pobj
,
pobj
.
actionBody
);
break
;
default
:
default
:
opResult
=
system
.
getResult
(
null
,
"action_type参数错误"
);
opResult
=
system
.
getResult
(
null
,
"action_type参数错误"
);
break
;
break
;
...
...
center-channel/app/base/service/app.base.js
View file @
811901b5
...
@@ -242,7 +242,7 @@ class AppServiceBase {
...
@@ -242,7 +242,7 @@ class AppServiceBase {
returnType
:
'1'
,
returnType
:
'1'
,
opTitle
:
opType
+
"数据推送成功->"
+
opTitleDesc
opTitle
:
opType
+
"数据推送成功->"
+
opTitleDesc
});
});
result
.
data
=
null
;
//
result.data = null;
return
result
;
return
result
;
}
}
/**
/**
...
...
center-channel/app/base/service/impl/common/qcCenterOrderSve.js
View file @
811901b5
...
@@ -2,6 +2,17 @@ const system = require("../../../system");
...
@@ -2,6 +2,17 @@ const system = require("../../../system");
const
crypto
=
require
(
'crypto'
);
const
crypto
=
require
(
'crypto'
);
var
settings
=
require
(
"../../../../config/settings"
);
var
settings
=
require
(
"../../../../config/settings"
);
const
AppServiceBase
=
require
(
"../../app.base"
);
const
AppServiceBase
=
require
(
"../../app.base"
);
//(文网文状态2020-9-26)
const
wangwenStatusDisct
=
{
601
:
"PARTNER_SUBMIT_MATERIAL"
,
602
:
"CERT_ACCOUNT_REGISTERED"
,
603
:
"CERT_MATERIAL_SUBMITTED"
,
604
:
"CERT_GXB_ACCEPT"
,
605
:
"CERT_GXB_REFUSE"
,
606
:
"CERT_GXB_SUCCESS"
,
607
:
"CERT_GXB_FAIL"
};
/**
/**
* 资质信息提报相关接口(ICP\EDI)
* 资质信息提报相关接口(ICP\EDI)
*/
*/
...
@@ -16,6 +27,7 @@ class QcCenterOrderService extends AppServiceBase {
...
@@ -16,6 +27,7 @@ class QcCenterOrderService extends AppServiceBase {
this
.
utilsPushSve
=
system
.
getObject
(
"service.utilsSve.utilsPushSve"
);
this
.
utilsPushSve
=
system
.
getObject
(
"service.utilsSve.utilsPushSve"
);
this
.
utilsTmAliyunSve
=
system
.
getObject
(
"service.utilsSve.utilsTmAliyunSve"
);
//测试用
this
.
utilsTmAliyunSve
=
system
.
getObject
(
"service.utilsSve.utilsTmAliyunSve"
);
//测试用
this
.
opPushQueueUrl
=
settings
.
opPushQueueUrl
();
this
.
opPushQueueUrl
=
settings
.
opPushQueueUrl
();
};
};
//调用center-order
//调用center-order
async
reqCenterOrderApi
(
pobj
,
reqUrl
)
{
async
reqCenterOrderApi
(
pobj
,
reqUrl
)
{
...
@@ -225,13 +237,15 @@ class QcCenterOrderService extends AppServiceBase {
...
@@ -225,13 +237,15 @@ class QcCenterOrderService extends AppServiceBase {
var
res
=
await
this
.
reqCenterOrderApi
(
pobj
,
"action/qcapi/springBoard"
);
var
res
=
await
this
.
reqCenterOrderApi
(
pobj
,
"action/qcapi/springBoard"
);
if
(
res
&&
res
.
status
==
0
&&
res
.
data
)
{
if
(
res
&&
res
.
status
==
0
&&
res
.
data
)
{
//推送数据至阿里
//推送数据至阿里
var
resStatus
=
res
.
data
.
ApplicationStatus
;
var
pushObj
=
{
var
pushObj
=
{
BizId
:
res
.
data
.
solution
No
,
BizId
:
pobj
.
actionBody
.
channelNeed
No
,
BizType
:
res
.
data
.
channelTpye
,
BizType
:
pobj
.
actionBody
.
channelTpye
,
OperateType
:
res
.
data
.
ApplicationStatus
OperateType
:
wangwenStatusDisct
[
resStatus
]
};
};
//推送状态变更
//推送状态变更
this
.
aliclient
.
reqbyget
({
action
:
"OperateProduceForPartner"
,
reqbody
:
pushObj
,
apiVersion
:
"2020-03-06"
});
var
r
=
await
this
.
aliclient
.
reqbyget
({
action
:
"OperateProduceForPartner"
,
reqbody
:
pushObj
,
apiVersion
:
"2020-03-06"
});
console
.
log
(
'ttttssss'
,
r
)
return
system
.
getResultSuccess
();
return
system
.
getResultSuccess
();
}
}
return
res
;
return
res
;
...
@@ -242,7 +256,6 @@ class QcCenterOrderService extends AppServiceBase {
...
@@ -242,7 +256,6 @@ class QcCenterOrderService extends AppServiceBase {
var
res
=
await
this
.
reqCenterOrderApi
(
pobj
,
"action/qcapi/springBoard"
);
var
res
=
await
this
.
reqCenterOrderApi
(
pobj
,
"action/qcapi/springBoard"
);
if
(
res
&&
res
.
status
==
0
&&
res
.
data
)
{
if
(
res
&&
res
.
status
==
0
&&
res
.
data
)
{
console
.
log
(
'datadatadata'
,
res
.
data
)
//推送数据至阿里
//推送数据至阿里
var
pushObj
=
{
var
pushObj
=
{
intentionBizId
:
res
.
data
.
needinfo
.
channelNeedNo
,
intentionBizId
:
res
.
data
.
needinfo
.
channelNeedNo
,
...
...
center-channel/app/base/service/impl/utilsSve/utils360Sve.js
0 → 100644
View file @
811901b5
var
system
=
require
(
"../../../system"
);
var
settings
=
require
(
"../../../../config/settings"
);
const
AppServiceBase
=
require
(
"../../app.base"
);
const
md5
=
require
(
'md5'
)
const
logCtl
=
system
.
getObject
(
"service.common.oplogSve"
);
//阿里支付类
class
utils360Sve
extends
AppServiceBase
{
constructor
()
{
super
();
this
.
centerAppUrl
=
settings
.
centerAppUrl
();
}
//-------------------------------------------钉钉h5支付-----------------开始
async
getParamsFor360
(
pobj
,
actionBody
)
{
if
(
!
actionBody
.
orderNo
)
{
return
system
.
getResult
(
null
,
"actionBody.orderNo can not be empty,100110"
);
}
pobj
.
actionType
=
"getPayOrderInfo"
;
var
orderUrl
=
settings
.
centerOrderUrl
()
+
"action/order/springBoard"
;
var
orderResult
=
await
this
.
restPostUrl
(
pobj
,
orderUrl
);
if
(
orderResult
.
status
!=
0
)
{
return
orderResult
;
}
pobj
.
actionType
=
"getOrderDeliveryInfo"
;
var
deliveryResult
=
await
this
.
restPostUrl
(
pobj
,
orderUrl
);
if
(
deliveryResult
.
status
!=
0
)
{
return
deliveryResult
;
}
let
sku_id
=
orderResult
.
data
.
orderProduct
.
itemCode
;
let
price
=
Number
(
orderResult
.
data
.
orderProduct
.
price
)
*
100
;
let
quantity
=
orderResult
.
data
.
orderProduct
.
quantity
;
let
amount
=
Number
(
orderResult
.
data
.
receiptVoucher
.
totalSum
)
*
100
;
let
order_id
=
orderResult
.
data
.
receiptVoucher
.
sourceOrderNo
;
let
consignee
=
deliveryResult
.
data
.
orderContact
.
contactName
;
let
mobile
=
deliveryResult
.
data
.
orderContact
.
mobile
;
let
email
=
deliveryResult
.
data
.
orderContact
.
email
;
let
singStr
=
sku_id
+
price
+
order_id
+
pobj
.
appInfo
.
uapp_secret
;
let
sign
=
md5
(
singStr
).
toUpperCase
();
let
result
=
{
sku_id
,
price
,
quantity
,
amount
,
order_id
,
consignee
,
mobile
,
email
,
sign
}
return
system
.
getResult
(
result
);
}
//-------------------------------------------钉钉h5支付-----------------结束
}
module
.
exports
=
utils360Sve
;
center-channel/app/base/service/impl/utilsSve/utilsAuthSve.js
View file @
811901b5
...
@@ -160,24 +160,25 @@ class UtilsAuthService extends AppServiceBase {
...
@@ -160,24 +160,25 @@ class UtilsAuthService extends AppServiceBase {
}
}
/**
/**
*
官网首页跳转自主注册
*
解析用户,获取认证token
* @param pobj
* @param pobj
* @param actionBody
* @param actionBody
* @param req
* @param req
* @returns {Promise<void>}
* @returns {Promise<void>}
*/
*/
async
channelUserLogin
(
pobj
,
actionBody
,
req
){
async
channelUserLogin
(
pobj
,
actionBody
,
req
){
//
官网
登录地址
//
360
登录地址
let
skipUrl
=
'
http://gsbweb.qifu.gongsibao.com
'
;
let
skipUrl
=
''
;
let
opResult
=
system
.
getResult
(
null
,
"req Failure"
);
let
opResult
=
system
.
getResult
(
null
,
"req Failure"
);
//----通过Authorization 获取用户信息
//----通过Authorization 获取用户信息
let
Authorization
=
req
.
headers
[
"authorization"
]
||
""
;
let
Authorization
=
req
.
headers
[
"authorization"
]
||
""
;
if
(
!
Authorization
){
if
(
!
Authorization
){
opResult
.
data
.
redirectUrl
=
skipUrl
;
opResult
=
system
.
getResultFail
(
-
99
,
'用户未登录'
,{
redirectUrl
:
'skipUrl'
});
opResult
=
system
.
getResultFail
(
-
99
,
'用户未登录'
,{
redirectUrl
:
'skipUrl'
});
return
opResult
;
return
opResult
;
}
}
let
icCompanyUrl
=
'
https://icompanytest.gongsibao.com/api/tUserInfo/info
'
;
let
icCompanyUrl
=
''
;
let
subData
=
{
let
subData
=
{
Authorization
:
Authorization
Authorization
:
Authorization
}
}
...
...
center-channel/app/base/service/impl/utilsSve/utilsFqAliyunSve.js
View file @
811901b5
...
@@ -100,6 +100,31 @@ class UtilsFqAliyunService extends AppServiceBase {
...
@@ -100,6 +100,31 @@ class UtilsFqAliyunService extends AppServiceBase {
return
system
.
getResult
(
null
,
"推送操作异常->fq->opAliyunClientPost->error:"
+
e
.
stack
);
return
system
.
getResult
(
null
,
"推送操作异常->fq->opAliyunClientPost->error:"
+
e
.
stack
);
}
}
}
}
async
opICClientPost
(
pobj
,
url
,
key
,
secret
,
params
)
{
try
{
var
rc
=
system
.
getObject
(
"util.aliyunClient"
);
var
rtn
=
await
rc
.
post
(
url
,
key
,
secret
,
params
);
if
(
rtn
.
code
!=
200
||
rtn
.
success
!=
true
)
{
return
system
.
getResult
(
null
,
"推送失败,失败原因:"
+
rtn
.
errorMsg
+
",selfrequestId="
+
pobj
.
requestId
+
",requestId="
+
rtn
.
requestId
);
}
return
system
.
getResultSuccess
(
rtn
.
data
,
"推送成功"
);
}
catch
(
e
)
{
//日志记录
this
.
logCtl
.
error
({
appid
:
pobj
.
appInfo
?
pobj
.
appInfo
.
uapp_id
||
""
:
""
,
appkey
:
pobj
.
appInfo
?
pobj
.
appInfo
.
uapp_key
||
""
:
""
,
requestId
:
pobj
.
requestId
||
""
,
op
:
"service/impl/utilsSve/opAliyunClientPost.js/opAliyunClientPost"
,
content
:
"error:"
+
e
.
stack
,
// clientIp: pobj.clientIp,
optitle
:
pobj
.
opType
+
"推送操作异常->fq->opAliyunClientPost"
,
});
return
system
.
getResult
(
null
,
"推送操作异常->fq->opAliyunClientPost->error:"
+
e
.
stack
);
}
}
async
verifyParam
(
pobj
)
{
//参数信息验证
async
verifyParam
(
pobj
)
{
//参数信息验证
var
verify
=
system
.
getResultSuccess
();
var
verify
=
system
.
getResultSuccess
();
if
(
!
pobj
.
interface_params
)
{
if
(
!
pobj
.
interface_params
)
{
...
@@ -113,6 +138,41 @@ class UtilsFqAliyunService extends AppServiceBase {
...
@@ -113,6 +138,41 @@ class UtilsFqAliyunService extends AppServiceBase {
return
verify
;
return
verify
;
}
}
//下订单到ic
async
pushOrder2IC
(
pobj
,
opType
){
console
.
log
(
JSON
.
stringify
(
pobj
),
".................pushOrderBusinessByProductCode2Fq...............pobj"
);
var
interface_list
=
pobj
.
interface_info
?
pobj
.
interface_info
:
pobj
.
actionBody
.
product_info
.
interface_info
;
if
(
!
interface_list
)
{
return
system
.
getResult
(
null
,
"暂无推送配置"
);
}
var
interface_list_temp
=
interface_list
.
filter
(
f
=>
f
.
op_type
==
opType
)
if
(
!
interface_list_temp
||
interface_list_temp
.
length
==
0
)
{
return
system
.
getResult
(
null
,
"暂无【"
+
opType
+
"】的推送配置"
);
}
var
verifyResult
=
system
.
getResultSuccess
();
var
productInfo
=
pobj
.
actionBody
.
product_info
;
if
(
!
productInfo
||
!
productInfo
.
service_business_code
)
{
verifyResult
=
system
.
getResult
(
null
,
"orderInfo.productInfo.service_business_code can not be empty,100427"
);
}
if
(
!
productInfo
||
!
productInfo
.
price_item
||
!
productInfo
.
price_item
.
service_code
)
{
verifyResult
=
system
.
getResult
(
null
,
"orderInfo.productInfo.price_item.service_code can not be empty,100430"
);
}
var
interface_params_info
=
JSON
.
parse
(
interface_list_temp
[
0
].
params
);
//新增订单(商标自助注册) IC
let
icOrderParams
=
{
"idempotentSource"
:
"pcwebsbzc"
,
// 来源编号,写死:pcwebsbzc,必填
"idempotentSourceName"
:
"PC官网"
,
// 来源编号,写死:PC官网,必填
"product_img_url"
:
pobj
.
actionBody
.
deliveryData
.
tm
.
picUrl
,
//产品图片
"productId"
:
productInfo
.
price_item
.
service_code
,
// 云服产品skuid,必填
"goodsId"
:
pobj
.
actionBody
.
goodsId
,
// 官网产品id
"customerId"
:
pobj
.
actionBody
.
customerId
,
//客户Id,必填
"product_item"
:
pobj
.
actionBody
.
product_item
}
pobj
.
params
=
icOrderParams
;
var
result
=
await
this
.
opICClientPost
(
pobj
,
interface_params_info
.
opUrl
,
interface_params_info
.
key
,
interface_params_info
.
secret
,
icOrderParams
);
return
await
this
.
disposePushResult
(
pobj
,
result
,
"fq->pushOrder2IC->result"
,
this
.
pushlogFailType
.
FQ
);
}
//--------------------------------------------------内部辅助方法-------------------end-----------------
//--------------------------------------------------内部辅助方法-------------------end-----------------
}
}
module
.
exports
=
UtilsFqAliyunService
;
module
.
exports
=
UtilsFqAliyunService
;
center-channel/app/base/service/impl/utilsSve/utilsNeedSve.js
View file @
811901b5
...
@@ -624,8 +624,9 @@ class UtilsNeedService extends AppServiceBase {
...
@@ -624,8 +624,9 @@ class UtilsNeedService extends AppServiceBase {
if
(
item
.
Type
==
1
&&
item
.
RegisterNumber
)
{
if
(
item
.
Type
==
1
&&
item
.
RegisterNumber
)
{
pobj
.
actionBody
.
intentionBizId
=
item
.
BizId
;
pobj
.
actionBody
.
intentionBizId
=
item
.
BizId
;
pobj
.
actionBody
.
mobile
=
item
.
Mobile
?
item
.
Mobile
:
""
;
pobj
.
actionBody
.
mobile
=
item
.
Mobile
?
item
.
Mobile
:
""
;
pobj
.
actionBody
.
Area
=
item
.
Area
//pobj.actionBody.Area = item.Area || "北京"
pobj
.
actionBody
.
userName
=
item
.
UserName
?
item
.
UserName
:
""
;
pobj
.
actionBody
.
area
=
'大陆地区 '
pobj
.
actionBody
.
userName
=
item
.
UserName
?
item
.
UserName
:
""
;
pobj
.
actionBody
.
description
=
item
.
RegisterNumber
pobj
.
actionBody
.
description
=
item
.
RegisterNumber
pobj
.
notes
=
`
${
item
.
RegisterNumber
?
"RegisterNumber:"
+
item
.
RegisterNumber
:
""
}${
item
.
Classification
?
"Classification:"
+
item
.
Classification
:
""
}
`
;
pobj
.
notes
=
`
${
item
.
RegisterNumber
?
"RegisterNumber:"
+
item
.
RegisterNumber
:
""
}${
item
.
Classification
?
"Classification:"
+
item
.
Classification
:
""
}
`
;
let
res
=
await
this
.
submitNeed
(
JSON
.
parse
(
JSON
.
stringify
(
pobj
)),
{
intentionBizId
:
item
.
BizId
});
let
res
=
await
this
.
submitNeed
(
JSON
.
parse
(
JSON
.
stringify
(
pobj
)),
{
intentionBizId
:
item
.
BizId
});
...
...
center-channel/app/base/service/impl/utilsSve/utilsOrderSve.js
View file @
811901b5
...
@@ -8,6 +8,7 @@ class UtilsOrderService extends AppServiceBase {
...
@@ -8,6 +8,7 @@ class UtilsOrderService extends AppServiceBase {
constructor
()
{
constructor
()
{
super
();
super
();
this
.
utilsPushSve
=
system
.
getObject
(
"service.utilsSve.utilsPushSve"
);
this
.
utilsPushSve
=
system
.
getObject
(
"service.utilsSve.utilsPushSve"
);
this
.
utilsFqAliyunSve
=
system
.
getObject
(
"service.utilsSve.utilsFqAliyunSve"
);
this
.
logCtl
=
system
.
getObject
(
"service.common.oplogSve"
);
this
.
logCtl
=
system
.
getObject
(
"service.common.oplogSve"
);
this
.
centerOrderUrl
=
settings
.
centerOrderUrl
();
this
.
centerOrderUrl
=
settings
.
centerOrderUrl
();
this
.
qifuPayAfterH5JumpUrl
=
settings
.
qifuPayAfterH5JumpUrl
();
this
.
qifuPayAfterH5JumpUrl
=
settings
.
qifuPayAfterH5JumpUrl
();
...
@@ -892,19 +893,19 @@ class UtilsOrderService extends AppServiceBase {
...
@@ -892,19 +893,19 @@ class UtilsOrderService extends AppServiceBase {
}
}
var
appInfo
=
appInfoRt
.
data
;
var
appInfo
=
appInfoRt
.
data
;
// 拿锁
// 拿锁
var
locker
=
await
this
.
cacheManager
[
"TlPayLocker"
].
enter
(
params
.
orderNo
);
//
var locker = await this.cacheManager["TlPayLocker"].enter(params.orderNo);
console
.
log
(
"拿锁结果"
,
locker
)
//
console.log("拿锁结果", locker)
if
(
!
locker
||
locker
!=
"1"
)
{
//
if (!locker || locker != "1") {
this
.
logCtl
.
info
({
//
this.logCtl.info({
appid
:
appInfoRt
.
data
.
uappId
,
//
appid: appInfoRt.data.uappId,
appkey
:
""
,
//
appkey: "",
op
:
"service/impl/utilsSve/utilsOrderSve.js/channelPayNotify"
,
//
op: "service/impl/utilsSve/utilsOrderSve.js/channelPayNotify",
content
:
"参数="
+
JSON
.
stringify
(
params
),
//
content: "参数=" + JSON.stringify(params),
clientIp
:
params
.
client_ip
||
""
,
//
clientIp: params.client_ip || "",
optitle
:
"阿里回调操作频繁---太频繁了,太频繁了"
//
optitle: "阿里回调操作频繁---太频繁了,太频繁了"
});
//
});
return
system
.
getResultFail
(
-
200
,
"阿里回调操作频繁---太频繁了,太频繁了"
);
//
return system.getResultFail(-200, "阿里回调操作频繁---太频繁了,太频繁了");
}
//
}
params
.
appInfo
=
{
uapp_id
:
appInfo
.
uapp_id
};
params
.
appInfo
=
{
uapp_id
:
appInfo
.
uapp_id
};
params
.
pay_type
=
params
.
payType
;
params
.
pay_type
=
params
.
payType
;
//修改并返回订单支付状态,创建收款单
//修改并返回订单支付状态,创建收款单
...
@@ -939,7 +940,11 @@ class UtilsOrderService extends AppServiceBase {
...
@@ -939,7 +940,11 @@ class UtilsOrderService extends AppServiceBase {
}
}
// 推送
// 推送
this
.
utilsPushSve
.
pushBusInfo
(
pobj
,
"pushOrder"
,
0
);
if
([
'icpsq'
,
'edisq'
].
includes
(
opOrderResult
.
data
.
product_info
.
channel_item_code
)){
this
.
utilsPushSve
.
aliBusiness2Delivery
(
pobj
,
"pushDeliveryOrder"
);
}
else
{
this
.
utilsPushSve
.
pushBusInfo
(
pobj
,
"pushOrder"
,
0
);
}
opOrderResult
.
data
=
null
;
opOrderResult
.
data
=
null
;
return
opOrderResult
;
return
opOrderResult
;
}
catch
(
e
)
{
}
catch
(
e
)
{
...
@@ -1069,5 +1074,145 @@ class UtilsOrderService extends AppServiceBase {
...
@@ -1069,5 +1074,145 @@ class UtilsOrderService extends AppServiceBase {
return
result
;
return
result
;
}
}
}
}
//增加常用联系人,常用申请人
async
addUsuallyContacts
(
pobj
,
actionBody
){
if
(
!
actionBody
.
channel_user_id
)
{
return
system
.
getResultFail
(
-
1
,
"渠道用户id不能为空"
);
}
if
(
!
actionBody
.
contacts
){
return
system
.
getResultFail
(
-
1
,
'用户信息不能为空'
)
}
if
(
Object
.
keys
(
actionBody
.
contacts
).
length
<
0
){
return
system
.
getResultFail
(
-
1
,
'用户信息不能为空'
)
}
var
reqUrl
=
this
.
centerOrderUrl
+
"action/tmOrder/springBoard"
;
var
result
=
await
this
.
restPostUrl
(
pobj
,
reqUrl
);
return
result
;
}
//删除常用联系人,常用申请人
async
delUsuallyContacts
(
pobj
,
actionBody
){
if
(
!
actionBody
.
id
){
return
system
.
getResultFail
(
-
1
,
'id不能为空'
)
}
var
reqUrl
=
this
.
centerOrderUrl
+
"action/tmOrder/springBoard"
;
var
result
=
await
this
.
restPostUrl
(
pobj
,
reqUrl
);
return
result
;
}
//修改常用联系人,常用申请人
async
updateUsuallyContacts
(
pobj
,
actionBody
){
if
(
!
actionBody
.
id
){
return
system
.
getResultFail
(
-
1
,
'id 不能为空'
);
}
if
(
!
actionBody
.
channel_user_id
){
return
system
.
getResultFail
(
-
1
,
'id 不能为空'
);
}
if
(
Object
.
keys
(
actionBody
.
contacts
).
length
<
0
){
return
system
.
getResultFail
(
-
1
,
'信息不能为空'
);
}
var
reqUrl
=
this
.
centerOrderUrl
+
"action/tmOrder/springBoard"
;
var
result
=
await
this
.
restPostUrl
(
pobj
,
reqUrl
);
return
result
;
}
//查询常用联系人,常用申请人
async
getUsuallyContacts
(
pobj
,
actionBody
){
if
(
!
actionBody
.
channel_user_id
){
return
system
.
getResultFail
(
-
1
,
'用户id不能为空'
)
}
var
reqUrl
=
this
.
centerOrderUrl
+
"action/tmOrder/springBoard"
;
var
result
=
await
this
.
restPostUrl
(
pobj
,
reqUrl
);
return
result
;
}
//创建订单 官网
async
addOrderWeb
(
pobj
,
actionBody
){
if
(
!
actionBody
.
quantity
||
Number
(
actionBody
.
quantity
)
<=
0
)
{
return
system
.
getResult
(
null
,
"订单数量为空或有误,100030"
);
}
if
(
!
actionBody
.
goodsId
){
return
system
.
getResult
(
null
,
"官网产品id不能为空"
)
}
if
(
!
actionBody
.
customerId
){
return
system
.
getResult
(
null
,
'客户Id不能为空'
)
}
if
(
actionBody
.
deliveryData
.
nclones
.
length
<=
0
){
return
system
.
getResult
(
null
,
'尼斯不能为空'
)
}
if
(
actionBody
.
quantity
!=
actionBody
.
deliveryData
.
nclones
.
length
||
Number
(
actionBody
.
quantity
)
!=
actionBody
.
deliveryData
.
nclones
.
length
)
{
return
system
.
getResult
(
null
,
"订单数量有误,100030"
);
}
pobj
.
actionType
=
"getProductDetail"
;
var
url
=
settings
.
centerAppUrl
()
+
"action/opProduct/springBoard"
;
var
productItemResult
=
await
this
.
restPostUrl
(
pobj
,
url
);
if
(
productItemResult
.
status
!=
0
)
{
return
productItemResult
;
}
pobj
.
actionBody
.
product_info
=
productItemResult
.
data
;
pobj
.
actionType
=
"getProductInterface"
;
pobj
.
actionBody
.
product_id
=
productItemResult
.
data
.
id
;
var
productItemInterfaceResult
=
await
this
.
restPostUrl
(
pobj
,
url
);
pobj
.
actionBody
.
product_info
.
interface_info
=
productItemInterfaceResult
.
data
;
let
nclones
=
actionBody
.
deliveryData
.
nclones
;
//大项集合
let
product_item
=
[];
//产品项
for
(
let
i
=
0
;
i
<
nclones
.
length
;
i
++
){
let
nclone
=
nclones
[
i
];
if
(
nclone
.
nclThree
.
length
>
10
){
actionBody
.
additions
=
{
"payCode"
:
"zzsbzc-2"
,
// Y 支付价格code
"quantity"
:
nclone
.
nclThree
.
length
-
10
// Y 购买数量
}
}
actionBody
.
totalSum
=
0
;
actionBody
.
quantity
=
1
;
actionBody
.
deliveryData
.
nclones
=
[
nclone
]
var
verifyResult
=
await
this
.
isOrderVerify
(
pobj
,
pobj
.
actionBody
);
actionBody
.
payTotalSum
=
actionBody
.
totalSum
;
let
saveResult
=
await
this
.
addOrder
(
pobj
,
actionBody
);
if
(
saveResult
.
status
!=
0
){
return
saveResult
;
}
let
obj
=
{
idempotentId
:
saveResult
.
data
.
orderNo
,
//商标注册订单id
nclCount
:
nclone
.
nclThree
.
length
-
10
>
0
?
nclone
.
nclThree
.
length
-
10
:
0
//小项数量
}
product_item
.
push
(
obj
);
}
actionBody
.
product_item
=
product_item
;
//新增订单(商标自助注册) IC
let
icOrderResult
=
await
this
.
utilsFqAliyunSve
.
pushOrder2IC
(
pobj
,
"pushOrder2IC"
);
let
orderUrl
=
settings
.
centerOrderUrl
()
+
'action/order/springBoard'
;
if
(
icOrderResult
.
status
!=
0
){
for
(
let
i
=
0
;
i
<
product_item
.
length
;
i
++
){
actionBody
.
orderNo
=
product_item
[
i
].
idempotentId
;
pobj
.
actionType
=
'delOrder'
;
let
rt
=
await
this
.
restPostUrl
(
pobj
,
orderUrl
);
}
return
icOrderResult
;
}
let
ids
=
icOrderResult
.
data
.
orderList
;
let
orderServiceNo
=
await
this
.
getBusUid
(
"CN"
);
pobj
.
actionType
=
'updateOrder'
;
let
orderNos
=
[];
let
orderIds
=
[];
for
(
let
i
=
0
;
i
<
ids
.
length
;
i
++
){
let
orderNo
=
ids
[
i
].
idempotentId
;
let
contractNo
=
ids
[
i
].
contractNo
;
orderNos
.
push
(
ids
[
i
].
orderNo
)
orderIds
.
push
(
ids
[
i
].
orderId
)
actionBody
.
orderNo
=
orderNo
;
actionBody
.
channelServiceNo
=
contractNo
;
actionBody
.
channelOrderNo
=
ids
[
i
].
orderNo
;
actionBody
.
orderServiceNo
=
orderServiceNo
;
let
rest
=
await
this
.
restPostUrl
(
pobj
,
orderUrl
);
}
let
result
=
{
orderNos
,
orderIds
}
return
system
.
getResultSuccess
(
result
)
}
}
}
module
.
exports
=
UtilsOrderService
;
module
.
exports
=
UtilsOrderService
;
center-channel/app/config/routes/api.js
View file @
811901b5
...
@@ -282,7 +282,8 @@ module.exports = function (app) {
...
@@ -282,7 +282,8 @@ module.exports = function (app) {
"submitIcpIntention"
,
"queryIntentionList"
,
"confirmIcpIntention"
,
"submitIcpIntention"
,
"queryIntentionList"
,
"confirmIcpIntention"
,
"tmAccept"
,
"tmStatus"
,
"tmAccept"
,
"tmStatus"
,
"needBatchUpload"
,
"needBatchUpload"
,
"serviceSubmitOption"
,
"submitWangwenSolution"
,
"closeNeed"
,
"recordLog"
,
"recordLogList"
"serviceSubmitOption"
,
"submitWangwenSolution"
,
"closeNeed"
,
"recordLog"
,
"recordLogList"
,
"getParamsFor360"
,
"addOrderWeb"
,
];
];
if
(
lst
.
indexOf
(
req
.
body
.
actionType
)
>=
0
)
{
if
(
lst
.
indexOf
(
req
.
body
.
actionType
)
>=
0
)
{
...
...
center-channel/app/front/entry/public/apidoc/platform/tmOrder.md
View file @
811901b5
...
@@ -18,6 +18,11 @@
...
@@ -18,6 +18,11 @@
1.
[
推送委托书模板邮件(阿里云)
](
#sendAliWtsEmail
)
1.
[
推送委托书模板邮件(阿里云)
](
#sendAliWtsEmail
)
1.
[
商标智能推荐
](
#getNclByCode
)
1.
[
商标智能推荐
](
#getNclByCode
)
1.
[
全类保护
](
#getAllNcl
)
1.
[
全类保护
](
#getAllNcl
)
1.
[
添加常用联系人、申请人
](
#addUsuallyContacts
)
1.
[
删除常用联系人、申请人
](
#delUsuallyContacts
)
1.
[
修改常用联系人、申请人
](
#updateUsuallyContacts
)
1.
[
获取常用联系人、申请人
](
#getUsuallyContacts
)
## **<a name="getNcl"> 尼斯查询(一)</a>**
## **<a name="getNcl"> 尼斯查询(一)</a>**
...
@@ -4973,4 +4978,223 @@
...
@@ -4973,4 +4978,223 @@
"requestId"
:
"23830ec10c5b49fd8afb974401e86429"
"requestId"
:
"23830ec10c5b49fd8afb974401e86429"
}
}
```
```
\ No newline at end of file
## **<a name="addUsuallyContacts"> 添加常用联系人、申请人</a>**
[
返回到目录
](
#menu
)
##### URL
[
/web/opaction/order/springBoard
]
#### 参数格式 `JSON`
#### HTTP请求方式 `POST`
#### 渠道执行的类型 actionType:addUsuallyContacts
```
javascript
{
"actionType"
:
"addUsuallyContacts"
,
"actionBody"
:{
"channel_user_id"
:
""
,
//Y ic 用户id
"type"
:
"contact"
,
//Y 联系人 contact
"contacts"
:{
"contacts"
:
"张三"
,
// Y 联系人
"mobile"
:
"15010929368"
,
// Y 联系人电话
"tel"
:
"010-11111"
,
// N 固定电话
"email"
:
"saa@gongsibao.com"
,
// N 联系人邮箱
"fax"
:
""
// N 传真
}
}
}
{
"actionType"
:
"addUsuallyContacts"
,
"actionBody"
:{
"channel_user_id"
:
""
,
//Y ic 用户id
"type"
:
"applicant"
,
//Y 申请人 applicant
"contacts"
:{
"code"
:
"91310110398635929J"
,
//统一社会信用代码
"customerType"
:
"ent"
,
//申请人类型 person个人,ent企业
"identityCardNo"
:
""
,
//申请人身份证号--(申请类型为个人有此值)
"name"
:
"上海辰者信息科技有限公司"
,
//申请人名称
"zipCode"
:
"100000"
//邮政编码
"applyAddr"
:
"上海市杨浦区国定路346号三楼0624室"
//执照详细地址
}
}
}
```
#### 返回结果
```
javascript
{
"status"
:
0
,
"msg"
:
"success"
,
"data"
:
null
,
"requestId"
:
"2a3eada5bd6a4e30807bbb2af8c0b4a8"
}
```
## **<a name="delUsuallyContacts"> 删除常用联系人、申请人</a>**
[
返回到目录
](
#menu
)
##### URL
[
/web/opaction/order/springBoard
]
#### 参数格式 `JSON`
#### HTTP请求方式 `POST`
#### 渠道执行的类型 actionType:delUsuallyContacts
```
javascript
{
"actionType"
:
"delUsuallyContacts"
,
"actionBody"
:{
"id"
:
2
}
}
```
#### 返回结果
```
javascript
{
"status"
:
0
,
"msg"
:
"success"
,
"data"
:
null
,
"requestId"
:
"2a3eada5bd6a4e30807bbb2af8c0b4a8"
}
```
## **<a name="updateUsuallyContacts"> 添加常用联系人、申请人</a>**
[
返回到目录
](
#menu
)
##### URL
[
/web/opaction/order/springBoard
]
#### 参数格式 `JSON`
#### HTTP请求方式 `POST`
#### 渠道执行的类型 actionType:updateUsuallyContacts
```
javascript
{
"actionType"
:
"updateUsuallyContacts"
,
"actionBody"
:{
"id"
:
7
,
"channel_user_id"
:
"19219084323984"
,
"contacts"
:{
"contacts"
:
"张三23"
,
"mobile"
:
"15010929368"
,
"tel"
:
"010-222"
,
"email"
:
"saa@gongsibao.com"
,
"fax"
:
""
}
}
}
```
#### 返回结果
```
javascript
{
"status"
:
0
,
"msg"
:
"success"
,
"data"
:
null
,
"requestId"
:
"2a3eada5bd6a4e30807bbb2af8c0b4a8"
}
```
## **<a name="getUsuallyContacts"> 获取常用联系人、申请人</a>**
[
返回到目录
](
#menu
)
##### URL
[
/web/opaction/order/springBoard
]
#### 参数格式 `JSON`
#### HTTP请求方式 `POST`
#### 渠道执行的类型 actionType:getUsuallyContacts
```
javascript
{
"actionType"
:
"getUsuallyContacts"
,
"actionBody"
:{
"channel_user_id"
:
"19219084323984"
,
"type"
:
"contact"
,
"contact_name"
:
""
}
}
```
#### 返回结果
```
javascript
{
"status"
:
0
,
"msg"
:
"操作成功"
,
"data"
:
[
{
"id"
:
18
,
"channel_user_id"
:
"5e38f8ef56badb0009165fd1"
,
"contact_name"
:
"张三"
,
"contacts_content"
:
{
"fax"
:
""
,
"tel"
:
"010-11111"
,
"email"
:
"saa@gongsibao.com"
,
"mobile"
:
"15010929368"
,
"contacts"
:
"张三"
},
"type"
:
"applicant"
},
{
"id"
:
19
,
"channel_user_id"
:
"5e38f8ef56badb0009165fd1"
,
"contact_name"
:
"张三ggg"
,
"contacts_content"
:
{
"fax"
:
""
,
"tel"
:
"010-11111"
,
"email"
:
"saa@gongsibao.com"
,
"mobile"
:
"15010929368"
,
"contacts"
:
"张三ggg"
},
"type"
:
"applicant"
},
{
"id"
:
20
,
"channel_user_id"
:
"5e38f8ef56badb0009165fd1"
,
"contact_name"
:
"张三ggg4"
,
"contacts_content"
:
{
"fax"
:
""
,
"tel"
:
"010-11111"
,
"email"
:
"saa@gongsibao.com"
,
"mobile"
:
"15010929368"
,
"contacts"
:
"张三ggg4"
},
"type"
:
"applicant"
},
{
"id"
:
40
,
"channel_user_id"
:
"5e38f8ef56badb0009165fd1"
,
"contact_name"
:
"李啥啊"
,
"contacts_content"
:
{
"code"
:
"91310110398635929J"
,
"name"
:
"李啥啊"
,
"zipCode"
:
"100000"
,
"applyAddr"
:
"上海市杨浦区国定路346号三楼0624室003"
,
"customerType"
:
"person"
,
"identityCardNo"
:
"140311111111111111"
},
"type"
:
"applicant"
},
{
"id"
:
50
,
"channel_user_id"
:
"5e38f8ef56badb0009165fd1"
,
"contact_name"
:
"起个名字吧"
,
"contacts_content"
:
{
"code"
:
"91310110398635929J"
,
"name"
:
"起个名字吧"
,
"zipCode"
:
"100000"
,
"applyAddr"
:
"上海市杨浦区国定路346号三楼0624室003"
,
"customerType"
:
"person"
,
"identityCardNo"
:
"13013399999999999"
},
"type"
:
"applicant"
}
],
"bizmsg"
:
"empty"
,
"requestId"
:
"9770a5c5a6da4305b8fc83e296716cf5"
}
```
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