80 lines
3.8 KiB
JavaScript
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;
|