| | |
| | | BigDecimal orderPayDeposit = new BigDecimal("0.00"); |
| | | BigDecimal orderPayMoney = new BigDecimal("0.00"); |
| | | // 遍历购买商品列表 |
| | | HashSet<String> userCouponIdSet = new HashSet<>(); |
| | | for (AppBuyGoodsDto appBuyGoodsDto : appBuyGoodsDtoList) { |
| | | appSureOrderGoodsVo = new AppSureOrderGoodsVo(); |
| | | discountMoney = BigDecimal.ZERO; |
| | | useCoupon = 0; |
| | | goodsId = appBuyGoodsDto.getGoodsId(); |
| | | buyNum = appBuyGoodsDto.getBuyNum(); |
| | | memberCouponId = appBuyGoodsDto.getMemberCouponId(); |
| | | // 获取商品信息 |
| | | goods = remoteGoodsService.getGoods(goodsId).getData(); |
| | | if(goods.getGoodsStatus()!=1){ |
| | | throw new ServiceException(AppErrorConstant.GOODS_DOWN); |
| | | } |
| | | // 设置订单商品信息 |
| | | appSureOrderGoodsVo.setGoodsId(goodsId); |
| | | appSureOrderGoodsVo.setGoodsName(goods.getGoodsName()); |
| | |
| | | goodsTotalPrice = goodsPrice.multiply(buyNumBig); |
| | | goodsRealPrice = goodsTotalPrice; |
| | | // 处理优惠券 |
| | | if (memberCouponId != null) { |
| | | if (StringUtils.isNotBlank(memberCouponId)) { |
| | | appMemberCouponVo = appMemberCouponVoMap.get(memberCouponId); |
| | | if (StringUtils.isBlank(appMemberCouponVo.getRelGoodsIds()) || appMemberCouponVo.getRelGoodsIds().contains(goodsId)) { |
| | | couponType = appMemberCouponVo.getCouponType(); |
| | |
| | | discountMoney = appMemberCouponVo.getDiscountMoney(); |
| | | goodsRealPrice = goodsTotalPrice.subtract(discountMoney); |
| | | useCoupon = 1; |
| | | userCouponIdSet.add(memberCouponId); |
| | | appSureOrderGoodsVo.setMemberCouponId(memberCouponId); |
| | | } |
| | | } else if (couponType == 2 && appMemberCouponVo.getDiscountPercent() != null) { |
| | | discountPercent = appMemberCouponVo.getDiscountPercent(); |
| | | goodsRealPrice = goodsTotalPrice.multiply(discountPercent).divide(BigDecimal.TEN).setScale(2, BigDecimal.ROUND_HALF_UP); |
| | | discountMoney = goodsRealPrice.subtract(goodsTotalPrice); |
| | | useCoupon = 1; |
| | | userCouponIdSet.add(memberCouponId); |
| | | appSureOrderGoodsVo.setMemberCouponId(memberCouponId); |
| | | } else if (couponType == 3 && appMemberCouponVo.getDiscountMoney() != null) { |
| | | discountMoney = appMemberCouponVo.getDiscountMoney(); |
| | | goodsRealPrice = goodsTotalPrice.subtract(discountMoney); |
| | | if(goodsRealPrice.compareTo(BigDecimal.ZERO)<0){ |
| | | goodsRealPrice = BigDecimal.ZERO; |
| | | } |
| | | useCoupon = 1; |
| | | userCouponIdSet.add(memberCouponId); |
| | | appSureOrderGoodsVo.setMemberCouponId(memberCouponId); |
| | | } |
| | | } |
| | | } |
| | |
| | | couponDiscount = couponDiscount.add(discountMoney); |
| | | orderPayDeposit = orderPayDeposit.add(goodsDeposit); |
| | | orderPayMoney = orderPayMoney.add(goodsRealPrice); |
| | | appSureOrderGoodsVoList.add(appSureOrderGoodsVo); |
| | | } |
| | | //处理优惠券列表 |
| | | if (appMemberCouponVoList != null && !appMemberCouponVoList.isEmpty()) { |
| | | // 获取商品关联优惠券 |
| | | appGoodsMemberCouponVoList = new ArrayList<>(); |
| | | if (appMemberCouponVoList != null && !appMemberCouponVoList.isEmpty()) { |
| | | for(AppSureOrderGoodsVo sureOrderGoodsVo : appSureOrderGoodsVoList){ |
| | | for (AppMemberCouponVo entity : appMemberCouponVoList) { |
| | | if (StringUtils.isBlank(entity.getRelGoodsIds())) { |
| | | if (entity.getCouponType() == 1 && entity.getMoneyThreshold() != null && entity.getDiscountMoney() != null) { |
| | | moneyThreshold = entity.getMoneyThreshold(); |
| | | if (goodsTotalPrice.compareTo(moneyThreshold) >= 0) { |
| | | appGoodsMemberCouponVoList.add(entity); |
| | | if (sureOrderGoodsVo.getGoodsTotalPrice().compareTo(moneyThreshold) >= 0) { |
| | | if(userCouponIdSet==null||!userCouponIdSet.contains(entity.getMemberCouponId())){ |
| | | appGoodsMemberCouponVoList.add(entity); |
| | | }else{ |
| | | if(sureOrderGoodsVo.getMemberCouponId()!=null&&sureOrderGoodsVo.getMemberCouponId().equals(entity.getMemberCouponId())){ |
| | | appGoodsMemberCouponVoList.add(entity); |
| | | } |
| | | } |
| | | } |
| | | }else{ |
| | | appGoodsMemberCouponVoList.add(entity); |
| | | if(userCouponIdSet==null||!userCouponIdSet.contains(entity.getMemberCouponId())){ |
| | | appGoodsMemberCouponVoList.add(entity); |
| | | }else{ |
| | | if(sureOrderGoodsVo.getMemberCouponId()!=null&&sureOrderGoodsVo.getMemberCouponId().equals(entity.getMemberCouponId())){ |
| | | appGoodsMemberCouponVoList.add(entity); |
| | | } |
| | | } |
| | | } |
| | | } else if (entity.getRelGoodsIds().contains(goodsId)) { |
| | | } else if (entity.getRelGoodsIds().contains(sureOrderGoodsVo.getGoodsId())) { |
| | | if (entity.getCouponType() == 1 && entity.getMoneyThreshold() != null && entity.getDiscountMoney() != null) { |
| | | moneyThreshold = entity.getMoneyThreshold(); |
| | | if (goodsTotalPrice.compareTo(moneyThreshold) >= 0) { |
| | | appGoodsMemberCouponVoList.add(entity); |
| | | if (sureOrderGoodsVo.getGoodsTotalPrice().compareTo(moneyThreshold) >= 0) { |
| | | if(userCouponIdSet==null||!userCouponIdSet.contains(entity.getMemberCouponId())){ |
| | | appGoodsMemberCouponVoList.add(entity); |
| | | }else{ |
| | | if(sureOrderGoodsVo.getMemberCouponId()!=null&&sureOrderGoodsVo.getMemberCouponId().equals(entity.getMemberCouponId())){ |
| | | appGoodsMemberCouponVoList.add(entity); |
| | | } |
| | | } |
| | | } |
| | | }else{ |
| | | appGoodsMemberCouponVoList.add(entity); |
| | | if(userCouponIdSet==null||!userCouponIdSet.contains(entity.getMemberCouponId())){ |
| | | appGoodsMemberCouponVoList.add(entity); |
| | | }else{ |
| | | if(sureOrderGoodsVo.getMemberCouponId()!=null&&sureOrderGoodsVo.getMemberCouponId().equals(entity.getMemberCouponId())){ |
| | | appGoodsMemberCouponVoList.add(entity); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | appSureOrderGoodsVo.setAppMemberCouponVoList(appGoodsMemberCouponVoList); |
| | | sureOrderGoodsVo.setAppMemberCouponVoList(appGoodsMemberCouponVoList); |
| | | } |
| | | appSureOrderGoodsVoList.add(appSureOrderGoodsVo); |
| | | } |
| | | // 设置订单相关金额 |
| | | appSureOrderVo.setOrderGoodsMoney(orderGoodsMoney); |
| | |
| | | throw new ServiceException(AppErrorConstant.ACTIVITY_GOODS_NULL); |
| | | } |
| | | Goods goods = remoteGoodsService.getGoods(goodsId).getData(); |
| | | if(goods.getGoodsStatus()!=1){ |
| | | throw new ServiceException(AppErrorConstant.GOODS_DOWN); |
| | | } |
| | | appPanicBuyVo.setGoodsId(goodsId); |
| | | appPanicBuyVo.setGoodsName(goods.getGoodsName()); |
| | | appPanicBuyVo.setGoodsIntroduction(goods.getGoodsIntroduction()); |
| | |
| | | */ |
| | | @Override |
| | | public MerHomeShopTotalVo getMerHomeTotal(MerHomeShopTotalVo merHomeShopTotalVo) { |
| | | List<Long> shopIds = merHomeShopTotalVo.getShopIds(); |
| | | if (null != shopIds && shopIds.size() != 0) { |
| | | Integer todayShop = userServiceRecordMapper.countShopServicePersons(shopIds); |
| | | merHomeShopTotalVo = orderMapper.getMerHomeShopsTotalVo(shopIds); |
| | | merHomeShopTotalVo.setTodayShop(todayShop); |
| | | }else{ |
| | | Long shopId = merHomeShopTotalVo.getShopId(); |
| | | Integer todayShop = userServiceRecordService.countShopServicePerson(shopId); |
| | | merHomeShopTotalVo.setTodayShop(todayShop); |
| | | merHomeShopTotalVo = orderMapper.getMerHomeShopTotalVo(shopId); |
| | | |
| | | } |
| | | Long shopId = merHomeShopTotalVo.getShopId(); |
| | | Integer todayShop = userServiceRecordService.countShopServicePerson(shopId); |
| | | merHomeShopTotalVo = orderMapper.getMerHomeShopTotalVo(shopId); |
| | | merHomeShopTotalVo.setTodayShop(todayShop); |
| | | return merHomeShopTotalVo; |
| | | } |
| | | |