Commit 9525337d by 宋毅

tj

parent c9dc7756
...@@ -2,10 +2,12 @@ const system = require("../system"); ...@@ -2,10 +2,12 @@ const system = require("../system");
const settings = require("../../config/settings"); const settings = require("../../config/settings");
const moment = require('moment'); const moment = require('moment');
const uuid = require('uuid'); const uuid = require('uuid');
const sha256 = require('sha256');
class APIBase { class APIBase {
constructor() { constructor() {
this.execClient = system.getObject("util.execClient"); this.execClient = system.getObject("util.execClient");
this.redisClient = system.getObject("util.redisClient");
this.userCenterAction = { this.userCenterAction = {
"GetOverviewInfoByUser": "getOverviewInfoByUser", "GetOverviewInfoByUser": "getOverviewInfoByUser",
"GetOrderList": "getOrderList", "GetOrderList": "getOrderList",
...@@ -15,7 +17,7 @@ class APIBase { ...@@ -15,7 +17,7 @@ class APIBase {
"GetApplyListByUserAndType": "getApplyListByUserAndType", "GetApplyListByUserAndType": "getApplyListByUserAndType",
"GetApplyAndSolutionInfo": "getApplyAndSolutionInfo", "GetApplyAndSolutionInfo": "getApplyAndSolutionInfo",
"GetPriceDetail": "selPrice2TX", "GetPriceDetail": "selPrice2TX",
"GetOverviewInfoByUser": "getOverviewInfoByUser", // "GetOverviewInfoByUser": "getOverviewInfoByUser",
"SubmitGoodsInfo": "submitGoodsinfo", "SubmitGoodsInfo": "submitGoodsinfo",
"SubmitNeed": "needSubmit", "SubmitNeed": "needSubmit",
"GetNeedList": "needList", "GetNeedList": "needList",
...@@ -27,6 +29,15 @@ class APIBase { ...@@ -27,6 +29,15 @@ class APIBase {
"SendVerificationCode": "sendVerificationCode", "SendVerificationCode": "sendVerificationCode",
"CheckBusinessNameList": "checkBusinessNameList", "CheckBusinessNameList": "checkBusinessNameList",
}; };
this.queryAction = [
"GetOrderList", "getOrderList", "GetOverviewInfoByUser", "getOverviewInfoByUser", "GetOrderList", "getOrderList",
"GetQualificationCertificateOrderList", "getQcOrderList", "GetQcOrderList", "GetOrderDetail", "getOrderDetail",
"GetApplyListByUserAndType", "getApplyListByUserAndType", "GetApplyAndSolutionInfo", "getApplyAndSolutionInfo",
"GetPriceDetail", "getPriceDetail", "GetNeedList", "getNeedList", "GetNeedDetail", "getNeedDetail", "GetOrderListByStatus",
"getOrderListByStatus", "GetQualificationCertificateListByUserAndType", "getQualificationCertificateListByUserAndType",
"GetQualificationCertificateDetail", "getQualificationCertificateDetail"
];
} }
//-----------------------新的模式------------------开始 //-----------------------新的模式------------------开始
...@@ -46,6 +57,14 @@ class APIBase { ...@@ -46,6 +57,14 @@ class APIBase {
} }
console.log(JSON.stringify(reqParams), "....req......base......"); console.log(JSON.stringify(reqParams), "....req......base......");
try { try {
var shaStr = await sha256(JSON.stringify(reqParams));
//查询缓存
if (this.queryAction.indexOf(reqParams.actionType) >= 0) {
var cacheRes = await this.redisClient.getCache(shaStr);
if (cacheRes) {
return JSON.parse(cacheRes);
}
}
var result = await this[methodname](reqParams, query, req); var result = await this[methodname](reqParams, query, req);
if (!result) { if (!result) {
result = system.getResult(null, "请求的方法返回值为空"); result = system.getResult(null, "请求的方法返回值为空");
...@@ -57,6 +76,9 @@ class APIBase { ...@@ -57,6 +76,9 @@ class APIBase {
result = await this.handleTxResult(result); result = await this.handleTxResult(result);
delete req.body["Action"]; delete req.body["Action"];
}//处理tx返回数据 }//处理tx返回数据
//保存缓存
await this.redisClient.setWithEx(shaStr, JSON.stringify(result), 5);
return result; return result;
} catch (error) { } catch (error) {
var stackStr = error.stack ? error.stack : JSON.stringify(error); var stackStr = error.stack ? error.stack : JSON.stringify(error);
...@@ -107,6 +129,10 @@ class APIBase { ...@@ -107,6 +129,10 @@ class APIBase {
if (typeof element === 'string' || typeof element === "number" || element instanceof Date || !element) { if (typeof element === 'string' || typeof element === "number" || element instanceof Date || !element) {
newResult.Response[instanceSet] = element; newResult.Response[instanceSet] = element;
} else if (element instanceof Array) { } else if (element instanceof Array) {
if (element.length == 0) {
newResult.Response[instanceSet] = null;
continue;
}
newResult.Response[instanceSet] = []; newResult.Response[instanceSet] = [];
for (let h = 0; h < element.length; h++) { for (let h = 0; h < element.length; h++) {
const arrayElement = element[h]; const arrayElement = element[h];
...@@ -147,9 +173,9 @@ class APIBase { ...@@ -147,9 +173,9 @@ class APIBase {
}//data处理 }//data处理
} else { } else {
if (tKey != "data") { if (tKey != "data") {
newResult.Response[newTKey] = ""; newResult.Response[newTKey] = typeof element === "number" ? element : null;
} else { } else {
newResult.Response[instanceSet] = ""; newResult.Response[instanceSet] = null;
} }
} }
} }
......
...@@ -22,22 +22,25 @@ class Need extends APIBase { ...@@ -22,22 +22,25 @@ class Need extends APIBase {
async opActionProcess(pobj, action_type, req) { async opActionProcess(pobj, action_type, req) {
var opResult = null; var opResult = null;
switch (action_type) { switch (action_type) {
case "qcloud.domain.checkCreate"://新购参数检查 case "qcloud.gsb.checkCreate"://新购参数检查
opResult = await this.txPushLogSve.checkCreate(pobj, req); opResult = await this.txPushLogSve.checkCreate(pobj, req);
break; break;
case "qcloud.cbs.CreateCbsInstance"://支付回调 case "qcloud.gsb.createResource"://支付回调
opResult = await this.txPushLogSve.createCbsInstance(pobj, req); opResult = await this.txPushLogSve.createCbsInstance(pobj, req);
break; break;
case "qcloud.PRODUCT_NAME.queryFlow"://发货状态查询 case "qcloud.gsb.queryFlow"://发货状态查询
opResult = await this.txPushLogSve.queryFlow(pobj, req); opResult = await this.txPushLogSve.queryFlow(pobj, req);
break; break;
case "qcloud.PRODUCT_NAME.isolateResource"://资源隔离 case "qcloud.gsb.isolateResource"://资源隔离
opResult = await this.txPushLogSve.isolateResource(pobj, req); opResult = await this.txPushLogSve.isolateResource(pobj, req);
break; break;
case "qcloud.PRODUCT_NAME.queryResources"://资源拉取 case "qcloud.gsb.queryResources"://资源拉取
opResult = await this.txPushLogSve.queryResources(pobj, req); opResult = await this.txPushLogSve.queryResources(pobj, req);
break; break;
case "qcloud.PRODUCT_NAME.destroyResource"://销毁资源 case "qcloud.gsb.queryUserResources"://用户所有资源拉取
opResult = await this.txPushLogSve.queryUserResources(pobj, req);
break;
case "qcloud.gsb.destroyResource"://销毁资源
opResult = await this.txPushLogSve.destroyResource(pobj, req); opResult = await this.txPushLogSve.destroyResource(pobj, req);
break; break;
default: default:
......
...@@ -15,6 +15,7 @@ class TxPushLogService extends ServiceBase { ...@@ -15,6 +15,7 @@ class TxPushLogService extends ServiceBase {
"componentName": componentName, "componentName": componentName,
"returnValue": status, "returnValue": status,
"returnCode": status, "returnCode": status,
"timestamp": Date.now(),
"returnMessage": message, "returnMessage": message,
"data": data "data": data
} }
...@@ -95,70 +96,72 @@ class TxPushLogService extends ServiceBase { ...@@ -95,70 +96,72 @@ class TxPushLogService extends ServiceBase {
if (!pobj.interface.para.resourceIds[0]) { if (!pobj.interface.para.resourceIds[0]) {
return self.returnTX(-1, "cgateway", "参数错误", null) return self.returnTX(-1, "cgateway", "参数错误", null)
} }
var orderProduct = await this.orderProductDao.findOne({ order_num: loginfo.dataValues.dealName }); var resources = [];
if (!orderProduct) { for (let i = 0; i < pobj.interface.para.resourceIds.length; i++) {
var orderProduct = await this.orderProductDao.findOne({ order_num: pobj.interface.para.resourceIds[i] });
if (!orderProduct) {
return self.returnTX(-1, "cgateway", "资源不存在", null)
}
var resource = {
"appId": orderProduct.tx_order_snapshot.appId,
"uin": orderProduct.tx_order_snapshot.ownerUin,
"resourceId": pobj.interface.para.resourceIds[i],//站内信自定义字段层级和此字段同一层级
"projectId": 0,
"autoRenewFlag": 0,
"region": 1,
"zoneId": orderProduct.tx_order_snapshot.zoneId,
"status": orderProduct.status,
"payMode": 1, // 必传,1预付费 0后付费
"isolatedTimestamp": orderProduct.isolated_timestamp || "0000-00-00 00:00:00",
"createTime": orderProduct.start_time,
"expireTime": orderProduct.end_time || "0000-00-00 00:00:00",
"goodsDetail": orderProduct.tx_order_snapshot.goodsDetail
}
resources.push(resource);
}
return self.returnTX(1, "cgateway", "ok", { "resources": resources })
}
//用户所有资源拉取
async queryUserResources(pobj) {
var self = this;
if (!pobj.interface.para.uin) {
return self.returnTX(-1, "cgateway", "参数错误", null)
}
var orderProduct = await this.orderProductDao.findAndCountAll({
search: {
user_id: pobj.interface.para.uin
},
pageInfo: {
pageNo: Number(pobj.interface.para.pageNo) || 1,
pageSize: Number(pobj.interface.para.pageSize) || 1000
}
});
if (orderProduct.count < 1) {
return self.returnTX(-1, "cgateway", "资源不存在", null) return self.returnTX(-1, "cgateway", "资源不存在", null)
} }
var r = { var resources=[];
"eventId": 186993048, for (let i = 0; i < orderProduct.rows.length; i++) {
"version": 1, const resource = {
"componentName": "cgateway", "appId": orderProduct.rows[i].tx_order_snapshot.appId,
"timestamp": 1500912302, "uin": orderProduct.rows[i].tx_order_snapshot.ownerUin,
"returnValue": 0, "resourceId": orderProduct.rows[i].order_num,//站内信自定义字段层级和此字段同一层级
"returnCode": 0, "projectId": 0,
"returnMessage": "ok", "autoRenewFlag": 0,
"data": { "region": 1,
"resources": [ "zoneId": orderProduct.rows[i].tx_order_snapshot.zoneId,
{ "status": orderProduct.status,
"appId": appId, "payMode": 1, // 必传,1预付费 0后付费
"uin": ownerUin, "isolatedTimestamp": orderProduct.rows[i].isolated_timestamp || "0000-00-00 00:00:00",
"resourceId": tx_order_snapshot,//站内信自定义字段层级和此字段同一层级 "createTime": orderProduct.rows[i].start_time,
"projectId": 0, "expireTime": orderProduct.rows[i].end_time || "0000-00-00 00:00:00",
"autoRenewFlag": 0, "goodsDetail": orderProduct.rows[i].tx_order_snapshot.goodsDetail
"region": 1,
"zoneId": 200001,
"status": orderProduct.status,
"payMode": 1, // 必传,1预付费 0后付费
"isolatedTimestamp": orderProduct.isolated_timestamp || "0000-00-00 00:00:00",
"createTime": orderProduct.start_time,
"expireTime": orderProduct.end_time || "0000-00-00 00:00:00",
"goodsDetail": orderProduct.tx_order_snapshot.goodsDetail
}
]
} }
resources.push(resource);
} }
return self.returnTX(1, "cgateway", "ok", { "status": loginfo.push_status }) return self.returnTX(1, "cgateway", "ok", { "total": orderProduct.count, "resources": resources })
} }
// {
// "version": "1.0",
// "caller": "mall_logic",
// "componentName": "mall_logic",
// "password": "mall_logic",
// "callee": "cdb",
// "eventId": 843836670,
// "seqId": "1501802577.465723597230350480",
// "spanId": "logical;1",
// "timestamp": 1501802577,
// "interface": {
// "interfaceName": "qcloud.PRODUCT_NAME.isolateResource",
// "para": {
// "appId": 123,
// "uin": "123",
// "operateUin": "123",
// "type": "cdb",
// "region": 4,
// "resourceId": "cdb-dfe8t7i9"
// "renewFlag": 0,
// "newDeadline": "2016-10-22 12:00:00",
// "billingIsolateType": "refund",
// "billingExtParam":{
// "sv_xxx":"sv_xxx"// 查询用量时业务返回的数据
// }
// }
// }
// }
//隔离资源 //隔离资源
async isolateResource(pobj) { async isolateResource(pobj) {
var self = this; var self = this;
......
...@@ -78,7 +78,7 @@ class NeedInfoService extends ServiceBase { ...@@ -78,7 +78,7 @@ class NeedInfoService extends ServiceBase {
return system.getResultFail(-203, "servicer is empty"); return system.getResultFail(-203, "servicer is empty");
} }
if (!serviceinfo.data.is_enabled) { if (!serviceinfo.data.is_enabled) {
return system.getResultFail(-300, "servicer isn't enable"); return system.getResultFail(-300, "servicer isnt enable");
} }
actionBody.ServicerCode = serviceinfo.data.servicer_code; actionBody.ServicerCode = serviceinfo.data.servicer_code;
actionBody.ServicerName = serviceinfo.data.servicer_name; actionBody.ServicerName = serviceinfo.data.servicer_name;
......
...@@ -160,7 +160,7 @@ class NeedSolutionService extends ServiceBase { ...@@ -160,7 +160,7 @@ class NeedSolutionService extends ServiceBase {
path_code: needInfo.dataValues.consult_type, path_code: needInfo.dataValues.consult_type,
region_id: needInfo.dataValues.region_id region_id: needInfo.dataValues.region_id
} }
var serviceinfo = await this.needInfoDao.findServiceByProductType(urlobj); var serviceinfo = await self.needInfoDao.findServiceByProductType(urlobj);
if (serviceinfo.status < 0) { if (serviceinfo.status < 0) {
return system.getResultFail(-203, "servicer is empty"); return system.getResultFail(-203, "servicer is empty");
} }
......
...@@ -119,19 +119,24 @@ class ApplyInfoService extends ServiceBase { ...@@ -119,19 +119,24 @@ class ApplyInfoService extends ServiceBase {
var selfEmployedPersonCount = await this.dao.findCount({ where: { apply_type: 2, user_id: ab.UserId } });//个体户数量 var selfEmployedPersonCount = await this.dao.findCount({ where: { apply_type: 2, user_id: ab.UserId } });//个体户数量
var waitConfirmCount = await this.needInfoDao.findCount({ where: { status: 3, user_id: ab.UserId, consult_type: { [this.db.Op.like]: productTypeOne } } });//待确认方案数量 var waitConfirmCount = await this.needInfoDao.findCount({ where: { status: 3, user_id: ab.UserId, consult_type: { [this.db.Op.like]: productTypeOne } } });//待确认方案数量
var waitReceiveFileOrderCount = await this.orderDeliveryDao.findOverviewCount(150, ab.UserId, ab.ProductTypeOne);//待收文件数量 var waitReceiveFileOrderCount = await this.orderDeliveryDao.findOverviewCount(150, ab.UserId, ab.ProductTypeOne);//待收文件数量
// var unpaidCount = await this.orderInfoDao.findCount({where:{order_status:0}});//待支付订单数量 // if(ab.ProductTypeOne == "qcfw"){//资质证照
if(ab.ProductTypeOne == "qcfw"){//资质证照 // var internetContentProviderCount = await this.orderInfoDao.findOrderCountByProductPathCode("/qcfw/icp/",ab.UserId);//icp数量
var internetContentProviderCount = await this.orderInfoDao.findOrderCountByProductPathCode("/qcfw/icp/",ab.UserId);//icp数量 // var electronicDataInterchangeCount = await this.orderInfoDao.findOrderCountByProductPathCode("/qcfw/edi/",ab.UserId);//edi数量
var electronicDataInterchangeCount = await this.orderInfoDao.findOrderCountByProductPathCode("/qcfw/edi/",ab.UserId);//edi数量 // var resultObj = {
var resultObj = { // internetContentProviderCount: internetContentProviderCount, waitConfirmCount: waitConfirmCount, electronicDataInterchangeCount: electronicDataInterchangeCount,
internetContentProviderCount: internetContentProviderCount, waitConfirmCount: waitConfirmCount, electronicDataInterchangeCount: electronicDataInterchangeCount, // waitReceiveFileOrderCount: waitReceiveFileOrderCount
waitReceiveFileOrderCount: waitReceiveFileOrderCount // };
}; // return system.getResult(resultObj);
return system.getResult(resultObj); // }
} var internetContentProviderCount = await this.orderInfoDao.findOrderCountByProductPathCode("/qcfw/icp/",ab.UserId);//icp数量
var electronicDataInterchangeCount = await this.orderInfoDao.findOrderCountByProductPathCode("/qcfw/edi/",ab.UserId);//edi数量
// var resultObj = {
// internetContentProviderCount: internetContentProviderCount, waitConfirmCount: waitConfirmCount, electronicDataInterchangeCount: electronicDataInterchangeCount,
// waitReceiveFileOrderCount: waitReceiveFileOrderCount
// };
var resultObj = { var resultObj = {
companyCount: companyCount, waitConfirmCount: waitConfirmCount, selfEmployedPersonCount: selfEmployedPersonCount, companyCount: companyCount, waitConfirmCount: waitConfirmCount, selfEmployedPersonCount: selfEmployedPersonCount,
waitReceiveFileOrderCount: waitReceiveFileOrderCount waitReceiveFileOrderCount: waitReceiveFileOrderCount,internetContentProviderCount: internetContentProviderCount, electronicDataInterchangeCount: electronicDataInterchangeCount
}; };
return system.getResult(resultObj); return system.getResult(resultObj);
} }
......
...@@ -150,16 +150,198 @@ class OrderDeliveryService extends ServiceBase { ...@@ -150,16 +150,198 @@ class OrderDeliveryService extends ServiceBase {
this.createQualificationCertificateInfo(ab.orderNum);//创建资质证照信息 this.createQualificationCertificateInfo(ab.orderNum);//创建资质证照信息
this.createApplyInfo(ab.orderNum);//创建申请主体信息 this.createApplyInfo(ab.orderNum);//创建申请主体信息
} }
//发送短信通知 //发送消息通知
this.sendSmsNotification(ab.orderNum,ab.status); this.sendNotification(ab.orderNum,ab.status);
return system.getResultSuccess(); return system.getResultSuccess();
} }
/** /**
* 发送短信通知 * 组装短信模板
* @param {*} orderdetail 订单数据
* @param {*} status 订单交付状态
* @param {*} productType 产品类型
* @param {*} productTypeName 产品类型名称
* @param {*} productTypeOne 产品一类
*/
async packageSmsTemplates(orderdetail,status,productType,productTypeName,productTypeOne){
var params={};
var phoneNumber=orderdetail.order_snapshot && orderdetail.order_snapshot.contactsPhone?orderdetail.order_snapshot.contactsPhone:"";//联系人手机号
if(phoneNumber && productType){
if(productType=="/ic/cpreg/" && status==130){//云上公司注册工商审核环节不通知
return;
}
var smsMessageBody= null;//短信模板内容
if(productType.indexOf("/ic/")>=0){//工商产品
smsMessageBody=MsgTemplate.ic.order[status] && MsgTemplate.ic.order[status].sms?MsgTemplate.ic.order[status].sms:"";
if(smsMessageBody){
smsMessageBody = smsMessageBody.replace(/{productName}/g,productTypeName)
.replace(/{orderNum}/g,orderdetail.order_num);
if(orderdetail.end_time){//过期时间
smsMessageBody = smsMessageBody.replace(/{expirationDate}/g,orderdetail.end_time);
var m1 = moment(new Date());
var m2 = moment(new Date(orderdetail.end_time));
var days = m2.diff(m1,'day');
if(days && days>=0){//剩余天数
smsMessageBody = smsMessageBody.replace(/{timeRemaining}/g,days);
}
}
var deliverContent = orderdetail.deliver_content;
if(deliverContent){
//注册园区
if(productType=="/ic/cpreg/" && deliverContent.companyInfo && deliverContent.companyInfo.registeredPark){
smsMessageBody = smsMessageBody.replace(/{parkName}/g,deliverContent.companyInfo.registeredPark);
}
//邮寄信息
if(deliverContent.expressInfo && deliverContent.expressInfo.logisticsCompany && deliverContent.expressInfo.trackingNumber ){
smsMessageBody = smsMessageBody.replace(/{logisticsCompany}/g,deliverContent.expressInfo.logisticsCompany)
.replace(/{waybillNo}/g,deliverContent.expressInfo.trackingNumber);
}
}
}
}
if(productType.indexOf("/qcfw/")>=0){//资质证照
if(status==170 && (productType=="/qcfw/icpannals/" || productType=="/qcfw/ediannals/" )){//年报已完成
smsMessageBody=MsgTemplate.qcfw.order[status] && MsgTemplate.qcfw.order[status].ar_sms?MsgTemplate.qcfw.order[status].ar_sms:"";
}else{
smsMessageBody=MsgTemplate.qcfw.order[status] && MsgTemplate.qcfw.order[status].sms?MsgTemplate.qcfw.order[status].sms:"";
}
if(smsMessageBody){
smsMessageBody = smsMessageBody.replace(/{productName}/g,productTypeName);
if(orderdetail.user_id){//用户账号
smsMessageBody = smsMessageBody.replace(/{userId}/g,orderdetail.user_id);
}
if(orderdetail.user_name){//用户昵称
smsMessageBody = smsMessageBody.replace(/{userName}/g,orderdetail.user_name);
}
if(productTypeOne){//产品一类名称
smsMessageBody = smsMessageBody.replace(/{productType}/g,productTypeOne);
}
var deliverContent = orderdetail.deliver_content;
if(deliverContent){
//邮寄信息
if(deliverContent.expressInfo && deliverContent.expressInfo.logisticsCompany && deliverContent.expressInfo.trackingNumber ){
smsMessageBody = smsMessageBody.replace(/{logisticsCompany}/g,deliverContent.expressInfo.logisticsCompany)
.replace(/{waybillNo}/g,deliverContent.expressInfo.trackingNumber);
}
//资质证号
if(deliverContent.qualification && deliverContent.qualification.certificateNumber){
smsMessageBody = smsMessageBody.replace(/{qcNo}/g,deliverContent.qualification.certificateNumber);
}
}
var orderSnapshot = orderdetail.order_snapshot;//订单快照
if(orderSnapshot && orderSnapshot.serviceArea){//服务地址
smsMessageBody = smsMessageBody.replace(/{area}/g,orderSnapshot.serviceArea);
}
}
}
if(!smsMessageBody || smsMessageBody.indexOf("{")>=0 || !phoneNumber){
return null;
}
params.phoneNumber = phoneNumber;
params.messageBody = smsMessageBody;
return params;
}
return null;
}
/**
* 组装站内信模板
* @param {*} orderdetail 订单数据
* @param {*} status 订单交付状态
* @param {*} productType 产品类型
* @param {*} productTypeName 产品类型名称
* @param {*} productTypeOne 产品一类
*/
async packageWebinfoTemplates(orderdetail,status,productType,productTypeName,productTypeOne){
var params={};
var subAccount=orderdetail.user_id || "";//用户id
if(subAccount && productType){
if(productType=="/ic/cpreg/" && status==130){//云上公司注册工商审核环节不通知
return;
}
var webinfoMessageBody = null;//站内信模板
if(productType.indexOf("/ic/")>=0){//工商产品
webinfoMessageBody=MsgTemplate.ic.order[status] && MsgTemplate.ic.order[status].webinfo?MsgTemplate.ic.order[status].webinfo:"";
params.title = MsgTemplate.ic.order[status] && MsgTemplate.ic.order[status].webinfotitle?MsgTemplate.ic.order[status].webinfotitle:"";
if(webinfoMessageBody){
webinfoMessageBody = webinfoMessageBody.replace(/{productName}/g,productTypeName)
.replace(/{orderNum}/g,orderdetail.order_num);
if(orderdetail.end_time){//过期时间
webinfoMessageBody = webinfoMessageBody.replace(/{expirationDate}/g,orderdetail.end_time);
var m1 = moment(new Date());
var m2 = moment(new Date(orderdetail.end_time));
var days = m2.diff(m1,'day');
if(days && days>=0){//剩余天数
webinfoMessageBody = webinfoMessageBody.replace(/{timeRemaining}/g,days);
}
}
var deliverContent = orderdetail.deliver_content;
if(deliverContent){
//注册园区
if(productType=="/ic/cpreg/" && deliverContent.companyInfo && deliverContent.companyInfo.registeredPark){
webinfoMessageBody = webinfoMessageBody.replace(/{parkName}/g,deliverContent.companyInfo.registeredPark);
}
//邮寄信息
if(deliverContent.expressInfo && deliverContent.expressInfo.logisticsCompany && deliverContent.expressInfo.trackingNumber ){
webinfoMessageBody = webinfoMessageBody.replace(/{logisticsCompany}/g,deliverContent.expressInfo.logisticsCompany)
.replace(/{waybillNo}/g,deliverContent.expressInfo.trackingNumber);
}
}
}
}
if(productType.indexOf("/qcfw/")>=0){//资质证照
params.title = MsgTemplate.qcfw.order[status] && MsgTemplate.qcfw.order[status].webinfotitle?MsgTemplate.qcfw.order[status].webinfotitle:"";
if(status==170 && (productType=="/qcfw/icpannals/" || productType=="/qcfw/ediannals/" )){//年报已完成
webinfoMessageBody=MsgTemplate.qcfw.order[status] && MsgTemplate.qcfw.order[status].ar_webinfo?MsgTemplate.qcfw.order[status].ar_webinfo:"";
}else{
webinfoMessageBody=MsgTemplate.qcfw.order[status] && MsgTemplate.qcfw.order[status].webinfo?MsgTemplate.qcfw.order[status].webinfo:"";
}
if(webinfoMessageBody){
webinfoMessageBody = webinfoMessageBody.replace(/{productName}/g,productTypeName);
if(orderdetail.user_id){//用户账号
webinfoMessageBody = webinfoMessageBody.replace(/{userId}/g,orderdetail.user_id);
}
if(orderdetail.user_name){//用户昵称
webinfoMessageBody = webinfoMessageBody.replace(/{userName}/g,orderdetail.user_name);
}
if(productTypeOne){//产品一类名称
webinfoMessageBody = webinfoMessageBody.replace(/{productType}/g,productTypeOne);
}
var deliverContent = orderdetail.deliver_content;
if(deliverContent){
//邮寄信息
if(deliverContent.expressInfo && deliverContent.expressInfo.logisticsCompany && deliverContent.expressInfo.trackingNumber ){
webinfoMessageBody = webinfoMessageBody.replace(/{logisticsCompany}/g,deliverContent.expressInfo.logisticsCompany)
.replace(/{waybillNo}/g,deliverContent.expressInfo.trackingNumber);
}
//资质证号
if(deliverContent.qualification && deliverContent.qualification.certificateNumber){
webinfoMessageBody = webinfoMessageBody.replace(/{qcNo}/g,deliverContent.qualification.certificateNumber);
}
}
var orderSnapshot = orderdetail.order_snapshot;//订单快照
if(orderSnapshot && orderSnapshot.serviceArea){//服务地址
webinfoMessageBody = webinfoMessageBody.replace(/{area}/g,orderSnapshot.serviceArea);
}
}
}
if(!webinfoMessageBody || webinfoMessageBody.indexOf("{")>=0 || !subAccount){
return null;
}
params.subAccount = subAccount;
params.messageBody = webinfoMessageBody;
return params;
}
return null;
}
/**
* 发送消息通知
* @param {*} orderNum 订单号 * @param {*} orderNum 订单号
* @param {*} status 订单交付状态 * @param {*} status 订单交付状态
*/ */
async sendSmsNotification(orderNum,status){ async sendNotification(orderNum,status){
try { try {
var smsParams = {phoneNumber:null,messageBody:null};//短信通知参数 var smsParams = {phoneNumber:null,messageBody:null};//短信通知参数
var webinfoParams = {"title":null,"subAccount":null,"messageBody":null};//站内信通知参数 var webinfoParams = {"title":null,"subAccount":null,"messageBody":null};//站内信通知参数
...@@ -167,125 +349,28 @@ class OrderDeliveryService extends ServiceBase { ...@@ -167,125 +349,28 @@ class OrderDeliveryService extends ServiceBase {
var orderDetailRes = await this.dao.getOrderDetailByOrderNum(orderNum); var orderDetailRes = await this.dao.getOrderDetailByOrderNum(orderNum);
if(orderDetailRes && orderDetailRes.length>0){ if(orderDetailRes && orderDetailRes.length>0){
var orderdetail = orderDetailRes[0];//订单详情信息 var orderdetail = orderDetailRes[0];//订单详情信息
var productType=orderdetail.product_type;//产品类型 var productType=orderdetail.product_type;//产品类型
var product_type_name = orderdetail.product_type_name;//产品类型名称 var product_type_name = orderdetail.product_type_name;//产品类型名称
var product_type_one_name = null;//产品一类
if(!productType || !product_type_name){
return;
}
var productArr = product_type_name.split("/"); var productArr = product_type_name.split("/");
if(productArr && productArr.length==4){ if(productArr && productArr.length==4){
product_type_name = productArr[2]; product_type_name = productArr[2];
product_type_one_name = productArr[1];
} }
//联系人电话 //组装消息模板
smsParams.phoneNumber=orderdetail.order_snapshot && orderdetail.order_snapshot.contactsPhone?orderdetail.order_snapshot.contactsPhone:"";//联系人手机号 var smsParams = await this.packageSmsTemplates(orderdetail,status,productType,product_type_name,product_type_one_name);
//用户id var webinfoParams = await this.packageWebinfoTemplates(orderdetail,status,productType,product_type_name,product_type_one_name);
webinfoParams.subAccount=orderdetail.user_id || "";//用户id if(smsParams && webinfoParams){
//判断联系人手机号、用户id、产品类型 await this.utilsMsgSendSve.sendMessageVerify({phoneList:[smsParams],subAccountList:[webinfoParams]});//发送消息通知
if(smsParams.phoneNumber && webinfoParams.subAccount && orderdetail.product_type){
if(productType=="/ic/cpreg/" && status==130){//云上公司注册工商审核环节不通知
return;
}
var smsMessageBody= null;//短信模板
var webinfoMessageBody = null;//站内信模板
if(productType.indexOf("/ic/")>=0){//工商产品
smsMessageBody=MsgTemplate.ic.order[status] && MsgTemplate.ic.order[status].sms?MsgTemplate.ic.order[status].sms:"";
webinfoMessageBody=MsgTemplate.ic.order[status] && MsgTemplate.ic.order[status].webinfo?MsgTemplate.ic.order[status].webinfo:"";
webinfoParams.title = MsgTemplate.ic.order[status] && MsgTemplate.ic.order[status].webinfotitle?MsgTemplate.ic.order[status].webinfotitle:"";
if(smsMessageBody && webinfoMessageBody){//判断短信模板、站内信模板都有值
smsMessageBody = smsMessageBody.replace(/{productName}/g,product_type_name)
.replace(/{orderNum}/g,orderdetail.order_num);
webinfoMessageBody = webinfoMessageBody.replace(/{productName}/g,product_type_name)
.replace(/{orderNum}/g,orderdetail.order_num);
if(orderdetail.end_time){//过期时间
smsMessageBody = smsMessageBody.replace(/{expirationDate}/g,orderdetail.end_time);
webinfoMessageBody = webinfoMessageBody.replace(/{expirationDate}/g,orderdetail.end_time);
var m1 = moment(new Date());
var m2 = moment(new Date(orderdetail.end_time));
var days = m2.diff(m1,'day');
if(days && days>=0){//剩余天数
smsMessageBody = smsMessageBody.replace(/{timeRemaining}/g,days);
webinfoMessageBody = webinfoMessageBody.replace(/{timeRemaining}/g,days);
}
}
var deliverContent = orderdetail.deliver_content;
if(deliverContent){
//注册园区
if(productType=="/ic/cpreg/" && deliverContent.companyInfo && deliverContent.companyInfo.registeredPark){
smsMessageBody = smsMessageBody.replace(/{parkName}/g,deliverContent.companyInfo.registeredPark);
webinfoMessageBody = webinfoMessageBody.replace(/{parkName}/g,deliverContent.companyInfo.registeredPark);
}
//邮寄信息
if(deliverContent.expressInfo && deliverContent.expressInfo.logisticsCompany && deliverContent.expressInfo.trackingNumber ){
smsMessageBody = smsMessageBody.replace(/{logisticsCompany}/g,deliverContent.expressInfo.logisticsCompany)
.replace(/{waybillNo}/g,deliverContent.expressInfo.trackingNumber);
webinfoMessageBody = webinfoMessageBody.replace(/{logisticsCompany}/g,deliverContent.expressInfo.logisticsCompany)
.replace(/{waybillNo}/g,deliverContent.expressInfo.trackingNumber);
}
}
}
}
if(productType.indexOf("/qcfw/")>=0){//资质证照
webinfoParams.title = MsgTemplate.qcfw.order[status] && MsgTemplate.qcfw.order[status].webinfotitle?MsgTemplate.qcfw.order[status].webinfotitle:"";
if(status==170 && (productType=="/qcfw/icpannals/" || productType=="/qcfw/ediannals/" )){//年报已完成
smsMessageBody=MsgTemplate.qcfw.order[status] && MsgTemplate.qcfw.order[status].qcsms?MsgTemplate.qcfw.order[status].qcsms:"";
webinfoMessageBody=MsgTemplate.qcfw.order[status] && MsgTemplate.qcfw.order[status].qcwebinfo?MsgTemplate.qcfw.order[status].qcwebinfo:"";
}else{
smsMessageBody=MsgTemplate.qcfw.order[status] && MsgTemplate.qcfw.order[status].sms?MsgTemplate.qcfw.order[status].sms:"";
webinfoMessageBody=MsgTemplate.qcfw.order[status] && MsgTemplate.qcfw.order[status].webinfo?MsgTemplate.qcfw.order[status].webinfo:"";
}
if(smsMessageBody){
smsMessageBody = smsMessageBody.replace(/{productName}/g,product_type_name);
webinfoMessageBody = webinfoMessageBody.replace(/{productName}/g,product_type_name);
if(orderdetail.user_id){//用户账号
smsMessageBody = smsMessageBody.replace(/{userId}/g,orderdetail.user_id);
webinfoMessageBody = webinfoMessageBody.replace(/{userId}/g,orderdetail.user_id);
}
if(orderdetail.user_name){//用户昵称
smsMessageBody = smsMessageBody.replace(/{userName}/g,orderdetail.user_name);
webinfoMessageBody = webinfoMessageBody.replace(/{userName}/g,orderdetail.user_name);
}
if(productArr && productArr[1]){//产品一类名称
smsMessageBody = smsMessageBody.replace(/{productType}/g,productArr[1]);
webinfoMessageBody = webinfoMessageBody.replace(/{productType}/g,productArr[1]);
}
var deliverContent = orderdetail.deliver_content;
if(deliverContent){
//邮寄信息
if(deliverContent.expressInfo && deliverContent.expressInfo.logisticsCompany && deliverContent.expressInfo.trackingNumber ){
smsMessageBody = smsMessageBody.replace(/{logisticsCompany}/g,deliverContent.expressInfo.logisticsCompany)
.replace(/{waybillNo}/g,deliverContent.expressInfo.trackingNumber);
webinfoMessageBody = webinfoMessageBody.replace(/{logisticsCompany}/g,deliverContent.expressInfo.logisticsCompany)
.replace(/{waybillNo}/g,deliverContent.expressInfo.trackingNumber);
}
//资质证号
if(deliverContent.qualification && deliverContent.qualification.certificateNumber){
smsMessageBody = smsMessageBody.replace(/{qcNo}/g,deliverContent.qualification.certificateNumber);
webinfoMessageBody = webinfoMessageBody.replace(/{qcNo}/g,deliverContent.qualification.certificateNumber);
}
}
var orderSnapshot = orderdetail.order_snapshot;//订单快照
if(orderSnapshot && orderSnapshot.serviceArea){//服务地址
smsMessageBody = smsMessageBody.replace(/{area}/g,orderSnapshot.serviceArea);
webinfoMessageBody = webinfoMessageBody.replace(/{area}/g,orderSnapshot.serviceArea);
}
}
}
//判断模板是否有值,模板中是否存在未赋值变量
if(!smsMessageBody || smsMessageBody.indexOf("{")>=0 || !webinfoMessageBody || webinfoMessageBody.indexOf("{")>=0){
return;
}
smsParams.messageBody = smsMessageBody;
webinfoParams.messageBody = webinfoMessageBody;
// smsParams.phoneNumber = "13075556693";//测试电话号码
await this.utilsMsgSendSve.sendMessageVerify({phoneList:[smsParams],subAccountList:[webinfoParams]});//发送短信
} }
return; return;
} }
} catch (e) { } catch (e) {
console.log(e.stack) console.log(e.stack)
this.execClient.execLogs("orderDeliverySve.js/sendSmsNotification(发送短信通知)方法出现异常", {orderNum:orderNum,status:status}, "orderDeliverySve_sendSmsNotification_error", null, e.stack); this.execClient.execLogs("orderDeliverySve.js/sendNotification(发送短信通知)方法出现异常", {orderNum:orderNum,status:status}, "orderDeliverySve_sendNotification_error", null, e.stack);
return; return;
} }
...@@ -400,52 +485,6 @@ class OrderDeliveryService extends ServiceBase { ...@@ -400,52 +485,6 @@ class OrderDeliveryService extends ServiceBase {
} }
} }
} }
// else if(orderdelivery.product_type.indexOf("/qcfw/")>=0){
// if (deliver_content && deliver_content.proposerInfo && deliver_content.proposerInfo.businessLicense && deliver_content.proposerInfo.businessLicense.enterpriseCode) {
// var companyInfo = deliver_content.proposerInfo.businessLicense;
// var applyinfo = await this.applyInfoDao.model.findOne({
// where: { credit_code:companyInfo.enterpriseCode, user_id: orderdelivery.user_id },
// raw: true
// });
// if (!applyinfo || !applyinfo.id) {//创建申请实体
// var newObj = {
// servicer_code: orderdelivery.servicer_code,
// servicer_name: orderdelivery.servicer_name,
// user_id: orderdelivery.user_id,
// user_name: orderdelivery.user_name,
// apply_name: companyInfo.name,
// credit_code: companyInfo.enterpriseCode,
// apply_type:companyInfo.type=="个体工商户" ? 2 : 1,
// operator: companyInfo.legalRepresentative || "",
// regist_capital: companyInfo.registeredCapital,
// business_term: companyInfo.businessTerm,
// establish_time: companyInfo.createdAt,
// domicile: companyInfo.address,
// ent_type: companyInfo.type,
// business_scope: companyInfo.scopeBusiness
// };
// applyinfo = await this.applyInfoDao.create(newObj);
// } else {//更新实体信息
// var updateObj = {
// servicer_code: orderdelivery.servicer_code || applyinfo.servicer_code,
// servicer_name: orderdelivery.servicer_name || applyinfo.servicer_name,
// user_id: orderdelivery.user_id || applyinfo.user_id,
// user_name: orderdelivery.user_name || applyinfo.user_name,
// apply_name: companyInfo.name || applyinfo.apply_name,
// credit_code: companyInfo.enterpriseCode || applyinfo.credit_code,
// apply_type:companyInfo.type=="个体工商户" ? 2 : 1,
// operator: companyInfo.legalRepresentative || applyinfo.operator,
// regist_capital: companyInfo.registeredCapital || applyinfo.regist_capital,
// business_term: companyInfo.businessTerm || applyinfo.business_term,
// establish_time: companyInfo.createdAt || applyinfo.establish_time,
// domicile: companyInfo.address || applyinfo.domicile,
// ent_type: companyInfo.type || applyinfo.ent_type,
// business_scope: companyInfo.scopeBusiness || applyinfo.business_scope
// };
// await this.applyInfoDao.model.update(updateObj, { where: { id: applyinfo.id } });//更新主体信息
// }
// }
// }
} }
return system.getResultSuccess(); return system.getResultSuccess();
......
...@@ -646,7 +646,7 @@ class OrderInfoService extends ServiceBase { ...@@ -646,7 +646,7 @@ class OrderInfoService extends ServiceBase {
return system.getResultFail(-203, "txproduct is empty"); return system.getResultFail(-203, "txproduct is empty");
} }
if (!txproductinfo.data.is_enabled) { if (!txproductinfo.data.is_enabled) {
return system.getResultFail(-300, "servicer isn't enable"); return system.getResultFail(-300, "servicer isnt enable");
} }
var txobj = { var txobj = {
"version": "1.0", "version": "1.0",
......
...@@ -108,55 +108,93 @@ module.exports = { ...@@ -108,55 +108,93 @@ module.exports = {
}, },
"80"://递交材料中 "80"://递交材料中
{ {
"wx":"您有一个资质办理,订单状态已变更。\n账号ID:{userId}\n申请类型:{productName}申请\n申请地区:{area}\n订单状态:顾问已准备好申请材料\n备注:请前往控制台-服务详情确认申请材料。",
"webinfotitle":"资质订单服务状态变更通知", "webinfotitle":"资质订单服务状态变更通知",
"sms":"\n您的腾讯云账号(账号 ID:{userId},昵称:{userName})提交的{productType}订单(申请类型:{productName}申请;申请地区:{area}),顾问已准备好申请材料,请尽快登录控制台确认申请材料。" "webinfo":"尊敬的腾讯云用户,您好!\n您的腾讯云账号(账号 ID:{userId},昵称:{userName})提交的{productType}订单(申请类型:{productName}申请;申请地区:{area}),顾问已准备好申请材料,请尽快登录控制台确认申请材料。\n此致\n腾讯云团队\n",
,"webinfo":"\n您的腾讯云账号(账号 ID:{userId},昵称:{userName})提交的{productType}订单(申请类型:{productName}申请;申请地区:{area}),顾问已准备好申请材料,请尽快登录控制台确认申请材料。" "email":"尊敬的腾讯云用户,您好!\n您的腾讯云账号(账号 ID:{userId},昵称:{userName})提交的{productType}订单(申请类型:{productName}申请;申请地区:{area}),顾问已准备好申请材料,请尽快登录控制台确认申请材料。\n此致\n腾讯云团队\n",
"sms":"尊敬的腾讯云用户,您好!\n您的腾讯云账号(账号 ID:{userId},昵称:{userName})提交的{productType}订单(申请类型:{productName}申请;申请地区:{area}),顾问已准备好申请材料,请尽快登录控制台确认申请材料。",
"entwx":"尊敬的腾讯云用户,您好!\n您的腾讯云账号(账号 ID:{userId},昵称:{userName})提交的{productType}订单(申请类型:{productName}申请;申请地区:{area}),顾问已准备好申请材料,请尽快登录控制台确认申请材料。",
}, },
"90"://工信部处理中 "90"://工信部处理中
{ {
"wx":"您有一个资质办理,订单状态已变更。\n账号ID:{userId}\n申请类型:{productName}申请\n申请地区:{area}\n订单状态:已提交申请材料至行政审核单位\n备注:办理周期较长,请您关注办理进度,耐心等待。",
"webinfotitle":"资质订单服务状态变更通知", "webinfotitle":"资质订单服务状态变更通知",
"sms":"\n您的腾讯云账号(账号 ID:{userId},昵称:{userName})提交的{productType}订单(申请类型:{productName}申请;申请地区:{area}),顾问已帮您提交申请材料至行政审核单位,申办周期较长,请您关注办理进度,耐心等待。" "webinfo":"尊敬的腾讯云用户,您好!\n您的腾讯云账号(账号 ID:{userId},昵称:{userName})提交的{productType}订单(申请类型:{productName}申请;申请地区:{area}),顾问已帮您提交申请材料至行政审核单位,申办周期较长,请您关注办理进度,耐心等待。\n此致\n腾讯云团队\n",
,"webinfo":"\n您的腾讯云账号(账号 ID:{userId},昵称:{userName})提交的{productType}订单(申请类型:{productName}申请;申请地区:{area}),顾问已帮您提交申请材料至行政审核单位,申办周期较长,请您关注办理进度,耐心等待。" "email":"尊敬的腾讯云用户,您好!\n您的腾讯云账号(账号 ID:{userId},昵称:{userName})提交的{productType}订单(申请类型:{productName}申请;申请地区:{area}),顾问已帮您提交申请材料至行政审核单位,申办周期较长,请您关注办理进度,耐心等待。\n此致\n腾讯云团队\n",
"sms":"尊敬的腾讯云用户,您好!\n您的腾讯云账号(账号 ID:{userId},昵称:{userName})提交的{productType}订单(申请类型:{productName}申请;申请地区:{area}),顾问已帮您提交申请材料至行政审核单位,申办周期较长,请您关注办理进度,耐心等待。",
"entwx":"尊敬的腾讯云用户,您好!\n您的腾讯云账号(账号 ID:{userId},昵称:{userName})提交的{productType}订单(申请类型:{productName}申请;申请地区:{area}),顾问已帮您提交申请材料至行政审核单位,申办周期较长,请您关注办理进度,耐心等待。",
}, },
"179":{//即将到期 "179":{//即将到期
"wx":"您有一个资质即将到期。\n账号ID:{userId}\n资质编号:{qcNo}\n资质类型:{productName}\n资质状态:有效期剩余{remainingTime}天。\n备注:请前往控制台-我的资质立即续期。",
"webinfotitle":"资质订单服务状态变更通知", "webinfotitle":"资质订单服务状态变更通知",
"sms":"\n您的腾讯云账号(账号 ID:{userId},昵称:{userName})有资质即将到期(资质编号:{qcNo};资质类型:{productName}),请前往控制台立即续期。" "webinfo":"尊敬的腾讯云用户,您好!\n您的腾讯云账号(账号 ID:{userId},昵称:{userName})有资质即将到期(资质编号:{qcNo};资质类型:{productName}),有效期剩余{remainingTime}天,请前往控制台-我的资质立即续期。\n此致\n腾讯云团队\n",
,"webinfo":"\n您的腾讯云账号(账号 ID:{userId},昵称:{userName})有资质即将到期(资质编号:{qcNo};资质类型:{productName}),请前往控制台立即续期。" "email":"尊敬的腾讯云用户,您好!\n您的腾讯云账号(账号 ID:{userId},昵称:{userName})有资质即将到期(资质编号:{qcNo};资质类型:{productName}),有效期剩余{remainingTime}天,请前往控制台-我的资质立即续期。\n此致\n腾讯云团队\n",
"sms":"尊敬的腾讯云用户,您好!\n您的腾讯云账号(账号 ID:{userId},昵称:{userName})有资质即将到期(资质编号:{qcNo};资质类型:{productName}),有效期剩余{remainingTime}天,请前往控制台-我的资质立即续期。",
"entwx":"尊敬的腾讯云用户,您好!\n您的腾讯云账号(账号 ID:{userId},昵称:{userName})有资质即将到期(资质编号:{qcNo};资质类型:{productName}),有效期剩余{remainingTime}天,请前往控制台-我的资质立即续期。",
}, },
"150":{//证件邮寄环节 "150":{//证件邮寄环节
"wx":"您有一个资质办理,订单状态已变更。\n账号ID:{userId}\n申请类型:{productName}申请\n申请地区:{area}\n订单状态:纸质版证书已寄出\n快递单号:{waybillNo}\n快递公司:{logisticsCompany}\n备注:请注意查收。",
"webinfotitle":"资质订单服务状态变更通知", "webinfotitle":"资质订单服务状态变更通知",
"sms":"\n您的腾讯云账号(账号 ID:{userId},昵称:{userName})提交的{productType}订单(申请类型:{productName}申请;申请地区:{area}),纸质版证书已寄出(快递单号:{waybillNo};快递公司:{logisticsCompany}),请注意查收。" "webinfo":"尊敬的腾讯云用户,您好!\n您的腾讯云账号(账号 ID:{userId},昵称:{userName})提交的{productType}订单(申请类型:{productName}申请;申请地区:{area}),纸质版证书已寄出(快递单号:{waybillNo};快递公司:{logisticsCompany}),请注意查收。\n此致\n腾讯云团队\n",
,"webinfo":"\n您的腾讯云账号(账号 ID:{userId},昵称:{userName})提交的{productType}订单(申请类型:{productName}申请;申请地区:{area}),纸质版证书已寄出(快递单号:{waybillNo};快递公司:{logisticsCompany}),请注意查收。" "email":"尊敬的腾讯云用户,您好!\n您的腾讯云账号(账号 ID:{userId},昵称:{userName})提交的{productType}订单(申请类型:{productName}申请;申请地区:{area}),纸质版证书已寄出(快递单号:{waybillNo};快递公司:{logisticsCompany}),请注意查收。\n此致\n腾讯云团队\n",
"sms":"尊敬的腾讯云用户,您好!\n您的腾讯云账号(账号 ID:{userId},昵称:{userName})提交的{productType}订单(申请类型:{productName}申请;申请地区:{area}),纸质版证书已寄出(快递单号:{waybillNo};快递公司:{logisticsCompany}),请注意查收。",
"entwx":"尊敬的腾讯云用户,您好!\n您的腾讯云账号(账号 ID:{userId},昵称:{userName})提交的{productType}订单(申请类型:{productName}申请;申请地区:{area}),纸质版证书已寄出(快递单号:{waybillNo};快递公司:{logisticsCompany}),请注意查收。",
}, },
"170"://"已完成", "170"://"已完成",
{ {
"wx":"您有一个资质办理,订单状态已变更。\n账号ID:{userId}\n申请类型:{productName}申请\n申请地区:{area}\n订单状态:服务已完成\n备注:如需使用请再次购买,感谢您的使用。",
"webinfotitle":"资质订单服务状态变更通知", "webinfotitle":"资质订单服务状态变更通知",
"sms":"\n您的腾讯云账号(账号 ID:{userId},昵称:{userName})提交的{productType}订单(申请类型:{productName}申请;申请地区:{area}),服务已完成,感谢您的使用。", "webinfo":"尊敬的腾讯云用户,您好!\n您的腾讯云账号(账号 ID:{userId},昵称:{userName})提交的{productType}订单(申请类型:{productName}申请;申请地区:{area}),服务已完成,如需使用请再次购买,感谢您的使用。\n此致\n腾讯云团队\n",
"qcsms":"\n您的腾讯云账号(账号 ID:{userId},昵称:{userName})购买的资质年报服务(资质编号:{qcNo};资质类型:{productName}),已全部申报完成,请前我的资质证照查看。" "email":"尊敬的腾讯云用户,您好!\n您的腾讯云账号(账号 ID:{userId},昵称:{userName})提交的{productType}订单(申请类型:{productName}申请;申请地区:{area}),服务已完成,如需使用请再次购买,感谢您的使用。\n此致\n腾讯云团队\n",
,"webinfo":"\n您的腾讯云账号(账号 ID:{userId},昵称:{userName})提交的{productType}订单(申请类型:{productName}申请;申请地区:{area}),服务已完成,感谢您的使用。", "sms":"尊敬的腾讯云用户,您好!\n您的腾讯云账号(账号 ID:{userId},昵称:{userName})提交的{productType}订单(申请类型:{productName}申请;申请地区:{area}),服务已完成,如需使用请再次购买,感谢您的使用。",
"qcwebinfo":"\n您的腾讯云账号(账号 ID:{userId},昵称:{userName})购买的资质年报服务(资质编号:{qcNo};资质类型:{productName}),已全部申报完成,请前我的资质证照查看。" "entwx":"尊敬的腾讯云用户,您好!\n您的腾讯云账号(账号 ID:{userId},昵称:{userName})提交的{productType}订单(申请类型:{productName}申请;申请地区:{area}),服务已完成,如需使用请再次购买,感谢您的使用。",
"ar_wx":"您有一个资质年报服务,申报状态已变更。\n账号ID:{userId}\n资质编号:{qcNo}\n资质类型:{productName}\n申报状态:{year}年度已申报\n备注:已购服务全部申报完成,请前控制台-我的资质证照查看。",
"ar_webinfo":"尊敬的腾讯云用户,您好!\n您的腾讯云账号(账号 ID:{userId},昵称:{userName})购买的资质年报服务(资质编号:{qcNo};资质类型:{productName}),{year}年度已申报,已购服务全部申报完成,请前往控制台-我的资质证照查看。\n此致\n腾讯云团队\n",
"ar_email":"尊敬的腾讯云用户,您好!\n您的腾讯云账号(账号 ID:{userId},昵称:{userName})购买的资质年报服务(资质编号:{qcNo};资质类型:{productName}),{year}年度已申报,已购服务全部申报完成,请前往控制台-我的资质证照查看。\n此致\n腾讯云团队\n",
"ar_sms":"尊敬的腾讯云用户,您好!您的腾讯云账号(账号 ID:{userId},昵称:{userName})购买的资质年报服务(资质编号:{qcNo};资质类型:{productName}),{year}年度已申报,已购服务全部申报完成,请前往控制台-我的资质证照查看。",
"ar_entwx":"尊敬的腾讯云用户,您好!您的腾讯云账号(账号 ID:{userId},昵称:{userName})购买的资质年报服务(资质编号:{qcNo};资质类型:{productName}),{year}年度已申报,已购服务全部申报完成,请前往控制台-我的资质证照查看。",
}, },
"190"://关闭交付 "190"://关闭交付
{ {
"wx":"您有一个资质办理,订单状态已变更。\n账号ID:{userId}\n申请类型:{productName}申请\n申请地区:{area}\n订单状态:服务已关闭\n备注:如需使用请再次购买,感谢您的使用。",
"webinfotitle":"资质订单服务状态变更通知", "webinfotitle":"资质订单服务状态变更通知",
"sms":"\n您的腾讯云账号(账号 ID:{userId},昵称:{userName})提交的{productType}订单(申请类型:{productName}申请;申请地区:{area}),服务已关闭,感谢您的使用。" "webinfo":"尊敬的腾讯云用户,您好!\n您的腾讯云账号(账号 ID:{userId},昵称:{userName})提交的{productType}订单(申请类型:{productName}申请;申请地区:{area}),服务已关闭,如需使用请再次购买,感谢您的使用。\n此致\n腾讯云团队\n",
,"webinfo":"\n您的腾讯云账号(账号 ID:{userId},昵称:{userName})提交的{productType}订单(申请类型:{productName}申请;申请地区:{area}),服务已关闭,感谢您的使用。" "email":"尊敬的腾讯云用户,您好!\n您的腾讯云账号(账号 ID:{userId},昵称:{userName})提交的{productType}订单(申请类型:{productName}申请;申请地区:{area}),服务已关闭,如需使用请再次购买,感谢您的使用。\n此致\n腾讯云团队\n",
"sms":"尊敬的腾讯云用户,您好!\n您的腾讯云账号(账号 ID:{userId},昵称:{userName})提交的{productType}订单(申请类型:{productName}申请;申请地区:{area}),服务已关闭,如需使用请再次购买,感谢您的使用。",
"entwx":"尊敬的腾讯云用户,您好!\n您的腾讯云账号(账号 ID:{userId},昵称:{userName})提交的{productType}订单(申请类型:{productName}申请;申请地区:{area}),服务已关闭,如需使用请再次购买,感谢您的使用。",
}, },
"26"://已申报 "26"://已申报
{ {
"wx":"您有一个资质年报服务,申报状态已变更。\n账号ID:{userId}\n资质编号:{qcNo}\n资质类型:{productName}\n申报状态:{year}年度已申报\n备注:请前控制台-我的资质证照查看。",
"webinfotitle":"资质订单服务状态变更通知", "webinfotitle":"资质订单服务状态变更通知",
"sms":"\n您的腾讯云账号(账号 ID:{userId},昵称:{userName})购买的资质年报服务(资质编号:{qcNo};资质类型:{productName}),本年度已申报,请前我的资质证照查看。" "webinfo":"尊敬的腾讯云用户,您好!\n您的腾讯云账号(账号 ID:{userId},昵称:{userName})购买的资质年报服务(资质编号:{qcNo};资质类型:{productName}),{year}年度已申报,请前往控制台-我的资质证照查看。\n此致\n腾讯云团队\n",
,"webinfo":"\n您的腾讯云账号(账号 ID:{userId},昵称:{userName})购买的资质年报服务(资质编号:{qcNo};资质类型:{productName}),本年度已申报,请前我的资质证照查看。" "email":"尊敬的腾讯云用户,您好!\n您的腾讯云账号(账号 ID:{userId},昵称:{userName})购买的资质年报服务(资质编号:{qcNo};资质类型:{productName}),{year}年度已申报,请前往控制台-我的资质证照查看。\n此致\n腾讯云团队\n",
"sms":"尊敬的腾讯云用户,您好!您的腾讯云账号(账号 ID:{userId},昵称:{userName})购买的资质年报服务(资质编号:{qcNo};资质类型:{productName}),{year}年度已申报,请前往控制台-我的资质证照查看。",
"entwx":"尊敬的腾讯云用户,您好!您的腾讯云账号(账号 ID:{userId},昵称:{userName})购买的资质年报服务(资质编号:{qcNo};资质类型:{productName}),{year}年度已申报,请前往控制台-我的资质证照查看。",
} }
}, },
"need":{ "need":{
"3":{//待用户确认
"wx":"\n您有一个资质办理,订单状态已变更。\n账号ID:{userId}\n申请类型:{productName}申请\n申请地区:{area}\n订单状态:已为您定制申请方案\n备注:请尽快登录控制台-需求管理确认定制方案。",
"webinfotitle":"资质订单服务状态变更通知",
"webinfo":"\n尊敬的腾讯云用户,您好!\n您的腾讯云账号(账号 ID:{userId},昵称:{userName})提交的资质申请订单(申请类型:{productName}申请;申请地区:{area}),已为您定制申请方案,请尽快登录控制台-需求管理确认定制方案。\n此致\n腾讯云团队\n",
"email":"\n尊敬的腾讯云用户,您好!\n您的腾讯云账号(账号 ID:{userId},昵称:{userName})提交的资质申请订单(申请类型:{productName}申请;申请地区:{area}),已为您定制申请方案,请尽快登录控制台-需求管理确认定制方案。\n此致\n腾讯云团队\n",
"sms":"\n您的腾讯云账号(账号 ID:{userId},昵称:{userName})提交的资质申请订单(申请类型:{productName}申请;申请地区:{area}),已为您定制申请方案,请尽快登录控制台-需求管理确认定制方案。",
"entwx":"\n您的腾讯云账号(账号 ID:{userId},昵称:{userName})提交的资质申请订单(申请类型:{productName}申请;申请地区:{area}),已为您定制申请方案,请尽快登录控制台-需求管理确认定制方案。"
},
} }
}, },
} }
......
...@@ -18,14 +18,14 @@ var settings = { ...@@ -18,14 +18,14 @@ var settings = {
port: process.env.NODE_PORT || 4011, port: process.env.NODE_PORT || 4011,
opLogUrl: function () { opLogUrl: function () {
if (this.env == "dev" || this.env == "test") { if (this.env == "dev" || this.env == "test") {
return "http://192.168.1.128:4019/api/queueAction/producer/springBoard"; return "http://192.168.210.205:4019/api/queueAction/producer/springBoard";
} else { } else {
return "http://logs-sytxpublic-msgq-service/api/queueAction/producer/springBoard"; return "http://logs-sytxpublic-msgq-service/api/queueAction/producer/springBoard";
} }
}, },
opPushUrl: function () { opPushUrl: function () {
if (this.env == "dev" || this.env == "test") { if (this.env == "dev" || this.env == "test") {
return "http://192.168.1.128:4018/api/queueAction/producer/springBoard"; return "http://192.168.210.205:4018/api/queueAction/producer/springBoard";
} else { } else {
return "http://sytxpublic-msgq-service/api/queueAction/producer/springBoard"; return "http://sytxpublic-msgq-service/api/queueAction/producer/springBoard";
} }
......
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