Commit 19837bd3 by 王昆

gsb

parent 4a177d0f
...@@ -5,6 +5,16 @@ class TradeCtl extends CtlBase { ...@@ -5,6 +5,16 @@ class TradeCtl extends CtlBase {
constructor() { constructor() {
super(); super();
this.tradeSve = system.getObject("service.trade.tradeSve"); this.tradeSve = system.getObject("service.trade.tradeSve");
this.redisClient = system.getObject("util.redisClient");
}
async orderPage(params, pobj2, req) {
try {
this.doTimeCondition(params, ["createBegin", "createEnd"]);
return await this.tradeSve.orderPage(params);
} catch (error) {
return system.getResult(null, `系统错误 错误信息 ${error}`);
}
} }
async parseItems(params, pobj2, req) { async parseItems(params, pobj2, req) {
...@@ -24,6 +34,22 @@ class TradeCtl extends CtlBase { ...@@ -24,6 +34,22 @@ class TradeCtl extends CtlBase {
} }
} }
async offlinePay(params, pobj2, req) {
try {
return await this.tradeSve.offlinePay(params);
} catch (error) {
return system.getResult(null, `系统错误 错误信息 ${error}`);
}
}
async itemPage(params, pobj2, req) {
try {
this.doTimeCondition(params, ["createBegin", "createEnd"]);
return await this.tradeSve.itemPage(params);
} catch (error) {
return system.getResult(null, `系统错误 错误信息 ${error}`);
}
}
} }
module.exports = TradeCtl; module.exports = TradeCtl;
\ No newline at end of file
const system = require("../../../system");
const Dao = require("../../dao.base");
class SynlogDao extends Dao {
constructor() {
super(Dao.getModelName(SynlogDao));
}
}
module.exports = SynlogDao;
\ No newline at end of file
const system = require("../../../system");
const settings = require("../../../../config/settings");
const uiconfig = system.getUiConfig2(settings.appKey);
module.exports = (db, DataTypes) => {
return db.define("synlog", {
apiUrl: DataTypes.STRING,
apiName: DataTypes.STRING,
apiReq: DataTypes.STRING,
apiRes: DataTypes.STRING,
}, {
paranoid: true, //假的删除
underscored: true,
version: true,
freezeTableName: true,
//freezeTableName: true,
// define the table's name
tableName: 'xgg_syn_log',
validate: {},
indexes: [
// Create a unique index on email
// {
// unique: true,
// fields: ['email']
// },
//
// // Creates a gin index on data with the jsonb_path_ops operator
// {
// fields: ['data'],
// using: 'gin',
// operator: 'jsonb_path_ops'
// },
//
// // By default index name will be [table]_[fields]
// // Creates a multi column partial index
// {
// name: 'public_by_author',
// fields: ['author', 'status'],
// where: {
// status: 'public'
// }
// },
//
// // A BTREE index with a ordered field
// {
// name: 'title_index',
// method: 'BTREE',
// fields: ['author', {attribute: 'title', collate: 'en_US', order: 'DESC', length: 5}]
// }
]
});
}
\ No newline at end of file
...@@ -12,6 +12,26 @@ class TradeService extends ServiceBase { ...@@ -12,6 +12,26 @@ class TradeService extends ServiceBase {
this.redisClient = system.getObject("util.redisClient"); this.redisClient = system.getObject("util.redisClient");
} }
async orderPage(params) {
params.currentPage = Number(params.currentPage || 1);
params.pageSize = Number(params.pageSize || 10);
let rs = await this.callms("trade", "orderPage", params) || {};
if(rs.data && rs.data.rows) {
this.transFields(rs.data.rows);
}
return rs;
}
async itemPage(params) {
params.currentPage = Number(params.currentPage || 1);
params.pageSize = Number(params.pageSize || 10);
let rs = await this.callms("trade", "itemPage", params) || {};
if(rs.data && rs.data.rows) {
this.transFields(rs.data.rows);
}
return rs;
}
async lockOrder(params) { async lockOrder(params) {
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);
...@@ -48,7 +68,7 @@ class TradeService extends ServiceBase { ...@@ -48,7 +68,7 @@ class TradeService extends ServiceBase {
saas_id: params.saas_id, saas_id: params.saas_id,
saas_merchant_id: params.saas_merchant_id, saas_merchant_id: params.saas_merchant_id,
out_trade_no: out_trade_no, out_trade_no: out_trade_no,
service_rate: system.f2y(info.trans_service_rate), service_rate: system.y2f(info.trans_service_rate),
amt: system.y2f(result.actual_amt), amt: system.y2f(result.actual_amt),
actual_amt: system.y2f(result.actual_amt), actual_amt: system.y2f(result.actual_amt),
deduct_amt: system.y2f(result.deduct_amt), deduct_amt: system.y2f(result.deduct_amt),
...@@ -63,7 +83,20 @@ class TradeService extends ServiceBase { ...@@ -63,7 +83,20 @@ class TradeService extends ServiceBase {
pay_bank_no: main.bank_no, pay_bank_no: main.bank_no,
itemList: itemList itemList: itemList
}; };
let rs = await this.callms("trade", "saveOrder", order); let rs = await this.callms("trade", "orderAdd", order);
return rs;
}
async offlinePay(params) {
params.type = "offline";
params.pay_voucher = this.trim(params.pay_voucher);
params.pay_bank_account = this.trim(params.pay_bank_account);
params.pay_bank_name = this.trim(params.pay_bank_name);
params.pay_bank_no = this.trim(params.pay_bank_no);
if (!params.pay_voucher) {
return system.getResult(null, "请上传凭证");
}
let rs = await this.callms("trade", "orderPay", params);
return rs; return rs;
} }
...@@ -87,7 +120,7 @@ class TradeService extends ServiceBase { ...@@ -87,7 +120,7 @@ class TradeService extends ServiceBase {
} }
async countAmt(itemList, info) { async countAmt(itemList, info) {
let result = {amt:0, actual_amt: 0, deduct_amt: 0, service_tax: 0}; let result = {amt: 0, actual_amt: 0, deduct_amt: 0, service_tax: 0};
if (!itemList) { if (!itemList) {
return result; return result;
} }
...@@ -106,11 +139,11 @@ class TradeService extends ServiceBase { ...@@ -106,11 +139,11 @@ class TradeService extends ServiceBase {
result.service_tax = Number(result.service_tax) + Number(data.service_tax); result.service_tax = Number(result.service_tax) + Number(data.service_tax);
// 总实发 // 总实发
result.actual_amt = Number(result.actual_amt) + Number(data.actual_amt); result.actual_amt = Number(result.actual_amt) + Number(data.actual_amt);
// 总扣款
result.deduct_amt = Number(result.service_tax) + Number(data.deduct_amt);
// 总请求打款 // 总请求打款
result.amt = Number(result.amt) + amt; result.amt = Number(result.amt) + amt;
} }
// 总扣款
result.deduct_amt = Number(result.service_tax) + Number(result.actual_amt);
return result; return result;
} }
...@@ -221,6 +254,19 @@ class TradeService extends ServiceBase { ...@@ -221,6 +254,19 @@ class TradeService extends ServiceBase {
} }
} }
transFields(rows) {
if(!rows || rows.length == 0) {
return;
}
for(let row of rows) {
row.amt = system.f2y(row.amt);
row.actual_amt = system.f2y(row.actual_amt);
row.deduct_amt = system.f2y(row.deduct_amt);
row.service_tax = system.f2y(row.service_tax);
row.service_rate = system.f2y(row.service_rate);
}
}
} }
module.exports = TradeService; module.exports = TradeService;
\ No newline at end of file
...@@ -8,6 +8,7 @@ const axios = require('axios'); ...@@ -8,6 +8,7 @@ const axios = require('axios');
class ServiceBase { class ServiceBase {
constructor() { constructor() {
this.restClient = system.getObject("util.restClient"); this.restClient = system.getObject("util.restClient");
this.synlogDao = system.getObject("db.log.synlogDao");
this.micro = system.microsetting(); this.micro = system.microsetting();
} }
...@@ -251,6 +252,27 @@ class ServiceBase { ...@@ -251,6 +252,27 @@ class ServiceBase {
} }
} }
async callApi(url, data, name) {
let log = await this.synlogDao.create({
apiUrl: url,
apiName: name,
apiReq: JSON.stringify(data),
apiRes: "",
});
let res = await axios({
method: 'post',
url: url,
data: data
});
console.log(res);
console.log(res.data);
log.apiRes = JSON.stringify(res.data);
log.save();
return res.data;
}
trim(o) { trim(o) {
if (!o) { if (!o) {
return ""; return "";
......
...@@ -119,6 +119,10 @@ var settings = { ...@@ -119,6 +119,10 @@ var settings = {
getCustomerById: domain + "/nga-api/getCustomerById", getCustomerById: domain + "/nga-api/getCustomerById",
// 上传发票 // 上传发票
uploadDetail: domain + "/nga-api/uploadDetail", uploadDetail: domain + "/nga-api/uploadDetail",
// 月报表
getReportData: domain + "/nga-api/report/getReportData",
// 季报表
getReportDataQuarter: domain + "/nga-api/report/getReportDataQuarter",
} }
}, },
redis: function () { redis: function () {
......
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