Commit 73d68aaa authored by 李尚科's avatar 李尚科

fix

parent 1cdd9ed3
Pipeline #13607 passed with stage
in 24 seconds
......@@ -16,6 +16,16 @@ class OrderController extends Controller {
}
async getOrderPayInfo() {
const { ctx } = this;
const order_id = ctx.params.order_id;
const result = await ctx.service.credit.order.getOrderPayInfo(order_id);
ctx.success({ result });
}
//我的历史首页
async getRecord() {
......@@ -32,12 +42,13 @@ class OrderController extends Controller {
const { ctx } = this;
const input_params = ctx.request.body;
const { method, order_id } = input_params;
const { method, order_id, reject_url } = input_params;
const result = await ctx.service.credit.order.unifiedOrder(method, order_id);
result.reject_url = reject_url;
ctx.success({ result });
}
//微信支付通知
async payNotice() {
const { ctx } = this;
......@@ -62,6 +73,7 @@ class OrderController extends Controller {
return;
}
//查询支付是否完成
async checkPay() {
const { ctx } = this;
......
......@@ -10,6 +10,7 @@ module.exports = app => {
router.get('/order/pay/:order_id', 'credit.order.payOrder');
router.post('/order/pay_notice', 'credit.order.payNotice');
router.get('/order/check_pay/:order_id', 'credit.order.checkPay');
router.get('/order/info/:order_id', 'credit.order.getOrderPayInfo');
router.get('/blacklist/home', 'credit.home.home');//首页
......
......@@ -67,11 +67,12 @@ class CommonService extends Service {
async WexinUnifiedOrder(params) {
const { ctx } = this;
const { body, trade_no, total_fee, notify_url, product_id, scene_info } = params;
const { body, trade_no, total_fee, notify_url, product_id, scene_info, expire_time } = params;
const appid = this.config.MCH_APPID;
const mch_id = this.config.MCH_ID;
const trade_type = 'MWEB';
const nonce_str = ctx.helper.createNoncestr();
const time_expire = expire_time ? expire_time : moment().format('YYYYMMDDHHmmss');
// const spbill_create_ip = ctx.helper.getClientIP();
const spbill_create_ip = '122.224.130.226';
let json_data = {
......@@ -86,6 +87,7 @@ class CommonService extends Service {
scene_info,
trade_type,
nonce_str,
time_expire,
};
const sign = this.getWexinSign(json_data);
json_data.sign = sign;
......
......@@ -5,7 +5,6 @@ const Service = require('egg').Service;
const moment = require('moment');
const _ = require('lodash');
class OrderService extends Service {
//历史订单
......@@ -62,7 +61,7 @@ class OrderService extends Service {
const expire_time = moment(created_at).valueOf() + 24 * 3600;
const now_time = moment().valueOf();
const state_time = moment().format('YYYY-MM-DD HH:mm:ss');
if (expire_time < now_time && state === '待支付' && pay_status === 0) {
if (expire_time < now_time && (state === '待支付' || state === '已取消') && pay_status === 0) {
const ret = await ctx.prometheusModel.CreditOrder.update({ state: '已失效', state_time: state_time }, { where: { id } });
if (ret || ret[0]) {
order.state = '已失效';
......@@ -130,6 +129,42 @@ class OrderService extends Service {
return order;
}
async getOrderPayInfo(order_id) {
const { ctx } = this;
const order = await ctx.prometheusModel.CreditOrder.findOne({ where: { id: order_id } });
if (!order || !order.id) {
ctx.failed('error order');
}
const preferential = await this.getPreferential(order.type);
let preferential_price = 0;
let preferential_title = '';
if (!preferential || !preferential.id) {
preferential_price = preferential.price;
preferential_title = preferential.title;
}
const price = order.price - preferential_price;
await ctx.prometheusModel.CreditOrder.update({ price, preferential_price, preferential_id: preferential.id }, { where: { id: order.id } });
const type_obj = {
1: 'blacklist',
2: 'callrisk',
}
const ret = {
price,
original_price: order.price,
original_price_title: '原价',
preferential_price,
preferential_title,
order_no: order.order_no,
type: type_obj[order.type],
type_title: order.type === 1 ? '黑名单检测' : '个人通话风险检测',
}
return ret;
}
async checkOrderPay(order_id) {
const { ctx } = this;
......
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