Commit eefb2fd5 authored by 李尚科's avatar 李尚科

fix

parent 1b6c9e4f
...@@ -11,33 +11,38 @@ class CallriskController extends Controller { ...@@ -11,33 +11,38 @@ class CallriskController extends Controller {
const { ctx } = this; const { ctx } = this;
const report_id = ctx.params.report_id; const report_id = ctx.params.report_id;
if (!report_id) {
ctx.failed('error report id');
}
let ret = await ctx.service.credit.callrisk.getReport(report_id); let ret = await ctx.service.credit.callrisk.getReport(report_id);
ctx.success(ret); ctx.success(ret);
} }
async queryCallRisk() { /**
* 进入个人通话风险检测页面
*/
async callriskInit() {
const { ctx } = this; const { ctx } = this;
const input_params = ctx.request.body; let ret = await ctx.service.credit.apply.callriskInit();
const { real_name, id_card, phone, password } = input_params; ctx.success(ret);
}
if (ctx.helper.verify_real_name(real_name) !== 1) { /**
ctx.failed('姓名输入有误,请校验后输入'); * 获取数据报告信息
} */
if (!ctx.helper.verify_id_card(id_card)) { async applyCallriskReport() {
ctx.failed('身份证输入有误,请校验后输入'); const { ctx } = this;
} let inputParams = ctx.request.body;
if (!ctx.helper.isPhoneNumber(phone)) { const rule = {
ctx.failed('手机号输入有误,请校验后输入'); name: { type: 'string', required: true },
phone: { type: 'string', required: true },
id_card: { type: 'string', required: true },
code: { type: 'string', required: true }
} }
ctx.validate(rule, inputParams);
//TODO 三要素校验 调用数据服务接口 let ret = await ctx.service.credit.apply.applyCallrisk(inputParams);
ctx.success(ret);
} }
......
...@@ -23,8 +23,9 @@ module.exports = app => { ...@@ -23,8 +23,9 @@ module.exports = app => {
//我的信用-个人通话风险 //我的信用-个人通话风险
router.get('/callrisk/report/:report_id', 'credit.callrisk.getReport');//获取报告信息 router.get('/callrisk/report/:report_id', 'credit.callrisk.getReport');//获取报告信息
router.post('/callrisk/query', 'credit.callrisk.queryCallRisk');//查询个人通话信息 router.post('/callrisk/report', 'credit.callrisk.applyCallriskReport');//查询个人通话信息
router.get('/callrisk/init', 'credit.callrisk.callriskInit');//进入个人通话风险检测页面
}; };
...@@ -62,6 +62,40 @@ class ApplyService extends Service { ...@@ -62,6 +62,40 @@ class ApplyService extends Service {
return ret; return ret;
} }
async callriskInit() {
const { ctx } = this;
let ret = {
have_be_pay_order: false,
order_id: null,
placeholder: {
name: '',
id_card: ''
}
}
let bePayOrder = await ctx.service.credit.order.getBePayOrder('callrisk');
if (bePayOrder.length !== 0) {
ret.have_be_pay_order = true;
ret.order_id = bePayOrder[0].id;
}
//第一次查询成功的订单,反显姓名和身份证
let filter = {
where: {
user_id: ctx.userId,
// user_id: '8c3172a5-23b2-43d6-aa6c-5193f445bbe3',
type: 2,
valid: 1,
},
order: [['id', 'asc']]
}
let orderInfo = await ctx.prometheusModel.CreditOrder.findOne(filter);
if (orderInfo && orderInfo.id) {
ret.placeholder.name = orderInfo.name;
ret.placeholder.id_card = orderInfo.id_card;
}
return ret;
}
/** /**
* 获取短信验证码 * 获取短信验证码
...@@ -274,6 +308,73 @@ class ApplyService extends Service { ...@@ -274,6 +308,73 @@ class ApplyService extends Service {
return ret; return ret;
} }
/**
* 从数据接口获取用户的黑名单报告信息
* @param {*} inputParams
*/
async applyCallrisk(inputParams) {
const { ctx, app } = this;
let ret = {
order_id: null,
report_id: null,
first: false,//首次通过三要素验证后弹框提示:报告生成后,将无法查询其他人的报告
second: false,//再次查询的是待支付中的订单
}
//判断用户是否第一次三要素核验成功
let orderFilter = {
arrtibutes: ['id'],
where: {
user_id: ctx.userId,
type: 2,
valid: 1
}
}
let orderList = await ctx.prometheusModel.CreditOrder.findAll(orderFilter);
if (orderList === undefined || orderList.length === 0) {
ret.first = true;
}
//判断用户当前三要素是否是二次查询未支付订单
let bePayOrder = await ctx.service.credit.order.getBePayOrderByThree('callrisk', inputParams);
if (bePayOrder !== null) {
ret.second = true;
ret.order_id = bePayOrder.id;
ret.report_id = bePayOrder.report_id;
return ret;
}
//生成订单
let orderData = {
type: 1,
name: inputParams.name,
phone: inputParams.phone,
id_card: inputParams.id_card
}
let order = await ctx.service.credit.order.createOrder(orderData);
ret.order_id = order.id;
//调用数据接口获取个人通话风险数据 TODO
//更新订单
//生成order_no
let orderNo = await ctx.service.credit.common.getOrdertNo(TypeConfigFlip[order.type], order.id);
let updateOrderData = {
order_no: orderNo,
apply_id: apply.id,
report_id: report.id,
state: '待支付',
state_time: moment().format('YYYY-MM-DD HH:mm:ss'),
valid: 1
}
await ctx.prometheusModel.CreditOrder.update(updateOrderData, { where: { id: order.id } });
let currentOrder = await ctx.prometheusModel.CreditOrder.findOne({ where: { id: order.id } });
await ctx.service.credit.order.logOrder(currentOrder);
return ret;
}
......
...@@ -372,6 +372,7 @@ class OrderService extends Service { ...@@ -372,6 +372,7 @@ class OrderService extends Service {
let filter = { let filter = {
where: { where: {
user_id: ctx.userId, user_id: ctx.userId,
// user_id: '8c3172a5-23b2-43d6-aa6c-5193f445bbe3',
type: TypeConfig[type], type: TypeConfig[type],
state: '待支付', state: '待支付',
valid: 1, valid: 1,
......
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