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
ce3993dc
Commit
ce3993dc
authored
Nov 22, 2021
by
周晓航
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
活动商品限购活动 库存限购
Signed-off-by: 周晓航 <xiaohang.zhou@freemud.com>
parent
6b461566
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
26 changed files
with
299 additions
and
156 deletions
+299
-156
assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/adapter/OrderSdkAdapter.java
+4
-3
assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/entities/promption/ActivityUpdateStockRequest.java
+23
-0
assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/entities/promption/SubtractStockGoodsVO.java
+19
-0
assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/entities/promption/SubtractStockUserGoodsVO.java
+17
-0
assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/entities/promption/SubtractStockVO.java
+34
-0
assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/request/order/AssortmentSdkUpdateOrderProductInfoRequest.java
+1
-1
assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/request/order/BaseCreateOrderRequest.java
+1
-1
assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/request/order/CreateFatherSonOrderRequest.java
+6
-4
assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/service/order/OrderCenterSdkServiceImpl.java
+31
-3
order-application-service/src/main/java/cn/freemud/adapter/OrderAdapter.java
+32
-57
order-application-service/src/main/java/cn/freemud/adapter/SpellGroupOrderAdapter.java
+1
-1
order-application-service/src/main/java/cn/freemud/entities/dto/ActivityCalculationDiscountResponseDto.java
+2
-3
order-application-service/src/main/java/cn/freemud/entities/dto/promotion/CalculationDiscountResultDto.java
+1
-0
order-application-service/src/main/java/cn/freemud/entities/dto/promotion/ShoppingCartGoodsResponse.java
+4
-1
order-application-service/src/main/java/cn/freemud/entities/dto/shoppingCart/MCCafeShoppingCartGoodsDto.java
+0
-9
order-application-service/src/main/java/cn/freemud/entities/dto/shoppingCart/ShoppingCartGoodsDto.java
+1
-1
order-application-service/src/main/java/cn/freemud/entities/vo/SubtractStockVO.java
+10
-9
order-application-service/src/main/java/cn/freemud/service/business/impl/OrderBusinessServiceImpl.java
+10
-4
order-application-service/src/main/java/cn/freemud/service/impl/AppOrderServiceImpl.java
+1
-0
order-application-service/src/main/java/cn/freemud/service/impl/SellCouponOrderServiceImpl.java
+4
-3
order-application-service/src/main/java/cn/freemud/service/impl/SpellGroupOrderServiceImpl.java
+9
-4
order-application-service/src/main/java/cn/freemud/service/thirdparty/PromotionDiscountClient.java
+4
-5
order-application-service/src/main/java/cn/freemud/service/universal/UniversalOrderService.java
+50
-36
order-application-service/src/main/java/cn/freemud/service/universal/impl/SaasMallOrderService.java
+12
-9
shopping-cart-application-service/src/main/java/cn/freemud/entities/vo/SubtractStockVO.java
+4
-2
shopping-cart-application-service/src/main/java/cn/freemud/entities/vo/promotion/SubtractStockUserGoodsVO.java
+18
-0
No files found.
assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/adapter/OrderSdkAdapter.java
View file @
ce3993dc
...
@@ -18,13 +18,14 @@ import com.freemud.application.sdk.api.ordercenter.request.create.CreateOrderReq
...
@@ -18,13 +18,14 @@ import com.freemud.application.sdk.api.ordercenter.request.create.CreateOrderReq
import
com.freemud.application.sdk.api.ordercenter.request.create.*
;
import
com.freemud.application.sdk.api.ordercenter.request.create.*
;
import
com.freemud.application.sdk.api.ordercenter.response.*
;
import
com.freemud.application.sdk.api.ordercenter.response.*
;
import
com.freemud.application.sdk.api.ordercenter.response.orderInfo.*
;
import
com.freemud.application.sdk.api.ordercenter.response.orderInfo.*
;
import
com.freemud.application.sdk.api.promotioncenter.request.promotion.ActivityUpdateStockRequest
;
import
com.freemud.application.sdk.api.stockapi.domain.ProductStocksVO
;
import
com.freemud.application.sdk.api.stockapi.domain.ProductStocksVO
;
import
com.freemud.application.sdk.api.stockapi.request.UpdateStocksRequest
;
import
com.freemud.application.sdk.api.stockapi.request.UpdateStocksRequest
;
import
com.freemud.application.sdk.api.util.DateUtil
;
import
com.freemud.application.sdk.api.util.DateUtil
;
import
com.freemud.sdk.api.assortment.order.constant.CommonConstant
;
import
com.freemud.sdk.api.assortment.order.constant.CommonConstant
;
import
com.freemud.sdk.api.assortment.order.domain.OrderStatesVO
;
import
com.freemud.sdk.api.assortment.order.domain.OrderStatesVO
;
import
com.freemud.sdk.api.assortment.order.domain.ResponseCodeConstant
;
import
com.freemud.sdk.api.assortment.order.domain.ResponseCodeConstant
;
import
com.freemud.sdk.api.assortment.order.entities.promption.ActivityUpdateStockRequest
;
import
com.freemud.sdk.api.assortment.order.entities.promption.SubtractStockVO
;
import
com.freemud.sdk.api.assortment.order.enums.*
;
import
com.freemud.sdk.api.assortment.order.enums.*
;
import
com.freemud.sdk.api.assortment.order.request.order.OrderDownloadRequest
;
import
com.freemud.sdk.api.assortment.order.request.order.OrderDownloadRequest
;
import
com.freemud.sdk.api.assortment.order.request.order.*
;
import
com.freemud.sdk.api.assortment.order.request.order.*
;
...
@@ -1913,14 +1914,14 @@ public class OrderSdkAdapter {
...
@@ -1913,14 +1914,14 @@ public class OrderSdkAdapter {
}
}
public
ActivityUpdateStockRequest
convert2ActivityUpdateStockRequest
(
OrderBeanV1
orderBean
,
public
ActivityUpdateStockRequest
convert2ActivityUpdateStockRequest
(
OrderBeanV1
orderBean
,
List
<
ActivityUpdateStockRequest
.
StockBeanDto
>
stockBeanDtos
)
{
List
<
SubtractStockVO
>
stockBeanDtos
)
{
if
(
orderBean
==
null
||
CollectionUtils
.
isEmpty
(
stockBeanDtos
))
{
if
(
orderBean
==
null
||
CollectionUtils
.
isEmpty
(
stockBeanDtos
))
{
return
null
;
return
null
;
}
}
List
<
String
>
activityList
=
new
ArrayList
<>();
List
<
String
>
activityList
=
new
ArrayList
<>();
// 只记录订单级别的活动ID
// 只记录订单级别的活动ID
if
(
CollectionUtils
.
isNotEmpty
(
stockBeanDtos
))
{
if
(
CollectionUtils
.
isNotEmpty
(
stockBeanDtos
))
{
activityList
.
addAll
(
stockBeanDtos
.
stream
().
filter
(
ad
->
StringUtils
.
isNotBlank
(
ad
.
getActivityCode
())).
map
(
ActivityUpdateStockRequest
.
StockBeanDto
::
getActivityCode
).
distinct
().
collect
(
Collectors
.
toList
()));
activityList
.
addAll
(
stockBeanDtos
.
stream
().
filter
(
ad
->
StringUtils
.
isNotBlank
(
ad
.
getActivityCode
())).
map
(
SubtractStockVO
:
:
getActivityCode
).
distinct
().
collect
(
Collectors
.
toList
()));
}
}
ActivityUpdateStockRequest
updateStockRequest
=
new
ActivityUpdateStockRequest
();
ActivityUpdateStockRequest
updateStockRequest
=
new
ActivityUpdateStockRequest
();
updateStockRequest
.
setStock
(
stockBeanDtos
);
updateStockRequest
.
setStock
(
stockBeanDtos
);
...
...
assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/entities/promption/ActivityUpdateStockRequest.java
0 → 100644
View file @
ce3993dc
package
com
.
freemud
.
sdk
.
api
.
assortment
.
order
.
entities
.
promption
;
import
lombok.Data
;
import
java.util.List
;
/**
* @author : xh.Z
* @email : fisherman0510@163.com
* @Date : 2021/11/18 下午3:45
* @description :
*/
@Data
public
class
ActivityUpdateStockRequest
{
private
String
ver
;
private
String
orderId
;
private
String
partnerCode
;
private
String
storeId
;
List
<
SubtractStockVO
>
stock
;
List
<
String
>
activityList
;
private
String
orderCreateTime
;
private
String
userId
;
}
assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/entities/promption/SubtractStockGoodsVO.java
0 → 100644
View file @
ce3993dc
package
com
.
freemud
.
sdk
.
api
.
assortment
.
order
.
entities
.
promption
;
import
lombok.Data
;
/**
* @author : xh.Z
* @email : fisherman0510@163.com
* @Date : 2021/11/18 下午4:21
* @description :
*/
@Data
public
class
SubtractStockGoodsVO
{
//商品编号
private
String
goodsId
;
//库存
private
Integer
stock
;
//等级编码,当不同等级都有自己的库存时,字段必填
private
Integer
benefitSeq
;
}
assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/entities/promption/SubtractStockUserGoodsVO.java
0 → 100644
View file @
ce3993dc
package
com
.
freemud
.
sdk
.
api
.
assortment
.
order
.
entities
.
promption
;
import
lombok.Data
;
/**
* @author : xh.Z
* @email : fisherman0510@163.com
* @Date : 2021/11/18 下午3:37
* @description :
*/
@Data
public
class
SubtractStockUserGoodsVO
{
//商品编号
private
String
goodsId
;
//库存
private
Integer
stock
;
}
assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/entities/promption/SubtractStockVO.java
0 → 100644
View file @
ce3993dc
package
com
.
freemud
.
sdk
.
api
.
assortment
.
order
.
entities
.
promption
;
import
lombok.Data
;
import
java.util.List
;
/**
* All rights Reserved, Designed By www.freemud.com
*
* @version V1.0
* @Title:
* @Package: cn.freemud.entities.vo
* @Descripttion:
* @author: shuhu.hou
* @date: 2019/8/28
* @Copyright: 2017 www.freemud.cn Inc. All rights reserved.
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目.
*/
@Data
public
class
SubtractStockVO
{
//活动编码
private
String
activityCode
;
private
Integer
activityStock
;
//活动类型
private
Integer
activityType
;
//商品库存扣除列表
private
List
<
SubtractStockGoodsVO
>
goodsStock
;
/**
* 用户商品库存扣减集合
*/
private
List
<
SubtractStockUserGoodsVO
>
userGoodsStock
;
}
assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/request/order/AssortmentSdkUpdateOrderProductInfoRequest.java
View file @
ce3993dc
package
com
.
freemud
.
sdk
.
api
.
assortment
.
order
.
request
.
order
;
package
com
.
freemud
.
sdk
.
api
.
assortment
.
order
.
request
.
order
;
import
com.freemud.application.sdk.api.promotioncenter.request.promotion.ActivityUpdateStockRequest
;
import
com.freemud.sdk.api.assortment.order.config.BaseConfig
;
import
com.freemud.sdk.api.assortment.order.config.BaseConfig
;
import
com.freemud.sdk.api.assortment.order.entities.promption.ActivityUpdateStockRequest
;
import
lombok.Data
;
import
lombok.Data
;
import
java.util.List
;
import
java.util.List
;
...
...
assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/request/order/BaseCreateOrderRequest.java
View file @
ce3993dc
...
@@ -2,8 +2,8 @@ package com.freemud.sdk.api.assortment.order.request.order;
...
@@ -2,8 +2,8 @@ package com.freemud.sdk.api.assortment.order.request.order;
import
com.freemud.application.sdk.api.ordercenter.enums.OrderClientType
;
import
com.freemud.application.sdk.api.ordercenter.enums.OrderClientType
;
import
com.freemud.application.sdk.api.ordercenter.request.OrderExtendedReq
;
import
com.freemud.application.sdk.api.ordercenter.request.OrderExtendedReq
;
import
com.freemud.application.sdk.api.promotioncenter.request.promotion.ActivityUpdateStockRequest
;
import
com.freemud.sdk.api.assortment.order.config.BaseConfig
;
import
com.freemud.sdk.api.assortment.order.config.BaseConfig
;
import
com.freemud.sdk.api.assortment.order.entities.promption.ActivityUpdateStockRequest
;
import
com.freemud.sdk.api.assortment.order.enums.*
;
import
com.freemud.sdk.api.assortment.order.enums.*
;
import
lombok.Data
;
import
lombok.Data
;
...
...
assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/request/order/CreateFatherSonOrderRequest.java
View file @
ce3993dc
package
com
.
freemud
.
sdk
.
api
.
assortment
.
order
.
request
.
order
;
package
com
.
freemud
.
sdk
.
api
.
assortment
.
order
.
request
.
order
;
import
com.freemud.application.sdk.api.ordercenter.request.create.OrderTaskReq
;
import
com.freemud.application.sdk.api.promotioncenter.request.promotion.ActivityUpdateStockRequest
;
import
com.freemud.application.sdk.api.ordercenter.request.OrderExtendedReq
;
import
com.freemud.application.sdk.api.ordercenter.request.OrderExtendedReq
;
import
com.freemud.application.sdk.api.ordercenter.request.create.OrderTaskReq
;
import
com.freemud.sdk.api.assortment.order.config.BaseConfig
;
import
com.freemud.sdk.api.assortment.order.config.BaseConfig
;
import
com.freemud.sdk.api.assortment.order.enums.*
;
import
com.freemud.sdk.api.assortment.order.entities.promption.ActivityUpdateStockRequest
;
import
lombok.Builder
;
import
com.freemud.sdk.api.assortment.order.enums.OldOrderStatus
;
import
com.freemud.sdk.api.assortment.order.enums.PayStatus
;
import
com.freemud.sdk.api.assortment.order.enums.QueryOrderType
;
import
com.freemud.sdk.api.assortment.order.enums.QueryPayType
;
import
lombok.Data
;
import
lombok.Data
;
import
java.util.Date
;
import
java.util.Date
;
...
...
assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/service/order/OrderCenterSdkServiceImpl.java
View file @
ce3993dc
...
@@ -40,7 +40,6 @@ import com.freemud.application.sdk.api.ordercenter.response.orderInfo.QueryByCod
...
@@ -40,7 +40,6 @@ import com.freemud.application.sdk.api.ordercenter.response.orderInfo.QueryByCod
import
com.freemud.application.sdk.api.ordercenter.service.OrderDownLoadSdkService
;
import
com.freemud.application.sdk.api.ordercenter.service.OrderDownLoadSdkService
;
import
com.freemud.application.sdk.api.ordercenter.service.OrderSdkService
;
import
com.freemud.application.sdk.api.ordercenter.service.OrderSdkService
;
import
com.freemud.application.sdk.api.promotioncenter.dto.promotion.DiscountDTO
;
import
com.freemud.application.sdk.api.promotioncenter.dto.promotion.DiscountDTO
;
import
com.freemud.application.sdk.api.promotioncenter.request.promotion.ActivityUpdateStockRequest
;
import
com.freemud.application.sdk.api.promotioncenter.request.promotion.CalculationDiscountRequest
;
import
com.freemud.application.sdk.api.promotioncenter.request.promotion.CalculationDiscountRequest
;
import
com.freemud.application.sdk.api.promotioncenter.response.CalculationDiscountResponseDTO
;
import
com.freemud.application.sdk.api.promotioncenter.response.CalculationDiscountResponseDTO
;
import
com.freemud.application.sdk.api.promotioncenter.service.PromotionSdkService
;
import
com.freemud.application.sdk.api.promotioncenter.service.PromotionSdkService
;
...
@@ -62,6 +61,7 @@ import com.freemud.application.sdk.api.structure.service.MessageCenterClient;
...
@@ -62,6 +61,7 @@ import com.freemud.application.sdk.api.structure.service.MessageCenterClient;
import
com.freemud.sdk.api.assortment.order.adapter.*
;
import
com.freemud.sdk.api.assortment.order.adapter.*
;
import
com.freemud.sdk.api.assortment.order.constant.CommonConstant
;
import
com.freemud.sdk.api.assortment.order.constant.CommonConstant
;
import
com.freemud.sdk.api.assortment.order.domain.ResponseCodeConstant
;
import
com.freemud.sdk.api.assortment.order.domain.ResponseCodeConstant
;
import
com.freemud.sdk.api.assortment.order.entities.promption.ActivityUpdateStockRequest
;
import
com.freemud.sdk.api.assortment.order.enums.*
;
import
com.freemud.sdk.api.assortment.order.enums.*
;
import
com.freemud.sdk.api.assortment.order.request.order.CreateOrderRequest
;
import
com.freemud.sdk.api.assortment.order.request.order.CreateOrderRequest
;
import
com.freemud.sdk.api.assortment.order.request.order.OrderDownloadRequest
;
import
com.freemud.sdk.api.assortment.order.request.order.OrderDownloadRequest
;
...
@@ -69,6 +69,7 @@ import com.freemud.sdk.api.assortment.order.request.order.*;
...
@@ -69,6 +69,7 @@ import com.freemud.sdk.api.assortment.order.request.order.*;
import
com.freemud.sdk.api.assortment.order.response.order.*
;
import
com.freemud.sdk.api.assortment.order.response.order.*
;
import
com.freemud.sdk.api.assortment.order.service.OrderCenterSdkService
;
import
com.freemud.sdk.api.assortment.order.service.OrderCenterSdkService
;
import
com.freemud.sdk.api.assortment.order.util.AssortOrderLogUtil
;
import
com.freemud.sdk.api.assortment.order.util.AssortOrderLogUtil
;
import
com.freemud.sdk.api.assortment.order.util.BeanUtil
;
import
com.freemud.sdk.api.assortment.order.vo.AssortmentOrderProductVo
;
import
com.freemud.sdk.api.assortment.order.vo.AssortmentOrderProductVo
;
import
com.google.gson.Gson
;
import
com.google.gson.Gson
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.collections4.CollectionUtils
;
...
@@ -185,6 +186,18 @@ public class OrderCenterSdkServiceImpl implements OrderCenterSdkService {
...
@@ -185,6 +186,18 @@ public class OrderCenterSdkServiceImpl implements OrderCenterSdkService {
return
orderSdkAdapter
.
convent2NEWOrderInfoReqs
(
order
);
return
orderSdkAdapter
.
convent2NEWOrderInfoReqs
(
order
);
}
}
/**
* 请使用 订单服务的feign调用
* @param orderBean
* @param products
* @param updateStockRequest
* @param accounts
* @param mqMessageRequest
* @param menuType
* @param openId
* @return
*/
@Deprecated
private
BaseOrderResponse
updateStockAndScore
(
OrderBeanV1
orderBean
,
List
<
CreateOrderProductRequest
>
products
,
ActivityUpdateStockRequest
updateStockRequest
,
private
BaseOrderResponse
updateStockAndScore
(
OrderBeanV1
orderBean
,
List
<
CreateOrderProductRequest
>
products
,
ActivityUpdateStockRequest
updateStockRequest
,
List
<
CreateOrderAccountRequest
>
accounts
,
MqMessageRequest
mqMessageRequest
,
String
menuType
,
String
openId
)
{
List
<
CreateOrderAccountRequest
>
accounts
,
MqMessageRequest
mqMessageRequest
,
String
menuType
,
String
openId
)
{
//TODO 转换获取库存信息,扣减库存
//TODO 转换获取库存信息,扣减库存
...
@@ -206,7 +219,8 @@ public class OrderCenterSdkServiceImpl implements OrderCenterSdkService {
...
@@ -206,7 +219,8 @@ public class OrderCenterSdkServiceImpl implements OrderCenterSdkService {
// update by miaohui 20201030 for 【ID1018638】【C端服务端】活动库存接口调整对接
// update by miaohui 20201030 for 【ID1018638】【C端服务端】活动库存接口调整对接
// 原逻辑只检测扣减库存不为空时调用,现改为扣减库存不为空或参加活动不为空时调用
// 原逻辑只检测扣减库存不为空时调用,现改为扣减库存不为空或参加活动不为空时调用
if
(
activityUpdateStockRequest
!=
null
&&
(
CollectionUtils
.
isNotEmpty
(
activityUpdateStockRequest
.
getStock
())
||
CollectionUtils
.
isNotEmpty
(
activityUpdateStockRequest
.
getActivityList
())))
{
if
(
activityUpdateStockRequest
!=
null
&&
(
CollectionUtils
.
isNotEmpty
(
activityUpdateStockRequest
.
getStock
())
||
CollectionUtils
.
isNotEmpty
(
activityUpdateStockRequest
.
getActivityList
())))
{
BaseResponse
activityResponse
=
promotionSdkService
.
subtractStock
(
activityUpdateStockRequest
,
""
);
com
.
freemud
.
application
.
sdk
.
api
.
promotioncenter
.
request
.
promotion
.
ActivityUpdateStockRequest
req
=
this
.
convertSdkBean
(
activityUpdateStockRequest
);
BaseResponse
activityResponse
=
promotionSdkService
.
subtractStock
(
req
,
""
);
// ThirdPartyLog.infoConvertJson(System.currentTimeMillis(), System.currentTimeMillis(),
// ThirdPartyLog.infoConvertJson(System.currentTimeMillis(), System.currentTimeMillis(),
// "subtractStock", JSONObject.toJSONString(activityUpdateStockRequest), JSONObject.toJSONString(activityResponse));
// "subtractStock", JSONObject.toJSONString(activityUpdateStockRequest), JSONObject.toJSONString(activityResponse));
if
(!
ObjectUtils
.
equals
(
RESPONSE_SUCCESS_STR
,
activityResponse
.
getCode
()))
{
if
(!
ObjectUtils
.
equals
(
RESPONSE_SUCCESS_STR
,
activityResponse
.
getCode
()))
{
...
@@ -267,6 +281,19 @@ public class OrderCenterSdkServiceImpl implements OrderCenterSdkService {
...
@@ -267,6 +281,19 @@ public class OrderCenterSdkServiceImpl implements OrderCenterSdkService {
}
}
/**
/**
* 注意该方法 只是为了兼容 sdk 的bean
* sdk的bean太老了,有字段没有赋值,但是不影响 这废弃接口调用
* 上层接口需要废除,
* @param activityUpdateStockRequest
* @return
*/
private
com
.
freemud
.
application
.
sdk
.
api
.
promotioncenter
.
request
.
promotion
.
ActivityUpdateStockRequest
convertSdkBean
(
ActivityUpdateStockRequest
activityUpdateStockRequest
){
com
.
freemud
.
application
.
sdk
.
api
.
promotioncenter
.
request
.
promotion
.
ActivityUpdateStockRequest
req
=
new
com
.
freemud
.
application
.
sdk
.
api
.
promotioncenter
.
request
.
promotion
.
ActivityUpdateStockRequest
();
BeanUtil
.
convertBean
(
activityUpdateStockRequest
,
req
);
return
req
;
}
/**
* 围餐更新库存和积分
* 围餐更新库存和积分
*/
*/
private
BaseOrderResponse
updateWcStockAndScore
(
OrderBeanV1
orderBean
,
List
<
CreateOrderProductRequest
>
products
,
ActivityUpdateStockRequest
updateStockRequest
,
private
BaseOrderResponse
updateWcStockAndScore
(
OrderBeanV1
orderBean
,
List
<
CreateOrderProductRequest
>
products
,
ActivityUpdateStockRequest
updateStockRequest
,
...
@@ -276,7 +303,8 @@ public class OrderCenterSdkServiceImpl implements OrderCenterSdkService {
...
@@ -276,7 +303,8 @@ public class OrderCenterSdkServiceImpl implements OrderCenterSdkService {
// update by miaohui 20201030 for 【ID1018638】【C端服务端】活动库存接口调整对接
// update by miaohui 20201030 for 【ID1018638】【C端服务端】活动库存接口调整对接
// 原逻辑只检测扣减库存不为空时调用,现改为扣减库存不为空或参加活动不为空时调用
// 原逻辑只检测扣减库存不为空时调用,现改为扣减库存不为空或参加活动不为空时调用
if
(
activityUpdateStockRequest
!=
null
&&
(
CollectionUtils
.
isNotEmpty
(
activityUpdateStockRequest
.
getStock
())
||
CollectionUtils
.
isNotEmpty
(
activityUpdateStockRequest
.
getActivityList
())))
{
if
(
activityUpdateStockRequest
!=
null
&&
(
CollectionUtils
.
isNotEmpty
(
activityUpdateStockRequest
.
getStock
())
||
CollectionUtils
.
isNotEmpty
(
activityUpdateStockRequest
.
getActivityList
())))
{
BaseResponse
activityResponse
=
promotionSdkService
.
subtractStock
(
activityUpdateStockRequest
,
""
);
com
.
freemud
.
application
.
sdk
.
api
.
promotioncenter
.
request
.
promotion
.
ActivityUpdateStockRequest
req
=
this
.
convertSdkBean
(
activityUpdateStockRequest
);
BaseResponse
activityResponse
=
promotionSdkService
.
subtractStock
(
req
,
""
);
ThirdPartyLog
.
infoConvertJson
(
System
.
currentTimeMillis
(),
System
.
currentTimeMillis
(),
ThirdPartyLog
.
infoConvertJson
(
System
.
currentTimeMillis
(),
System
.
currentTimeMillis
(),
"subtractStock"
,
JSONObject
.
toJSONString
(
activityUpdateStockRequest
),
JSONObject
.
toJSONString
(
activityResponse
));
"subtractStock"
,
JSONObject
.
toJSONString
(
activityUpdateStockRequest
),
JSONObject
.
toJSONString
(
activityResponse
));
if
(!
ObjectUtils
.
equals
(
RESPONSE_SUCCESS_STR
,
activityResponse
.
getCode
()))
{
if
(!
ObjectUtils
.
equals
(
RESPONSE_SUCCESS_STR
,
activityResponse
.
getCode
()))
{
...
...
order-application-service/src/main/java/cn/freemud/adapter/OrderAdapter.java
View file @
ce3993dc
...
@@ -22,7 +22,8 @@ import cn.freemud.entities.dto.activity.ShareDiscountActivityDto;
...
@@ -22,7 +22,8 @@ import cn.freemud.entities.dto.activity.ShareDiscountActivityDto;
import
cn.freemud.entities.dto.order.CreateOrderAccountDto
;
import
cn.freemud.entities.dto.order.CreateOrderAccountDto
;
import
cn.freemud.entities.dto.order.CreateOrderProductDto
;
import
cn.freemud.entities.dto.order.CreateOrderProductDto
;
import
cn.freemud.entities.dto.order.*
;
import
cn.freemud.entities.dto.order.*
;
import
cn.freemud.entities.dto.pay.*
;
import
cn.freemud.entities.dto.pay.CombPayResponse
;
import
cn.freemud.entities.dto.pay.OrderPayResponse
;
import
cn.freemud.entities.dto.promotion.OrderBeanRequest
;
import
cn.freemud.entities.dto.promotion.OrderBeanRequest
;
import
cn.freemud.entities.dto.promotion.ShoppingCartGoodsResponse
;
import
cn.freemud.entities.dto.promotion.ShoppingCartGoodsResponse
;
import
cn.freemud.entities.dto.shoppingCart.ActivityDiscountsDto
;
import
cn.freemud.entities.dto.shoppingCart.ActivityDiscountsDto
;
...
@@ -63,17 +64,17 @@ import com.freemud.application.sdk.api.ordercenter.request.OrderConditionsReq;
...
@@ -63,17 +64,17 @@ import com.freemud.application.sdk.api.ordercenter.request.OrderConditionsReq;
import
com.freemud.application.sdk.api.ordercenter.request.OrderExtInfoDto
;
import
com.freemud.application.sdk.api.ordercenter.request.OrderExtInfoDto
;
import
com.freemud.application.sdk.api.ordercenter.request.OrderExtendedReq
;
import
com.freemud.application.sdk.api.ordercenter.request.OrderExtendedReq
;
import
com.freemud.application.sdk.api.ordercenter.response.BaseDownLoadResponse
;
import
com.freemud.application.sdk.api.ordercenter.response.BaseDownLoadResponse
;
import
com.freemud.application.sdk.api.ordercenter.response.orderInfo.*
;
import
com.freemud.application.sdk.api.ordercenter.response.orderInfo.AfterSalesOrderResp
;
import
com.freemud.application.sdk.api.ordercenter.response.orderInfo.AfterSalesOrderResp
;
import
com.freemud.application.sdk.api.ordercenter.response.orderInfo.OrderInfoReqs
;
import
com.freemud.application.sdk.api.ordercenter.response.orderInfo.OrderInfoReqs
;
import
com.freemud.application.sdk.api.ordercenter.response.orderInfo.OrderPayItemResp
;
import
com.freemud.application.sdk.api.ordercenter.response.orderInfo.OrderPayItemResp
;
import
com.freemud.application.sdk.api.ordercenter.response.orderInfo.OrderSettlementResp
;
import
com.freemud.application.sdk.api.ordercenter.response.orderInfo.OrderSettlementResp
;
import
com.freemud.application.sdk.api.promotioncenter.dto.promotion.GoodsStockDTO
;
import
com.freemud.application.sdk.api.promotioncenter.request.promotion.ActivityUpdateStockRequest
;
import
com.freemud.application.sdk.api.storecenter.response.StoreResponse
;
import
com.freemud.application.sdk.api.storecenter.response.StoreResponse
;
import
com.freemud.sdk.api.assortment.order.adapter.OrderSdkAdapter
;
import
com.freemud.sdk.api.assortment.order.adapter.OrderSdkAdapter
;
import
com.freemud.sdk.api.assortment.order.constant.OrderRedisKeyConstant
;
import
com.freemud.sdk.api.assortment.order.constant.OrderRedisKeyConstant
;
import
com.freemud.sdk.api.assortment.order.entities.OrderRefundConfigEntity
;
import
com.freemud.sdk.api.assortment.order.entities.OrderRefundConfigEntity
;
import
com.freemud.sdk.api.assortment.order.entities.promption.ActivityUpdateStockRequest
;
import
com.freemud.sdk.api.assortment.order.entities.promption.SubtractStockGoodsVO
;
import
com.freemud.sdk.api.assortment.order.entities.promption.SubtractStockVO
;
import
com.freemud.sdk.api.assortment.order.enums.*
;
import
com.freemud.sdk.api.assortment.order.enums.*
;
import
com.freemud.sdk.api.assortment.order.request.order.*
;
import
com.freemud.sdk.api.assortment.order.request.order.*
;
import
com.freemud.sdk.api.assortment.order.request.payment.CombPayRequest
;
import
com.freemud.sdk.api.assortment.order.request.payment.CombPayRequest
;
...
@@ -370,29 +371,9 @@ public class OrderAdapter {
...
@@ -370,29 +371,9 @@ public class OrderAdapter {
ActivityUpdateStockRequest
activityUpdateStockRequest
=
this
.
initActivityUpdateStockRequest
(
activityDiscountsDtos
);
ActivityUpdateStockRequest
activityUpdateStockRequest
=
this
.
initActivityUpdateStockRequest
(
activityDiscountsDtos
);
//设置库存扣减
//设置库存扣减
if
(
CollectionUtils
.
isNotEmpty
(
shoppingCartGoodsDto
.
getStocks
()))
{
List
<
SubtractStockVO
>
stocks
=
this
.
getStocks
(
shoppingCartGoodsDto
.
getStocks
());
List
<
ActivityUpdateStockRequest
.
StockBeanDto
>
stocks
=
new
ArrayList
<>();
activityUpdateStockRequest
.
setStock
(
stocks
);
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
(
stock
);
goodsStockDTOS
.
add
(
goodsStockDTO
);
});
stockBeanDto
.
setGoodsStock
(
goodsStockDTOS
);
}
stocks
.
add
(
stockBeanDto
);
}
activityUpdateStockRequest
.
setStock
(
stocks
);
}
createOrderDto
.
setActivityUpdateStockRequest
(
activityUpdateStockRequest
);
createOrderDto
.
setActivityUpdateStockRequest
(
activityUpdateStockRequest
);
createOrderDto
.
setPayChannelType
(
createOrderVo
.
getPayChannelType
());
createOrderDto
.
setPayChannelType
(
createOrderVo
.
getPayChannelType
());
...
@@ -902,16 +883,29 @@ public class OrderAdapter {
...
@@ -902,16 +883,29 @@ public class OrderAdapter {
ActivityUpdateStockRequest
activityUpdateStockRequest
=
this
.
initActivityUpdateStockRequest
(
activityDiscountsDtos
);
ActivityUpdateStockRequest
activityUpdateStockRequest
=
this
.
initActivityUpdateStockRequest
(
activityDiscountsDtos
);
//设置库存扣减
//设置库存扣减
if
(
CollectionUtils
.
isNotEmpty
(
shoppingCartGoodsDto
.
getStocks
()))
{
List
<
SubtractStockVO
>
stocks
=
this
.
getStocks
(
shoppingCartGoodsDto
.
getStocks
());
List
<
ActivityUpdateStockRequest
.
StockBeanDto
>
stocks
=
new
ArrayList
<>();
activityUpdateStockRequest
.
setStock
(
stocks
);
for
(
SubtractStockVO
stockVO
:
shoppingCartGoodsDto
.
getStocks
())
{
productOrderInfo
.
setActivityUpdateStockRequest
(
activityUpdateStockRequest
);
ActivityUpdateStockRequest
.
StockBeanDto
stockBeanDto
=
new
ActivityUpdateStockRequest
.
StockBeanDto
();
return
productOrderInfo
;
}
/**
* 提取公共方法
* @param shoppingCartStocks
* @return
*/
private
List
<
SubtractStockVO
>
getStocks
(
List
<
SubtractStockVO
>
shoppingCartStocks
){
List
<
SubtractStockVO
>
stocks
=
new
ArrayList
<>();
if
(
CollectionUtils
.
isNotEmpty
(
shoppingCartStocks
))
{
for
(
SubtractStockVO
stockVO
:
shoppingCartStocks
)
{
SubtractStockVO
stockBeanDto
=
new
SubtractStockVO
();
stockBeanDto
.
setActivityCode
(
stockVO
.
getActivityCode
());
stockBeanDto
.
setActivityCode
(
stockVO
.
getActivityCode
());
stockBeanDto
.
setActivityStock
(
stockVO
.
getActivityStock
()
==
null
?
1
:
stockVO
.
getActivityStock
());
stockBeanDto
.
setActivityStock
(
stockVO
.
getActivityStock
()
==
null
?
1
:
stockVO
.
getActivityStock
());
if
(
CollectionUtils
.
isNotEmpty
(
stockVO
.
getGoodsStock
()))
{
if
(
CollectionUtils
.
isNotEmpty
(
stockVO
.
getGoodsStock
()))
{
List
<
GoodsStockDT
O
>
goodsStockDTOS
=
new
ArrayList
<>();
List
<
SubtractStockGoodsV
O
>
goodsStockDTOS
=
new
ArrayList
<>();
stockVO
.
getGoodsStock
().
forEach
(
goods
->
{
stockVO
.
getGoodsStock
().
forEach
(
goods
->
{
GoodsStockDTO
goodsStockDTO
=
new
GoodsStockDT
O
();
SubtractStockGoodsVO
goodsStockDTO
=
new
SubtractStockGoodsV
O
();
goodsStockDTO
.
setBenefitSeq
(
goods
.
getBenefitSeq
());
goodsStockDTO
.
setBenefitSeq
(
goods
.
getBenefitSeq
());
goodsStockDTO
.
setGoodsId
(
goods
.
getGoodsId
());
goodsStockDTO
.
setGoodsId
(
goods
.
getGoodsId
());
int
stock
=
goods
.
getStock
()
==
null
?
1
:
goods
.
getStock
();
int
stock
=
goods
.
getStock
()
==
null
?
1
:
goods
.
getStock
();
...
@@ -920,12 +914,12 @@ public class OrderAdapter {
...
@@ -920,12 +914,12 @@ public class OrderAdapter {
});
});
stockBeanDto
.
setGoodsStock
(
goodsStockDTOS
);
stockBeanDto
.
setGoodsStock
(
goodsStockDTOS
);
}
}
// fisherman 用户限购库存-> 返回促销的值
stockBeanDto
.
setUserGoodsStock
(
stockVO
.
getUserGoodsStock
());
stocks
.
add
(
stockBeanDto
);
stocks
.
add
(
stockBeanDto
);
}
}
activityUpdateStockRequest
.
setStock
(
stocks
);
}
}
productOrderInfo
.
setActivityUpdateStockRequest
(
activityUpdateStockRequest
);
return
stocks
;
return
productOrderInfo
;
}
}
public
CreateFatherSonOrderRequest
.
OrderInfo
convertMemberOrderInfo
(
CreateOrderVo
createOrderVo
,
ShoppingCartGoodsDto
shoppingCartGoodsDto
,
QueryOrderType
orderType
)
{
public
CreateFatherSonOrderRequest
.
OrderInfo
convertMemberOrderInfo
(
CreateOrderVo
createOrderVo
,
ShoppingCartGoodsDto
shoppingCartGoodsDto
,
QueryOrderType
orderType
)
{
...
@@ -3694,29 +3688,10 @@ public class OrderAdapter {
...
@@ -3694,29 +3688,10 @@ public class OrderAdapter {
// update by miaohui 20201030 for 【ID1018638】【C端服务端】活动库存接口调整对接
// update by miaohui 20201030 for 【ID1018638】【C端服务端】活动库存接口调整对接
ActivityUpdateStockRequest
activityUpdateStockRequest
=
this
.
initActivityUpdateStockRequest
(
activityDiscountsDtos
);
ActivityUpdateStockRequest
activityUpdateStockRequest
=
this
.
initActivityUpdateStockRequest
(
activityDiscountsDtos
);
//设置库存扣减
//设置库存扣减
if
(
shoppingCartGoodsResponse
!=
null
&&
CollectionUtils
.
isNotEmpty
(
shoppingCartGoodsResponse
.
getStocks
()))
{
List
<
SubtractStockVO
>
stocks
=
this
.
getStocks
(
shoppingCartGoodsResponse
.
getStocks
());
List
<
ActivityUpdateStockRequest
.
StockBeanDto
>
stocks
=
new
ArrayList
<>();
activityUpdateStockRequest
.
setStock
(
stocks
);
for
(
cn
.
freemud
.
entities
.
dto
.
promotion
.
SubtractStockVO
stockVO
:
shoppingCartGoodsResponse
.
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
(
stock
);
goodsStockDTOS
.
add
(
goodsStockDTO
);
});
stockBeanDto
.
setGoodsStock
(
goodsStockDTOS
);
}
stocks
.
add
(
stockBeanDto
);
}
activityUpdateStockRequest
.
setStock
(
stocks
);
}
sdkUpdateOrderProductInfoRequest
.
setActivityUpdateStockRequest
(
activityUpdateStockRequest
);
sdkUpdateOrderProductInfoRequest
.
setActivityUpdateStockRequest
(
activityUpdateStockRequest
);
return
sdkUpdateOrderProductInfoRequest
;
return
sdkUpdateOrderProductInfoRequest
;
}
}
...
...
order-application-service/src/main/java/cn/freemud/adapter/SpellGroupOrderAdapter.java
View file @
ce3993dc
...
@@ -21,9 +21,9 @@ import com.freemud.application.sdk.api.ordercenter.enums.PayChannelType;
...
@@ -21,9 +21,9 @@ import com.freemud.application.sdk.api.ordercenter.enums.PayChannelType;
import
com.freemud.application.sdk.api.ordercenter.request.OrderExtInfoDto
;
import
com.freemud.application.sdk.api.ordercenter.request.OrderExtInfoDto
;
import
com.freemud.application.sdk.api.ordercenter.request.OrderExtendedReq
;
import
com.freemud.application.sdk.api.ordercenter.request.OrderExtendedReq
;
import
com.freemud.application.sdk.api.ordercenter.request.create.*
;
import
com.freemud.application.sdk.api.ordercenter.request.create.*
;
import
com.freemud.application.sdk.api.promotioncenter.request.promotion.ActivityUpdateStockRequest
;
import
com.freemud.application.sdk.api.storecenter.response.StoreResponse
;
import
com.freemud.application.sdk.api.storecenter.response.StoreResponse
;
import
com.freemud.application.sdk.api.util.DateUtil
;
import
com.freemud.application.sdk.api.util.DateUtil
;
import
com.freemud.sdk.api.assortment.order.entities.promption.ActivityUpdateStockRequest
;
import
org.springframework.stereotype.Component
;
import
org.springframework.stereotype.Component
;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
...
...
order-application-service/src/main/java/cn/freemud/entities/dto/ActivityCalculationDiscountResponseDto.java
View file @
ce3993dc
package
cn
.
freemud
.
entities
.
dto
;
package
cn
.
freemud
.
entities
.
dto
;
import
com.freemud.application.sdk.api.promotioncenter.dto.promotion.GoodsStockDTO
;
import
com.freemud.sdk.api.assortment.order.entities.promption.SubtractStockVO
;
import
com.freemud.application.sdk.api.promotioncenter.request.promotion.ActivityUpdateStockRequest
;
import
lombok.Data
;
import
lombok.Data
;
import
java.util.List
;
import
java.util.List
;
...
@@ -76,7 +75,7 @@ public class ActivityCalculationDiscountResponseDto {
...
@@ -76,7 +75,7 @@ public class ActivityCalculationDiscountResponseDto {
/**
/**
* 活动集合
* 活动集合
*/
*/
List
<
ActivityUpdateStockRequest
.
StockBeanDto
>
stocks
;
List
<
SubtractStockVO
>
stocks
;
@Data
@Data
public
static
class
ActivityPrompt
{
public
static
class
ActivityPrompt
{
...
...
order-application-service/src/main/java/cn/freemud/entities/dto/promotion/CalculationDiscountResultDto.java
View file @
ce3993dc
package
cn
.
freemud
.
entities
.
dto
.
promotion
;
package
cn
.
freemud
.
entities
.
dto
.
promotion
;
import
com.freemud.sdk.api.assortment.order.entities.promption.SubtractStockVO
;
import
lombok.Data
;
import
lombok.Data
;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
...
...
order-application-service/src/main/java/cn/freemud/entities/dto/promotion/ShoppingCartGoodsResponse.java
View file @
ce3993dc
package
cn
.
freemud
.
entities
.
dto
.
promotion
;
package
cn
.
freemud
.
entities
.
dto
.
promotion
;
import
cn.freemud.entities.dto.shoppingCart.ActivityDiscountsDto
;
import
cn.freemud.entities.dto.shoppingCart.ActivityDiscountsDto
;
import
cn.freemud.entities.vo.*
;
import
cn.freemud.entities.vo.ActivityClassifyCouponBean
;
import
cn.freemud.entities.vo.ActivityTip
;
import
cn.freemud.entities.vo.ShoppingCartCustomerScoreVo
;
import
com.freemud.sdk.api.assortment.order.entities.promption.SubtractStockVO
;
import
lombok.Data
;
import
lombok.Data
;
import
javax.validation.constraints.NotNull
;
import
javax.validation.constraints.NotNull
;
...
...
order-application-service/src/main/java/cn/freemud/entities/dto/shoppingCart/MCCafeShoppingCartGoodsDto.java
View file @
ce3993dc
package
cn
.
freemud
.
entities
.
dto
.
shoppingCart
;
package
cn
.
freemud
.
entities
.
dto
.
shoppingCart
;
import
cn.freemud.entities.dto.OrderProductAddInfo
;
import
cn.freemud.entities.vo.SubtractStockVO
;
import
com.alibaba.fastjson.JSON
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.Data
;
import
org.apache.commons.collections4.CollectionUtils
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.stream.Collectors
;
@Data
@Data
...
...
order-application-service/src/main/java/cn/freemud/entities/dto/shoppingCart/ShoppingCartGoodsDto.java
View file @
ce3993dc
package
cn
.
freemud
.
entities
.
dto
.
shoppingCart
;
package
cn
.
freemud
.
entities
.
dto
.
shoppingCart
;
import
cn.freemud.entities.dto.OrderProductAddInfo
;
import
cn.freemud.entities.dto.OrderProductAddInfo
;
import
cn.freemud.entities.vo.SubtractStockVO
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSON
;
import
com.freemud.sdk.api.assortment.order.entities.promption.SubtractStockVO
;
import
lombok.Builder
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
lombok.NoArgsConstructor
;
...
...
order-application-service/src/main/java/cn/freemud/entities/vo/SubtractStockVO.java
View file @
ce3993dc
package
cn
.
freemud
.
entities
.
vo
;
package
cn
.
freemud
.
entities
.
vo
;
import
com.freemud.sdk.api.assortment.order.entities.promption.SubtractStockGoodsVO
;
import
com.freemud.sdk.api.assortment.order.entities.promption.SubtractStockUserGoodsVO
;
import
lombok.Data
;
import
lombok.Data
;
import
java.util.List
;
import
java.util.List
;
...
@@ -15,8 +17,11 @@ import java.util.List;
...
@@ -15,8 +17,11 @@ import java.util.List;
* @date: 2019/8/28
* @date: 2019/8/28
* @Copyright: 2017 www.freemud.cn Inc. All rights reserved.
* @Copyright: 2017 www.freemud.cn Inc. All rights reserved.
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目.
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目.
* 该类后期 删除,禁止再使用, 请使用下面的类
* @see com.freemud.sdk.api.assortment.order.entities.promption.SubtractStockVO
*/
*/
@Data
@Data
@Deprecated
public
class
SubtractStockVO
{
public
class
SubtractStockVO
{
//活动编码
//活动编码
private
String
activityCode
;
private
String
activityCode
;
...
@@ -26,13 +31,9 @@ public class SubtractStockVO {
...
@@ -26,13 +31,9 @@ public class SubtractStockVO {
//商品库存扣除列表
//商品库存扣除列表
private
List
<
SubtractStockGoodsVO
>
goodsStock
;
private
List
<
SubtractStockGoodsVO
>
goodsStock
;
@Data
/**
public
static
class
SubtractStockGoodsVO
{
* 用户商品库存扣减集合
//商品编号
*/
private
String
goodsId
;
private
List
<
SubtractStockUserGoodsVO
>
userGoodsStock
;
//库存
private
Integer
stock
;
//等级编码,当不同等级都有自己的库存时,字段必填
private
Integer
benefitSeq
;
}
}
}
order-application-service/src/main/java/cn/freemud/service/business/impl/OrderBusinessServiceImpl.java
View file @
ce3993dc
...
@@ -10,6 +10,7 @@ import cn.freemud.service.business.OrderBusinessService;
...
@@ -10,6 +10,7 @@ import cn.freemud.service.business.OrderBusinessService;
import
cn.freemud.service.impl.OrderQueueService
;
import
cn.freemud.service.impl.OrderQueueService
;
import
cn.freemud.service.thirdparty.CustomerApplicationClient
;
import
cn.freemud.service.thirdparty.CustomerApplicationClient
;
import
cn.freemud.service.thirdparty.CustomerClient
;
import
cn.freemud.service.thirdparty.CustomerClient
;
import
cn.freemud.service.thirdparty.PromotionDiscountClient
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONObject
;
import
com.alibaba.fastjson.JSONObject
;
import
com.freemud.application.sdk.api.base.BaseResponse
;
import
com.freemud.application.sdk.api.base.BaseResponse
;
...
@@ -30,7 +31,7 @@ import com.freemud.application.sdk.api.ordercenter.response.OrderBaseResp;
...
@@ -30,7 +31,7 @@ import com.freemud.application.sdk.api.ordercenter.response.OrderBaseResp;
import
com.freemud.application.sdk.api.ordercenter.response.PaySuccessResp
;
import
com.freemud.application.sdk.api.ordercenter.response.PaySuccessResp
;
import
com.freemud.application.sdk.api.ordercenter.response.orderInfo.OrderInfoReqs
;
import
com.freemud.application.sdk.api.ordercenter.response.orderInfo.OrderInfoReqs
;
import
com.freemud.application.sdk.api.ordercenter.service.OrderSdkService
;
import
com.freemud.application.sdk.api.ordercenter.service.OrderSdkService
;
import
com.freemud.application.sdk.api.promotioncenter.re
quest.promotion.ActivityUpdateStockRequest
;
import
com.freemud.application.sdk.api.promotioncenter.re
sponse.PromotionResponseDTO
;
import
com.freemud.application.sdk.api.promotioncenter.service.PromotionSdkService
;
import
com.freemud.application.sdk.api.promotioncenter.service.PromotionSdkService
;
import
com.freemud.application.sdk.api.stockapi.request.UpdateStocksRequest
;
import
com.freemud.application.sdk.api.stockapi.request.UpdateStocksRequest
;
import
com.freemud.application.sdk.api.stockapi.service.StockSdkService
;
import
com.freemud.application.sdk.api.stockapi.service.StockSdkService
;
...
@@ -42,6 +43,7 @@ import com.freemud.application.sdk.api.storecenter.service.StoreCenterService;
...
@@ -42,6 +43,7 @@ import com.freemud.application.sdk.api.storecenter.service.StoreCenterService;
import
com.freemud.sdk.api.assortment.order.adapter.OrderSdkAdapter
;
import
com.freemud.sdk.api.assortment.order.adapter.OrderSdkAdapter
;
import
com.freemud.sdk.api.assortment.order.constant.CommonConstant
;
import
com.freemud.sdk.api.assortment.order.constant.CommonConstant
;
import
com.freemud.sdk.api.assortment.order.domain.ResponseCodeConstant
;
import
com.freemud.sdk.api.assortment.order.domain.ResponseCodeConstant
;
import
com.freemud.sdk.api.assortment.order.entities.promption.ActivityUpdateStockRequest
;
import
com.freemud.sdk.api.assortment.order.enums.*
;
import
com.freemud.sdk.api.assortment.order.enums.*
;
import
com.freemud.sdk.api.assortment.order.request.order.*
;
import
com.freemud.sdk.api.assortment.order.request.order.*
;
import
com.freemud.sdk.api.assortment.order.response.order.BaseOrderResponse
;
import
com.freemud.sdk.api.assortment.order.response.order.BaseOrderResponse
;
...
@@ -100,6 +102,9 @@ public class OrderBusinessServiceImpl implements OrderBusinessService {
...
@@ -100,6 +102,9 @@ public class OrderBusinessServiceImpl implements OrderBusinessService {
@Value
(
"${avoid.version.upgrade.config:}"
)
@Value
(
"${avoid.version.upgrade.config:}"
)
private
String
avoidVersionUpgradeConfig
;
private
String
avoidVersionUpgradeConfig
;
@Autowired
private
PromotionDiscountClient
promotionDiscountClient
;
...
@@ -281,15 +286,16 @@ public class OrderBusinessServiceImpl implements OrderBusinessService {
...
@@ -281,15 +286,16 @@ public class OrderBusinessServiceImpl implements OrderBusinessService {
// update by miaohui 20201030 for 【ID1018638】【C端服务端】活动库存接口调整对接
// update by miaohui 20201030 for 【ID1018638】【C端服务端】活动库存接口调整对接
// 原逻辑只检测扣减库存不为空时调用,现改为扣减库存不为空或参加活动不为空时调用
// 原逻辑只检测扣减库存不为空时调用,现改为扣减库存不为空或参加活动不为空时调用
if
(
activityUpdateStockRequest
!=
null
&&
(
CollectionUtils
.
isNotEmpty
(
activityUpdateStockRequest
.
getStock
())
||
CollectionUtils
.
isNotEmpty
(
activityUpdateStockRequest
.
getActivityList
())))
{
if
(
activityUpdateStockRequest
!=
null
&&
(
CollectionUtils
.
isNotEmpty
(
activityUpdateStockRequest
.
getStock
())
||
CollectionUtils
.
isNotEmpty
(
activityUpdateStockRequest
.
getActivityList
())))
{
BaseResponse
activityResponse
=
promotionSdkService
.
subtractStock
(
activityUpdateStockRequest
,
""
);
// BaseResponse activityResponse = promotionSdkService.subtractStock(activityUpdateStockRequest, "");
if
(!
ObjectUtils
.
equals
(
RESPONSE_SUCCESS_STR
,
activityResponse
.
getCode
()))
{
PromotionResponseDTO
activityResponse
=
promotionDiscountClient
.
subtractStock
(
activityUpdateStockRequest
);
if
(!
ObjectUtils
.
equals
(
RESPONSE_SUCCESS_STR
,
activityResponse
.
getStatusCode
()))
{
//TODO 失败取消订单,异步冲正库存
//TODO 失败取消订单,异步冲正库存
CancelOrderRequest
cancelOrderRequest
=
orderSdkAdapter
.
convent2CancelOrderRequest
(
orderBean
.
getOid
(),
orderBean
.
getCompanyId
(),
CancelOrderRequest
cancelOrderRequest
=
orderSdkAdapter
.
convent2CancelOrderRequest
(
orderBean
.
getOid
(),
orderBean
.
getCompanyId
(),
AfterSalesType
.
SYSTEM_CANCEL
,
"活动库存不足"
,
""
,
null
);
AfterSalesType
.
SYSTEM_CANCEL
,
"活动库存不足"
,
""
,
null
);
orderCancel
(
cancelOrderRequest
);
orderCancel
(
cancelOrderRequest
);
//失败异步冲正库存,取消订单
//失败异步冲正库存,取消订单
orderQueueService
.
backOrdersStatusChange
(
orderBean
.
getOid
(),
orderBean
.
getStatus
());
orderQueueService
.
backOrdersStatusChange
(
orderBean
.
getOid
(),
orderBean
.
getStatus
());
return
BaseOrderResponse
.
getErrorBaseOrderResponse
(
activityResponse
.
getCode
(),
"活动库存不足"
);
return
BaseOrderResponse
.
getErrorBaseOrderResponse
(
activityResponse
.
get
Status
Code
(),
"活动库存不足"
);
}
}
}
}
...
...
order-application-service/src/main/java/cn/freemud/service/impl/AppOrderServiceImpl.java
View file @
ce3993dc
...
@@ -50,6 +50,7 @@ import com.freemud.application.sdk.api.storecenter.request.StoreInfoRequest;
...
@@ -50,6 +50,7 @@ import com.freemud.application.sdk.api.storecenter.request.StoreInfoRequest;
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.adapter.OrderSdkAdapter
;
import
com.freemud.sdk.api.assortment.order.adapter.OrderSdkAdapter
;
import
com.freemud.sdk.api.assortment.order.entities.promption.SubtractStockVO
;
import
com.freemud.sdk.api.assortment.order.request.order.CancelOrderRequest
;
import
com.freemud.sdk.api.assortment.order.request.order.CancelOrderRequest
;
import
com.freemud.sdk.api.assortment.order.request.order.OrderEditRequest
;
import
com.freemud.sdk.api.assortment.order.request.order.OrderEditRequest
;
import
com.freemud.sdk.api.assortment.order.request.order.QueryRelatedOrderByCodeRequest
;
import
com.freemud.sdk.api.assortment.order.request.order.QueryRelatedOrderByCodeRequest
;
...
...
order-application-service/src/main/java/cn/freemud/service/impl/SellCouponOrderServiceImpl.java
View file @
ce3993dc
...
@@ -61,7 +61,6 @@ import com.freemud.application.sdk.api.ordercenter.response.orderInfo.OrderInfoR
...
@@ -61,7 +61,6 @@ import com.freemud.application.sdk.api.ordercenter.response.orderInfo.OrderInfoR
import
com.freemud.application.sdk.api.ordercenter.response.orderInfo.OrderItemResp
;
import
com.freemud.application.sdk.api.ordercenter.response.orderInfo.OrderItemResp
;
import
com.freemud.application.sdk.api.ordercenter.service.OrderSdkService
;
import
com.freemud.application.sdk.api.ordercenter.service.OrderSdkService
;
import
com.freemud.application.sdk.api.productcenter.service.MenuService
;
import
com.freemud.application.sdk.api.productcenter.service.MenuService
;
import
com.freemud.application.sdk.api.promotioncenter.request.promotion.ActivityUpdateStockRequest
;
import
com.freemud.application.sdk.api.promotioncenter.response.PromotionResponseDTO
;
import
com.freemud.application.sdk.api.promotioncenter.response.PromotionResponseDTO
;
import
com.freemud.application.sdk.api.stockapi.request.UpdateStocksRequest
;
import
com.freemud.application.sdk.api.stockapi.request.UpdateStocksRequest
;
import
com.freemud.application.sdk.api.stockapi.service.StockSdkService
;
import
com.freemud.application.sdk.api.stockapi.service.StockSdkService
;
...
@@ -70,6 +69,8 @@ import com.freemud.application.sdk.api.storecenter.request.vo.GetOrgTreeListRequ
...
@@ -70,6 +69,8 @@ import com.freemud.application.sdk.api.storecenter.request.vo.GetOrgTreeListRequ
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.adapter.OrderSdkAdapter
;
import
com.freemud.sdk.api.assortment.order.adapter.OrderSdkAdapter
;
import
com.freemud.sdk.api.assortment.order.entities.promption.ActivityUpdateStockRequest
;
import
com.freemud.sdk.api.assortment.order.entities.promption.SubtractStockVO
;
import
com.freemud.sdk.api.assortment.order.enums.StockChangeType
;
import
com.freemud.sdk.api.assortment.order.enums.StockChangeType
;
import
com.freemud.sdk.api.assortment.order.request.order.*
;
import
com.freemud.sdk.api.assortment.order.request.order.*
;
import
com.freemud.sdk.api.assortment.order.response.order.BaseOrderResponse
;
import
com.freemud.sdk.api.assortment.order.response.order.BaseOrderResponse
;
...
@@ -362,7 +363,7 @@ public class SellCouponOrderServiceImpl implements OrderFactoryService {
...
@@ -362,7 +363,7 @@ public class SellCouponOrderServiceImpl implements OrderFactoryService {
CreateOrderRequest
createOrderRequest
=
(
CreateOrderRequest
)
createOrderRequestResponse
.
getResult
();
CreateOrderRequest
createOrderRequest
=
(
CreateOrderRequest
)
createOrderRequestResponse
.
getResult
();
//标准化平台虚拟商品特价活动计算,不包含蜜雪APP买虚拟商品
//标准化平台虚拟商品特价活动计算,不包含蜜雪APP买虚拟商品
List
<
ActivityUpdateStockRequest
.
StockBeanDto
>
stockBeanDtos
=
calculationDiscount
(
partnerId
,
storeId
,
userLoginInfoDto
.
getMemberId
(),
productInfosDto
.
getData
().
getProducts
().
get
(
0
),
createOrderRequest
);
List
<
SubtractStockVO
>
stockBeanDtos
=
calculationDiscount
(
partnerId
,
storeId
,
userLoginInfoDto
.
getMemberId
(),
productInfosDto
.
getData
().
getProducts
().
get
(
0
),
createOrderRequest
);
//查询虚拟商品卖券支付配置中的分账门店信息
//查询虚拟商品卖券支付配置中的分账门店信息
//如果需要分账查询支付配置中的分账门店信息,否则查询sdk
//如果需要分账查询支付配置中的分账门店信息,否则查询sdk
AssortmentOpenPlatformIappWxappStore
wxAppStore
=
new
AssortmentOpenPlatformIappWxappStore
();
AssortmentOpenPlatformIappWxappStore
wxAppStore
=
new
AssortmentOpenPlatformIappWxappStore
();
...
@@ -1038,7 +1039,7 @@ public class SellCouponOrderServiceImpl implements OrderFactoryService {
...
@@ -1038,7 +1039,7 @@ public class SellCouponOrderServiceImpl implements OrderFactoryService {
/**
/**
* 查询促销优惠,赋值订单金额,商品优惠后金额,优惠记录
* 查询促销优惠,赋值订单金额,商品优惠后金额,优惠记录
*/
*/
private
List
<
ActivityUpdateStockRequest
.
StockBeanDto
>
calculationDiscount
(
String
partnerId
,
String
storeId
,
String
userId
,
ProductInfo
products
,
CreateOrderRequest
createOrderRequest
){
private
List
<
SubtractStockVO
>
calculationDiscount
(
String
partnerId
,
String
storeId
,
String
userId
,
ProductInfo
products
,
CreateOrderRequest
createOrderRequest
){
CalculationDiscountRequestDto
calculationDiscountRequestDto
=
new
CalculationDiscountRequestDto
();
CalculationDiscountRequestDto
calculationDiscountRequestDto
=
new
CalculationDiscountRequestDto
();
calculationDiscountRequestDto
.
setStoreId
(
storeId
);
calculationDiscountRequestDto
.
setStoreId
(
storeId
);
calculationDiscountRequestDto
.
setPartnerCode
(
partnerId
);
calculationDiscountRequestDto
.
setPartnerCode
(
partnerId
);
...
...
order-application-service/src/main/java/cn/freemud/service/impl/SpellGroupOrderServiceImpl.java
View file @
ce3993dc
...
@@ -21,6 +21,7 @@ import cn.freemud.enums.ActivityGroupStatusEnum;
...
@@ -21,6 +21,7 @@ import cn.freemud.enums.ActivityGroupStatusEnum;
import
cn.freemud.enums.ResponseResult
;
import
cn.freemud.enums.ResponseResult
;
import
cn.freemud.manager.SpellGroupOrderDataManager
;
import
cn.freemud.manager.SpellGroupOrderDataManager
;
import
cn.freemud.service.SpellGroupOrderService
;
import
cn.freemud.service.SpellGroupOrderService
;
import
cn.freemud.service.thirdparty.PromotionDiscountClient
;
import
cn.freemud.utils.ResponseUtil
;
import
cn.freemud.utils.ResponseUtil
;
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.customer.AssortmentCustomerInfoManager
;
import
com.freemud.api.assortment.datamanager.manager.customer.AssortmentCustomerInfoManager
;
...
@@ -33,12 +34,13 @@ import com.freemud.application.sdk.api.ordercenter.request.create.OrderTaskReq;
...
@@ -33,12 +34,13 @@ import com.freemud.application.sdk.api.ordercenter.request.create.OrderTaskReq;
import
com.freemud.application.sdk.api.ordercenter.response.OrderBaseResp
;
import
com.freemud.application.sdk.api.ordercenter.response.OrderBaseResp
;
import
com.freemud.application.sdk.api.ordercenter.response.orderInfo.OrderInfoReqs
;
import
com.freemud.application.sdk.api.ordercenter.response.orderInfo.OrderInfoReqs
;
import
com.freemud.application.sdk.api.ordercenter.service.OrderSdkService
;
import
com.freemud.application.sdk.api.ordercenter.service.OrderSdkService
;
import
com.freemud.application.sdk.api.promotioncenter.re
quest.promotion.ActivityUpdateStockRequest
;
import
com.freemud.application.sdk.api.promotioncenter.re
sponse.PromotionResponseDTO
;
import
com.freemud.application.sdk.api.promotioncenter.service.PromotionSdkService
;
import
com.freemud.application.sdk.api.promotioncenter.service.PromotionSdkService
;
import
com.freemud.application.sdk.api.storecenter.request.StoreInfoRequest
;
import
com.freemud.application.sdk.api.storecenter.request.StoreInfoRequest
;
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.adapter.OrderSdkAdapter
;
import
com.freemud.sdk.api.assortment.order.adapter.OrderSdkAdapter
;
import
com.freemud.sdk.api.assortment.order.entities.promption.ActivityUpdateStockRequest
;
import
com.freemud.sdk.api.assortment.order.enums.AutoOrderConfigTime
;
import
com.freemud.sdk.api.assortment.order.enums.AutoOrderConfigTime
;
import
com.freemud.sdk.api.assortment.order.request.order.CancelOrderRequest
;
import
com.freemud.sdk.api.assortment.order.request.order.CancelOrderRequest
;
import
com.freemud.sdk.api.assortment.order.request.order.OrderStatusChangeRequestDto
;
import
com.freemud.sdk.api.assortment.order.request.order.OrderStatusChangeRequestDto
;
...
@@ -107,6 +109,9 @@ public class SpellGroupOrderServiceImpl implements SpellGroupOrderService {
...
@@ -107,6 +109,9 @@ public class SpellGroupOrderServiceImpl implements SpellGroupOrderService {
@Value
(
"${program.backorders_notify_activity_exchange}"
)
@Value
(
"${program.backorders_notify_activity_exchange}"
)
private
String
backOrdersNotifyActivityExchange
;
private
String
backOrdersNotifyActivityExchange
;
@Autowired
private
PromotionDiscountClient
promotionDiscountClient
;
@Override
@Override
public
BaseResponse
createSpellGroupOrder
(
CreateSpellGroupOrderReq
createSpellGroupOrderReq
)
{
public
BaseResponse
createSpellGroupOrder
(
CreateSpellGroupOrderReq
createSpellGroupOrderReq
)
{
String
trackingNo
=
LogThreadLocal
.
getTrackingNo
();
String
trackingNo
=
LogThreadLocal
.
getTrackingNo
();
...
@@ -226,17 +231,17 @@ public class SpellGroupOrderServiceImpl implements SpellGroupOrderService {
...
@@ -226,17 +231,17 @@ public class SpellGroupOrderServiceImpl implements SpellGroupOrderService {
private
BaseOrderResponse
updateActivityStock
(
OrderBeanV1
orderBean
,
CreateSpellGroupOrderDto
createSpellGroupOrderDto
)
{
private
BaseOrderResponse
updateActivityStock
(
OrderBeanV1
orderBean
,
CreateSpellGroupOrderDto
createSpellGroupOrderDto
)
{
ActivityUpdateStockRequest
activityUpdateStockRequest
=
spellGroupOrderAdapter
.
convert2ActivityUpdateStockRequest
(
orderBean
,
createSpellGroupOrderDto
);
ActivityUpdateStockRequest
activityUpdateStockRequest
=
spellGroupOrderAdapter
.
convert2ActivityUpdateStockRequest
(
orderBean
,
createSpellGroupOrderDto
);
if
(
activityUpdateStockRequest
!=
null
&&
(
CollectionUtils
.
isNotEmpty
(
activityUpdateStockRequest
.
getStock
())
||
CollectionUtils
.
isNotEmpty
(
activityUpdateStockRequest
.
getActivityList
())))
{
if
(
activityUpdateStockRequest
!=
null
&&
(
CollectionUtils
.
isNotEmpty
(
activityUpdateStockRequest
.
getStock
())
||
CollectionUtils
.
isNotEmpty
(
activityUpdateStockRequest
.
getActivityList
())))
{
com
.
freemud
.
application
.
sdk
.
api
.
base
.
BaseResponse
activityResponse
=
promotionSdkService
.
subtractStock
(
activityUpdateStockRequest
,
""
);
PromotionResponseDTO
activityResponse
=
promotionDiscountClient
.
subtractStock
(
activityUpdateStockRequest
);
// ThirdPartyLog.infoConvertJson(System.currentTimeMillis(), System.currentTimeMillis(),
// ThirdPartyLog.infoConvertJson(System.currentTimeMillis(), System.currentTimeMillis(),
// "subtractStock", JSONObject.toJSONString(activityUpdateStockRequest), JSONObject.toJSONString(activityResponse));
// "subtractStock", JSONObject.toJSONString(activityUpdateStockRequest), JSONObject.toJSONString(activityResponse));
if
(!
ObjectUtils
.
equals
(
RESPONSE_SUCCESS_STR
,
activityResponse
.
getCode
()))
{
if
(!
ObjectUtils
.
equals
(
RESPONSE_SUCCESS_STR
,
activityResponse
.
get
Status
Code
()))
{
//TODO 失败取消订单,异步冲正库存
//TODO 失败取消订单,异步冲正库存
CancelOrderRequest
cancelOrderRequest
=
orderSdkAdapter
.
convent2CancelOrderRequest
(
orderBean
.
getOid
(),
orderBean
.
getCompanyId
(),
CancelOrderRequest
cancelOrderRequest
=
orderSdkAdapter
.
convent2CancelOrderRequest
(
orderBean
.
getOid
(),
orderBean
.
getCompanyId
(),
AfterSalesType
.
SYSTEM_CANCEL
,
"活动库存不足"
,
""
,
null
);
AfterSalesType
.
SYSTEM_CANCEL
,
"活动库存不足"
,
""
,
null
);
orderCancel
(
cancelOrderRequest
);
orderCancel
(
cancelOrderRequest
);
//失败异步冲正库存,取消订单
//失败异步冲正库存,取消订单
backOrdersNotifyActivity
(
orderBean
,
backOrdersChangeOrderStatusConsumerQueue
,
backOrdersNotifyActivityExchange
);
backOrdersNotifyActivity
(
orderBean
,
backOrdersChangeOrderStatusConsumerQueue
,
backOrdersNotifyActivityExchange
);
return
BaseOrderResponse
.
getErrorBaseOrderResponse
(
activityResponse
.
getCode
(),
"活动库存不足"
);
return
BaseOrderResponse
.
getErrorBaseOrderResponse
(
activityResponse
.
get
Status
Code
(),
"活动库存不足"
);
}
}
}
}
return
BaseOrderResponse
.
getErrorBaseOrderResponse
(
RESPONSE_SUCCESS_STR
,
""
);
return
BaseOrderResponse
.
getErrorBaseOrderResponse
(
RESPONSE_SUCCESS_STR
,
""
);
...
...
order-application-service/src/main/java/cn/freemud/service/thirdparty/PromotionDiscountClient.java
View file @
ce3993dc
...
@@ -12,21 +12,20 @@
...
@@ -12,21 +12,20 @@
*/
*/
package
cn
.
freemud
.
service
.
thirdparty
;
package
cn
.
freemud
.
service
.
thirdparty
;
import
cn.freemud.base.entity.BaseResponse
;
import
cn.freemud.annotations.LogIgnoreFeign
;
import
cn.freemud.annotations.LogIgnoreFeign
;
import
cn.freemud.constant.ResponseCodeConstant
;
import
cn.freemud.constant.ResponseCodeKeyConstant
;
import
cn.freemud.constant.ResponseCodeKeyConstant
;
import
cn.freemud.entities.dto.ActivityCalculationDiscountRequestDto
;
import
cn.freemud.entities.dto.ActivityCalculationDiscountResponseDto
;
import
cn.freemud.entities.dto.ActivityCalculationDiscountResponseDto
;
import
cn.freemud.entities.dto.ActivityQueryRequestDto
;
import
cn.freemud.entities.dto.ActivityQueryRequestDto
;
import
cn.freemud.entities.dto.activity.ActivityQueryResponseDto
;
import
cn.freemud.entities.dto.activity.ActivityQueryResponseDto
;
import
cn.freemud.entities.dto.promotion.*
;
import
cn.freemud.entities.dto.promotion.*
;
import
cn.freemud.entities.vo.QueryGroupHistoryRequest
;
import
cn.freemud.entities.vo.QueryGroupHistoryRequest
;
import
cn.freemud.entities.vo.QuerySpellGroupRequest
;
import
cn.freemud.entities.vo.QuerySpellGroupRequest
;
import
com.freemud.application.sdk.api.promotioncenter.request.promotion.ActivityUpdateStockRequest
;
import
com.freemud.application.sdk.api.promotioncenter.response.PromotionResponseDTO
;
import
com.freemud.application.sdk.api.promotioncenter.response.PromotionResponseDTO
;
import
com.freemud.sdk.api.assortment.order.entities.promption.ActivityUpdateStockRequest
;
import
org.springframework.cloud.openfeign.FeignClient
;
import
org.springframework.cloud.openfeign.FeignClient
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
@FeignClient
(
name
=
"promotion-service"
,
url
=
"${saas.activityclient.feign.url}"
)
@FeignClient
(
name
=
"promotion-service"
,
url
=
"${saas.activityclient.feign.url}"
)
@RequestMapping
(
produces
=
{
"application/json;charset=UTF-8"
})
@RequestMapping
(
produces
=
{
"application/json;charset=UTF-8"
})
...
...
order-application-service/src/main/java/cn/freemud/service/universal/UniversalOrderService.java
View file @
ce3993dc
This diff is collapsed.
Click to expand it.
order-application-service/src/main/java/cn/freemud/service/universal/impl/SaasMallOrderService.java
View file @
ce3993dc
...
@@ -14,7 +14,10 @@ import cn.freemud.entities.dto.product.GroupDetail;
...
@@ -14,7 +14,10 @@ import cn.freemud.entities.dto.product.GroupDetail;
import
cn.freemud.entities.dto.product.ProductAttributeGroup
;
import
cn.freemud.entities.dto.product.ProductAttributeGroup
;
import
cn.freemud.entities.dto.product.ProductGroup
;
import
cn.freemud.entities.dto.product.ProductGroup
;
import
cn.freemud.entities.dto.shoppingCart.ShoppingCartGoodsDto
;
import
cn.freemud.entities.dto.shoppingCart.ShoppingCartGoodsDto
;
import
cn.freemud.entities.vo.*
;
import
cn.freemud.entities.vo.CreateOrderBaseVo
;
import
cn.freemud.entities.vo.CreateOrderResponseVo
;
import
cn.freemud.entities.vo.GetProductsVo
;
import
cn.freemud.entities.vo.PaysuccessNoticeMessage
;
import
cn.freemud.enums.OrderSourceType
;
import
cn.freemud.enums.OrderSourceType
;
import
cn.freemud.enums.ResponseResult
;
import
cn.freemud.enums.ResponseResult
;
import
cn.freemud.enums.*
;
import
cn.freemud.enums.*
;
...
@@ -41,16 +44,16 @@ import com.freemud.application.sdk.api.ordercenter.request.create.DeliveryContac
...
@@ -41,16 +44,16 @@ import com.freemud.application.sdk.api.ordercenter.request.create.DeliveryContac
import
com.freemud.application.sdk.api.ordercenter.request.create.OrderCostCreateReq
;
import
com.freemud.application.sdk.api.ordercenter.request.create.OrderCostCreateReq
;
import
com.freemud.application.sdk.api.ordercenter.request.create.OrderItemCreateReq
;
import
com.freemud.application.sdk.api.ordercenter.request.create.OrderItemCreateReq
;
import
com.freemud.application.sdk.api.ordercenter.request.create.OrderSettlementCreateReq
;
import
com.freemud.application.sdk.api.ordercenter.request.create.OrderSettlementCreateReq
;
import
com.freemud.application.sdk.api.promotioncenter.dto.promotion.GoodsStockDTO
;
import
com.freemud.application.sdk.api.promotioncenter.request.promotion.ActivityUpdateStockRequest
;
import
com.freemud.application.sdk.api.stockapi.request.UpdateStocksRequest
;
import
com.freemud.application.sdk.api.stockapi.request.UpdateStocksRequest
;
import
com.freemud.sdk.api.assortment.order.adapter.OrderSdkAdapter
;
import
com.freemud.sdk.api.assortment.order.adapter.OrderSdkAdapter
;
import
com.freemud.sdk.api.assortment.order.entities.promption.ActivityUpdateStockRequest
;
import
com.freemud.sdk.api.assortment.order.entities.promption.SubtractStockGoodsVO
;
import
com.freemud.sdk.api.assortment.order.entities.promption.SubtractStockVO
;
import
com.freemud.sdk.api.assortment.order.enums.*
;
import
com.freemud.sdk.api.assortment.order.enums.*
;
import
com.freemud.sdk.api.assortment.order.request.order.*
;
import
com.freemud.sdk.api.assortment.order.request.order.*
;
import
com.freemud.sdk.api.assortment.order.response.order.BaseOrderResponse
;
import
com.freemud.sdk.api.assortment.order.response.order.BaseOrderResponse
;
import
com.freemud.sdk.api.assortment.order.response.order.CreateOrderResponse
;
import
com.freemud.sdk.api.assortment.order.response.order.CreateOrderResponse
;
import
com.freemud.sdk.api.assortment.order.response.order.QueryRelatedOrderByCodeResp
;
import
com.freemud.sdk.api.assortment.order.response.order.QueryRelatedOrderByCodeResp
;
//import com.freemud.sdk.api.assortment.order.response.payment.OrderPayResponse;
import
com.freemud.sdk.api.assortment.order.util.ClassUtils
;
import
com.freemud.sdk.api.assortment.order.util.ClassUtils
;
import
com.freemud.sdk.api.assortment.order.vo.ProductGroupVo
;
import
com.freemud.sdk.api.assortment.order.vo.ProductGroupVo
;
import
com.freemud.sdk.api.assortment.payment.request.UnifiedOrderRequest
;
import
com.freemud.sdk.api.assortment.payment.request.UnifiedOrderRequest
;
...
@@ -148,7 +151,7 @@ public class SaasMallOrderService extends UniversalOrderService {
...
@@ -148,7 +151,7 @@ public class SaasMallOrderService extends UniversalOrderService {
protected
BaseResponse
sendActivityUpdateStock
(
CreateOrderBo
createOrderBo
,
CreateOrderResponse
createOrderResponse
)
{
protected
BaseResponse
sendActivityUpdateStock
(
CreateOrderBo
createOrderBo
,
CreateOrderResponse
createOrderResponse
)
{
BaseCreateOrderRequest
baseCreateOrderRequest
=
createOrderBo
.
getBaseCreateOrderRequest
();
BaseCreateOrderRequest
baseCreateOrderRequest
=
createOrderBo
.
getBaseCreateOrderRequest
();
List
<
CreateOrderProductRequest
>
products
=
baseCreateOrderRequest
.
getProducts
();
List
<
CreateOrderProductRequest
>
products
=
baseCreateOrderRequest
.
getProducts
();
ActivityUpdateStockRequest
activityUpdateStockRequest
=
baseCreateOrderRequest
.
getActivityUpdateStockRequest
();
com
.
freemud
.
sdk
.
api
.
assortment
.
order
.
entities
.
promption
.
ActivityUpdateStockRequest
activityUpdateStockRequest
=
baseCreateOrderRequest
.
getActivityUpdateStockRequest
();
List
<
CreateOrderAccountRequest
>
accounts
=
baseCreateOrderRequest
.
getAccounts
();
List
<
CreateOrderAccountRequest
>
accounts
=
baseCreateOrderRequest
.
getAccounts
();
// mq 老代码里 商城订单不发送mq 这里就注释下 需要再开放
// mq 老代码里 商城订单不发送mq 这里就注释下 需要再开放
...
@@ -688,15 +691,15 @@ public class SaasMallOrderService extends UniversalOrderService {
...
@@ -688,15 +691,15 @@ public class SaasMallOrderService extends UniversalOrderService {
//设置库存扣减
//设置库存扣减
if
(
CollectionUtils
.
isNotEmpty
(
shoppingCartGoodsDto
.
getStocks
()))
{
if
(
CollectionUtils
.
isNotEmpty
(
shoppingCartGoodsDto
.
getStocks
()))
{
List
<
ActivityUpdateStockRequest
.
StockBeanDto
>
stocks
=
new
ArrayList
<>();
List
<
SubtractStockVO
>
stocks
=
new
ArrayList
<>();
for
(
SubtractStockVO
stockVO
:
shoppingCartGoodsDto
.
getStocks
())
{
for
(
SubtractStockVO
stockVO
:
shoppingCartGoodsDto
.
getStocks
())
{
ActivityUpdateStockRequest
.
StockBeanDto
stockBeanDto
=
new
ActivityUpdateStockRequest
.
StockBeanDto
();
SubtractStockVO
stockBeanDto
=
new
SubtractStockVO
();
stockBeanDto
.
setActivityCode
(
stockVO
.
getActivityCode
());
stockBeanDto
.
setActivityCode
(
stockVO
.
getActivityCode
());
stockBeanDto
.
setActivityStock
(
stockVO
.
getActivityStock
()
==
null
?
1
:
stockVO
.
getActivityStock
());
stockBeanDto
.
setActivityStock
(
stockVO
.
getActivityStock
()
==
null
?
1
:
stockVO
.
getActivityStock
());
if
(
CollectionUtils
.
isNotEmpty
(
stockVO
.
getGoodsStock
()))
{
if
(
CollectionUtils
.
isNotEmpty
(
stockVO
.
getGoodsStock
()))
{
List
<
GoodsStockDT
O
>
goodsStockDTOS
=
new
ArrayList
<>();
List
<
SubtractStockGoodsV
O
>
goodsStockDTOS
=
new
ArrayList
<>();
stockVO
.
getGoodsStock
().
forEach
(
goods
->
{
stockVO
.
getGoodsStock
().
forEach
(
goods
->
{
GoodsStockDTO
goodsStockDTO
=
new
GoodsStockDT
O
();
SubtractStockGoodsVO
goodsStockDTO
=
new
SubtractStockGoodsV
O
();
goodsStockDTO
.
setBenefitSeq
(
goods
.
getBenefitSeq
());
goodsStockDTO
.
setBenefitSeq
(
goods
.
getBenefitSeq
());
goodsStockDTO
.
setGoodsId
(
goods
.
getGoodsId
());
goodsStockDTO
.
setGoodsId
(
goods
.
getGoodsId
());
int
stock
=
goods
.
getStock
()
==
null
?
1
:
goods
.
getStock
();
int
stock
=
goods
.
getStock
()
==
null
?
1
:
goods
.
getStock
();
...
...
shopping-cart-application-service/src/main/java/cn/freemud/entities/vo/SubtractStockVO.java
View file @
ce3993dc
package
cn
.
freemud
.
entities
.
vo
;
package
cn
.
freemud
.
entities
.
vo
;
import
cn.freemud.entities.vo.promotion.SubtractStockUserGoodsVO
;
import
lombok.Data
;
import
lombok.Data
;
import
java.util.List
;
import
java.util.List
;
...
@@ -25,10 +26,11 @@ public class SubtractStockVO {
...
@@ -25,10 +26,11 @@ public class SubtractStockVO {
private
Integer
activityType
;
private
Integer
activityType
;
//商品库存扣除列表
//商品库存扣除列表
private
List
<
SubtractStockGoodsVO
>
goodsStock
;
private
List
<
SubtractStockGoodsVO
>
goodsStock
;
/**
/**
*
商品限购
*
用户商品库存扣减集合
*/
*/
private
List
<
SubtractStock
GoodsVO
>
userLimit
;
private
List
<
SubtractStock
UserGoodsVO
>
userGoodsStock
;
@Data
@Data
public
static
class
SubtractStockGoodsVO
{
public
static
class
SubtractStockGoodsVO
{
...
...
shopping-cart-application-service/src/main/java/cn/freemud/entities/vo/promotion/SubtractStockUserGoodsVO.java
0 → 100644
View file @
ce3993dc
package
cn
.
freemud
.
entities
.
vo
.
promotion
;
import
lombok.Data
;
/**
* @author : xh.Z
* @email : fisherman0510@163.com
* @Date : 2021/11/18 下午3:25
* @description :
*/
@Data
public
class
SubtractStockUserGoodsVO
{
//商品编号
private
String
goodsId
;
//库存
private
Integer
stock
;
}
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