Commit a834e98f by 宋毅

Merge branch 'center-channel' of gitlab.gongsibao.com:jiangyong/zhichan into center-channel

parents 15f28344 ef7d92ea
......@@ -53,6 +53,12 @@ class ProductAPI extends WEBBase {
case "getAllProducts":
opResult = await this.utilsProductSve.getAllProducts(pobj);
break;
case "getProducts"://目前用作创建方案时获取当前app的商品(product)
opResult = await this.utilsProductSve.getProducts(pobj);
break;
case "getProductsPrice"://目前用作创建方案时获取当前app的商品的属性(product_price-price_desc)
opResult = await this.utilsProductSve.getProductsPrice(pobj);
break;
case "getAllProductType":// 获取产品大类
opResult = await this.utilsProductSve.getAllProductType(pobj);
break;
......
......@@ -13,15 +13,28 @@ class AccessAuthAPI extends APIBase {
this.utilsNeedSve = system.getObject("service.utilsSve.utilsNeedSve");
this.utilsOpOrderSve = system.getObject("service.utilsSve.utilsOpOrderSve");
}
/**
* 查询阿里商标优选留咨信息,定时任务调用
* @param pobj
* @param qobj
* @param req
* @return {Promise<{msg: *, data, status: number}|{msg: *, data: *, status: *}>}
* @constructor
*/
async QueryTradeIntentionUserList(pobj, qobj, req) {
pobj.appInfo={uapp_id:18}
let start_time = await this.redisClient.get("start_time_18")
let endtime = Date.now();
let starttime = Date.now() - 30 * 60 * 1000;//30分钟(毫秒)
let starttime = start_time || (Date.now() - 30 * 60 * 1000);//30分钟(毫秒)
pobj.actionBody = {
Begin: starttime,
End: endtime
};
return await this.utilsNeedSve.queryTradeIntentionUserList(pobj);
let res = await this.utilsNeedSve.queryTradeIntentionUserList(pobj);
if (res.status === 0)
await this.redisClient.set("start_time_18",endtime+1)
return res
}
async taskAliIcapi() {
var rtn = await this.gatewaypushlogSve.taskAliIcapi();
......
......@@ -44,7 +44,31 @@ var regCfg = {
"370200":"青岛",
"410200":"开封",
"230100":"哈尔滨",
"130100":"石家庄"
"130100":"石家庄",
"350200":"厦门",
"360400":"九江",
"410300":"洛阳",
"411000":"许昌",
"411600":"周口",
"411300":"南阳",
"420500":"宜昌",
"420600":"襄阳",
"430600":"岳阳",
"430700":"常德",
"440700":"江门",
"440400":"珠海",
"440900":"茂名",
"441300":"惠州",
"442000":"中山",
"450100":"南宁",
"460100":"海口",
"460200":"三亚",
"510700":"绵阳",
"540100":"拉萨",
"130600":"保定",
"130200":"唐山",
"140200":"大同",
"1501":"呼和浩特"
},
baiduAreaCode : {
......@@ -89,7 +113,31 @@ var regCfg = {
"青岛": "370200",
"开封": "410200",
"哈尔滨":"230100",
"石家庄":"130100"
"石家庄":"130100",
"厦门":"350200",
"九江":"360400",
"洛阳":"410300",
"许昌":"411000",
"周口":"411600",
"南阳":"411300",
"宜昌":"420500",
"襄阳":"420600",
"岳阳":"430600",
"常德":"430700",
"江门":"440700",
"珠海":"440400",
"茂名":"440900",
"惠州":"441300",
"中山":"442000",
"南宁":"450100",
"海口":"460100",
"三亚":"460200",
"绵阳":"510700",
"拉萨":"540100",
"保定":"130600",
"唐山":"130200",
"大同":"140200",
"呼和浩特":"150100"
},
channelTypeCode : {
"GSREG" : "baidu.gsreg",
......@@ -101,7 +149,8 @@ var regCfg = {
},
//区分渠道的uappid
uappId : {
'baidu':44
'baidu':44,
'zhogxiaowei': 38
},
//交付状态
deliverRegStatus:{
......
......@@ -39,6 +39,9 @@ class Ic extends APIBase {
case "orderClose"://阿里退款
opResult = await this.utilsOrderSve.orderClose(pobj);
break;
case "pushOrderToDelivery"://直接推送资质宝
opResult= await this.centerorderSve.icOrderToDelievery(pobj);
break;
default:
opResult = system.getResult(null, "action_type参数错误");
break;
......
......@@ -74,9 +74,12 @@ class Need extends APIBase {
case "tmNotifySub"://tm建案成功
opResult = await self.centerorderSve.tmsave(pobj, pobj.actionBody);
break;
case "writeCommunicationLog"://icp接收方案反馈信息
case "writeCommunicationLog"://写入跟进记录。通用
opResult = await this.utilsNeedSve2.writeCommunicationLog(pobj);
break;
case "queryCommunicationLog"://获取跟进记录。通用
opResult = await this.utilsNeedSve2.queryCommunicationLog(pobj);
break;
case "queryExpertApplyCommunicationLogs"://icp接收方案反馈信息
opResult = await this.utilsNeedSve2.queryExpertApplyCommunicationLogs(pobj);
break;
......@@ -120,6 +123,9 @@ class Need extends APIBase {
// opResult = await this.utilsNeedSve.getItemByChannelSolutionNo(pobj, pobj.actionBody);
// break;
break;
case "getOrderInfoByChannelOrderNo"://根据渠道订单订单信息
opResult = await this.utilsNeedSve.getOrderInfoByChannelOrderNo(pobj, pobj.actionBody);
break;
//-----------接入百度ICP------end----------------------------------
case "importNeeds":
opResult = await this.utilsNeedSve.importNeeds(pobj,req);
......
......@@ -462,6 +462,13 @@ class RegCenterOrderService extends AppServiceBase {
return system.getResultFail(-101, pushBaiduRegSolution.msg)
}
}
if (needinfo.uapp_id == regCfg.uappId.zhogxiaowei) {
// 2021 1103 lin 等待推送方案地址。确定返回值是什么
var result = await this.restPostUrl(res.data.needsolutions[0], 'http://zhongxiaowei.com/createSolutions');
if (pushBaiduRegSolution.status != 0) {
return system.getResultFail(-101, pushBaiduRegSolution.msg)
}
}
this.logCtl.info({
appid: pobj.appInfo ? pobj.appInfo.uapp_id || "" : "",
appkey: pobj.appInfo ? pobj.appInfo.uapp_key || "" : "",
......
......@@ -47,6 +47,7 @@ class UtilsDeliverSystemService extends AppServiceBase {
try {
var rtn = await this.restPostUrl(reqParams, pushQueueUrl);
if (rtn.status != 1) {
this.execClientNew.execLogs(`推送队列接收数据失败->opQueuePushClientPost`, pobj, "center-channel-utilsDeliverSystemSve-opQueuePushClientPost", rtn, JSON.stringify(rtn));
return system.getResult(null, "推送队列接收数据失败,失败原因:" + JSON.stringify(rtn));
}
return system.getResultSuccess(null, "推送成功");
......
......@@ -49,7 +49,7 @@ class UtilsNeedService extends AppServiceBase {
}
pobj.actionBody.service_product_id= data.data.service_product_id;
pobj.actionBody.productId = data.data.service_product_id;
pobj.actionBody.appName = pobj.appInfo.app_name;
pobj.actionBody.appName = pobj.appInfo.app_name||pobj.actionBody.appName;
pobj.actionBody.type_code = data.data.type_code;
pobj.actionBody.type_name = data.data.type_name;
pobj.actionBody.channel_type_code = data.data.channel_type_code;
......@@ -393,6 +393,16 @@ class UtilsNeedService extends AppServiceBase {
var itemResult = await this.restPostUrl(pobj, reqUrl);
return itemResult;
}
//阿里icp退款新增
async getOrderInfoByChannelOrderNo(pobj, actionBody) {
if (!actionBody.orderNo) {
return system.getResult(null, "actionBody.orderNo can not be empty,1003901");
}
var reqUrl = this.centerOrderUrl + "action/need/springBoard";
var itemResult = await this.restPostUrl(pobj, reqUrl);
return itemResult;
}
/**
* 关闭需求
* @param {*} pobj
......@@ -771,6 +781,7 @@ class UtilsNeedService extends AppServiceBase {
pobj.actionBody.mobile = item.Mobile ? item.Mobile : "";
//pobj.actionBody.Area = item.Area || "北京"
pobj.actionBody.area = '大陆地区 '
pobj.actionBody.appName="阿里云商机"
pobj.actionBody.userName = item.UserName ? item.UserName : "";
pobj.actionBody.description = item.RegisterNumber
pobj.notes = `${item.RegisterNumber ? "RegisterNumber:" + item.RegisterNumber : ""}${item.Classification ? "Classification:" + item.Classification : ""}`;
......@@ -1495,16 +1506,36 @@ class UtilsNeedService extends AppServiceBase {
if (pobj.actionBody.channel_type_code == 5) {
pobj.actionBody.type = "yiming.icp";
pobj.actionBody.idempotentSource = "yiming.icp";
} else if (pobj.actionBody.channel_type_code == 7) {
}
else if (pobj.actionBody.channel_type_code == 7) {
pobj.actionBody.type = "yiming.edi";
pobj.actionBody.idempotentSource = "yiming.edi";
} else if (pobj.actionBody.channel_type_code == "icpnb") {
}
else if (pobj.actionBody.channel_type_code == "ICPNB") {
pobj.actionBody.type = "yiming.icpnb";
pobj.actionBody.idempotentSource = "yiming.icpnb";
} else if (pobj.actionBody.channel_type_code == "edinb") {
}
else if (pobj.actionBody.channel_type_code == "EDINB") {
pobj.actionBody.type = "yiming.edinb";
pobj.actionBody.idempotentSource = "yiming.edinb";
}
else if(pobj.actionBody.channel_type_code == "ICPXQ"){
pobj.actionBody.type = "yiming.icpxq";
pobj.actionBody.idempotentSource = "yiming.icpxq";
}
else if(pobj.actionBody.channel_type_code == "EDIXQ"){
pobj.actionBody.type = "yiming.edixq";
pobj.actionBody.idempotentSource = "yiming.edixq";
}
//外资暂时产品库未上架
else if(pobj.actionBody.channel_type_code == "ICPWZ"){
pobj.actionBody.type = "yiming.icpwz";
pobj.actionBody.idempotentSource = "yiming.icpwz";
}
else if(pobj.actionBody.channel_type_code == "EDIWZ"){
pobj.actionBody.type = "yiming.ediwz";
pobj.actionBody.idempotentSource = "yiming.ediwz";
}
}
if (pobj.actionBody.description && pobj.actionBody.description.indexOf("备#") < 0) {
pobj.actionBody.level = "A";
......@@ -1631,7 +1662,7 @@ class UtilsNeedService extends AppServiceBase {
var tmpObj2 = {
actionBody: {
orderNo: channelOrderNo,
channelNeedNo: rtn.data.channelNeedNo,
channelNeedNo: rtn.data.channelNeedNo || channelOrderNo,//做云服和企服通没有渠道需求号的兼容
needsolution: rtn.data.solutionContent
},
appInfo: pobj.appInfo
......
......@@ -4,6 +4,7 @@ const AppServiceBase = require("../../app.base");
const fs = require("fs");
const { json } = require("sequelize");
const { getResult, getResultSuccess } = require("../../../system");
const { type } = require("os");
//区分渠道的uappid
const uappId = {
'ali': 18, //(阿里icp、edi)
......@@ -185,7 +186,7 @@ class UtilsNeedService2 extends AppServiceBase {
if (result.data.uapp_id == uappId.ename) {// yiming / ename
console.log("queryExpertApplyCommunicationLogs---ename---pobj--", pobj)
console.log('settings.enameClientUrl()+"queryExpertApplyCommunicationLogs"----',settings.enameClientUrl()+"queryExpertApplyCommunicationLogs")
var res = await self.execClient.execEnamePost({
var res = await this.execClient.execEnamePost({
BeginTime: pobj.actionBody.BeginTime ? pobj.actionBody.BeginTime : "",
EndTime: pobj.actionBody.EndTime ? pobj.actionBody.EndTime : "",
BizId: pobj.actionBody.intentionBizId,
......@@ -196,13 +197,36 @@ class UtilsNeedService2 extends AppServiceBase {
console.log('ename+++queryExpertApplyCommunicationLogs---res---', res)
}
}
if(res && res.data && res.data.result){
res.data['Data'] = res.data.result
//判断易名是否有写接口
if(res && res.stdout == ""){//先判断没有写接口的情况
if(result && result.status == 0 && result.data && result.data.followContent){
for (let i = 0; i < result.data.followContent.length; i++) {
if(typeof(result.data.followContent[i]) == 'string'){
if(result && result.data && result.data.followContent && (JSON.parse(result.data.followContent[i])[0].content).indexOf('提交方案') > -1){
result.data.followContent.splice(i,1);
}
}
}
result.data['Data'] = result.data.followContent;
}
return getResultSuccess(result);
}else{//正常易名有查询沟通记录
if(res && res.data && res.data.result){
res.data['Data'] = res.data.result
}
return getResultSuccess(res);
}
return getResultSuccess(res);
}
async queryCommunicationLog(pobj) {
var reqUrl = this.centerOrderUrl + "action/need/springBoard";
var result = await this.restPostUrl(pobj, reqUrl);
if(result && result.data && result.data.followContent){
return getResultSuccess(result.data.followContent);
}else{
return system.getResult(null, "未查到跟进记录 100500");
}
}
}
module.exports = UtilsNeedService2;
\ No newline at end of file
......@@ -18,7 +18,7 @@ class UtilsOpNeedService extends AppServiceBase {
}
/**
* 提交需求 h5/pc 通用提交需求接口 如果需求内容是具体sku价格项 则不适用 目前只有鑫创在用。
* 提交需求 h5/pc 通用提交需求接口 如果需求内容是具体sku价格项 则不适用 目前只有鑫创and中小微在用。
* @param {*} pobj
* @param {*} actionBody
*/
......@@ -30,16 +30,12 @@ class UtilsOpNeedService extends AppServiceBase {
var url = settings.centerAppUrl() + "action/opProduct/springBoard";
var opResult = await this.restPostUrl(sobj, url);
if (opResult.status != 0) {
return system.getResultFail(-5015, "需求类型查询失败");
return system.getResultFail(-5015, "产品类型查询失败");
}
sobj.actionType = "getProductDetail";
sobj.actionBody.channelItemCode = opResult.data.channel_type_code;
var url = settings.centerAppUrl() + "action/opProduct/springBoard";
var opDetailResult = await this.restPostUrl(sobj, url);
if (opResult.status != 0) {
return system.getResultFail(-5015, "需求类型查询失败");
if (!opResult.data) {
return system.getResultFail(-5016, "请检查产品类型编码");
}
pobj.actionBody.service_product_id = opDetailResult.data.price_list[0].service_code;// 获取skuid skuid应在product price表 代表具体价格项
pobj.actionBody.service_product_id = opResult.data.service_product_id;// 获取skuid skuid应在product price表 代表具体价格项
pobj.actionBody.productId = opResult.data.service_product_id;// productId 注意这里与上面不是相等的值。 productId代表一类产品应在type里
pobj.actionBody.appName = pobj.appInfo.app_name;
pobj.actionBody.type_code = opResult.data.type_code;
......@@ -51,8 +47,8 @@ class UtilsOpNeedService extends AppServiceBase {
// 提交需求
pobj.actionType = "opSubmitNeed";
var reqUrl = this.centerOrderUrl + "action/opNeed/springBoard";
this.execClientNew.execLogs(`推送蜂擎前创建需求信息->opSubmitNeed->channel(opSubmitNeed)`, pobj, "center-channel-UtilsOpNeedService-opSubmitNeed", result, null);
var result = await this.restPostUrl(pobj, reqUrl);
this.execClientNew.execLogs(`推送蜂擎前创建需求信息->opSubmitNeed->channel(opSubmitNeed)`, pobj, "center-channel-UtilsOpNeedService-opSubmitNeed", result, null);
if (result.status == 0) {
pobj.actionBody.idempotentId = result.data.channelNeedNo;
pobj.actionBody.idempotentSource = opResult.data.channel_type_code;
......
......@@ -155,6 +155,26 @@ class UtilsProductService extends AppServiceBase {
}
/**
* 目前用作创建方案时获取当前app的商品(product)
* @returns {Promise<{msg: string, data, bizmsg: *|string, status: number}|any>}
*/
async getProducts(pobj) {
let url = settings.centerAppUrl() + 'action/opProduct/springBoard';
let result = await this.restPostUrl(pobj, url);
return result;
}
/**
* 目前用作创建方案时获取当前app的商品的属性(product_price-price_desc)
* @returns {Promise<{msg: string, data, bizmsg: *|string, status: number}|any>}
*/
async getProductsPrice(pobj) {
let url = settings.centerAppUrl() + 'action/opProduct/springBoard';
let result = await this.restPostUrl(pobj, url);
return result;
}
/**
* 获取全部产品大类
* @returns {Promise<{msg: string, data, bizmsg: *|string, status: number}|any>}
*/
......
......@@ -34,7 +34,8 @@ module.exports = {
"rtSubmitMaterial", "rtNotification", "rtSubmitSolution", "rtCloseNeed", "rtClosePlan",
//百度工商注册
"regGetInfoByChannelNeedNo", "submitRegNeed", "regFeedbackSubmit", "regOrderStatus", "regOrderClose",
"getSolutionByChannelOrderNo", "regSubmitSolution", "regNeedClose",
// "getSolutionByChannelOrderNo",
"regSubmitSolution", "regNeedClose",
"regWriteCommunicationLog", "regQueryExpertCommunicationLogs", "regUpdateOrderStatus", "regPaySuccess",
//yiming/ename
"eNameCloseOrder",
......
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