From 7643b5d6d8e5b9cbca4230fa47b41d09c9cbb9e1 Mon Sep 17 00:00:00 2001 From: cb <275647614@qq.com> Date: Thu, 3 Jul 2025 15:06:41 +0800 Subject: [PATCH] no message --- .../web/controller/goods/GoodsController.java | 33 +++++++++++++++++++ .../resources/templates/order/master.html | 19 +++++++++-- 2 files changed, 49 insertions(+), 3 deletions(-) diff --git a/ghy-admin/src/main/java/com/ghy/web/controller/goods/GoodsController.java b/ghy-admin/src/main/java/com/ghy/web/controller/goods/GoodsController.java index 7c4f053c..1fe3d2eb 100644 --- a/ghy-admin/src/main/java/com/ghy/web/controller/goods/GoodsController.java +++ b/ghy-admin/src/main/java/com/ghy/web/controller/goods/GoodsController.java @@ -381,6 +381,39 @@ public class GoodsController extends BaseController { Shop shop=shopService.getShop(result.getShopId()); result.setShop(shop); + + // 获取用户当前位置 + Double userLatitude = goods.getLatitude(); + Double userLongitude = goods.getLongitude(); + + // 计算距离逻辑 + if (LocationUtils.isValidCoordinate(userLatitude, userLongitude) && shop != null) { + try { + if (LocationUtils.isValidCoordinate(shop.getLatitude(), shop.getLongitude())) { + // 计算距离(米) + double distanceInMeters = LocationUtils.getDistanceInMeters( + userLatitude, userLongitude, + shop.getLatitude(), shop.getLongitude() + ); + + // 格式化距离并设置到商品对象 + result.setDistance(LocationUtils.formatDistance(distanceInMeters)); + + logger.debug("商品[{}]距离用户: {}", result.getGoodsName(), result.getDistance()); + } else { + // 店铺坐标不完整 + result.setDistance(null); + } + } catch (Exception e) { + logger.warn("计算商品[{}]距离失败: {}", result.getGoodsName(), e.getMessage()); + // 计算异常时设为null + result.setDistance(null); + } + } else { + // 用户未提供位置或店铺信息不存在 + result.setDistance(null); + } + // 补全商品类目及父级类目信息 GoodsCategory goodsCategory = goodsCategoryService.selectById(result.getDeptGoodsCategoryId()); result.setDeptGoodsCategoryName(goodsCategory.getGoodsCategoryName()); diff --git a/ghy-admin/src/main/resources/templates/order/master.html b/ghy-admin/src/main/resources/templates/order/master.html index 24782d62..19dd1287 100644 --- a/ghy-admin/src/main/resources/templates/order/master.html +++ b/ghy-admin/src/main/resources/templates/order/master.html @@ -955,12 +955,25 @@ }); } - - - // 设置定时器,每隔一分钟执行一次 fetchData 函数 setInterval(fetchData, 60000); + // 图片预览功能 + function showImagePreview(imageUrl) { + if (!imageUrl || imageUrl.trim() === '') { + $.modal.msgError("图片地址不能为空"); + return; + } + + layer.open({ + type: 1, + title: '图片预览', + shadeClose: true, + shade: 0.8, + area: ['auto', 'auto'], + content: '