Commit c9f6fca0 authored by Hsinli's avatar Hsinli

addd

parent 4a5c4a35
Pipeline #13775 passed with stage
in 46 seconds
......@@ -119,7 +119,7 @@ class OrderService extends Service {
}
const slag = TypeConfigFlip[type];
const preferential = await this.getPreferential(slag);
const preferential = await ctx.service.credit.preferential.getPreferential(slag);
let preferential_price = 0;
if (preferential && preferential.id) {
preferential_price = preferential.price;
......@@ -198,7 +198,7 @@ class OrderService extends Service {
if (!order || !order.id) {
ctx.failed('error order');
}
const preferential = await this.getPreferential(TypeConfigFlip[order.type]);
const preferential = await ctx.service.credit.preferential.getPreferential(TypeConfigFlip[order.type]);
let preferential_price = 0;
let preferential_title = '';
if (preferential && preferential.id) {
......@@ -413,49 +413,6 @@ class OrderService extends Service {
return order;
}
/**
* 获取用户可以享受的优惠类型
* @param {*} type 用户当前操作的订单类型黑名单blacklist通话callrisk
*/
async getPreferential(type) {
const { ctx } = this;
//找到用户三日内已支付最新的另一个类型的订单,判断上次使用的优惠类型,互斥即可
if (!TypeConfig.hasOwnProperty(type)) {
ctx.failed('undefined type in getPreferential');
}
let anotherType = type === 'blacklist' ? 'callrisk' : 'blacklist';
let historyFilter = {
where: {
user_id: ctx.userId,
type: TypeConfig[anotherType],
valid: 1,
state: '已支付',
state_time: { $gte: moment().subtract(3, 'days').format('YYYY-MM-DD HH:mm:ss') }
},
order: [['state_time', 'desc']]
}
let userLastOrder = await ctx.prometheusModel.CreditOrder.findOne(historyFilter);
let preFilter = {
where: {
alias: '',
type: TypeConfig[type],
valid: 1,
},
order: [['id', 'desc']]
}
if (userLastOrder === null) {
preFilter.where.alias = 'limit';
} else {
let lastPre = await ctx.prometheusModel.CreditOrderPreferential.findOne({ where: { id: userLastOrder.preferential_id } });
preFilter.where.alias = lastPre === null ? 'limit' : (lastPre.alias === 'combina' ? 'limit' : 'combina');
}
let preferential = await ctx.prometheusModel.CreditOrderPreferential.findOne(preFilter);
return preferential;
}
//记录订单状态
async logOrder(order) {
......
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