Commit f3237448 by 孙亚楠

Merge branch 'xggsve-order-dev' of gitlab.gongsibao.com:jiangyong/zhichan into xggsve-order-dev

parents 486fd5df 3f5cbd63
const system = require("../../../system"); const system = require("../../../system");
const Dao = require("../../dao.base"); const Dao = require("../../dao.base");
class OorderprocessDao extends Dao { class OorderprocessDao extends Dao {
constructor() { constructor() {
super(Dao.getModelName(OorderprocessDao)); super(Dao.getModelName(OorderprocessDao));
} }
async mapByOrderIdsAndStatus(orderIds, statuses) { async findByOrderIdAndStatus(orderId, status) {
if (!orderId || !status) {
return null;
}
let sql = [];
sql.push("SELECT");
sql.push("*");
sql.push("FROM `o_order_process`");
sql.push("WHERE order_id = :orderId");
sql.push("AND `status` = :status");
let list = await this.customQuery(sql.join(" "), {orderId: orderId, status: status});
if (!list || list.length == 0) {
return null;
}
return list[0];
}
async listByOrderIdsAndStatus(orderIds, statuses) {
var result = {}; var result = {};
if(!orderIds || orderIds.length == 0 || !statuses || statuses.length == 0) { if (!orderIds || orderIds.length == 0 || !statuses || statuses.length == 0) {
return result; return result;
} }
let sql = []; let sql = [];
...@@ -17,8 +36,12 @@ class OorderprocessDao extends Dao { ...@@ -17,8 +36,12 @@ class OorderprocessDao extends Dao {
sql.push("WHERE order_id IN (:orderIds)"); sql.push("WHERE order_id IN (:orderIds)");
sql.push("AND `status` IN (:statuses)"); sql.push("AND `status` IN (:statuses)");
let list = await this.customQuery(sql.join(" "), {orderIds: orderIds, statuses: statuses}); return await this.customQuery(sql.join(" "), {orderIds: orderIds, statuses: statuses});
}
async mapByOrderIdsAndStatus(orderIds, statuses) {
var result = {};
let list = await this.listByOrderIdsAndStatus(orderIds, statuses);
if (!list || list.length == 0) { if (!list || list.length == 0) {
return result; return result;
} }
...@@ -29,4 +52,5 @@ class OorderprocessDao extends Dao { ...@@ -29,4 +52,5 @@ class OorderprocessDao extends Dao {
return result; return result;
} }
} }
module.exports = OorderprocessDao; module.exports = OorderprocessDao;
...@@ -36,17 +36,27 @@ class OorderstatusService extends ServiceBase { ...@@ -36,17 +36,27 @@ class OorderstatusService extends ServiceBase {
return system.getResult(null, `订单不存在`); return system.getResult(null, `订单不存在`);
} }
let _orderStatus = await this.getOrderProcessStatus(_order.id, _order.status); let _orderStatus = await this.getOrderProcessStatus(_order.id, _order.status);
let nextStatus = JSON.parse(_orderStatus.next_status); let nextList = JSON.parse(_orderStatus.next_status);
var statuses = []; let flag = false;
for (var ns of nextStatus) { let nextNames = [];
statuses.push(ns.next_status); for (var nextItem of nextList) {
nextNames.push(nextItem.next_name);
if(nextItem.next_status == params.status) {
flag = true;
break;
} }
if (statuses.indexOf(params.status) == -1) {
return system.getResult(null, `订单状态错误,下一订单状态应该是${nextStatus.next_name}`);
} }
if (!flag) {
nextNames = nextNames.join("或");
return system.getResult(null, `订单状态错误,下一订单状态应该是${nextNames}`);
}
let nextStatus = await this.oorderprocessDao.findByOrderIdAndStatus(_order.id, params.status);
params._order = _order; params._order = _order;
//调用对应的方法 TODO SOMETHING ..... //调用对应的方法 TODO SOMETHING .....
// 调用func
// await this[nextStatus.func](params);
} catch (error) { } catch (error) {
......
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