Commit d7fe983a authored by 何娜's avatar 何娜

回调

parent 18f859c9
Pipeline #6020 passed with stage
in 8 seconds
......@@ -143,11 +143,13 @@ class TaskController extends Controller {
//任务回调接口
async handleCallback() {
const { ctx, service } = this;
ctx.logger.info('-----------------handleCallback_into');
ctx.logger.info('---------handleCallback_into------------', ctx.request.body);
const { taskId } = ctx.request.body;
const result = await service.task.fetchTask({ taskId });
ctx.logger.info('---------handleCallback_result----------', result);
ctx.success();
const order = await service.order.getOneByTaskId(taskId);
ctx.logger.info('---------handleCallback_order----------', order);
if (!order) {
ctx.logger.error('handleCallback', taskId, '未查询到此任务');
return
......@@ -195,13 +197,16 @@ class TaskController extends Controller {
note: { code: 0, msg: '任务成功', data: { data: null, loginParam: null, cityId, orderSn: orderId } },
};
try {
const insertData = await service.washData.wash(result);
insertData.orderId = orderId;
insertData.cityName = await service.scripts.fetchScriptName(insertData.cid);
insertData.taskId = Number(taskId);
insertData.appKey = appKey;
delete insertData.code;
await service.storage.write(insertData);
// const insertData = await service.washData.wash(result);
result.cityId = Number(result.data.cityId);
result.cityName = 'unknown';
result.data = JSON.parse(result.data.data);
result.orderSn = orderId;
result.orderId = orderId;
result.appKey = appKey;
delete result.code;
delete result.msg;
await service.storage.write(result);
await service.cache.set({
key: orderId,
value: taskNote,
......
......@@ -7,65 +7,40 @@ class WashDataService extends Service {
super(ctx);
const { config } = this;
this.washUrl = config.washAPI.host + config.washAPI.washUrl;
this.clearGjj = ['ID', 'phone', 'birthday', 'email', 'address', 'card', 'deposit_base', 'person_rate', 'company_rate', 'marriage', 'sex', 'company_id'];
this.clearLoan = ['name', 'ID', 'warning_rate', 'fund_date', 'bank', 'phone', 'address', 'past_due', 'past_principle', 'past_interest', 'past_period', 'history_past_period', 'history_past_amount', 'assure_style', 'house_type', 'debit_account', 'left_period'];
}
async wash(data) {
const { app, washUrl, ctx } = this;
const { app, washUrl } = this;
const rawdata = this._switchData(data);
if (!washUrl) return rawdata;
const washData = await app.curl(washUrl,
{
charset: 'utf-8',
timeout: ['30s', '30s'],
dataType: 'json',
data: rawdata,
method: 'post',
contentType: 'json',
});
{
charset: 'utf-8',
timeout: ['30s', '30s'],
dataType: 'json',
data: rawdata,
method: 'post',
contentType: 'json',
});
if (washData.status !== 200) {
ctx.logger.error(`【washData】url${washUrl} ,params`, rawdata, washData);
throw new Error('清洗数据出错');
}
if (washData.data.code !== 0) {
ctx.logger.error(`【washData】url${washUrl} ,params`, rawdata, washData.data);
throw new Error('清洗数据出错');
}
washData.data.data.general_analyzed_data.overdueClassify = {};
washData.data.data.general_analyzed_data.loanClassify = {};
washData.data.data.general_analyzed_data.blacklist = {};
return washData.data;
}
_switchData(data) {
_switchData(data, appKey = '', orderId = '') {
const tmp = data.data;
const bar = {};
bar.taskId = tmp.taskId;
bar.cityId = tmp.cityId;
bar.data = JSON.parse(tmp.data);
bar.orderID = 'ttt';
bar.appKey = '';
bar.orderID = orderId;
bar.appKey = appKey;
return bar;
}
dealData(data, passID = false) {
const { clearGjj, clearLoan } = this;
delete data.data.general_analyzed_data;
for (let gjjItem of data.data.gjj_data) {
for (let text of clearGjj) {
if (!(passID && text == 'ID')) {
delete gjjItem.gjj_brief[text];
}
}
delete gjjItem.gjj_account_analyzed_data;
}
for (let loanItem of data.data.loan_data) {
for (let text of clearLoan) {
delete loanItem.loan_brief[text];
}
}
return data;
}
}
module.exports = WashDataService;
module.exports = WashDataService;
\ No newline at end of file
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