| | |
| | | BigDecimal experienceMoney = new BigDecimal("0.00"); |
| | | BigDecimal serviceMoney = new BigDecimal("0.00"); |
| | | BigDecimal goodsMoney = new BigDecimal("0.00"); |
| | | List<OrderGoods> orderGoodsList = new ArrayList<>(); |
| | | ConsumerGoods consumerGoods; |
| | | String consumerGoodsId; |
| | | List<ConsumerGoods> consumerGoodsList = new ArrayList<>(); |
| | | for (AppBuyGoodsDto appBuyGoodsDto : appBuyGoodsDtoList) { |
| | | goodsId = appBuyGoodsDto.getGoodsId(); |
| | | memberCouponId = appBuyGoodsDto.getMemberCouponId(); |
| | |
| | | discountMoney = appMemberCouponVo.getDiscountMoney(); |
| | | goodsRealPrice = goodsTotalPrice.subtract(discountMoney); |
| | | } |
| | | if(goodsRealPrice.compareTo(BigDecimal.ZERO)<0){ |
| | | goodsRealPrice = BigDecimal.ZERO; |
| | | discountMoney = goodsTotalPrice.subtract(goodsRealPrice); |
| | | } |
| | | } |
| | | } |
| | | |
| | | goodsDeposit = goods.getSubscription(); |
| | | if (goodsDeposit == null || goodsDeposit.compareTo(BigDecimal.ZERO) == 0) { |
| | | goodsDeposit = new BigDecimal("0.00"); |
| | |
| | | couponDiscount = couponDiscount.add(discountMoney); |
| | | orderPayDeposit = orderPayDeposit.add(goodsDeposit); |
| | | orderPayMoney = orderPayMoney.add(goodsRealPrice); |
| | | |
| | | //创建OrderGoods |
| | | orderGoods = new OrderGoods(); |
| | | orderGoodsId = IdUtils.simpleUUID(); |
| | |
| | | orderGoods.setGoodsName(goods.getGoodsName()); |
| | | orderGoods.setGoodsIntroduction(goods.getGoodsIntroduction()); |
| | | orderGoods.setGoodsPicture(goodsFile.getFileUrl()); |
| | | orderGoodsService.save(orderGoods); |
| | | orderGoodsList.add(orderGoods); |
| | | |
| | | //创建服务 |
| | | Integer buyGoodsNum = orderGoods.getBuyNum(); |
| | | //判断是否确认次数 |
| | | if (orderGoods.getCycleNumFlag() == 0) { |
| | | consumerGoods = new ConsumerGoods(); |
| | | consumerGoodsId = IdUtils.simpleUUID(); |
| | | consumerGoods.setConsumerGoodsId(consumerGoodsId); |
| | | consumerGoods.setDelFlag(0); |
| | | consumerGoods.setServiceStatus(1); |
| | | consumerGoods.setShopId(shopId); |
| | | consumerGoods.setUserId(userId); |
| | | consumerGoods.setOrderId(orderId); |
| | | consumerGoods.setOrderGoodsId(orderGoodsId); |
| | | consumerGoods.setGoodsId(orderGoods.getGoodsId()); |
| | | consumerGoods.setGoodsName(orderGoods.getGoodsName()); |
| | | consumerGoods.setCycleNumFlag(orderGoods.getCycleNumFlag()); |
| | | consumerGoods.setServiceNum(orderGoods.getServiceNum()); |
| | | consumerGoods.setUsedNum(0); |
| | | consumerGoods.setGoodsType(orderGoods.getGoodsType()); |
| | | consumerGoods.setGoodsTag(orderGoods.getGoodsTag()); |
| | | consumerGoods.setCreateTime(nowTime); |
| | | consumerGoods.setGoodsIntroduction(goods.getGoodsIntroduction()); |
| | | consumerGoods.setGoodsPicture(orderGoods.getGoodsPicture()); |
| | | consumerGoods.setGoodsNurses(goods.getGoodsNurses()); |
| | | consumerGoods.setSourceFrom(1); |
| | | consumerGoods.setSureNum(buyGoodsNum); |
| | | consumerGoodsList.add(consumerGoods); |
| | | } else { |
| | | for (int i = 0; i < buyGoodsNum; i++) { |
| | | consumerGoods = new ConsumerGoods(); |
| | | consumerGoodsId = IdUtils.simpleUUID(); |
| | | consumerGoods.setConsumerGoodsId(consumerGoodsId); |
| | | consumerGoods.setDelFlag(0); |
| | | consumerGoods.setServiceStatus(1); |
| | | consumerGoods.setShopId(shopId); |
| | | consumerGoods.setUserId(userId); |
| | | consumerGoods.setOrderId(orderId); |
| | | consumerGoods.setOrderGoodsId(orderGoodsId); |
| | | consumerGoods.setGoodsId(orderGoods.getGoodsId()); |
| | | consumerGoods.setGoodsName(orderGoods.getGoodsName()); |
| | | consumerGoods.setCycleNumFlag(orderGoods.getCycleNumFlag()); |
| | | consumerGoods.setServiceNum(orderGoods.getServiceNum()); |
| | | consumerGoods.setUsedNum(0); |
| | | consumerGoods.setGoodsType(orderGoods.getGoodsType()); |
| | | consumerGoods.setGoodsTag(orderGoods.getGoodsTag()); |
| | | consumerGoods.setCreateTime(nowTime); |
| | | consumerGoods.setGoodsIntroduction(goods.getGoodsIntroduction()); |
| | | consumerGoods.setGoodsPicture(orderGoods.getGoodsPicture()); |
| | | consumerGoods.setGoodsNurses(goods.getGoodsNurses()); |
| | | consumerGoods.setSourceFrom(1); |
| | | consumerGoodsList.add(consumerGoods); |
| | | } |
| | | } |
| | | |
| | | //商户变更计算 |
| | | switch (orderGoods.getGoodsType()) { |
| | | case 1: |
| | | cycleMoney = cycleMoney.add(orderGoods.getGoodsReceivableMoney()); |
| | |
| | | order.setCouponMoney(couponDiscount); |
| | | order.setDiscountMoney(couponDiscount); |
| | | order.setReceivableMoney(orderPayMoney); |
| | | order.setReceivableDeposit(new BigDecimal("0.00")); |
| | | order.setReceivableDeposit(orderPayDeposit); |
| | | order.setPayType(1); |
| | | //判断实收金额 |
| | | if (merNewOrderDto.getChangeMoney() != null) { |
| | | order.setChangeReceivableMoney(merNewOrderDto.getChangeMoney()); |
| | | } else { |
| | | order.setChangeReceivableMoney(orderPayMoney); |
| | | } |
| | | order.setPayMoney(orderPayMoney); |
| | | order.setOnlinePayMoney(new BigDecimal("0.00")); |
| | | order.setOfflinePayMoney(orderPayMoney); |
| | | order.setOrderRemark(merNewOrderDto.getOrderRemark()); |
| | | order.setGoodsNum(goodsNum); |
| | | order.setCreateTime(nowTime); |
| | |
| | | order.setPayMoney(merNewOrderDto.getPayMoney()); |
| | | order.setOnlinePayMoney(new BigDecimal("0.00")); |
| | | order.setOfflinePayMoney(merNewOrderDto.getPayMoney()); |
| | | order.setPayMoney(merNewOrderDto.getPayMoney()); |
| | | order.setOffPayTime(nowTime); |
| | | order.setPayType(1); |
| | | //判断结清 |
| | | if (order.getPayMoney().compareTo(order.getChangeReceivableMoney()) >= 0) { |
| | | order.setCloseFlag(1); |
| | | } else { |
| | | order.setCloseFlag(0); |
| | | } |
| | | //保存订单和服务 |
| | | this.save(order); |
| | | //创建服务 |
| | | List<AppUserOrderGoodsPageVo> appUserOrderGoodsPageVoList = orderGoodsService.listAppVoByOrderId(orderId); |
| | | ConsumerGoods consumerGoods; |
| | | String consumerGoodsId; |
| | | List<ConsumerGoods> consumerGoodsList = new ArrayList<>(); |
| | | for (AppUserOrderGoodsPageVo appUserOrderGoodsPageVo : appUserOrderGoodsPageVoList) { |
| | | Integer buyGoodsNum = appUserOrderGoodsPageVo.getBuyNum(); |
| | | if (appUserOrderGoodsPageVo.getCycleNumFlag() == 0) { |
| | | consumerGoods = new ConsumerGoods(); |
| | | goods = remoteGoodsService.getGoods(appUserOrderGoodsPageVo.getGoodsId()).getData(); |
| | | consumerGoodsId = IdUtils.simpleUUID(); |
| | | consumerGoods.setConsumerGoodsId(consumerGoodsId); |
| | | consumerGoods.setDelFlag(0); |
| | | consumerGoods.setServiceStatus(1); |
| | | consumerGoods.setShopId(order.getShopId()); |
| | | consumerGoods.setUserId(order.getUserId()); |
| | | consumerGoods.setOrderId(orderId); |
| | | consumerGoods.setOrderGoodsId(appUserOrderGoodsPageVo.getOrderGoodsId()); |
| | | consumerGoods.setGoodsId(appUserOrderGoodsPageVo.getGoodsId()); |
| | | consumerGoods.setGoodsName(appUserOrderGoodsPageVo.getGoodsName()); |
| | | consumerGoods.setCycleNumFlag(appUserOrderGoodsPageVo.getCycleNumFlag()); |
| | | consumerGoods.setServiceNum(appUserOrderGoodsPageVo.getServiceNum()); |
| | | consumerGoods.setUsedNum(0); |
| | | consumerGoods.setGoodsType(appUserOrderGoodsPageVo.getGoodsType()); |
| | | consumerGoods.setGoodsTag(appUserOrderGoodsPageVo.getGoodsTag()); |
| | | consumerGoods.setCreateTime(nowTime); |
| | | consumerGoods.setGoodsIntroduction(goods.getGoodsIntroduction()); |
| | | consumerGoods.setGoodsPicture(appUserOrderGoodsPageVo.getGoodsPicture()); |
| | | consumerGoods.setGoodsNurses(goods.getGoodsNurses()); |
| | | consumerGoods.setSourceFrom(1); |
| | | consumerGoods.setSureNum(buyGoodsNum); |
| | | consumerGoodsList.add(consumerGoods); |
| | | } else { |
| | | for (int i = 0; i < buyGoodsNum; i++) { |
| | | consumerGoods = new ConsumerGoods(); |
| | | goods = remoteGoodsService.getGoods(appUserOrderGoodsPageVo.getGoodsId()).getData(); |
| | | consumerGoodsId = IdUtils.simpleUUID(); |
| | | consumerGoods.setConsumerGoodsId(consumerGoodsId); |
| | | consumerGoods.setDelFlag(0); |
| | | consumerGoods.setServiceStatus(1); |
| | | consumerGoods.setShopId(order.getShopId()); |
| | | consumerGoods.setUserId(order.getUserId()); |
| | | consumerGoods.setOrderId(orderId); |
| | | consumerGoods.setOrderGoodsId(appUserOrderGoodsPageVo.getOrderGoodsId()); |
| | | consumerGoods.setGoodsId(appUserOrderGoodsPageVo.getGoodsId()); |
| | | consumerGoods.setGoodsName(appUserOrderGoodsPageVo.getGoodsName()); |
| | | consumerGoods.setCycleNumFlag(appUserOrderGoodsPageVo.getCycleNumFlag()); |
| | | consumerGoods.setServiceNum(appUserOrderGoodsPageVo.getServiceNum()); |
| | | consumerGoods.setUsedNum(0); |
| | | consumerGoods.setGoodsType(appUserOrderGoodsPageVo.getGoodsType()); |
| | | consumerGoods.setGoodsTag(appUserOrderGoodsPageVo.getGoodsTag()); |
| | | consumerGoods.setCreateTime(nowTime); |
| | | consumerGoods.setGoodsIntroduction(goods.getGoodsIntroduction()); |
| | | consumerGoods.setGoodsPicture(appUserOrderGoodsPageVo.getGoodsPicture()); |
| | | consumerGoods.setGoodsNurses(goods.getGoodsNurses()); |
| | | consumerGoods.setSourceFrom(1); |
| | | consumerGoodsList.add(consumerGoods); |
| | | } |
| | | } |
| | | } |
| | | orderGoodsService.saveBatch(orderGoodsList); |
| | | consumerGoodsService.saveBatchConsumerGoods(consumerGoodsList); |
| | | //用户未绑定则绑定商户 |
| | | Member member = remoteMemberService.getMember(userId).getData(); |
| | | if (member != null && member.getBindingFlag() != 1) { |
| | | //绑定商户 |
| | |
| | | appMemberBindingDto.setBindingFlag(1); |
| | | remoteMemberService.updateMemberBinding(appMemberBindingDto); |
| | | } |
| | | //更新商户统计 |
| | | ShopTotalChangeDto shopTotalChangeDto = new ShopTotalChangeDto(); |
| | | shopTotalChangeDto.setShopId(order.getShopId()); |
| | | shopTotalChangeDto.setOrderType(1); |
| | |
| | | payRecord.setOrderId(orderId); |
| | | payRecord.setPayMoney(order.getPayMoney()); |
| | | payRecord.setPayTime(order.getOffPayTime()); |
| | | payRecord.setPayType(2); |
| | | payRecord.setPayType(merNewOrderDto.getPayType()); |
| | | payRecordService.save(payRecord); |
| | | } |
| | | |