Commit 14230c1c authored by Hsinli's avatar Hsinli

addd

parent cc515f10
Pipeline #13572 passed with stage
in 5 seconds
This diff is collapsed.
......@@ -213,6 +213,74 @@ class OrderService extends Service {
}
/**
* 生成订单
* @param {*} params
*/
async createOrder(params) {
const { ctx } = this;
let data = {
apply_id: params.apply_id,
report_id: params.report_id,
type: params.type,
user_id: ctx.userId,
app_user_id: ctx.userId,
app_id: ctx.appId,
app_type_id: ctx.AppTypeId,
price: params.type === 1 ? 29.9 : 15.9,
state: '待支付',
state_time: moment().format('YYYY-MM-DD HH:mm:ss'),
pay_status: 0,
valid: 1,
}
let order = await ctx.prometheusModel.CreditOrder.create(data);
//生成order_no
let orderNoType = type === 1 ? '00' : '01';
let orderNo = await ctx.service.credit.common.getOrdertNo(orderNoType, order.id);
await ctx.prometheusModel.CreditOrder.update({ order_no: orderNo }, { where: { id: order.id } });
return order;
}
/**
* 获取用户可以享受的优惠类型
* @param {*} type 用户当前操作的订单类型1黑名单2通话
*/
async getPreferential(type) {
const { ctx } = this;
//找到用户三日内已支付最新的另一个类型的订单,判断上次使用的优惠类型,互斥即可
let historyFilter = {
where: {
user_id: ctx.userId,
type: type === 1 ? 2 : 1,
valid: 1,
state: '已支付',
state_time: { $gte: moment().substract(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: 'limit',
type: type,
valid: 1,
},
order: [['id', 'desc']]
}
if (userLastOrder === null) {
preFilter.alias = 'limit';
} else {
let lastPre = await ctx.prometheusModel.CreditOrderPreferential.findOne({ where: { id: userLastOrder.preferential_id } });
preFilter.alias = lastPre === null ? 'limit' : (lastPre.alias === 'combina' ? 'limit' : 'combina');
}
let preferential = await ctx.prometheusModel.CreditOrderPreferential.findOne(preFilter);
return preferential;
}
}
module.exports = OrderService;
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