Commit 53ee8f5a authored by 姜登's avatar 姜登

gjjh5

parent a404dcef
...@@ -3,21 +3,30 @@ ...@@ -3,21 +3,30 @@
const Controller = require('egg').Controller; const Controller = require('egg').Controller;
class PartnerController extends Controller { class PartnerController extends Controller {
// constructor(ctx) { // constructor(ctx) {
// super(ctx); // super(ctx);
// } // }
async show() { async show() {
const { ctx, service } = this; const { ctx, service } = this;
const { appKey } = ctx.params; const { appKey } = ctx.params;
const ret = await service.partner.fetchTheme(appKey); const ret = await service.partner.fetchTheme(appKey);
if (ret && ret.id === appKey) { if (ret && ret.appKey === appKey) {
ctx.success(ret); ctx.success(ret);
return; return;
} }
ctx.fail('尚未配置主题'); ctx.fail('尚未配置主题');
} }
async fetchAgreements() {
const { ctx, service } = this;
const { id } = ctx.params;
const ret = await service.partner.fetchAgreements(id);
ctx.success(ret);
}
} }
module.exports = PartnerController; module.exports = PartnerController;
...@@ -3,7 +3,9 @@ ...@@ -3,7 +3,9 @@
module.exports = (options, app) => { module.exports = (options, app) => {
return async function errorHandler(ctx, next) { return async function errorHandler(ctx, next) {
try { try {
app.logger.info(JSON.stringify(ctx.request.body)); if(ctx.request.method == 'post'){
app.logger.info(JSON.stringify(ctx.request.body));
}
await next(); await next();
} catch (err) { } catch (err) {
// 所有的异常都在 app 上触发一个 error 事件,框架会记录一条错误日志 // 所有的异常都在 app 上触发一个 error 事件,框架会记录一条错误日志
......
...@@ -29,7 +29,9 @@ module.exports = app => { ...@@ -29,7 +29,9 @@ module.exports = app => {
gjjRouter.get('/hubs/:hubId/scripts', controller.script.fetchHubSeripts);// 根据hubId 获取脚本数据(数组) gjjRouter.get('/hubs/:hubId/scripts', controller.script.fetchHubSeripts);// 根据hubId 获取脚本数据(数组)
gjjRouter.get('/theme/:appKey', controller.partner.show);// 根据hubId 获取脚本数据(数组) gjjRouter.get('/theme/:appKey', controller.partner.show);// 根据appkey查询合作方主题
gjjRouter.get('/agreements/:id', controller.partner.fetchAgreements);//查询协议
gjjRouter.post('/getToken', controller.token.partnerCreate);// 合作方创建token gjjRouter.post('/getToken', controller.token.partnerCreate);// 合作方创建token
......
...@@ -22,7 +22,7 @@ class CacheService extends Service { ...@@ -22,7 +22,7 @@ class CacheService extends Service {
const data = await app.cache.get(taskPrefix + key); const data = await app.cache.get(taskPrefix + key);
if (!data || (data && data.status !== 'success')) { if (!data || (data && data.status !== 'success')) {
await app.cache.set(taskPrefix + key, JSON.stringify(value), 'EX', exprie); await app.cache.set(taskPrefix + key, JSON.stringify(value), exprie);
} }
const order = await ctx.model.TaskStatus.findOne({ const order = await ctx.model.TaskStatus.findOne({
......
...@@ -22,15 +22,15 @@ class PartnerService extends Service { ...@@ -22,15 +22,15 @@ class PartnerService extends Service {
} }
} }
} }
const ret = await ctx.curl(`${host + fetchTheme}/${appKey}`, { const ret = await ctx.curl(`${host + fetchTheme}/${appKey}/theme`, {
charset: 'utf-8', charset: 'utf-8',
timeout: ['30s', '30s'], timeout: ['30s', '30s'],
dataType: 'json', dataType: 'json',
method: 'GET', method: 'GET',
}); });
ctx.logger.info(`【Partner】 fetchTheme ${host + fetchTheme}/${appKey}`, ret.data); ctx.logger.info(`【Partner】 fetchTheme ${host + fetchTheme}/${appKey}`, ret.data);
if (ret.status === 200 && ret.data && ret.data.id === appKey) { if (ret.status === 200 && ret.data && ret.data.appKey === appKey) {
await this.app.cache.set(redisThemePrefix + appKey, JSON.stringify(ret.data), 'EX', 7200); await this.app.cache.set(redisThemePrefix + appKey, JSON.stringify(ret.data), 7200);
} }
return ret.data; return ret.data;
} }
...@@ -58,10 +58,34 @@ class PartnerService extends Service { ...@@ -58,10 +58,34 @@ class PartnerService extends Service {
}); });
ctx.logger.info(`【Partner】 fetchTheme ${url}`, ret.data); ctx.logger.info(`【Partner】 fetchTheme ${url}`, ret.data);
if (ret.status === 200 && ret.data && ret.data.id === appKey) { if (ret.status === 200 && ret.data && ret.data.id === appKey) {
await this.app.cache.set(redisScriptsPrefix + appKey, JSON.stringify(ret.data), 'EX', 7200); await this.app.cache.set(redisScriptsPrefix + appKey, JSON.stringify(ret.data), 7200);
} }
return ret.data; return ret.data;
} }
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:', 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}`, ret.data);
if (ret.status === 200 && ret.data && ret.data.id === id) {
await this.app.cache.set(redisScriptsPrefix + appKey, JSON.stringify(ret.data), 7200);
}
return ret.data;
}
} }
module.exports = PartnerService; module.exports = PartnerService;
...@@ -36,7 +36,7 @@ class ScriptsService extends Service { ...@@ -36,7 +36,7 @@ class ScriptsService extends Service {
}); });
ctx.logger.info(`【Scripts】fetchScripts,${baseURL + fetchScriptsUrl}`, 'result:', result.data); ctx.logger.info(`【Scripts】fetchScripts,${baseURL + fetchScriptsUrl}`, 'result:', result.data);
if (result.data && result.data.length > 0) { if (result.data && result.data.length > 0) {
await this.app.cache.set(redisScriptsKey, JSON.stringify(result.data), 'EX', 300); await this.app.cache.set(redisScriptsKey, JSON.stringify(result.data), 300);
} }
return result.data; return result.data;
...@@ -74,7 +74,7 @@ class ScriptsService extends Service { ...@@ -74,7 +74,7 @@ class ScriptsService extends Service {
}); });
ctx.logger.info(`【Scripts】fetchParams,${baseURL + fetchParamsInfoUrl}`, 'result:', result.data); ctx.logger.info(`【Scripts】fetchParams,${baseURL + fetchParamsInfoUrl}`, 'result:', result.data);
if (result.data && result.data.length > 0) { if (result.data && result.data.length > 0) {
await this.app.cache.set(redisParamsKey, JSON.stringify(result.data), 'EX', 300); await this.app.cache.set(redisParamsKey, JSON.stringify(result.data), 300);
} }
return result.data; return result.data;
} }
......
...@@ -22,15 +22,17 @@ module.exports = () => { ...@@ -22,15 +22,17 @@ module.exports = () => {
}; };
config.partnerAPI = { config.partnerAPI = {
host: 'https://dev-nginx.jianbing.com/zeus-api/v1', host: 'https://uat-nginx.jianbing.com/zeus-api/v1',
fetchTheme: '/chaos/partners/theme', fetchTheme: '/chaos/hf/partners',
fetchScripts: '/chaos/partners/scripts', fetchScripts: '/chaos/partners/scripts',
fetchAgreements: '/chaos/agreements',
redisThemePrefix: 'URANUS.HF.PARNTERS.THEME', redisThemePrefix: 'URANUS.HF.PARNTERS.THEME',
redisScriptsPrefix: 'URANUS.HF.PARNTERS.SCRIPTS', redisScriptsPrefix: 'URANUS.HF.PARNTERS.SCRIPTS',
redisAgreementsPrefix: 'URANUS.HF.PARNTERS.Agreements',
}; };
config.scriptsAPI = { config.scriptsAPI = {
host: 'https://dev-nginx.jianbing.com/zeus-api/v1', host: 'https://uat-nginx.jianbing.com/zeus-api/v1',
fetchScriptsUrl: '/chaos/hf/two_dimension_array/queries', fetchScriptsUrl: '/chaos/hf/two_dimension_array/queries',
fetchOneScriptUrl: '/chaos/hf/two_dimension_array/info', fetchOneScriptUrl: '/chaos/hf/two_dimension_array/info',
fetchParamsInfoUrl: '/chaos/hf/login_param_map', fetchParamsInfoUrl: '/chaos/hf/login_param_map',
...@@ -81,7 +83,7 @@ module.exports = () => { ...@@ -81,7 +83,7 @@ module.exports = () => {
delegate: 'model', delegate: 'model',
baseDir: 'model', baseDir: 'model',
dialect: 'mysql', dialect: 'mysql',
host: 'rm-bp1272001633qc0x9.mysql.rds.aliyuncs.com', host: 'rm-bp1272001633qc0x9o.mysql.rds.aliyuncs.com',
database: 'data_service_dev', database: 'data_service_dev',
username: 'hexin', username: 'hexin',
password: 'gYUHszn9#q', password: 'gYUHszn9#q',
......
...@@ -64,10 +64,11 @@ module.exports = () => { ...@@ -64,10 +64,11 @@ module.exports = () => {
config.partnerAPI = { config.partnerAPI = {
host: 'https://dev-nginx.jianbing.com/zeus-api/v1', host: 'https://dev-nginx.jianbing.com/zeus-api/v1',
fetchTheme: '/chaos/partners/theme', fetchTheme: '/chaos/hf/partners',
fetchScripts: '/chaos/partners/scripts', fetchScripts: '/chaos/partners/scripts',
redisThemePrefix: 'URANUS.HF.PARNTERS.THEME', redisThemePrefix: 'URANUS.HF.PARNTERS.THEME',
redisScriptsPrefix: 'URANUS.HF.PARNTERS.SCRIPTS', redisScriptsPrefix: 'URANUS.HF.PARNTERS.SCRIPTS',
redisAgreementsPrefix: 'URANUS.HF.PARNTERS.Agreements',
}; };
config.lockKeys = { config.lockKeys = {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment