Commit d000c665 by 宋毅

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

parents 83f0055d 1256381b
...@@ -40,6 +40,9 @@ class ProductAPI extends WEBBase { ...@@ -40,6 +40,9 @@ class ProductAPI extends WEBBase {
case "getProductRecommend": case "getProductRecommend":
opResult = await this.utilsProductSve.getProductRecommend(pobj,pobj.actionBody); opResult = await this.utilsProductSve.getProductRecommend(pobj,pobj.actionBody);
break; break;
case "updateProductPrice":
opResult = await this.utilsProductSve.updateProductPrice(pobj,pobj.actionBody);
break;
default: default:
opResult = system.getResult(null, "action_type参数错误"); opResult = system.getResult(null, "action_type参数错误");
} }
......
...@@ -48,8 +48,10 @@ class Need extends APIBase { ...@@ -48,8 +48,10 @@ class Need extends APIBase {
opResult = await this.utilsNeedSve.needDetailByChannelNo(pobj, pobj.actionBody); opResult = await this.utilsNeedSve.needDetailByChannelNo(pobj, pobj.actionBody);
break; break;
case "getItemByChannelNeedNo": case "getItemByChannelNeedNo":
case "getSolutionByChannelSolutionNo":
opResult = await this.utilsNeedSve.getItemByChannelNeedNo(pobj, pobj.actionBody); opResult = await this.utilsNeedSve.getItemByChannelNeedNo(pobj, pobj.actionBody);
break
case "getSolutionByChannelSolutionNo":
opResult = await this.utilsNeedSve.getSolutionByChannelSolutionNo(pobj, pobj.actionBody);
break; break;
case "getItemByNeedNo": case "getItemByNeedNo":
opResult = await this.utilsNeedSve.getItemByNeedNo(pobj, pobj.actionBody); opResult = await this.utilsNeedSve.getItemByNeedNo(pobj, pobj.actionBody);
......
...@@ -14,7 +14,8 @@ const wangwenStatusDisct = { ...@@ -14,7 +14,8 @@ const wangwenStatusDisct = {
//区分渠道的uappid //区分渠道的uappid
const uappId = { const uappId = {
'ali':"18", //(阿里icp、edi) 'ali':"18", //(阿里icp、edi)
'baidu':"44" //(百度icp、edi) 'baidu':"44", //(百度icp、edi)
'zc360':"50" //360icp、edi
} }
//tui song baidu zhuanyong pinyin 2020-11-6 //tui song baidu zhuanyong pinyin 2020-11-6
const cityLetter = { const cityLetter = {
...@@ -79,6 +80,7 @@ class BaseCenterOrderService extends AppServiceBase { ...@@ -79,6 +80,7 @@ class BaseCenterOrderService extends AppServiceBase {
this.utilsTmAliyunSve = system.getObject("service.utilsSve.utilsTmAliyunSve");//测试用 this.utilsTmAliyunSve = system.getObject("service.utilsSve.utilsTmAliyunSve");//测试用
this.opPushQueueUrl = settings.opPushQueueUrl(); this.opPushQueueUrl = settings.opPushQueueUrl();
this.baiduclient = system.getObject("util.baiduClient"); this.baiduclient = system.getObject("util.baiduClient");
this.utils360Sve = system.getObject("service.utilsSve.utils360Sve")
}; };
//调用center-order //调用center-order
async reqCenterOrderApi(pobj, reqUrl) { async reqCenterOrderApi(pobj, reqUrl) {
...@@ -105,6 +107,7 @@ class BaseCenterOrderService extends AppServiceBase { ...@@ -105,6 +107,7 @@ class BaseCenterOrderService extends AppServiceBase {
needsolution.solutionContent = JSON.parse(needsolution.solutionContent); needsolution.solutionContent = JSON.parse(needsolution.solutionContent);
} }
var solution = needsolution.solutionContent.solution; var solution = needsolution.solutionContent.solution;
if(ab.isTest && ab.isTest==1){
var reqPushParams = { var reqPushParams = {
actionBody: { actionBody: {
uapp_id:needinfo.uapp_id, uapp_id:needinfo.uapp_id,
...@@ -121,6 +124,57 @@ class BaseCenterOrderService extends AppServiceBase { ...@@ -121,6 +124,57 @@ class BaseCenterOrderService extends AppServiceBase {
appInfo: pobj.appInfo appInfo: pobj.appInfo
}; };
await this.utilsPushSve.business2Channel(reqPushParams, "pushIcpSolution2Channel"); await this.utilsPushSve.business2Channel(reqPushParams, "pushIcpSolution2Channel");
}else{
var self = this;
//2020-10-26 laolan 区分百度与阿里
if(needinfo.uapp_id == uappId.ali){
//推送数据至阿里
// var bizType = needinfo.channelTypeCode;//业务类型里
var pushObj = {
IntentionBizId: needinfo.channelNeedNo,
CompanyName: solution.CompanyName,
IcpType: solution.IcpType,
CompanyAddress: solution.CompanyAddress,
Area: solution.Area,
Note: solution.Note,
ActionType:solution.ActionType,
Source:"官网"
};
if (needsolution.channelSolutionNo) {
pushObj["BizId"] = needsolution.channelSolutionNo;
}
var pushIcpSolutionRes = await this.pushIcpSolution(pushObj, needsolution.solutionNo, pobj.appInfo, self);
}
if(needinfo.uapp_id == uappId.baidu){
//推送数据至baidu
// var bizType = needinfo.channelTypeCode;//业务类型里
solution.Area = cityLetter[solution.Area]
console.log('solution.Area++',solution.Area)
var pushObj = {
requirementId: needinfo.channelNeedNo,
companyName: solution.CompanyName,
companyAddress: solution.CompanyAddress,
area: solution.Area,
type:solution.IcpType
};
if (needsolution.channelSolutionNo) {
pushObj["bizId"] = needsolution.channelSolutionNo;
}
console.log('pushObj++',pushObj)
var pushIcpSolutionRes = await this.pushBaiduIcpSolution(pushObj, needsolution.solutionNo, pobj.appInfo, self);
}
this.logCtl.info({
appid: pobj.appInfo ? pobj.appInfo.uapp_id || "" : "",
appkey: pobj.appInfo ? pobj.appInfo.uapp_key || "" : "",
requestId: pobj.requestId || "",
op: "service/impl/common/qcCenterOrderSve.js/submitIcpProgramme",
content: JSON.stringify(pobj),
resultInfo: JSON.stringify(needinfo),
optitle: "createSolution推送蜂擎获取的接口信息->aliBusiness2Delivery",
});
}
var reqParams = { var reqParams = {
actionBody: { actionBody: {
intentionBizId: needinfo.channelNeedNo, intentionBizId: needinfo.channelNeedNo,
...@@ -316,7 +370,7 @@ class BaseCenterOrderService extends AppServiceBase { ...@@ -316,7 +370,7 @@ class BaseCenterOrderService extends AppServiceBase {
}; };
var self = this; var self = this;
//推送方案材料 //推送方案材料
var ali = self.aliclient.reqbyget({ action: "SavePartnerSubmitMaterial", reqbody: pushObj, apiVersion: "2019-05-08" }); var ali =await self.aliclient.reqbyget({ action: "SavePartnerSubmitMaterial", reqbody: pushObj, apiVersion: "2019-05-08" });
console.log('ali ----- +++',ali) console.log('ali ----- +++',ali)
if(ali && ali.status == 200){ if(ali && ali.status == 200){
var aliFlag = 200 var aliFlag = 200
...@@ -395,9 +449,11 @@ class BaseCenterOrderService extends AppServiceBase { ...@@ -395,9 +449,11 @@ class BaseCenterOrderService extends AppServiceBase {
} }
var material = ab.material; var material = ab.material;
var reqPushParams = {}; var reqPushParams = {};
if(ab.isTest && ab.isTest==1){
if(res.data.uapp_id == uappId.ali){ if(res.data.uapp_id == uappId.ali){
//推送数据至阿里 //推送数据至阿里
var BizId = needsolution.channelSolutionNo;//⽅案业务ID var BizId = needsolution.channelSolutionNo;//⽅案业务ID
reqPushParams = { reqPushParams = {
actionBody: { actionBody: {
"uapp_id":res.data.uapp_id, "uapp_id":res.data.uapp_id,
...@@ -459,8 +515,88 @@ class BaseCenterOrderService extends AppServiceBase { ...@@ -459,8 +515,88 @@ class BaseCenterOrderService extends AppServiceBase {
var result = await this.utilsPushSve.business2Channel(reqPushParams, "serviceProviderSubmit2Material"); var result = await this.utilsPushSve.business2Channel(reqPushParams, "serviceProviderSubmit2Material");
console.log('result+++-cailiao--++++----',result) console.log('result+++-cailiao--++++----',result)
console.log('result+++-reqPushParams--++++----',reqPushParams) console.log('result+++-reqPushParams--++++----',reqPushParams)
}else{
if(res.data.uapp_id == uappId.ali){
//推送数据至阿里
var BizId = needsolution.channelSolutionNo;//⽅案业务ID
var pushObj = {
"CompanyName":material.CompanyName,
"BizId": BizId,
"Domain": material.Domain,
"CorporateName": material.CorporateName,
"IncludeForeignInvestment": material.IncludeForeignInvestment,
"PartnerBusinessLicense": material.PartnerBusinessLicense,
"PartnerIdCardList": material.PartnerIdCardList,
"PartnerDomainCertificate": material.PartnerDomainCertificate,
"PartnerPreviewOtherList": material.PartnerPreviewOtherList || [],
"PartnerPlan": material.PartnerPlan || "",
"PartnerForeignInvestment": material.PartnerForeignInvestment || "",
"PartnerLaw": material.PartnerLaw || "",
"PartnerStampOtherList": material.PartnerStampOtherList || [],
"PartnerSignOtherList": material.PartnerSignOtherList || [],
"PartnerSignAndStampOtherList": material.PartnerSignAndStampOtherList || []
};
var self = this;
//推送方案材料
var ali =await self.aliclient.reqbyget({ action: "SavePartnerSubmitMaterial", reqbody: pushObj, apiVersion: "2019-05-08" });
console.log('ali tui ziliao ++',ali)
if(ali && ali.status == 200){
var aliFlag = 200
}else{
var aliFlag = -200
}
}
if(res.data.uapp_id == uappId.baidu){
//推送数据至百度
var BizId = needsolution.orderChannelNo;
console.log('BizId++',BizId)
var pushObj = {
"businessLicense" : {
"createdAt" : material.BusinessLicense.CreatedAt || "",
"enterpriseCode" :material.BusinessLicense.EnterpriseCode || "",
"legalRepresentative" :material.BusinessLicense.LegalRepresentative || "",
"address" :material.BusinessLicense.Address || "",
"registeredCapital" : material.BusinessLicense.RegisteredCapital || "",
"name" :material.BusinessLicense.Name || "",
"businessTerm" :material.BusinessLicense.BusinessTerm || "",
"type" : material.BusinessLicense.Type || "",
"scopeBusiness" :material.BusinessLicense.ScopeBusiness || ""
},
"partnerForeignInvestment": material.PartnerForeignInvestment || "",
"orderNo": BizId,
"domain": material.Domain,
"corporateName": material.CorporateName,
"includeForeignInvestment": material.IncludeForeignInvestment,
"partnerBusinessLicense": material.PartnerBusinessLicense,
"partnerIdCardList": material.PartnerIdCardList,
"partnerDomainCertificate": material.PartnerDomainCertificate,
"partnerPreviewOtherList": material.PartnerPreviewOtherList || [],
"partnerPlan": material.PartnerPlan || "",
"partnerLaw": material.PartnerLaw || "",
"partnerStampOtherList": material.PartnerStampOtherList || [],
"partnerSignOtherList": material.PartnerSignOtherList || [],
"partnerSignAndStampOtherList": material.PartnerSignAndStampOtherList || []
};
var self = this;
//推送方案材料
var baidu = await self.baiduclient.baiduReqbyget({ path: "/api/bla/provider/license/material", reqbody: pushObj });
console.log('baidu tui ziliao +++++',baidu)
console.log('baidu pushObj ziliao +++++',pushObj)
if(baidu && baidu.data && baidu.data.result){
var baiduFlag = 200
}else{
var baiduFlag = -200
}
}
if(aliFlag == 200 || baiduFlag == 200){
return system.getResultSuccess();
}
}
console.log('rsrsr++++------------++++',res)
return res return res
} }
} }
//队列通知交付状态变更 //队列通知交付状态变更
...@@ -527,6 +663,7 @@ class BaseCenterOrderService extends AppServiceBase { ...@@ -527,6 +663,7 @@ class BaseCenterOrderService extends AppServiceBase {
console.log('zhuangtai ++++',pobj) console.log('zhuangtai ++++',pobj)
var res = await this.reqCenterOrderApi(pobj, "action/qcapi/springBoard"); var res = await this.reqCenterOrderApi(pobj, "action/qcapi/springBoard");
if (res && res.status == 0 && res.data) { if (res && res.status == 0 && res.data) {
if(pobj.actionBody.isTest && pobj.actionBody.isTest==1){
var reqPushParams = {}; var reqPushParams = {};
if(res.data.uapp_id == uappId.ali){ if(res.data.uapp_id == uappId.ali){
//推送数据至阿里 //推送数据至阿里
...@@ -555,6 +692,56 @@ class BaseCenterOrderService extends AppServiceBase { ...@@ -555,6 +692,56 @@ class BaseCenterOrderService extends AppServiceBase {
var result = await this.utilsPushSve.business2Channel(reqPushParams, "serviceProvider2Notification"); var result = await this.utilsPushSve.business2Channel(reqPushParams, "serviceProvider2Notification");
console.log('reqPushParams+++-状态变更--++++----',reqPushParams) console.log('reqPushParams+++-状态变更--++++----',reqPushParams)
console.log('result+++-状态变更--++++----',result) console.log('result+++-状态变更--++++----',result)
}else{
if(res.data.uapp_id == uappId.ali){
//推送数据至阿里
var pushObj = {
BizId: res.data.BizId,
OfficialFileURL: res.data.OfficialFileURL,
ApplicationStatus: res.data.ApplicationStatus
};
//推送状态变更
var ali = await this.aliclient.reqbyget({ action: "AcceptPartnerNotification", reqbody: pushObj, apiVersion: "2019-05-08" });
if(ali && ali.status == 200){
var aliFlag = 200
}else{
var aliFlag = -200
}
}
if(res.data.uapp_id == uappId.baidu){
res.data.ApplicationStatus = baiduIcpStatus[res.data.ApplicationStatus];
console.log('res.data.channelOrderNo',res.data.channelOrderNo)
//推送数据至百度
var pushObj = {
orderNo: res.data.channelOrderNo,
status: res.data.ApplicationStatus
};
//推送状态变更
var baidu = await this.baiduclient.baiduReqbyget({ path: "/api/bla/provider/license/update", reqbody: pushObj });
console.log('res.data baidu +++++',baidu)
if(baidu && baidu.data && baidu.data.result){
var baiduFlag = 200
}else{
var baiduFlag = -200
}
}
if(res.data.uapp_id == uappId.zc360){
pobj.pushObj = res.data;
let zc360 = await this.utils360Sve.pushOrderStatus(pobj);
if(zc360 && zc360.code == 200 && zc360.msg == 'ok' ){
var zc360Flag = 200
}else{
var zc360Flag = -200
}
}
if(aliFlag == 200 || baiduFlag == 200 || zc360Flag == 200){
return system.getResultSuccess();
}
}
return res; return res;
} }
} }
......
...@@ -56,23 +56,23 @@ class utils360Sve extends AppServiceBase { ...@@ -56,23 +56,23 @@ class utils360Sve extends AppServiceBase {
//更新订单状态到360 //更新订单状态到360
async pushOrderStatus(pobj) { async pushOrderStatus(pobj) {
try { try {
var verifyResult = await this.verifyParam(pobj); // var verifyResult = await this.verifyParam(pobj);
if (verifyResult.status != 0) { // if (verifyResult.status != 0) {
return await this.disposePushResultFail(pobj, verifyResult, "status->pushOrderStatus->verifyResult", this.pushlogFailType.FAILLOG); // return await this.disposePushResultFail(pobj, verifyResult, "status->pushOrderStatus->verifyResult", this.pushlogFailType.FAILLOG);
} // }
var interface_params_info = verifyResult.data; // var interface_params_info = verifyResult.data;
let token = await this.utilsAuthSve.get360Token(); let token = await this.utilsAuthSve.get360Token();
let url = interface_params_info.opUrl + '?token=' + token.access_token; let url = settings.pushUrl360() + 'api/v1/eshop/GsbOrderUpdate?token=' + token.access_token;
let order_id = pobj.actionBody.orderNo; let order_id = pobj.actionBody.orderNo;
let ApplicationStatus = pobj.pushObj.ApplicationStatus; let ApplicationStatus = pobj.pushObj.ApplicationStatus;
let status = 0; let status = 30;
if (Number(ApplicationStatus) < 508) { if(Number(ApplicationStatus) > 510){
status = 30
} else {
status = 40; status = 40;
} }
let pushObj = { let pushObj = {
order_id, status order_id,
status,
sub_status:ApplicationStatus
} }
let result = await this.restPostUrl(pushObj, url); let result = await this.restPostUrl(pushObj, url);
if (result.code == 200) { if (result.code == 200) {
......
...@@ -17,6 +17,7 @@ class UtilsOrderService extends AppServiceBase { ...@@ -17,6 +17,7 @@ class UtilsOrderService extends AppServiceBase {
this.centerAppUrl = settings.centerAppUrl(); this.centerAppUrl = settings.centerAppUrl();
this.centerAppPayUrl = settings.centerAppUrl() + "payment/paymentApi/springBoard"; this.centerAppPayUrl = settings.centerAppUrl() + "payment/paymentApi/springBoard";
this.paySecret = settings.paySecret() this.paySecret = settings.paySecret()
this.utils360Sve = system.getObject("service.utilsSve.utils360Sve");
}; };
/* /*
* 订单验证 * 订单验证
...@@ -955,24 +956,32 @@ class UtilsOrderService extends AppServiceBase { ...@@ -955,24 +956,32 @@ class UtilsOrderService extends AppServiceBase {
actionBody: opOrderResult.data actionBody: opOrderResult.data
} }
// 推送 // 推送
let yfRet = await this.utilsPushSve.pushBusInfo(pobj, "pushOrder", 0); // let yfRet = await this.utilsPushSve.pushBusInfo(pobj, "pushOrder", 0);
if(yfRet.status !=0){ // if(yfRet.status !=0){
return yfRet; // return yfRet;
} // }
if (['icpsq', 'edisq'].includes(opOrderResult.data.product_info.channel_item_code)) { // if (['icpsq', 'edisq'].includes(opOrderResult.data.product_info.channel_item_code)) {
//创建方案 // //创建方案
pobj.salesmanInfo ={ // pobj.salesmanInfo ={
"salesmanId":yfRet.data.orderList[0].operator || "", // "salesmanId":yfRet.data.orderList[0].operator || "",
"salesmanName":yfRet.data.orderList[0].operatorName || "", // "salesmanName":yfRet.data.orderList[0].operatorName || "",
"salesmanMobile":yfRet.data.orderList[0].phone ||"", // "salesmanMobile":yfRet.data.orderList[0].phone ||"",
"salesmanChannelId":yfRet.data.orderList[0].channelUserId || "" // "salesmanChannelId":yfRet.data.orderList[0].channelUserId || ""
} // }
let pushRet = await this.packagingPushData(pobj); // let pushRet = await this.packagingPushData(pobj);
if (pushRet.status != 0) { // if (pushRet.status != 0) {
throw new Error('推送失败') // throw new Error('推送失败')
} // }
pobj.actionBody = pushRet.data; // pobj.actionBody = pushRet.data;
this.utilsPushSve.aliBusiness2Delivery(pobj, "pushDeliveryOrder"); // this.utilsPushSve.aliBusiness2Delivery(pobj, "pushDeliveryOrder");
// }
//订单状态 已接单 目前360在用
pobj.actionBody.orderNo = params.orderNo;
pobj.pushObj = {
ApplicationStatus : 30
};
if(pobj.appInfo.uapp_id == '50'){
this.utils360Sve.pushOrderStatus(pobj)
} }
opOrderResult.data = null; opOrderResult.data = null;
return opOrderResult; return opOrderResult;
......
...@@ -117,6 +117,23 @@ class UtilsProductService extends AppServiceBase { ...@@ -117,6 +117,23 @@ class UtilsProductService extends AppServiceBase {
let url = settings.centerAppUrl() + "action/opProduct/springBoard"; let url = settings.centerAppUrl() + "action/opProduct/springBoard";
return await this.restPostUrl(pobj,url); return await this.restPostUrl(pobj,url);
} }
/**
* 修改产品销售价格
* @param pobj
* @param actionBody
* @returns {Promise<void>}
*/
async updateProductPrice(pobj,actionBody){
if(!actionBody.payCode){
return system.getResultFail(-1,'产品码 payCode 不能为空!')
}
if(!actionBody.price){
return system.getResultFail(-1,'价格 price 不能为空!')
}
let url = settings.centerAppUrl() + "action/opProduct/springBoard";
return await this.restPostUrl(pobj,url);
}
} }
module.exports = UtilsProductService; module.exports = UtilsProductService;
...@@ -267,6 +267,13 @@ var settings = { ...@@ -267,6 +267,13 @@ var settings = {
return "https://console.e.360.cn/"// return "https://console.e.360.cn/"//
} }
}, },
pushUrl360: function () {
if (this.env == "dev") {
return "http://180.163.239.98:38086/"// 360测试环境
} else {
return "https://tobadmin.e.360.cn/"//
}
},
aliUappId: function () { aliUappId: function () {
if (this.env == "dev") { if (this.env == "dev") {
return 18// uapp_id return 18// uapp_id
......
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