修改图片返回地址为https 增加商品店铺以及对应的距离显示

This commit is contained in:
cb 2025-09-10 12:13:28 +08:00
parent cb3e5d98a8
commit 1a8283e441
5 changed files with 90 additions and 27 deletions

View File

@ -468,16 +468,40 @@ public class GoodsController extends BaseController {
// 获取服务店铺信息 // 获取服务店铺信息
Shop serviceShop = null; Shop serviceShop = null;
if (result.getDeptGoodsCategoryId() != null) { if (result.getDeptGoodsCategoryId() != null) {
try { try {
// 1. 通过商品的类目ID获取类目信息 // 1. 通过商品的类目ID获取类目信息
DeptGoodsCategory deptGoodsCategory = deptGoodsCategoryService.selectOneByGoodsCategoryId(result.getDeptGoodsCategoryId()); DeptGoodsCategory deptGoodsCategory = deptGoodsCategoryService.selectOneByGoodsCategoryId(result.getDeptGoodsCategoryId());
if (deptGoodsCategory != null && deptGoodsCategory.getServiceCategoryId() != null) { Long serviceCategoryId = null;
logger.debug("商品的服务类目ID: {}", deptGoodsCategory.getServiceCategoryId());
if (deptGoodsCategory != null) {
// 先检查当前类目是否有服务类目ID
if (deptGoodsCategory.getServiceCategoryId() != null) {
serviceCategoryId = deptGoodsCategory.getServiceCategoryId();
logger.debug("当前类目[{}]的服务类目ID: {}", deptGoodsCategory.getGoodsCategoryName(), serviceCategoryId);
} else {
// 如果当前类目没有服务类目ID查找上一级类目
logger.debug("当前类目[{}]未配置服务类目ID查找上一级类目", deptGoodsCategory.getGoodsCategoryName());
if (deptGoodsCategory.getParentCategoryId() != null) {
DeptGoodsCategory parentCategory = deptGoodsCategoryService.selectOneByGoodsCategoryId(deptGoodsCategory.getParentCategoryId());
if (parentCategory != null && parentCategory.getServiceCategoryId() != null) {
serviceCategoryId = parentCategory.getServiceCategoryId();
logger.debug("上一级类目[{}]的服务类目ID: {}", parentCategory.getGoodsCategoryName(), serviceCategoryId);
} else {
logger.debug("上一级类目[{}]也未配置服务类目ID", parentCategory != null ? parentCategory.getGoodsCategoryName() : "null");
}
} else {
logger.debug("当前类目没有父级类目");
}
}
}
if (serviceCategoryId != null) {
// 2. 通过服务类目ID查询所有使用该服务类目的商品 // 2. 通过服务类目ID查询所有使用该服务类目的商品
Goods queryGoods = new Goods(); Goods queryGoods = new Goods();
queryGoods.setDeptGoodsCategoryId(deptGoodsCategory.getServiceCategoryId()); queryGoods.setDeptGoodsCategoryId(serviceCategoryId);
queryGoods.setStatus(0); // 只查询上架的商品 queryGoods.setStatus(0); // 只查询上架的商品
List<Goods> goodsList = goodsService.selectGoodsList(queryGoods); List<Goods> goodsList = goodsService.selectGoodsList(queryGoods);
@ -518,9 +542,11 @@ public class GoodsController extends BaseController {
} }
serviceShop = nearestShop; serviceShop = nearestShop;
} else {
logger.debug("服务类目[{}]下没有找到商品", serviceCategoryId);
} }
} else { } else {
logger.debug("商品类目信息中未配置服务类目ID"); logger.debug("未找到有效的服务类目ID");
} }
} catch (Exception e) { } catch (Exception e) {
logger.warn("获取服务店铺信息失败: {}", e.getMessage()); logger.warn("获取服务店铺信息失败: {}", e.getMessage());
@ -528,30 +554,62 @@ public class GoodsController extends BaseController {
} }
// 设置商品店铺和服务店铺信息 // 设置商品店铺和服务店铺信息
result.setShop(goodsShop); if(result.getType()==1){
serviceShop=goodsShop;
result.setServiceShop(serviceShop);
}else {
result.setShop(goodsShop);
}
// 计算距离逻辑 // 计算距离逻辑
if (LocationUtils.isValidCoordinate(userLatitude, userLongitude) && serviceShop != null) { if (LocationUtils.isValidCoordinate(userLatitude, userLongitude)) {
try { // 计算服务店铺距离
if (LocationUtils.isValidCoordinate(serviceShop.getLatitude(), serviceShop.getLongitude())) { if (serviceShop != null) {
// 计算距离 try {
double distanceInMeters = LocationUtils.getDistanceInMeters( if (LocationUtils.isValidCoordinate(serviceShop.getLatitude(), serviceShop.getLongitude())) {
userLatitude, userLongitude, // 计算距离
serviceShop.getLatitude(), serviceShop.getLongitude() double distanceInMeters = LocationUtils.getDistanceInMeters(
); userLatitude, userLongitude,
serviceShop.getLatitude(), serviceShop.getLongitude()
);
// 格式化距离并设置到商品对象 // 格式化距离并设置到服务店铺对象
serviceShop.setDistance(LocationUtils.formatDistance(distanceInMeters)); serviceShop.setDistance(LocationUtils.formatDistance(distanceInMeters));
logger.debug("商品[{}]距离用户: {}", result.getGoodsName(), result.getDistance()); logger.debug("商品[{}]服务店铺距离用户: {}", result.getGoodsName(), serviceShop.getDistance());
} else { } else {
// 店铺坐标不完整 // 店铺坐标不完整
serviceShop.setDistance(null);
}
} catch (Exception e) {
logger.warn("计算商品[{}]服务店铺距离失败: {}", result.getGoodsName(), e.getMessage());
// 计算异常时设为null
serviceShop.setDistance(null); serviceShop.setDistance(null);
} }
} catch (Exception e) { }
logger.warn("计算商品[{}]距离失败: {}", result.getGoodsName(), e.getMessage());
// 计算异常时设为null // 计算商品店铺距离
serviceShop.setDistance(null); if (goodsShop != null) {
try {
if (LocationUtils.isValidCoordinate(goodsShop.getLatitude(), goodsShop.getLongitude())) {
// 计算距离
double distanceInMeters = LocationUtils.getDistanceInMeters(
userLatitude, userLongitude,
goodsShop.getLatitude(), goodsShop.getLongitude()
);
// 格式化距离并设置到商品店铺对象
goodsShop.setDistance(LocationUtils.formatDistance(distanceInMeters));
logger.debug("商品[{}]商品店铺距离用户: {}", result.getGoodsName(), goodsShop.getDistance());
} else {
// 店铺坐标不完整
goodsShop.setDistance(null);
}
} catch (Exception e) {
logger.warn("计算商品[{}]商品店铺距离失败: {}", result.getGoodsName(), e.getMessage());
// 计算异常时设为null
goodsShop.setDistance(null);
}
} }
} }
result.setServiceShop(serviceShop); result.setServiceShop(serviceShop);

