Commit 623538a6 by Sxy

feat: ali 推送商机

parent 522fb0f2
......@@ -8,6 +8,7 @@ class AliHandler {
this.msgService = system.getObject("service.msg.msgSve")
this.cacheManager = system.getObject("db.common.cacheManager");
}
/**
* 需要调用生成者接口,把数据丢入队列
* 组装生产者需要的数据结构
......@@ -28,61 +29,36 @@ class AliHandler {
}
}
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 requrl = this.icUrl + "/bizoptCtl/insertInfo";
let { actionBody } = datajson;
var params = {
"businessMode": datajson.actionBody.NeedNum,
"servicerName": datajson.actionBody.ServicerName,
"serviceCode": datajson.actionBody.RegionId,
"serviceName": datajson.actionBody.RegionName,
"contactsName": datajson.actionBody.ContactsName,
"contactsPhone": datajson.actionBody.ContactsMobile,
"businessType": datajson.actionBody.ConsultType,
"businessName": datajson.actionBody.ConsultTypeName
}
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;
businessMode: actionBody.intentionBizId,
servicerCode: "10",
servicerName: "公司宝",
serviceName: actionBody.area,
contactsPhone: actionBody.phone || actionBody.mobile,
currentStatus: "beforeSubmission",
channelSource: "阿里云",
channelNumber: "aliCloud",
memoInfo: actionBody.description,
}
if (salesmanInfo && salesmanInfo != 'undefined') {
params.salesmanOpcode = salesmanInfo.opath;
params.salesmanId = salesmanInfo.userId;
params.clerkName = salesmanInfo.userName;
params.clerkPhone = salesmanInfo.mobile;
params.servicerCode = salesmanInfo.compId
if (actionBody.type_code) {
if (actionBody.type_code == "icpsq") {
params.businessType = "ICP";
params.businessName = "icp";
}
if (actionBody.type_code == "edisq") {
params.businessType = "EDI";
params.businessName = "edi"
}
}
var rtn = await rc.execPost3({ "d": params }, requrl);
var j = JSON.parse(rtn.stdout);
console.log(JSON.stringify(j), "RRRRRRRRRRRRRRR");
if (j.status == 1) {
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);
await this.cacheManager["AliCache"].cache(cachestr, JSON.stringify({ cachestr: cachestr }), 180000);//插入redis缓存
}
return j;
}
......@@ -92,9 +68,38 @@ class AliHandler {
console.log(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) {
console.log("put in queue" + JSON.stringify(datajson) + "DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD");
......@@ -123,7 +128,7 @@ class AliHandler {
var rtn = await rc.execPost3(params, requrl);
var j = JSON.parse(rtn.stdout);
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";
......@@ -252,8 +257,10 @@ class AliHandler {
console.log("推送数据oj: " + JSON.stringify(obj));
var rtn = await rc.execPost3({ "d": obj }, requrl);
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));
// TODO:更新需求状态
return {
"status": 1, //1代表成功,否则失败
"msg": "",
......@@ -304,7 +311,7 @@ class AliHandler {
var rtn = await rc.execPost3(params, requrl);
var j = JSON.parse(rtn.stdout);
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 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