Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
S
sb_h5
Project
Project
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
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
data_server
sb_h5
Commits
f381bd1b
Commit
f381bd1b
authored
Feb 27, 2019
by
高诸锋
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix
parent
e5db8927
Pipeline
#3939
passed with stage
in 1 minute 0 seconds
Changes
7
Pipelines
1
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
58 additions
and
11 deletions
+58
-11
partner.js
app/controller/partner.js
+11
-0
taskStatus.js
app/model/taskStatus.js
+5
-0
router.js
app/router.js
+6
-7
cache.js
app/service/cache.js
+2
-2
partner.js
app/service/partner.js
+25
-0
config.default.js
config/config.default.js
+5
-0
config.local.js
config/config.local.js
+4
-2
No files found.
app/controller/partner.js
View file @
f381bd1b
...
@@ -76,6 +76,17 @@ class PartnerController extends Controller {
...
@@ -76,6 +76,17 @@ class PartnerController extends Controller {
return
;
return
;
}
}
}
}
async
fetchAgreements
()
{
const
{
ctx
,
service
}
=
this
;
const
{
id
}
=
ctx
.
params
;
const
ret
=
await
service
.
partner
.
fetchAgreements
(
id
);
if
(
ret
&&
String
(
ret
.
id
)
===
id
)
{
ctx
.
success
(
ret
);
return
;
}
ctx
.
fail
(
'未获取到协议'
);
}
}
}
module
.
exports
=
PartnerController
;
module
.
exports
=
PartnerController
;
app/model/taskStatus.js
View file @
f381bd1b
...
@@ -95,6 +95,11 @@ module.exports = app => {
...
@@ -95,6 +95,11 @@ module.exports = app => {
defaultValue
:
''
,
defaultValue
:
''
,
field
:
'type'
,
field
:
'type'
,
},
},
notice
:
{
type
:
DataTypes
.
INTEGER
(
1
),
allowNull
:
true
,
field
:
'notice'
,
},
},
{
},
{
tableName
:
'sbH5_status'
,
tableName
:
'sbH5_status'
,
timestamps
:
false
,
timestamps
:
false
,
...
...
app/router.js
View file @
f381bd1b
...
@@ -24,16 +24,15 @@ module.exports = app => {
...
@@ -24,16 +24,15 @@ module.exports = app => {
sbRouter
.
get
(
'/params'
,
controller
.
script
.
fetchParamsInfo
);
// 获取登录参数字典
sbRouter
.
get
(
'/params'
,
controller
.
script
.
fetchParamsInfo
);
// 获取登录参数字典
sbRouter
.
post
(
'/tokens'
,
controller
.
token
.
create
);
// 创建token
sbRouter
.
post
(
'/tokens'
,
controller
.
token
.
create
);
// 创建token
sbRouter
.
post
(
'/orders'
,
controller
.
order
.
create
);
// 创建订单号
sbRouter
.
post
(
'/orders'
,
controller
.
order
.
create
);
// 创建订单号
sbRouter
.
post
(
'/orders/:orderId'
,
controller
.
order
.
show
);
// 获取订单号详情
//
sbRouter.post('/orders/:orderId', controller.order.show); // 获取订单号详情
sbRouter
.
get
(
'/hubs/:hubId/scripts'
,
controller
.
script
.
fetchHubSeripts
);
// 根据hubId 获取脚本数据(数组)
sbRouter
.
get
(
'/hubs/:hubId/scripts'
,
controller
.
script
.
fetchHubSeripts
);
// 根据hubId 获取脚本数据(数组)
sbRouter
.
get
(
'/theme/:appKey'
,
controller
.
partner
.
show
);
// 根据hubId 获取脚本数据(数组)
sbRouter
.
get
(
'/theme/:appKey'
,
controller
.
partner
.
show
);
// 根据appKey查询合作方的主题
// 这个接口之后会移除掉
sbRouter
.
get
(
'/agreements/:id'
,
controller
.
partner
.
fetchAgreements
);
// 查询协议
sbRouter
.
get
(
'/orders'
,
controller
.
order
.
fetchOrderId
);
sbRouter
.
post
(
'/getToken'
,
controller
.
partner
.
getToken
);
// 合作方获取token
sbRouter
.
post
(
'/getData'
,
controller
.
partner
.
partnerShow
);
// 合作方获取订单数据
sbRouter
.
post
(
'/getToken'
,
controller
.
partner
.
getToken
);
sbRouter
.
post
(
'/getCityConfig'
,
controller
.
task
.
fetchCityConfig
);
// 合作方获取城市配置
sbRouter
.
post
(
'/getData'
,
controller
.
partner
.
partnerShow
);
};
};
app/service/cache.js
View file @
f381bd1b
...
@@ -12,7 +12,7 @@ class CacheService extends Service {
...
@@ -12,7 +12,7 @@ class CacheService extends Service {
}
}
/**
/**
* 将taskId状态缓存到
redis
和数据库
* 将taskId状态缓存到
cache
和数据库
* @param {Object} key taskId
* @param {Object} key taskId
* - value: 状态 提示信息 status 、note={}
* - value: 状态 提示信息 status 、note={}
* - exprie: 过期时间(单位/s)
* - exprie: 过期时间(单位/s)
...
@@ -36,7 +36,7 @@ class CacheService extends Service {
...
@@ -36,7 +36,7 @@ class CacheService extends Service {
}
}
/**
/**
* 获取task状态 优先
redis
* 获取task状态 优先
cache
* @param {Object} key taskId
* @param {Object} key taskId
* @return {Object} status note
* @return {Object} status note
*/
*/
...
...
app/service/partner.js
View file @
f381bd1b
...
@@ -100,6 +100,31 @@ class PartnerService extends Service {
...
@@ -100,6 +100,31 @@ class PartnerService extends Service {
}
}
}
}
}
}
async
fetchAgreements
(
id
)
{
const
{
ctx
,
partnerAPI
:
{
fetchAgreements
,
host
,
redisAgreementsPrefix
}
}
=
this
;
const
data
=
await
this
.
app
.
cache
.
get
(
redisAgreementsPrefix
+
id
);
if
(
data
)
{
try
{
return
JSON
.
parse
(
data
);
}
catch
(
err
)
{
ctx
.
logger
.
error
(
'【Partner】 fetchAgreements'
,
redisAgreementsPrefix
+
id
,
'result:'
,
JSON
.
stringify
(
data
),
err
);
await
this
.
app
.
cache
.
del
(
redisAgreementsPrefix
+
id
);
}
}
const
url
=
`
${
host
+
fetchAgreements
}
/
${
id
}
`
;
const
ret
=
await
ctx
.
curl
(
url
,
{
charset
:
'utf-8'
,
timeout
:
[
'30s'
,
'30s'
],
dataType
:
'json'
,
method
:
'GET'
,
});
ctx
.
logger
.
info
(
`【Partner】 fetchAgreements
${
url
}
`
,
JSON
.
stringify
(
ret
.
data
));
if
(
ret
.
status
===
200
&&
ret
.
data
&&
ret
.
data
.
id
===
id
)
{
await
this
.
app
.
cache
.
set
(
redisAgreementsPrefix
+
id
,
JSON
.
stringify
(
ret
.
data
),
300
);
}
return
ret
.
data
;
}
}
}
module
.
exports
=
PartnerService
;
module
.
exports
=
PartnerService
;
config/config.default.js
View file @
f381bd1b
...
@@ -9,6 +9,11 @@ module.exports = appInfo => {
...
@@ -9,6 +9,11 @@ module.exports = appInfo => {
// add your config here
// add your config here
config
.
middleware
=
[
'requestLog'
,
'errorHandler'
,
'verifyAppKey'
];
config
.
middleware
=
[
'requestLog'
,
'errorHandler'
,
'verifyAppKey'
];
// egg日志保存最长时间
config
.
logrotator
=
{
maxDays
:
5
,
};
config
.
verifyAppKey
=
{
config
.
verifyAppKey
=
{
match
:
'/orders'
,
match
:
'/orders'
,
};
};
...
...
config/config.local.js
View file @
f381bd1b
...
@@ -17,8 +17,10 @@ module.exports = () => {
...
@@ -17,8 +17,10 @@ module.exports = () => {
host
:
'https://dev-nginx.jianbing.com/zeus-api/v1'
,
host
:
'https://dev-nginx.jianbing.com/zeus-api/v1'
,
fetchTheme
:
'/chaos/partners/theme'
,
fetchTheme
:
'/chaos/partners/theme'
,
fetchScripts
:
'/chaos/partners/scripts'
,
fetchScripts
:
'/chaos/partners/scripts'
,
redisThemePrefix
:
'URANUS.HF.PARNTERS.THEME'
,
redisThemePrefix
:
'PARNTERS.THEME'
,
redisScriptsPrefix
:
'URANUS.HF.PARNTERS.SCRIPTS'
,
redisScriptsPrefix
:
'PARNTERS.SCRIPTS'
,
fetchAgreements
:
''
,
redisAgreementsPrefix
:
'PARNTERS.Agreements'
,
};
};
config
.
scriptsAPI
=
{
config
.
scriptsAPI
=
{
...
...
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