From 748fc948fff5b0034dbea1110fabf11d22573e14 Mon Sep 17 00:00:00 2001
From: linwe <872216996@qq.com>
Date: Mon, 22 Jul 2024 15:42:57 +0800
Subject: [PATCH] 代码优化

---
 src/main/java/org/springblade/modules/place/mapper/PlaceMapper.java            |    8 ++++
 src/main/java/org/springblade/modules/place/service/IPlaceService.java         |    8 ++++
 src/main/java/org/springblade/modules/grid/mapper/GridPatrolRecordMapper.xml   |    1 
 src/main/java/org/springblade/modules/place/service/impl/PlaceServiceImpl.java |   11 +++++
 src/main/java/org/springblade/modules/system/service/impl/MenuServiceImpl.java |    1 
 src/main/java/org/springblade/modules/place/controller/PlaceController.java    |    7 +++
 src/main/java/org/springblade/modules/grid/mapper/GridWorkLogMapper.xml        |    1 
 src/main/java/org/springblade/modules/place/mapper/PlaceMapper.xml             |   26 +++++++++++++
 8 files changed, 63 insertions(+), 0 deletions(-)

diff --git a/src/main/java/org/springblade/modules/grid/mapper/GridPatrolRecordMapper.xml b/src/main/java/org/springblade/modules/grid/mapper/GridPatrolRecordMapper.xml
index 07711b0..8c7c860 100644
--- a/src/main/java/org/springblade/modules/grid/mapper/GridPatrolRecordMapper.xml
+++ b/src/main/java/org/springblade/modules/grid/mapper/GridPatrolRecordMapper.xml
@@ -32,6 +32,7 @@
         <if test="gridPatrolRecord.createUser!=null">
             and jgpr.create_user = #{gridPatrolRecord.createUser}
         </if>
+        order by jgpr.id desc
     </select>
 
 
diff --git a/src/main/java/org/springblade/modules/grid/mapper/GridWorkLogMapper.xml b/src/main/java/org/springblade/modules/grid/mapper/GridWorkLogMapper.xml
index 4193d35..aa009c3 100644
--- a/src/main/java/org/springblade/modules/grid/mapper/GridWorkLogMapper.xml
+++ b/src/main/java/org/springblade/modules/grid/mapper/GridWorkLogMapper.xml
@@ -106,6 +106,7 @@
                 </otherwise>
             </choose>
         </if>
+        order by jgwl.id desc
     </select>
 
     <!--走访日志数量统计-->
diff --git a/src/main/java/org/springblade/modules/place/controller/PlaceController.java b/src/main/java/org/springblade/modules/place/controller/PlaceController.java
index f0c2ccd..9642f9f 100644
--- a/src/main/java/org/springblade/modules/place/controller/PlaceController.java
+++ b/src/main/java/org/springblade/modules/place/controller/PlaceController.java
@@ -378,4 +378,11 @@
 	public R placeDoorBindHandle() {
 		return R.data(placeService.placeDoorBindHandle());
 	}
+
+
+	// 查询附近1公里的场所列表
+	@GetMapping("/getNearbyPlaceList")
+	public R getNearbyPlaceList(@RequestParam("lat") String lat, @RequestParam("lng") String lng) {
+		return R.data(placeService.getNearbyPlaceList(lat, lng));
+	}
 }
diff --git a/src/main/java/org/springblade/modules/place/mapper/PlaceMapper.java b/src/main/java/org/springblade/modules/place/mapper/PlaceMapper.java
index 2342e7b..7a98db9 100644
--- a/src/main/java/org/springblade/modules/place/mapper/PlaceMapper.java
+++ b/src/main/java/org/springblade/modules/place/mapper/PlaceMapper.java
@@ -243,4 +243,12 @@
 										   @Param("gridCodeList") List<String> gridCodeList,
 										   @Param("regionChildCodesList") List<String> regionChildCodesList,
 										   @Param("isAdministrator") Integer isAdministrator);
+
+	/**
+	 * 查询附近场所
+	 * @param lat
+	 * @param lng
+	 * @return
+	 */
+	List<PlaceVO> getNearbyPlaceList(String lat, String lng);
 }
