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
c5404f8a
Commit
c5404f8a
authored
Aug 04, 2021
by
hanghang.wang
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'feature/20210723_促销满减活动购物车提示语改造新_wanghanghang' into qa
parents
54646cef
d963a600
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
187 additions
and
35 deletions
+187
-35
order-application-service/src/main/java/cn/freemud/service/thirdparty/PromotionDiscountClient.java
+1
-1
shopping-cart-application-service/src/main/java/cn/freemud/entities/dto/ActivityCalculationDiscountResponseDto.java
+12
-0
shopping-cart-application-service/src/main/java/cn/freemud/entities/vo/ActivityList.java
+6
-0
shopping-cart-application-service/src/main/java/cn/freemud/enums/ActivityPromptEnum.java
+131
-0
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/FullPromotionService.java
+36
-33
shopping-cart-application-service/src/main/java/cn/freemud/service/thirdparty/ActivityClient.java
+1
-1
No files found.
order-application-service/src/main/java/cn/freemud/service/thirdparty/PromotionDiscountClient.java
View file @
c5404f8a
...
@@ -29,7 +29,7 @@ import com.freemud.application.sdk.api.promotioncenter.response.PromotionRespons
...
@@ -29,7 +29,7 @@ import com.freemud.application.sdk.api.promotioncenter.response.PromotionRespons
import
org.springframework.cloud.openfeign.FeignClient
;
import
org.springframework.cloud.openfeign.FeignClient
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.bind.annotation.*
;
@FeignClient
(
name
=
"promotion-service"
,
url
=
"
${saas.activityclient.feign.url}
"
)
@FeignClient
(
name
=
"promotion-service"
,
url
=
"
http://localhost:8003
"
)
@RequestMapping
(
produces
=
{
"application/json;charset=UTF-8"
})
@RequestMapping
(
produces
=
{
"application/json;charset=UTF-8"
})
public
interface
PromotionDiscountClient
{
public
interface
PromotionDiscountClient
{
...
...
shopping-cart-application-service/src/main/java/cn/freemud/entities/dto/ActivityCalculationDiscountResponseDto.java
View file @
c5404f8a
...
@@ -165,6 +165,8 @@ public class ActivityCalculationDiscountResponseDto {
...
@@ -165,6 +165,8 @@ public class ActivityCalculationDiscountResponseDto {
*/
*/
private
Long
thresholdAmount
;
private
Long
thresholdAmount
;
private
Long
totalAmount
;
private
Long
totalAmount
;
private
Integer
totalQuantity
;
/**
/**
* 已经优惠金额
* 已经优惠金额
*/
*/
...
@@ -172,6 +174,16 @@ public class ActivityCalculationDiscountResponseDto {
...
@@ -172,6 +174,16 @@ public class ActivityCalculationDiscountResponseDto {
private
Integer
alreadyDiscountThresholdAmount
;
private
Integer
alreadyDiscountThresholdAmount
;
private
Integer
activitySubType
;
private
Integer
activitySubType
;
private
List
<
SendGoods
>
sendGoods
;
private
List
<
SendGoods
>
sendGoods
;
/**
* 优惠类型 3 根据件数满减
*/
private
Integer
preferentialType
;
/**
* 门槛件数
*/
private
Integer
thresholdQuantity
;
}
}
@Data
@Data
...
...
shopping-cart-application-service/src/main/java/cn/freemud/entities/vo/ActivityList.java
View file @
c5404f8a
...
@@ -31,6 +31,12 @@ public class ActivityList {
...
@@ -31,6 +31,12 @@ public class ActivityList {
- - 满足 satisfy 减 deduct 还差 missing
- - 满足 satisfy 减 deduct 还差 missing
- - 4 : 已减 X 元 再买 Y 元 减 Z 元
- - 4 : 已减 X 元 再买 Y 元 减 Z 元
- - 已减 alreadyDecut 再买againBuy 减 deduct
- - 已减 alreadyDecut 再买againBuy 减 deduct
- - 11 : 满足 X 件 减 Y 元 还差 Z元
- - 满足 satisfy 减 deduct 还差 missing
- - 12 : 已减 X 元 再买 Y 件 减 Z 元
- - 已减 alreadyDecut 再买againBuy 减 deduct
- - 不满足
- - 不满足
- - 5 : 已减 X 元
- - 5 : 已减 X 元
- - 已减 deduct
- - 已减 deduct
...
...
shopping-cart-application-service/src/main/java/cn/freemud/enums/ActivityPromptEnum.java
0 → 100644
View file @
c5404f8a
package
cn
.
freemud
.
enums
;
/**
* @author freemud
* @title: ActivityPromptEnum
* @projectName order-group
* @description: TODO
* @date 2021/8/3下午4:16
*/
public
class
ActivityPromptEnum
{
public
enum
PreferentialTypeEnum
{
TO_ORDER_ITEM_QUANTITY
(
3
,
"按订单商品件数"
);
private
Integer
code
;
private
String
desc
;
PreferentialTypeEnum
(
Integer
code
,
String
desc
)
{
this
.
code
=
code
;
this
.
desc
=
desc
;
}
public
static
PreferentialTypeEnum
getByCode
(
String
code
)
{
for
(
PreferentialTypeEnum
type
:
values
())
{
if
(
type
.
getCode
().
equals
(
code
))
{
return
type
;
}
}
return
null
;
}
public
Integer
getCode
()
{
return
code
;
}
public
void
setCode
(
Integer
code
)
{
this
.
code
=
code
;
}
public
String
getDesc
()
{
return
desc
;
}
public
void
setDesc
(
String
desc
)
{
this
.
desc
=
desc
;
}
}
/*
购物车
- 空
- - 1 : 每满 : 满足 x 元 减 Y 元 ,最高 减 Z元
- - 满足 satisfy 减 deduct 最高减 maxDeduct
- - 2 : 阶梯满减:满足 X 元 减 Y 元,
- -满足 satisfy 减 deduct
- 有
- - 满足
- - 3 : 满足 X 元 减 Y 元 还差 Z元
- - 满足 satisfy 减 deduct 还差 missing
- - 4 : 已减 X 元 再买 Y 元 减 Z 元
- - 已减 alreadyDecut 再买againBuy 减 deduct
- - 11 : 满足 X 件 减 Y 元 还差 Z元
- - 满足 satisfy 减 deduct 还差 missing
- - 12 : 已减 X 元 再买 Y 件 减 Z 元
- - 已减 alreadyDecut 再买againBuy 减 deduct
- - 不满足
- - 5 : 已减 X 元
- - 已减 deduct
*/
/***
* 购物车处理促销返回活动文案枚举
* 类型插入全部是数值,具体描述还存在遗漏
* 上面的描述没怎么看明白,先写个枚举类。
* 有人接手,后面查漏补缺统一掉
*/
public
enum
TipTypeEnum
{
ONE
(
1
,
"每满 : 满足 x 元 减 Y 元 ,最高 减 Z元"
),
TWO
(
2
,
"阶梯满减:满足 X 元 减 Y 元"
),
THREE
(
3
,
"满足 X 元 减 Y 元 还差 Z元"
),
FOUR
(
4
,
"已减 X 元 再买 Y 元 减 Z 元"
),
FIVE
(
5
,
"已减 X 元"
),
SEVEN
(
7
,
""
),
EIGHT
(
8
,
""
),
TEN
(
10
,
""
),
ELEVEN
(
11
,
"满足 X 件 减 Y 元 还差 Z元"
),
TWELVE
(
12
,
"已减 X 元 再买 Y 件 减 Z 元"
),
;
private
Integer
code
;
private
String
desc
;
TipTypeEnum
(
Integer
code
,
String
desc
)
{
this
.
code
=
code
;
this
.
desc
=
desc
;
}
public
static
TipTypeEnum
getByCode
(
String
code
)
{
for
(
TipTypeEnum
type
:
values
())
{
if
(
type
.
getCode
().
equals
(
code
))
{
return
type
;
}
}
return
null
;
}
public
Integer
getCode
()
{
return
code
;
}
public
void
setCode
(
Integer
code
)
{
this
.
code
=
code
;
}
public
String
getDesc
()
{
return
desc
;
}
public
void
setDesc
(
String
desc
)
{
this
.
desc
=
desc
;
}
}
}
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/FullPromotionService.java
View file @
c5404f8a
...
@@ -5,6 +5,7 @@ import cn.freemud.entities.dto.activity.ActivityQueryDto;
...
@@ -5,6 +5,7 @@ import cn.freemud.entities.dto.activity.ActivityQueryDto;
import
cn.freemud.entities.dto.activity.ActivityQueryResponseDto
;
import
cn.freemud.entities.dto.activity.ActivityQueryResponseDto
;
import
cn.freemud.entities.dto.shoppingCart.ShoppingCartGoodsDto
;
import
cn.freemud.entities.dto.shoppingCart.ShoppingCartGoodsDto
;
import
cn.freemud.entities.vo.*
;
import
cn.freemud.entities.vo.*
;
import
cn.freemud.enums.ActivityPromptEnum
;
import
cn.freemud.enums.ActivityTypeEnum
;
import
cn.freemud.enums.ActivityTypeEnum
;
import
cn.freemud.enums.GiftTypeEnum
;
import
cn.freemud.enums.GiftTypeEnum
;
import
cn.freemud.service.ActivityService
;
import
cn.freemud.service.ActivityService
;
...
@@ -222,22 +223,23 @@ public class FullPromotionService implements IPromotionService {
...
@@ -222,22 +223,23 @@ public class FullPromotionService implements IPromotionService {
ActivityList
satisfyList
=
new
ActivityList
();
ActivityList
satisfyList
=
new
ActivityList
();
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
.
ActivityPrompt
activityPrompt
=
activityPrompts
.
get
(
0
);
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
.
ActivityPrompt
activityPrompt
=
activityPrompts
.
get
(
0
);
if
(
Objects
.
equals
(
ActivityTypeEnum
.
TYPE_11
.
getCode
(),
activityResponseDto
.
getActivityType
())
||
Objects
.
equals
(
ActivityTypeEnum
.
TYPE_12
.
getCode
(),
activityResponseDto
.
getActivityType
()))
{
if
(
Objects
.
equals
(
ActivityTypeEnum
.
TYPE_11
.
getCode
(),
activityResponseDto
.
getActivityType
())
||
Objects
.
equals
(
ActivityTypeEnum
.
TYPE_12
.
getCode
(),
activityResponseDto
.
getActivityType
()))
{
if
(
activityPrompt
.
getAlreadyDiscountAmount
()
==
null
if
(
activityPrompt
.
getAlreadyDiscountAmount
()
==
null
||
activityPrompt
.
getAlreadyDiscountAmount
()
==
0
)
{
||
activityPrompt
.
getAlreadyDiscountAmount
()
==
0
)
{
messageBuilder
.
append
(
"满 <span style=\"color:#fa5555\">"
)
if
(
ActivityPromptEnum
.
PreferentialTypeEnum
.
TO_ORDER_ITEM_QUANTITY
.
getCode
().
equals
(
activityPrompt
.
getPreferentialType
())){
.
append
(
WebUtil
.
formatAmount
(
activityPrompt
.
getThresholdAmount
()
*
1.00
/
100
))
// 满足 X 元/件 减 Y 元 还差 Z元
.
append
(
"</span> 减 <span style=\"color:#fa5555\">"
)
satisfyList
.
setTipType
(
ActivityPromptEnum
.
TipTypeEnum
.
ELEVEN
.
getCode
());
.
append
(
WebUtil
.
formatAmount
(
activityPrompt
.
getDiscountAmout
()
*
1.00
/
100
))
satisfyList
.
setSatisfy
(
activityPrompt
.
getThresholdQuantity
().
toString
());
.
append
(
"</span> "
)
satisfyList
.
setDeduct
(
WebUtil
.
formatAmount
(
activityPrompt
.
getDiscountAmout
()
*
1.00
/
100
).
toString
());
.
append
(
"还差 <span style=\"color:#fa5555\">"
)
satisfyList
.
setMissing
(
String
.
valueOf
(
activityPrompt
.
getThresholdQuantity
()
-
activityPrompt
.
getTotalQuantity
()));
.
append
(
WebUtil
.
formatAmount
((
activityPrompt
.
getThresholdAmount
()
-
activityPrompt
.
getTotalAmount
())
*
1.00
/
100
))
}
else
{
.
append
(
"</span> 元"
);
// 满足 X 元 减 Y 元 还差 Z元
// 满足 X 元 减 Y 元 还差 Z元
satisfyList
.
setTipType
(
ActivityPromptEnum
.
TipTypeEnum
.
THREE
.
getCode
());
satisfyList
.
setTipType
(
3
);
satisfyList
.
setSatisfy
(
WebUtil
.
formatAmount
(
activityPrompt
.
getThresholdAmount
()
*
1.00
/
100
).
toString
());
satisfyList
.
setSatisfy
(
WebUtil
.
formatAmount
(
activityPrompt
.
getThresholdAmount
()
*
1.00
/
100
).
toString
());
satisfyList
.
setDeduct
(
WebUtil
.
formatAmount
(
activityPrompt
.
getDiscountAmout
()
*
1.00
/
100
).
toString
());
satisfyList
.
setDeduct
(
WebUtil
.
formatAmount
(
activityPrompt
.
getDiscountAmout
()
*
1.00
/
100
).
toString
());
satisfyList
.
setMissing
(
WebUtil
.
formatAmount
((
activityPrompt
.
getThresholdAmount
()
-
activityPrompt
.
getTotalAmount
())
*
1.00
/
100
).
toString
());
satisfyList
.
setMissing
(
WebUtil
.
formatAmount
((
activityPrompt
.
getThresholdAmount
()
-
activityPrompt
.
getTotalAmount
())
*
1.00
/
100
).
toString
());
}
}
else
{
}
else
{
Long
toDiscountAmout
;
Long
toDiscountAmout
;
//每满减
//每满减
if
(
Objects
.
equals
(
ActivityTypeEnum
.
TYPE_11
.
getCode
(),
activityResponseDto
.
getActivityType
()))
{
if
(
Objects
.
equals
(
ActivityTypeEnum
.
TYPE_11
.
getCode
(),
activityResponseDto
.
getActivityType
()))
{
...
@@ -245,23 +247,24 @@ public class FullPromotionService implements IPromotionService {
...
@@ -245,23 +247,24 @@ public class FullPromotionService implements IPromotionService {
}
else
{
}
else
{
toDiscountAmout
=
activityPrompt
.
getDiscountAmout
();
toDiscountAmout
=
activityPrompt
.
getDiscountAmout
();
}
}
//已减 X 元 再买 Y 元 减 Z 元
if
(
ActivityPromptEnum
.
PreferentialTypeEnum
.
TO_ORDER_ITEM_QUANTITY
.
getCode
().
equals
(
activityPrompt
.
getPreferentialType
())){
messageBuilder
.
append
(
"已减 <span style=\"color:#fa5555\">"
)
//已减 X 元 再买 Y 元 减 Z 元
.
append
(
WebUtil
.
formatAmount
(
activityPrompt
.
getAlreadyDiscountAmount
()
*
1.00
/
100
))
satisfyList
.
setTipType
(
ActivityPromptEnum
.
TipTypeEnum
.
TWELVE
.
getCode
());
.
append
(
"</span> 元 再买 <span style=\"color:#fa5555\">"
)
satisfyList
.
setDeduct
(
WebUtil
.
formatAmount
(
activityPrompt
.
getAlreadyDiscountAmount
()
*
1.00
/
100
).
toString
());
.
append
(
WebUtil
.
formatAmount
((
activityPrompt
.
getThresholdAmount
()
-
activityPrompt
.
getTotalAmount
())
*
1.00
/
100
))
satisfyList
.
setAgainBuy
(
String
.
valueOf
(
activityPrompt
.
getThresholdQuantity
()
-
activityPrompt
.
getTotalQuantity
()));
.
append
(
"</span> 元减 <span style=\"color:#fa5555\">"
)
satisfyList
.
setAgianDeduct
(
WebUtil
.
formatAmount
(
toDiscountAmout
*
1.00
/
100
).
toString
());
.
append
(
WebUtil
.
formatAmount
(
toDiscountAmout
*
1.00
/
100
))
}
else
{
.
append
(
"</span> 元"
);
//已减 X 元 再买 Y 元 减 Z 元
satisfyList
.
setTipType
(
4
);
satisfyList
.
setTipType
(
ActivityPromptEnum
.
TipTypeEnum
.
FOUR
.
getCode
());
satisfyList
.
setDeduct
(
WebUtil
.
formatAmount
(
activityPrompt
.
getAlreadyDiscountAmount
()
*
1.00
/
100
).
toString
());
satisfyList
.
setDeduct
(
WebUtil
.
formatAmount
(
activityPrompt
.
getAlreadyDiscountAmount
()
*
1.00
/
100
).
toString
());
satisfyList
.
setAgainBuy
(
WebUtil
.
formatAmount
((
activityPrompt
.
getThresholdAmount
()
-
activityPrompt
.
getTotalAmount
())
*
1.00
/
100
).
toString
());
satisfyList
.
setAgainBuy
(
WebUtil
.
formatAmount
((
activityPrompt
.
getThresholdAmount
()
-
activityPrompt
.
getTotalAmount
())
*
1.00
/
100
).
toString
());
satisfyList
.
setAgianDeduct
(
WebUtil
.
formatAmount
(
toDiscountAmout
*
1.00
/
100
).
toString
());
satisfyList
.
setAgianDeduct
(
WebUtil
.
formatAmount
(
toDiscountAmout
*
1.00
/
100
).
toString
());
}
}
}
}
}
if
(
Objects
.
equals
(
ActivityTypeEnum
.
TYPE_230
.
getCode
(),
activityResponseDto
.
getActivityType
())
&&
CollectionUtils
.
isNotEmpty
(
activityPrompt
.
getSendGoods
()))
{
if
(
Objects
.
equals
(
ActivityTypeEnum
.
TYPE_230
.
getCode
(),
activityResponseDto
.
getActivityType
())
&&
CollectionUtils
.
isNotEmpty
(
activityPrompt
.
getSendGoods
()))
{
satisfyList
.
setTipType
(
10
);
satisfyList
.
setTipType
(
ActivityPromptEnum
.
TipTypeEnum
.
TEN
.
getCode
()
);
List
<
ActivityList
.
SendGoods
>
sends
=
new
ArrayList
();
List
<
ActivityList
.
SendGoods
>
sends
=
new
ArrayList
();
for
(
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
.
SendGoods
sendGood
:
activityPrompt
.
getSendGoods
())
{
for
(
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
.
SendGoods
sendGood
:
activityPrompt
.
getSendGoods
())
{
ActivityList
.
SendGoods
send
=
new
ActivityList
.
SendGoods
();
ActivityList
.
SendGoods
send
=
new
ActivityList
.
SendGoods
();
...
@@ -273,17 +276,17 @@ public class FullPromotionService implements IPromotionService {
...
@@ -273,17 +276,17 @@ public class FullPromotionService implements IPromotionService {
satisfyList
.
setSatisfy
(
WebUtil
.
formatAmount
(
activityPrompt
.
getThresholdAmount
()
*
1.00
/
100
).
toString
());
satisfyList
.
setSatisfy
(
WebUtil
.
formatAmount
(
activityPrompt
.
getThresholdAmount
()
*
1.00
/
100
).
toString
());
satisfyList
.
setMissing
(
WebUtil
.
formatAmount
((
activityPrompt
.
getThresholdAmount
()
-
activityPrompt
.
getTotalAmount
())
*
1.00
/
100
).
toString
());
satisfyList
.
setMissing
(
WebUtil
.
formatAmount
((
activityPrompt
.
getThresholdAmount
()
-
activityPrompt
.
getTotalAmount
())
*
1.00
/
100
).
toString
());
if
(
GiftTypeEnum
.
TYPE_1
.
getType
().
equals
(
activityResponseDto
.
getActivitySubType
()))
{
if
(
GiftTypeEnum
.
TYPE_1
.
getType
().
equals
(
activityResponseDto
.
getActivitySubType
()))
{
satisfyList
.
setTipType
(
8
);
satisfyList
.
setTipType
(
ActivityPromptEnum
.
TipTypeEnum
.
EIGHT
.
getCode
()
);
}
}
else
{
else
{
satisfyList
.
setTipType
(
7
);
satisfyList
.
setTipType
(
ActivityPromptEnum
.
TipTypeEnum
.
SEVEN
.
getCode
()
);
}
}
if
(
activityPrompt
.
getTotalAmount
()>=
activityPrompt
.
getThresholdAmount
())
{
if
(
activityPrompt
.
getTotalAmount
()>=
activityPrompt
.
getThresholdAmount
())
{
if
(
GiftTypeEnum
.
TYPE_1
.
getType
().
equals
(
activityResponseDto
.
getActivitySubType
()))
{
if
(
GiftTypeEnum
.
TYPE_1
.
getType
().
equals
(
activityResponseDto
.
getActivitySubType
()))
{
satisfyList
.
setTipType
(
10
);
satisfyList
.
setTipType
(
ActivityPromptEnum
.
TipTypeEnum
.
TEN
.
getCode
()
);
}
}
else
{
else
{
satisfyList
.
setTipType
(
7
);
satisfyList
.
setTipType
(
ActivityPromptEnum
.
TipTypeEnum
.
SEVEN
.
getCode
()
);
}
}
}
}
}
}
...
...
shopping-cart-application-service/src/main/java/cn/freemud/service/thirdparty/ActivityClient.java
View file @
c5404f8a
...
@@ -24,7 +24,7 @@ import org.springframework.web.bind.annotation.PostMapping;
...
@@ -24,7 +24,7 @@ import org.springframework.web.bind.annotation.PostMapping;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
//券活动测试 地址:http://115.159.65.101:8003 线上 http://10.51.0.7:8003
//券活动测试 地址:http://115.159.65.101:8003 线上 http://10.51.0.7:8003
@FeignClient
(
name
=
"promotion-service"
,
url
=
"
${saas.activityclient.feign.url}
"
)
@FeignClient
(
name
=
"promotion-service"
,
url
=
"
http://localhost:8003
"
)
@RequestMapping
(
produces
=
{
"application/json;charset=UTF-8"
})
@RequestMapping
(
produces
=
{
"application/json;charset=UTF-8"
})
public
interface
ActivityClient
{
public
interface
ActivityClient
{
...
...
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