Files

80 lines
3.8 KiB
JavaScript

const Controller = require('../core/base_controller');
const fileName = "Cntev";
class CntevController extends Controller {
// 核验用户身份证二要素
async CNTEV() {
const { ctx } = this;
try {
let rdmcode = await this.checkUid(ctx);
if (!rdmcode) {
this.setResponse(ctx, 401, 'token过期或错误', "none");
return;
}
const finishedList = ctx.request.body.finishedList;
const failedResult = await ctx.service.cntev.siftFailedList(finishedList);
const validateResult = await ctx.service.cntev.validateList(finishedList);
if (failedResult == "error" || validateResult == "error") {
this.setResponse(ctx, 500, '服务器错误', "none");
return;
}
let finishList = [];
if (failedResult && failedResult.length > 0) {
failedResult.forEach(async element => {
const check = await ctx.app.redis.get('db3').get(element.dataValues.identity_card);
if (check == null) {
ctx.curl('http://127.0.0.1:' + 8011 + '/CNTEV', {
dataType: 'json',
contentType: 'application/x-www-form-urlencoded',
method: 'POST',
timeout: 3000,
data: {
user_name: element.dataValues.user_name,
identity_card: element.dataValues.identity_card,
},
});
} else {
await ctx.service.cntev.updateCNTEV(element.dataValues.user_name, element.dataValues.identity_card, JSON.parse(check).real_check);
await ctx.app.redis.get('db3').del(element.dataValues.identity_card);
finishList.push(element.dataValues.identity_card);
}
});
}
if (validateResult && validateResult.length > 0) {
validateResult.forEach(async element => {
const check = await ctx.app.redis.get('db3').get(element.dataValues.identity_card);
if (check == null) {
ctx.curl('http://127.0.0.1:' + 8011 + '/CNTEV', {
dataType: 'json',
contentType: 'application/x-www-form-urlencoded',
method: 'POST',
timeout: 3000,
data: {
user_name: element.dataValues.user_name,
identity_card: element.dataValues.identity_card,
},
});
} else {
await ctx.service.cntev.updateCNTEV(element.dataValues.user_name, element.dataValues.identity_card, JSON.parse(check).real_check);
await ctx.app.redis.get('db3').del(element.dataValues.identity_card);
finishList.push(element.dataValues.identity_card);
}
});
}
if (failedResult && failedResult.length > 0 || validateResult && validateResult.length > 0) {
const data = { finishList };
this.setResponse(ctx, 303, '核验中', "deconstruction", data);
} else {
this.setResponse(ctx, 200, '核验成功', "none");
}
} catch (error) {
const blockName = fileName + "--" + "CNTEV";
ctx.app.middleware.log('../../controllerLog', blockName + ">>>>" + error);
this.setResponse(ctx, 500, '服务器错误', "none");
}
}
}
module.exports = CntevController;