From 38213237cc11c9bd3f11b0fa69c56ef663049a4b Mon Sep 17 00:00:00 2001
From: zepengdev <lzpsmith@outlook.com>
Date: Fri, 29 Aug 2025 11:40:54 +0800
Subject: [PATCH] feat: 店铺地址和坐标合并

---
 oying-system/src/main/java/com/oying/modules/pc/store/service/StoreService.java          |    2 +-
 oying-system/src/main/java/com/oying/modules/pc/store/service/impl/StoreServiceImpl.java |    9 ++++++++-
 oying-system/src/main/java/com/oying/modules/pc/store/rest/StoreMerchantController.java  |    2 +-
 3 files changed, 10 insertions(+), 3 deletions(-)

diff --git a/oying-system/src/main/java/com/oying/modules/pc/store/rest/StoreMerchantController.java b/oying-system/src/main/java/com/oying/modules/pc/store/rest/StoreMerchantController.java
index 5da22b4..0b9c3b1 100644
--- a/oying-system/src/main/java/com/oying/modules/pc/store/rest/StoreMerchantController.java
+++ b/oying-system/src/main/java/com/oying/modules/pc/store/rest/StoreMerchantController.java
@@ -188,7 +188,7 @@
     public ResponseEntity<?> updateAddress(@PathVariable("storeId") Long storeId,
                               @Validated(value = StoreFieldUpdateRequest.UpdateStoreAddressGroup.class)
                               @RequestBody StoreFieldUpdateRequest request) {
-        storeService.updateAddress(storeId, request.getAddress(), request.getVersion());
+        storeService.updateAddress(storeId, request.getAddress(), request.getLongitude(), request.getLatitude(), request.getVersion());
         return ResponseEntity.noContent().build();
     }
 
diff --git a/oying-system/src/main/java/com/oying/modules/pc/store/service/StoreService.java b/oying-system/src/main/java/com/oying/modules/pc/store/service/StoreService.java
index e4dc65c..901a842 100644
--- a/oying-system/src/main/java/com/oying/modules/pc/store/service/StoreService.java
+++ b/oying-system/src/main/java/com/oying/modules/pc/store/service/StoreService.java
@@ -50,7 +50,7 @@
 
     boolean updateContactPhone(Long storeId, String contactPhone, Long version);
 
-    boolean updateAddress(Long storeId, String address, Long version);
+    boolean updateAddress(Long storeId, String address, Double longitude, Double latitude, Long version);
 
     boolean updateLocation(Long storeId, Double longitude, Double latitude, Long version);
 
diff --git a/oying-system/src/main/java/com/oying/modules/pc/store/service/impl/StoreServiceImpl.java b/oying-system/src/main/java/com/oying/modules/pc/store/service/impl/StoreServiceImpl.java
index e134989..4b09b6a 100644
--- a/oying-system/src/main/java/com/oying/modules/pc/store/service/impl/StoreServiceImpl.java
+++ b/oying-system/src/main/java/com/oying/modules/pc/store/service/impl/StoreServiceImpl.java
@@ -1,6 +1,7 @@
 package com.oying.modules.pc.store.service.impl;
 
 import cn.hutool.core.util.ObjUtil;
+import cn.hutool.core.util.ObjectUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -167,10 +168,16 @@
     }
 
     @Override
-    public boolean updateAddress(Long storeId, String address, Long version) {
+    public boolean updateAddress(Long storeId, String address, Double longitude, Double latitude, Long version) {
         Store existingStore = this.getOrThrow(storeId, version);
         LambdaUpdateWrapper<Store> wrapper = this.createLambdaUpdateWrapper(storeId, existingStore.getVersion())
                 .set(Store::getAddress, address);
+        if (ObjectUtil.isNotEmpty(longitude)) {
+            wrapper.set(Store::getLongitude, longitude);
+        }
+        if (ObjectUtil.isNotEmpty(latitude)) {
+            wrapper.set(Store::getLatitude, latitude);
+        }
         return update(wrapper);
     }
 

--
Gitblit v1.9.3