View File

@ -275,6 +275,7 @@ public class OrderController extends BaseController {
orderMaster.setGoodsSpecification(request.getGoodsSpecification()); orderMaster.setGoodsSpecification(request.getGoodsSpecification());
orderMaster.setConsultMode(request.getConsultMode()); orderMaster.setConsultMode(request.getConsultMode());
orderMaster.setRemark(request.getRemark()); orderMaster.setRemark(request.getRemark());
orderMaster.setOrderImages(request.getOrderImages());
orderMaster.setProvinceId(request.getProvinceId()); orderMaster.setProvinceId(request.getProvinceId());
orderMaster.setCityId(request.getCityId()); orderMaster.setCityId(request.getCityId());

View File

@ -839,6 +839,7 @@ public class OrderMasterController extends BaseController {
orderMaster.setPayMode(request.getPayMode()); orderMaster.setPayMode(request.getPayMode());
orderMaster.setGoodsBrand(request.getGoodsBrand()); orderMaster.setGoodsBrand(request.getGoodsBrand());
orderMaster.setGoodsSpecification(request.getGoodsSpecification()); orderMaster.setGoodsSpecification(request.getGoodsSpecification());
orderMaster.setOrderImages(request.getOrderImages());
//在订单表保存地址信息 //在订单表保存地址信息
orderMaster.setProvinceId(request.getProvinceId()); orderMaster.setProvinceId(request.getProvinceId());

View File

@ -32,7 +32,7 @@ public class QiniuUtils {
//解析上传成功的结果 //解析上传成功的结果
DefaultPutRet putRet = new Gson().fromJson(response.bodyString(), DefaultPutRet.class); DefaultPutRet putRet = new Gson().fromJson(response.bodyString(), DefaultPutRet.class);
return "http://gqz.opsoul.com/" + putRet.key; return "https://gqz.opsoul.com/" + putRet.key;
} }
} }

View File

@ -24,6 +24,9 @@ public class SysOrderAssignRequest {
// 图片 // 图片
private String imageUrl; private String imageUrl;
// 下单图片
private String orderImages;
// 商品相关信息 // 商品相关信息
private Long goodsDeptCategoryId; private Long goodsDeptCategoryId;
// 服务地址ID // 服务地址ID