diff --git a/yshop-drink-boot3/yshop-module-mall/yshop-module-order-api/src/main/java/co/yixiang/yshop/module/order/enums/ErrorCodeConstants.java b/yshop-drink-boot3/yshop-module-mall/yshop-module-order-api/src/main/java/co/yixiang/yshop/module/order/enums/ErrorCodeConstants.java index 6433368..3258734 100644 --- a/yshop-drink-boot3/yshop-module-mall/yshop-module-order-api/src/main/java/co/yixiang/yshop/module/order/enums/ErrorCodeConstants.java +++ b/yshop-drink-boot3/yshop-module-mall/yshop-module-order-api/src/main/java/co/yixiang/yshop/module/order/enums/ErrorCodeConstants.java @@ -37,6 +37,7 @@ public interface ErrorCodeConstants { ErrorCode STORE_ORDER_DESK_NOT = new ErrorCode(1008007023, "当前桌号不存在"); ErrorCode STORE_ORDER_OUT_OF_DELIVERY_RANGE = new ErrorCode(1008007024, "当前收货地址不在配送范围内"); + ErrorCode STORE_ORDER_MIN_PRICE_NOT_MET = new ErrorCode(1008007025, "未达到外卖起送价"); diff --git a/yshop-drink-boot3/yshop-module-mall/yshop-module-order-biz/src/main/java/co/yixiang/yshop/module/order/service/storeorder/AppStoreOrderServiceImpl.java b/yshop-drink-boot3/yshop-module-mall/yshop-module-order-biz/src/main/java/co/yixiang/yshop/module/order/service/storeorder/AppStoreOrderServiceImpl.java index 0c02af3..babda71 100644 --- a/yshop-drink-boot3/yshop-module-mall/yshop-module-order-biz/src/main/java/co/yixiang/yshop/module/order/service/storeorder/AppStoreOrderServiceImpl.java +++ b/yshop-drink-boot3/yshop-module-mall/yshop-module-order-biz/src/main/java/co/yixiang/yshop/module/order/service/storeorder/AppStoreOrderServiceImpl.java @@ -229,6 +229,12 @@ public class AppStoreOrderServiceImpl extends ServiceImpl { } // 起送价钱 - if (store.value.min_price > total.value) { + if (store.value.minPrice > total.value) { uToast.value.show({ - message: '本店外卖起送价为¥' + store.value.min_price, + message: '本店外卖起送价为¥' + store.value.minPrice, type: 'error' }); return diff --git a/yshop-drink-vue3/src/views/mall/store/shop/ShopForm.vue b/yshop-drink-vue3/src/views/mall/store/shop/ShopForm.vue index 4ad0370..271a30f 100644 --- a/yshop-drink-vue3/src/views/mall/store/shop/ShopForm.vue +++ b/yshop-drink-vue3/src/views/mall/store/shop/ShopForm.vue @@ -113,7 +113,7 @@ const dialogVisible = ref(false) // 弹窗的是否展示 const dialogTitle = ref('') // 弹窗的标题 const formLoading = ref(false) // 表单的加载中:1)修改时的数据加载;2)提交的按钮禁用 const formType = ref('') // 表单的类型:create - 新增;update - 修改 -const formData = ref({ +const formData = ref({ id: undefined, name: undefined, mobile: undefined, @@ -193,7 +193,21 @@ const submitForm = async () => { // 提交请求 formLoading.value = true try { - const data = formData.value as unknown as ShopApi.ShopVO + const isBlank = (value) => value === undefined || value === null || value === '' + const deliveryRules = (formData.value.deliveryRules || []).filter((rule) => { + return !isBlank(rule.minKm) || !isBlank(rule.maxKm) || !isBlank(rule.price) + }) + for (const rule of deliveryRules) { + if (isBlank(rule.minKm) || isBlank(rule.maxKm) || isBlank(rule.price)) { + message.error('配送规则请填写完整') + return + } + if (Number(rule.maxKm) <= Number(rule.minKm)) { + message.error('配送规则最大km必须大于最小km') + return + } + } + const data = { ...formData.value, deliveryRules } as ShopApi.ShopVO if (formType.value === 'create') { await ShopApi.createShop(data) message.success(t('common.createSuccess'))