| | |
| | | @Autowired |
| | | private OrderItemCheckMapper orderItemCheckMapper; |
| | | |
| | | @Autowired |
| | | private OrderPointGoodsMapper pointGoodsMapper; |
| | | |
| | | public void changeFlower2Cart(CartSaveDTO dto) { |
| | | String userId = SecurityUtils.getUserId(); |
| | | Cart c = cartMapper.selectOne(new QueryWrapper<Cart>() |
| | |
| | | } |
| | | |
| | | Address address = addressMapper.selectById(dto.getAddressId()); |
| | | List<TransportOrderDTO> tLs = transportService.getPreOrderTransportList(address, p.getTotalWeight(), dto.getTransportId()); |
| | | List<TransportOrderDTO> tLs = transportService.getPreOrderTransportList(address |
| | | , p.getTotalWeight(), dto.getTransportId()); |
| | | BigDecimal transportFee = new BigDecimal(0); |
| | | String deliveryName = ""; |
| | | if (tLs != null && tLs.size() > 0) { |
| | |
| | | String userId = SecurityUtils.getUserId(); |
| | | Order order = new Order(); |
| | | order.setId(UUIDGenerator.getUUID()); |
| | | |
| | | final List<Long> goodsRecordIdList = dto.getGoodsRecordIdList(); |
| | | usePointGoods(order.getId(), goodsRecordIdList);//使用积分商品兑换券 |
| | | |
| | | order.create(userId); |
| | | order.setRemarks(dto.getRemarks()); |
| | | order.setSpecialNeeds(dto.getSpecialNeeds()); |
| | |
| | | //商品列表处理 |
| | | List<FlowerCartListDTO> flowers = p.getFlowers(); |
| | | Map<Long, List<ParamItemDTO>> paramMap = new HashMap<>(); |
| | | BigDecimal flowerAmount = order.getFlowerAmount();//订单商品总价 |
| | | final BigDecimal flowerAmount = order.getFlowerAmount();//订单商品总价 |
| | | final BigDecimal memberCouponAmount = order.getMemberCouponAmount();//使用优惠券面值 |
| | | for (FlowerCartListDTO f : flowers) { |
| | | OrderItem t = new OrderItem(); |
| | | t.setId(UUIDGenerator.getUUID()); |
| | |
| | | t.setTotal(f.getTotalMember());//使用会员总价 |
| | | |
| | | t.setOriginalPrice(pp.getPrice());//非会员售价 |
| | | BigDecimal couponAmount = calculateCoupon(order.getMemberCouponAmount() |
| | | , t.getTotal(), order.getFlowerAmount(), t.getNum()); |
| | | BigDecimal couponAmount = calculateCoupon(memberCouponAmount, t.getTotal(), flowerAmount, t.getNum()); |
| | | t.setCouponAmount(couponAmount);//每扎平摊的优惠券面值 |
| | | t.setRealPrice(t.getPrice().subtract(couponAmount));//退款时使用的真实成交价 |
| | | |
| | |
| | | order.setPayOpenid(openId); |
| | | orderMapper.insert(order); |
| | | |
| | | //TODO 处理积分商品兑换券 |
| | | //处理积分商品兑换券 |
| | | if(goodsRecordIdList != null && goodsRecordIdList.size() > 0){ |
| | | for(Long goodsRecordId : goodsRecordIdList){ |
| | | OrderPointGoods g = new OrderPointGoods(); |
| | | g.setId(UUIDGenerator.getUUID()); |
| | | g.setOrderId(order.getId()); |
| | | g.setGoodsRecordId(goodsRecordId); |
| | | g.create(userId); |
| | | pointGoodsMapper.insert(g); |
| | | } |
| | | } |
| | | |
| | | Map map = paymentV3Service.wxPrepay(order); |
| | | map.put("_testV2OrderId", order.getId()); |
| | | return map; |
| | | } |
| | | |
| | | private void usePointGoods(String orderId, List<Long> goodsRecordIdList){ |
| | | //TODO 使用积分商品兑换券 |
| | | } |
| | | |
| | | /** |
| | | * 计算订单中每种商品每扎平摊的优惠券面值,保留2位小数 |
| | | * |