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
06866e3f
Commit
06866e3f
authored
Apr 30, 2021
by
zhiheng.zhang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
券码核销添加
parent
46f8b977
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
14 additions
and
168 deletions
+14
-168
assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/adapter/OrderSdkAdapter.java
+3
-0
assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/enums/QueryOrderType.java
+1
-1
order-application-service/src/main/java/cn/freemud/adapter/MallOrderAdapter.java
+0
-158
order-application-service/src/main/java/cn/freemud/adapter/OrderAdapter.java
+5
-0
order-application-service/src/main/java/cn/freemud/service/impl/MallOrderServiceImpl.java
+5
-9
No files found.
assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/adapter/OrderSdkAdapter.java
View file @
06866e3f
...
@@ -1488,6 +1488,9 @@ public class OrderSdkAdapter {
...
@@ -1488,6 +1488,9 @@ public class OrderSdkAdapter {
type
=
2
;
type
=
2
;
}
}
break
;
break
;
case
MALL:
type
=
3
;
break
;
default
:
default
:
break
;
break
;
}
}
...
...
assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/enums/QueryOrderType.java
View file @
06866e3f
...
@@ -2,6 +2,6 @@ package com.freemud.sdk.api.assortment.order.enums;
...
@@ -2,6 +2,6 @@ package com.freemud.sdk.api.assortment.order.enums;
public
enum
QueryOrderType
{
public
enum
QueryOrderType
{
TAKE_OUT
,
COLLECT_GOODS
,
EAT_IN
;
TAKE_OUT
,
COLLECT_GOODS
,
EAT_IN
,
MALL
;
}
}
order-application-service/src/main/java/cn/freemud/adapter/MallOrderAdapter.java
deleted
100644 → 0
View file @
46f8b977
package
cn
.
freemud
.
adapter
;
import
cn.freemud.entities.dto.StoreDeliveryInfoDto
;
import
cn.freemud.entities.dto.UserDeliveryInfoDto
;
import
cn.freemud.entities.dto.shoppingCart.ActivityDiscountsDto
;
import
cn.freemud.entities.dto.shoppingCart.ShoppingCartGoodsDto
;
import
cn.freemud.entities.vo.CreateOrderVo
;
import
cn.freemud.entities.vo.SubtractStockVO
;
import
cn.freemud.enums.*
;
import
com.freemud.application.sdk.api.ordercenter.enums.OrderClientType
;
import
com.freemud.application.sdk.api.promotioncenter.dto.promotion.GoodsStockDTO
;
import
com.freemud.application.sdk.api.promotioncenter.request.promotion.ActivityUpdateStockRequest
;
import
com.freemud.sdk.api.assortment.order.enums.OldOrderAccountType
;
import
com.freemud.sdk.api.assortment.order.enums.QueryDeliveryType
;
import
com.freemud.sdk.api.assortment.order.enums.QueryOrderType
;
import
com.freemud.sdk.api.assortment.order.enums.QueryPayType
;
import
com.freemud.sdk.api.assortment.order.request.order.BaseCreateOrderRequest
;
import
com.freemud.sdk.api.assortment.order.request.order.CreateOrderAccountRequest
;
import
com.freemud.sdk.api.assortment.order.request.order.CreateOrderProductRequest
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.lang.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Component
;
import
java.util.ArrayList
;
import
java.util.Collections
;
import
java.util.List
;
@Component
public
class
MallOrderAdapter
{
@Autowired
private
OrderAdapter
orderAdapter
;
public
BaseCreateOrderRequest
convent2CreateOrderDto
(
CreateOrderVo
createOrderVo
,
ShoppingCartGoodsDto
shoppingCartGoodsDto
)
{
UserDeliveryInfoDto
deliveryInfoDto
=
createOrderVo
.
getUserDeliveryInfoDto
();
BaseCreateOrderRequest
createOrderDto
=
getCreateOrderDto
(
createOrderVo
);
long
deliveryAmount
=
0
;
if
(
deliveryInfoDto
!=
null
)
{
deliveryAmount
=
deliveryInfoDto
.
getRealDeliveryAmount
();
}
Long
packageAmount
=
shoppingCartGoodsDto
.
getPackageAmount
()
==
null
?
0L
:
shoppingCartGoodsDto
.
getPackageAmount
();
createOrderDto
.
setAmount
(
shoppingCartGoodsDto
.
getTotalAmount
()
+
deliveryAmount
+
packageAmount
);
// 解析购物车信息
List
<
ShoppingCartGoodsDto
.
CartGoodsDetailDto
>
cartGoodsDetailDtos
=
shoppingCartGoodsDto
.
getProducts
();
List
<
CreateOrderProductRequest
>
products
=
new
ArrayList
<>();
ArrayList
<
CreateOrderAccountRequest
>
orderAccountDtos
=
new
ArrayList
<>();
// 根据购物车商品信息获取优惠信息
int
orderAccountIndex
=
0
;
for
(
ShoppingCartGoodsDto
.
CartGoodsDetailDto
cartGoodsDetailDto
:
cartGoodsDetailDtos
)
{
Integer
qty
=
cartGoodsDetailDto
.
getQty
();
if
(
qty
>
0
)
{
CreateOrderProductRequest
createOrderProductDto
=
orderAdapter
.
convent2OrderProduct
(
cartGoodsDetailDto
);
createOrderProductDto
.
setIgnoreProductPrice
(
1
);
products
.
add
(
createOrderProductDto
);
if
(
CollectionUtils
.
isNotEmpty
(
cartGoodsDetailDto
.
getActivityDiscountsDtos
()))
{
createOrderProductDto
.
setAccounts
(
orderAdapter
.
getAccounts
(
createOrderProductDto
,
cartGoodsDetailDto
.
getActivityDiscountsDtos
()));
}
}
}
createOrderDto
.
setProducts
(
products
);
if
(
deliveryAmount
>
0
)
{
CreateOrderAccountRequest
createOrderAccountDto
=
CreateOrderAccountRequest
.
builder
()
.
accountId
(
""
)
.
name
(
"配送费"
)
.
price
(
deliveryAmount
)
.
accountType
(
orderAdapter
.
getQueryOrderAccountType
(
OldOrderAccountType
.
getByCode
(
OrderAccountType
.
DELIVERY_AMOUNT
.
getCode
())))
.
sequence
(
orderAccountIndex
++)
.
build
();
orderAccountDtos
.
add
(
createOrderAccountDto
);
}
if
(
packageAmount
>
0
)
{
CreateOrderAccountRequest
createOrderAccountDto
=
CreateOrderAccountRequest
.
builder
()
.
accountId
(
""
)
.
name
(
"包装费"
)
.
price
(
packageAmount
)
.
accountType
(
orderAdapter
.
getQueryOrderAccountType
(
OldOrderAccountType
.
getByCode
(
OrderAccountType
.
PACK_AMOUNT
.
getCode
())))
.
sequence
(
orderAccountIndex
++)
.
build
();
orderAccountDtos
.
add
(
createOrderAccountDto
);
}
createOrderDto
.
setAccounts
(
CollectionUtils
.
isNotEmpty
(
orderAccountDtos
)
?
orderAccountDtos
:
Collections
.
emptyList
());
//设置库存扣减
if
(
CollectionUtils
.
isNotEmpty
(
shoppingCartGoodsDto
.
getStocks
()))
{
List
<
ActivityUpdateStockRequest
.
StockBeanDto
>
stocks
=
new
ArrayList
<>();
for
(
SubtractStockVO
stockVO
:
shoppingCartGoodsDto
.
getStocks
())
{
ActivityUpdateStockRequest
.
StockBeanDto
stockBeanDto
=
new
ActivityUpdateStockRequest
.
StockBeanDto
();
stockBeanDto
.
setActivityCode
(
stockVO
.
getActivityCode
());
stockBeanDto
.
setActivityStock
(
stockVO
.
getActivityStock
()
==
null
?
1
:
stockVO
.
getActivityStock
());
if
(
CollectionUtils
.
isNotEmpty
(
stockVO
.
getGoodsStock
()))
{
List
<
GoodsStockDTO
>
goodsStockDTOS
=
new
ArrayList
<>();
stockVO
.
getGoodsStock
().
forEach
(
goods
->
{
GoodsStockDTO
goodsStockDTO
=
new
GoodsStockDTO
();
goodsStockDTO
.
setBenefitSeq
(
goods
.
getBenefitSeq
());
goodsStockDTO
.
setGoodsId
(
goods
.
getGoodsId
());
int
stock
=
goods
.
getStock
()
==
null
?
1
:
goods
.
getStock
();
goodsStockDTO
.
setStock
(
ActivityTypeEnum
.
TYPE_53
.
getCode
().
equals
(
stockVO
.
getActivityType
())
?
1
:
stock
);
goodsStockDTOS
.
add
(
goodsStockDTO
);
});
stockBeanDto
.
setGoodsStock
(
goodsStockDTOS
);
}
stocks
.
add
(
stockBeanDto
);
}
ActivityUpdateStockRequest
activityUpdateStockRequest
=
new
ActivityUpdateStockRequest
();
activityUpdateStockRequest
.
setStock
(
stocks
);
createOrderDto
.
setActivityUpdateStockRequest
(
activityUpdateStockRequest
);
}
return
createOrderDto
;
}
public
BaseCreateOrderRequest
getCreateOrderDto
(
CreateOrderVo
createOrderVo
)
{
UserDeliveryInfoDto
userDeliveryInfoDto
=
createOrderVo
.
getUserDeliveryInfoDto
();
String
remark
=
StringUtils
.
isNotBlank
(
createOrderVo
.
getOrderRemark
())
?
createOrderVo
.
getOrderRemark
()
:
""
;
BaseCreateOrderRequest
createOrderDto
=
new
BaseCreateOrderRequest
();
createOrderDto
.
setCompanyId
(
createOrderVo
.
getPartnerId
());
createOrderDto
.
setShopId
(
createOrderVo
.
getShopId
());
createOrderDto
.
setThirdShopId
(
createOrderVo
.
getThirdShopId
());
createOrderDto
.
setShopName
(
createOrderVo
.
getStoreName
());
createOrderDto
.
setUserId
(
createOrderVo
.
getUserId
());
createOrderDto
.
setUserName
(
userDeliveryInfoDto
.
getReceiveUserName
());
createOrderDto
.
setPhone
(
userDeliveryInfoDto
.
getReceiveMobile
());
createOrderDto
.
setAddress
(
userDeliveryInfoDto
.
getReceiveAddress
());
createOrderDto
.
setLatitude
(
userDeliveryInfoDto
.
getUserLatitude
());
createOrderDto
.
setLongitude
(
userDeliveryInfoDto
.
getUserLongitude
());
createOrderDto
.
setOrderType
(
QueryOrderType
.
TAKE_OUT
);
createOrderDto
.
setPayType
(
QueryPayType
.
ONLINE_PAY
);
createOrderDto
.
setSource
(
OrderSourceType
.
SAASMALL
.
getCode
());
createOrderDto
.
setSourceName
(
OrderSourceType
.
SAASMALL
.
getDesc
());
createOrderDto
.
setOrderClient
(
OrderClientType
.
SAASMALL
);
createOrderDto
.
setRemark
(
remark
);
createOrderDto
.
setGmtExpect
(
null
);
BaseCreateOrderRequest
.
DeliveryTypeInfo
deliveryTypeInfo
=
new
BaseCreateOrderRequest
.
DeliveryTypeInfo
();
deliveryTypeInfo
.
setDeliveryType
(
QueryDeliveryType
.
THIRD
);
createOrderDto
.
setAddInfo
(
deliveryTypeInfo
);
createOrderDto
.
setAmount
(
0L
);
createOrderDto
.
setBarCounter
(
createOrderVo
.
getTableNumber
());
createOrderDto
.
setProvince
(
userDeliveryInfoDto
.
getReceiveProvince
());
createOrderDto
.
setCity
(
userDeliveryInfoDto
.
getReceiveCity
());
createOrderDto
.
setRegion
(
userDeliveryInfoDto
.
getReceiveRegion
());
createOrderDto
.
setMenuType
(
BusinessTypeEnum
.
SAAS_MALL
.
getName
());
return
createOrderDto
;
}
/**
* 计算用户收货地址实际配送费
*
* @param storeDeliveryInfoDto 门店配送信息
* @param userLongitude 用户地址经度
* @param userLatitude 用户地址维度
* @return
*/
public
Long
getUserRealDeliveryAmount
(
StoreDeliveryInfoDto
storeDeliveryInfoDto
,
String
userLongitude
,
String
userLatitude
)
{
return
0L
;
}
}
order-application-service/src/main/java/cn/freemud/adapter/OrderAdapter.java
View file @
06866e3f
...
@@ -663,6 +663,8 @@ public class OrderAdapter {
...
@@ -663,6 +663,8 @@ public class OrderAdapter {
}
else
{
}
else
{
orderType
=
OrderType
.
COLLECT_GOODS
.
getCode
();
orderType
=
OrderType
.
COLLECT_GOODS
.
getCode
();
}
}
}
else
if
(
Objects
.
equals
(
createOrderVo
.
getOrderType
(),
OrderType
.
MALL
.
getCode
()))
{
orderType
=
OrderType
.
MALL
.
getCode
();
}
else
{
}
else
{
throw
new
ServiceException
(
ResponseResult
.
PARAMETER_MISSING
,
"非法的订单类型"
);
throw
new
ServiceException
(
ResponseResult
.
PARAMETER_MISSING
,
"非法的订单类型"
);
}
}
...
@@ -2905,6 +2907,9 @@ public class OrderAdapter {
...
@@ -2905,6 +2907,9 @@ public class OrderAdapter {
if
(
OldOrderType
.
COLLECT_GOODS
.
getCode
().
equals
(
oldOrderType
))
{
if
(
OldOrderType
.
COLLECT_GOODS
.
getCode
().
equals
(
oldOrderType
))
{
return
QueryOrderType
.
COLLECT_GOODS
;
return
QueryOrderType
.
COLLECT_GOODS
;
}
}
if
(
OldOrderType
.
MALL
.
getCode
().
equals
(
oldOrderType
))
{
return
QueryOrderType
.
MALL
;
}
if
(
OldOrderType
.
EAT_IN
.
getCode
().
equals
(
oldOrderType
))
{
if
(
OldOrderType
.
EAT_IN
.
getCode
().
equals
(
oldOrderType
))
{
return
QueryOrderType
.
EAT_IN
;
return
QueryOrderType
.
EAT_IN
;
}
}
...
...
order-application-service/src/main/java/cn/freemud/service/impl/MallOrderServiceImpl.java
View file @
06866e3f
...
@@ -2,7 +2,6 @@ package cn.freemud.service.impl;
...
@@ -2,7 +2,6 @@ package cn.freemud.service.impl;
import
cn.freemud.adapter.DeliveryAdapter
;
import
cn.freemud.adapter.DeliveryAdapter
;
import
cn.freemud.adapter.LightApplicationConvertToAssortmentSdkAdapter
;
import
cn.freemud.adapter.LightApplicationConvertToAssortmentSdkAdapter
;
import
cn.freemud.adapter.MallOrderAdapter
;
import
cn.freemud.adapter.OrderAdapter
;
import
cn.freemud.adapter.OrderAdapter
;
import
cn.freemud.amqp.Header
;
import
cn.freemud.amqp.Header
;
import
cn.freemud.amqp.MQAction
;
import
cn.freemud.amqp.MQAction
;
...
@@ -43,7 +42,6 @@ import cn.freemud.utils.ValidationCode;
...
@@ -43,7 +42,6 @@ import cn.freemud.utils.ValidationCode;
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.api.assortment.datamanager.entity.db.AssortmentOpenPlatformPartnerWxappConfig
;
import
com.freemud.api.assortment.datamanager.entity.db.AssortmentOpenPlatformWxapp
;
import
com.freemud.api.assortment.datamanager.entity.db.AssortmentOpenPlatformWxapp
;
import
com.freemud.api.assortment.datamanager.entity.vo.AssortmentCustomerInfoVo
;
import
com.freemud.api.assortment.datamanager.entity.vo.AssortmentCustomerInfoVo
;
import
com.freemud.api.assortment.datamanager.manager.AssortmentOpenPlatformWxappManager
;
import
com.freemud.api.assortment.datamanager.manager.AssortmentOpenPlatformWxappManager
;
...
@@ -85,7 +83,6 @@ import lombok.extern.slf4j.Slf4j;
...
@@ -85,7 +83,6 @@ import lombok.extern.slf4j.Slf4j;
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.builder.ToStringBuilder
;
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.Service
;
import
org.springframework.stereotype.Service
;
...
@@ -95,8 +92,6 @@ import java.util.concurrent.TimeUnit;
...
@@ -95,8 +92,6 @@ import java.util.concurrent.TimeUnit;
import
java.util.function.Function
;
import
java.util.function.Function
;
import
java.util.stream.Collectors
;
import
java.util.stream.Collectors
;
import
static
cn
.
freemud
.
constant
.
OrderRefundConstant
.
ALLOW_REFUND
;
@Slf4j
@Slf4j
@Service
@Service
public
class
MallOrderServiceImpl
implements
MallOrderService
{
public
class
MallOrderServiceImpl
implements
MallOrderService
{
...
@@ -122,7 +117,7 @@ public class MallOrderServiceImpl implements MallOrderService {
...
@@ -122,7 +117,7 @@ public class MallOrderServiceImpl implements MallOrderService {
@Autowired
@Autowired
private
OrderAdapter
orderAdapter
;
private
OrderAdapter
orderAdapter
;
@Autowired
@Autowired
private
Mall
OrderAdapter
mallOrderAdapter
;
private
OrderAdapter
mallOrderAdapter
;
@Autowired
@Autowired
private
ItemServiceImpl
itemService
;
private
ItemServiceImpl
itemService
;
@Autowired
@Autowired
...
@@ -269,7 +264,7 @@ public class MallOrderServiceImpl implements MallOrderService {
...
@@ -269,7 +264,7 @@ public class MallOrderServiceImpl implements MallOrderService {
OrderExtendedReq
orderExtendedReq
=
orderAdapter
.
saveStoreInfo
(
storeResponseDto
);
OrderExtendedReq
orderExtendedReq
=
orderAdapter
.
saveStoreInfo
(
storeResponseDto
);
//创建普通订单
//创建普通订单
Function
<
Object
,
CreateOrderResponse
>
createOrder
=
(
var
->
{
Function
<
Object
,
CreateOrderResponse
>
createOrder
=
(
var
->
{
BaseCreateOrderRequest
baseCreateOrderRequest
=
mallOrderAdapter
.
convent2CreateOrderDto
(
createOrderVo
,
shoppingCartGoodsDto
);
BaseCreateOrderRequest
baseCreateOrderRequest
=
mallOrderAdapter
.
convent2CreateOrderDto
(
createOrderVo
,
shoppingCartGoodsDto
,
storeResponseDto
);
//查询第三方商品编号
//查询第三方商品编号
baseCreateOrderRequest
=
getProductCustomerCode
(
baseCreateOrderRequest
);
baseCreateOrderRequest
=
getProductCustomerCode
(
baseCreateOrderRequest
);
//保存门店渠道信息
//保存门店渠道信息
...
@@ -530,9 +525,9 @@ public class MallOrderServiceImpl implements MallOrderService {
...
@@ -530,9 +525,9 @@ public class MallOrderServiceImpl implements MallOrderService {
//支付回掉成功标记
//支付回掉成功标记
redisCache
.
save
(
RedisKeyConstant
.
KGD_PAYMENT_CALLBACK_FMID
+
message
.
getOut_trade_no
(),
message
.
getOut_trade_no
(),
10L
,
TimeUnit
.
MINUTES
);
redisCache
.
save
(
RedisKeyConstant
.
KGD_PAYMENT_CALLBACK_FMID
+
message
.
getOut_trade_no
(),
message
.
getOut_trade_no
(),
10L
,
TimeUnit
.
MINUTES
);
if
(
message
.
getSource
()
!=
null
&&
message
.
getSource
().
equals
(
PaySuccessSource
.
OUTSIDE
.
getSource
()))
{
if
(
message
.
getSource
()
!=
null
&&
message
.
getSource
().
equals
(
PaySuccessSource
.
OUTSIDE
.
getSource
()))
{
log
.
info
(
"调用券码核销=="
+
message
.
getTrans_id
());
log
.
info
(
"
微商城
调用券码核销=="
+
message
.
getTrans_id
());
verificationCoupon
(
message
.
getTrans_id
());
verificationCoupon
(
message
.
getTrans_id
());
log
.
info
(
"调用券码结束=="
+
message
.
getTrans_id
());
log
.
info
(
"
微商城
调用券码结束=="
+
message
.
getTrans_id
());
}
}
orderIds
.
add
(
orderBean
.
getOid
());
orderIds
.
add
(
orderBean
.
getOid
());
...
@@ -950,6 +945,7 @@ public class MallOrderServiceImpl implements MallOrderService {
...
@@ -950,6 +945,7 @@ public class MallOrderServiceImpl implements MallOrderService {
private
String
verificationCoupon
(
String
transId
)
{
private
String
verificationCoupon
(
String
transId
)
{
String
orderId
=
redisCache
.
getValue
(
RedisUtil
.
getPaymentTransIdOrderKey
(
transId
));
String
orderId
=
redisCache
.
getValue
(
RedisUtil
.
getPaymentTransIdOrderKey
(
transId
));
log
.
info
(
"mallOrderService verificationCoupon,trackingNo:{},transId:{},orderId:{}"
,
LogTreadLocal
.
getTrackingNo
(),
transId
,
orderId
);
if
(
StringUtils
.
isNotBlank
(
orderId
))
{
if
(
StringUtils
.
isNotBlank
(
orderId
))
{
log
.
info
(
"mallOrderService从缓存中获取的订单数据,trackingNo:{},transId:{},orderId:{}"
,
LogTreadLocal
.
getTrackingNo
(),
transId
,
orderId
);
log
.
info
(
"mallOrderService从缓存中获取的订单数据,trackingNo:{},transId:{},orderId:{}"
,
LogTreadLocal
.
getTrackingNo
(),
transId
,
orderId
);
transId
=
orderId
;
transId
=
orderId
;
...
...
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