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
4ce7b07a
Commit
4ce7b07a
authored
Dec 14, 2020
by
徐康
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/qa' into qa
parents
7354986d
55f060e0
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
107 additions
and
18 deletions
+107
-18
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
+3
-2
No files found.
assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/request/order/CreateOrderProductRequest.java
View file @
4ce7b07a
...
...
@@ -48,6 +48,8 @@ public class CreateOrderProductRequest extends BaseConfig {
* 商品货号,商品服务可重复
*/
private
String
productCode
;
/**
* 商品价格 单价分
*/
...
...
@@ -201,6 +203,8 @@ public class CreateOrderProductRequest extends BaseConfig {
private
String
classificationName
;
private
String
category
;
private
List
<
String
>
specialCodes
;
private
List
<
OrderSpecialExtraAttrRequest
>
specialAttrs
;
...
...
assortment-shoppingcart-sdk/readme.md
View file @
4ce7b07a
...
...
@@ -11,4 +11,5 @@
| 1.1.3.RELEASE| 增加统计分类classificationId ,setClassificationName | | 2020-06-16 |
| 1.1.5.RELEASE| 商品加料 | | 2020-08-24 |
| 1.1.6.RELEASE| 新增商品券名称字段| 孙昱 | 2020-11-09 |
| 1.1.7.RELEASE| 标识套餐类型| 孙昱 | 2020-12-01 |
\ No newline at end of file
| 1.1.7.RELEASE| 标识套餐类型| 孙昱 | 2020-12-01 |
| 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 @
4ce7b07a
This diff is collapsed.
Click to expand it.
order-application-service/src/main/java/cn/freemud/entities/dto/ecology/SubscribeMessageRequest.java
View file @
4ce7b07a
...
...
@@ -29,7 +29,7 @@ public class SubscribeMessageRequest {
* 5 字节小程序
* 6 h5
*/
private
Integer
channel
;
private
Integer
channel
=
1
;
/**
* 配送异常提醒
...
...
order-application-service/src/main/java/cn/freemud/enums/ResponseResult.java
View file @
4ce7b07a
...
...
@@ -170,6 +170,7 @@ public enum ResponseResult {
COLLAGE_ORDER_CREATE_ERROR_NOT_EXIST
(
"45070"
,
"拼单信息不存在,无法创建订单"
),
COLLAGE_ORDER_CREATE_ERROR_PAYING
(
"45071"
,
"拼单正在支付,请勿重复提交"
),
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 @
4ce7b07a
...
...
@@ -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.StoreResponse
;
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.gson.Gson
;
import
lombok.extern.log4j.Log4j
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.lang.ObjectUtils
;
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.Value
;
import
org.springframework.stereotype.Component
;
...
...
@@ -110,7 +112,7 @@ public class CheckOrder {
private
MemberPropertyService
memberPropertyService
;
@Autowired
private
ShoppingCartClient
shoppingCartClient
;
// @Autowired
// @Autowired
// private OrderAdapter orderAdapter;
@Autowired
private
StoreServiceImpl
storeService
;
...
...
@@ -133,6 +135,7 @@ public class CheckOrder {
@Value
(
"${coco.partnerId}"
)
private
String
cocoPartnerId
;
/**
* 下单会员相关校验
*/
...
...
@@ -193,8 +196,8 @@ public class CheckOrder {
throw
new
ServiceException
(
ResponseResult
.
STORE_NOT_FOUND
);
}
//订单预约单检查
OrderCheckAdapter
.
check
(
createOrderVo
,
storeResponse
);
OrderCheckAdapter
.
check
(
createOrderVo
,
storeResponse
);
StoreResponse
.
BizVO
storeResponseDto
=
storeResponse
.
getBizVO
();
// 校验门店是否停业 1 营业 2 停业 3 繁忙置休
if
(
storeResponseDto
.
getActiveFlag
()
==
null
||
storeResponseDto
.
getActiveFlag
()
!=
1
)
{
...
...
@@ -274,6 +277,23 @@ public class CheckOrder {
}
else
{
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 : 这里不再支持从表中获取门店配送信息 改用接口方式调用
//外卖起送条件(1:杯数,2:金额)
if
(!
Arrays
.
asList
(
1
,
2
).
contains
(
storeDeliveryInfoDto
.
getDeliveryCondition
()))
{
...
...
@@ -297,6 +317,22 @@ public class CheckOrder {
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
)
{
if
(
takeMealDateTime
==
null
)
{
return
;
...
...
@@ -706,19 +742,19 @@ public class CheckOrder {
storeDeliveryInfoDto
.
setPushOrderTime
(
0
);
}
else
{
//如果是coco查询配送服务判断是平台配送还是自配送
if
(
cocoPartnerId
.
equals
(
storeResponseDto
.
getPartnerId
()))
{
if
(
cocoPartnerId
.
equals
(
storeResponseDto
.
getPartnerId
()))
{
GetDeliveryFlagRequest
getDeliveryFlagRequest
=
new
GetDeliveryFlagRequest
();
getDeliveryFlagRequest
.
setPartnerId
(
storeResponseDto
.
getPartnerId
());
getDeliveryFlagRequest
.
setStoreId
(
storeResponseDto
.
getStoreId
());
DeliveryBaseResponse
<
GetDeliveryFlagResponseDto
>
deliveryBaseResponse
=
deliveryFeiginClient
.
getThirdDeliveryFlag
(
getDeliveryFlagRequest
);
if
(
deliveryBaseResponse
.
getCode
()
==
100
&&
deliveryBaseResponse
.
getData
()
!=
null
&&
deliveryBaseResponse
.
getData
().
isThirdDeliveryFlag
())
{
DeliveryBaseResponse
<
GetDeliveryFlagResponseDto
>
deliveryBaseResponse
=
deliveryFeiginClient
.
getThirdDeliveryFlag
(
getDeliveryFlagRequest
);
if
(
deliveryBaseResponse
.
getCode
()
==
100
&&
deliveryBaseResponse
.
getData
()
!=
null
&&
deliveryBaseResponse
.
getData
().
isThirdDeliveryFlag
())
{
storeDeliveryInfoDto
.
setDeliveryType
(
"third"
);
storeDeliveryInfoDto
.
setPushOrderTime
(
0
);
}
else
{
}
else
{
storeDeliveryInfoDto
.
setDeliveryType
(
"self"
);
storeDeliveryInfoDto
.
setPushOrderTime
(
0
);
}
}
else
{
}
else
{
if
(
ObjectUtils
.
equals
(
openPlatformIappWxappConfig
.
getTakeType
(),
1
))
{
storeDeliveryInfoDto
.
setDeliveryType
(
"self"
);
storeDeliveryInfoDto
.
setPushOrderTime
(
0
);
...
...
@@ -774,19 +810,19 @@ public class CheckOrder {
storeDeliveryInfoDto
.
setPushOrderTime
(
0
);
}
else
{
//如果是coco查询配送服务判断是平台配送还是自配送
if
(
cocoPartnerId
.
equals
(
storeResponseDto
.
getPartnerId
()))
{
if
(
cocoPartnerId
.
equals
(
storeResponseDto
.
getPartnerId
()))
{
GetDeliveryFlagRequest
getDeliveryFlagRequest
=
new
GetDeliveryFlagRequest
();
getDeliveryFlagRequest
.
setPartnerId
(
storeResponseDto
.
getPartnerId
());
getDeliveryFlagRequest
.
setStoreId
(
storeResponseDto
.
getStoreId
());
DeliveryBaseResponse
<
GetDeliveryFlagResponseDto
>
deliveryBaseResponse
=
deliveryFeiginClient
.
getThirdDeliveryFlag
(
getDeliveryFlagRequest
);
if
(
deliveryBaseResponse
.
getCode
()
==
100
&&
deliveryBaseResponse
.
getData
()
!=
null
&&
deliveryBaseResponse
.
getData
().
isThirdDeliveryFlag
())
{
DeliveryBaseResponse
<
GetDeliveryFlagResponseDto
>
deliveryBaseResponse
=
deliveryFeiginClient
.
getThirdDeliveryFlag
(
getDeliveryFlagRequest
);
if
(
deliveryBaseResponse
.
getCode
()
==
100
&&
deliveryBaseResponse
.
getData
()
!=
null
&&
deliveryBaseResponse
.
getData
().
isThirdDeliveryFlag
())
{
storeDeliveryInfoDto
.
setDeliveryType
(
"third"
);
storeDeliveryInfoDto
.
setPushOrderTime
(
0
);
}
else
{
}
else
{
storeDeliveryInfoDto
.
setDeliveryType
(
"self"
);
storeDeliveryInfoDto
.
setPushOrderTime
(
0
);
}
}
else
{
}
else
{
if
(
ObjectUtils
.
equals
(
openPlatformIappWxappConfig
.
getTakeType
(),
1
))
{
storeDeliveryInfoDto
.
setDeliveryType
(
"self"
);
storeDeliveryInfoDto
.
setPushOrderTime
(
0
);
...
...
order-application-service/src/test/java/cn.freemud/utils/DateUtilsTest.java
0 → 100644
View file @
4ce7b07a
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 @
4ce7b07a
...
...
@@ -26,7 +26,7 @@ public class PaySuccessResp {
//总排队人数
private
Integer
queueNumber
;
//取餐码
private
Integer
pickUpGoodsNo
;
private
String
pickUpGoodsNo
;
//门店订单序号
private
Integer
daySeq
;
...
...
shopping-cart-application-service/src/main/java/cn/freemud/adapter/ShoppingCartConvertAdapter.java
View file @
4ce7b07a
...
...
@@ -871,14 +871,15 @@ public class ShoppingCartConvertAdapter {
//套餐可选商品
if
(
CollectionUtils
.
isNotEmpty
(
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
())
){
for
(
com
.
freemud
.
sdk
.
api
.
assortment
.
shoppingcart
.
domain
.
CartGoods
.
ComboxGoods
productGroup
:
cartGoods
.
getProductGroupList
())
{
updateComboxGoodsInfoForMCoffee
(
productGroup
,
spuProduct
,
false
);
updateComboxGoodsInfoForMCoffee
(
productGroup
,
productBeanDTO
,
false
);
}
}
else
{
for
(
com
.
freemud
.
sdk
.
api
.
assortment
.
shoppingcart
.
domain
.
CartGoods
.
ComboxGoods
productGroup
:
cartGoods
.
getProductGroupList
())
{
updateComboxGoodsInfoForMCoffee
(
productGroup
,
spuProduct
,
false
);
updateComboxGoodsInfoForMCoffee
(
productGroup
,
productBeanDTO
,
false
);
}
}
}
...
...
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