Commit 444b026c by 孙亚楠

d

parent 48d2cc26
...@@ -52,7 +52,6 @@ class OorderService extends ServiceBase { ...@@ -52,7 +52,6 @@ class OorderService extends ServiceBase {
* @params customer_name 客户名称 * @params customer_name 客户名称
*/ */
async addSourceOrder(params) { async addSourceOrder(params) {
// 整理参数 // 整理参数
let order = { let order = {
merchant_id: "", merchant_id: "",
...@@ -71,69 +70,76 @@ class OorderService extends ServiceBase { ...@@ -71,69 +70,76 @@ class OorderService extends ServiceBase {
order.service_items = this.trim(params.service_items); order.service_items = this.trim(params.service_items);
order.ali_deliver_api = this.trim(params.ali_deliver_api) || ""; order.ali_deliver_api = this.trim(params.ali_deliver_api) || "";
order.saas_id = this.trim(params.saas_id) || ""; order.saas_id = this.trim(params.saas_id) || "";
// 验证订单是否存在 try {
let exists = await this.dao.findOne({ source_id: order.source_id, source_no: order.source_no }); // 验证订单是否存在
if (exists) { let exists = await this.dao.findOne({ source_id: order.source_id, source_no: order.source_no });
return system.getResult(null, `订单号${order.source_no}已存在`); if (exists) {
} return system.getResult(null, `订单号${order.source_no}已存在`);
// 验证来源 }
let source = await this.osourceDao.findById(order.source_id); // 验证来源
if (!source) { let source = await this.osourceDao.findById(order.source_id);
return system.getResult(null, "来源错误"); if (!source) {
} return system.getResult(null, "来源错误");
}
// 验证产品 // 验证产品
let product = await this.oproductDao.findById(order.product_id); let product = await this.oproductDao.findById(order.product_id);
if (!product) { if (!product) {
return system.getResult(null, "产品错误"); return system.getResult(null, "产品错误");
} }
let productItemIds = []; let productItemIds = [];
if (params.chooseItems && params.chooseItems.length > 0) { if (params.chooseItems && params.chooseItems.length > 0) {
for (let productId of params.chooseItems) { for (let productId of params.chooseItems) {
productItemIds.push(Number(productId)); productItemIds.push(Number(productId));
}
} }
}
// 构建订单流程列表 // 构建订单流程列表
let orderProcessList = await this.buildOrderProcess(order.product_id, productItemIds); let orderProcessList = await this.buildOrderProcess(order.product_id, productItemIds);
if (!orderProcessList || orderProcessList.length == 0) { if (!orderProcessList || orderProcessList.length == 0) {
return system.getResult(null, "产品流程未配置"); return system.getResult(null, "产品流程未配置");
} }
order.status = orderProcessList[0].status; order.status = orderProcessList[0].status;
// 开启事务 // 开启事务
var self = this; var self = this;
let orderReg = this.buildRegInfo(params.bminfo,params); let orderReg = this.buildRegInfo(params.bminfo,params);
await this.db.transaction(async function (t) { await this.db.transaction(async function (t) {
// 插入订单数据 // 插入订单数据
order = await self.dao.create(order, t); order = await self.dao.create(order, t);
// 插入订单状态数据
for (let op of orderProcessList) {
op.order_id = order.id;
}
await self.oorderprocessDao.bulkCreate(orderProcessList, t);
orderReg.id = order.id;
orderReg.saas_id = order.saas_id
await self.oorderinforegDao.create(orderReg, t);
//如果存在交付商ID 则需要创建交付商记录 并更新订单表的交付商信息
if(params.deliver_id){
let _oorderdeliver = await self.oorderdeliverDao.create({
order_id:order.id,
deliver_id:self.trim(params.deliver_id),
deliver_name:self.trim(params.deliver_name),
deliver_divide:self.trim(params.deliver_divide) || 0,
delier_user_id : self.trim(params.delier_user_id),
deliver_user_path: self.trim(params.deliver_user_path),
saas_id: self.trim(params.saas_id)
}, t);
await self.dao.update({id:order.id,deliver_id:_oorderdeliver.id},t);
}
});
await this.getOrderProcessStatus(order.id, order.status);
return system.getResult(order);
}catch (e) {
console.log(e);
return system.getResult(null, `系统错误`);
}
// 插入订单状态数据
for (let op of orderProcessList) {
op.order_id = order.id;
}
await self.oorderprocessDao.bulkCreate(orderProcessList, t);
orderReg.id = order.id;
await self.oorderinforegDao.create(orderReg, t);
//如果存在交付商ID 则需要创建交付商记录 并更新订单表的交付商信息
if(params.deliver_id){
let _oorderdeliver = await self.oorderdeliverDao.create({
order_id:order.id,
deliver_id:self.trim(params.deliver_id),
deliver_name:self.trim(params.deliver_name),
deliver_divide:self.trim(params.deliver_divide) || 0,
delier_user_id : self.trim(params.delier_user_id),
deliver_user_path: self.trim(params.deliver_user_path),
saas_id: self.trim(params.saas_id)
}, t);
await self.dao.update({id:order.id,deliver_id:_oorderdeliver.id},t);
}
});
await this.getOrderProcessStatus(order.id, order.status);
return system.getResult(order);
} }
buildRegInfo(bminfo,params) { buildRegInfo(bminfo,params) {
...@@ -157,7 +163,7 @@ class OorderService extends ServiceBase { ...@@ -157,7 +163,7 @@ class OorderService extends ServiceBase {
obj.guest_mail_addr = this.trim(params.guest_mail_addr) || ""; obj.guest_mail_addr = this.trim(params.guest_mail_addr) || "";
obj.guest_mail_to= this.trim(params.guest_mail_to) || ""; obj.guest_mail_to= this.trim(params.guest_mail_to) || "";
obj.guest_mail_mobile= this.trim(params.guest_mail_mobile) || ""; obj.guest_mail_mobile= this.trim(params.guest_mail_mobile) || "";
obj.saas_id= this.trim(params.saas_id) || "";
// 这些字段在交付系统里暂时没有 // 这些字段在交付系统里暂时没有
// `bank_front` '银行卡正面照片', // `bank_front` '银行卡正面照片',
// `bank_back` '银行卡背面照片', // `bank_back` '银行卡背面照片',
......
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