Commit 2b6ee36c by 任晓松

获取360最低价

parent 7a1427b9
......@@ -5,6 +5,7 @@ class ProductAPI extends WEBBase {
constructor() {
super();
this.utilsProductSve = system.getObject("service.utilsSve.utilsProductSve");
this.utils360Sve = system.getObject("service.utilsSve.utils360Sve");
}
/**
* 接口跳转-POST请求
......@@ -43,6 +44,9 @@ class ProductAPI extends WEBBase {
// case "updateProductPrice":
// opResult = await this.utilsProductSve.updateProductPrice(pobj,pobj.actionBody);
// break;
case "getGoodsLowestPrice":
opResult = await this.utils360Sve.getGoodsLowestPrice(pobj.actionBody);
break;
default:
opResult = system.getResult(null, "action_type参数错误");
}
......
......@@ -3,7 +3,7 @@ var settings = require("../../../../config/settings");
const AppServiceBase = require("../../app.base");
const md5 = require('md5')
//阿里支付类
//360 接口
class utils360Sve extends AppServiceBase {
constructor() {
super();
......@@ -13,45 +13,45 @@ class utils360Sve extends AppServiceBase {
}
//组合参数,由前端传到360
async getParamsFor360(pobj, actionBody) {
if (!actionBody.orderNo) {
return system.getResult(null, "actionBody.orderNo can not be empty,100110");
}
pobj.actionType = "getPayOrderInfo";
let orderUrl = settings.centerOrderUrl() + "action/order/springBoard";
let orderResult = await this.restPostUrl(pobj, orderUrl);
if (orderResult.status != 0) {
return orderResult;
}
pobj.actionType ="getOrderDeliveryInfo";
var deliveryResult = await this.restPostUrl(pobj,orderUrl);
if (deliveryResult.status != 0) {
return deliveryResult;
}
let sku_id = orderResult.data.orderProduct.itemCode;
let price = Number(orderResult.data.orderProduct.price)*100;
let quantity = orderResult.data.orderProduct.quantity;
let amount = Number(orderResult.data.receiptVoucher.totalSum)*100;
let order_id = orderResult.data.receiptVoucher.sourceOrderNo;
let consignee = deliveryResult.data.orderContact.contactName;
let mobile = deliveryResult.data.orderContact.mobile;
let email = deliveryResult.data.orderContact.email;
let singStr = sku_id + quantity + price + amount + order_id + pobj.appInfo.uapp_secret;
let sign = md5(singStr).toUpperCase();
let result ={
sku_id,
price,
quantity,
amount,
order_id,
consignee,
mobile,
email,
sign
//组合参数,由前端传到360
async getParamsFor360(pobj, actionBody) {
if (!actionBody.orderNo) {
return system.getResult(null, "actionBody.orderNo can not be empty,100110");
}
pobj.actionType = "getPayOrderInfo";
let orderUrl = settings.centerOrderUrl() + "action/order/springBoard";
let orderResult = await this.restPostUrl(pobj, orderUrl);
if (orderResult.status != 0) {
return orderResult;
}
pobj.actionType = "getOrderDeliveryInfo";
var deliveryResult = await this.restPostUrl(pobj, orderUrl);
if (deliveryResult.status != 0) {
return deliveryResult;
}
let sku_id = orderResult.data.orderProduct.itemCode;
let price = Number(orderResult.data.orderProduct.price) * 100;
let quantity = orderResult.data.orderProduct.quantity;
let amount = Number(orderResult.data.receiptVoucher.totalSum) * 100;
let order_id = orderResult.data.receiptVoucher.sourceOrderNo;
let consignee = deliveryResult.data.orderContact.contactName;
let mobile = deliveryResult.data.orderContact.mobile;
let email = deliveryResult.data.orderContact.email;
let singStr = sku_id + quantity + price + amount + order_id + pobj.appInfo.uapp_secret;
let sign = md5(singStr).toUpperCase();
let result = {
sku_id,
price,
quantity,
amount,
order_id,
consignee,
mobile,
email,
sign
}
return system.getResult(result);
}
return system.getResult(result);
}
//更新订单状态到360
async pushOrderStatus(pobj) {
......@@ -62,17 +62,17 @@ class utils360Sve extends AppServiceBase {
// }
// var interface_params_info = verifyResult.data;
let token = await this.utilsAuthSve.get360Token();
let url = settings.pushUrl360() + 'api/v1/eshop/GsbOrderUpdate?token=' + token.access_token;
let url = settings.pushUrl360() + 'api/v1/eshop/GsbOrderUpdate?token=' + token.access_token;
let order_id = pobj.actionBody.orderNo;
let ApplicationStatus = pobj.pushObj.ApplicationStatus;
let status = 30;
if(Number(ApplicationStatus) > 510){
if (Number(ApplicationStatus) > 510) {
status = 40;
}
let pushObj = {
order_id,
status,
sub_status:ApplicationStatus
sub_status: ApplicationStatus
}
let result = await this.restPostUrl(pushObj, url);
if (result.code == 200) {
......@@ -124,6 +124,24 @@ class utils360Sve extends AppServiceBase {
return verify;
}
//获取360最低价格
async getGoodsLowestPrice(actionBody) {
if (!actionBody.itemCode) {
return system.getResultFail(-1, 'itemCode 不能为空!')
}
let params = actionBody.itemCode.join(',');
let url = settings.requestUrl360() + `/api/v1/eshop/GetGoodsLowestPrice?sku_ids=${params}`;
let rtn = await this.restClient.execGet("",url);
if (!rtn || !rtn.stdout) {
return system.getResult(null, "restGet data is empty");
}
let result = JSON.parse(rtn.stdout);
if(result.code != 200){
return system.getResultFail(-1,result.msg)
}
return system.getResultSuccess(result.data);
}
}
module.exports = utils360Sve;
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