Commit 3e1c2379 by 王昆

gsb

parent 3d1a0c0d
...@@ -46,6 +46,10 @@ class TradeService extends ServiceBase { ...@@ -46,6 +46,10 @@ class TradeService extends ServiceBase {
} }
async lockOrder(params) { async lockOrder(params) {
let order_type = this.trim(params.order_type);
if (["10", "20"].indexOf(order_type) == -1) {
return system.getResult(null, `order_type[${params.order_type || null}]设置错误`)
}
params.acc_type = this.trim(params.acc_type); params.acc_type = this.trim(params.acc_type);
params.fileUrl = this.trim(params.fileUrl); params.fileUrl = this.trim(params.fileUrl);
let itemList = params.itemList || []; let itemList = params.itemList || [];
...@@ -68,11 +72,19 @@ class TradeService extends ServiceBase { ...@@ -68,11 +72,19 @@ class TradeService extends ServiceBase {
// 计算预计付款金额 // 计算预计付款金额
let result = await this.countAmt(itemList, info, params); let result = await this.countAmt(itemList, info, params);
let current = new Date();
for (let item of itemList) { for (let item of itemList) {
item.amt = system.y2f(item.actual_amt); item.amt = system.y2f(item.actual_amt);
item.actual_amt = system.y2f(item.actual_amt); item.actual_amt = system.y2f(item.actual_amt);
item.deduct_amt = system.y2f(item.deduct_amt); item.deduct_amt = system.y2f(item.deduct_amt);
item.service_tax = system.y2f(item.service_tax); item.service_tax = system.y2f(item.service_tax);
item.trade_status = "01";
if (order_type == "20") {
item.trade_time = current;
item.trade_status = "00";
item.trade_desc = "商户自行交易";
}
} }
let out_trade_no = await this.redisClient.genrateId("gsb_out_trade_no"); let out_trade_no = await this.redisClient.genrateId("gsb_out_trade_no");
...@@ -89,7 +101,7 @@ class TradeService extends ServiceBase { ...@@ -89,7 +101,7 @@ class TradeService extends ServiceBase {
item_count: itemList.length, item_count: itemList.length,
acc_type: params.acc_type, acc_type: params.acc_type,
order_file: params.fileUrl, order_file: params.fileUrl,
order_type: "10", order_type: order_type,
// 付款凭证信息 // 付款凭证信息
pay_voucher: "", pay_voucher: "",
pay_bank_account: main.bank_account, pay_bank_account: main.bank_account,
...@@ -97,6 +109,14 @@ class TradeService extends ServiceBase { ...@@ -97,6 +109,14 @@ class TradeService extends ServiceBase {
pay_bank_no: main.bank_no, pay_bank_no: main.bank_no,
itemList: itemList itemList: itemList
}; };
// 商户交易上传
if (order_type == "20") {
order.trade_status = "00";
order.check_status = "05";
order.check1_remark = "商户自行交易";
order.check2_remark = "商户自行交易";
}
let rs = await this.callms("trade", "orderAdd", order); let rs = await this.callms("trade", "orderAdd", order);
if (rs.data) { if (rs.data) {
this.transFields([rs.data]); this.transFields([rs.data]);
...@@ -118,6 +138,11 @@ class TradeService extends ServiceBase { ...@@ -118,6 +138,11 @@ class TradeService extends ServiceBase {
} }
async parseItems(params) { async parseItems(params) {
params.order_type = this.trim(params.order_type);
if (["10", "20"].indexOf(params.order_type) == -1) {
return system.getResult(null, `order_type[${params.order_type || null}]设置错误`)
}
// 获取商户签约信息 // 获取商户签约信息
let info = await this.merchantSve.signInfo({id: params.saas_merchant_id}) || {}; let info = await this.merchantSve.signInfo({id: params.saas_merchant_id}) || {};
info = info.data || {}; info = info.data || {};
...@@ -134,6 +159,7 @@ class TradeService extends ServiceBase { ...@@ -134,6 +159,7 @@ class TradeService extends ServiceBase {
// 计算预计付款基恩 // 计算预计付款基恩
let result = await this.countAmt(itemList, info, params); let result = await this.countAmt(itemList, info, params);
result.order_type = params.order_type;
// 封装返回对象 // 封装返回对象
result.error = error; result.error = error;
if (result.error) { if (result.error) {
...@@ -248,6 +274,12 @@ class TradeService extends ServiceBase { ...@@ -248,6 +274,12 @@ class TradeService extends ServiceBase {
creditCodes: creditCodes, creditCodes: creditCodes,
attrs: "credit_code" attrs: "credit_code"
}); });
let order_type = this.trim(params.order_type);
let amtName = "商户请求打款金额";
if (order_type == "20") {
amtName = "实发金额";
}
for (let data of itemList) { for (let data of itemList) {
this.checkField(data, "acc_name", {name: "收款户名", is_require: true, maxLen: 64}); this.checkField(data, "acc_name", {name: "收款户名", is_require: true, maxLen: 64});
let bm = creditCodeMap[data.credit_code]; let bm = creditCodeMap[data.credit_code];
...@@ -257,7 +289,7 @@ class TradeService extends ServiceBase { ...@@ -257,7 +289,7 @@ class TradeService extends ServiceBase {
this.checkField(data, "credit_code", {name: "个体户统一信用代码", is_require: true, eqLen: 18}); this.checkField(data, "credit_code", {name: "个体户统一信用代码", is_require: true, eqLen: 18});
this.checkField(data, "acc_no", {name: "收款账号", is_require: true, maxLen: 30, is_number: true}); this.checkField(data, "acc_no", {name: "收款账号", is_require: true, maxLen: 30, is_number: true});
this.checkField(data, "open_bank", {name: "开户银行全称", maxLen: 100}); this.checkField(data, "open_bank", {name: "开户银行全称", maxLen: 100});
this.checkField(data, "amt", {name: "商户请求打款金额", is_require: true, maxLen: 100, is_number: true}); this.checkField(data, "amt", {name: amtName, is_require: true, maxLen: 100, is_number: true});
this.checkField(data, "remark", {name: "备注", maxLen: 100}); this.checkField(data, "remark", {name: "备注", maxLen: 100});
if (!error && data.errors.length > 0) { if (!error && data.errors.length > 0) {
...@@ -298,9 +330,6 @@ class TradeService extends ServiceBase { ...@@ -298,9 +330,6 @@ class TradeService extends ServiceBase {
if (rule.is_number && isNaN(v)) { if (rule.is_number && isNaN(v)) {
data.errors.push(`${rule.name}需要填写数字类型`); data.errors.push(`${rule.name}需要填写数字类型`);
} }
if (rule.is_number && isNaN(v)) {
data.errors.push(`${rule.name}需要填写数字类型`);
}
} }
transFields(rows) { transFields(rows) {
......
...@@ -96,6 +96,7 @@ ...@@ -96,6 +96,7 @@
"status": 0, "status": 0,
"msg": "success", "msg": "success",
"data": { "data": {
"order_type": "10", // 10批量上传 20交易上传
"actual_amt": "131083.32", // 实发总额 "actual_amt": "131083.32", // 实发总额
"deduct_amt": "133704.99", // 扣除总额 "deduct_amt": "133704.99", // 扣除总额
"service_tax": "2621.67", // 服务费 "service_tax": "2621.67", // 服务费
......
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