Commit af844669 by hanghang.wang

促销满减活动提示语优化

parent a53e6baa
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;
}
}
}
...@@ -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;
...@@ -219,13 +220,14 @@ public class FullPromotionService implements IPromotionService { ...@@ -219,13 +220,14 @@ public class FullPromotionService implements IPromotionService {
private void setMessageSatisfyCart(StringBuilder messageBuilder, List<ActivityCalculationDiscountResponseDto.CalculationDiscountResult.ActivityPrompt> activityPrompts private void setMessageSatisfyCart(StringBuilder messageBuilder, List<ActivityCalculationDiscountResponseDto.CalculationDiscountResult.ActivityPrompt> activityPrompts
, ActivityResponseDto activityResponseDto, ArrayList<ActivityList> activityList) { , ActivityResponseDto activityResponseDto, ArrayList<ActivityList> activityList) {
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) {
if(3 == activityPrompt.getPreferentialType()){ if(ActivityPromptEnum.PreferentialTypeEnum.TO_ORDER_ITEM_QUANTITY.getCode().equals(activityPrompt.getPreferentialType())){
messageBuilder.append("满 <span style=\"color:#fa5555\">") messageBuilder.append("满 <span style=\"color:#fa5555\">")
.append(activityPrompt.getThresholdQuantity()) .append(activityPrompt.getThresholdQuantity())
.append("</span> 减 <span style=\"color:#fa5555\">") .append("</span> 减 <span style=\"color:#fa5555\">")
...@@ -235,7 +237,7 @@ public class FullPromotionService implements IPromotionService { ...@@ -235,7 +237,7 @@ public class FullPromotionService implements IPromotionService {
.append(activityPrompt.getThresholdQuantity() - activityPrompt.getTotalQuantity()) .append(activityPrompt.getThresholdQuantity() - activityPrompt.getTotalQuantity())
.append("</span> 件"); .append("</span> 件");
// 满足 X 元 减 Y 元 还差 Z元 // 满足 X 元 减 Y 元 还差 Z元
satisfyList.setTipType(11); satisfyList.setTipType(ActivityPromptEnum.TipTypeEnum.ELEVEN.getCode());
satisfyList.setSatisfy(activityPrompt.getThresholdQuantity().toString()); satisfyList.setSatisfy(activityPrompt.getThresholdQuantity().toString());
satisfyList.setDeduct(WebUtil.formatAmount(activityPrompt.getDiscountAmout() * 1.00 / 100).toString()); satisfyList.setDeduct(WebUtil.formatAmount(activityPrompt.getDiscountAmout() * 1.00 / 100).toString());
satisfyList.setMissing(String.valueOf(activityPrompt.getThresholdQuantity() - activityPrompt.getTotalQuantity())); satisfyList.setMissing(String.valueOf(activityPrompt.getThresholdQuantity() - activityPrompt.getTotalQuantity()));
...@@ -250,7 +252,7 @@ public class FullPromotionService implements IPromotionService { ...@@ -250,7 +252,7 @@ public class FullPromotionService implements IPromotionService {
.append(WebUtil.formatAmount((activityPrompt.getThresholdAmount() - activityPrompt.getTotalAmount()) * 1.00 / 100)) .append(WebUtil.formatAmount((activityPrompt.getThresholdAmount() - activityPrompt.getTotalAmount()) * 1.00 / 100))
.append("</span> 元"); .append("</span> 元");
// 满足 X 元 减 Y 元 还差 Z元 // 满足 X 元 减 Y 元 还差 Z元
satisfyList.setTipType(3); satisfyList.setTipType(ActivityPromptEnum.TipTypeEnum.THREE.getCode());
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());
...@@ -264,7 +266,7 @@ public class FullPromotionService implements IPromotionService { ...@@ -264,7 +266,7 @@ public class FullPromotionService implements IPromotionService {
} else { } else {
toDiscountAmout = activityPrompt.getDiscountAmout(); toDiscountAmout = activityPrompt.getDiscountAmout();
} }
if(3 == activityPrompt.getPreferentialType()){ if(ActivityPromptEnum.PreferentialTypeEnum.TO_ORDER_ITEM_QUANTITY.getCode().equals(activityPrompt.getPreferentialType())){
//已减 X 元 再买 Y 元 减 Z 元 //已减 X 元 再买 Y 元 减 Z 元
messageBuilder.append("已减 <span style=\"color:#fa5555\">") messageBuilder.append("已减 <span style=\"color:#fa5555\">")
.append(WebUtil.formatAmount(activityPrompt.getAlreadyDiscountAmount() * 1.00 / 100)) .append(WebUtil.formatAmount(activityPrompt.getAlreadyDiscountAmount() * 1.00 / 100))
...@@ -273,7 +275,7 @@ public class FullPromotionService implements IPromotionService { ...@@ -273,7 +275,7 @@ public class FullPromotionService implements IPromotionService {
.append("</span> 件减 <span style=\"color:#fa5555\">") .append("</span> 件减 <span style=\"color:#fa5555\">")
.append(WebUtil.formatAmount(toDiscountAmout * 1.00 / 100)) .append(WebUtil.formatAmount(toDiscountAmout * 1.00 / 100))
.append("</span> 元"); .append("</span> 元");
satisfyList.setTipType(12); satisfyList.setTipType(ActivityPromptEnum.TipTypeEnum.TWELVE.getCode());
satisfyList.setDeduct(WebUtil.formatAmount(activityPrompt.getAlreadyDiscountAmount() * 1.00 / 100).toString()); satisfyList.setDeduct(WebUtil.formatAmount(activityPrompt.getAlreadyDiscountAmount() * 1.00 / 100).toString());
satisfyList.setAgainBuy(String.valueOf(activityPrompt.getThresholdQuantity() - activityPrompt.getTotalQuantity())); satisfyList.setAgainBuy(String.valueOf(activityPrompt.getThresholdQuantity() - activityPrompt.getTotalQuantity()));
satisfyList.setAgianDeduct(WebUtil.formatAmount(toDiscountAmout * 1.00 / 100).toString()); satisfyList.setAgianDeduct(WebUtil.formatAmount(toDiscountAmout * 1.00 / 100).toString());
...@@ -286,7 +288,7 @@ public class FullPromotionService implements IPromotionService { ...@@ -286,7 +288,7 @@ public class FullPromotionService implements IPromotionService {
.append("</span> 元减 <span style=\"color:#fa5555\">") .append("</span> 元减 <span style=\"color:#fa5555\">")
.append(WebUtil.formatAmount(toDiscountAmout * 1.00 / 100)) .append(WebUtil.formatAmount(toDiscountAmout * 1.00 / 100))
.append("</span> 元"); .append("</span> 元");
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());
...@@ -297,7 +299,7 @@ public class FullPromotionService implements IPromotionService { ...@@ -297,7 +299,7 @@ public class FullPromotionService implements IPromotionService {
} }
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();
...@@ -309,17 +311,17 @@ public class FullPromotionService implements IPromotionService { ...@@ -309,17 +311,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());
} }
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment