Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
O
order-group
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
order-group-application
order-group
Commits
cb408565
Commit
cb408565
authored
Jun 15, 2021
by
张跃
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'feature/20210602-配送距离-zy' into develop
parents
1098dbad
84bb9e77
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
97 additions
and
7 deletions
+97
-7
shopping-cart-application-service/src/main/java/cn/freemud/demo/service/impl/DeliveryServiceImpl.java
+15
-3
shopping-cart-application-service/src/main/java/cn/freemud/entities/vo/QueryDeliveryDistanceRequest.java
+38
-0
shopping-cart-application-service/src/main/java/cn/freemud/entities/vo/QueryDeliveryDistanceResponseVo.java
+32
-0
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/StoreServiceImpl.java
+8
-4
shopping-cart-application-service/src/main/java/cn/freemud/service/thirdparty/DeliveryFeiginClient.java
+4
-0
No files found.
shopping-cart-application-service/src/main/java/cn/freemud/demo/service/impl/DeliveryServiceImpl.java
View file @
cb408565
...
...
@@ -9,10 +9,15 @@ import cn.freemud.demo.entities.bo.store.StoreInfoBO;
import
cn.freemud.demo.manager.customer.CustomerManager
;
import
cn.freemud.demo.manager.store.StoreManager
;
import
cn.freemud.entities.dto.StoreDeliveryInfoDto
;
import
cn.freemud.entities.vo.QueryDeliveryDistanceRequest
;
import
cn.freemud.entities.vo.QueryDeliveryDistanceResponseVo
;
import
cn.freemud.entities.vo.ShoppingCartGoodsResponseVo
;
import
cn.freemud.enums.CreateOrderType
;
import
cn.freemud.enums.ResponseResult
;
import
cn.freemud.enums.ScopeConfigType
;
import
cn.freemud.interceptor.ServiceException
;
import
cn.freemud.service.delivery.DeliveryFactory
;
import
cn.freemud.service.thirdparty.DeliveryFeiginClient
;
import
cn.freemud.utils.WebUtil
;
import
com.freemud.application.sdk.api.log.LogThreadLocal
;
import
com.freemud.application.sdk.api.storecenter.request.StoreInfoRequest
;
...
...
@@ -42,6 +47,8 @@ public class DeliveryServiceImpl {
@Autowired
private
DeliveryFactory
deliveryFactory
;
@Autowired
private
DeliveryFeiginClient
deliveryFeiginClient
;
// 配送费逻辑是否使用旧的
@Value
(
"${store.delivery.use.old:true}"
)
private
boolean
storeDeliveryUseOld
;
...
...
@@ -238,10 +245,15 @@ public class DeliveryServiceImpl {
* @return
*/
public
double
getDistance
(
String
shopLng
,
String
shopLat
,
String
addressLng
,
String
addressLat
)
{
if
(
StringUtils
.
isBlank
(
shopLng
)
||
StringUtils
.
isBlank
(
shopLat
)
||
StringUtils
.
isBlank
(
addressLng
)
||
StringUtils
.
isBlank
(
addressLat
))
{
return
100000
;
// if (StringUtils.isBlank(shopLng) || StringUtils.isBlank(shopLat) || StringUtils.isBlank(addressLng) || StringUtils.isBlank(addressLat)) {
// return 100000;
// }
// return WebUtil.calDistance(Double.valueOf(shopLng), Double.valueOf(shopLat), Double.valueOf(addressLng), Double.valueOf(addressLat));
QueryDeliveryDistanceResponseVo
responseVo
=
deliveryFeiginClient
.
queryDeliveryDistance
(
new
QueryDeliveryDistanceRequest
(
Double
.
parseDouble
(
shopLat
),
Double
.
parseDouble
(
shopLng
),
Double
.
parseDouble
(
addressLat
),
Double
.
parseDouble
(
addressLng
)));
if
(
responseVo
==
null
||
responseVo
.
getCode
()
!=
100
||
responseVo
.
getData
().
getDistance
()
==
null
)
{
throw
new
ServiceException
(
ResponseResult
.
STORE_DELIVERY_AMOUNT_ERROR
);
}
return
WebUtil
.
calDistance
(
Double
.
valueOf
(
shopLng
),
Double
.
valueOf
(
shopLat
),
Double
.
valueOf
(
addressLng
),
Double
.
valueOf
(
addressLat
)
);
return
responseVo
.
getData
().
getDistance
(
);
}
}
shopping-cart-application-service/src/main/java/cn/freemud/entities/vo/QueryDeliveryDistanceRequest.java
0 → 100644
View file @
cb408565
package
cn
.
freemud
.
entities
.
vo
;
import
lombok.Data
;
/**
* @ClassName: QueryDeliveryDistanceRequest
* @Description:
* @Author: freemud
* @Date: 2021/6/3 下午8:44
*/
@Data
public
class
QueryDeliveryDistanceRequest
{
/**
* 目的地纬度
*/
private
double
desLatitude
;
/**
* 目的地经度
*/
private
double
desLongitude
;
/**
* 出发点纬度
*/
private
double
oriLatitude
;
/**
* 出发点经度
*/
private
double
oriLongitude
;
public
QueryDeliveryDistanceRequest
(
double
desLatitude
,
double
desLongitude
,
double
oriLatitude
,
double
oriLongitude
)
{
this
.
desLatitude
=
desLatitude
;
this
.
desLongitude
=
desLongitude
;
this
.
oriLatitude
=
oriLatitude
;
this
.
oriLongitude
=
oriLongitude
;
}
}
shopping-cart-application-service/src/main/java/cn/freemud/entities/vo/QueryDeliveryDistanceResponseVo.java
0 → 100644
View file @
cb408565
package
cn
.
freemud
.
entities
.
vo
;
import
lombok.Data
;
/**
* @ClassName: QueryDeliveryDistanceResponseVo
* @Description:
* @Author: freemud
* @Date: 2021/6/3 下午8:36
*/
@Data
public
class
QueryDeliveryDistanceResponseVo
{
private
Integer
code
;
private
RoutePlanner
data
;
private
String
msg
;
@Data
public
static
class
RoutePlanner
{
/**
* 起终点的骑行距离,单位:米
*/
private
Integer
distance
;
/**
* 起终点的骑行时间,单位:秒
*/
private
Integer
duration
;
}
}
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/StoreServiceImpl.java
View file @
cb408565
...
...
@@ -11,6 +11,7 @@ import cn.freemud.enums.*;
import
cn.freemud.interceptor.ServiceException
;
import
cn.freemud.manager.*
;
//import cn.freemud.service.thirdparty.StoreClient;
import
cn.freemud.service.thirdparty.DeliveryFeiginClient
;
import
cn.freemud.utils.*
;
import
com.google.common.collect.Lists
;
import
com.google.gson.Gson
;
...
...
@@ -49,7 +50,8 @@ public class StoreServiceImpl {
private
OpenPlatformIappWxappConfigDeliveryManager
openPlatformIappWxappConfigDeliveryManager
;
@Autowired
private
OpenPlatformIappWxappConfigManager
openPlatformIappWxappConfigManager
;
@Autowired
private
DeliveryFeiginClient
deliveryFeiginClient
;
/**
* 确定门店是否打烊
*/
...
...
@@ -417,10 +419,12 @@ public class StoreServiceImpl {
* @return
*/
public
double
getDistance
(
String
shopLng
,
String
shopLat
,
String
addressLng
,
String
addressLat
)
{
if
(
StringUtils
.
isBlank
(
shopLng
)
||
StringUtils
.
isBlank
(
shopLat
)
||
StringUtils
.
isBlank
(
addressLng
)
||
StringUtils
.
isBlank
(
addressLat
))
{
return
100000
;
// return WebUtil.calDistance(Double.valueOf(shopLng), Double.valueOf(shopLat), Double.valueOf(addressLng), Double.valueOf(addressLat));
QueryDeliveryDistanceResponseVo
responseVo
=
deliveryFeiginClient
.
queryDeliveryDistance
(
new
QueryDeliveryDistanceRequest
(
Double
.
parseDouble
(
shopLat
),
Double
.
parseDouble
(
shopLng
),
Double
.
parseDouble
(
addressLat
),
Double
.
parseDouble
(
addressLng
)));
if
(
responseVo
==
null
||
responseVo
.
getCode
()
!=
100
||
responseVo
.
getData
().
getDistance
()
==
null
)
{
throw
new
ServiceException
(
ResponseResult
.
STORE_DELIVERY_AMOUNT_ERROR
);
}
return
WebUtil
.
calDistance
(
Double
.
valueOf
(
shopLng
),
Double
.
valueOf
(
shopLat
),
Double
.
valueOf
(
addressLng
),
Double
.
valueOf
(
addressLat
)
);
return
responseVo
.
getData
().
getDistance
(
);
}
}
shopping-cart-application-service/src/main/java/cn/freemud/service/thirdparty/DeliveryFeiginClient.java
View file @
cb408565
package
cn
.
freemud
.
service
.
thirdparty
;
import
cn.freemud.base.entity.BaseResponse
;
import
cn.freemud.entities.vo.QueryDeliveryDistanceRequest
;
import
cn.freemud.entities.vo.QueryDeliveryDistanceResponseVo
;
import
cn.freemud.entities.vo.QueryDeliveryTemplateRequestVo
;
import
cn.freemud.entities.vo.QueryDeliveryTemplateResponseVo
;
import
org.springframework.cloud.openfeign.FeignClient
;
...
...
@@ -13,4 +15,6 @@ public interface DeliveryFeiginClient {
@PostMapping
(
"/delivery/queryDeliveryTemplate"
)
QueryDeliveryTemplateResponseVo
queryDeliveryTemplate
(
@RequestBody
QueryDeliveryTemplateRequestVo
queryDeliveryTemplateRequestVo
);
@PostMapping
(
"/tools/routePlanner"
)
QueryDeliveryDistanceResponseVo
queryDeliveryDistance
(
@RequestBody
QueryDeliveryDistanceRequest
queryDeliveryTemplateRequestVo
);
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment