Commit 118e9ccb by 王昆

gsb

parent 9b99fe02
......@@ -132,6 +132,9 @@ class ActionAPI extends APIBase {
case "saasOrderPlatformOrderInfo": // 订单信息
opResult = await this.saasorderSve.platformOrderInfo(action_body);
break;
case "saasOrderMerchantOrderInfo": // 订单信息
opResult = await this.saasorderSve.merchantOrderInfo(action_body);
break;
case "saasOrderPage": // 订单信息
opResult = await this.saasorderSve.pageByCondition(action_body);
break;
......@@ -141,6 +144,9 @@ class ActionAPI extends APIBase {
case "saasOrderDeliver": // 订单信息
opResult = await this.saasorderSve.deliver(action_body);
break;
case "saasOrderBulkOfflinePay": // 订单信息
opResult = await this.saasorderSve.bulkOfflinePay(action_body);
break;
//******************************************************************** */
// // 订单
......
const system = require("../../../system");
const Dao = require("../../dao.base");
class SaasOrderDao extends Dao {
constructor() {
super(Dao.getModelName(SaasOrderDao));
......@@ -63,10 +64,14 @@ class SaasOrderDao extends Dao {
sql.push("AND t1.audit_status = :audit_status");
}
if (params.handle_status) {
sql.push("AND t1.handle_status = :handle_status");
}
if (params.saas_merchant_id) {
sql.push("AND t1.merchant_id = :saas_merchant_id");
}
if (params.createBegin) {
sql.push("AND t1.created_at >= :createBegin");
}
......@@ -79,14 +84,14 @@ class SaasOrderDao extends Dao {
sql.push("AND t2.legal_idno = :legal_idno");
}
if(params.merchant_app_user_id) {
if (params.merchant_app_user_id) {
sql.push("AND t2.merchant_app_user_id = :merchant_app_user_id");
}
}
async mapByIds(ids, attrs) {
let result = {};
if (!ids || ids.length == 0) {
return result;
}
......@@ -108,6 +113,7 @@ class SaasOrderDao extends Dao {
}
return result;
}
}
module.exports = SaasOrderDao;
\ No newline at end of file
......@@ -9,6 +9,8 @@ class SaasOrderService extends ServiceBase {
this.saasorderbminfoDao = system.getObject("db.saas.saasorderbminfoDao");
this.saasorderpayDao = system.getObject("db.saas.saasorderpayDao");
this.saasorderdeliverinfoDao = system.getObject("db.saas.saasorderdeliverinfoDao");
this.redisClient = system.getObject("util.redisClient");
}
// -----------------------以此间隔,上面为API,下面为service---------------------------------
......@@ -93,6 +95,58 @@ class SaasOrderService extends ServiceBase {
return system.getResultSuccess(result);
}
// 平台订单信息查询
async merchantOrderInfo(params) {
if (!params.id) {
return system.getResult(null, "id不存在");
}
let order = await this.dao.getById(params.id);
if (!order) {
return system.getResult(null, "订单不存在");
}
this.handleDate(order, ["created_at"], null, -8);
await this.setOrderStatus([order]);
let bminfo = await this.saasorderbminfoDao.getById(params.id) || {};
let deliverInfo = await this.saasorderdeliverinfoDao.getById(params.id) || {};
let payList = await this.saasorderpayDao.findByOrderId(params.id) || [];
let payInfo = payList.length > 0 ? payList[0] : {};
this.handleDate(payInfo, ["created_at"], null, -8);
let result = {
baseInfo: {
id: order.id,
created_at: order.created_at,
status_name: order.status_name,
price: system.f2y(order.price),
},
regInfo: {
legal_name: bminfo.legal_name,
legal_idno: bminfo.legal_idno,
legal_mobile: bminfo.legal_mobile,
company_names: bminfo.company_names,
idcard_front: bminfo.idcard_front,
idcard_back: bminfo.idcard_back,
},
merchantDeliverInfo: {
merchant_deliver_man: deliverInfo.merchant_deliver_man,
merchant_deliver_mobile: deliverInfo.merchant_deliver_mobile,
merchant_deliver_addr: deliverInfo.merchant_deliver_addr,
},
payInfo: {
amount: system.f2y(payInfo.amount),
created_at: payInfo.created_at,
trade_no: (payInfo.trade_no || payInfo.id),
pay_voucher_img: payInfo.pay_voucher_img,
},
deliverInfo: {
deliver_express_no: deliverInfo.deliver_express_no,
deliver_express_img: deliverInfo.deliver_express_img,
},
}
return system.getResultSuccess(result);
}
async microAdd(params) {
let saas_id = this.trim(params.saas_id);
......@@ -137,6 +191,7 @@ class SaasOrderService extends ServiceBase {
params.startRow = (params.currentPage - 1) * params.pageSize;
await this.parseStatus(params);
page.total = await this.dao.countByCondition(params);
if (page.total == 0) {
return system.getResultSuccess(page);
......@@ -154,6 +209,23 @@ class SaasOrderService extends ServiceBase {
return system.getResultSuccess(page);
}
async parseStatus(params) {
if (!params || !params.status || params.status.length != 4) {
return;
}
let type = params.status.slice(0, 2);
let status = params.status.slice(2);
if (type == "10") {
params.pay_status = status;
} else if (type == "20") {
params.audit_status = status;
} else if (type == "30") {
params.handle_status = status;
} else {
}
}
async setOrderStatus(rows) {
if (!rows || rows.length == 0) {
return;
......@@ -252,6 +324,7 @@ class SaasOrderService extends ServiceBase {
let _order = {id: id};
_order.audit_status = audit_status;
_order.handle_status = "10";
_order.audit_remark = this.trim(params.audit_remark);
let _deliverInfo;
......@@ -317,6 +390,55 @@ class SaasOrderService extends ServiceBase {
});
return system.getResultSuccess();
}
async bulkOfflinePay(params) {
let ids = params.ids || [];
for (let id of ids) {
try {
params.id = id;
await this.offlinePay(params);
console.log(id);
} catch (e) {
console.log(e);
}
}
return system.getResultSuccess();
}
async offlinePay(params) {
let id = this.trim(params.id);
let order = await this.dao.findById(id);
if(order.pay_status != "10") {
return;
}
let _order = {id: id};
_order.pay_status = "20";
_order.audit_status = "10";
let _deliverInfo = {id: id};
_deliverInfo.merchant_deliver_man = this.trim(params.merchant_deliver_man);
_deliverInfo.merchant_deliver_mobile = this.trim(params.merchant_deliver_mobile);
_deliverInfo.merchant_deliver_addr = this.trim(params.merchant_deliver_addr);
let _pay = {
order_id: id,
pay_type: 1,
amount: order.price,
pay_status: "20",
pay_voucher_img: this.trim(params.pay_voucher_img),
};
_pay.trade_no = await this.redisClient.genrateId("saas_order_trade_no");
let self = this;
this.db.transaction(async t => {
await self.dao.update(_order, t);
await self.saasorderdeliverinfoDao.update(_deliverInfo, t);
await self.saasorderpayDao.create(_pay, t);
return 1;
});
}
}
module.exports = SaasOrderService;
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