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
541e5c79
Commit
541e5c79
authored
Dec 14, 2020
by
刘鹏飞
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'qa' of
http://gitlab.freemud.com/order-group-application/order-group
into qa
parents
a1887678
fd8998aa
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
118 additions
and
23 deletions
+118
-23
assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/request/order/CreateOrderProductRequest.java
+4
-0
assortment-shoppingcart-sdk/readme.md
+3
-2
order-application-service/src/main/java/cn/freemud/adapter/OrderAdapter.java
+0
-0
order-application-service/src/main/java/cn/freemud/entities/dto/ecology/SubscribeMessageRequest.java
+1
-1
order-application-service/src/main/java/cn/freemud/enums/ResponseResult.java
+1
-0
order-application-service/src/main/java/cn/freemud/service/impl/CheckOrder.java
+48
-12
order-application-service/src/test/java/cn.freemud/utils/DateUtilsTest.java
+46
-0
ordercenter-sdk/src/main/java/com/freemud/application/sdk/api/ordercenter/response/PaySuccessResp.java
+1
-1
shopping-cart-application-service/src/main/java/cn/freemud/adapter/ShoppingCartConvertAdapter.java
+6
-3
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/ShoppingCartCollageServiceImpl.java
+3
-2
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/mcoffee/ShoppingCartMCoffeeServiceImpl.java
+5
-2
No files found.
assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/request/order/CreateOrderProductRequest.java
View file @
541e5c79
...
@@ -48,6 +48,8 @@ public class CreateOrderProductRequest extends BaseConfig {
...
@@ -48,6 +48,8 @@ public class CreateOrderProductRequest extends BaseConfig {
* 商品货号,商品服务可重复
* 商品货号,商品服务可重复
*/
*/
private
String
productCode
;
private
String
productCode
;
/**
/**
* 商品价格 单价分
* 商品价格 单价分
*/
*/
...
@@ -201,6 +203,8 @@ public class CreateOrderProductRequest extends BaseConfig {
...
@@ -201,6 +203,8 @@ public class CreateOrderProductRequest extends BaseConfig {
private
String
classificationName
;
private
String
classificationName
;
private
String
category
;
private
List
<
String
>
specialCodes
;
private
List
<
String
>
specialCodes
;
private
List
<
OrderSpecialExtraAttrRequest
>
specialAttrs
;
private
List
<
OrderSpecialExtraAttrRequest
>
specialAttrs
;
...
...
assortment-shoppingcart-sdk/readme.md
View file @
541e5c79
...
@@ -11,4 +11,5 @@
...
@@ -11,4 +11,5 @@
| 1.1.3.RELEASE| 增加统计分类classificationId ,setClassificationName | | 2020-06-16 |
| 1.1.3.RELEASE| 增加统计分类classificationId ,setClassificationName | | 2020-06-16 |
| 1.1.5.RELEASE| 商品加料 | | 2020-08-24 |
| 1.1.5.RELEASE| 商品加料 | | 2020-08-24 |
| 1.1.6.RELEASE| 新增商品券名称字段| 孙昱 | 2020-11-09 |
| 1.1.6.RELEASE| 新增商品券名称字段| 孙昱 | 2020-11-09 |
| 1.1.7.RELEASE| 标识套餐类型| 孙昱 | 2020-12-01 |
| 1.1.7.RELEASE| 标识套餐类型| 孙昱 | 2020-12-01 |
\ No newline at end of file
| 1.1.8.RELEASE| 拼单| 缪晖 | 2020-12-10 |
\ No newline at end of file
order-application-service/src/main/java/cn/freemud/adapter/OrderAdapter.java
View file @
541e5c79
This diff is collapsed.
Click to expand it.
order-application-service/src/main/java/cn/freemud/entities/dto/ecology/SubscribeMessageRequest.java
View file @
541e5c79
...
@@ -29,7 +29,7 @@ public class SubscribeMessageRequest {
...
@@ -29,7 +29,7 @@ public class SubscribeMessageRequest {
* 5 字节小程序
* 5 字节小程序
* 6 h5
* 6 h5
*/
*/
private
Integer
channel
;
private
Integer
channel
=
1
;
/**
/**
* 配送异常提醒
* 配送异常提醒
...
...
order-application-service/src/main/java/cn/freemud/enums/ResponseResult.java
View file @
541e5c79
...
@@ -170,6 +170,7 @@ public enum ResponseResult {
...
@@ -170,6 +170,7 @@ public enum ResponseResult {
COLLAGE_ORDER_CREATE_ERROR_NOT_EXIST
(
"45070"
,
"拼单信息不存在,无法创建订单"
),
COLLAGE_ORDER_CREATE_ERROR_NOT_EXIST
(
"45070"
,
"拼单信息不存在,无法创建订单"
),
COLLAGE_ORDER_CREATE_ERROR_PAYING
(
"45071"
,
"拼单正在支付,请勿重复提交"
),
COLLAGE_ORDER_CREATE_ERROR_PAYING
(
"45071"
,
"拼单正在支付,请勿重复提交"
),
COLLAGE_ORDER_CREATE_ERROR_PAYED
(
"45072"
,
"拼单已支付完成,请返回订单列表查看"
),
COLLAGE_ORDER_CREATE_ERROR_PAYED
(
"45072"
,
"拼单已支付完成,请返回订单列表查看"
),
STORE_SELF_ERROR
(
"45069"
,
"请选择截止营业时间大于45分钟下单"
),
/**
/**
...
...
order-application-service/src/main/java/cn/freemud/service/impl/CheckOrder.java
View file @
541e5c79
...
@@ -59,12 +59,14 @@ import com.freemud.application.sdk.api.storecenter.request.StoreInfoRequest;
...
@@ -59,12 +59,14 @@ import com.freemud.application.sdk.api.storecenter.request.StoreInfoRequest;
import
com.freemud.application.sdk.api.storecenter.response.QueryDeliverDetailResponse
;
import
com.freemud.application.sdk.api.storecenter.response.QueryDeliverDetailResponse
;
import
com.freemud.application.sdk.api.storecenter.response.StoreResponse
;
import
com.freemud.application.sdk.api.storecenter.response.StoreResponse
;
import
com.freemud.application.sdk.api.storecenter.service.StoreCenterService
;
import
com.freemud.application.sdk.api.storecenter.service.StoreCenterService
;
import
com.freemud.sdk.api.assortment.order.enums.NewOrderType
;
import
com.google.common.collect.Lists
;
import
com.google.common.collect.Lists
;
import
com.google.gson.Gson
;
import
com.google.gson.Gson
;
import
lombok.extern.log4j.Log4j
;
import
lombok.extern.log4j.Log4j
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.lang.ObjectUtils
;
import
org.apache.commons.lang.ObjectUtils
;
import
org.apache.commons.lang.StringUtils
;
import
org.apache.commons.lang.StringUtils
;
import
org.apache.commons.lang.time.DateUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.stereotype.Component
;
import
org.springframework.stereotype.Component
;
...
@@ -110,7 +112,7 @@ public class CheckOrder {
...
@@ -110,7 +112,7 @@ public class CheckOrder {
private
MemberPropertyService
memberPropertyService
;
private
MemberPropertyService
memberPropertyService
;
@Autowired
@Autowired
private
ShoppingCartClient
shoppingCartClient
;
private
ShoppingCartClient
shoppingCartClient
;
// @Autowired
// @Autowired
// private OrderAdapter orderAdapter;
// private OrderAdapter orderAdapter;
@Autowired
@Autowired
private
StoreServiceImpl
storeService
;
private
StoreServiceImpl
storeService
;
...
@@ -133,6 +135,7 @@ public class CheckOrder {
...
@@ -133,6 +135,7 @@ public class CheckOrder {
@Value
(
"${coco.partnerId}"
)
@Value
(
"${coco.partnerId}"
)
private
String
cocoPartnerId
;
private
String
cocoPartnerId
;
/**
/**
* 下单会员相关校验
* 下单会员相关校验
*/
*/
...
@@ -193,8 +196,8 @@ public class CheckOrder {
...
@@ -193,8 +196,8 @@ public class CheckOrder {
throw
new
ServiceException
(
ResponseResult
.
STORE_NOT_FOUND
);
throw
new
ServiceException
(
ResponseResult
.
STORE_NOT_FOUND
);
}
}
//订单预约单检查
//订单预约单检查
OrderCheckAdapter
.
check
(
createOrderVo
,
storeResponse
);
OrderCheckAdapter
.
check
(
createOrderVo
,
storeResponse
);
StoreResponse
.
BizVO
storeResponseDto
=
storeResponse
.
getBizVO
();
StoreResponse
.
BizVO
storeResponseDto
=
storeResponse
.
getBizVO
();
// 校验门店是否停业 1 营业 2 停业 3 繁忙置休
// 校验门店是否停业 1 营业 2 停业 3 繁忙置休
if
(
storeResponseDto
.
getActiveFlag
()
==
null
||
storeResponseDto
.
getActiveFlag
()
!=
1
)
{
if
(
storeResponseDto
.
getActiveFlag
()
==
null
||
storeResponseDto
.
getActiveFlag
()
!=
1
)
{
...
@@ -274,6 +277,23 @@ public class CheckOrder {
...
@@ -274,6 +277,23 @@ public class CheckOrder {
}
else
{
}
else
{
storeDeliveryInfoDto
=
getNewStoreDeliveryInfo
(
storeResponseDto
,
config
,
appId
,
trackingNo
);
storeDeliveryInfoDto
=
getNewStoreDeliveryInfo
(
storeResponseDto
,
config
,
appId
,
trackingNo
);
}
}
//coco自配送提前45分钟,禁止下单
if
(
cocoPartnerId
.
equals
(
createOrderVo
.
getPartnerId
())
&&
CreateOrderType
.
TAKE_OUT
.
getCode
().
equals
(
createOrderVo
.
getOrderType
())
&&
"self"
.
equals
(
storeDeliveryInfoDto
.
getDeliveryType
())
)
{
//即时单是下单时间,预约单是预约单时间
Date
orderDate
=
createOrderVo
.
getExpectTime
()
!=
null
?
DateUtil
.
convert2Date
(
createOrderVo
.
getExpectTime
(),
DateUtil
.
FORMAT_YYYY_MM_DD_HHMMSS
)
:
new
Date
();
Date
todayEnd
=
DateUtil
.
setEndDay
(
new
Date
());
boolean
toDay
=
orderDate
.
before
(
todayEnd
);
BusinessDate
businessDate
=
getStoreBusinessDate
(
storeResponseDto
,
toDay
);
boolean
businessEndDate
=
(
DateUtils
.
addMinutes
(
orderDate
,
45
).
compareTo
(
businessDate
.
getEndDate
())
<=
0
);
if
(
businessEndDate
)
{
throw
new
ServiceException
(
ResponseResult
.
STORE_SELF_ERROR
);
}
}
//todo : 这里不再支持从表中获取门店配送信息 改用接口方式调用
//todo : 这里不再支持从表中获取门店配送信息 改用接口方式调用
//外卖起送条件(1:杯数,2:金额)
//外卖起送条件(1:杯数,2:金额)
if
(!
Arrays
.
asList
(
1
,
2
).
contains
(
storeDeliveryInfoDto
.
getDeliveryCondition
()))
{
if
(!
Arrays
.
asList
(
1
,
2
).
contains
(
storeDeliveryInfoDto
.
getDeliveryCondition
()))
{
...
@@ -297,6 +317,22 @@ public class CheckOrder {
...
@@ -297,6 +317,22 @@ public class CheckOrder {
return
pushOrderTime
;
return
pushOrderTime
;
}
}
/**
* 获取门店营业时间
*
* @param storeResponseDto
* @param toDay true 今日,false 明天
* @return
*/
private
BusinessDate
getStoreBusinessDate
(
StoreResponse
.
BizVO
storeResponseDto
,
boolean
toDay
)
{
List
<
String
>
todayBusinessTimes
=
storeCenterService
.
getTodayBusinessTime
(
Integer
.
parseInt
(
storeResponseDto
.
getBusinessType
()),
storeResponseDto
.
getBusinessHoursDay
());
if
(
CollectionUtils
.
isEmpty
(
todayBusinessTimes
))
{
throw
new
ServiceException
(
ResponseResult
.
STORE_BUSINESS_HOUR_ERROR
);
}
BusinessDate
businessDate
=
getStoreBusinessDate
(
todayBusinessTimes
.
get
(
todayBusinessTimes
.
size
()
-
1
),
toDay
);
return
businessDate
;
}
public
void
checkOrderExpectTime
(
CreateOrderVo
createOrderVo
,
StoreResponse
.
BizVO
storeResponseDto
,
Date
takeMealDateTime
)
{
public
void
checkOrderExpectTime
(
CreateOrderVo
createOrderVo
,
StoreResponse
.
BizVO
storeResponseDto
,
Date
takeMealDateTime
)
{
if
(
takeMealDateTime
==
null
)
{
if
(
takeMealDateTime
==
null
)
{
return
;
return
;
...
@@ -706,19 +742,19 @@ public class CheckOrder {
...
@@ -706,19 +742,19 @@ public class CheckOrder {
storeDeliveryInfoDto
.
setPushOrderTime
(
0
);
storeDeliveryInfoDto
.
setPushOrderTime
(
0
);
}
else
{
}
else
{
//如果是coco查询配送服务判断是平台配送还是自配送
//如果是coco查询配送服务判断是平台配送还是自配送
if
(
cocoPartnerId
.
equals
(
storeResponseDto
.
getPartnerId
()))
{
if
(
cocoPartnerId
.
equals
(
storeResponseDto
.
getPartnerId
()))
{
GetDeliveryFlagRequest
getDeliveryFlagRequest
=
new
GetDeliveryFlagRequest
();
GetDeliveryFlagRequest
getDeliveryFlagRequest
=
new
GetDeliveryFlagRequest
();
getDeliveryFlagRequest
.
setPartnerId
(
storeResponseDto
.
getPartnerId
());
getDeliveryFlagRequest
.
setPartnerId
(
storeResponseDto
.
getPartnerId
());
getDeliveryFlagRequest
.
setStoreId
(
storeResponseDto
.
getStoreId
());
getDeliveryFlagRequest
.
setStoreId
(
storeResponseDto
.
getStoreId
());
DeliveryBaseResponse
<
GetDeliveryFlagResponseDto
>
deliveryBaseResponse
=
deliveryFeiginClient
.
getThirdDeliveryFlag
(
getDeliveryFlagRequest
);
DeliveryBaseResponse
<
GetDeliveryFlagResponseDto
>
deliveryBaseResponse
=
deliveryFeiginClient
.
getThirdDeliveryFlag
(
getDeliveryFlagRequest
);
if
(
deliveryBaseResponse
.
getCode
()
==
100
&&
deliveryBaseResponse
.
getData
()
!=
null
&&
deliveryBaseResponse
.
getData
().
isThirdDeliveryFlag
())
{
if
(
deliveryBaseResponse
.
getCode
()
==
100
&&
deliveryBaseResponse
.
getData
()
!=
null
&&
deliveryBaseResponse
.
getData
().
isThirdDeliveryFlag
())
{
storeDeliveryInfoDto
.
setDeliveryType
(
"third"
);
storeDeliveryInfoDto
.
setDeliveryType
(
"third"
);
storeDeliveryInfoDto
.
setPushOrderTime
(
0
);
storeDeliveryInfoDto
.
setPushOrderTime
(
0
);
}
else
{
}
else
{
storeDeliveryInfoDto
.
setDeliveryType
(
"self"
);
storeDeliveryInfoDto
.
setDeliveryType
(
"self"
);
storeDeliveryInfoDto
.
setPushOrderTime
(
0
);
storeDeliveryInfoDto
.
setPushOrderTime
(
0
);
}
}
}
else
{
}
else
{
if
(
ObjectUtils
.
equals
(
openPlatformIappWxappConfig
.
getTakeType
(),
1
))
{
if
(
ObjectUtils
.
equals
(
openPlatformIappWxappConfig
.
getTakeType
(),
1
))
{
storeDeliveryInfoDto
.
setDeliveryType
(
"self"
);
storeDeliveryInfoDto
.
setDeliveryType
(
"self"
);
storeDeliveryInfoDto
.
setPushOrderTime
(
0
);
storeDeliveryInfoDto
.
setPushOrderTime
(
0
);
...
@@ -774,19 +810,19 @@ public class CheckOrder {
...
@@ -774,19 +810,19 @@ public class CheckOrder {
storeDeliveryInfoDto
.
setPushOrderTime
(
0
);
storeDeliveryInfoDto
.
setPushOrderTime
(
0
);
}
else
{
}
else
{
//如果是coco查询配送服务判断是平台配送还是自配送
//如果是coco查询配送服务判断是平台配送还是自配送
if
(
cocoPartnerId
.
equals
(
storeResponseDto
.
getPartnerId
()))
{
if
(
cocoPartnerId
.
equals
(
storeResponseDto
.
getPartnerId
()))
{
GetDeliveryFlagRequest
getDeliveryFlagRequest
=
new
GetDeliveryFlagRequest
();
GetDeliveryFlagRequest
getDeliveryFlagRequest
=
new
GetDeliveryFlagRequest
();
getDeliveryFlagRequest
.
setPartnerId
(
storeResponseDto
.
getPartnerId
());
getDeliveryFlagRequest
.
setPartnerId
(
storeResponseDto
.
getPartnerId
());
getDeliveryFlagRequest
.
setStoreId
(
storeResponseDto
.
getStoreId
());
getDeliveryFlagRequest
.
setStoreId
(
storeResponseDto
.
getStoreId
());
DeliveryBaseResponse
<
GetDeliveryFlagResponseDto
>
deliveryBaseResponse
=
deliveryFeiginClient
.
getThirdDeliveryFlag
(
getDeliveryFlagRequest
);
DeliveryBaseResponse
<
GetDeliveryFlagResponseDto
>
deliveryBaseResponse
=
deliveryFeiginClient
.
getThirdDeliveryFlag
(
getDeliveryFlagRequest
);
if
(
deliveryBaseResponse
.
getCode
()
==
100
&&
deliveryBaseResponse
.
getData
()
!=
null
&&
deliveryBaseResponse
.
getData
().
isThirdDeliveryFlag
())
{
if
(
deliveryBaseResponse
.
getCode
()
==
100
&&
deliveryBaseResponse
.
getData
()
!=
null
&&
deliveryBaseResponse
.
getData
().
isThirdDeliveryFlag
())
{
storeDeliveryInfoDto
.
setDeliveryType
(
"third"
);
storeDeliveryInfoDto
.
setDeliveryType
(
"third"
);
storeDeliveryInfoDto
.
setPushOrderTime
(
0
);
storeDeliveryInfoDto
.
setPushOrderTime
(
0
);
}
else
{
}
else
{
storeDeliveryInfoDto
.
setDeliveryType
(
"self"
);
storeDeliveryInfoDto
.
setDeliveryType
(
"self"
);
storeDeliveryInfoDto
.
setPushOrderTime
(
0
);
storeDeliveryInfoDto
.
setPushOrderTime
(
0
);
}
}
}
else
{
}
else
{
if
(
ObjectUtils
.
equals
(
openPlatformIappWxappConfig
.
getTakeType
(),
1
))
{
if
(
ObjectUtils
.
equals
(
openPlatformIappWxappConfig
.
getTakeType
(),
1
))
{
storeDeliveryInfoDto
.
setDeliveryType
(
"self"
);
storeDeliveryInfoDto
.
setDeliveryType
(
"self"
);
storeDeliveryInfoDto
.
setPushOrderTime
(
0
);
storeDeliveryInfoDto
.
setPushOrderTime
(
0
);
...
...
order-application-service/src/test/java/cn.freemud/utils/DateUtilsTest.java
0 → 100644
View file @
541e5c79
package
cn
.
freemud
.
utils
;
import
cn.freemud.base.util.DateUtil
;
import
org.apache.commons.lang.time.DateUtils
;
import
org.junit.Test
;
import
java.text.ParseException
;
import
java.text.SimpleDateFormat
;
import
java.util.Date
;
public
class
DateUtilsTest
{
@Test
public
void
testDateCompare
()
throws
ParseException
{
SimpleDateFormat
sdf
=
new
SimpleDateFormat
(
"yyyy-MM-dd HH:mm:ss"
);
Date
date1
=
sdf
.
parse
(
"2020-12-30 00:00:00"
);
Date
date2
=
sdf
.
parse
(
"2020-12-14 11:50:00"
);
System
.
out
.
println
(
"date1 : "
+
sdf
.
format
(
date1
));
System
.
out
.
println
(
"date2 : "
+
sdf
.
format
(
date2
));
System
.
out
.
println
(
date1
.
compareTo
(
date2
));
if
(
date1
.
compareTo
(
date2
)
>
0
)
{
System
.
out
.
println
(
"Date1 时间在 Date2 之后"
);
}
else
if
(
date1
.
compareTo
(
date2
)
<
0
)
{
System
.
out
.
println
(
"Date1 时间在 Date2 之前"
);
}
else
if
(
date1
.
compareTo
(
date2
)
==
0
)
{
System
.
out
.
println
(
"Date1 时间与 Date2 相等"
);
}
else
{
System
.
out
.
println
(
"程序怎么会运行到这里?正常应该不会"
);
}
boolean
x
=(
DateUtils
.
addMinutes
(
new
Date
(),
45
).
compareTo
(
date2
)
<=
0
);
System
.
out
.
println
(
x
);
}
@Test
public
void
testBefore
()
throws
ParseException
{
SimpleDateFormat
sdf
=
new
SimpleDateFormat
(
"yyyy-MM-dd HH:mm:ss"
);
Date
date1
=
sdf
.
parse
(
"2020-12-30 00:00:00"
);
Date
date
=
DateUtil
.
setEndDay
(
new
Date
());
String
s
=
DateUtil
.
convert2String
(
date
,
"yyyy-MM-dd HH:mm:ss"
);
System
.
out
.
println
(
date
.
before
(
date1
));
}
}
ordercenter-sdk/src/main/java/com/freemud/application/sdk/api/ordercenter/response/PaySuccessResp.java
View file @
541e5c79
...
@@ -26,7 +26,7 @@ public class PaySuccessResp {
...
@@ -26,7 +26,7 @@ public class PaySuccessResp {
//总排队人数
//总排队人数
private
Integer
queueNumber
;
private
Integer
queueNumber
;
//取餐码
//取餐码
private
Integer
pickUpGoodsNo
;
private
String
pickUpGoodsNo
;
//门店订单序号
//门店订单序号
private
Integer
daySeq
;
private
Integer
daySeq
;
...
...
shopping-cart-application-service/src/main/java/cn/freemud/adapter/ShoppingCartConvertAdapter.java
View file @
541e5c79
...
@@ -694,7 +694,9 @@ public class ShoppingCartConvertAdapter {
...
@@ -694,7 +694,9 @@ public class ShoppingCartConvertAdapter {
productComboType
=
parentProductBean
.
getProductComboList
().
stream
().
filter
(
p
->
ObjectUtils
.
equals
(
comboxGoods
.
getGoodsId
(),
p
.
getProductId
())).
findFirst
().
orElse
(
new
ProductTypeBeanDTO
.
ProductComboType
());
productComboType
=
parentProductBean
.
getProductComboList
().
stream
().
filter
(
p
->
ObjectUtils
.
equals
(
comboxGoods
.
getGoodsId
(),
p
.
getProductId
())).
findFirst
().
orElse
(
new
ProductTypeBeanDTO
.
ProductComboType
());
}
else
{
}
else
{
Map
<
String
,
ProductTypeBeanDTO
.
ProductGroupType
.
GroupDetailType
>
map
=
new
HashMap
<>();
Map
<
String
,
ProductTypeBeanDTO
.
ProductGroupType
.
GroupDetailType
>
map
=
new
HashMap
<>();
parentProductBean
.
getProductGroupList
().
stream
().
map
(
t
->
t
.
getGroupDetail
()).
forEach
(
group
->
group
.
forEach
(
detailType
->
map
.
put
(
detailType
.
getProductId
(),
detailType
)));
if
(
CollectionUtils
.
isNotEmpty
(
parentProductBean
.
getAdditionalGroupList
())){
parentProductBean
.
getProductGroupList
().
stream
().
map
(
t
->
t
.
getGroupDetail
()).
forEach
(
group
->
group
.
forEach
(
detailType
->
map
.
put
(
detailType
.
getProductId
(),
detailType
)));
}
groupDetailType
=
map
.
get
(
comboxGoods
.
getGoodsId
());
groupDetailType
=
map
.
get
(
comboxGoods
.
getGoodsId
());
}
}
...
@@ -871,14 +873,15 @@ public class ShoppingCartConvertAdapter {
...
@@ -871,14 +873,15 @@ public class ShoppingCartConvertAdapter {
//套餐可选商品
//套餐可选商品
if
(
CollectionUtils
.
isNotEmpty
(
cartGoods
.
getProductGroupList
()))
{
if
(
CollectionUtils
.
isNotEmpty
(
cartGoods
.
getProductGroupList
()))
{
for
(
com
.
freemud
.
sdk
.
api
.
assortment
.
shoppingcart
.
domain
.
CartGoods
.
ComboxGoods
comboxGoods
:
cartGoods
.
getProductGroupList
()){
for
(
com
.
freemud
.
sdk
.
api
.
assortment
.
shoppingcart
.
domain
.
CartGoods
.
ComboxGoods
comboxGoods
:
cartGoods
.
getProductGroupList
()){
ProductTypeBeanDTO
productBeanDTO
=
subProductTypeMap
.
get
(
comboxGoods
.
getSpuId
());
//套餐子商品多规格商品
//套餐子商品多规格商品
if
(
comboxGoods
.
getSpuId
()
!=
null
&&
!
comboxGoods
.
getSkuId
().
equals
(
comboxGoods
.
getSpuId
())
){
if
(
comboxGoods
.
getSpuId
()
!=
null
&&
!
comboxGoods
.
getSkuId
().
equals
(
comboxGoods
.
getSpuId
())
){
for
(
com
.
freemud
.
sdk
.
api
.
assortment
.
shoppingcart
.
domain
.
CartGoods
.
ComboxGoods
productGroup
:
cartGoods
.
getProductGroupList
())
{
for
(
com
.
freemud
.
sdk
.
api
.
assortment
.
shoppingcart
.
domain
.
CartGoods
.
ComboxGoods
productGroup
:
cartGoods
.
getProductGroupList
())
{
updateComboxGoodsInfoForMCoffee
(
productGroup
,
spuProduct
,
false
);
updateComboxGoodsInfoForMCoffee
(
productGroup
,
productBeanDTO
,
false
);
}
}
}
else
{
}
else
{
for
(
com
.
freemud
.
sdk
.
api
.
assortment
.
shoppingcart
.
domain
.
CartGoods
.
ComboxGoods
productGroup
:
cartGoods
.
getProductGroupList
())
{
for
(
com
.
freemud
.
sdk
.
api
.
assortment
.
shoppingcart
.
domain
.
CartGoods
.
ComboxGoods
productGroup
:
cartGoods
.
getProductGroupList
())
{
updateComboxGoodsInfoForMCoffee
(
productGroup
,
spuProduct
,
false
);
updateComboxGoodsInfoForMCoffee
(
productGroup
,
productBeanDTO
,
false
);
}
}
}
}
}
}
...
...
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/ShoppingCartCollageServiceImpl.java
View file @
541e5c79
...
@@ -738,11 +738,12 @@ public class ShoppingCartCollageServiceImpl extends AbstractShoppingCartImpl imp
...
@@ -738,11 +738,12 @@ public class ShoppingCartCollageServiceImpl extends AbstractShoppingCartImpl imp
* 重新计算拼单购物车行总折扣金额
* 重新计算拼单购物车行总折扣金额
*/
*/
private
void
updateTotalDiscountAmount
(
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
calculationDiscountResult
,
ShoppingCartGoodsDto
shoppingCartGoodsDto
)
{
private
void
updateTotalDiscountAmount
(
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
calculationDiscountResult
,
ShoppingCartGoodsDto
shoppingCartGoodsDto
)
{
if
(
null
!=
shoppingCartGoodsDto
&&
null
!=
shoppingCartGoodsDto
.
getProducts
()
&&
null
!=
calculationDiscountResult
.
getGoods
())
{
if
(
null
!=
shoppingCartGoodsDto
&&
null
!=
shoppingCartGoodsDto
.
getProducts
()
&&
null
!=
calculationDiscountResult
&&
null
!=
calculationDiscountResult
.
getGoods
())
{
shoppingCartGoodsDto
.
getProducts
().
stream
().
forEach
(
product
->
{
shoppingCartGoodsDto
.
getProducts
().
stream
().
forEach
(
product
->
{
calculationDiscountResult
.
getGoods
().
stream
().
forEach
(
goods
->
{
calculationDiscountResult
.
getGoods
().
stream
().
forEach
(
goods
->
{
if
(
goods
.
getCartGoodsUid
().
equals
(
product
.
getCartGoodsUid
()))
{
if
(
goods
.
getCartGoodsUid
().
equals
(
product
.
getCartGoodsUid
()))
{
product
.
setTotalDiscountAmount
(
Integer
.
valueOf
(
String
.
valueOf
(
goods
.
getDiscountAmount
())));
long
totalDiscountAmount
=
product
.
getOriginalPrice
()
*
product
.
getQty
()
-
goods
.
getRealAmount
();
product
.
setTotalDiscountAmount
(
Integer
.
valueOf
(
String
.
valueOf
(
totalDiscountAmount
)));
}
}
});
});
});
});
...
...
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/mcoffee/ShoppingCartMCoffeeServiceImpl.java
View file @
541e5c79
...
@@ -270,8 +270,11 @@ public class ShoppingCartMCoffeeServiceImpl {
...
@@ -270,8 +270,11 @@ public class ShoppingCartMCoffeeServiceImpl {
isContinue
=
false
;
isContinue
=
false
;
}
}
if
(
StringUtils
.
isNotEmpty
(
goodsId
)
&&
StringUtils
.
isNotEmpty
(
couponCode
)
&&
isContinue
if
(
StringUtils
.
isNotEmpty
(
goodsId
)
&&
StringUtils
.
isNotEmpty
(
couponCode
)
&&
isContinue
&&
cartGoods
.
getName
().
equals
(
"啡常搭"
)
&&
CollectionUtils
.
isNotEmpty
(
cartGoods
.
getProductComboList
())
&&
cartGoods
.
getProductComboList
().
size
()
==
1
&&
cartGoods
.
getName
().
equals
(
"啡常搭"
)
&&
cartGoods
.
getGoodsType
().
equals
(
GoodsTypeEnum
.
SET_MEAL_GOODS
.
getGoodsType
())
&&
CollectionUtils
.
isEmpty
(
cartGoods
.
getProductGroupList
())
&&
cartGoods
.
getProductComboList
().
get
(
0
).
getSkuId
().
equals
(
goodsId
))
{
&&
CollectionUtils
.
isNotEmpty
(
cartGoods
.
getProductComboList
())
&&
cartGoods
.
getProductComboList
().
size
()
==
1
&&
cartGoods
.
getProductComboList
().
get
(
0
).
getSkuId
().
equals
(
goodsId
)
&&
CollectionUtils
.
isNotEmpty
(
cartGoods
.
getProductGroupList
())
&&
cartGoods
.
getProductGroupList
().
size
()
==
1
&&
cartGoods
.
getProductGroupList
().
get
(
0
).
getSkuId
().
equals
(
"0"
)
&&
cartGoods
.
getProductGroupList
().
get
(
0
).
getSkuName
().
equals
(
"无"
))
{
// 如果购物车商品存在商品规格,替换时复制规格信息
// 如果购物车商品存在商品规格,替换时复制规格信息
if
(
CollectionUtils
.
isNotEmpty
(
cartGoods
.
getProductComboList
().
get
(
0
).
getSpecialExtra
()))
{
if
(
CollectionUtils
.
isNotEmpty
(
cartGoods
.
getProductComboList
().
get
(
0
).
getSpecialExtra
()))
{
addShoppingCartGoodsRequestVo
.
setSpecialExtra
(
cartGoods
.
getProductComboList
().
get
(
0
).
getSpecialExtra
());
addShoppingCartGoodsRequestVo
.
setSpecialExtra
(
cartGoods
.
getProductComboList
().
get
(
0
).
getSpecialExtra
());
...
...
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