Commit b4301c95 authored by 周健威's avatar 周健威

修改优惠券bug

parent 73f5075e
......@@ -16,6 +16,8 @@ public class OrderPriceVO {
public BigDecimal realAmount = BigDecimal.ZERO;
@ApiModelProperty(value = "优惠券扣除的费用")
public BigDecimal couponAmount = BigDecimal.ZERO;
@ApiModelProperty(value = "优惠券扣除的费用")
public String couponDesc = "";
@ApiModelProperty(value = "参数json")
public String paramJson = "";
......
......@@ -2,6 +2,7 @@ package com.xxfc.platform.order.service;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.convert.Convert;
import cn.hutool.core.lang.Dict;
import cn.hutool.core.util.StrUtil;
import cn.hutool.json.JSONObject;
......@@ -154,7 +155,7 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl
//如果有使用优惠券,则扣减
if(BigDecimal.ZERO.compareTo(bo.getOrder().getCouponAmount()) < 0) {
activityFeign.use(bo.getAppUserDTO().getUserid(), bo.getTickerNo(), bo.getOrder().getNo(), channel, amount, ActivityFeign.TYPE_USE);
activityFeign.use(bo.getAppUserDTO().getUserid(), Convert.toList(String.class, bo.getOrder().getCouponTickerNos()), bo.getOrder().getNo(), channel, amount, ActivityFeign.TYPE_USE);
}
//插入随声物品item
......@@ -309,12 +310,23 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl
//vehicleAmount 优惠券处理
if(null != detail.getTickerNo() && detail.getTickerNo().size() > 0) {
couponAmount = activityFeign.use(dto.getUserid(), detail.getTickerNo(), detail.getOrder().getNo(), channel, vehicleAmount, ActivityFeign.TYPE_NO_USE);
List<String> usedTickerNos = CollUtil.newArrayList();
for(String no : detail.getTickerNo()) {
BigDecimal tempCouponAmount = activityFeign.use(dto.getUserid(), CollUtil.newArrayList(no), detail.getOrder().getNo(), channel, vehicleAmount, ActivityFeign.TYPE_NO_USE);
if(couponAmount.compareTo(BigDecimal.ZERO) > 0) {
//加入总couponAmount
couponAmount = couponAmount.add(tempCouponAmount);
usedTickerNos.add(no);
//设置描述
couponDesc += activityFeign.info(no).getTitle();
}
}
if(couponAmount.compareTo(BigDecimal.ZERO) > 0) {
detail.getOrder().setCouponTickerNos(detail.getTickerNo().stream().collect(Collectors.joining(",")));
detail.getOrder().setCouponTickerNos(usedTickerNos.stream().collect(Collectors.joining(",")));
detail.getOrder().setHasDiscount(SYS_TRUE);
vehicleOrderItem.handleCouponAmount(couponAmount);
couponDesc += activityFeign.info(detail.getTickerNo().get(0)).getTitle();
}
}
......
package com.xxfc.platform.order.service;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.convert.Convert;
import cn.hutool.core.lang.Dict;
import cn.hutool.core.util.StrUtil;
import cn.hutool.json.JSONObject;
......@@ -155,7 +157,7 @@ public class OrderTourService extends AbstractOrderHandle<OrderTourDetailBiz, To
//如果有使用优惠券,则扣减
if(BigDecimal.ZERO.compareTo(bo.getOrder().getCouponAmount()) < 0) {
activityFeign.use(bo.getAppUserDTO().getUserid(), bo.getTickerNo(), bo.getOrder().getNo(), channel, amount, ActivityFeign.TYPE_USE);
activityFeign.use(bo.getAppUserDTO().getUserid(), Convert.toList(String.class, bo.getOrder().getCouponTickerNos()), bo.getOrder().getNo(), channel, amount, ActivityFeign.TYPE_USE);
}
super.handleDetail(bo);
......@@ -178,6 +180,7 @@ public class OrderTourService extends AbstractOrderHandle<OrderTourDetailBiz, To
BigDecimal goodsAmount = BigDecimal.ZERO;
BigDecimal tourAmount = BigDecimal.ZERO;
BigDecimal couponAmount = BigDecimal.ZERO;
String couponDesc = "";
BigDecimal insureAmount = BigDecimal.ZERO;
//当前用户
......@@ -249,9 +252,21 @@ public class OrderTourService extends AbstractOrderHandle<OrderTourDetailBiz, To
//优惠券处理
//待完成
if(null != detail.getTickerNo() && detail.getTickerNo().size() > 0) {
couponAmount = activityFeign.use(dto.getUserid(), detail.getTickerNo(), detail.getOrder().getNo(), channel, tourAmount, ActivityFeign.TYPE_NO_USE);
List<String> usedTickerNos = CollUtil.newArrayList();
for(String no : detail.getTickerNo()) {
BigDecimal tempCouponAmount = activityFeign.use(dto.getUserid(), CollUtil.newArrayList(no), detail.getOrder().getNo(), channel, tourAmount, ActivityFeign.TYPE_NO_USE);
if(couponAmount.compareTo(BigDecimal.ZERO) > 0) {
//加入总couponAmount
couponAmount = couponAmount.add(tempCouponAmount);
usedTickerNos.add(no);
//设置描述
couponDesc += activityFeign.info(no).getTitle();
}
}
if(couponAmount.compareTo(BigDecimal.ZERO) > 0) {
detail.getOrder().setCouponTickerNos(detail.getTickerNo()
detail.getOrder().setCouponTickerNos(usedTickerNos
.stream().collect(Collectors.joining(",")));
detail.getOrder().setHasDiscount(SYS_TRUE);
BigDecimal residueCouponAmount = tourAdultItem.handleCouponAmount(couponAmount);
......@@ -271,6 +286,7 @@ public class OrderTourService extends AbstractOrderHandle<OrderTourDetailBiz, To
//生成订单明细
TourPriceVO tpv = BeanUtil.toBean(tourSpePriceVo, TourPriceVO.class);
tpv.setCouponAmount(couponAmount);
tpv.setCouponDesc(couponDesc);
tpv.setOrderAmount(orderAmount);
tpv.setGoodsAmount(goodsAmount);
tpv.setRealAmount(realAmount);
......
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