/** * easypay api * @author: yyq<yanqing.yang@yoho.cn> * @date: 2016/11/04 */ 'use strict'; module.exports = class extends global.yoho.BaseModel { constructor(ctx) { super(ctx); } getEasyPaymentAsync(uid, goods, activity) { let param = { method: 'app.Shopping.easyPayment', uid: uid, cart_type: 'ordinary', product_sku_list: goods, yoho_coin_mode: 0, is_support_apple_pay: 'N' }; if (activity) { param.activity_id = activity; } return this.get({data: param}); } /** * 订单计算API * @param uid [number] uid * @param cartType [string] 购物车类型,ordinary表示普通, advance表示预售 * @param paymentType [number] 支付方式,1表示在线支付,2表示货到付款 * @param deliveryWay [number] 配送方式,1表示普通快递,2表示顺丰速运 * @param coin [number] 使用的有货币 * @param useRedEnvelops [number] 红包 * @param couponCode [string] 优惠券码 * @param promotionCode [string] 优惠码 * @param productSkuList [string] 限购商品 */ getEasypayComputeAsync(uid, cartType, paymentType, deliveryWay, other) { let param = { method: 'app.Shopping.easyCompute', uid: uid, cart_type: cartType || 'ordinary', payment_type: paymentType, delivery_way: deliveryWay }; // 其他可选参数 if (other) { if (other.coin) { Object.assign(param, { use_yoho_coin: other.coin / 100 }); } if (other.useRedEnvelops) { Object.assign(param, { use_red_envelopes: other.useRedEnvelops }); } if (other.couponCode) { Object.assign(param, { coupon_code: other.couponCode }); } if (other.giftCard) { Object.assign(param, { gift_card_code: other.giftCard }); } if (other.promotionCode) { Object.assign(param, { promotion_code: other.promotionCode }); } if (other.productSkuList) { Object.assign(param, { product_sku_list: other.productSkuList }); if (other.bundle) { Object.assign(param, { activity_id: other.bundle }); } } } return this.get({data: param}); } /** * 订单提交API * @param uid [number] uid * @param cartType [String] 购物车类型,ordinary表示普通, advance表示预售 * @param addressId [String] 地址 * @param deliveryTime [number] 寄送时间类型 * @param deliveryWay [number] 配送方式,1表示普通快递,2表示顺丰速运 * @param invoicesType [number] 发票类型 * @param invoicesTitle [string] 发票抬头 * @param invoicesContent [int] 发票类型 * @param receiverMobile [string] 发票收人电话 * @param coin [number] 使用的有货币金额 * @param redEnvelopes [number] 使用的红包 * @param paymentId [number] 支付id * @param paymentType [number] 支付类型 * @param remark [string] 备注 * @param couponCode [string] 优惠券码 * @param printPrice [string] 是否打印价格 */ easypayOrderSubmitAsync(uid, cartType, addressId, deliveryTime, deliveryWay, paymentType, paymentId, printPrice, other, remoteIp) { // eslint-disable-line let param = { method: 'app.Shopping.easySubmit', uid: uid, cart_type: cartType || 'ordinary', address_id: addressId, delivery_time: deliveryTime, delivery_way: deliveryWay, payment_type: paymentType, payment_id: paymentId, is_print_price: printPrice }; // 发票 if (other.invoicesType) { Object.assign(param, { invoices_type: other.invoicesType, invoices_title: other.invoicesTitle, invoice_content: other.invoicesContent, receiverMobile: other.receiver }); } // 有货币 if (other.coin) { Object.assign(param, { use_yoho_coin: other.coin / 100 // 有货币稀释 }); } // 红包 if (other.redEnvelopes) { Object.assign(param, { use_red_envelopes: other.redEnvelopes }); } // 备注 if (other.remark) { Object.assign(param, { remark: other.remark }); } // 礼品卡 if (other.giftCard) { Object.assign(param, { gift_card_code: other.giftCard }); } // 优惠码 if (other.promotionCode) { Object.assign(param, { promotion_code: other.promotionCode }); } // 优惠券码 if (other.couponCode) { Object.assign(param, { coupon_code: other.couponCode }); } if (other.productSkuList) { Object.assign(param, { product_sku_list: other.productSkuList }); if (other.bundle) { Object.assign(param, { activity_id: other.bundle }); } } if (other.udid) { Object.assign(param, { udid: other.udid }); } return this.get({data: param, param: { headers: { 'X-Forwarded-For': remoteIp || '' } }}); } };