对接接口 -- 创建订单

This commit is contained in:
赵毅 2025-08-25 18:30:33 +08:00
parent cc9eee696a
commit e3c535d596
3 changed files with 84 additions and 8 deletions

View File

@ -17,4 +17,5 @@ export const apiArr = {
queryOrder: '/api/v2/wechat/commodity/order/trade_query', // 查询订单 queryOrder: '/api/v2/wechat/commodity/order/trade_query', // 查询订单
getComment: '/api/v2/wechat/commodity/review/list', // 获取评论 getComment: '/api/v2/wechat/commodity/review/list', // 获取评论
mergePreorder: '/api/v2/wechat/commodity/order/merge_preorder', // 商品订单合并预下单
} }

View File

@ -2,8 +2,8 @@
<view class="container"> <view class="container">
<!-- 顶部切换栏 --> <!-- 顶部切换栏 -->
<view class="tab-bar"> <view class="tab-bar">
<view :class="{ active: activeTab === 'delivery' }" class="tab-item" @click="switchTab('delivery')">配送 <!-- <view :class="{ active: activeTab === 'delivery' }" class="tab-item" @click="switchTab('delivery')">配送
</view> </view> -->
<view :class="{ active: activeTab === 'pickup' }" class="tab-item" @click="switchTab('pickup')">自提</view> <view :class="{ active: activeTab === 'pickup' }" class="tab-item" @click="switchTab('pickup')">自提</view>
</view> </view>
<!-- 分隔线 --> <!-- 分隔线 -->
@ -115,10 +115,12 @@
<view class="copy-icon" @click.stop="copyZTAddress" /> <view class="copy-icon" @click.stop="copyZTAddress" />
</view> </view>
</view> </view>
<view class="address-arrow"><u-icon name="arrow-right" size="25"></u-icon></view> <view class="address-arrow"><u-icon name="arrow-right" size="25"></u-icon>
</view>
</view> </view>
</view> </view>
<view class="address-info" v-if="!defZTAddress.some(adItem => adItem.id === item.goods_id)"> <view class="address-info"
v-if="!defZTAddress.some(adItem => adItem.id === item.goods_id)">
<view class="address-main"> <view class="address-main">
<view class="address-name-phone"> <view class="address-name-phone">
<text class="name">请选择自提点</text> <text class="name">请选择自提点</text>
@ -295,7 +297,7 @@ import { apiArr } from "../../../api/shop";
export default { export default {
data() { data() {
return { return {
activeTab: 'delivery', // activeTab: 'pickup', //
quantity: 1, // quantity: 1, //
selectedPayment: 'wechat', selectedPayment: 'wechat',
boxshadow1: false, boxshadow1: false,
@ -334,7 +336,10 @@ export default {
this.orderList2 = [] this.orderList2 = []
this.carList.forEach(item => { this.carList.forEach(item => {
item.commodity_goods_info.commodity_pic = picUrl + item.commodity_goods_info.commodity_pic // URLhttpspicUrl
if (item.commodity_goods_info.commodity_pic && item.commodity_goods_info.commodity_pic.indexOf('https') !== 0) {
item.commodity_goods_info.commodity_pic = picUrl + item.commodity_goods_info.commodity_pic
}
const list = item.commodity_goods_info.group_buy_activity_info const list = item.commodity_goods_info.group_buy_activity_info
if (list) { if (list) {
@ -425,8 +430,76 @@ export default {
this.selectedPayment = payment; this.selectedPayment = payment;
}, },
submitPayment() { submitPayment() {
console.log('提交支付金额¥4500.00'); //
this.boxshadow1 = true; const allHaveZTAddress = this.orderList2.every(item => {
const ztAddress = this.defZTAddress.find(adItem => adItem.id === item.goods_id);
return ztAddress && ztAddress.id;
});
if (!allHaveZTAddress) {
uni.showToast({
title: '请选择所有货品的自提点',
icon: 'none'
});
return;
}
const params = {
user_id: uni.getStorageSync('userId'),
is_group_buy: true,
goods_list: this.orderList2.map(item => {
const ztAddress = this.defZTAddress.find(adItem => adItem.id === item.goods_id) || {};
return {
supplier_id: item.commodity_goods_info.group_buy_activity_info.supplier_id,
supplier_name: item.supplier_name || '',
is_same_day: item.commodity_goods_info.is_same_day,
receiving_name: ztAddress.name || '',
receiving_phone: ztAddress.phone || '',
receiving_address: ztAddress.address || '',
group_buy_activity_id: item.commodity_goods_info.group_buy_activity_id,
goods_and_count: [{
goods_id: item.commodity_goods_info.goods_id,
count: item.count,
price: item.commodity_goods_info.group_buy_price
}]
}
})
}
console.log("🚀 ~ submitPayment ~ params:", params)
request(apiArr.createOrder, "POST", params).then(res => {
console.log("🚀 ~ submitPayment ~ res:", res)
// trans_type
// : 71, App: 51
const systemInfo = uni.getSystemInfoSync();
let trans_type = 51; // App
//
if (systemInfo.platform === 'devtools' || systemInfo.platform === 'unknown') {
trans_type = 71; //
}
//
// #ifdef MP
trans_type = 71; //
// #endif
// #ifdef APP-PLUS
trans_type = 51; // App
// #endif
const param = {
order_id: res.order_id,
user_id: uni.getStorageSync('userId'),
trans_type: trans_type
}
console.log("🚀 ~ submitPayment ~ param:", param)
request(apiArr.mergePreorder, "POST", param).then(res => {
console.log("🚀 ~ submitPayment ~ res:", res)
})
})
}, },
// //
copyAddress() { copyAddress() {

View File

@ -268,6 +268,7 @@ export default {
this.shopCarList.forEach((item) => { this.shopCarList.forEach((item) => {
item.commodity_cart_and_goods_model.forEach((ite) => { item.commodity_cart_and_goods_model.forEach((ite) => {
if (ite.checked) { if (ite.checked) {
ite.supplier_name = item.supplier_name;
arr.push(ite); arr.push(ite);
} }
}) })
@ -276,6 +277,7 @@ export default {
this.isDayCarList.forEach((item) => { this.isDayCarList.forEach((item) => {
item.commodity_cart_and_goods_model.forEach((ite) => { item.commodity_cart_and_goods_model.forEach((ite) => {
if (ite.checked) { if (ite.checked) {
ite.supplier_name = item.supplier_name;
arr.push(ite); arr.push(ite);
} }
}) })