Commit 04517055 by xiaoer.li@freemud.com

促销计算:集点活动

parent 8a186322
package cn.freemud.entities.dto.calculate;
import cn.freemud.entities.dto.CheckSpqInfoResponseDto;
import cn.freemud.entities.dto.shoppingCart.SendPoint;
import cn.freemud.entities.vo.SubtractStockVO;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Date;
import java.util.List;
import java.util.Map;
......@@ -100,6 +102,7 @@ public class CalculationSharingDiscountResponseDto {
*/
private Long distributionFee;
private SendPoint sendPointVo;
@Data
public static class ActivityPrompt {
......@@ -154,6 +157,18 @@ public class CalculationSharingDiscountResponseDto {
private Integer type;
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
......
package cn.freemud.service.impl.calculate;
import cn.freemud.constant.ResponseCodeConstant;
import cn.freemud.entities.dto.ActivityCalculationDiscountResponseDto;
import cn.freemud.entities.dto.CheckSpqInfoRequestDto;
import cn.freemud.entities.dto.CheckSpqInfoResponseDto;
import cn.freemud.entities.dto.calculate.CalculationSharingDiscountRequestDto;
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.ShoppingCartInfoRequestVo;
import cn.freemud.enums.*;
......@@ -29,6 +31,7 @@ import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
/**
* All rights Reserved, Designed By www.freemud.cn
......@@ -168,6 +171,12 @@ public class CalculationSharingDiscountService {
// 返回成功
if (sharingDiscountResponseDto != null && StringUtils.equals(sharingDiscountResponseDto.getStatusCode(), ResponseCodeConstant.RESPONSE_SUCCESS_STR)) {
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.setDeliveryAmount(deliveryAmount);
result.setDistributionFee(result.getDistributionFee());
......@@ -179,6 +188,20 @@ public class CalculationSharingDiscountService {
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
......
......@@ -136,6 +136,7 @@ public class CalculationSharingEquallyService {
calculationCommonService.setAddAndUpdateResponse(cartGoodsList, shoppingCartGoodsResponseVo, shoppingCartInfoRequestVo, ShoppingCartConstant.QUERY_INFO);
calculationCommonService.addNeedCardAmount(shoppingCartInfoRequestVo, shoppingCartGoodsResponseVo);
shoppingCartGoodsDto.setSendPoint(discountResult.getSendPointVo());
shoppingCartGoodsDto.setDeliveryAmount(shoppingCartGoodsResponseVo.getDeliveryAmount());
shoppingCartGoodsDto.setDiscountDeliveryAmount(shoppingCartGoodsResponseVo.getDiscountDeliveryAmount());
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