Commit 6c28df54 authored by 李尚科's avatar 李尚科

fix

parent 9c00589b
Pipeline #13914 passed with stage
in 33 seconds
...@@ -26,6 +26,13 @@ module.exports = app => { ...@@ -26,6 +26,13 @@ module.exports = app => {
preferential_price: DECIMAL, preferential_price: DECIMAL,
final_price: DECIMAL, final_price: DECIMAL,
state: STRING, state: STRING,
order_time: {
type: DATE,
get() {
const date = this.getDataValue('order_time');
return date ? moment(date).format('YYYY-MM-DD HH:mm:ss') : undefined;
},
},
state_time: { state_time: {
type: DATE, type: DATE,
get() { get() {
......
...@@ -300,12 +300,13 @@ class ApplyService extends Service { ...@@ -300,12 +300,13 @@ class ApplyService extends Service {
apply_id: apply.id, apply_id: apply.id,
report_id: report.id, report_id: report.id,
state: '待支付', state: '待支付',
order_time: moment().format('YYYY-MM-DD HH:mm:ss'),
state_time: moment().format('YYYY-MM-DD HH:mm:ss'), state_time: moment().format('YYYY-MM-DD HH:mm:ss'),
valid: 1 valid: 1
} }
await ctx.prometheusModel.CreditOrder.update(updateOrderData, { where: { id: order.id } }); await ctx.prometheusModel.CreditOrder.update(updateOrderData, { where: { id: order.id } });
let currentOrder = await ctx.prometheusModel.CreditOrder.findOne({ where: { id: order.id } }); // let currentOrder = await ctx.prometheusModel.CreditOrder.findOne({ where: { id: order.id } });
await ctx.service.credit.order.logOrder(currentOrder); await ctx.service.credit.order.logOrder(order.id);
return ret; return ret;
} }
...@@ -356,7 +357,7 @@ class ApplyService extends Service { ...@@ -356,7 +357,7 @@ class ApplyService extends Service {
} }
await ctx.prometheusModel.CreditOrder.update(update_order_data, { where: { id: order.id } }); await ctx.prometheusModel.CreditOrder.update(update_order_data, { where: { id: order.id } });
const current_order = await ctx.prometheusModel.CreditOrder.findOne({ where: { id: order.id } }); const current_order = await ctx.prometheusModel.CreditOrder.findOne({ where: { id: order.id } });
await ctx.service.credit.order.logOrder(current_order); await ctx.service.credit.order.logOrder(order.id);
return ret; return ret;
} }
......
...@@ -212,6 +212,7 @@ class CommonService extends Service { ...@@ -212,6 +212,7 @@ class CommonService extends Service {
if (total_fee == price && wexin_return_sign === sign) { if (total_fee == price && wexin_return_sign === sign) {
const state_time = moment().format('YYYY-MM-DD HH:mm:ss'); const state_time = moment().format('YYYY-MM-DD HH:mm:ss');
await ctx.prometheusModel.CreditPay.edit({ where: { id: pay_info.id }, params: { pay_result: JSON.stringify(result), transaction_id: sign_data.transaction_id, status: 1 } }); await ctx.prometheusModel.CreditPay.edit({ where: { id: pay_info.id }, params: { pay_result: JSON.stringify(result), transaction_id: sign_data.transaction_id, status: 1 } });
await ctx.service.credit.order.logOrder(order.id);
await ctx.prometheusModel.CreditOrder.update({ state: '已支付', state_time: state_time, pay_status: 1 }, { where: { id: order.id } }); await ctx.prometheusModel.CreditOrder.update({ state: '已支付', state_time: state_time, pay_status: 1 }, { where: { id: order.id } });
return true; return true;
} }
......
...@@ -61,21 +61,21 @@ class OrderService extends Service { ...@@ -61,21 +61,21 @@ class OrderService extends Service {
async updateOrderStateToOverdue(order) { async updateOrderStateToOverdue(order) {
const { ctx } = this; const { ctx } = this;
const { id, state_time, state, pay_status } = order; const { id, order_time, state, pay_status } = order;
if (!id || !state_time || !state || typeof (pay_status) === 'undefined') { if (!id || !order_time || !state || typeof (pay_status) === 'undefined') {
return order; return order;
} }
const expire_time = moment(state_time).valueOf() + 24 * 3600 * 1000; const expire_time = moment(order_time).valueOf() + 24 * 3600 * 1000;
const now_time = moment().valueOf(); const now_time = moment().valueOf();
const now_date = moment().format('YYYY-MM-DD HH:mm:ss'); const state_time = moment().format('YYYY-MM-DD HH:mm:ss');
// await this.logOrder(order); if (state === '支付中' && pay_status === 0 && moment(order_time).valueOf() * 300 < now_time) {
// if (state === '支付中' && pay_status === 0 && moment(order.state_time).valueOf() * 300 < now_time) { await this.logOrder(id);
// await ctx.prometheusModel.CreditOrder.update({ state: '待支付', state_time: state_time }, { where: { id } }); await ctx.prometheusModel.CreditOrder.update({ state: '待支付', state_time: state_time }, { where: { id } });
// } }
if (expire_time < now_time && (state === '待支付' || state === '已取消' || state === '支付中') && pay_status === 0) { if (expire_time < now_time && (state === '待支付' || state === '已取消' || state === '支付中') && pay_status === 0) {
const ret = await ctx.prometheusModel.CreditOrder.update({ state: '已失效', state_time: now_date }, { where: { id } }); await this.logOrder(id);
const ret = await ctx.prometheusModel.CreditOrder.update({ state: '已失效', state_time: state_time }, { where: { id } });
if (ret && ret[0]) { if (ret && ret[0]) {
await this.logOrder(order);
order.state = '已失效'; order.state = '已失效';
order.state_time = state_time; order.state_time = state_time;
} }
...@@ -95,10 +95,11 @@ class OrderService extends Service { ...@@ -95,10 +95,11 @@ class OrderService extends Service {
return status; return status;
} }
const state_time = moment().format('YYYY-MM-DD HH:mm:ss'); const state_time = moment().format('YYYY-MM-DD HH:mm:ss');
const where = { user_id, name, id_card, id: { $ne: id } }; const where = { user_id, name, id_card, id: { $ne: id }, pay_status: 0 };
const other_orders = await ctx.prometheusModel.CreditOrder.findAll({ where, }); const other_orders = await ctx.prometheusModel.CreditOrder.findAll({ where, });
for (let i in other_orders) { for (let i in other_orders) {
await this.logOrder(other_orders[i]); await this.logOrder(other_orders[i].id);
// await this.logOrder(other_orders[i]);
} }
const ret = await ctx.prometheusModel.CreditOrder.update({ state: '已取消', state_time: state_time }, { where }); const ret = await ctx.prometheusModel.CreditOrder.update({ state: '已取消', state_time: state_time }, { where });
if (ret && ret[0]) { if (ret && ret[0]) {
...@@ -249,6 +250,7 @@ class OrderService extends Service { ...@@ -249,6 +250,7 @@ class OrderService extends Service {
if (price === wexin_check_pay_ret.total_fee) { if (price === wexin_check_pay_ret.total_fee) {
await ctx.prometheusModel.CreditPay.edit({ where: { id: credit_pay.id }, params: { pay_result: JSON.stringify(wexin_check_pay_ret), status: 1 } }); await ctx.prometheusModel.CreditPay.edit({ where: { id: credit_pay.id }, params: { pay_result: JSON.stringify(wexin_check_pay_ret), status: 1 } });
const state_time = moment().format('YYYY-MM-DD HH:mm:ss'); const state_time = moment().format('YYYY-MM-DD HH:mm:ss');
await this.logOrder(order.id);
await ctx.prometheusModel.CreditOrder.update({ state: '已支付', state_time, pay_status: 1 }, { where: { id: order.id, pay_status: 0 } }) await ctx.prometheusModel.CreditOrder.update({ state: '已支付', state_time, pay_status: 1 }, { where: { id: order.id, pay_status: 0 } })
return true; return true;
} }
...@@ -274,7 +276,8 @@ class OrderService extends Service { ...@@ -274,7 +276,8 @@ class OrderService extends Service {
name: threeParams.name, name: threeParams.name,
phone: threeParams.phone, phone: threeParams.phone,
id_card: threeParams.id_card, id_card: threeParams.id_card,
state: '待支付', state: { $in: ['待支付', '支付中'] },
pay_status: 0,
valid: 1, valid: 1,
state_time: { $gte: moment().subtract(1, 'days').format('YYYY-MM-DD HH:mm:ss') } state_time: { $gte: moment().subtract(1, 'days').format('YYYY-MM-DD HH:mm:ss') }
} }
...@@ -328,7 +331,7 @@ class OrderService extends Service { ...@@ -328,7 +331,7 @@ class OrderService extends Service {
await this.addCreditPay(pay_data);//添加下单记录 await this.addCreditPay(pay_data);//添加下单记录
await this.updateOrderStateToCancel(order);//更新其他同姓名和身份证号的订单状态 await this.updateOrderStateToCancel(order);//更新其他同姓名和身份证号的订单状态
await this.updateOrderPrice(order);//更新金额 await this.updateOrderPrice(order);//更新金额
await this.logOrder(order);//订单状态变化日志记录 await this.logOrder(order.id);//订单状态变化日志记录
const state_time = moment().format('YYYY-MM-DD HH:mm:ss'); const state_time = moment().format('YYYY-MM-DD HH:mm:ss');
await ctx.prometheusModel.CreditOrder.update({ pay_method: type, state: '支付中', state_time }, { where: { id: order.id } });//更新状态 await ctx.prometheusModel.CreditOrder.update({ pay_method: type, state: '支付中', state_time }, { where: { id: order.id } });//更新状态
return { url: ret.mweb_url, order_id: order_id, trade_no: data.trade_no }; return { url: ret.mweb_url, order_id: order_id, trade_no: data.trade_no };
...@@ -374,7 +377,7 @@ class OrderService extends Service { ...@@ -374,7 +377,7 @@ class OrderService extends Service {
user_id: ctx.userId, user_id: ctx.userId,
// user_id: '8c3172a5-23b2-43d6-aa6c-5193f445bbe3', // user_id: '8c3172a5-23b2-43d6-aa6c-5193f445bbe3',
type: TypeConfig[type], type: TypeConfig[type],
state: '待支付', state: { $in: ['待支付', '支付中'] },
valid: 1, valid: 1,
state_time: { $gte: moment().subtract(1, 'days').format('YYYY-MM-DD HH:mm:ss') } state_time: { $gte: moment().subtract(1, 'days').format('YYYY-MM-DD HH:mm:ss') }
}, },
...@@ -412,13 +415,14 @@ class OrderService extends Service { ...@@ -412,13 +415,14 @@ class OrderService extends Service {
} }
//记录订单状态 //记录订单状态
async logOrder(order) { async logOrder(order_id) {
const { ctx } = this; const { ctx } = this;
const { id, type, phone, name, id_card, price, preferential_id, preferential_price, final_price, state, pay_status, pay_method, state_time, } = order; const order = await ctx.prometheusModel.CreditOrder.findOne({ where: { id: order_id } });
if (!order || !order.id) { if (!order || !order.id) {
ctx.failed('error order'); ctx.failed('error order');
} }
const { id, type, phone, name, id_card, price, preferential_id, preferential_price, final_price, state, pay_status, pay_method, state_time, } = order;
const order_id = id; const order_id = id;
const data = { const data = {
order_id, order_id,
......
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