Commit 7836d50c by Sxy

fix: 同一主订单 分配 同一人

parent 426bb091
...@@ -9,11 +9,11 @@ class UserService extends ServiceBase { ...@@ -9,11 +9,11 @@ class UserService extends ServiceBase {
this.roleDao = system.getObject("db.auth.roleDao"); this.roleDao = system.getObject("db.auth.roleDao");
this.authS = system.getObject("service.auth.authSve"); this.authS = system.getObject("service.auth.authSve");
} }
async pmgetUserByCode (code) { async pmgetUserByCode(code) {
let ux = await this.cacheManager["CodeCache"].getCache(code); let ux = await this.cacheManager["CodeCache"].getCache(code);
return ux; return ux;
} }
async loginApp (appkey, uname) { async loginApp(appkey, uname) {
let rtn = {} let rtn = {}
let app = await this.cacheManager["AppCache"].cache(appkey); let app = await this.cacheManager["AppCache"].cache(appkey);
let userLogined = await this.cacheManager["UserCache"].cache(uname); let userLogined = await this.cacheManager["UserCache"].cache(uname);
...@@ -38,7 +38,7 @@ class UserService extends ServiceBase { ...@@ -38,7 +38,7 @@ class UserService extends ServiceBase {
//和租户绑定同一家公司 //和租户绑定同一家公司
//按照用户名和密码进行注册 //按照用户名和密码进行注册
//控制器端检查用户名和密码非空 //控制器端检查用户名和密码非空
async registerByTantent (p, q) { async registerByTantent(p, q) {
// 需要默认添加访客角色,为了控制单点从平台登录时看到的菜单和功能 // 需要默认添加访客角色,为了控制单点从平台登录时看到的菜单和功能
if (p.roles && p.roles.length > 0) { if (p.roles && p.roles.length > 0) {
if (p.roles.indexOf(settings.pmroleid["pr"]) < 0) { if (p.roles.indexOf(settings.pmroleid["pr"]) < 0) {
...@@ -51,7 +51,7 @@ class UserService extends ServiceBase { ...@@ -51,7 +51,7 @@ class UserService extends ServiceBase {
} }
//应用的自由用户注册,无需验证,需要前端头设置公司KEY //应用的自由用户注册,无需验证,需要前端头设置公司KEY
async pmregisterByFreeUser (p, q) { async pmregisterByFreeUser(p, q) {
p.rolecodes = [settings.pmroleid["pr"]]; p.rolecodes = [settings.pmroleid["pr"]];
let rtn = await this.pmregister(p, q) let rtn = await this.pmregister(p, q)
return rtn; return rtn;
...@@ -60,7 +60,7 @@ class UserService extends ServiceBase { ...@@ -60,7 +60,7 @@ class UserService extends ServiceBase {
//平台租户注册接口方法 //平台租户注册接口方法
//控制器端检查用户名和密码非空 //控制器端检查用户名和密码非空
async pmregister (p, q) { async pmregister(p, q) {
var self = this; var self = this;
let tmppwd = p.password; let tmppwd = p.password;
if (!tmppwd) { if (!tmppwd) {
...@@ -134,12 +134,12 @@ class UserService extends ServiceBase { ...@@ -134,12 +134,12 @@ class UserService extends ServiceBase {
} }
}); });
} }
async unlockUser (username) { async unlockUser(username) {
await this.resetPassword(username, settings.defaultpwd); await this.resetPassword(username, settings.defaultpwd);
return this.dao.updateByWhere({ isEnabled: true }, { userName: username }) return this.dao.updateByWhere({ isEnabled: true }, { userName: username })
} }
async logout (pobj) { async logout(pobj) {
await this.cacheManager["UserCache"].invalidate(pobj.username); await this.cacheManager["UserCache"].invalidate(pobj.username);
return {} return {}
} }
...@@ -147,7 +147,7 @@ class UserService extends ServiceBase { ...@@ -147,7 +147,7 @@ class UserService extends ServiceBase {
//登录接口封装kong-url //登录接口封装kong-url
//登录路由放行 //登录路由放行
//p里面含有appkey,company_id,userName,password //p里面含有appkey,company_id,userName,password
async pmlogin (p, q, req) { async pmlogin(p, q, req) {
var self = this; var self = this;
//先要按照用户名,在统一账户中查找存在性 //先要按照用户名,在统一账户中查找存在性
//如果不存在 //如果不存在
...@@ -200,7 +200,7 @@ class UserService extends ServiceBase { ...@@ -200,7 +200,7 @@ class UserService extends ServiceBase {
} }
}) })
} }
async getUserInfo (uname) { async getUserInfo(uname) {
// let userfind = await this.dao.model.findOne({ // let userfind = await this.dao.model.findOne({
// where: { userName: uname, app_id: settings.pmappid }, // where: { userName: uname, app_id: settings.pmappid },
// attributes: ['userName', 'nickName',"headUrl",'isSuper','isAdmin'], // attributes: ['userName', 'nickName',"headUrl",'isSuper','isAdmin'],
...@@ -221,7 +221,7 @@ class UserService extends ServiceBase { ...@@ -221,7 +221,7 @@ class UserService extends ServiceBase {
//自由用户的电话登录和注册 //自由用户的电话登录和注册
//需要存在公司KEY //需要存在公司KEY
async pmloginByVCodeForFreeUser (p, q) { async pmloginByVCodeForFreeUser(p, q) {
p.rolecodes = [settings.pmroleid["pr"]]; p.rolecodes = [settings.pmroleid["pr"]];
let rtn = await this.pmloginByVCode(p, q, req) let rtn = await this.pmloginByVCode(p, q, req)
return system.getResult(rtn); return system.getResult(rtn);
...@@ -230,7 +230,7 @@ class UserService extends ServiceBase { ...@@ -230,7 +230,7 @@ class UserService extends ServiceBase {
//平台租户注册与登录 //平台租户注册与登录
//用户验证码登录 //用户验证码登录
// //
async pmloginByVCode (p, q, req) { async pmloginByVCode(p, q, req) {
var rtn = {} var rtn = {}
//检查传递过来的手机验证码是否与缓存的一致 //检查传递过来的手机验证码是否与缓存的一致
let mobile = p.mobile; let mobile = p.mobile;
...@@ -275,19 +275,19 @@ class UserService extends ServiceBase { ...@@ -275,19 +275,19 @@ class UserService extends ServiceBase {
//不一致那么就 //不一致那么就
} }
//发送手机验证码并缓存 //发送手机验证码并缓存
async sendVCode (p, q, req) { async sendVCode(p, q, req) {
let mobile = p.mobile; let mobile = p.mobile;
let vcodeobj = await this.cacheManager["VCodeCache"].cache(mobile, null, 60); let vcodeobj = await this.cacheManager["VCodeCache"].cache(mobile, null, 60);
return vcodeobj.vcode; return vcodeobj.vcode;
} }
async reSendVCode (p, q, req) { async reSendVCode(p, q, req) {
let mobile = p.mobile; let mobile = p.mobile;
await this.cacheManager["VCodeCache"].invalidate(mobile); await this.cacheManager["VCodeCache"].invalidate(mobile);
let vcodeobj = await this.cacheManager["VCodeCache"].cache(mobile, null, 60); let vcodeobj = await this.cacheManager["VCodeCache"].cache(mobile, null, 60);
return vcodeobj.vcode; return vcodeobj.vcode;
} }
//修改中心密码 //修改中心密码
async cmodifypwd (uname, newpwd, cmpid) { async cmodifypwd(uname, newpwd, cmpid) {
try { try {
let rtn = await system.postJsonTypeReq(UserService.consumerUrl(uname), { tags: ["cmp_" + cmpid, "pass_" + newpwd] }, "PATCH") let rtn = await system.postJsonTypeReq(UserService.consumerUrl(uname), { tags: ["cmp_" + cmpid, "pass_" + newpwd] }, "PATCH")
console.log(rtn) console.log(rtn)
...@@ -301,7 +301,7 @@ class UserService extends ServiceBase { ...@@ -301,7 +301,7 @@ class UserService extends ServiceBase {
} }
} }
//创建统一账号及jwt身份 //创建统一账号及jwt身份
async cregister (uname, cmpid, pass, uid) { async cregister(uname, cmpid, pass, uid) {
try { try {
var rtn2 = null; var rtn2 = null;
let rtn = await system.postJsonTypeReq(UserService.newConsumerUrl(), { username: uname, custom_id: uid, tags: ["cmp_" + cmpid, "pass_" + pass] }) let rtn = await system.postJsonTypeReq(UserService.newConsumerUrl(), { username: uname, custom_id: uid, tags: ["cmp_" + cmpid, "pass_" + pass] })
...@@ -323,7 +323,7 @@ class UserService extends ServiceBase { ...@@ -323,7 +323,7 @@ class UserService extends ServiceBase {
} }
//plkey--对应消费者jwt身份的key,插件解码token后,获取iss-key,查询出身份,利用 //plkey--对应消费者jwt身份的key,插件解码token后,获取iss-key,查询出身份,利用
//身份中的secret验证签名 //身份中的secret验证签名
async jwtsign (plkey, secretstr, opts) { async jwtsign(plkey, secretstr, opts) {
let promise = new Promise(function (resv, rej) { let promise = new Promise(function (resv, rej) {
jwt.sign({ exp: Math.floor(Date.now() / 1000) + (60 * 60), iss: plkey }, secretstr, opts, function (err, rtn) { jwt.sign({ exp: Math.floor(Date.now() / 1000) + (60 * 60), iss: plkey }, secretstr, opts, function (err, rtn) {
if (err) { if (err) {
...@@ -336,13 +336,13 @@ class UserService extends ServiceBase { ...@@ -336,13 +336,13 @@ class UserService extends ServiceBase {
return promise; return promise;
} }
//只要登录 生成新的访问jwttoken //只要登录 生成新的访问jwttoken
async cmakejwt (key, secret, opts) { async cmakejwt(key, secret, opts) {
var token = await this.jwtsign(key, secret, opts); var token = await this.jwtsign(key, secret, opts);
return token; return token;
} }
//删除统一账号 //删除统一账号
async cunregister (uname) { async cunregister(uname) {
try { try {
let rtn = await system.delReq(UserService.consumerUrl(uname)) let rtn = await system.delReq(UserService.consumerUrl(uname))
if (rtn.statusCode == 204) { if (rtn.statusCode == 204) {
...@@ -356,15 +356,15 @@ class UserService extends ServiceBase { ...@@ -356,15 +356,15 @@ class UserService extends ServiceBase {
//登录统一账号 //登录统一账号
async clogin (uname) { async clogin(uname) {
//检查是否存在重名 //检查是否存在重名
} }
//按用户名查询统一用户 //按用户名查询统一用户
async findCUser (uname) { async findCUser(uname) {
} }
async resetPassword (uname, pwd) { async resetPassword(uname, pwd) {
let inpassword = this.getEncryptStr(pwd, true); let inpassword = this.getEncryptStr(pwd, true);
var self = this; var self = this;
return this.db.transaction(async function (t) { return this.db.transaction(async function (t) {
...@@ -382,7 +382,7 @@ class UserService extends ServiceBase { ...@@ -382,7 +382,7 @@ class UserService extends ServiceBase {
}); });
} }
//修改 //修改
async update (qobj, tm = null) { async update(qobj, tm = null) {
var self = this; var self = this;
return this.db.transaction(async function (t) { return this.db.transaction(async function (t) {
delete qobj['company_id'] delete qobj['company_id']
...@@ -404,7 +404,7 @@ class UserService extends ServiceBase { ...@@ -404,7 +404,7 @@ class UserService extends ServiceBase {
* @param {*} productCatName 产品类型名称 * @param {*} productCatName 产品类型名称
* @param {*} regionName 区域 * @param {*} regionName 区域
*/ */
async getBizUserForBizChance (clientMobile, spName, productCatName, regionName) { async getBizUserForBizChance(clientMobile, spName, productCatName, regionName) {
var self = this var self = this
clientMobile = clientMobile + "_" + spName + "_" + regionName + "_" + productCatName clientMobile = clientMobile + "_" + spName + "_" + regionName + "_" + productCatName
console.log(`商机 缓存 key ----- ${clientMobile} `); console.log(`商机 缓存 key ----- ${clientMobile} `);
...@@ -488,7 +488,7 @@ class UserService extends ServiceBase { ...@@ -488,7 +488,7 @@ class UserService extends ServiceBase {
} }
}) })
} }
async findCostBySkuCode (skucode) { async findCostBySkuCode(skucode) {
let productpricetmp = await this.db.models.productprice.findOne({ let productpricetmp = await this.db.models.productprice.findOne({
where: { skucode: skucode, isEnabled: true }, where: { skucode: skucode, isEnabled: true },
include: [ include: [
...@@ -513,9 +513,20 @@ class UserService extends ServiceBase { ...@@ -513,9 +513,20 @@ class UserService extends ServiceBase {
* @param {*} productCatName 产品类型名称 * @param {*} productCatName 产品类型名称
* @param {*} skucode 最小销售货品编码,来自渠道上架的码 * @param {*} skucode 最小销售货品编码,来自渠道上架的码
* @param {*} regionName 区域 * @param {*} regionName 区域
* @param {*} orderSum 订单总数
*/ */
async getBizUserForDelivery (xclientMobile, spName, productCatName, skucode, regionName) { async getBizUserForDelivery(xclientMobile, spName, productCatName, skucode, regionName, orderSum = 1) {
let clientMobile = 'fordeliver' + xclientMobile + "_" + spName + "_" + regionName + "_" + productCatName let cacheProductCatName = productCatName;
if (["园区代理记账", "园区刻章服务"].includes(cacheProductCatName)) {
cacheProductCatName = "云上园区注册";
}
if (["icp年报", "edi年报"].includes(cacheProductCatName)) {
cacheProductCatName = (cacheProductCatName === "icp年报" ? "icp" : "edi");
}
if (["刻章服务", "代理记账"].includes(cacheProductCatName) && orderSum > 1) {
cacheProductCatName = "公司注册"
}
let clientMobile = 'fordeliver' + xclientMobile + "_" + spName + "_" + regionName + "_" + cacheProductCatName;
console.log(`交付单缓存 key ----- ${clientMobile} `); console.log(`交付单缓存 key ----- ${clientMobile} `);
var self = this var self = this
//按照服务商名字查询到公司,按照公司查询出users,条件是可以接受派单任务,并且技能标签含有,产品类别名称 //按照服务商名字查询到公司,按照公司查询出users,条件是可以接受派单任务,并且技能标签含有,产品类别名称
......
...@@ -214,7 +214,13 @@ class TxHandler { ...@@ -214,7 +214,13 @@ class TxHandler {
ConsultTypeName = datajson.actionBody.productTypeName.split("/")[2]; ConsultTypeName = datajson.actionBody.productTypeName.split("/")[2];
} }
console.log("ConsultTypeName-----------------------------" + ConsultTypeName); console.log("ConsultTypeName-----------------------------" + ConsultTypeName);
var salesmanInfo = await this.userService.getBizUserForDelivery(datajson.actionBody.orderSnapshot.contactsPhone, datajson.actionBody.servicerName, ConsultTypeName, datajson.actionBody.txPriceCode, datajson.actionBody.regionName); var salesmanInfo = await this.userService.getBizUserForDelivery(
datajson.actionBody.orderSnapshot.contactsPhone,
datajson.actionBody.servicerName,
ConsultTypeName,
datajson.actionBody.txPriceCode,
datajson.actionBody.regionName,
datajson.actionBody.contextOrderCount);
requrl = this.icUrl + "/deliverybillCtl/insertInfo"; requrl = this.icUrl + "/deliverybillCtl/insertInfo";
var bizurl = this.icUrl + "/bizoptCtl/updateStatusByDemandCode"; var bizurl = this.icUrl + "/bizoptCtl/updateStatusByDemandCode";
var params = { var params = {
...@@ -531,7 +537,7 @@ class TxHandler { ...@@ -531,7 +537,7 @@ class TxHandler {
"pushUrl": this.bookUrl + "/deliverybillCtl/insertInfo", "pushUrl": this.bookUrl + "/deliverybillCtl/insertInfo",
"actionType": "insertInfo", "actionType": "insertInfo",
"messageBody": datajson, "messageBody": datajson,
"requestId":datajson.requestId, "requestId": datajson.requestId,
"headData": { "headData": {
'Authorization': 'Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1OTg0MzQ2ODcsImlzcyI6InJFRVN6TU5ZUlM2RnBWNnZlY09vdExPNWdPcUNXSmFQIiwiaWF0IjoxNTk4NDMxMDg3fQ.isQ40HqHHfJ-rTsUQOhRIdu4XCitZU-AfzeqSH4kPbQ', 'Authorization': 'Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1OTg0MzQ2ODcsImlzcyI6InJFRVN6TU5ZUlM2RnBWNnZlY09vdExPNWdPcUNXSmFQIiwiaWF0IjoxNTk4NDMxMDg3fQ.isQ40HqHHfJ-rTsUQOhRIdu4XCitZU-AfzeqSH4kPbQ',
'XAPPKEY': 'f6b59b74-f943-4735-bb86-e05d6b7fd78e' 'XAPPKEY': 'f6b59b74-f943-4735-bb86-e05d6b7fd78e'
...@@ -543,10 +549,10 @@ class TxHandler { ...@@ -543,10 +549,10 @@ class TxHandler {
async ServiceUpdate(datajson) { //更新融易算服务信息到队列 async ServiceUpdate(datajson) { //更新融易算服务信息到队列
var obj = { var obj = {
"pushUrl": this.bookUrl + "/deliverybillCtl/updateServer", "pushUrl": this.bookUrl + "/deliverybillCtl/updateServer",
"actionType": "updateServer", "actionType": "updateServer",
"messageBody": datajson, "messageBody": datajson,
"requestId":datajson.requestId, "requestId": datajson.requestId,
"headData": { "headData": {
'Authorization': 'Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1OTg0MzQ2ODcsImlzcyI6InJFRVN6TU5ZUlM2RnBWNnZlY09vdExPNWdPcUNXSmFQIiwiaWF0IjoxNTk4NDMxMDg3fQ.isQ40HqHHfJ-rTsUQOhRIdu4XCitZU-AfzeqSH4kPbQ', 'Authorization': 'Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1OTg0MzQ2ODcsImlzcyI6InJFRVN6TU5ZUlM2RnBWNnZlY09vdExPNWdPcUNXSmFQIiwiaWF0IjoxNTk4NDMxMDg3fQ.isQ40HqHHfJ-rTsUQOhRIdu4XCitZU-AfzeqSH4kPbQ',
'XAPPKEY': 'f6b59b74-f943-4735-bb86-e05d6b7fd78e' 'XAPPKEY': 'f6b59b74-f943-4735-bb86-e05d6b7fd78e'
...@@ -559,7 +565,7 @@ class TxHandler { ...@@ -559,7 +565,7 @@ class TxHandler {
//融易算创建需求 //融易算创建需求
async LeadsCreate(datajson) { async LeadsCreate(datajson) {
var obj = { var obj = {
"pushUrl": this.bookUrl + "/bizOptCtl/insertInfo", "pushUrl": this.bookUrl + "/bizOptCtl/insertInfo",
"actionType": "insertInfo", "actionType": "insertInfo",
"messageBody": datajson, "messageBody": datajson,
//"requestId":datajson.requestId, //"requestId":datajson.requestId,
...@@ -575,7 +581,7 @@ class TxHandler { ...@@ -575,7 +581,7 @@ class TxHandler {
//融易算更新需求状态 //融易算更新需求状态
async UpdateLeads(datajson) { async UpdateLeads(datajson) {
var obj = { var obj = {
"pushUrl": this.bookUrl + "/bizoptCtl/updatepayStatusByDemandCode", "pushUrl": this.bookUrl + "/bizoptCtl/updatepayStatusByDemandCode",
"actionType": "updatepayStatusByDemandCode", "actionType": "updatepayStatusByDemandCode",
"messageBody": datajson, "messageBody": datajson,
//"requestId":datajson.requestId, //"requestId":datajson.requestId,
...@@ -586,7 +592,7 @@ class TxHandler { ...@@ -586,7 +592,7 @@ class TxHandler {
} }
return systetm.rysQueueOper(obj); return systetm.rysQueueOper(obj);
} }
// 融易算服务状态变更通知 // 融易算服务状态变更通知
...@@ -594,10 +600,10 @@ class TxHandler { ...@@ -594,10 +600,10 @@ class TxHandler {
let ab = Object.assign({}, datajson); let ab = Object.assign({}, datajson);
ab.status = ab.status === 6 ? "inserivice" : "closed"; ab.status = ab.status === 6 ? "inserivice" : "closed";
var obj = { var obj = {
"pushUrl": this.bookUrl + "/deliverybillCtl/notifyServiceStatusChange", "pushUrl": this.bookUrl + "/deliverybillCtl/notifyServiceStatusChange",
"actionType": "notifyServiceStatusChange", "actionType": "notifyServiceStatusChange",
"messageBody": ab, "messageBody": ab,
"requestId":ab.requestId, "requestId": ab.requestId,
"headData": { "headData": {
'Authorization': 'Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1OTg0MzQ2ODcsImlzcyI6InJFRVN6TU5ZUlM2RnBWNnZlY09vdExPNWdPcUNXSmFQIiwiaWF0IjoxNTk4NDMxMDg3fQ.isQ40HqHHfJ-rTsUQOhRIdu4XCitZU-AfzeqSH4kPbQ', 'Authorization': 'Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1OTg0MzQ2ODcsImlzcyI6InJFRVN6TU5ZUlM2RnBWNnZlY09vdExPNWdPcUNXSmFQIiwiaWF0IjoxNTk4NDMxMDg3fQ.isQ40HqHHfJ-rTsUQOhRIdu4XCitZU-AfzeqSH4kPbQ',
'XAPPKEY': 'f6b59b74-f943-4735-bb86-e05d6b7fd78e' 'XAPPKEY': 'f6b59b74-f943-4735-bb86-e05d6b7fd78e'
...@@ -608,13 +614,13 @@ class TxHandler { ...@@ -608,13 +614,13 @@ class TxHandler {
} }
//融易算报表确认 //融易算报表确认
async ConfirmReport(datajson){ async ConfirmReport(datajson) {
var messageBody = datajson; var messageBody = datajson;
messageBody.dataType = "2"; messageBody.dataType = "2";
messageBody.rysCheck = "1"; messageBody.rysCheck = "1";
messageBody.checkDate = moment(Date.now()).format("YYYY-MM-DD"); messageBody.checkDate = moment(Date.now()).format("YYYY-MM-DD");
var obj = { var obj = {
"pushUrl": this.bookUrl + "/fitaxpushqueueCtl/updateInfo", "pushUrl": this.bookUrl + "/fitaxpushqueueCtl/updateInfo",
"actionType": "updateInfo", "actionType": "updateInfo",
"messageBody": messageBody, "messageBody": messageBody,
//"requestId":datajson.requestId, //"requestId":datajson.requestId,
...@@ -628,13 +634,13 @@ class TxHandler { ...@@ -628,13 +634,13 @@ class TxHandler {
} }
//融易算报税确认 //融易算报税确认
async ConfirmTax(datajson){ async ConfirmTax(datajson) {
var messageBody = datajson; var messageBody = datajson;
messageBody.dataType = "3"; messageBody.dataType = "3";
messageBody.rysCheck = "1"; messageBody.rysCheck = "1";
messageBody.checkDate = moment(Date.now()).format("YYYY-MM-DD"); messageBody.checkDate = moment(Date.now()).format("YYYY-MM-DD");
var obj = { var obj = {
"pushUrl": this.bookUrl + "/fitaxpushqueueCtl/updateInfo", "pushUrl": this.bookUrl + "/fitaxpushqueueCtl/updateInfo",
"actionType": "updateInfo", "actionType": "updateInfo",
"messageBody": messageBody, "messageBody": messageBody,
//"requestId":datajson.requestId, //"requestId":datajson.requestId,
...@@ -648,9 +654,9 @@ class TxHandler { ...@@ -648,9 +654,9 @@ class TxHandler {
} }
//融易算接收票据快递单号 //融易算接收票据快递单号
async ReceivePaperPost(datajson){ async ReceivePaperPost(datajson) {
var obj = { var obj = {
"pushUrl": this.bookUrl + "/deliverybillCtl/receivePaperPost", "pushUrl": this.bookUrl + "/deliverybillCtl/receivePaperPost",
"actionType": "receivePaperPost", "actionType": "receivePaperPost",
"messageBody": datajson, "messageBody": datajson,
//"requestId":datajson.requestId, //"requestId":datajson.requestId,
......
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