gongfuzhu 1 vuosi sitten
vanhempi
commit
bad75f97e7

+ 16 - 0
SpringBatchServiceClient/src/main/java/com/zswl/cloud/springBatch/client/model/request/NearbyModel.java

@@ -0,0 +1,16 @@
+package com.zswl.cloud.springBatch.client.model.request;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+public class NearbyModel {
+
+
+    private double longitude;
+    private double latitude;
+    private double maxDistanceInKilometers;
+}

+ 14 - 0
SpringBatchServiceServer/src/main/java/com/zswl/cloud/springBtach/server/core/controller/XiaoJuController.java

@@ -1,10 +1,14 @@
 package com.zswl.cloud.springBtach.server.core.controller;
 
 import com.github.microservice.auth.client.content.ResultContent;
+import com.github.microservice.auth.security.annotations.ResourceAuth;
+import com.github.microservice.auth.security.type.AuthType;
 import com.xiaoju.open.oil.commons.OilRequest;
 import com.xiaoju.open.oil.core.executor.ResponseDTO;
 import com.xiaoju.open.oil.interfaces.request.NotificationPushStoreInfoRequest;
 import com.xiaoju.open.oil.interfaces.response.QueryStoreDetailResponse;
+import com.zswl.cloud.springBatch.client.model.request.NearbyModel;
+import com.zswl.cloud.springBtach.server.core.domain.XiaoJuStore;
 import com.zswl.cloud.springBtach.server.core.service.XiaoJuService;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.log4j.Log4j2;
@@ -14,6 +18,8 @@ import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
 import org.springframework.web.bind.annotation.RestController;
 
+import java.util.List;
+
 @Log4j2
 @RestController
 @RequestMapping("xiaoju")
@@ -42,10 +48,18 @@ public class XiaoJuController {
     }
     @ApiOperation("查询门店价格")
     @RequestMapping(value = "queryStorePrice", method = RequestMethod.POST)
+    @ResourceAuth(value = "user", type = AuthType.User)
     public ResultContent<QueryStoreDetailResponse> queryStorePrice(String storeId) {
 
         return xiaoJuService.queryStoreDetail(storeId);
     }
+    @ApiOperation("查看附近的加油站信息")
+    @ResourceAuth(value = "user", type = AuthType.User)
+    @RequestMapping(value = "nearbyStore", method = RequestMethod.POST)
+    public ResultContent<List<XiaoJuStore>> nearbyStore(@RequestBody NearbyModel nearbyModel) {
+
+        return xiaoJuService.nearbyStore(nearbyModel);
+    }
 
 
 }

+ 9 - 4
SpringBatchServiceServer/src/main/java/com/zswl/cloud/springBtach/server/core/dao/Impl/XiaoJuStoreDaoImpl.java

@@ -1,5 +1,6 @@
 package com.zswl.cloud.springBtach.server.core.dao.Impl;
 
+import com.zswl.cloud.springBatch.client.model.request.NearbyModel;
 import com.zswl.cloud.springBtach.server.core.dao.extend.XiaoJuStoreDaoExtend;
 import com.zswl.cloud.springBtach.server.core.domain.XiaoJuStore;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -10,20 +11,24 @@ import org.springframework.data.mongodb.core.query.NearQuery;
 import java.util.ArrayList;
 import java.util.List;
 
-public class XiaoJuStoreDaoImpl implements XiaoJuStoreDaoExtend{
+public class XiaoJuStoreDaoImpl implements XiaoJuStoreDaoExtend {
 
 
     @Autowired
     MongoTemplate mongoTemplate;
 
-    public List<XiaoJuStore> findNearbyTargets(double longitude, double latitude, double maxDistanceInKilometers) {
-        Point point = new Point(longitude, latitude);
-        NearQuery query = NearQuery.near(point).maxDistance(new Distance(maxDistanceInKilometers, Metrics.KILOMETERS));
+    public List<XiaoJuStore> findNearbyTargets(NearbyModel nearbyModel) {
+        Point point = new Point(nearbyModel.getLongitude(), nearbyModel.getLatitude());
+        NearQuery query = NearQuery.near(point).maxDistance(new Distance(nearbyModel.getMaxDistanceInKilometers(), Metrics.KILOMETERS));
         GeoResults<XiaoJuStore> results = mongoTemplate.geoNear(query, XiaoJuStore.class);
+
         List<XiaoJuStore> nearbyTargets = new ArrayList<>();
         for (GeoResult<XiaoJuStore> result : results) {
+
             nearbyTargets.add(result.getContent());
         }
         return nearbyTargets;
     }
+
+
 }

+ 8 - 0
SpringBatchServiceServer/src/main/java/com/zswl/cloud/springBtach/server/core/dao/extend/XiaoJuStoreDaoExtend.java

@@ -1,4 +1,12 @@
 package com.zswl.cloud.springBtach.server.core.dao.extend;
 
+import com.zswl.cloud.springBatch.client.model.request.NearbyModel;
+import com.zswl.cloud.springBtach.server.core.domain.XiaoJuStore;
+
+import java.util.List;
+
 public interface XiaoJuStoreDaoExtend {
+
+
+     List<XiaoJuStore> findNearbyTargets(NearbyModel nearbyModel);
 }

+ 1 - 0
SpringBatchServiceServer/src/main/java/com/zswl/cloud/springBtach/server/core/domain/XiaoJuStore.java

@@ -6,6 +6,7 @@ import lombok.AllArgsConstructor;
 import lombok.Builder;
 import lombok.Data;
 import lombok.NoArgsConstructor;
+import org.springframework.data.mongodb.core.index.GeoSpatialIndexType;
 import org.springframework.data.mongodb.core.index.GeoSpatialIndexed;
 import org.springframework.data.mongodb.core.index.Indexed;
 import org.springframework.data.mongodb.core.mapping.Document;

+ 8 - 0
SpringBatchServiceServer/src/main/java/com/zswl/cloud/springBtach/server/core/service/XiaoJuService.java

@@ -17,6 +17,7 @@ import com.xiaoju.open.oil.interfaces.request.QueryStoreDetailRequest;
 import com.xiaoju.open.oil.interfaces.response.QueryApiStorePriceResponse;
 import com.xiaoju.open.oil.interfaces.response.QueryStoreDetailResponse;
 import com.xiaoju.open.oil.security.secret.SecurityService;
+import com.zswl.cloud.springBatch.client.model.request.NearbyModel;
 import com.zswl.cloud.springBtach.server.core.dao.XiaoJuStoreDao;
 import com.zswl.cloud.springBtach.server.core.domain.XiaoJuStore;
 import io.swagger.util.Json;
@@ -132,4 +133,11 @@ public class XiaoJuService {
     }
 
 
+    public ResultContent<List<XiaoJuStore>> nearbyStore(NearbyModel nearbyModel) {
+
+        List<XiaoJuStore> nearbyTargets = xiaoJuStoreDao.findNearbyTargets(nearbyModel);
+        return ResultContent.buildContent(nearbyTargets);
+    }
+
+
 }