Commit 67851ba0 by xiaoer.li

Merge remote-tracking branch 'remotes/origin/feature/1.9.26_积分抵扣规则,新增是否与促销和优惠券同享' into qa

parents 63ae505a 753f1607
...@@ -32,8 +32,7 @@ public class GetUserScoreUserDetailResponse { ...@@ -32,8 +32,7 @@ public class GetUserScoreUserDetailResponse {
private Integer reducePriceLimit; private Integer reducePriceLimit;
private Integer getReduceScoreLimit; private Integer getReduceScoreLimit;
/** /**
* 积分抵扣状态 * 积分抵扣状态 1积分可用 2积分不足 3 积分抵扣开关禁用 4、订单金额不满足开启积分抵现要求
* 1积分可用 2积分不足 3 积分抵扣开关禁用
*/ */
private Integer scoreState; private Integer scoreState;
/** /**
...@@ -41,6 +40,11 @@ public class GetUserScoreUserDetailResponse { ...@@ -41,6 +40,11 @@ public class GetUserScoreUserDetailResponse {
* 例如10积分抵扣5元为 10:5 * 例如10积分抵扣5元为 10:5
*/ */
private String scoreReduceRate; private String scoreReduceRate;
/**
* 是否可优惠同享{0所有订单均可抵扣,1仅限原价订单才可抵扣(享受了促销活动、或使用了优惠券,不能进行积分抵扣)
*/
private Integer overlayOffers;
} }
} }
\ No newline at end of file
...@@ -22,4 +22,8 @@ public class ShoppingCartCustomerScoreVo { ...@@ -22,4 +22,8 @@ public class ShoppingCartCustomerScoreVo {
private Integer reduceAmount; private Integer reduceAmount;
private Integer useScore; private Integer useScore;
private String customerScorePrompt; private String customerScorePrompt;
/**
* 是否可优惠同享{0所有订单均可抵扣,1仅限原价订单才可抵扣(享受了促销活动、或使用了优惠券,不能进行积分抵扣)
*/
private Integer overlayOffers;
} }
...@@ -14,7 +14,7 @@ import cn.freemud.service.thirdparty.CustomScoreClient; ...@@ -14,7 +14,7 @@ import cn.freemud.service.thirdparty.CustomScoreClient;
import cn.freemud.utils.LogUtil; import cn.freemud.utils.LogUtil;
import com.freemud.application.sdk.api.constant.FMStatusCode; import com.freemud.application.sdk.api.constant.FMStatusCode;
import com.freemud.application.sdk.api.log.ErrorLog; import com.freemud.application.sdk.api.log.ErrorLog;
import org.apache.commons.lang.ObjectUtils; import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
...@@ -65,9 +65,23 @@ public class CustomerScoreService implements IPromotionService { ...@@ -65,9 +65,23 @@ public class CustomerScoreService implements IPromotionService {
customerScoreVo.setCurrentScore(getValue(userScoreUseDetail.getResult().getCurrentScore())); customerScoreVo.setCurrentScore(getValue(userScoreUseDetail.getResult().getCurrentScore()));
customerScoreVo.setReduceAmount(getValue(userScoreUseDetail.getResult().getReduceAmount())); customerScoreVo.setReduceAmount(getValue(userScoreUseDetail.getResult().getReduceAmount()));
customerScoreVo.setReducePriceLimit(getValue(userScoreUseDetail.getResult().getReducePriceLimit())); customerScoreVo.setReducePriceLimit(getValue(userScoreUseDetail.getResult().getReducePriceLimit()));
customerScoreVo.setScoreReduceState(userScoreUseDetail.getResult().getScoreState()); customerScoreVo.setOverlayOffers(userScoreUseDetail.getResult().getOverlayOffers());
// 是否可优惠同享{0所有订单均可抵扣,1仅限原价订单才可抵扣(享受了促销活动、或使用了优惠券,不能进行积分抵扣
if (getValue(userScoreUseDetail.getResult().getOverlayOffers()) == 0) {
customerScoreVo.setScoreReduceState(getValue(userScoreUseDetail.getResult().getScoreState()));
} else {
if (StringUtils.isNotBlank(shoppingCartInfoRequestVo.getCouponCode()) || (calculationDiscountResult != null && calculationDiscountResult.getTotalDiscountAmount().intValue() > 0)) {
//积分抵扣开关禁用
customerScoreVo.setScoreReduceState(5);
userScoreUseDetail.getResult().setScoreState(5);
discountAmount = 0;
}
}
customerScoreVo.setUseScore(getValue(userScoreUseDetail.getResult().getUseScore())); customerScoreVo.setUseScore(getValue(userScoreUseDetail.getResult().getUseScore()));
String msg = ""; String msg = "";
// 积分抵扣状态 1积分可用 2积分不足 3 积分抵扣开关禁用 4、订单金额不满足开启积分抵现要求
switch (userScoreUseDetail.getResult().getScoreState()) { switch (userScoreUseDetail.getResult().getScoreState()) {
case 1: case 1:
msg = String.format("共%s积分,可用%s积分抵¥%s", getValue(userScoreUseDetail.getResult().getCurrentScore()), getValue(userScoreUseDetail.getResult().getUseScore()), ((double) userScoreUseDetail.getResult().getReduceAmount()) / 100); msg = String.format("共%s积分,可用%s积分抵¥%s", getValue(userScoreUseDetail.getResult().getCurrentScore()), getValue(userScoreUseDetail.getResult().getUseScore()), ((double) userScoreUseDetail.getResult().getReduceAmount()) / 100);
...@@ -76,6 +90,9 @@ public class CustomerScoreService implements IPromotionService { ...@@ -76,6 +90,9 @@ public class CustomerScoreService implements IPromotionService {
String[] split = userScoreUseDetail.getResult().getScoreReduceRate().split(":"); String[] split = userScoreUseDetail.getResult().getScoreReduceRate().split(":");
msg = String.format("共%s积分,每%s积分可抵¥%s", getValue(userScoreUseDetail.getResult().getCurrentScore()), split[0], split[1]); msg = String.format("共%s积分,每%s积分可抵¥%s", getValue(userScoreUseDetail.getResult().getCurrentScore()), split[0], split[1]);
break; break;
case 5:
msg = "已享受优惠,无法再参与积分抵扣";
break;
case 4: case 4:
msg = String.format("共%s积分,订单满¥%s可开启积分抵现", getValue(userScoreUseDetail.getResult().getCurrentScore()), ((double) userScoreUseDetail.getResult().getReducePriceLimit()) / 100); msg = String.format("共%s积分,订单满¥%s可开启积分抵现", getValue(userScoreUseDetail.getResult().getCurrentScore()), ((double) userScoreUseDetail.getResult().getReducePriceLimit()) / 100);
break; break;
......
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