Commit 004c016a by 王勇飞

Merge branch 'tx-fi-tax' of gitlab.gongsibao.com:jiangyong/zhichan into tx-fi-tax

parents 0fa5190b d7ea23a4
......@@ -7,8 +7,8 @@ class AppAPI extends APIBase {
this.appS = system.getObject("service.common.appSve");
}
async create(pobj,q,req){
// console.log("oooooooooooooooooooooooooooooooooooooooooooooooo")
// console.log(req.xctx)
console.log("oooooooooooooooooooooooooooooooooooooooooooooooo")
console.log(req.xctx)
let rtn=this.appS.create(pobj,q,req);
return system.getResult(rtn);
}
......
......@@ -145,10 +145,10 @@ class DeliverybillCtl extends CtlBase {
}
// 创建融易算服务实例
async insertInfo(obj, qobj, req) {
console.log("GGGGGGG----------------------------------------------" + JSON.stringify(obj));
async insertInfo(mobj, qobj, req) {
console.log('mobj--------------------------------',mobj);
try {
var pobj = obj.actionBody.messageBody;
var pobj = mobj.actionBody;
var cachestr = sha235(JSON.stringify(pobj));
var cacheInfo = await this.cacheManager["TxCache"].getCache(cachestr);
if (cacheInfo && cacheInfo != 'undefined') {
......@@ -160,29 +160,37 @@ class DeliverybillCtl extends CtlBase {
}
}
else {
pobj.orderId = pobj.orderId + "_book";
pobj.contactsPhone = pobj.contactsMobile;
pobj.product_code = "bookkeeping";
pobj.product_name = "代帐服务";
pobj.delivery_status = "received";
pobj.facilitator_id = "10";
pobj.facilitator_name = "公司宝";
pobj.source_number = "tx";
pobj.source_name = "tencentCloud";
pobj.taxpayerName = pobj.taxpayerType;
if (pobj.taxpayerType == 1){
pobj.taxpayerType = "generalTaxpayer";
var obj = {};
obj.delivery_code = pobj.orderId + "_book";
obj.source_number = "tx";
if (pobj.solutionBizId) {
obj.scheme_number = pobj.solutionBizId;
var scheme = await this.fitaxschemeService.findInfoByBizid({ "bizId": pobj.solutionBizId });
if (scheme) {
pobj.demand_code = scheme.demand_code;
}
else if (pobj.taxpayerType == 2){
pobj.taxpayerType = "smallScaleTaxpayer";
}
if (pobj.solutionBizId){
var scheme = await this.fitaxschemeService.findInfoByBizid({"bizId":pobj.solutionBizId});
if (scheme){
pobj.demand_code = scheme.demand_code;
obj.product_code = "bookkeeping";
obj.product_name = "代帐服务";
obj.service_address = pobj.area;
obj.delivery_status = "received";
obj.facilitator_id = "10";
obj.facilitator_name = "公司宝";
obj.source_name = "tencentCloud";
pobj.contactsPhone = pobj.contactMobile;
delete pobj.contactMobile;
if (pobj.taxpayerType == 1) {
pobj.taxpayerType = "generalTaxpayer";
pobj.taxpayerName = "一般纳税人";
}
else if (pobj.taxpayerType == 2) {
pobj.taxpayerType = "smallScaleTaxpayer";
pobj.taxpayerName = "小规模纳税人";
}
var buInfo = await this.service.insertInfo(pobj);
obj.delivery_info = pobj;
obj.biz_id = pobj.bizId;
var buInfo = await this.service.insertInfo(obj);
if (buInfo) {
await this.cacheManager["TxCache"].cache(cachestr, JSON.stringify({ cachestr: cachestr }), 180);//插入redis缓存
return {
......@@ -203,12 +211,11 @@ class DeliverybillCtl extends CtlBase {
}
//更新融易算服务实例
async updateServer(obj, qobj, req) {
async updateServer(mobj, qobj, req) {
try {
var pobj = obj.actionBody.messageBody;
var pobj = mobj.actionBody;
var cachestr = sha235(JSON.stringify(pobj));
var cacheInfo = await this.cacheManager["TxCache"].getCache(cachestr);
var cacheInfo;
if (cacheInfo && cacheInfo != 'undefined') {
return {
"status": 1, //1代表成功,否则失败
......@@ -217,31 +224,31 @@ class DeliverybillCtl extends CtlBase {
"requestId": ""
}
} else {
if (!pobj.requestId || pobj.requestId == 'undefined') {
throw new Error("requestId 不能为空");
}
if (!pobj.bizId || pobj.bizId == 'undefined') {
throw new Error("bizId 不能为空");
}
if (!pobj.orderId || pobj.orderId == 'undefined') {
throw new Error("orderId 不能为空");
}
if (!pobj.topOrgCode || pobj.topOrgCode == 'undefined') {
throw new Error("topOrgCode 不能为空");
}
if (!pobj.companyName || pobj.companyName == 'undefined') {
throw new Error("companyName 不能为空");
}
if (!pobj.contactName || pobj.contactName == 'undefined') {
throw new Error("contactName 不能为空");
}
if (!pobj.companyBizType || pobj.companyBizType == 'undefined') {
throw new Error("companyBizType 不能为空");
}
if (!pobj.uscc || pobj.uscc == 'undefined') {
throw new Error("uscc 不能为空");
if (pobj.contactMobile && pobj.contactMobile != 'undefined') {
pobj.contactsPhone = pobj.contactMobile;
delete pobj.contactMobile;
}
pobj.contactsName = pobj.contactName;
delete pobj.contactName;
pobj.companyType = pobj.companyBizType;
delete pobj.companyBizType;
pobj.creditCode = pobj.uscc;
delete pobj.uscc;
if (pobj.taxpayerType == 1) {
pobj.taxpayerType = "generalTaxpayer";
pobj.taxpayerName = "一般纳税人";
}
const rs = await this.service.updateServer(pobj);
else if (pobj.taxpayerType == 2) {
pobj.taxpayerType = "smallScaleTaxpayer";
pobj.taxpayerName = "小规模纳税人";
}
obj = {
"delivery_code": pobj.orderId + "_book",
"delivery_info": pobj,
"biz_id": pobj.bizId
};
const rs = await this.service.updateServer(obj);
if (rs) {
await this.cacheManager["TxCache"].cache(cachestr, JSON.stringify({ cachestr: cachestr }), 180);//插入redis缓存
return {
......@@ -273,10 +280,37 @@ class DeliverybillCtl extends CtlBase {
return system.getResult(null, err.message)
}
}
async portog(){
console.log(settings.port);
}
}
module.exports = DeliverybillCtl;
// var task = new DeliverybillCtl();
var task = new DeliverybillCtl();
var obj = {
"actionType": "produceData",
"actionBody": {
"pushUrl": "http://ic.com:8000/web/bizchance/deliverybillCtl",
"actionType": "insertInfo",
"identifyCode": "book-manage",
"messageBody": {
"requestId": "825da0a74432-738f-4bed-468d-d51aa880",
"bizId": "2292748809",
"userId": "24173452443103825",
"orderId": "235184456620496",
"areatype": "city",
"area": "100010",
"topOrgCode": "rong_yi_suan",
"taxpayerType": 1,
"contactMobile": "18510669321"
}
}
}
task.portog().then(d => {
console.log(JSON.stringify(d));
})
// var obj = {
// "actionType": "produceData",
// "actionBody": {
......@@ -284,23 +318,18 @@ module.exports = DeliverybillCtl;
// "actionType": "insertInfo",
// "identifyCode": "book-manage",
// "messageBody": {
// "requestId": "825da0a74432-738f-4bed-b48d-d51aa808",
// "bizId": "5892748825",
// "contactsPhone": "18510669321",
// "userId": "10973452443103825",
// "orderId": "341184456620496_book",
// "areatype": "city",
// "area": "100010",
// "topOrgCode": "rong_yi_suan",
// "taxpayerType": 1,
// "product_code": "bookkeeping",
// "product_name": "代账服务",
// "service_address": "110100",
// "delivery_status": "waituserconfirm",
// "facilitator_id": "10"
// "requestId": "825da0a74432-738f-4bed-468d-d51aa880",
// "bizId": "2292748809",
// "orderId": "235184456620496",
// "companyName": "北京融易算",
// "contactName": "JAMES7",
// "taxpayerType": 5,
// "contactMobile": "18510669367",
// "companyBizType": 1,
// "uscc": "911101053516460817K"
// }
// }
// }
// task.insertInfo(obj, {}, {}).then(d => {
// task.updateServer(obj, {}, {}).then(d => {
// console.log(JSON.stringify(d));
// })
......@@ -40,7 +40,7 @@ class DeliverybillDao extends Dao {
})
// 根据 页面 过滤 交付状态
switch (qobj.bizpath) {
case "/configManageMent/deliveryRecord": // 交付单记录
case "/deliveryManage/deliveryRecord": // 交付单记录
filters.push({
delivery_status: {
$in: [
......@@ -49,7 +49,7 @@ class DeliverybillDao extends Dao {
}
});
break
case "/configManageMent/deliveryManage": //交付单处理
case "/deliveryManage/deliveryDealWith": //交付单处理
filters.push({
delivery_status: {
$in: [
......@@ -90,139 +90,60 @@ class DeliverybillDao extends Dao {
delete qc.where.deliveryNumber;
}
if (qc.where.deliveryStatus) {
filters.push({
delivery_status: qc.where.deliveryStatus
});
delete qc.where.deliveryStatus;
}
if (qc.where.setupStatus) {
if (qobj && qobj.search && qobj.search.setupStatus && qobj.search.setupStatus === system.SERVERSESTATUS.SETUP) {
filters.push({
v_setup_status: qc.where.setupStatus
});
} else {
filters.push({
$or: [
{
v_setup_status: qc.where.setupStatus
},
{
v_setup_status: {
$eq: null
}
}
]
});
}
delete qc.where.setupStatus;
}
qc.where["$and"] = filters;
return qw;
}
async insertInfo(qobj, t) {
var obj = {
"delivery_code": qobj.orderId,
"product_code": qobj.product_code,
"product_name": qobj.product_name,
"service_address": qobj.area,
"delivery_status": qobj.delivery_status,
"facilitator_id": qobj.facilitator_id,
"biz_id": qobj.bizId
};
// source_number
if (qobj.source_number && qobj.source_number != 'undefined') {
obj.source_number = qobj.source_number;
delete qobj.source_number;
}
// demand_code
if (qobj.demand_code && qobj.demand_code != 'undefined') {
obj.demand_code = qobj.demand_code;
delete qobj.demand_code;
}
// sku_code
if (qobj.sku_code && qobj.sku_code != 'undefined') {
obj.sku_code = qobj.sku_code;
delete qobj.sku_code;
}
// scheme_number
if (qobj.solutionBizId && qobj.solutionBizId != 'undefined') {
obj.scheme_number = qobj.solutionBizId;
delete qobj.solutionBizId;
}
// selling_price
if (qobj.selling_price && qobj.selling_price != 'undefined') {
obj.selling_price = qobj.selling_price;
delete qobj.selling_price;
}
// cost_price
if (qobj.cost_price && qobj.cost_price != 'undefined') {
obj.cost_price = qobj.cost_price;
delete qobj.cost_price;
}
// close_reason
if (qobj.close_reason && qobj.close_reason != 'undefined') {
obj.close_reason = qobj.close_reason;
delete qobj.close_reason;
}
// facilitator_name
if (qobj.facilitator_name && qobj.facilitator_name != 'undefined') {
obj.facilitator_name = qobj.facilitator_name;
delete qobj.facilitator_name;
}
// salesman_opcode
if (qobj.salesman_opcode && qobj.salesman_opcode != 'undefined') {
obj.salesman_opcode = qobj.salesman_opcode;
delete qobj.salesman_opcode;
}
// salesman_id
if (qobj.salesman_id && qobj.salesman_id != 'undefined') {
obj.salesman_id = qobj.salesman_id;
delete qobj.salesman_id;
}
// salesman_name
if (qobj.salesman_name && qobj.salesman_name != 'undefined') {
obj.salesman_name = qobj.salesman_name;
delete qobj.salesman_name;
}
// salesman_phone
if (qobj.salesman_phone && qobj.salesman_phone != 'undefined') {
obj.salesman_phone = qobj.salesman_phone;
delete qobj.salesman_phone;
}
// source_name
if (qobj.source_name && qobj.source_name != 'undefined') {
obj.source_name = qobj.source_name;
delete qobj.source_name;
}
// master_source_number
if (qobj.master_source_number && qobj.master_source_number != 'undefined') {
obj.master_source_number = qobj.master_source_number;
delete qobj.master_source_number;
}
// settle_status
if (qobj.settle_status && qobj.settle_status != 'undefined') {
obj.settle_status = qobj.settle_status;
delete qobj.settle_status;
}
// settlebill_id
if (qobj.settlebill_id && qobj.settlebill_id != 'undefined') {
obj.settlebill_id = qobj.settlebill_id;
delete qobj.settlebill_id;
}
// delivery_man_id
if (qobj.delivery_man_id && qobj.delivery_man_id != 'undefined') {
obj.delivery_man_id = qobj.delivery_man_id;
delete qobj.delivery_man_id;
}
// delivery_man_name
if (qobj.delivery_man_name && qobj.delivery_man_name != 'undefined') {
obj.delivery_man_name = qobj.delivery_man_name;
delete qobj.delivery_man_name;
}
// delivery_man_opcode
if (qobj.delivery_man_opcode && qobj.delivery_man_opcode != 'undefined') {
obj.delivery_man_opcode = qobj.delivery_man_opcode;
delete qobj.delivery_man_opcode;
}
delete qobj.orderId;
delete qobj.product_code;
delete qobj.product_name;
delete qobj.service_address;
delete qobj.delivery_status;
delete qobj.facilitator_id;
obj.delivery_info = qobj;
return await this.create(obj, t);
return await this.create(qobj, t);
}
async updateServer(qobj, whereobj, t) {
return await this.updateByWhere(qobj, whereobj, t);
async updateServer(qobj, t) {
var setobj = { "delivery_info": qobj.delivery_info };
var whereobj = { "delivery_code": qobj.delivery_code, "biz_id": qobj.biz_id };
return await this.updateByWhere(setobj, whereobj, t);
}
async findOneByDeliveryCodeAndBizId(qobj) {
var qcwhere = { "delivery_code": qobj.orderId, "biz_id": qobj.bizId };
var qcwhere = { "delivery_code": qobj.delivery_code, "biz_id": qobj.biz_id };
return await this.findOne(qcwhere);
}
/**
* 根据服务实例id查找服务所有信息
*/
async findByBizId(pobj){
var oid=pobj.bizId;
return await this.findOne({biz_id:oid});
async findByBizId(pobj) {
var oid = pobj.bizId;
return await this.findOne({ biz_id: oid });
}
}
module.exports = DeliverybillDao;
......@@ -22,6 +22,10 @@ module.exports = (db, DataTypes) => {
allowNull: true,
type: DataTypes.STRING
},
company_name: { // 公司名称-虚拟字段
allowNull: true,
type: DataTypes.STRING
},
v_coname: { // 联系人-虚拟字段
allowNull: true,
type: DataTypes.STRING
......@@ -30,6 +34,10 @@ module.exports = (db, DataTypes) => {
allowNull: true,
type: DataTypes.STRING
},
v_setup_status: {// 公司名称-建账状态
allowNull: true,
type: DataTypes.STRING
},
demand_code: {// 商机编号
allowNull: true,
type: DataTypes.STRING
......@@ -62,14 +70,14 @@ module.exports = (db, DataTypes) => {
allowNull: false,
type: DataTypes.STRING
},
master_source_number:{//主订单号
master_source_number: {//主订单号
allowNull: true,
type: DataTypes.STRING
},
settle_status: {// 服务单流转状态
allowNull: false,
type: DataTypes.STRING,
defaultValue:'waittosettle'
defaultValue: 'waittosettle'
},
selling_price: {//售价
allowNull: true,
......
......@@ -27,7 +27,7 @@ class DeliverybillService extends ServiceBase {
if (pobj.orderStaus === true) {
updateResult = {
delivery_info: {
delivery_info,
...delivery_info,
setupAt: pobj.setupAt//建账时间
},
delivery_status: system.SERVERSESTATUS.WAITUSERCONFIRM
......@@ -62,6 +62,9 @@ class DeliverybillService extends ServiceBase {
if (deliverData.delivery_status !== system.SERVERSESTATUS.INSERVICE) {
throw new Error("该状态下不可建账");
}
if (deliverData.delivery_info.setupStatus && deliverData.delivery_info.setupStatus === system.SERVERSESTATUS.SETUP) {
throw new Error("已建账");
}
await this.dao.updateByWhere({
delivery_info: {
...delivery_info,
......@@ -92,19 +95,19 @@ class DeliverybillService extends ServiceBase {
deliveryId: deliverData.id, // id
deliveryNumber: deliverData.delivery_code, // 交付单编号
companyName: deliverData.delivery_info.companyName,// 企业名称
uscc: deliverData.delivery_info.uscc, //统一信用代码
taxpayerType: delivery_info.taxpayerType, //纳税人类型 1 一般;2 小规模
uscc: deliverData.delivery_info.creditCode, //统一信用代码
taxpayerType: deliverData.delivery_info.taxpayerType, //纳税人类型 1 一般;2 小规模
//会计准侧
companyBizType: delivery_info.companyBizType,// 公司类型 1-商贸型;2-服务型;3-特殊行业;4-其他
areaType: delivery_info.areaType, //区域类型 city-城市
area: service_address, // 服务 地区 编码
contactsName: delivery_info.contactsName,// 联系人
contactsPhone: delivery_info.contactsPhone,// 联系电话
owner: salesman_name,//所属人
deliveryStatus: delivery_status, // 交付单状态
setupStatus: delivery_info.setupStatus || System.SERVERSESTATUS.NOTSETUP,//建账状态 notsetup | setup
createdAt: created_at,
updatedAt: updated_at,
companyBizType: deliverData.delivery_info.companyBizType,// 公司类型 1-商贸型;2-服务型;3-特殊行业;4-其他
areaType: deliverData.delivery_info.areaType, //区域类型 city-城市
area: deliverData.service_address, // 服务 地区 编码
contactsName: deliverData.delivery_info.contactsName,// 联系人
contactsPhone: deliverData.delivery_info.contactsPhone,// 联系电话
owner: deliverData.salesman_name,//所属人
deliveryStatus: deliverData.delivery_status, // 交付单状态
setupStatus: deliverData.delivery_info.setupStatus || System.SERVERSESTATUS.NOTSETUP,//建账状态 notsetup | setup
createdAt: deliverData.created_at,
updatedAt: deliverData.updated_at,
}
if (deliverData.scheme_number) {
let schemeData = await this.fitaxschemeDao.findOne({
......@@ -245,180 +248,55 @@ class DeliverybillService extends ServiceBase {
async updateServer(qobj) {
var self = this;
var bill = await self.dao.findOneByDeliveryCodeAndBizId(qobj);
var obj = {};
var whereobj = {
"delivery_code": qobj.orderId,
"biz_id": qobj.bizId
};
// source_number
if (qobj.source_number && qobj.source_number != 'undefined') {
obj.source_number = qobj.source_number;
delete qobj.source_number;
}
// demand_code
if (qobj.demand_code && qobj.demand_code != 'undefined') {
obj.demand_code = qobj.demand_code;
delete qobj.demand_code;
}
// sku_code
if (qobj.sku_code && qobj.sku_code != 'undefined') {
obj.sku_code = qobj.sku_code;
delete qobj.sku_code;
}
// scheme_number
if (qobj.solutionBizId && qobj.solutionBizId != 'undefined') {
obj.scheme_number = qobj.solutionBizId;
delete qobj.solutionBizId;
}
// product_code
if (qobj.product_code && qobj.product_code != 'undefined') {
obj.product_code = qobj.product_code;
delete qobj.product_code;
}
// product_name
if (qobj.product_name && qobj.product_name != 'undefined') {
obj.product_name = qobj.product_name;
delete qobj.product_name;
}
// service_address
if (qobj.service_address && qobj.service_address != 'undefined') {
obj.service_address = qobj.service_address;
delete qobj.service_address;
}
// delivery_status
if (qobj.delivery_status && qobj.delivery_status != 'undefined') {
obj.delivery_status = qobj.delivery_status;
delete qobj.delivery_status;
}
// selling_price
if (qobj.selling_price && qobj.selling_price != 'undefined') {
obj.selling_price = qobj.selling_price;
delete qobj.selling_price;
}
// cost_price
if (qobj.cost_price && qobj.cost_price != 'undefined') {
obj.cost_price = qobj.cost_price;
delete qobj.cost_price;
}
// close_reason
if (qobj.close_reason && qobj.close_reason != 'undefined') {
obj.close_reason = qobj.close_reason;
delete qobj.close_reason;
}
// facilitator_id
if (qobj.facilitator_id && qobj.facilitator_id != 'undefined') {
obj.facilitator_id = qobj.facilitator_id;
delete qobj.facilitator_id;
}
// facilitator_name
if (qobj.facilitator_name && qobj.facilitator_name != 'undefined') {
obj.facilitator_name = qobj.facilitator_name;
delete qobj.facilitator_name;
}
// salesman_opcode
if (qobj.salesman_opcode && qobj.salesman_opcode != 'undefined') {
obj.salesman_opcode = qobj.salesman_opcode;
delete qobj.salesman_opcode;
}
// salesman_id
if (qobj.salesman_id && qobj.salesman_id != 'undefined') {
obj.salesman_id = qobj.salesman_id;
delete qobj.salesman_id;
}
// salesman_name
if (qobj.salesman_name && qobj.salesman_name != 'undefined') {
obj.salesman_name = qobj.salesman_name;
delete qobj.salesman_name;
}
// salesman_phone
if (qobj.salesman_phone && qobj.salesman_phone != 'undefined') {
obj.salesman_phone = qobj.salesman_phone;
delete qobj.salesman_phone;
}
// source_name
if (qobj.source_name && qobj.source_name != 'undefined') {
obj.source_name = qobj.source_name;
delete qobj.source_name;
}
// master_source_number
if (qobj.master_source_number && qobj.master_source_number != 'undefined') {
obj.master_source_number = qobj.master_source_number;
delete qobj.master_source_number;
}
// settle_status
if (qobj.settle_status && qobj.settle_status != 'undefined') {
obj.settle_status = qobj.settle_status;
delete qobj.settle_status;
}
// settlebill_id
if (qobj.settlebill_id && qobj.settlebill_id != 'undefined') {
obj.settlebill_id = qobj.settlebill_id;
delete qobj.settlebill_id;
}
// delivery_man_id
if (qobj.delivery_man_id && qobj.delivery_man_id != 'undefined') {
obj.delivery_man_id = qobj.delivery_man_id;
delete qobj.delivery_man_id;
}
// delivery_man_name
if (qobj.delivery_man_name && qobj.delivery_man_name != 'undefined') {
obj.delivery_man_name = qobj.delivery_man_name;
delete qobj.delivery_man_name;
}
// delivery_man_opcode
if (qobj.delivery_man_opcode && qobj.delivery_man_opcode != 'undefined') {
obj.delivery_man_opcode = qobj.delivery_man_opcode;
delete qobj.delivery_man_opcode;
}
delete qobj.orderId;
obj.delivery_info = JSON.parse((JSON.stringify(bill.delivery_info) + JSON.stringify(qobj)).replace(/}{/, ','));
qobj.delivery_info = JSON.parse((JSON.stringify(bill.delivery_info) + JSON.stringify(qobj.delivery_info)).replace(/}{/, ','));
return self.db.transaction(async function (t) {
return await self.dao.updateServer(obj, whereobj, t);
return await self.dao.updateServer(qobj, t);
});
}
//根据bizId查询deliverybill表中的所有信息
async getInfo(pobj){
let result={};
async getInfo(pobj) {
let result = {};
let deliveryBillInfo = await this.dao.findByBizId(pobj);
// console.log("gggg"+deliveryBillInfo+pobj.bizId)
if(!deliveryBillInfo){
if (!deliveryBillInfo) {
throw new Error("没有服务信息");
}
//封装deliverybill表数据
result.deliveryBillInfo={
deliveryCode:deliveryBillInfo.delivery_code,//交付单编号
sourceNumber:deliveryBillInfo.source_number,//渠道来源编号
demandCode:deliveryBillInfo.demand_code,//商机编号
skuCode:deliveryBillInfo.sku_code,//sku编号
schemeNumber:deliveryBillInfo.scheme_number,//方案编号
productCode:deliveryBillInfo.product_code,//产品编码
productName:deliveryBillInfo.product_name,//产品名称
serviceAddress:deliveryBillInfo.service_address,//服务地区
deliveryInfo:deliveryBillInfo.delivery_info,//交付单详情
payStatus:deliveryBillInfo.pay_status,//交付状态-虚拟字段
vConame:deliveryBillInfo.v_coname,//联系人-虚拟字段
vCophone:deliveryBillInfo.v_cophone,//联系电话-虚拟字段
delivery_status:deliveryBillInfo.delivery_status,//交付单状态
sellingPrice:deliveryBillInfo.selling_price,//交付单价格
costPrice:deliveryBillInfo.cost_price,//成本价
closeReason:deliveryBillInfo.close_reason,//状态为关闭原因
facilitatorId:deliveryBillInfo.facilitator_id,//服务商id
facilitatorName:deliveryBillInfo.facilitator_name,//服务商名称
salesmanOpcode:deliveryBillInfo.salesman_opcode,//业务员opcode
salesmanId:deliveryBillInfo.salesman_id,//业务员id
salesmanName:deliveryBillInfo.salesman_name,//业务员名称
salesmanPhone:deliveryBillInfo.salesman_phone,//业务员联系方式
sourceName:deliveryBillInfo.source_name,//渠道名称
createdAt:deliveryBillInfo.created_at,//创建时间
updatedAt:deliveryBillInfo.updated_at,//更新时间
version:deliveryBillInfo.version,//o
masterSourceNumber:deliveryBillInfo.master_source_number,//主来源单
settleStatus:deliveryBillInfo.settle_status,//结算状态
settlebillId:deliveryBillInfo.settlebill_id,//结算单id
deliveryManId:deliveryBillInfo.delivery_man_id,//销售员id
deliveryManName:deliveryBillInfo.delivery_man_name,//销售员姓名
deliveryManOpcode:deliveryBillInfo.delivery_man_opcode,//销售员opcode
bizId:pobj.bizId//融易算-服务实例id
result.deliveryBillInfo = {
deliveryCode: deliveryBillInfo.delivery_code,//交付单编号
sourceNumber: deliveryBillInfo.source_number,//渠道来源编号
demandCode: deliveryBillInfo.demand_code,//商机编号
skuCode: deliveryBillInfo.sku_code,//sku编号
schemeNumber: deliveryBillInfo.scheme_number,//方案编号
productCode: deliveryBillInfo.product_code,//产品编码
productName: deliveryBillInfo.product_name,//产品名称
serviceAddress: deliveryBillInfo.service_address,//服务地区
deliveryInfo: deliveryBillInfo.delivery_info,//交付单详情
payStatus: deliveryBillInfo.pay_status,//交付状态-虚拟字段
vConame: deliveryBillInfo.v_coname,//联系人-虚拟字段
vCophone: deliveryBillInfo.v_cophone,//联系电话-虚拟字段
delivery_status: deliveryBillInfo.delivery_status,//交付单状态
sellingPrice: deliveryBillInfo.selling_price,//交付单价格
costPrice: deliveryBillInfo.cost_price,//成本价
closeReason: deliveryBillInfo.close_reason,//状态为关闭原因
facilitatorId: deliveryBillInfo.facilitator_id,//服务商id
facilitatorName: deliveryBillInfo.facilitator_name,//服务商名称
salesmanOpcode: deliveryBillInfo.salesman_opcode,//业务员opcode
salesmanId: deliveryBillInfo.salesman_id,//业务员id
salesmanName: deliveryBillInfo.salesman_name,//业务员名称
salesmanPhone: deliveryBillInfo.salesman_phone,//业务员联系方式
sourceName: deliveryBillInfo.source_name,//渠道名称
createdAt: deliveryBillInfo.created_at,//创建时间
updatedAt: deliveryBillInfo.updated_at,//更新时间
version: deliveryBillInfo.version,//o
masterSourceNumber: deliveryBillInfo.master_source_number,//主来源单
settleStatus: deliveryBillInfo.settle_status,//结算状态
settlebillId: deliveryBillInfo.settlebill_id,//结算单id
deliveryManId: deliveryBillInfo.delivery_man_id,//销售员id
deliveryManName: deliveryBillInfo.delivery_man_name,//销售员姓名
deliveryManOpcode: deliveryBillInfo.delivery_man_opcode,//销售员opcode
bizId: pobj.bizId//融易算-服务实例id
}
return result;
}
......
......@@ -354,23 +354,18 @@ class System {
for (var i in arr) {
if (arr[i] != "sign" && arr[i] != "ip" &&
(!(Object.prototype.toString.call(obj[arr[i]]) == '[object Object]' || Object.prototype.toString.call(obj[arr[i]]) == '[object Array]')
&& (obj[arr[i]] && obj[arr[i]] != 'undefined'))) {
&& ((obj[arr[i]] || obj[arr[i]] === 0 || obj[arr[i]] === false) && obj[arr[i]] != 'undefined'))) {
str += arr[i] + "=" + obj[arr[i]] + "&";
}
}
var toSignStr = str.substr(0, str.length - 1);
var sb = toSignStr + secret;
console.log("cmd=ApiSignUtils:toSign msg=original Sign:" + sb.toString() + " req param:" + obj);
console.log("cmd=ApiSignUtils:toSign msg=original Sign:" + sb.toString());
// 对sb进行md5加密后得到svrSign
svrSign = md5(sb);
console.log("svrSign===>" + svrSign);
}
if (svrSign.toLowerCase() == obj["sign"].toLowerCase()) {
console.log("cmd=ApiSignUtils:SignValid msg=original Sign:" + svrSign)
return true;
}
console.error("cmd=ApiSignUtils:SignValid msg=Sign validtate fail! svrSign:" + svrSign + " reqSign:" + obj["sign"]);
return false;
return svrSign;
}
}
......@@ -415,7 +410,7 @@ System.SERVERSESTATUS = {
INSERVICE: "inservice",//服务中
CLOSED: "closed",//已关闭 、已终止
NOTSETUP: "notsetup",//未建账
SETUP: "setup"//建账
SETUP: "setup"//建账
}
/*
......
const axios = require("axios");
const settings = require("../../config/settings");
const system = require("../system");
const ftConfig = settings.ftConfig();
let ftTenantInfo; // 财税中心 缓存
/**
* 发送 post 请求
* @param {*} url
* @param {*} data
* @param {*} headers
*/
const postRequest = async (url, data, headers = {}) => {
try {
console.log(`${url} : 推送财税中心数据 ------- `);
console.log(JSON.stringify(data))
let result = await axios.post(url, data, {
headers: {
'Content-Type': 'application/json',
...headers
},
timeout: 5000,
});
result = result.data;
console.log("推送财税中心返回数据 ------- ");
console.log(JSON.stringify(result));
if (result.code == 1) {
return result.data
} else {
throw new Error(result.errMsg);
}
} catch (err) {
console.log("------ 财税中心err -----");
console.log(err)
throw (err)
}
}
/**
* 向财税 项目 发送消息 (不带签名)
* @param {*} url
* @param {*} data
* @param {*} headers
*/
const postToFt = (url, data, headers = {}) => {
return postRequest(`${ftConfig.url}${url}`, data, headers = {})
}
/**
* 租户 向财税 项目 发送消息 带签名
* @param {*} url
* @param {*} data
* @param {*} headers
*/
const postToFtBySign = async (url, data, headers = {}) => {
let tenantInfo = await getChannelCompany();
data.companyId = tenantInfo.id;
let sign = system.signValid(data, tenantInfo.signSecret);
return postRequest(`${ftConfig.url}${url}`, { ...data, sign }, headers = {})
}
/**
* 财税 获取 租户信息
*/
const getChannelCompany = async () => {
// 内存 缓存
if (ftTenantInfo) {
return ftTenantInfo
}
let reqData = {
channelCode: ftConfig.channelCode,
}
let sign = system.signValid(reqData, ftConfig.secret);
const companyData = await postToFt("/company/getChannelCompany", {
...reqData,
sign
});
if (companyData.datas && companyData.datas.length > 0) {
ftTenantInfo = companyData.datas[0]
return ftTenantInfo;
} else {
throw ("渠道码信息获取错误");
}
}
/**
* 建账
*/
const addCusAccApplyInfo = async () => {
let reqData = {
accountStandard: 1,
applyDate: "2020-09-10",
contact: "JAMES7",
creditCode: "911101053516460817K",
customerName: "北京融易算",
phoneNumber: "18510669367",
valueAddedTax: 1,
serviceTime: "5",
initPeriod: 202009,
}
const data = await postToFtBySign('/cusAccApplyInfo/addCusAccApplyInfo', reqData);
console.log(data);
}
module.exports = {
postToFtBySign,
addCusAccApplyInfo
}
......@@ -59,6 +59,21 @@ var settings = {
return "http://logs-sytxpublic-msgq-service/api/queueAction/producer/springBoard";
}
},
ftConfig: function () {
if (this.env == "localhost") {
return {
channelCode: "e0kj8ehs",
secret: "92a15b9b4c5a9ea708bb5583408e1441",
url: "https://nt-api.gongsibao.com/nga-api"
};
} else {
return {
channelCode: "e0kj8ehs",
secret: "92a15b9b4c5a9ea708bb5583408e1441",
url: "https://nt-api.gongsibao.com/nga-api"
};
}
},
pmappid: 1,
pmcompanyid: 1,
pmroleid: { "ta": 1, "pr": 2 },
......
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