Commit 5d931fc6 authored by libin's avatar libin

Merge remote-tracking branch 'origin/base-modify' into base-modify

parents 1bfe07fa de0c0d67
......@@ -29,6 +29,7 @@ import org.springframework.stereotype.Service;
import javax.annotation.PostConstruct;
import javax.servlet.http.HttpServletRequest;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import java.util.stream.Collectors;
......@@ -140,10 +141,13 @@ public class OrderMemberService extends AbstractOrderHandle<OrderMemberDetailBiz
BigDecimal couponAmount = BigDecimal.ZERO;
//设置Item
OrderItem vehicleOrderItem = orderItemBiz.initOrderItem(detail.getBaseUserMemberLevel().getPrice(), 1, detail.getBaseUserMemberLevel().getName(), detail.getBaseUserMemberLevel().getId(), ItemTypeEnum.MEMBER);
OrderItem memberOrderItem = orderItemBiz.initOrderItem(detail.getBaseUserMemberLevel().getPrice(), 1, detail.getBaseUserMemberLevel().getName(), detail.getBaseUserMemberLevel().getId(), ItemTypeEnum.MEMBER);
detail.setItems(new ArrayList<OrderItem>());
detail.getItems().add(memberOrderItem);
//商品价格
goodsAmount = goodsAmount.add(vehicleOrderItem.getCalculateAmount(Boolean.TRUE));
goodsAmount = goodsAmount.add(memberOrderItem.getCalculateAmount(Boolean.TRUE));
//vehicleAmount 优惠券处理
if(null != detail.getTickerNo() && detail.getTickerNo().size() > 0) {
......@@ -151,7 +155,7 @@ public class OrderMemberService extends AbstractOrderHandle<OrderMemberDetailBiz
if(couponAmount.compareTo(BigDecimal.ZERO) > 0) {
detail.getOrder().setCouponTickerNos(detail.getTickerNo().stream().collect(Collectors.joining(",")));
detail.getOrder().setHasDiscount(SYS_TRUE);
vehicleOrderItem.handleCouponAmount(couponAmount);
memberOrderItem.handleCouponAmount(couponAmount);
}
}
......
......@@ -143,7 +143,7 @@ public class OrderTourService extends AbstractOrderHandle<OrderTourDetailBiz, To
OrderItem tourAdultItem = bo.getItemByTypeEnum(ItemTypeEnum.TOUR_ADULT);
OrderItem tourChildItem = bo.getItemByTypeEnum(ItemTypeEnum.TOUR_CHILD);
BigDecimal amount = tourAdultItem.getTotalAmount().add(tourChildItem.getTotalAmount());
BigDecimal amount = tourAdultItem.getTotalAmount().add(null == tourChildItem? BigDecimal.ZERO: tourChildItem.getTotalAmount());
//如果有使用优惠券,则扣减
if(BigDecimal.ZERO.compareTo(bo.getOrder().getCouponAmount()) < 0) {
......@@ -215,14 +215,22 @@ public class OrderTourService extends AbstractOrderHandle<OrderTourDetailBiz, To
tourAdultItem.setUnitPrice(tourSpePriceVo.getPrice());
OrderItem tourChildItem = orderItemBiz.initOrderItem(tourSpePriceVo.getChildOriginalPrice(), detail.getChildNum(), "儿童", detail.getSpePriceId(), ItemTypeEnum.TOUR_CHILD);
tourChildItem.setUnitPrice(tourSpePriceVo.getChildPrice());
//人数 * 天数
OrderItem insureItem = orderItemBiz.initOrderItem(INSURE_PRICE, detail.getTotalNumber() * detail.getTourGood().getNumber(), "旅游保险", null, ItemTypeEnum.TOUR_INSURE);
detail.setItems(new ArrayList<OrderItem>());
detail.getItems().add(tourAdultItem);
if(tourChildItem.getBuyNum() > 0) {
detail.getItems().add(tourChildItem);
}
//需要保险
if(SYS_TRUE.equals(detail.getHasInsure())) {
//人数 * 天数 * 价格
insureAmount = insureAmount.add(insureItem.getCalculateAmount(Boolean.TRUE));
detail.getItems().add(insureItem);
}
//总价
......
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