Commit 623538a6 by Sxy

feat: ali 推送商机

parent 522fb0f2
...@@ -8,6 +8,7 @@ class AliHandler { ...@@ -8,6 +8,7 @@ class AliHandler {
this.msgService = system.getObject("service.msg.msgSve") this.msgService = system.getObject("service.msg.msgSve")
this.cacheManager = system.getObject("db.common.cacheManager"); this.cacheManager = system.getObject("db.common.cacheManager");
} }
/** /**
* 需要调用生成者接口,把数据丢入队列 * 需要调用生成者接口,把数据丢入队列
* 组装生产者需要的数据结构 * 组装生产者需要的数据结构
...@@ -28,61 +29,36 @@ class AliHandler { ...@@ -28,61 +29,36 @@ class AliHandler {
} }
} }
else { else {
//获取分配的业务员信息
var ConsultTypeName = datajson.actionBody.ConsultTypeName.split("/")[2];
var salesmanInfo = await this.userService.getBizUserForBizChance(datajson.actionBody.ContactsMobile, datajson.actionBody.ServicerName, ConsultTypeName, datajson.actionBody.RegionName);
console.log("salesman " + salesmanInfo);
var rc = system.getObject("util.execClient"); var rc = system.getObject("util.execClient");
var requrl = this.icUrl + "/bizoptCtl/insertInfo"; var requrl = this.icUrl + "/bizoptCtl/insertInfo";
let { actionBody } = datajson;
var params = { var params = {
"businessMode": datajson.actionBody.NeedNum, businessMode: actionBody.intentionBizId,
"servicerName": datajson.actionBody.ServicerName, servicerCode: "10",
"serviceCode": datajson.actionBody.RegionId, servicerName: "公司宝",
"serviceName": datajson.actionBody.RegionName, serviceName: actionBody.area,
"contactsName": datajson.actionBody.ContactsName, contactsPhone: actionBody.phone || actionBody.mobile,
"contactsPhone": datajson.actionBody.ContactsMobile, currentStatus: "beforeSubmission",
"businessType": datajson.actionBody.ConsultType, channelSource: "阿里云",
"businessName": datajson.actionBody.ConsultTypeName channelNumber: "aliCloud",
} memoInfo: actionBody.description,
if (datajson.actionBody.Notes && datajson.actionBody.Notes != 'undefined') {
params.memoInfo = datajson.actionBody.Notes;
}
if (datajson.actionBody.CompanyName && datajson.actionBody.CompanyName != 'undefined') {
params.companyName = datajson.actionBody.CompanyName;
}
if (datajson.actionBody.UserName && datajson.actionBody.UserName != 'undefined') {
params.UserName = datajson.actionBody.UserName;
} }
if (salesmanInfo && salesmanInfo != 'undefined') { if (actionBody.type_code) {
params.salesmanOpcode = salesmanInfo.opath; if (actionBody.type_code == "icpsq") {
params.salesmanId = salesmanInfo.userId; params.businessType = "ICP";
params.clerkName = salesmanInfo.userName; params.businessName = "icp";
params.clerkPhone = salesmanInfo.mobile; }
params.servicerCode = salesmanInfo.compId if (actionBody.type_code == "edisq") {
params.businessType = "EDI";
params.businessName = "edi"
}
} }
var rtn = await rc.execPost3({ "d": params }, requrl); var rtn = await rc.execPost3({ "d": params }, requrl);
var j = JSON.parse(rtn.stdout); var j = JSON.parse(rtn.stdout);
console.log(JSON.stringify(j), "RRRRRRRRRRRRRRR"); console.log(JSON.stringify(j), "RRRRRRRRRRRRRRR");
if (j.status == 1) { if (j.status == 1) {
await this.cacheManager["AliCache"].cache(cachestr, JSON.stringify({cachestr: cachestr}), 180000);//插入redis缓存 await this.cacheManager["AliCache"].cache(cachestr, JSON.stringify({ cachestr: cachestr }), 180000);//插入redis缓存
//给业务员发信息
var msg = {
"title": "你有新的商机,请尽快处理",
"content": "商机编号" + params.businessMode + ",商机类型是" + params.businessName + ",服务地区是" + params.serviceName,
"sender": "管理员",
"sender_id": 0,
"msgType": "single",
"target": { "id": params.salesmanId, "name": params.clerkName },
}
if (params.businessType == "/qcfw/icp/" || params.businessType == "/qcfw/edi/" || params.businessType == "/qcfw/icpannals/" || params.businessType == "/qcfw/ediannals/") {
msg.app_key = "5ae2da88-0ced-4b7a-98ea-60d5e1ff7e2e";
msg.jump_address = "allDispose"
}
else {
msg.app_key = "42d814c1-4daa-4643-88b2-f5dd3ec853f3";
msg.jump_address = "myChance"
}
await this.msgService.create(msg);
} }
return j; return j;
} }
...@@ -92,9 +68,38 @@ class AliHandler { ...@@ -92,9 +68,38 @@ class AliHandler {
console.log(error); console.log(error);
return system.getResultError(error); return system.getResultError(error);
} }
}
async updateChanceStatus(datajson) {
console.log("put in queue" + JSON.stringify(datajson) + "DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD");
try {
var cachestr = sha235(JSON.stringify(datajson));
var cacheInfo = await this.cacheManager["AliCache"].getCache(cachestr);
if (cacheInfo && cacheInfo != 'undefined') {
return {
"status": 1, //1代表成功,否则失败
"msg": "已处理成功!",
"data": "",
"requestId": ""
}
} else {
let { actionBody } = datajson;
var rc = system.getObject("util.execClient");
var requrl = this.icUrl + "/bizoptCtl/updateStatusByDemandCode";
var stau = {
"businessMode": actionBody.intentionBizId,
"currentStatus": "beforeConfirmation"
}
let rtn = await rc.execPost3({ "d": stau }, requrl);//更新商机状态为已完成
var j = JSON.parse(rtn.stdout);
return j
}
} catch (error) {
return system.getResultError(error);
}
} }
//退回商机处理 //退回商机处理
async needClose(datajson) { async needClose(datajson) {
console.log("put in queue" + JSON.stringify(datajson) + "DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD"); console.log("put in queue" + JSON.stringify(datajson) + "DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD");
...@@ -123,7 +128,7 @@ class AliHandler { ...@@ -123,7 +128,7 @@ class AliHandler {
var rtn = await rc.execPost3(params, requrl); var rtn = await rc.execPost3(params, requrl);
var j = JSON.parse(rtn.stdout); var j = JSON.parse(rtn.stdout);
if (j.status == 0) { if (j.status == 0) {
await this.cacheManager["AliCache"].cache(cachestr, JSON.stringify({cachestr: cachestr}), 180000);//插入缓存 await this.cacheManager["AliCache"].cache(cachestr, JSON.stringify({ cachestr: cachestr }), 180000);//插入缓存
//给业务员发信息 //给业务员发信息
var selUrl = this.icUrl + "/schemeCtl/findInfoByDemandCode"; var selUrl = this.icUrl + "/schemeCtl/findInfoByDemandCode";
...@@ -252,8 +257,10 @@ class AliHandler { ...@@ -252,8 +257,10 @@ class AliHandler {
console.log("推送数据oj: " + JSON.stringify(obj)); console.log("推送数据oj: " + JSON.stringify(obj));
var rtn = await rc.execPost3({ "d": obj }, requrl); var rtn = await rc.execPost3({ "d": obj }, requrl);
console.log("pushOrderDelivery插入数据成功---------------------------------" + rtn.stdout); console.log("pushOrderDelivery插入数据成功---------------------------------" + rtn.stdout);
let cacheDeliveryInfo = await this.cacheManager["AliCache"].cache(cachestr, JSON.stringify({cachestr: cachestr}), 180); let cacheDeliveryInfo = await this.cacheManager["AliCache"].cache(cachestr, JSON.stringify({ cachestr: cachestr }), 180);
console.log("交付单缓存信息: " + JSON.stringify(cacheDeliveryInfo)); console.log("交付单缓存信息: " + JSON.stringify(cacheDeliveryInfo));
// TODO:更新需求状态
return { return {
"status": 1, //1代表成功,否则失败 "status": 1, //1代表成功,否则失败
"msg": "", "msg": "",
...@@ -304,7 +311,7 @@ class AliHandler { ...@@ -304,7 +311,7 @@ class AliHandler {
var rtn = await rc.execPost3(params, requrl); var rtn = await rc.execPost3(params, requrl);
var j = JSON.parse(rtn.stdout); var j = JSON.parse(rtn.stdout);
if (j.status == 0) { if (j.status == 0) {
await this.cacheManager["AliCache"].cache(cachestr, JSON.stringify({cachestr: cachestr}), 180);//插入缓存 await this.cacheManager["AliCache"].cache(cachestr, JSON.stringify({ cachestr: cachestr }), 180);//插入缓存
//给业务员发信息 //给业务员发信息
var selUrl = this.icUrl + "/deliverybillCtl/findInfoByDeliverCode"; var selUrl = this.icUrl + "/deliverybillCtl/findInfoByDeliverCode";
var selpar = { var selpar = {
......
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