修改图片返回地址为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;
if (result.getDeptGoodsCategoryId() != null) {
try {
// 1. 通过商品的类目ID获取类目信息
DeptGoodsCategory deptGoodsCategory = deptGoodsCategoryService.selectOneByGoodsCategoryId(result.getDeptGoodsCategoryId());
if (deptGoodsCategory != null && deptGoodsCategory.getServiceCategoryId() != null) {
logger.debug("商品的服务类目ID: {}", deptGoodsCategory.getServiceCategoryId());
Long serviceCategoryId = null;
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查询所有使用该服务类目的商品
Goods queryGoods = new Goods();
queryGoods.setDeptGoodsCategoryId(deptGoodsCategory.getServiceCategoryId());
queryGoods.setDeptGoodsCategoryId(serviceCategoryId);
queryGoods.setStatus(0); // 只查询上架的商品
List<Goods> goodsList = goodsService.selectGoodsList(queryGoods);
@ -518,9 +542,11 @@ public class GoodsController extends BaseController {
}
serviceShop = nearestShop;
} else {
logger.debug("服务类目[{}]下没有找到商品", serviceCategoryId);
}
} else {
logger.debug("商品类目信息中未配置服务类目ID");
logger.debug("未找到有效的服务类目ID");
}
} catch (Exception e) {
logger.warn("获取服务店铺信息失败: {}", e.getMessage());
@ -528,10 +554,16 @@ public class GoodsController extends BaseController {
}
// 设置商品店铺和服务店铺信息
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)) {
// 计算服务店铺距离
if (serviceShop != null) {
try {
if (LocationUtils.isValidCoordinate(serviceShop.getLatitude(), serviceShop.getLongitude())) {
// 计算距离
@ -540,20 +572,46 @@ public class GoodsController extends BaseController {
serviceShop.getLatitude(), serviceShop.getLongitude()
);
// 格式化距离并设置到商品对象
// 格式化距离并设置到服务店铺对象
serviceShop.setDistance(LocationUtils.formatDistance(distanceInMeters));
logger.debug("商品[{}]距离用户: {}", result.getGoodsName(), result.getDistance());
logger.debug("商品[{}]服务店铺距离用户: {}", result.getGoodsName(), serviceShop.getDistance());
} else {
// 店铺坐标不完整
serviceShop.setDistance(null);
}
} catch (Exception e) {
logger.warn("计算商品[{}]距离失败: {}", result.getGoodsName(), e.getMessage());
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);
// 补全商品类目及父级类目信息

View File

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

View File

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

View File

@ -32,7 +32,7 @@ public class QiniuUtils {
//解析上传成功的结果
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 orderImages;
// 商品相关信息
private Long goodsDeptCategoryId;
// 服务地址ID