diff --git a/mall-common/src/main/java/com/suisung/mall/common/constant/CommonConstant.java b/mall-common/src/main/java/com/suisung/mall/common/constant/CommonConstant.java index be4ba04b..db946b39 100644 --- a/mall-common/src/main/java/com/suisung/mall/common/constant/CommonConstant.java +++ b/mall-common/src/main/java/com/suisung/mall/common/constant/CommonConstant.java @@ -126,10 +126,5 @@ public class CommonConstant { public static final Integer Order_Booking_State_YY = 2; // 预约下单从当前时间延迟的最小分钟数(单位分钟),不能低于35分钟 - public final static Integer MIN_DELAY_MINUTES_FOR_BOOKING_ORDER = 46; - - // 预约订单创建提前分钟数(用于提前创建顺丰订单) -// public final static Integer MIN_DELAY_MINUTES_FOR_SF_EXPRESS_ORDER = 35; - - + public final static Integer MIN_DELAY_MINUTES_FOR_BOOKING_ORDER = 50; } diff --git a/mall-common/src/main/java/com/suisung/mall/common/feignService/ShopService.java b/mall-common/src/main/java/com/suisung/mall/common/feignService/ShopService.java index fe102c61..b6140c37 100644 --- a/mall-common/src/main/java/com/suisung/mall/common/feignService/ShopService.java +++ b/mall-common/src/main/java/com/suisung/mall/common/feignService/ShopService.java @@ -326,5 +326,16 @@ public interface ShopService { BigDecimal getOrderShippingFee(@RequestParam(name = "order_id") String order_id); + /** + * 获取店铺的内部运费 shopping_fee_inner (远程调用用途) + * + * @param store_id + * @return + */ + @ApiOperation(value = "获取店铺的内部运费 shopping_fee_inner", notes = "获取店铺的内部运费 shopping_fee_inner (远程调用用途)") + @RequestMapping(value = "/admin/shop/shop-store-info/shopping-fee-inner", method = RequestMethod.POST) + Integer storeShoppingFeeInner(@RequestParam(name = "store_id") Integer store_id); + + } diff --git a/mall-pay/src/main/java/com/suisung/mall/pay/service/AccountBaseConfigService.java b/mall-pay/src/main/java/com/suisung/mall/pay/service/AccountBaseConfigService.java index 7236c9f7..2521325a 100644 --- a/mall-pay/src/main/java/com/suisung/mall/pay/service/AccountBaseConfigService.java +++ b/mall-pay/src/main/java/com/suisung/mall/pay/service/AccountBaseConfigService.java @@ -48,10 +48,11 @@ public interface AccountBaseConfigService extends IBaseService 0 ? fee : 0; + } + + /** * 交易模式 2直接交易:商家直接收款; 1担保交易:平台收款,平台和商家结算。 */ diff --git a/mall-pay/src/main/java/com/suisung/mall/pay/service/impl/LakalaPayServiceImpl.java b/mall-pay/src/main/java/com/suisung/mall/pay/service/impl/LakalaPayServiceImpl.java index 14cace25..ef3c9dde 100644 --- a/mall-pay/src/main/java/com/suisung/mall/pay/service/impl/LakalaPayServiceImpl.java +++ b/mall-pay/src/main/java/com/suisung/mall/pay/service/impl/LakalaPayServiceImpl.java @@ -251,8 +251,8 @@ public class LakalaPayServiceImpl implements LakalaPayService { } // 平台最低配送费,单位(分) - Integer innerMinDeliverFee = accountBaseConfigService.getInnerMinDeliveryFee(); - reqData.set("shopping_fee_inner", innerMinDeliverFee); // 平台内部最低配送费,单位(分) + Integer innerMinDeliverFee = accountBaseConfigService.getInnerMinDeliveryFee(Convert.toInt(storeId)); + reqData.set("shopping_fee_inner", innerMinDeliverFee); // 重要:平台内部最低配送费,单位(分) log.info("[拉卡拉预下单] 支付成功,准备保存订单记录, orderId={}", orderId); // 新增一个拉卡拉订单记录 shop_order_lkl 表 @@ -280,7 +280,7 @@ public class LakalaPayServiceImpl implements LakalaPayService { /** - * 拉卡拉合单预下单(主要有运费的订单使用合单) + * 【暂时废弃】拉卡拉合单预下单(主要有运费的订单使用合单) * 参考:https://o.lakala.com/#/home/document/detail?id=208 * * @param merchantNo 商户号(商城商家) @@ -299,6 +299,7 @@ public class LakalaPayServiceImpl implements LakalaPayService { * @param remark 备注 * @return 拉卡拉合单预下单响应结果 **/ + @Deprecated @Override public JSONObject lklTransMergePreOrder(String merchantNo, String termNo, String agentMerchantNo, String agentTermNo, String xcxAppId, String openId, String storeId, String orderId, String subject, String totalAmount, String agentAmount, String notifyURL, String requestIP, String remark) { log.info("[拉卡拉合单预下单] 开始处理请求, merchantNo={}, termNo={}, agentMerchantNo={}, agentTermNo={}, orderId={}", @@ -558,7 +559,7 @@ public class LakalaPayServiceImpl implements LakalaPayService { log.warn("[拉卡拉退款] 退款金额不合法: refundAmount={}", refundAmount); return Pair.of(false, I18nUtil._("退款金额不合法!")); } - + if (StrUtil.hasBlank(lklMerchantNo, lklTermNo)) { // 4. 获取店铺的拉卡拉商户号和终端号 ShopStoreBase shopStoreBase = shopService.getLklMerchantNoAndTermNo(storeId); diff --git a/mall-pay/src/main/java/com/suisung/mall/pay/service/impl/PayUserPayServiceImpl.java b/mall-pay/src/main/java/com/suisung/mall/pay/service/impl/PayUserPayServiceImpl.java index c45bc05d..fa3472dc 100644 --- a/mall-pay/src/main/java/com/suisung/mall/pay/service/impl/PayUserPayServiceImpl.java +++ b/mall-pay/src/main/java/com/suisung/mall/pay/service/impl/PayUserPayServiceImpl.java @@ -671,15 +671,14 @@ public class PayUserPayServiceImpl extends BaseServiceImpl 0 ? fee : 0; } diff --git a/mall-shop/src/main/java/com/suisung/mall/shop/order/service/impl/ShopOrderBaseServiceImpl.java b/mall-shop/src/main/java/com/suisung/mall/shop/order/service/impl/ShopOrderBaseServiceImpl.java index 765b6420..b6d9d768 100644 --- a/mall-shop/src/main/java/com/suisung/mall/shop/order/service/impl/ShopOrderBaseServiceImpl.java +++ b/mall-shop/src/main/java/com/suisung/mall/shop/order/service/impl/ShopOrderBaseServiceImpl.java @@ -7763,7 +7763,7 @@ public class ShopOrderBaseServiceImpl extends BaseServiceImpl { */ List getStoreKeeperMobile(Integer storeId); + /** + * 获取店铺的内部运费 shopping_fee_inner + *

+ * 店铺内部运费,单位(分)0-使用平台的内部运费;>0 使用店铺的内部运费 + * + * @param storeId + * @return + */ + Integer getStoreShippingFeeInner(Integer storeId); } diff --git a/mall-shop/src/main/java/com/suisung/mall/shop/store/service/impl/ShopStoreInfoServiceImpl.java b/mall-shop/src/main/java/com/suisung/mall/shop/store/service/impl/ShopStoreInfoServiceImpl.java index 7cc18e27..5c9631ae 100644 --- a/mall-shop/src/main/java/com/suisung/mall/shop/store/service/impl/ShopStoreInfoServiceImpl.java +++ b/mall-shop/src/main/java/com/suisung/mall/shop/store/service/impl/ShopStoreInfoServiceImpl.java @@ -8,19 +8,18 @@ import com.suisung.mall.common.feignService.AccountService; import com.suisung.mall.common.modules.account.AccountUserBase; import com.suisung.mall.common.modules.store.ShopStoreAnalytics; import com.suisung.mall.common.modules.store.ShopStoreInfo; +import com.suisung.mall.common.utils.CheckUtil; import com.suisung.mall.core.web.service.impl.BaseServiceImpl; import com.suisung.mall.shop.store.mapper.ShopStoreInfoMapper; import com.suisung.mall.shop.store.service.ShopStoreAnalyticsService; import com.suisung.mall.shop.store.service.ShopStoreBaseService; import com.suisung.mall.shop.store.service.ShopStoreInfoService; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Optional; +import java.util.*; import java.util.stream.Collectors; @@ -32,6 +31,7 @@ import java.util.stream.Collectors; * @author Xinze * @since 2021-06-16 */ +@Slf4j @Service public class ShopStoreInfoServiceImpl extends BaseServiceImpl implements ShopStoreInfoService { @@ -101,15 +101,64 @@ public class ShopStoreInfoServiceImpl extends BaseServiceImpl getStoreKeeperMobile(Integer storeId) { + // 参数校验 + if (storeId == null) { + return null; + } + QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("store_id", storeId).select("store_tel"); - return null; + List list = find(queryWrapper); + + // 空值检查优化 + if (list == null || list.isEmpty()) { + return null; + } + + // 使用方法引用简化代码 + return list.stream() + .map(ShopStoreInfo::getStore_tel) + .filter(Objects::nonNull) // 过滤掉null值 + .collect(Collectors.toList()); } + /** + * 获取店铺的内部运费 shopping_fee_inner + *

+ * 店铺内部运费,单位(分)0-使用平台的内部运费;>0 使用店铺的内部运费 + * + * @param storeId 店铺ID + * @return 内部运费,单位分 + */ + @Override + public Integer getStoreShippingFeeInner(Integer storeId) { + // 参数校验 + if (storeId == null) { + return 0; + } + + try { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("store_id", storeId).select("shopping_fee_inner"); + ShopStoreInfo shopStoreInfo = getOne(queryWrapper); + + if (shopStoreInfo == null || CheckUtil.isEmpty(shopStoreInfo.getShopping_fee_inner())) { + return 0; + } + + return shopStoreInfo.getShopping_fee_inner(); + } catch (Exception e) { + // 记录日志或打印错误信息 + log.error("获取店铺内部运费失败,storeId: {}", storeId, e); + // 返回默认值,避免影响主流程 + return 0; + } + } + } diff --git a/mall-shop/src/main/java/com/suisung/mall/shop/user/service/impl/ShopUserCartServiceImpl.java b/mall-shop/src/main/java/com/suisung/mall/shop/user/service/impl/ShopUserCartServiceImpl.java index a0061a14..5514fbb7 100644 --- a/mall-shop/src/main/java/com/suisung/mall/shop/user/service/impl/ShopUserCartServiceImpl.java +++ b/mall-shop/src/main/java/com/suisung/mall/shop/user/service/impl/ShopUserCartServiceImpl.java @@ -2670,7 +2670,7 @@ public class ShopUserCartServiceImpl extends BaseServiceImpl