fixed 优化购物车,渲染优惠券列表
This commit is contained in:
parent
f0e2b7ecfc
commit
6ab71eb4bf
@ -104,7 +104,20 @@ export async function genSettleDetail(params) {
|
|||||||
success: true,
|
success: true,
|
||||||
};
|
};
|
||||||
|
|
||||||
console.log(storeInfoList, '测试前端用店铺判断');
|
// 判断是否携带优惠券数据
|
||||||
|
const discountPrice = [];
|
||||||
|
console.log(couponList, '计算一下');
|
||||||
|
if (couponList && couponList.length > 0) {
|
||||||
|
couponList.forEach((coupon) => {
|
||||||
|
if (coupon.status === 'default') {
|
||||||
|
discountPrice.push({
|
||||||
|
shopGuid: coupon.shopGuid,
|
||||||
|
type: coupon.type,
|
||||||
|
value: coupon.value,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
const storeGoodsList = []
|
const storeGoodsList = []
|
||||||
// 将商品塞进对应的店铺
|
// 将商品塞进对应的店铺
|
||||||
@ -118,8 +131,7 @@ export async function genSettleDetail(params) {
|
|||||||
storeTotalDiscountAmount: 0,
|
storeTotalDiscountAmount: 0,
|
||||||
storeTotalCouponAmount: 0,
|
storeTotalCouponAmount: 0,
|
||||||
couponList: [{
|
couponList: [{
|
||||||
couponId: 11,
|
|
||||||
storeId: '1000',
|
|
||||||
}, ],
|
}, ],
|
||||||
}
|
}
|
||||||
const storeGoodsRequestList = []
|
const storeGoodsRequestList = []
|
||||||
@ -129,26 +141,42 @@ export async function genSettleDetail(params) {
|
|||||||
goodsRequestList.forEach(item => {
|
goodsRequestList.forEach(item => {
|
||||||
if (item.storeId === store.storeId) {
|
if (item.storeId === store.storeId) {
|
||||||
storeGoods.goodsCount += item.quantity
|
storeGoods.goodsCount += item.quantity
|
||||||
storeGoods.storeTotalAmount += item.quantity * item.price
|
|
||||||
storeGoodsRequestList.push(item)
|
storeGoodsRequestList.push(item)
|
||||||
|
|
||||||
|
// 计算店铺运费
|
||||||
|
if (userAddressReq) {
|
||||||
|
let data = {
|
||||||
|
GoodsRequestList: storeGoodsRequestList,
|
||||||
|
CustomerAddressGuid: userAddressReq.customerAddressGuid
|
||||||
|
}
|
||||||
|
getGoodsFreight(data).then((res) => {
|
||||||
|
if (res.code === 0) {
|
||||||
|
resp.data.abnormalDeliveryGoodsList = storeGoodsRequestList
|
||||||
|
}
|
||||||
|
storeGoods.deliveryFee = res.data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 计算优惠券价格
|
||||||
|
let storeTotalCouponAmount = 0
|
||||||
|
if (discountPrice && discountPrice.length > 0) {
|
||||||
|
discountPrice.forEach(e => {
|
||||||
|
if (e.shopGuid === item.storeId) {
|
||||||
|
if (e.type === 1) {
|
||||||
|
storeTotalCouponAmount = e.value;
|
||||||
|
}
|
||||||
|
if (e.type === 2) {
|
||||||
|
storeTotalCouponAmount = (Number(storeGoods.storeTotalAmount) * e.value) / 10;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
storeGoods.storeTotalCouponAmount = storeTotalCouponAmount;
|
||||||
|
storeGoods.storeTotalAmount += item.quantity * item.price + storeGoods.deliveryFee - storeTotalCouponAmount;
|
||||||
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
if (userAddressReq) {
|
|
||||||
let data = {
|
|
||||||
GoodsRequestList: storeGoodsRequestList,
|
|
||||||
CustomerAddressGuid: userAddressReq.customerAddressGuid
|
|
||||||
}
|
|
||||||
getGoodsFreight(data).then((res) => {
|
|
||||||
if (res.code === 0) {
|
|
||||||
resp.data.abnormalDeliveryGoodsList = storeGoodsRequestList
|
|
||||||
}
|
|
||||||
storeGoods.deliveryFee = res.data
|
|
||||||
storeGoods.storeTotalAmount += res.data
|
|
||||||
console.log(storeGoods.deliveryFee, '运费');
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
const list = transformGoodsDataToConfirmData(storeGoodsRequestList);
|
const list = transformGoodsDataToConfirmData(storeGoodsRequestList);
|
||||||
storeGoods.skuDetailVos = list
|
storeGoods.skuDetailVos = list
|
||||||
storeGoodsList.push(storeGoods)
|
storeGoodsList.push(storeGoods)
|
||||||
@ -156,25 +184,11 @@ export async function genSettleDetail(params) {
|
|||||||
console.log(storeGoodsList, '看看成果');
|
console.log(storeGoodsList, '看看成果');
|
||||||
|
|
||||||
const list = transformGoodsDataToConfirmData(goodsRequestList);
|
const list = transformGoodsDataToConfirmData(goodsRequestList);
|
||||||
console.log(list, '看看list');
|
|
||||||
// 获取购物车传递的商品数据
|
// 获取购物车传递的商品数据
|
||||||
// resp.data.storeGoodsList[0].skuDetailVos = list;
|
// resp.data.storeGoodsList[0].skuDetailVos = list;
|
||||||
// resp.data.storeGoodsList[1].skuDetailVos = list;
|
|
||||||
resp.data.storeGoodsList = storeGoodsList;
|
resp.data.storeGoodsList = storeGoodsList;
|
||||||
|
|
||||||
// 判断是否携带优惠券数据
|
|
||||||
const discountPrice = [];
|
|
||||||
|
|
||||||
if (couponList && couponList.length > 0) {
|
|
||||||
couponList.forEach((coupon) => {
|
|
||||||
if (coupon.status === 'default') {
|
|
||||||
discountPrice.push({
|
|
||||||
type: coupon.type,
|
|
||||||
value: coupon.value,
|
|
||||||
});
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
// 模拟计算场景
|
// 模拟计算场景
|
||||||
|
|
||||||
@ -207,8 +221,6 @@ export async function genSettleDetail(params) {
|
|||||||
|
|
||||||
if (totalDeliveryFee) {
|
if (totalDeliveryFee) {
|
||||||
resp.data.totalPayAmount += resp.data.totalDeliveryFee
|
resp.data.totalPayAmount += resp.data.totalDeliveryFee
|
||||||
console.log(typeof (totalDeliveryFee), '类型是什么');
|
|
||||||
console.log(totalDeliveryFee, '这里呢');
|
|
||||||
}
|
}
|
||||||
|
|
||||||
list.forEach(item => {
|
list.forEach(item => {
|
||||||
|
@ -28,7 +28,7 @@
|
|||||||
</view>
|
</view>
|
||||||
<t-empty wx:if="{{couponList.length == 0}}" t-class="empty-cls" t-class-image="t-empty__image" image="https://tdesign.gtimg.com/miniprogram/images/empty1.png" description="暂无数据" />
|
<t-empty wx:if="{{couponList.length == 0}}" t-class="empty-cls" t-class-image="t-empty__image" image="https://tdesign.gtimg.com/miniprogram/images/empty1.png" description="暂无数据" />
|
||||||
</t-pull-down-refresh>
|
</t-pull-down-refresh>
|
||||||
<view class="center-entry">
|
<!-- <view class="center-entry">
|
||||||
<view class="center-entry-btn" bind:tap="goCouponCenterHandle">
|
<view class="center-entry-btn" bind:tap="goCouponCenterHandle">
|
||||||
<view>领券中心</view>
|
<view>领券中心</view>
|
||||||
<t-icon
|
<t-icon
|
||||||
@ -38,6 +38,6 @@
|
|||||||
style="line-height: 28rpx;"
|
style="line-height: 28rpx;"
|
||||||
/>
|
/>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view> -->
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
|
@ -7,7 +7,7 @@ Component({
|
|||||||
list: Array,
|
list: Array,
|
||||||
title: {
|
title: {
|
||||||
type: String,
|
type: String,
|
||||||
value: '促销说明',
|
value: '领券中心',
|
||||||
},
|
},
|
||||||
show: {
|
show: {
|
||||||
type: Boolean,
|
type: Boolean,
|
||||||
@ -27,6 +27,8 @@ Component({
|
|||||||
},
|
},
|
||||||
|
|
||||||
closePromotionPopup() {
|
closePromotionPopup() {
|
||||||
|
console.log(this.list);
|
||||||
|
|
||||||
this.triggerEvent('closePromotionPopup', {
|
this.triggerEvent('closePromotionPopup', {
|
||||||
show: false,
|
show: false,
|
||||||
});
|
});
|
||||||
|
@ -1,7 +1,8 @@
|
|||||||
{
|
{
|
||||||
"component": true,
|
"component": true,
|
||||||
"usingComponents": {
|
"usingComponents": {
|
||||||
"t-popup": "tdesign-miniprogram/popup/popup",
|
"t-popup": "tdesign-miniprogram/popup/popup",
|
||||||
"t-icon": "tdesign-miniprogram/icon/icon"
|
"t-icon": "tdesign-miniprogram/icon/icon",
|
||||||
}
|
"coupon-card": "/components/coupon-card/index"
|
||||||
|
}
|
||||||
}
|
}
|
@ -1,13 +1,13 @@
|
|||||||
<t-popup visible="{{show}}" placement="bottom" bind:visible-change="closePromotionPopup">
|
<t-popup visible="{{show}}" placement="bottom" bind:visible-change="closePromotionPopup">
|
||||||
<view class="promotion-popup-container">
|
<view class="promotion-popup-container">
|
||||||
<view class="promotion-popup-close" bindtap="closePromotionPopup">
|
<view class="promotion-popup-close" bindtap="closePromotionPopup">
|
||||||
<t-icon name="close" size="36rpx" />
|
<t-icon name="close" size="36rpx" />
|
||||||
</view>
|
</view>
|
||||||
<view class="promotion-popup-title">
|
<view class="promotion-popup-title">
|
||||||
<view class="title">{{title}}</view>
|
<view class="title">{{title}}</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="promotion-popup-content">
|
<view class="promotion-popup-content">
|
||||||
<view class="promotion-detail-list">
|
<!-- <view class="promotion-detail-list">
|
||||||
<view
|
<view
|
||||||
class="list-item"
|
class="list-item"
|
||||||
wx:for="{{list}}"
|
wx:for="{{list}}"
|
||||||
@ -26,9 +26,14 @@
|
|||||||
color="#bbb"
|
color="#bbb"
|
||||||
/>
|
/>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view> -->
|
||||||
</view>
|
|
||||||
<slot name="promotion-bottom" />
|
|
||||||
</view>
|
|
||||||
</t-popup>
|
|
||||||
|
|
||||||
|
<view class="coupon-list-item" wx:for="{{list}}" wx:key="key">
|
||||||
|
{{item}}
|
||||||
|
<coupon-card couponDTO="{{item}}" />
|
||||||
|
</view>
|
||||||
|
|
||||||
|
</view>
|
||||||
|
<slot name="promotion-bottom" />
|
||||||
|
</view>
|
||||||
|
</t-popup>
|
@ -453,12 +453,12 @@ Page({
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
const promotionArray = [];
|
const promotionArray = [];
|
||||||
activityList.forEach((item) => {
|
// activityList.forEach((item) => {
|
||||||
promotionArray.push({
|
// promotionArray.push({
|
||||||
tag: item.promotionSubCode === 'MYJ' ? '满减' : '满折',
|
// tag: item.promotionSubCode === 'MYJ' ? '满减' : '满折',
|
||||||
label: '满100元减99.9元',
|
// label: '满100元减99.9元',
|
||||||
});
|
// });
|
||||||
});
|
// });
|
||||||
this.setData({
|
this.setData({
|
||||||
details,
|
details,
|
||||||
activityList,
|
activityList,
|
||||||
|
@ -40,7 +40,7 @@
|
|||||||
<view class="sold-num">已售{{soldNum}}</view>
|
<view class="sold-num">已售{{soldNum}}</view>
|
||||||
</view>
|
</view>
|
||||||
<view wx:if="{{details.goodsSellingPoint}}">{{ details.goodsSellingPoint }}</view>
|
<view wx:if="{{details.goodsSellingPoint}}">{{ details.goodsSellingPoint }}</view>
|
||||||
<!-- <view wx:if="{{activityList.length > 0}}" class="goods-activity" bindtap="showPromotionPopup">
|
<!-- <view class="goods-activity" bindtap="showPromotionPopup">
|
||||||
<view class="tags-container">
|
<view class="tags-container">
|
||||||
<view wx:for="{{activityList}}" data-promotionId="{{item.promotionId}}" wx:key="index" wx:if="{{index<4}}">
|
<view wx:for="{{activityList}}" data-promotionId="{{item.promotionId}}" wx:key="index" wx:if="{{index<4}}">
|
||||||
<view class="goods-activity-tag">{{item.tag}}</view>
|
<view class="goods-activity-tag">{{item.tag}}</view>
|
||||||
@ -51,6 +51,7 @@
|
|||||||
<t-icon name="chevron-right" size="42rpx" />
|
<t-icon name="chevron-right" size="42rpx" />
|
||||||
</view>
|
</view>
|
||||||
</view> -->
|
</view> -->
|
||||||
|
|
||||||
<view class="goods-title">
|
<view class="goods-title">
|
||||||
<view class="goods-name">{{details.title}}</view>
|
<view class="goods-name">{{details.title}}</view>
|
||||||
<view class="goods-tag">
|
<view class="goods-tag">
|
||||||
|
@ -65,7 +65,9 @@ page {
|
|||||||
.goods-detail-page .goods-info .goods-activity {
|
.goods-detail-page .goods-info .goods-activity {
|
||||||
display: flex;
|
display: flex;
|
||||||
margin-top: 16rpx;
|
margin-top: 16rpx;
|
||||||
justify-content: space-between;
|
position: relative;
|
||||||
|
/* justify-content: space-between; */
|
||||||
|
justify-content: flex-end;
|
||||||
}
|
}
|
||||||
|
|
||||||
.goods-detail-page .goods-info .goods-activity .tags-container {
|
.goods-detail-page .goods-info .goods-activity .tags-container {
|
||||||
|
@ -61,8 +61,8 @@ Component({
|
|||||||
selectedCoupons,
|
selectedCoupons,
|
||||||
storeId,
|
storeId,
|
||||||
}).then((res) => {
|
}).then((res) => {
|
||||||
console.log(res,'res来咯');
|
// console.log(res,'res来咯');
|
||||||
this.initData(res);
|
// this.initData(res);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -92,11 +92,12 @@ Component({
|
|||||||
selectedNum++;
|
selectedNum++;
|
||||||
selectedList.push({
|
selectedList.push({
|
||||||
couponId: coupon.key,
|
couponId: coupon.key,
|
||||||
promotionId: ruleId,
|
// promotionId: ruleId,
|
||||||
storeId: this.storeId,
|
storeId: this.storeId,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
return {
|
return {
|
||||||
|
shopGuid: coupon.shopGuid,
|
||||||
key: coupon.key,
|
key: coupon.key,
|
||||||
title: coupon.title,
|
title: coupon.title,
|
||||||
isSelected: false,
|
isSelected: false,
|
||||||
@ -104,7 +105,7 @@ Component({
|
|||||||
value: coupon.value,
|
value: coupon.value,
|
||||||
status: coupon.status === 1 ? 'default' : 'useless',
|
status: coupon.status === 1 ? 'default' : 'useless',
|
||||||
desc: coupon.desc,
|
desc: coupon.desc,
|
||||||
type,
|
type : coupon.type,
|
||||||
tag: '',
|
tag: '',
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
@ -150,16 +151,30 @@ Component({
|
|||||||
coupons(coupon = {}) {
|
coupons(coupon = {}) {
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
console.log(coupon,'coupon里有什么');
|
console.log(coupon,'coupon里有什么');
|
||||||
|
const {
|
||||||
|
storeId
|
||||||
|
} =
|
||||||
|
this.data;
|
||||||
|
console.log(storeId);
|
||||||
if (coupon?.selectedCoupons) {
|
if (coupon?.selectedCoupons) {
|
||||||
|
let data = {
|
||||||
|
couponResultList: [],
|
||||||
|
reduce: 1000,
|
||||||
|
}
|
||||||
// 优惠券接口
|
// 优惠券接口
|
||||||
fetchCouponList({
|
fetchCouponList({
|
||||||
status: 1
|
shopGuid: storeId,
|
||||||
}).then((res) => {
|
status: 1
|
||||||
resolve({
|
}).then((res) => {
|
||||||
couponResultList: res,
|
data.couponResultList = res
|
||||||
reduce: 1000,
|
this.initData(data);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
resolve({
|
||||||
|
couponResultList: data,
|
||||||
|
reduce: 1000,
|
||||||
});
|
});
|
||||||
|
|
||||||
}
|
}
|
||||||
return reject({
|
return reject({
|
||||||
couponResultList: [],
|
couponResultList: [],
|
||||||
|
@ -48,6 +48,7 @@ Page({
|
|||||||
promotionGoodsList: [], //当前门店商品列表(优惠券)
|
promotionGoodsList: [], //当前门店商品列表(优惠券)
|
||||||
couponList: [], //当前门店所选优惠券
|
couponList: [], //当前门店所选优惠券
|
||||||
submitCouponList: [], //所有门店所选优惠券
|
submitCouponList: [], //所有门店所选优惠券
|
||||||
|
resSubmitCouponList:[],
|
||||||
currentStoreId: null, //当前优惠券storeId
|
currentStoreId: null, //当前优惠券storeId
|
||||||
userAddress: null,
|
userAddress: null,
|
||||||
},
|
},
|
||||||
@ -434,6 +435,7 @@ Page({
|
|||||||
invoiceData,
|
invoiceData,
|
||||||
storeInfoList,
|
storeInfoList,
|
||||||
submitCouponList,
|
submitCouponList,
|
||||||
|
resSubmitCouponList
|
||||||
} = this.data;
|
} = this.data;
|
||||||
const {
|
const {
|
||||||
goodsRequestList
|
goodsRequestList
|
||||||
@ -458,7 +460,8 @@ Page({
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
// this.payLock = true;
|
// this.payLock = true;
|
||||||
const resSubmitCouponList = this.handleCouponList(submitCouponList);
|
console.log(submitCouponList);
|
||||||
|
// const resSubmitCouponList = this.handleCouponList(submitCouponList);
|
||||||
const openId = wx.getStorageSync('openId')
|
const openId = wx.getStorageSync('openId')
|
||||||
console.log(openId, '我的openId');
|
console.log(openId, '我的openId');
|
||||||
const params = {
|
const params = {
|
||||||
@ -625,12 +628,16 @@ Page({
|
|||||||
storeCoupon.couponList,
|
storeCoupon.couponList,
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
|
console.log(tempSubmitCouponList,'查看确定优惠券 temp');
|
||||||
const resSubmitCouponList = this.handleCouponList(tempSubmitCouponList);
|
const resSubmitCouponList = this.handleCouponList(tempSubmitCouponList);
|
||||||
|
console.log(resSubmitCouponList,'查看确定优惠券 res');
|
||||||
|
|
||||||
//确定选择优惠券
|
//确定选择优惠券
|
||||||
this.handleOptionsParams({
|
this.handleOptionsParams({
|
||||||
goodsRequestList
|
goodsRequestList
|
||||||
}, resSubmitCouponList);
|
}, resSubmitCouponList);
|
||||||
this.setData({
|
this.setData({
|
||||||
|
resSubmitCouponList:resSubmitCouponList,
|
||||||
couponsShow: false
|
couponsShow: false
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
@ -41,20 +41,23 @@
|
|||||||
<text wx:else>免运费</text>
|
<text wx:else>免运费</text>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="pay-item">
|
<!-- <view class="pay-item">
|
||||||
<text>活动优惠</text>
|
<text>活动优惠</text>
|
||||||
<view class="pay-item__right primary font-bold">
|
<view class="pay-item__right primary font-bold">
|
||||||
-
|
-
|
||||||
<price priceUnit="yuan" fill price="{{settleDetailData.totalPromotionAmount || 0}}" />
|
<price priceUnit="yuan" fill price="{{settleDetailData.totalPromotionAmount || 0}}" />
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view> -->
|
||||||
<view class="pay-item">
|
<view class="pay-item">
|
||||||
<text>优惠券</text>
|
<text>优惠券</text>
|
||||||
<view class="pay-item__right" data-storeid="{{settleDetailData.storeGoodsList[0].storeId}}" catchtap="onOpenCoupons">
|
<view class="pay-item__right" data-storeid="{{stores.storeId}}" catchtap="onOpenCoupons">
|
||||||
<block wx:if="{{submitCouponList.length}}">
|
<block wx:if="{{submitCouponList.length}}">
|
||||||
<block wx:if="{{settleDetailData.totalCouponAmount && settleDetailData.totalCouponAmount !== '0'}}">
|
<!-- <block wx:if="{{settleDetailData.totalCouponAmount && settleDetailData.totalCouponAmount !== '0'}}"> -->
|
||||||
|
<block wx:if="{{stores.storeTotalCouponAmount && stores.storeTotalCouponAmount !== '0'}}">
|
||||||
-
|
-
|
||||||
<price class="pay-item__right primary font-bold" priceUnit="yuan" fill decimalSmaller price="{{settleDetailData.totalCouponAmount}}" />
|
<!-- <price class="pay-item__right primary font-bold" priceUnit="yuan" fill decimalSmaller price="{{settleDetailData.totalCouponAmount}}" /> -->
|
||||||
|
<price class="pay-item__right primary font-bold" priceUnit="yuan" fill decimalSmaller price="{{stores.storeTotalCouponAmount}}" />
|
||||||
|
|
||||||
</block>
|
</block>
|
||||||
<block wx:else>选择优惠券</block>
|
<block wx:else>选择优惠券</block>
|
||||||
</block>
|
</block>
|
||||||
|
@ -43,7 +43,8 @@
|
|||||||
"showES6CompileOption": false,
|
"showES6CompileOption": false,
|
||||||
"useCompilerPlugins": false,
|
"useCompilerPlugins": false,
|
||||||
"ignoreUploadUnusedFiles": true,
|
"ignoreUploadUnusedFiles": true,
|
||||||
"useStaticServer": true
|
"useStaticServer": true,
|
||||||
|
"condition": false
|
||||||
},
|
},
|
||||||
"compileType": "miniprogram",
|
"compileType": "miniprogram",
|
||||||
"libVersion": "2.23.1",
|
"libVersion": "2.23.1",
|
||||||
|
@ -3,7 +3,7 @@ import {
|
|||||||
} from '../_utils/request';
|
} from '../_utils/request';
|
||||||
|
|
||||||
/** 优惠券列表 */
|
/** 优惠券列表 */
|
||||||
export function fetchCouponList(parm) {
|
export async function fetchCouponList(parm) {
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
request({
|
request({
|
||||||
url: `CustomerCouponApi/getCustomerCouponList`,
|
url: `CustomerCouponApi/getCustomerCouponList`,
|
||||||
|
Loading…
Reference in New Issue
Block a user