Commit ffc11e89 authored by 姜登's avatar 姜登

gjj

parent ecd65470
Pipeline #3889 passed with stage
in 2 seconds
......@@ -63,7 +63,7 @@ class TaskController extends Controller {
key: taskId,
value: { status: 'init', note: { message: 'init' } },
});
ctx.success({taskId});
ctx.success({ taskId });
}
async fetchCapture() {
......@@ -108,7 +108,7 @@ class TaskController extends Controller {
case 1:
taskNote = {
status: 'next',
note: { message: 'waiting ', nextStep: result.data.loginParam },
note: { message: 'waiting', nextStep: result.data },
};
break;
case 110:
......@@ -135,6 +135,7 @@ class TaskController extends Controller {
insertData.appKey = appKey;
delete insertData.code;
await service.storage.write(insertData);
await service.partner.notice(order);
} catch (err) {
ctx.logger.error('handleCallback', err, result);
taskNote = {
......
......@@ -4,8 +4,8 @@ module.exports = app => {
const { DataTypes } = app.Sequelize;
const taskStatsu = app.model.define('taskStatsu', {
id:{
type:DataTypes.INTEGER,
id: {
type: DataTypes.INTEGER,
allowNull: false,
autoIncrement: true,
primaryKey: true,
......@@ -87,10 +87,29 @@ module.exports = app => {
primaryKey: true,
field: 'updateDate',
},
}, {
tableName: 'gjj_status',
timestamps: false,
});
text1: {
type: DataTypes.STRING(255),
allowNull: true,
defaultValue: '',
field: 'text1',
},
text2: {
type: DataTypes.STRING(255),
allowNull: true,
defaultValue: '',
field: 'text2',
},
notice: {
type: DataTypes.STRING(20),
allowNull: true,
defaultValue: '',
field: 'notice',
},
},
{
tableName: 'gjj_status',
timestamps: false,
});
return taskStatsu;
};
......@@ -30,7 +30,7 @@ class PartnerService extends Service {
});
ctx.logger.info(`【Partner】 fetchTheme ${host + fetchTheme}/${appKey}`, ret.data);
if (ret.status === 200 && ret.data && ret.data.appKey === appKey) {
await this.app.cache.set(redisThemePrefix + appKey, JSON.stringify(ret.data), 7200);
await this.app.cache.set(redisThemePrefix + appKey, JSON.stringify(ret.data), 300);
}
return ret.data;
}
......@@ -58,33 +58,55 @@ class PartnerService extends Service {
});
ctx.logger.info(`【Partner】 fetchTheme ${url}`, ret.data);
if (ret.status === 200 && ret.data && ret.data.id === appKey) {
await this.app.cache.set(redisScriptsPrefix + appKey, JSON.stringify(ret.data), 7200);
await this.app.cache.set(redisScriptsPrefix + appKey, JSON.stringify(ret.data), 300);
}
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);
}
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, {
}
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), 300);
}
return ret.data;
}
async notice(order) {
const { ctx } = this;
const { orderId, callbackUrl, userId, notice } = order;
if (callbackUrl && notice !== '1') {
const ret = await ctx.curl(callbackUrl, {
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);
contentType: 'json',
method: 'POST',
data: {
orderId,
userId,
status: 'success'
},
}
return ret.data;
)
ctx.logger.info(`【Partner】 notice ${callbackUrl}`, 'orderId:', orderId, 'result:', JSON.stringify(ret.data));
await order.update({ notice: '1' });
}
return;
}
}
......
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