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
43dc016a
Commit
43dc016a
authored
Dec 13, 2021
by
蒋小洋
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
野翠山结算校验配送
parent
6cf60c76
Show whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
278 additions
and
87 deletions
+278
-87
shopping-cart-application-service/src/main/java/cn/freemud/entities/dto/CheckDeliveryAddressReq.java
+42
-0
shopping-cart-application-service/src/main/java/cn/freemud/entities/dto/CheckDeliveryAddressResp.java
+35
-0
shopping-cart-application-service/src/main/java/cn/freemud/enums/ResponseResult.java
+1
-0
shopping-cart-application-service/src/main/java/cn/freemud/interceptor/FormSupportConfig.java
+7
-0
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/ShoppingCartNewServiceImpl.java
+42
-0
shopping-cart-application-service/src/main/java/cn/freemud/service/thirdparty/CustomerClient.java
+91
-87
shopping-cart-application-service/src/main/java/cn/freemud/service/thirdparty/TakeawayServiceClient.java
+36
-0
shopping-cart-application-service/src/main/java/cn/freemud/service/thirdparty/TakeawayServiceClientFallback.java
+24
-0
No files found.
shopping-cart-application-service/src/main/java/cn/freemud/entities/dto/CheckDeliveryAddressReq.java
0 → 100644
View file @
43dc016a
/**
* All rights Reserved, Designed By www.freemud.cn
*
* @Title: QueryReceiveAddressDistanceDto
* @Package cn.freemud.entities.dto
* @Description:
* @author: ping.wu
* @date: 2018/6/29 16:37
* @version V1.0
* @Copyright: 2018 www.freemud.cn Inc. All rights reserved.
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目
*/
package
cn
.
freemud
.
entities
.
dto
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
@Data
@NoArgsConstructor
public
class
CheckDeliveryAddressReq
{
//商户号
private
String
partnerId
;
//门店id
private
String
storeId
;
//收货人经度
private
String
receiverLng
;
//收货人纬度
private
String
receiverLat
;
//收货人地址
private
String
receiverAddress
;
//物品重量(kg)
private
String
depatchWeight
=
"1"
;
//是否预约单 :0 否 1 是
private
Integer
isPre
=
0
;
//用户支付方式 1、已支付 0、货到付款
private
Integer
payType
=
1
;
//是否保价,0:非保价;1:保价
private
Integer
isInsured
=
0
;
//是否是专人直送订单,0:否;1:是
private
Integer
isPersonDirect
=
0
;
}
shopping-cart-application-service/src/main/java/cn/freemud/entities/dto/CheckDeliveryAddressResp.java
0 → 100644
View file @
43dc016a
/**
* All rights Reserved, Designed By www.freemud.cn
*
* @Title: QueryReceiveAddressDistanceDto
* @Package cn.freemud.entities.dto
* @Description:
* @author: ping.wu
* @date: 2018/6/29 16:37
* @version V1.0
* @Copyright: 2018 www.freemud.cn Inc. All rights reserved.
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目
*/
package
cn
.
freemud
.
entities
.
dto
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
@Data
@NoArgsConstructor
public
class
CheckDeliveryAddressResp
{
private
String
code
;
private
String
msg
;
private
ResultBean
data
;
@NoArgsConstructor
@Data
public
static
class
ResultBean
{
//是否在配送范围内
private
boolean
isSupport
;
//消息提示
private
String
msg
;
}
}
shopping-cart-application-service/src/main/java/cn/freemud/enums/ResponseResult.java
View file @
43dc016a
...
@@ -109,6 +109,7 @@ public enum ResponseResult {
...
@@ -109,6 +109,7 @@ public enum ResponseResult {
SHOPPING_CART_REPLACE_GOODS
(
"44040"
,
"原有购物车没有商品"
),
SHOPPING_CART_REPLACE_GOODS
(
"44040"
,
"原有购物车没有商品"
),
SHOPPING_CART_REPLACE_GOODS_AND_CLEAR
(
"44041"
,
"因部分商品当前门店暂未售卖,将从购物车移除"
),
SHOPPING_CART_REPLACE_GOODS_AND_CLEAR
(
"44041"
,
"因部分商品当前门店暂未售卖,将从购物车移除"
),
SHOPPING_CART_COUPON_MUTUAL_EXCLUSION
(
"44042"
,
"代金券和折扣券互斥"
),
SHOPPING_CART_COUPON_MUTUAL_EXCLUSION
(
"44042"
,
"代金券和折扣券互斥"
),
SHOPPING_CART_IS_OVERDELIVERY_ERR
(
"44111"
,
"校验配送范围失败"
),
/**
/**
* 订单状态码
* 订单状态码
...
...
shopping-cart-application-service/src/main/java/cn/freemud/interceptor/FormSupportConfig.java
View file @
43dc016a
package
cn
.
freemud
.
interceptor
;
package
cn
.
freemud
.
interceptor
;
import
feign.Request
;
import
feign.codec.Encoder
;
import
feign.codec.Encoder
;
import
feign.form.spring.SpringFormEncoder
;
import
feign.form.spring.SpringFormEncoder
;
import
org.springframework.beans.factory.ObjectFactory
;
import
org.springframework.beans.factory.ObjectFactory
;
...
@@ -17,4 +18,10 @@ public class FormSupportConfig {
...
@@ -17,4 +18,10 @@ public class FormSupportConfig {
public
Encoder
feignFormEncoder
()
{
public
Encoder
feignFormEncoder
()
{
return
new
SpringFormEncoder
(
new
SpringEncoder
(
messageConverters
));
return
new
SpringFormEncoder
(
new
SpringEncoder
(
messageConverters
));
}
}
@Bean
public
Request
.
Options
options
()
{
// 第一个参数是连接超时,第二个参数是读取超时,默认ms
return
new
Request
.
Options
(
1000
,
4000
);
}
}
}
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/ShoppingCartNewServiceImpl.java
View file @
43dc016a
...
@@ -221,6 +221,12 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
...
@@ -221,6 +221,12 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
private
GetActivityMsgHandle
getActivityMsgHandle
;
private
GetActivityMsgHandle
getActivityMsgHandle
;
@Autowired
@Autowired
private
GiftCacheManager
giftCacheManager
;
private
GiftCacheManager
giftCacheManager
;
@Value
(
"${ycs.partnerId:2690,2702,2664}"
)
private
String
ycsPartnerId
;
@Autowired
private
CustomerClient
customerClient
;
@Resource
private
TakeawayServiceClient
takeawayServiceClient
;
/**
/**
* 从微信卡券向购物车中添加商品
* 从微信卡券向购物车中添加商品
...
@@ -664,6 +670,16 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
...
@@ -664,6 +670,16 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
if
(
StringUtils
.
isEmpty
(
shoppingCartInfoRequestVo
.
getVersion
()))
{
if
(
StringUtils
.
isEmpty
(
shoppingCartInfoRequestVo
.
getVersion
()))
{
shoppingCartInfoRequestVo
.
setVersion
(
""
);
shoppingCartInfoRequestVo
.
setVersion
(
""
);
}
}
//Apollo配置野翠山商户,外卖订单地址是否超出美图等配送范围 -jxy
List
<
String
>
ycsList
=
Arrays
.
asList
(
ycsPartnerId
.
split
(
","
));
boolean
ycsPartner
=
ycsList
.
contains
(
shoppingCartInfoRequestVo
.
getPartnerId
());
if
(
ycsPartner
&&
BusinessTypeEnum
.
SAAS_DELIVERY
.
getCode
().
equals
(
shoppingCartInfoRequestVo
.
getMenuType
())
&&
StringUtils
.
isNotEmpty
(
shoppingCartInfoRequestVo
.
getReceiveId
())){
boolean
isOverDelivery
=
checkYcsIsOverDelivery
(
shoppingCartInfoRequestVo
.
getReceiveId
(),
shoppingCartInfoRequestVo
.
getPartnerId
(),
shoppingCartInfoRequestVo
.
getShopId
());
if
(
isOverDelivery
){
throw
new
ServiceException
(
ResponseResult
.
SHOPPING_CART_IS_OVERDELIVERY_ERR
);
}
}
ShoppingCartGoodsResponseVo
shoppingCartGoodsResponseVo
=
new
ShoppingCartGoodsResponseVo
();
ShoppingCartGoodsResponseVo
shoppingCartGoodsResponseVo
=
new
ShoppingCartGoodsResponseVo
();
// 获取用户信息
// 获取用户信息
CustomerInfoVo
assortmentCustomerInfoVo
=
getCustomerInfoVo
(
shoppingCartInfoRequestVo
.
getSessionId
());
CustomerInfoVo
assortmentCustomerInfoVo
=
getCustomerInfoVo
(
shoppingCartInfoRequestVo
.
getSessionId
());
...
@@ -3525,4 +3541,30 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
...
@@ -3525,4 +3541,30 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
return
fullReplace
;
return
fullReplace
;
}
}
/**
* 校验野翠山是否超配送,true超配送,false没有超出配送
* @return
*/
private
boolean
checkYcsIsOverDelivery
(
String
addressId
,
String
partnerId
,
String
storeId
){
//1、查询收件人地址信息
QueryReceiveAddressDto
queryReceiveAddressDto
=
new
QueryReceiveAddressDto
(
addressId
,
partnerId
);
QueryReceiveAddressResponseDto
queryReceiveAddressResponseDto
=
customerClient
.
queryReceiveAddressById
(
queryReceiveAddressDto
);
if
(!
Objects
.
equals
(
"100"
,
queryReceiveAddressResponseDto
.
getCode
())
||
queryReceiveAddressResponseDto
.
getData
()
==
null
){
return
true
;
}
CheckDeliveryAddressReq
checkDeliveryAddressReq
=
new
CheckDeliveryAddressReq
();
checkDeliveryAddressReq
.
setPartnerId
(
partnerId
);
checkDeliveryAddressReq
.
setStoreId
(
storeId
);
checkDeliveryAddressReq
.
setReceiverLng
(
queryReceiveAddressResponseDto
.
getData
().
getLongitude
());
checkDeliveryAddressReq
.
setReceiverLat
(
queryReceiveAddressResponseDto
.
getData
().
getLatitude
());
checkDeliveryAddressReq
.
setReceiverAddress
(
queryReceiveAddressResponseDto
.
getData
().
getReceiveAddress
());
//2、查询配送信息是否超配送
CheckDeliveryAddressResp
checkDeliveryAddressResp
=
takeawayServiceClient
.
checkDeliveryAddress
(
checkDeliveryAddressReq
);
if
(!
Objects
.
equals
(
"100"
,
checkDeliveryAddressResp
.
getCode
())
||
checkDeliveryAddressResp
.
getData
()
==
null
||
!
checkDeliveryAddressResp
.
getData
().
isSupport
()){
return
true
;
}
return
false
;
}
}
}
shopping-cart-application-service/src/main/java/cn/freemud/service/thirdparty/CustomerClient.java
View file @
43dc016a
///**
/**
// * All rights Reserved, Designed By www.freemud.cn
* All rights Reserved, Designed By www.freemud.cn
// *
*
// * @Title: CustomerExtendClient
* @Title: CustomerExtendClient
// * @Package cn.freemud.service.thirdparty
* @Package cn.freemud.service.thirdparty
// * @Description:
* @Description:
// * @author: song.cai
* @author: song.cai
// * @date: 2019/2/20 16:42
* @date: 2019/2/20 16:42
// * @version V1.0
* @version V1.0
// * @Copyright: 2019 www.freemud.cn Inc. All rights reserved.
* @Copyright: 2019 www.freemud.cn Inc. All rights reserved.
// * 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目
// */
*/
//
//package cn.freemud.service.thirdparty;
package
cn
.
freemud
.
service
.
thirdparty
;
//
//import cn.freemud.entities.dto.*;
import
cn.freemud.annotations.IgnoreFeignLogAnnotation
;
//import com.alibaba.fastjson.JSONObject;
import
cn.freemud.constant.ResponseCodeConstant
;
//import org.springframework.cloud.openfeign.FeignClient;
import
cn.freemud.entities.dto.QueryReceiveAddressDto
;
//import org.springframework.web.bind.annotation.PostMapping;
import
cn.freemud.entities.dto.QueryReceiveAddressResponseDto
;
//import org.springframework.web.bind.annotation.RequestBody;
import
org.springframework.cloud.openfeign.FeignClient
;
//import org.springframework.web.bind.annotation.RequestMapping;
import
org.springframework.web.bind.annotation.PostMapping
;
//
import
org.springframework.web.bind.annotation.RequestBody
;
//@FeignClient(name = "CUSTOMER-SERVICE", url = "${saas.customerclient.feign.url}")
import
org.springframework.web.bind.annotation.RequestMapping
;
//@RequestMapping(produces = {"application/json;charset=UTF-8"})
//public interface CustomerClient {
@FeignClient
(
name
=
"CUSTOMER-SERVICE"
,
url
=
"${saas.customerclient.feign.url:}"
)
// /**
@RequestMapping
(
produces
=
{
"application/json;charset=UTF-8"
})
// * 根据聚道注册会员
public
interface
CustomerClient
{
// */
/*
// @PostMapping(value = "/customerservice/registerByChannel")
*//**
// MemberRegisterResponseDto registerByChannel(@RequestBody MemberRegisterRequestDto memberRegisterRequestDto);
* 根据聚道注册会员
//
*//*
// /**
@PostMapping(value = "/customerservice/registerByChannel")
// * 根据渠道信息查询顾客信息
MemberRegisterResponseDto registerByChannel(@RequestBody MemberRegisterRequestDto memberRegisterRequestDto);
// */
// @PostMapping(value = "/customerservice/getMemberByChannel")
*//**
// GetMemberInfoByChannelResponseDto getMemberInfoByChannel(@RequestBody GetMemberInfoByChannelRequestDto getMemberInfoByChannelRequestDto);
* 根据渠道信息查询顾客信息
//
*//*
// /**
@PostMapping(value = "/customerservice/getMemberByChannel")
// * 修改unionid
GetMemberInfoByChannelResponseDto getMemberInfoByChannel(@RequestBody GetMemberInfoByChannelRequestDto getMemberInfoByChannelRequestDto);
// */
// @PostMapping(value = "/customerservice/updateMemberChannel")
*//**
// JSONObject updateUserUnionId(@RequestBody UpdateMemUnionIdRequestDto updateMemUnionIdRequestDto);
* 修改unionid
//
*//*
// /**
@PostMapping(value = "/customerservice/updateMemberChannel")
// * 根据会员id获取会员信息
JSONObject updateUserUnionId(@RequestBody UpdateMemUnionIdRequestDto updateMemUnionIdRequestDto);
// */
// @PostMapping(value = "/customerservice/getMemberById")
*//**
// GetMemberInfoByIdResponseDto getMemberInfoById(@RequestBody GetMemberInfoByIdRequestDto getMemberInfoByIdRequestDto);
* 根据会员id获取会员信息
//
*//*
// /**
@PostMapping(value = "/customerservice/getMemberById")
// * 修改顾客信息
GetMemberInfoByIdResponseDto getMemberInfoById(@RequestBody GetMemberInfoByIdRequestDto getMemberInfoByIdRequestDto);
// */
// @PostMapping(value = "/customerservice/update")
*//**
// JSONObject editMemberInfo(@RequestBody EditMemberInfoRequestDto editMemberInfoRequestDto);
* 修改顾客信息
//
*//*
//
@PostMapping(value = "/customerservice/update")
// /**
JSONObject editMemberInfo(@RequestBody EditMemberInfoRequestDto editMemberInfoRequestDto);
// * 获取用户收货地址列表
// */
// @PostMapping(value = "/customerservice/address/getAddressList")
*//**
// GetReceiveAddressListResponseDto getReceiveAddressList(@RequestBody GetReceiveAddressListDto getReceiveListDto);
* 获取用户收货地址列表
//
*//*
// /**
@PostMapping(value = "/customerservice/address/getAddressList")
// * 新增收货地址
GetReceiveAddressListResponseDto getReceiveAddressList(@RequestBody GetReceiveAddressListDto getReceiveListDto);
// */
// @PostMapping(value = "/customerservice/address/add")
*//**
// AddReceiveAddressResponseDto addReceiveAddress(@RequestBody AddReceiveAddressDto addReceiveDto);
* 新增收货地址
//
*//*
// /**
@PostMapping(value = "/customerservice/address/add")
// * 修改收货地址
AddReceiveAddressResponseDto addReceiveAddress(@RequestBody AddReceiveAddressDto addReceiveDto);
// */
// @PostMapping(value = "/customerservice/address/update")
*//**
// UpdateReceiveAddressResponseDto updateReceiveAddress(@RequestBody UpdateReceiveAddressDto updateReceiveAddressDto);
* 修改收货地址
//
*//*
// /**
@PostMapping(value = "/customerservice/address/update")
// * 删除收货地址
UpdateReceiveAddressResponseDto updateReceiveAddress(@RequestBody UpdateReceiveAddressDto updateReceiveAddressDto);
// */
// @PostMapping(value = "/customerservice/address/delete")
*//**
// DeleteReceiveAddressResponseDto deleteReceiveAddress(@RequestBody DeleteReceiveAddressDto deleteReceiveAddressDto);
* 删除收货地址
//
*//*
//
@PostMapping(value = "/customerservice/address/delete")
// /**
DeleteReceiveAddressResponseDto deleteReceiveAddress(@RequestBody DeleteReceiveAddressDto deleteReceiveAddressDto);*/
// * 查询收货地址详情
// */
// @PostMapping(value = "/customerservice/address/get")
/**
// QueryReceiveAddressResponseDto queryReceiveAddressById(@RequestBody QueryReceiveAddressDto queryReceiveAddressDto);
* 查询收货地址详情
//}
*/
@PostMapping
(
value
=
"/customerservice/address/get"
)
@IgnoreFeignLogAnnotation
(
logMessage
=
"/customerservice/address/get"
,
excludeStatusCodes
=
{
ResponseCodeConstant
.
RESPONSE_SUCCESS_STR
})
QueryReceiveAddressResponseDto
queryReceiveAddressById
(
@RequestBody
QueryReceiveAddressDto
queryReceiveAddressDto
);
}
shopping-cart-application-service/src/main/java/cn/freemud/service/thirdparty/TakeawayServiceClient.java
0 → 100644
View file @
43dc016a
/**
* All rights Reserved, Designed By www.freemud.cn
*
* @Title: CustomerExtendClient
* @Package cn.freemud.service.thirdparty
* @Description:
* @author: song.cai
* @date: 2019/2/20 16:42
* @version V1.0
* @Copyright: 2019 www.freemud.cn Inc. All rights reserved.
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目
*/
package
cn
.
freemud
.
service
.
thirdparty
;
import
cn.freemud.annotations.IgnoreFeignLogAnnotation
;
import
cn.freemud.constant.ResponseCodeConstant
;
import
cn.freemud.constant.ResponseCodeKeyConstant
;
import
cn.freemud.entities.dto.CheckDeliveryAddressReq
;
import
cn.freemud.entities.dto.CheckDeliveryAddressResp
;
import
cn.freemud.interceptor.FormSupportConfig
;
import
org.springframework.cloud.openfeign.FeignClient
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
@FeignClient
(
name
=
"TAKEAWAY-SERVICE"
,
url
=
"${saas.takeawayclient.feign.url:}"
,
fallback
=
TakeawayServiceClientFallback
.
class
,
configuration
=
FormSupportConfig
.
class
)
public
interface
TakeawayServiceClient
{
/**
* 查询门店是否开通第三方配送,是否超配送范围
*/
@PostMapping
(
value
=
"/delivery/checkDeliveryAddress"
,
produces
=
{
"application/json;charset=UTF-8"
})
@IgnoreFeignLogAnnotation
(
logMessage
=
"/delivery/checkDeliveryAddress"
,
excludeStatusCodes
=
{
ResponseCodeConstant
.
RESPONSE_SUCCESS_STR
},
messageFieldName
=
ResponseCodeKeyConstant
.
MSG
)
CheckDeliveryAddressResp
checkDeliveryAddress
(
@RequestBody
CheckDeliveryAddressReq
checkDeliveryAddressReq
);
}
shopping-cart-application-service/src/main/java/cn/freemud/service/thirdparty/TakeawayServiceClientFallback.java
0 → 100644
View file @
43dc016a
package
cn
.
freemud
.
service
.
thirdparty
;
import
cn.freemud.entities.dto.CheckDeliveryAddressReq
;
import
cn.freemud.entities.dto.CheckDeliveryAddressResp
;
import
org.springframework.stereotype.Component
;
//@IgnoreFeignLogAnnotation
@Component
public
class
TakeawayServiceClientFallback
implements
TakeawayServiceClient
{
/**
* 查询配送超过4秒熔断,返回错误码,直接返回前端
* @param checkDeliveryAddressReq
* @return
*/
@Override
public
CheckDeliveryAddressResp
checkDeliveryAddress
(
CheckDeliveryAddressReq
checkDeliveryAddressReq
)
{
CheckDeliveryAddressResp
response
=
new
CheckDeliveryAddressResp
();
response
.
setCode
(
"200"
);
return
response
;
}
}
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