Commit 2d13addb authored by 姜登's avatar 姜登

gjj

parent d62dd15d
Pipeline #4067 passed with stage
in 47 seconds
...@@ -50,13 +50,27 @@ class OrderController extends Controller { ...@@ -50,13 +50,27 @@ class OrderController extends Controller {
const uuid = require('node-uuid'); const uuid = require('node-uuid');
ctx.validate(this.createRule); ctx.validate(this.createRule);
let { appKey, userId, notifyUrl, backUrl, orderId } = ctx.request.body; let { appKey, userId, notifyUrl, backUrl, orderId } = ctx.request.body;
orderId = orderId || uuid.v1(); if (orderId) {
await service.order.update({ await service.order.update({
orderId,
taskId: '',
userId: userId || '',
cityId: '',
notifyUrl: (ctx.app.notifyMap.get(appKey) && ctx.app.notifyMap.get(appKey).notifyUrl) || '',
backUrl: backUrl || '',
appKey: appKey,
status: 'init',
})
ctx.success({ orderId });
return
}
orderId = uuid.v1();
await service.order.create({
orderId, orderId,
taskId: '', taskId: '',
userId: userId || '', userId: userId || '',
cityId: '', cityId: '',
notifyUrl: notifyUrl || (ctx.app.notifyMap.get(appKey) && ctx.app.notifyMap.get(appKey).notifyUrl) || '', notifyUrl: notifyUrl || '',
backUrl: backUrl || '', backUrl: backUrl || '',
appKey: appKey, appKey: appKey,
status: 'init', status: 'init',
......
...@@ -20,40 +20,33 @@ class OrderService extends Service { ...@@ -20,40 +20,33 @@ class OrderService extends Service {
async create(params) { async create(params) {
const { ctx } = this; const { ctx } = this;
// const order = await ctx.model.TaskStatus.findOne({
// where: { orderId: params.orderId },
// });
// if (order) {
// ctx.throw(400, { message: 'already have order' });
// }
await ctx.model.TaskStatus.create(params); await ctx.model.TaskStatus.create(params);
return; return;
} }
async update(params) { async update(params) {
const { ctx } = this; const { ctx } = this;
const order = await ctx.model.TaskStatus.findOne({ const order = await ctx.model.TaskStatus.findAll({
where: { orderId: params.orderId }, where: { orderId: params.orderId },
order: [['updateDate', 'DESC']] order: [['createDate', 'DESC']],
}); });
if (!order) { if (order.length === 0) {
ctx.throw(400, { message: 'no order' }); ctx.throw(400, { message: 'no order' });
return;
} }
if (params.orderId) { for (const item of order) {
const success = await ctx.model.TaskStatus.findOne({ if (item.status === 'success') {
where: { orderId: params.orderId, status: 'success' }, ctx.throw(400, { message: 'orderId success' });
}); return;
if (success) {
ctx.throw(400, { message: 'order success' });
} }
} }
const { appKey, taskId, notifyUrl, backUrl, userId } = order; const { appKey, taskId, notifyUrl, backUrl, userId } = order[0];
if (taskId) { if (taskId) {
await ctx.model.TaskStatus.create({ appKey, status: 'init', notifyUrl, backUrl, userId, ...params }) await ctx.model.TaskStatus.create({ appKey, status: 'init', notifyUrl, backUrl, userId, ...params })
} else { } else {
await order.update(params); await order[0].update(params);
} }
return order; return order[0];
} }
} }
......
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