Commit 04517055 by xiaoer.li@freemud.com

促销计算:集点活动

parent 8a186322
package cn.freemud.entities.dto.calculate; package cn.freemud.entities.dto.calculate;
import cn.freemud.entities.dto.CheckSpqInfoResponseDto; import cn.freemud.entities.dto.CheckSpqInfoResponseDto;
import cn.freemud.entities.dto.shoppingCart.SendPoint;
import cn.freemud.entities.vo.SubtractStockVO; import cn.freemud.entities.vo.SubtractStockVO;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
...@@ -100,6 +102,7 @@ public class CalculationSharingDiscountResponseDto { ...@@ -100,6 +102,7 @@ public class CalculationSharingDiscountResponseDto {
*/ */
private Long distributionFee; private Long distributionFee;
private SendPoint sendPointVo;
@Data @Data
public static class ActivityPrompt { public static class ActivityPrompt {
...@@ -154,6 +157,18 @@ public class CalculationSharingDiscountResponseDto { ...@@ -154,6 +157,18 @@ public class CalculationSharingDiscountResponseDto {
private Integer type; private Integer type;
private Long thresholdAmount; private Long thresholdAmount;
private SendPointDto sendPointVo;
private Date endTime;
}
@Data
public static class SendPointDto {
private String activityCode;
private Integer sendPoint;
private Integer maxNum;
private Integer exchangeNum;
private Integer validityDateDays;
private Date endTime;
} }
@Data @Data
......
package cn.freemud.service.impl.calculate; package cn.freemud.service.impl.calculate;
import cn.freemud.constant.ResponseCodeConstant; import cn.freemud.constant.ResponseCodeConstant;
import cn.freemud.entities.dto.ActivityCalculationDiscountResponseDto;
import cn.freemud.entities.dto.CheckSpqInfoRequestDto; import cn.freemud.entities.dto.CheckSpqInfoRequestDto;
import cn.freemud.entities.dto.CheckSpqInfoResponseDto; import cn.freemud.entities.dto.CheckSpqInfoResponseDto;
import cn.freemud.entities.dto.calculate.CalculationSharingDiscountRequestDto; import cn.freemud.entities.dto.calculate.CalculationSharingDiscountRequestDto;
import cn.freemud.entities.dto.calculate.CalculationSharingDiscountResponseDto; import cn.freemud.entities.dto.calculate.CalculationSharingDiscountResponseDto;
import cn.freemud.entities.dto.shoppingCart.SendPoint;
import cn.freemud.entities.vo.CartGoods; import cn.freemud.entities.vo.CartGoods;
import cn.freemud.entities.vo.ShoppingCartInfoRequestVo; import cn.freemud.entities.vo.ShoppingCartInfoRequestVo;
import cn.freemud.enums.*; import cn.freemud.enums.*;
...@@ -29,6 +31,7 @@ import java.util.ArrayList; ...@@ -29,6 +31,7 @@ import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Objects; import java.util.Objects;
import java.util.stream.Collectors;
/** /**
* All rights Reserved, Designed By www.freemud.cn * All rights Reserved, Designed By www.freemud.cn
...@@ -168,6 +171,12 @@ public class CalculationSharingDiscountService { ...@@ -168,6 +171,12 @@ public class CalculationSharingDiscountService {
// 返回成功 // 返回成功
if (sharingDiscountResponseDto != null && StringUtils.equals(sharingDiscountResponseDto.getStatusCode(), ResponseCodeConstant.RESPONSE_SUCCESS_STR)) { if (sharingDiscountResponseDto != null && StringUtils.equals(sharingDiscountResponseDto.getStatusCode(), ResponseCodeConstant.RESPONSE_SUCCESS_STR)) {
CalculationSharingDiscountResponseDto.CalculationDiscountResult result = sharingDiscountResponseDto.getResult(); CalculationSharingDiscountResponseDto.CalculationDiscountResult result = sharingDiscountResponseDto.getResult();
List<Integer> activityTypes = result.getDiscounts().stream().map(CalculationSharingDiscountResponseDto.CalculationDiscountResult.Discount::getType).collect(Collectors.toList());
if (activityTypes.contains(221)) {
CalculationSharingDiscountResponseDto.CalculationDiscountResult.Discount discountDTO = result.getDiscounts().stream().filter(d -> 221 == d.getType()).findFirst().get();
convert2SendPoint(result, discountDTO);
}
result.setValidCouponMap(validCouponMap); result.setValidCouponMap(validCouponMap);
result.setDeliveryAmount(deliveryAmount); result.setDeliveryAmount(deliveryAmount);
result.setDistributionFee(result.getDistributionFee()); result.setDistributionFee(result.getDistributionFee());
...@@ -179,6 +188,20 @@ public class CalculationSharingDiscountService { ...@@ -179,6 +188,20 @@ public class CalculationSharingDiscountService {
return null; return null;
} }
private void convert2SendPoint(CalculationSharingDiscountResponseDto.CalculationDiscountResult result, CalculationSharingDiscountResponseDto.CalculationDiscountResult.Discount discountDTO) {
SendPoint sendPointNew = new SendPoint();
CalculationSharingDiscountResponseDto.CalculationDiscountResult.SendPointDto sendPointVo = discountDTO.getSendPointVo();
if (sendPointVo != null) {
sendPointNew.setMaxNum(sendPointVo.getMaxNum());
sendPointNew.setSendPoint(sendPointVo.getSendPoint());
sendPointNew.setValidityDateDays(sendPointVo.getValidityDateDays());
sendPointNew.setActivityCode(discountDTO.getActivityCode());
sendPointNew.setEndTime(discountDTO.getEndTime());
result.setSendPointVo(sendPointNew);
}
}
/** /**
* 实物商品 * 实物商品
* @param calculationDiscountGoodsList * @param calculationDiscountGoodsList
......
...@@ -136,6 +136,7 @@ public class CalculationSharingEquallyService { ...@@ -136,6 +136,7 @@ public class CalculationSharingEquallyService {
calculationCommonService.setAddAndUpdateResponse(cartGoodsList, shoppingCartGoodsResponseVo, shoppingCartInfoRequestVo, ShoppingCartConstant.QUERY_INFO); calculationCommonService.setAddAndUpdateResponse(cartGoodsList, shoppingCartGoodsResponseVo, shoppingCartInfoRequestVo, ShoppingCartConstant.QUERY_INFO);
calculationCommonService.addNeedCardAmount(shoppingCartInfoRequestVo, shoppingCartGoodsResponseVo); calculationCommonService.addNeedCardAmount(shoppingCartInfoRequestVo, shoppingCartGoodsResponseVo);
shoppingCartGoodsDto.setSendPoint(discountResult.getSendPointVo());
shoppingCartGoodsDto.setDeliveryAmount(shoppingCartGoodsResponseVo.getDeliveryAmount()); shoppingCartGoodsDto.setDeliveryAmount(shoppingCartGoodsResponseVo.getDeliveryAmount());
shoppingCartGoodsDto.setDiscountDeliveryAmount(shoppingCartGoodsResponseVo.getDiscountDeliveryAmount()); shoppingCartGoodsDto.setDiscountDeliveryAmount(shoppingCartGoodsResponseVo.getDiscountDeliveryAmount());
shoppingCartGoodsDto.setThresholdAmount(shoppingCartGoodsResponseVo.getThresholdAmount()); shoppingCartGoodsDto.setThresholdAmount(shoppingCartGoodsResponseVo.getThresholdAmount());
......
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