diff --git a/src/main/java/org/springblade/modules/place/mapper/PlaceMapper.xml b/src/main/java/org/springblade/modules/place/mapper/PlaceMapper.xml
index 4a9090b..fa02706 100644
--- a/src/main/java/org/springblade/modules/place/mapper/PlaceMapper.xml
+++ b/src/main/java/org/springblade/modules/place/mapper/PlaceMapper.xml
@@ -70,6 +70,14 @@
             and jp.is_nine = #{place.isNine}
         </if>
 
+        <if test="place.noExplosionCategory!=null">
+            and jp.no_explosion_category is not null
+            <if test="place.noExplosionCategory!=null and place.noExplosionCategory > 0 ">
+                and jp.no_explosion_category = #{place.noExplosionCategory}
+            </if>
+        </if>
+
+
         <if test="place.source!=null">
             and jp.source = #{place.source}
         </if>
@@ -1087,4 +1095,22 @@
         order by jp.create_time desc,jp.id desc
     </select>
 
+    <select id="getNearbyPlaceList" resultType="org.springblade.modules.place.vo.PlaceVO">
+        SELECT
+        jp.id,
+        jp.lat,
+        jp.lng,
+        jp.place_name,
+        ( 6371 * acos( cos( radians(#{param1}) ) * cos( radians( jp.lat ) )
+        * cos( radians( jp.lng ) - radians(#{param2}) )
+        + sin( radians(#{param1}) ) * sin( radians( jp.lat ) ) ) ) AS distance
+        FROM jczz_place jp
+        where jp.place_name is not null
+        and jp.lat is not null
+        and jp.lng is not null
+        and jp.is_deleted = 0
+        HAVING distance &lt;= 1
+        ORDER BY distance limit 30
+    </select>
+
 </mapper>
diff --git a/src/main/java/org/springblade/modules/place/service/IPlaceService.java b/src/main/java/org/springblade/modules/place/service/IPlaceService.java
index 6ec5163..f12abda 100644
--- a/src/main/java/org/springblade/modules/place/service/IPlaceService.java
+++ b/src/main/java/org/springblade/modules/place/service/IPlaceService.java
@@ -217,4 +217,12 @@
 	 * @return
 	 */
 	List<ExportPlaceExcel> exportPlaceList(PlaceVO place);
+
+	/**
+	 * // 查询附近场所
+	 * @param lat
+	 * @param lng
+	 * @return
+	 */
+	List<PlaceVO> getNearbyPlaceList(String lat, String lng);
 }
diff --git a/src/main/java/org/springblade/modules/place/service/impl/PlaceServiceImpl.java b/src/main/java/org/springblade/modules/place/service/impl/PlaceServiceImpl.java
index 142e154..80b4eca 100644
--- a/src/main/java/org/springblade/modules/place/service/impl/PlaceServiceImpl.java
+++ b/src/main/java/org/springblade/modules/place/service/impl/PlaceServiceImpl.java
@@ -1845,4 +1845,15 @@
 			commonParamSet.getIsAdministrator()
 		);
 	}
+
+	/**
+	 *  查询附近场所
+	 * @param lat
+	 * @param lng
+	 * @return
+	 */
+	@Override
+	public List<PlaceVO> getNearbyPlaceList(String lat, String lng) {
+		return baseMapper.getNearbyPlaceList(lat, lng);
+	}
 }
diff --git a/src/main/java/org/springblade/modules/system/service/impl/MenuServiceImpl.java b/src/main/java/org/springblade/modules/system/service/impl/MenuServiceImpl.java
index 87214bf..06506da 100644
--- a/src/main/java/org/springblade/modules/system/service/impl/MenuServiceImpl.java
+++ b/src/main/java/org/springblade/modules/system/service/impl/MenuServiceImpl.java
@@ -367,6 +367,7 @@
 					o -> o.eq(Menu::getName, menu.getName())
 						.eq(Menu::getCategory, MENU_CATEGORY)
 						.eq(Menu::getMenuType, menu.getMenuType())
+						.eq(Menu::getParentId, menu.getParentId())
 				)
 			);
 		}

--
Gitblit v1.9.3