Commit 19837bd3 by 王昆

gsb

parent 4a177d0f
......@@ -5,6 +5,16 @@ class TradeCtl extends CtlBase {
constructor() {
super();
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) {
......@@ -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;
\ 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 {
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) {
params.acc_type = this.trim(params.acc_type);
params.fileUrl = this.trim(params.fileUrl);
......@@ -48,7 +68,7 @@ class TradeService extends ServiceBase {
saas_id: params.saas_id,
saas_merchant_id: params.saas_merchant_id,
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),
actual_amt: system.y2f(result.actual_amt),
deduct_amt: system.y2f(result.deduct_amt),
......@@ -63,7 +83,20 @@ class TradeService extends ServiceBase {
pay_bank_no: main.bank_no,
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;
}
......@@ -87,7 +120,7 @@ class TradeService extends ServiceBase {
}
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) {
return result;
}
......@@ -106,11 +139,11 @@ class TradeService extends ServiceBase {
result.service_tax = Number(result.service_tax) + Number(data.service_tax);
// 总实发
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.deduct_amt = Number(result.service_tax) + Number(result.actual_amt);
return result;
}
......@@ -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;
\ No newline at end of file
......@@ -8,6 +8,7 @@ const axios = require('axios');
class ServiceBase {
constructor() {
this.restClient = system.getObject("util.restClient");
this.synlogDao = system.getObject("db.log.synlogDao");
this.micro = system.microsetting();
}
......@@ -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) {
if (!o) {
return "";
......
......@@ -119,6 +119,10 @@ var settings = {
getCustomerById: domain + "/nga-api/getCustomerById",
// 上传发票
uploadDetail: domain + "/nga-api/uploadDetail",
// 月报表
getReportData: domain + "/nga-api/report/getReportData",
// 季报表
getReportDataQuarter: domain + "/nga-api/report/getReportDataQuarter",
}
},
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