店铺信息获取bug修复

This commit is contained in:
Jack 2026-01-06 16:42:35 +08:00
parent 59590ef2da
commit b7963b1972
3 changed files with 44 additions and 29 deletions

View File

@ -271,10 +271,14 @@ public class ShopStoreBaseServiceImpl extends BaseServiceImpl<ShopStoreBaseMappe
Integer store_category_id = Convert.toInt(s.get("store_category_id"));
Integer store_grade_id = Convert.toInt(s.get("store_grade_id"));
Optional<ShopStoreInfo> shopStoreInfos = store_info_rows.stream().filter(r -> r.equals(ObjectUtil.equal(r.getStore_id(), store_id))).findFirst();
Optional<ShopStoreInfo> shopStoreInfos = store_info_rows.stream().filter(r -> ObjectUtil.equal(r.getStore_id(), store_id)).findFirst();
if (shopStoreInfos.isPresent()) {
ShopStoreInfo shopStoreInfo = shopStoreInfos.orElseGet(ShopStoreInfo::new);
Map map = Convert.toMap(Object.class, Object.class, shopStoreInfo);
// 店铺是否自配送
// s.put("is_delivery_self", s.getOrDefault("is_delivery_self", CommonConstant.Disable2));
// // 店铺内部配送费
// s.put("shopping_fee_inner", s.getOrDefault("shopping_fee_inner", 0));
s.putAll(map);
}
@ -285,9 +289,6 @@ public class ShopStoreBaseServiceImpl extends BaseServiceImpl<ShopStoreBaseMappe
Optional<ShopBaseStoreGrade> baseStoreGrades = base_store_grade_rows.stream().filter(h -> ObjectUtil.equal(h.getStore_grade_id(), store_grade_id)).findFirst();
ShopBaseStoreGrade grade = baseStoreGrades.orElseGet(ShopBaseStoreGrade::new);
s.put("store_grade_name", grade.getStore_grade_name());
// 店铺是否自配送
s.put("is_delivery_self", s.getOrDefault("is_delivery_self", CommonConstant.Disable2));
});
}
@ -2505,7 +2506,8 @@ public class ShopStoreBaseServiceImpl extends BaseServiceImpl<ShopStoreBaseMappe
// 店铺内部配送费
info.setShopping_fee_inner(Convert.toInt(getParameter("shopping_fee_inner", 0)));
info.setIs_delivery_self(Convert.toInt(getParameter("is_delivery_self", 0)));
info.setIs_delivery_self(Convert.toInt(getParameter("is_delivery_self", 2)));
// log.info("店铺内部配送费和是否自配送: {}{}", info.getShopping_fee_inner(), info.getIs_delivery_self());
// 百度坐标系BD09经纬度 转出 火星坐标系GCJ02经纬度 因为数据库保存的经纬度统一是GCJ02经纬度所以需要转换
base = bd09ToGcj02Gps(base);

View File

@ -2320,7 +2320,7 @@ public class ShopUserCartServiceImpl extends BaseServiceImpl<ShopUserCartMapper,
// 店铺的打包费
// logger.info("开始确认店铺打包费");
BigDecimal packingFee = getStorePackingFee(storeId, isVirtualOrder, Convert.toInt(storeInfo.get("delivery_type_id"))); // 商家打包费
BigDecimal packingFee = getStorePackingFee(storeId, isVirtualOrder); // 商家打包费
storeInfo.put("packing_fee", packingFee);
storeInfo.put("productMoney", 0);
@ -3143,38 +3143,34 @@ public class ShopUserCartServiceImpl extends BaseServiceImpl<ShopUserCartMapper,
* 根据条件获取店铺的打包费
*
* @param storeId 店铺ID
* @param isVirtualOrder 是否为同城配送
* @param deliveryTypeId
* @param isVirtualOrder 是否为虚拟商品
* @return 打包费金额
*/
private BigDecimal getStorePackingFee(Integer storeId, Boolean isVirtualOrder, Integer deliveryTypeId) {
// logger.info("确认店铺打包费参数storeId{} isVirtualOrder{}", storeId, isVirtualOrder);
// 获取店铺基础打包费
BigDecimal packingFee = shopStoreBaseService.getStorePackingFee(storeId);
// logger.info("店铺ID为{},同城配送,收取打包费{}元", storeId, packingFee);
// 如果打包费为空或小于等于0直接返回0
if (CheckUtil.isEmpty(packingFee)) {
private BigDecimal getStorePackingFee(Integer storeId, Boolean isVirtualOrder) {
// 参数校验
if (storeId == null) {
logger.warn("获取店铺打包费失败店铺ID为空");
return BigDecimal.ZERO;
}
// deliveryTypeId = deliveryTypeId == null ? StateCode.DELIVERY_TYPE_SAME_CITY : deliveryTypeId;
// 获取店铺基础打包费
BigDecimal packingFee = shopStoreBaseService.getStorePackingFee(storeId);
// 只有同城配送才收取打包费
// if (Boolean.FALSE.equals(isVirtualOrder)
// && deliveryTypeId != null && (deliveryTypeId.intValue() == StateCode.DELIVERY_TYPE_SAME_CITY)
// || deliveryTypeId.intValue() == StateCode.DELIVERY_TYPE_IN_STORE_SERVICE) {
// logger.debug("店铺ID同城配送符合收取打包费{}元", storeId, packingFee);
// return packingFee;
// }
if (Boolean.FALSE.equals(isVirtualOrder)) {
logger.debug("店铺ID同城配送符合收取打包费{}元", storeId, packingFee);
return packingFee;
// 如果打包费为空或小于等于0直接返回0
if (packingFee == null || packingFee.compareTo(BigDecimal.ZERO) <= 0) {
logger.debug("店铺ID为{},打包费为{}元,不收取打包费", storeId, packingFee);
return BigDecimal.ZERO;
}
// 虚拟商品不收取打包费
return BigDecimal.ZERO;
if (Boolean.TRUE.equals(isVirtualOrder)) {
logger.debug("店铺ID为{},虚拟商品订单,不收取打包费", storeId);
return BigDecimal.ZERO;
}
logger.debug("店铺ID为{},实体商品订单,收取打包费{}元", storeId, packingFee);
return packingFee;
}
}

View File

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.suisung.mall.shop.store.mapper.ShopStoreInfoMapper">
<!-- 通用查询结果列 -->
<sql id="Base_Column_List">
*
</sql>
<select id="getStoreInfoById" resultType="Map">
SELECT
<include refid="Base_Column_List"/>
FROM
shop_store_info
WHERE
store_id = #{store_id}
</select>
</mapper>