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
96540de7
Commit
96540de7
authored
Nov 27, 2020
by
刘鹏飞
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
创单增加用户买一赠一寄杯活动选择的商品和券
parent
f33d6f7e
Hide whitespace changes
Inline
Side-by-side
Showing
14 changed files
with
415 additions
and
5 deletions
+415
-5
order-application-service/src/main/java/cn/freemud/entities/vo/CreateOrderVo.java
+45
-0
order-application-service/src/main/java/cn/freemud/entities/vo/ShoppingCartInfoRequestVo.java
+44
-0
order-application-service/src/main/java/cn/freemud/service/impl/CheckOrder.java
+3
-0
shopping-cart-application-service/src/main/java/cn/freemud/entities/vo/ShoppingCartGoodsResponseVo.java
+19
-0
shopping-cart-application-service/src/main/java/cn/freemud/entities/vo/ShoppingCartInfoRequestVo.java
+45
-0
shopping-cart-application-service/src/main/java/cn/freemud/service/active/ActiveFactory.java
+24
-0
shopping-cart-application-service/src/main/java/cn/freemud/service/active/ActiveService.java
+28
-0
shopping-cart-application-service/src/main/java/cn/freemud/service/active/impl/ActiveFactoryImpl.java
+57
-0
shopping-cart-application-service/src/main/java/cn/freemud/service/active/impl/CocoActiveServiceImpl.java
+62
-0
shopping-cart-application-service/src/main/java/cn/freemud/service/active/impl/PlatformActiveServiceImpl.java
+60
-0
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/ShoppingCartNewServiceImpl.java
+8
-4
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/calculate/CalculationSharingDiscountService.java
+12
-1
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/calculate/CalculationSharingEquallyService.java
+1
-0
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/calculate/promotion/BuyOneGiveOneSendService.java
+7
-0
No files found.
order-application-service/src/main/java/cn/freemud/entities/vo/CreateOrderVo.java
View file @
96540de7
...
...
@@ -178,6 +178,12 @@ public class CreateOrderVo {
@Valid
private
PremiumExchangeActivity
premiumExchangeActivity
;
/**
* 买一赠一选择的商品
*/
private
List
<
chooseGood
>
chooseGoods
;
/**
* 是否使用用户积分
* 1=不显示积分
...
...
@@ -346,4 +352,43 @@ public class CreateOrderVo {
*/
private
String
ruleId
;
}
@Data
public
static
class
chooseGood
{
/**
* 活动类型
*/
private
Integer
activeType
;
/**
* 活动号
*/
private
String
activeCode
;
/**
* 赠送商品id
*/
private
String
goodsId
;
/**
* 赠送商品数量
*/
private
Integer
qty
;
/**
* 可兑换商品券编号
*/
private
String
couponCode
;
/**
* 商品券兑换数量
*/
private
Integer
couponQty
;
/**
* 是否已选择寄杯
*/
private
Boolean
sendCoupon
;
}
}
order-application-service/src/main/java/cn/freemud/entities/vo/ShoppingCartInfoRequestVo.java
View file @
96540de7
...
...
@@ -135,4 +135,48 @@ public class ShoppingCartInfoRequestVo {
private
String
ruleId
;
}
/**
* 买一赠一寄件商品
*/
private
List
<
ChooseGood
>
chooseGoods
;
@Data
public
static
class
ChooseGood
{
/**
* 活动类型
*/
private
Integer
activeType
;
/**
* 活动号
*/
private
String
activeCode
;
/**
* 赠送商品id
*/
private
String
goodsId
;
/**
* 赠送商品数量
*/
private
Integer
qty
;
/**
* 可兑换商品券编号
*/
private
String
couponCode
;
/**
* 商品券兑换数量
*/
private
Integer
couponQty
;
/**
* 是否已选择寄杯
*/
private
Boolean
sendCoupon
;
}
}
order-application-service/src/main/java/cn/freemud/service/impl/CheckOrder.java
View file @
96540de7
...
...
@@ -32,6 +32,7 @@ import cn.freemud.service.thirdparty.ShoppingCartClient;
import
cn.freemud.service.thirdparty.StockClient
;
import
cn.freemud.utils.LogUtil
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONArray
;
import
com.alibaba.fastjson.JSONObject
;
import
com.alibaba.fastjson.TypeReference
;
import
com.freemud.api.assortment.datamanager.entity.db.AssortmentOpenPlatformIappWxappConfig
;
...
...
@@ -505,6 +506,8 @@ public class CheckOrder {
}
// 通过购物车获取优惠信息
GetShoppingCartGoodsApportionDto
requestDto
=
new
GetShoppingCartGoodsApportionDto
();
// 设置用户选择的买一赠一商品信息
shoppingCartInfoRequestVo
.
setChooseGoods
(
JSONArray
.
parseArray
(
JSONObject
.
toJSONString
(
createOrderVo
.
getChooseGoods
()),
ShoppingCartInfoRequestVo
.
ChooseGood
.
class
));
requestDto
.
setShoppingCartInfoRequestVo
(
shoppingCartInfoRequestVo
);
//加价购商品 校验放购物车校验
requestDto
.
setPremiumExchangeActivity
(
createOrderVo
.
getPremiumExchangeActivity
());
...
...
shopping-cart-application-service/src/main/java/cn/freemud/entities/vo/ShoppingCartGoodsResponseVo.java
View file @
96540de7
...
...
@@ -162,6 +162,10 @@ public class ShoppingCartGoodsResponseVo extends ShoppingCartGoodsBaseResponseV
@Data
public
static
class
chooseGood
{
/**
* 活动code
*/
private
String
activeCode
;
/**
* 活动类型
...
...
@@ -174,11 +178,26 @@ public class ShoppingCartGoodsResponseVo extends ShoppingCartGoodsBaseResponseV
private
String
goodsName
;
/**
* 赠送商品id
*/
private
String
goodsId
;
/**
* 赠送商品数量
*/
private
Integer
qty
;
/**
* 可兑换商品券编号
*/
private
String
couponCode
;
/**
* 可兑换券的数量
*/
private
Integer
couponQty
;
/**
* 可兑换商品券名称
*/
private
String
couponName
;
...
...
shopping-cart-application-service/src/main/java/cn/freemud/entities/vo/ShoppingCartInfoRequestVo.java
View file @
96540de7
...
...
@@ -62,6 +62,12 @@ public class ShoppingCartInfoRequestVo extends BaseRequestVo {
* 加价购商品
*/
private
List
<
SendGoods
>
sendGoods
;
/**
* 买一赠一寄件商品
*/
private
List
<
ChooseGood
>
chooseGoods
;
/**
* 是否使用用户积分
* 1=不显示积分
...
...
@@ -131,4 +137,43 @@ public class ShoppingCartInfoRequestVo extends BaseRequestVo {
*/
private
String
freightCouponCode
;
@Data
public
static
class
ChooseGood
{
/**
* 活动类型
*/
private
Integer
activeType
;
/**
* 活动号
*/
private
String
activeCode
;
/**
* 赠送商品id
*/
private
String
goodsId
;
/**
* 赠送商品数量
*/
private
Integer
qty
;
/**
* 可兑换商品券编号
*/
private
String
couponCode
;
/**
* 商品券兑换数量
*/
private
Integer
couponQty
;
/**
* 是否已选择寄杯
*/
private
Boolean
sendCoupon
;
}
}
shopping-cart-application-service/src/main/java/cn/freemud/service/active/ActiveFactory.java
0 → 100644
View file @
96540de7
/**
* All rights Reserved, Designed By www.freemud.cn
*
* @Title: CouponService
* @Package cn.freemud.service
* @Description:
* @author: pengfei.liu
* @date: 2020/11/23
* @version V1.0
* @Copyright: 2020 www.freemud.cn Inc. All rights reserved.
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目
*/
package
cn
.
freemud
.
service
.
active
;
public
interface
ActiveFactory
{
/**
* 获取构建用户选择商品数量实现
* @param partnerId
* @return
*/
ActiveService
getBuildChooseGoodsService
(
String
partnerId
);
}
shopping-cart-application-service/src/main/java/cn/freemud/service/active/ActiveService.java
0 → 100644
View file @
96540de7
/**
* All rights Reserved, Designed By www.freemud.cn
*
* @Title: CouponService
* @Package cn.freemud.service
* @Description:
* @author: pengfei.liu
* @date: 2020/11/23
* @version V1.0
* @Copyright: 2020 www.freemud.cn Inc. All rights reserved.
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目
*/
package
cn
.
freemud
.
service
.
active
;
import
cn.freemud.entities.dto.calculate.CalculationSharingDiscountRequestDto
;
import
cn.freemud.entities.vo.ShoppingCartInfoRequestVo
;
import
java.util.List
;
public
interface
ActiveService
{
/**
* 构建用户选择商品数量
* @param calculationSharingDiscountRequestDto
*/
void
buildChooseGoodsService
(
CalculationSharingDiscountRequestDto
calculationSharingDiscountRequestDto
,
List
<
ShoppingCartInfoRequestVo
.
ChooseGood
>
chooseGoods
);
}
shopping-cart-application-service/src/main/java/cn/freemud/service/active/impl/ActiveFactoryImpl.java
0 → 100644
View file @
96540de7
/**
* All rights Reserved, Designed By www.freemud.cn
*
* @Title: CouponService
* @Package cn.freemud.service
* @Description:
* @author: pengfei.liu
* @date: 2020/11/23
* @version V1.0
* @Copyright: 2020 www.freemud.cn Inc. All rights reserved.
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目
*/
package
cn
.
freemud
.
service
.
active
.
impl
;
import
cn.freemud.service.active.ActiveFactory
;
import
cn.freemud.service.active.ActiveService
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Qualifier
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.stereotype.Service
;
import
java.util.List
;
@Service
public
class
ActiveFactoryImpl
implements
ActiveFactory
{
/**
* coco商户
*/
@Value
(
"#{'${coco.partnerId}'.split(',')}"
)
private
List
<
String
>
cocoPartnerId
;
/**
* coco的活动类
*/
@Autowired
@Qualifier
(
"cocoActiveService"
)
ActiveService
CocoActiveServiceImpl
;
/**
* 平台活动类
*/
@Autowired
@Qualifier
(
"platformActiveService"
)
ActiveService
platformActiveService
;
@Override
public
ActiveService
getBuildChooseGoodsService
(
String
partnerId
)
{
if
(
cocoPartnerId
.
contains
(
partnerId
)){
return
CocoActiveServiceImpl
;
}
else
{
return
platformActiveService
;
}
}
}
shopping-cart-application-service/src/main/java/cn/freemud/service/active/impl/CocoActiveServiceImpl.java
0 → 100644
View file @
96540de7
/**
* All rights Reserved, Designed By www.freemud.cn
*
* @Title: CouponService
* @Package cn.freemud.service
* @Description:
* @author: pengfei.liu
* @date: 2020/11/23
* @version V1.0
* @Copyright: 2020 www.freemud.cn Inc. All rights reserved.
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目
*/
package
cn
.
freemud
.
service
.
active
.
impl
;
import
cn.freemud.entities.dto.calculate.CalculationSharingDiscountRequestDto
;
import
cn.freemud.entities.vo.ShoppingCartInfoRequestVo
;
import
cn.freemud.enums.ActivityTypeEnum
;
import
cn.freemud.service.active.ActiveService
;
import
org.springframework.stereotype.Service
;
import
java.util.ArrayList
;
import
java.util.List
;
@Service
(
"cocoActiveService"
)
public
class
CocoActiveServiceImpl
implements
ActiveService
{
/**
* 用户只能选择1商品和1数量传给促销
* @param calculationSharingDiscountRequestDto
* @param chooseGoods
*/
@Override
public
void
buildChooseGoodsService
(
CalculationSharingDiscountRequestDto
calculationSharingDiscountRequestDto
,
List
<
ShoppingCartInfoRequestVo
.
ChooseGood
>
chooseGoods
)
{
// 买一赠一寄件活动
// coco一次只能选择一种商品,一种商品只能选择一件
List
<
CalculationSharingDiscountRequestDto
.
CalculationActivityReqVO
>
selectActivityList
=
calculationSharingDiscountRequestDto
.
getSelectActivityList
()
==
null
?
new
ArrayList
<>()
:
calculationSharingDiscountRequestDto
.
getSelectActivityList
();
if
(
null
!=
chooseGoods
&&
!
chooseGoods
.
isEmpty
()){
// 从用户选择的商品中选择第一个
ShoppingCartInfoRequestVo
.
ChooseGood
chooseGood
=
chooseGoods
.
get
(
0
);
CalculationSharingDiscountRequestDto
.
CalculationActivityReqVO
calculationActivityReqVO
=
new
CalculationSharingDiscountRequestDto
.
CalculationActivityReqVO
();
calculationActivityReqVO
.
setActivityCode
(
chooseGood
.
getActiveCode
());
calculationActivityReqVO
.
setActivityType
(
ActivityTypeEnum
.
TYPE_63
.
getCode
());
// 设置商品的数量为1
List
<
CalculationSharingDiscountRequestDto
.
CalculationSendGoodsReqVO
>
sendGoods
=
new
ArrayList
<>();
CalculationSharingDiscountRequestDto
.
CalculationSendGoodsReqVO
sendGood
=
new
CalculationSharingDiscountRequestDto
.
CalculationSendGoodsReqVO
();
sendGood
.
setGoodsId
(
chooseGood
.
getGoodsId
());
sendGood
.
setGoodsQuantity
(
1
);
sendGoods
.
add
(
sendGood
);
calculationActivityReqVO
.
setSendGoods
(
sendGoods
);
selectActivityList
.
add
(
calculationActivityReqVO
);
}
calculationSharingDiscountRequestDto
.
setSelectActivityList
(
selectActivityList
);
}
}
shopping-cart-application-service/src/main/java/cn/freemud/service/active/impl/PlatformActiveServiceImpl.java
0 → 100644
View file @
96540de7
/**
* All rights Reserved, Designed By www.freemud.cn
*
* @Title: CouponService
* @Package cn.freemud.service
* @Description:
* @author: pengfei.liu
* @date: 2020/11/23
* @version V1.0
* @Copyright: 2020 www.freemud.cn Inc. All rights reserved.
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目
*/
package
cn
.
freemud
.
service
.
active
.
impl
;
import
cn.freemud.entities.dto.calculate.CalculationSharingDiscountRequestDto
;
import
cn.freemud.entities.vo.ShoppingCartInfoRequestVo
;
import
cn.freemud.enums.ActivityTypeEnum
;
import
cn.freemud.service.active.ActiveService
;
import
org.springframework.stereotype.Service
;
import
java.util.ArrayList
;
import
java.util.List
;
@Service
(
"platformActiveService"
)
public
class
PlatformActiveServiceImpl
implements
ActiveService
{
/**
* 用户选择的商品和数量都要传给促销
* @param calculationSharingDiscountRequestDto
* @param chooseGoods
*/
@Override
public
void
buildChooseGoodsService
(
CalculationSharingDiscountRequestDto
calculationSharingDiscountRequestDto
,
List
<
ShoppingCartInfoRequestVo
.
ChooseGood
>
chooseGoods
)
{
// 买一赠一寄件活动
List
<
CalculationSharingDiscountRequestDto
.
CalculationActivityReqVO
>
selectActivityList
=
calculationSharingDiscountRequestDto
.
getSelectActivityList
()
==
null
?
new
ArrayList
<>()
:
calculationSharingDiscountRequestDto
.
getSelectActivityList
();
if
(
null
!=
chooseGoods
&&
!
chooseGoods
.
isEmpty
()){
CalculationSharingDiscountRequestDto
.
CalculationActivityReqVO
calculationActivityReqVO
=
new
CalculationSharingDiscountRequestDto
.
CalculationActivityReqVO
();
List
<
CalculationSharingDiscountRequestDto
.
CalculationSendGoodsReqVO
>
sendGoods
=
new
ArrayList
<>();
chooseGoods
.
forEach
(
chooseGood
->
{
calculationActivityReqVO
.
setActivityCode
(
chooseGood
.
getActiveCode
());
calculationActivityReqVO
.
setActivityType
(
ActivityTypeEnum
.
TYPE_63
.
getCode
());
CalculationSharingDiscountRequestDto
.
CalculationSendGoodsReqVO
sendGood
=
new
CalculationSharingDiscountRequestDto
.
CalculationSendGoodsReqVO
();
sendGood
.
setGoodsId
(
chooseGood
.
getGoodsId
());
sendGood
.
setGoodsQuantity
(
1
);
sendGoods
.
add
(
sendGood
);
});
selectActivityList
.
add
(
calculationActivityReqVO
);
}
calculationSharingDiscountRequestDto
.
setSelectActivityList
(
selectActivityList
);
}
}
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/ShoppingCartNewServiceImpl.java
View file @
96540de7
...
...
@@ -319,7 +319,8 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
,
allCartGoodsList
,
new
ArrayList
<>()
//券
,
null
//加价购商品
,
deliveryAmount
);
,
deliveryAmount
,
null
);
//
sharingCartService
.
distribute
(
discountResult
...
...
@@ -443,7 +444,8 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
,
cartGoodsList
,
new
ArrayList
()
//券
,
null
//加价购商品
,
deliveryAmount
);
,
deliveryAmount
,
null
);
sharingCartService
.
distribute
(
discountResult
,
cartGoodsList
...
...
@@ -598,7 +600,8 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
,
cartGoodsList
,
coupons
,
sendGoods
,
deliveryAmount
);
,
deliveryAmount
,
null
);
sharingCartService
.
distribute
(
calculationSharingDiscountResult
,
cartGoodsList
,
shoppingCartGoodsResponseVo
...
...
@@ -802,7 +805,8 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
,
cartGoodsList
,
coupons
,
shoppingCartInfoRequestVo
.
getSendGoods
()
,
deliveryAmount
);
,
deliveryAmount
,
shoppingCartInfoRequestVo
);
//直接利用促销返回做均摊
sharingEquallyService
.
equally
(
discountResult
...
...
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/calculate/CalculationSharingDiscountService.java
View file @
96540de7
...
...
@@ -13,6 +13,8 @@ import cn.freemud.enums.*;
import
cn.freemud.interceptor.ServiceException
;
import
cn.freemud.service.CommonService
;
import
cn.freemud.service.CouponService
;
import
cn.freemud.service.active.ActiveFactory
;
import
cn.freemud.service.active.ActiveService
;
import
cn.freemud.service.impl.AssortmentSdkService
;
import
cn.freemud.service.thirdparty.CalculationClient
;
import
cn.freemud.utils.PropertyConvertUtil
;
...
...
@@ -57,6 +59,9 @@ public class CalculationSharingDiscountService {
@Autowired
private
CalculationClient
calculationClient
;
@Autowired
private
ActiveFactory
activeFactory
;
public
CalculationSharingDiscountResponseDto
.
CalculationDiscountResult
getCalculationSharingDiscountResult
(
String
menuType
,
String
partnerId
,
String
storeId
...
...
@@ -67,7 +72,8 @@ public class CalculationSharingDiscountService {
,
List
<
CartGoods
>
cartGoodsList
,
List
<
CalculationSharingDiscountRequestDto
.
CalculationDiscountCoupon
>
coupons
,
List
<
ShoppingCartInfoRequestVo
.
SendGoods
>
sendGoodsList
,
Long
deliveryAmount
)
{
,
Long
deliveryAmount
,
ShoppingCartInfoRequestVo
shoppingCartInfoRequestVo
)
{
CalculationSharingDiscountRequestDto
calculationSharingDiscountRequestDto
=
this
.
commonSharingDto
(
partnerId
,
storeId
,
userId
,
appId
,
orderType
);
...
...
@@ -159,6 +165,11 @@ public class CalculationSharingDiscountService {
calculationSharingDiscountRequestDto
.
setIsMember
(
isMember
);
CalculationSharingDiscountResponseDto
sharingDiscountResponseDto
;
// 构建买一送一寄杯活动用户选择信息
ActiveService
activeService
=
activeFactory
.
getBuildChooseGoodsService
(
partnerId
);
activeService
.
buildChooseGoodsService
(
calculationSharingDiscountRequestDto
,
shoppingCartInfoRequestVo
==
null
?
null
:
shoppingCartInfoRequestVo
.
getChooseGoods
());
try
{
log
.
info
(
"start sharing discount dto={}"
,
JSON
.
toJSONString
(
calculationSharingDiscountRequestDto
));
sharingDiscountResponseDto
=
calculationClient
.
calculationSharingDiscount
(
calculationSharingDiscountRequestDto
);
...
...
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/calculate/CalculationSharingEquallyService.java
View file @
96540de7
...
...
@@ -128,6 +128,7 @@ public class CalculationSharingEquallyService {
* 加价购商品
*/
additionSharingService
.
equally
(
shoppingCartInfoRequestVo
,
shoppingCartGoodsDto
,
discountResult
,
premiumExchangeActivity
,
shoppingCartGoodsResponseVo
);
/**
* 积分抵扣
*/
...
...
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/calculate/promotion/BuyOneGiveOneSendService.java
View file @
96540de7
...
...
@@ -230,7 +230,11 @@ public class BuyOneGiveOneSendService {
innerSendGoods
.
forEach
(
innerSendGood
->
{
ShoppingCartGoodsResponseVo
.
chooseGood
chooseGood
=
new
ShoppingCartGoodsResponseVo
.
chooseGood
();
chooseGood
.
setActiveCode
(
sendActivity
.
getActivityCode
());
chooseGood
.
setActiveType
(
sendActivity
.
getActivityType
());
chooseGood
.
setGoodsId
(
innerSendGood
.
getGoodsId
());
chooseGood
.
setQty
(
innerSendGood
.
getSendNumber
());
chooseGood
.
setCouponQty
(
1
);
chooseGood
.
setCouponCode
(
innerSendGood
.
getSendCouponCode
());
chooseGood
.
setCouponName
(
innerSendGood
.
getSendCouponName
());
chooseGood
.
setSendCoupon
(
innerSendGood
.
getSendCoupon
());
...
...
@@ -243,4 +247,6 @@ public class BuyOneGiveOneSendService {
shoppingCartGoodsResponseVo
.
setChooseGoods
(
chooseGoods
);
}
}
\ No newline at end of file
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