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
a96ba802
Commit
a96ba802
authored
Apr 14, 2021
by
hanghang.wang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
完成状态中英文切换
parent
88f8a2b1
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
207 additions
and
0 deletions
+207
-0
order-application-service/src/main/java/cn/freemud/adapter/OrderAdapter.java
+0
-0
order-application-service/src/main/java/cn/freemud/controller/OrderController.java
+7
-0
order-application-service/src/main/java/cn/freemud/entities/dto/CreateSpellGroupOrderDto.java
+26
-0
order-application-service/src/main/java/cn/freemud/entities/vo/CreateSpellGroupOrderReq.java
+85
-0
order-application-service/src/main/java/cn/freemud/enums/ResponseResult.java
+7
-0
order-application-service/src/main/java/cn/freemud/service/Orderservice.java
+7
-0
order-application-service/src/main/java/cn/freemud/service/impl/CheckOrder.java
+33
-0
order-application-service/src/main/java/cn/freemud/service/impl/OrderServiceImpl.java
+42
-0
No files found.
order-application-service/src/main/java/cn/freemud/adapter/OrderAdapter.java
View file @
a96ba802
This diff is collapsed.
Click to expand it.
order-application-service/src/main/java/cn/freemud/controller/OrderController.java
View file @
a96ba802
...
@@ -74,6 +74,13 @@ public class OrderController {
...
@@ -74,6 +74,13 @@ public class OrderController {
return
orderAdapterService
.
createOrderNew
(
createOrderVo
);
return
orderAdapterService
.
createOrderNew
(
createOrderVo
);
}
}
@ApiOperation
(
value
=
"创建拼团订单"
,
notes
=
"创建拼团订单"
,
produces
=
"application/json"
)
@ApiAnnotation
(
logMessage
=
"createSpellGroupOrder"
)
@PostMapping
(
"/createSpellGroupOrder"
)
public
BaseResponse
createSpellGroupOrder
(
@Validated
@LogParams
@RequestBody
CreateSpellGroupOrderReq
request
)
{
return
orderAdapterService
.
createSpellGroupOrder
(
request
);
}
/**
/**
* 麦咖啡创建订单
* 麦咖啡创建订单
*/
*/
...
...
order-application-service/src/main/java/cn/freemud/entities/dto/CreateSpellGroupOrderDto.java
0 → 100644
View file @
a96ba802
package
cn
.
freemud
.
entities
.
dto
;
import
cn.freemud.entities.vo.CreateSpellGroupOrderReq
;
import
lombok.Data
;
/**
* @author freemud
* @title: CreateSpellGroupOrderDto
* @projectName order-group
* @description: TODO
* @date 2021/4/14下午2:36
*/
@Data
public
class
CreateSpellGroupOrderDto
extends
CreateSpellGroupOrderReq
{
/**
* 用户收货地址信息 ,入参不需要传,通过校验receiveId获取
*/
public
UserDeliveryInfoDto
userDeliveryInfoDto
;
private
String
userName
;
private
String
mobile
;
}
order-application-service/src/main/java/cn/freemud/entities/vo/CreateSpellGroupOrderReq.java
0 → 100644
View file @
a96ba802
package
cn
.
freemud
.
entities
.
vo
;
import
cn.freemud.entities.dto.delivery.WeixinDeliveryAddressDto
;
import
lombok.Builder
;
import
lombok.Data
;
import
org.hibernate.validator.constraints.NotEmpty
;
import
javax.validation.constraints.NotNull
;
import
javax.validation.constraints.Pattern
;
import
java.util.List
;
/**
* @author freemud
* @title: CreateSpellGroupOrderReq
* @projectName order-group
* @description: TODO
* @date 2021/4/14上午9:52
*/
@Data
public
class
CreateSpellGroupOrderReq
{
@NotEmpty
(
message
=
"sessionId 不能为空"
)
private
String
sessionId
;
/**
* 参与拼团编号->团编号
*/
private
String
SpellGroupCode
;
//@NotEmpty(message = "门店ID 不能为空")
private
String
storeId
;
private
String
thirdShopId
;
private
String
partnerId
;
@Builder
.
Default
private
String
menuType
=
"saas"
;
/**
* 渠道类型 OrderChannelType
*/
private
String
channelType
;
/**
* 订单类型 1 到店自取 2 外卖 枚举CreateOrderType
*/
//@NotNull(message = "下单类型不能为空")
private
Integer
orderType
;
/**
* 订单特殊类型 1:普通订单 2:拼团订单 3:秒杀订单 4:拼单订单
*/
@NotNull
private
Byte
marketingType
;
/**
* 收货地址ID
*/
private
String
receiveId
;
/**
* 收货地址
*/
private
String
receiveAddress
;
/**
* 收货用户名
*/
private
String
receiveUsername
;
/**
* 收货电话
*/
@Pattern
(
regexp
=
"^1[3|4|5|6|7|8|9][0-9]{9}$"
,
message
=
"手机号码格式不正确"
)
private
String
receiveMobile
;
//拼团商品集合,本次只会传入一条
private
List
<
SpellGroupProduct
>
spellGroupProductList
;
@Data
public
static
class
SpellGroupProduct
{
private
String
productId
;
}
}
order-application-service/src/main/java/cn/freemud/enums/ResponseResult.java
View file @
a96ba802
...
@@ -234,6 +234,13 @@ public enum ResponseResult {
...
@@ -234,6 +234,13 @@ public enum ResponseResult {
* coco券验证失败
* coco券验证失败
*/
*/
COCO_COUPON_VALIDATOR_FAIL
(
"70000"
,
"优惠券验证错误"
),
COCO_COUPON_VALIDATOR_FAIL
(
"70000"
,
"优惠券验证错误"
),
/**
* 拼团订单状态码 80001 - 80101
*/
SPELL_GROUP_THE_CLUB_IS_FULL
(
"80001"
,
"拼团已满员"
),
;
;
...
...
order-application-service/src/main/java/cn/freemud/service/Orderservice.java
View file @
a96ba802
...
@@ -154,4 +154,11 @@ public interface Orderservice {
...
@@ -154,4 +154,11 @@ public interface Orderservice {
*/
*/
BaseResponse
queryTodayOrders
(
QueryOrderByConditionsRequestVo
queryOrderByConditionsRequestVo
);
BaseResponse
queryTodayOrders
(
QueryOrderByConditionsRequestVo
queryOrderByConditionsRequestVo
);
/**
* 创建拼团订单
* @param createSpellGroupOrderReq
* @return
*/
public
BaseResponse
createSpellGroupOrder
(
CreateSpellGroupOrderReq
createSpellGroupOrderReq
);
}
}
order-application-service/src/main/java/cn/freemud/service/impl/CheckOrder.java
View file @
a96ba802
...
@@ -916,6 +916,39 @@ public class CheckOrder {
...
@@ -916,6 +916,39 @@ public class CheckOrder {
createOrderVo
.
setUserDeliveryInfoDto
(
userDeliveryInfoDto
);
createOrderVo
.
setUserDeliveryInfoDto
(
userDeliveryInfoDto
);
}
}
/**
* 校验收货地址是否可配送
*/
public
void
checkSpellGroupOrderReceiveAddress
(
String
receiveId
,
String
partnerId
,
String
trackingNo
,
CreateSpellGroupOrderDto
createSpellGroupOrderDto
)
{
//校验收货地址是否可配送
QueryReceiveAddressRequest
request
=
new
QueryReceiveAddressRequest
(
receiveId
,
partnerId
);
BaseResponse
<
QueryReceiveAddressResponse
>
queryReceiveAddressResponse
=
memberCenterService
.
queryReceiveAddressById
(
request
,
trackingNo
);
if
(!
ResponseResult
.
SUCCESS
.
getCode
().
equals
(
queryReceiveAddressResponse
.
getCode
())
||
queryReceiveAddressResponse
.
getData
()
==
null
)
{
throw
new
ServiceException
(
ResponseResult
.
USER_GETRECEIVEADDRESS_ERROR
);
}
QueryReceiveAddressResponse
receiveAddressResult
=
queryReceiveAddressResponse
.
getData
();
UserDeliveryInfoDto
userDeliveryInfoDto
=
storeService
.
getUserDeliveryInfo
(
null
,
receiveAddressResult
.
getLongitude
(),
receiveAddressResult
.
getLatitude
());
if
(!
userDeliveryInfoDto
.
getUserEnableTakeaway
())
{
throw
new
ServiceException
(
ResponseResult
.
ORDER_TAKE_OUT_ADDRESS_NOT_DELIVERY
);
}
userDeliveryInfoDto
.
setReceiveUserName
(
receiveAddressResult
.
getReceiveName
());
userDeliveryInfoDto
.
setReceiveMobile
(
StringUtils
.
isEmpty
(
receiveAddressResult
.
getMobile
())
?
receiveAddressResult
.
getReceiveMobile
()
:
receiveAddressResult
.
getMobile
());
String
receiveAddress
=
receiveAddressResult
.
getReceiveAddress
();
if
(
StringUtils
.
isNotBlank
(
receiveAddress
))
{
userDeliveryInfoDto
.
setReceiveAddress
(
receiveAddress
);
if
(
receiveAddress
.
contains
(
"officeName"
)
&&
receiveAddress
.
contains
(
"address"
))
{
JSONObject
jsonObject
=
JSONObject
.
parseObject
(
receiveAddress
);
userDeliveryInfoDto
.
setReceiveOfficeName
(
jsonObject
.
getString
(
"officeName"
));
userDeliveryInfoDto
.
setReceiveAddress
(
jsonObject
.
getString
(
"address"
));
}
}
createSpellGroupOrderDto
.
setUserName
(
receiveAddressResult
.
getReceiveName
());
createSpellGroupOrderDto
.
setMobile
(
StringUtils
.
isEmpty
(
receiveAddressResult
.
getMobile
())
?
receiveAddressResult
.
getReceiveMobile
()
:
receiveAddressResult
.
getMobile
());
createSpellGroupOrderDto
.
setUserDeliveryInfoDto
(
userDeliveryInfoDto
);
}
public
void
checkCardCode
(
String
partnerId
,
String
memberId
,
String
cardCode
)
{
public
void
checkCardCode
(
String
partnerId
,
String
memberId
,
String
cardCode
)
{
if
(
StringUtils
.
isBlank
(
cardCode
))
{
if
(
StringUtils
.
isBlank
(
cardCode
))
{
...
...
order-application-service/src/main/java/cn/freemud/service/impl/OrderServiceImpl.java
View file @
a96ba802
...
@@ -66,6 +66,8 @@ import cn.freemud.utils.*;
...
@@ -66,6 +66,8 @@ import cn.freemud.utils.*;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONArray
;
import
com.alibaba.fastjson.JSONArray
;
import
com.alibaba.fastjson.JSONObject
;
import
com.alibaba.fastjson.JSONObject
;
import
com.freemud.application.sdk.api.membercenter.request.QueryReceiveAddressRequest
;
import
com.freemud.application.sdk.api.membercenter.response.QueryReceiveAddressResponse
;
import
jdk.nashorn.internal.runtime.ECMAException
;
import
jdk.nashorn.internal.runtime.ECMAException
;
import
com.alibaba.fastjson.TypeReference
;
import
com.alibaba.fastjson.TypeReference
;
import
com.freemud.api.assortment.datamanager.entity.db.*
;
import
com.freemud.api.assortment.datamanager.entity.db.*
;
...
@@ -384,6 +386,46 @@ public class OrderServiceImpl implements Orderservice {
...
@@ -384,6 +386,46 @@ public class OrderServiceImpl implements Orderservice {
return
this
.
createPrepayOrder
(
createPrepayRequestDto
);
return
this
.
createPrepayOrder
(
createPrepayRequestDto
);
}
}
@Override
public
BaseResponse
createSpellGroupOrder
(
CreateSpellGroupOrderReq
createSpellGroupOrderReq
)
{
String
trackingNo
=
LogThreadLocal
.
getTrackingNo
();
//校验用户信息
String
sessionId
=
createSpellGroupOrderReq
.
getSessionId
();
AssortmentCustomerInfoVo
userLoginInfoDto
=
customerInfoManager
.
getCustomerInfoByObject
(
sessionId
);
if
(
userLoginInfoDto
==
null
||
StringUtils
.
isEmpty
(
userLoginInfoDto
.
getMemberId
()))
{
throw
new
ServiceException
(
ResponseResult
.
NOT_LOGIN
);
}
//团id不为空,调用促销查询团是否关闭,关闭之后给提示不可下单
if
(
1
==
1
){
return
ResponseUtil
.
error
(
ResponseResult
.
SPELL_GROUP_THE_CLUB_IS_FULL
);
}
//团开启 则继续执行
CreateSpellGroupOrderDto
createSpellGroupOrderDto
=
new
CreateSpellGroupOrderDto
();
BeanUtils
.
copyProperties
(
createSpellGroupOrderReq
,
createSpellGroupOrderDto
);
//查询配送地址等信息
// checkReceiveAddress
checkOrder
.
checkSpellGroupOrderReceiveAddress
(
createSpellGroupOrderReq
.
getReceiveId
(),
createSpellGroupOrderReq
.
getPartnerId
(),
trackingNo
,
createSpellGroupOrderDto
);
// 查询小程序自提外卖配置信息 校验当前订单类型的下单参数 校验外卖是否满足起送条件
Integer
pushOrderTime
=
checkOrder
.
checkOrderByOrderType
(
createOrderVo
,
userLoginInfoDto
,
storeResponseDto
,
shoppingCartGoodsDto
,
trackingNo
);
OrderExtInfoDto
extInfo
=
getExtInfo
(
userLoginInfoDto
,
storeResponseDto
,
pushOrderTime
,
createOrderVo
,
shoppingCartGoodsDto
);
//1.9.2套餐需求同步优化创建订单代码
BaseResponse
createOrderOperateDtoResponse
=
this
.
sdkCreateOrder
(
createOrderVo
,
storeResponseDto
,
shoppingCartGoodsDto
,
userLoginInfoDto
);
if
(
createOrderOperateDtoResponse
==
null
||
!
ResponseResult
.
SUCCESS
.
getCode
().
equals
(
createOrderOperateDtoResponse
.
getCode
())
||
createOrderOperateDtoResponse
.
getResult
()
==
null
)
{
return
createOrderOperateDtoResponse
;
}
CreateOrderOperateDto
createOrderOperateDto
=
(
CreateOrderOperateDto
)
createOrderOperateDtoResponse
.
getResult
();
//创建支付
CreatePrepayRequestDto
createPrepayRequestDto
=
orderAdapter
.
convertToCreatePrepayRequestDto
(
userLoginInfoDto
,
createOrderVo
,
createOrderOperateDto
,
extInfo
);
return
this
.
createPrepayOrder
(
createPrepayRequestDto
);
}
/**
/**
* 扫脸支付下单
* 扫脸支付下单
*/
*/
...
...
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