From 22e28f2e81e3f5672479771201ed00840c9f9355 Mon Sep 17 00:00:00 2001
From: Jack <46790855@qq.com>
Date: Fri, 4 Jul 2025 22:44:01 +0800
Subject: [PATCH] =?UTF-8?q?=E5=BA=97=E9=93=BA=E5=88=9D=E5=A7=8B=E5=8C=96?=
=?UTF-8?q?=EF=BC=8C=E5=8A=A0=E4=B8=8A=E5=90=8C=E5=9F=8E=E9=85=8D=E9=80=81?=
=?UTF-8?q?=E9=BB=98=E8=AE=A4=E8=AE=BE=E7=BD=AE?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../ShopStoreSameCityTransportBaseDTO.java | 4 +-
mall-pay/pom.xml | 4 +-
.../controller/mobile/LakalaController.java | 6 +
...ShopStoreSameCityTransportBaseService.java | 8 +
.../impl/ShopStoreBaseServiceImpl.java | 13 +-
...StoreSameCityTransportBaseServiceImpl.java | 180 ++++++++++++------
...ShopStoreSameCityTransportServiceImpl.java | 68 ++++---
7 files changed, 187 insertions(+), 96 deletions(-)
diff --git a/mall-common/src/main/java/com/suisung/mall/common/pojo/dto/ShopStoreSameCityTransportBaseDTO.java b/mall-common/src/main/java/com/suisung/mall/common/pojo/dto/ShopStoreSameCityTransportBaseDTO.java
index d73cc613..5be54a60 100644
--- a/mall-common/src/main/java/com/suisung/mall/common/pojo/dto/ShopStoreSameCityTransportBaseDTO.java
+++ b/mall-common/src/main/java/com/suisung/mall/common/pojo/dto/ShopStoreSameCityTransportBaseDTO.java
@@ -41,11 +41,11 @@ public class ShopStoreSameCityTransportBaseDTO implements Serializable {
transport.setUpdated_at(this.transportBase.getUpdated_at());
transport.setStore_id(this.transportBase.getStore_id());
- if (transport.getCreated_by() == null) {
+ if (transport.getCreated_by() == null && transport.getUpdated_by() != null) {
transport.setCreated_by(transport.getUpdated_by());
}
- if (transport.getCreated_at() == null) {
+ if (transport.getCreated_at() == null && transport.getUpdated_at() != null) {
transport.setCreated_at(transport.getUpdated_at());
}
}
diff --git a/mall-pay/pom.xml b/mall-pay/pom.xml
index 44ace36e..c363461c 100644
--- a/mall-pay/pom.xml
+++ b/mall-pay/pom.xml
@@ -74,8 +74,8 @@
com.lkl.laop.sdk
lkl-laop-java-sdk
1.0.7
- ${project.basedir}/src/main/resources/lib/lkl-java-sdk-1.0.7.jar
- system
+
+
diff --git a/mall-shop/src/main/java/com/suisung/mall/shop/lakala/controller/mobile/LakalaController.java b/mall-shop/src/main/java/com/suisung/mall/shop/lakala/controller/mobile/LakalaController.java
index 4df3b82c..e1e2a1af 100644
--- a/mall-shop/src/main/java/com/suisung/mall/shop/lakala/controller/mobile/LakalaController.java
+++ b/mall-shop/src/main/java/com/suisung/mall/shop/lakala/controller/mobile/LakalaController.java
@@ -14,6 +14,7 @@ import com.suisung.mall.common.service.impl.BaseControllerImpl;
import com.suisung.mall.shop.lakala.service.LakalaApiService;
import com.suisung.mall.shop.library.service.LibraryProductService;
import com.suisung.mall.shop.order.service.ShopOrderReturnService;
+import com.suisung.mall.shop.store.service.ShopStoreSameCityTransportBaseService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.http.HttpStatus;
@@ -40,6 +41,9 @@ public class LakalaController extends BaseControllerImpl {
@Resource
private LibraryProductService libraryProductService;
+ @Resource
+ private ShopStoreSameCityTransportBaseService storeSameCityTransportBaseService;
+
@ApiOperation(value = "测试案例", notes = "测试案例")
@RequestMapping(value = "/testcase", method = RequestMethod.POST)
public Object testcase(@RequestBody JSONObject paramsJSON) {
@@ -47,6 +51,8 @@ public class LakalaController extends BaseControllerImpl {
// return lakalaPayService.applyLedgerMerEc(paramsJSON.getStr("mchMobile"));
// return lakalaPayService.LedgerMerEcDownload(975790666910121984L);
+// return storeSameCityTransportBaseService.initDefaultSameCityTransport(58);
+
// return geTuiPushService.pushMessageToSingleByCid("f9da7081a7951cff6d7f1d4e2d2f270b", "", "从 shop 发消息", "none", "");
// return "";
diff --git a/mall-shop/src/main/java/com/suisung/mall/shop/store/service/ShopStoreSameCityTransportBaseService.java b/mall-shop/src/main/java/com/suisung/mall/shop/store/service/ShopStoreSameCityTransportBaseService.java
index ef37d674..bbd76846 100644
--- a/mall-shop/src/main/java/com/suisung/mall/shop/store/service/ShopStoreSameCityTransportBaseService.java
+++ b/mall-shop/src/main/java/com/suisung/mall/shop/store/service/ShopStoreSameCityTransportBaseService.java
@@ -73,6 +73,14 @@ public interface ShopStoreSameCityTransportBaseService {
Pair saveOrUpdateShopStoreSameCityTransportBase(ShopStoreSameCityTransportBase shopStoreSameCityTransportBase);
+ /**
+ * 初始化默认的同城配送基础运费信息
+ *
+ * @param storeId
+ * @return
+ */
+ Pair initDefaultSameCityTransport(Integer storeId);
+
/**
* 计算同城订单配送费
*
diff --git a/mall-shop/src/main/java/com/suisung/mall/shop/store/service/impl/ShopStoreBaseServiceImpl.java b/mall-shop/src/main/java/com/suisung/mall/shop/store/service/impl/ShopStoreBaseServiceImpl.java
index 6607a49d..5203c419 100644
--- a/mall-shop/src/main/java/com/suisung/mall/shop/store/service/impl/ShopStoreBaseServiceImpl.java
+++ b/mall-shop/src/main/java/com/suisung/mall/shop/store/service/impl/ShopStoreBaseServiceImpl.java
@@ -47,7 +47,10 @@ import com.suisung.mall.common.pojo.dto.StandardAddressDTO;
import com.suisung.mall.common.service.impl.BaiduMapServiceImpl;
import com.suisung.mall.common.utils.*;
import com.suisung.mall.core.web.service.impl.BaseServiceImpl;
-import com.suisung.mall.shop.base.service.*;
+import com.suisung.mall.shop.base.service.AccountBaseConfigService;
+import com.suisung.mall.shop.base.service.ShopBaseProductTagService;
+import com.suisung.mall.shop.base.service.ShopBaseStoreCategoryService;
+import com.suisung.mall.shop.base.service.ShopBaseStoreGradeService;
import com.suisung.mall.shop.config.BaiduUtil;
import com.suisung.mall.shop.distribution.service.ShopDistributionPlantformUserService;
import com.suisung.mall.shop.entity.LocationBean;
@@ -74,6 +77,7 @@ import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
+import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.Serializable;
@@ -166,8 +170,8 @@ public class ShopStoreBaseServiceImpl extends BaseServiceImpl saveOrUpdateShopStoreSameCityTransportBase(ShopStoreSameCityTransportBase transportBase) {
- if (transportBase == null || transportBase.getStore_id() == null || transportBase.getStore_id() <= 0) {
- return Pair.of(0L, "缺少店铺Id必要参数!");
- }
-
- if (transportBase.getDistance_base() == null || transportBase.getDistance_base() < 0) {
- transportBase.setDistance_base(0);
-// return Pair.of(0L, "请输入距离!");
- }
-
- if (transportBase.getWeight_base() == null || transportBase.getWeight_base() < 0) {
-// return Pair.of(0L, "请输入重量!");
- transportBase.setWeight_base(0);
- }
-
- if (transportBase.getDelivery_base_fee() == null || BigDecimal.ZERO.compareTo(transportBase.getDelivery_base_fee()) > 0) {
- // return Pair.of(0L, "请输入配送运费!");
- transportBase.setDelivery_base_fee(BigDecimal.ZERO);
- }
-
- if (transportBase.getDistance_increase_km() == null || transportBase.getDistance_increase_km() < 0) {
- transportBase.setDistance_increase_km(0);
- }
- if (transportBase.getDistance_increase_fee() == null || BigDecimal.ZERO.compareTo(transportBase.getDistance_increase_fee()) > 0) {
- transportBase.setDistance_increase_fee(BigDecimal.ZERO);
- }
-
- if (transportBase.getWeight_increase_kg() == null || transportBase.getWeight_increase_kg() < 0) {
- transportBase.setWeight_increase_kg(0);
- }
- if (transportBase.getWeight_increase_fee() == null || BigDecimal.ZERO.compareTo(transportBase.getWeight_increase_fee()) > 0) {
- transportBase.setWeight_increase_fee(BigDecimal.ZERO);
- }
-
- QueryWrapper queryWrapper = new QueryWrapper<>();
- queryWrapper.eq("store_id", transportBase.getStore_id());
- ShopStoreSameCityTransportBase transportBaseExist = getOne(queryWrapper);
- if (transportBaseExist == null) {
- // 新增记录
- transportBase.setCreated_by(transportBase.getUpdated_by());
- if (save(transportBase)) {
- // 应返回自增id
- transportBaseExist = getOne(queryWrapper);
- transportBase.setTransport_base_id(transportBaseExist.getTransport_base_id());
- return Pair.of(transportBaseExist.getTransport_base_id(), "添加成功!");
- } else {
- return Pair.of(0L, "添加失败!");
+ try {
+ if (transportBase == null || transportBase.getStore_id() == null || transportBase.getStore_id() <= 0) {
+ return Pair.of(0L, "缺少店铺Id必要参数!");
}
- }
- // 记录已经存在就直接更新
- Long transportBaseId = transportBase.getTransport_base_id();
- if (transportBaseId == null || transportBase.getTransport_base_id() <= 0) {
- transportBase.setTransport_base_id(transportBaseExist.getTransport_base_id());
- }
+ // 设置默认值
+ if (transportBase.getDistance_base() == null || transportBase.getDistance_base() < 0) {
+ transportBase.setDistance_base(0);
+ }
+ if (transportBase.getWeight_base() == null || transportBase.getWeight_base() < 0) {
+ transportBase.setWeight_base(0);
+ }
+ if (transportBase.getDelivery_base_fee() == null || transportBase.getDelivery_base_fee().compareTo(BigDecimal.ZERO) < 0) {
+ transportBase.setDelivery_base_fee(BigDecimal.ZERO);
+ }
+ if (transportBase.getDistance_increase_km() == null || transportBase.getDistance_increase_km() < 0) {
+ transportBase.setDistance_increase_km(0);
+ }
+ if (transportBase.getDistance_increase_fee() == null || transportBase.getDistance_increase_fee().compareTo(BigDecimal.ZERO) < 0) {
+ transportBase.setDistance_increase_fee(BigDecimal.ZERO);
+ }
+ if (transportBase.getWeight_increase_kg() == null || transportBase.getWeight_increase_kg() < 0) {
+ transportBase.setWeight_increase_kg(0);
+ }
+ if (transportBase.getWeight_increase_fee() == null || transportBase.getWeight_increase_fee().compareTo(BigDecimal.ZERO) < 0) {
+ transportBase.setWeight_increase_fee(BigDecimal.ZERO);
+ }
- // 更新记录
- if (updateById(transportBase)) {
- return Pair.of(transportBase.getTransport_base_id(), "更新成功!");
- } else {
- return Pair.of(0L, "更新失败!");
+ QueryWrapper queryWrapper = new QueryWrapper<>();
+ queryWrapper.eq("store_id", transportBase.getStore_id());
+ ShopStoreSameCityTransportBase exist = getOne(queryWrapper);
+
+ if (exist == null) {
+ // 新增
+ transportBase.setCreated_by(transportBase.getUpdated_by());
+ if (save(transportBase)) {
+ return Pair.of(transportBase.getTransport_base_id(), "添加成功!");
+ } else {
+ return Pair.of(0L, "添加失败!");
+ }
+ } else {
+ // 更新
+ transportBase.setTransport_base_id(exist.getTransport_base_id());
+ if (updateById(transportBase)) {
+ return Pair.of(transportBase.getTransport_base_id(), "更新成功!");
+ } else {
+ return Pair.of(0L, "更新失败!");
+ }
+ }
+ } catch (Exception e) {
+ log.error("保存或更新同城配送基础信息异常: ", e);
+ return Pair.of(0L, "系统内部错误");
+ }
+ }
+
+
+ /**
+ * 初始化默认的同城配送基础运费信息
+ *
+ * @param storeId
+ * @return
+ */
+ @Override
+ public Pair initDefaultSameCityTransport(Integer storeId) {
+ try {
+ // 校验店铺ID
+ if (storeId == null || storeId <= 0) {
+ return Pair.of(false, "缺少店铺Id必要参数!");
+ }
+
+ // 获取预设配置
+ String sameCityDeliverySetting = accountBaseConfigService.getConfig("same_city_delivery_setting", "");
+ if (StrUtil.isBlank(sameCityDeliverySetting)) {
+ return Pair.of(false, "缺少同城配送预设设置!");
+ }
+
+ // 转换为 DTO 对象
+ ShopStoreSameCityTransportBaseDTO transportDTO = JSONUtil.toBean(sameCityDeliverySetting, ShopStoreSameCityTransportBaseDTO.class);
+ if (transportDTO == null) {
+ return Pair.of(false, "同城配送预设设置格式错误!");
+ }
+
+ // 查询店铺信息
+ ShopStoreBase storeBase = shopStoreBaseService.get(storeId);
+ if (storeBase == null) {
+ return Pair.of(false, "店铺不存在!");
+ }
+
+ // 设置基础配送信息
+ ShopStoreSameCityTransportBase transportBase = transportDTO.getTransportBase();
+ if (transportBase == null) {
+ return Pair.of(false, "缺少同城配送基础设置!");
+ }
+
+ transportBase.setStore_id(Convert.toLong(storeBase.getStore_id()));
+ transportBase.setStore_longitude(storeBase.getStore_longitude());
+ transportBase.setStore_latitude(storeBase.getStore_latitude());
+ transportBase.setStore_address(storeBase.getStore_address());
+
+ // 保存或更新基础配送信息
+ Pair saveOrUpdateResult = saveOrUpdateShopStoreSameCityTransportBase(transportBase);
+ Long transportBaseId = saveOrUpdateResult.getFirst();
+ if (transportBaseId == null || transportBaseId <= 0) {
+ return Pair.of(false, saveOrUpdateResult.getSecond());
+ }
+
+ // 更新 transport_base_id 并刷新列表
+ transportBase.setTransport_base_id(transportBaseId);
+ transportDTO.setTransportBase(transportBase);
+ transportDTO.rebuildTransportList(); // 更清晰的方法名
+
+ // 保存扩展配送信息
+ int count = shopStoreSameCityTransportService.saveOrUpdateShopStoreSameCityTransportList(transportDTO.getTransportList());
+ if (count <= 0) {
+ return Pair.of(false, "保存同城配送设置部分失败!");
+ }
+
+ return Pair.of(true, "初始化成功");
+
+ } catch (Exception e) {
+ logger.error("初始化同城配送设置异常: ", e);
+ return Pair.of(false, "初始化同城配送设置异常");
}
}
diff --git a/mall-shop/src/main/java/com/suisung/mall/shop/store/service/impl/ShopStoreSameCityTransportServiceImpl.java b/mall-shop/src/main/java/com/suisung/mall/shop/store/service/impl/ShopStoreSameCityTransportServiceImpl.java
index e80decde..19c33cd9 100644
--- a/mall-shop/src/main/java/com/suisung/mall/shop/store/service/impl/ShopStoreSameCityTransportServiceImpl.java
+++ b/mall-shop/src/main/java/com/suisung/mall/shop/store/service/impl/ShopStoreSameCityTransportServiceImpl.java
@@ -101,39 +101,45 @@ public class ShopStoreSameCityTransportServiceImpl extends BaseServiceImpl