From f19155dcda0413563963d545eed3045364814c0d Mon Sep 17 00:00:00 2001 From: jiangqs <jiangqs> Date: 星期六, 12 八月 2023 05:14:27 +0800 Subject: [PATCH] bug --- ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java | 99 ++++++++++++++++++++++++++++++++----------------- 1 files changed, 64 insertions(+), 35 deletions(-) diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java index 865eb95..5815a6a 100644 --- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java +++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java @@ -312,15 +312,19 @@ for (AppMemberCouponVo entity : appMemberCouponVoList) { if (StringUtils.isBlank(entity.getRelGoodsIds()) || entity.getRelGoodsIds().contains(sureOrderGoodsVo.getGoodsId())) { if (entity.getCouponType() == 1) { - if (entity.getMoneyThreshold().compareTo(sureOrderGoodsVo.getGoodsTotalPrice()) < 0 && entity.getDiscountMoney().compareTo(sureOrderGoodsVo.getGoodsTotalPrice()) < 0) { + if (entity.getMoneyThreshold().compareTo(sureOrderGoodsVo.getGoodsTotalPrice()) <= 0) { appGoodsMemberCouponVoList.add(entity); } + /*if (entity.getMoneyThreshold().compareTo(sureOrderGoodsVo.getGoodsTotalPrice()) < 0 && entity.getDiscountMoney().compareTo(sureOrderGoodsVo.getGoodsTotalPrice()) < 0) { + appGoodsMemberCouponVoList.add(entity); + }*/ } else if (entity.getCouponType() == 2) { appGoodsMemberCouponVoList.add(entity); } else if (entity.getCouponType() == 3) { - if (entity.getDiscountMoney().compareTo(sureOrderGoodsVo.getGoodsTotalPrice()) < 0) { + appGoodsMemberCouponVoList.add(entity); + /*if (entity.getDiscountMoney().compareTo(sureOrderGoodsVo.getGoodsTotalPrice()) < 0) { appGoodsMemberCouponVoList.add(entity); - } + }*/ } } @@ -616,6 +620,10 @@ goodsRealPrice = goodsTotalPrice.subtract(discountMoney); useCoupon = 1; } + if(goodsRealPrice.compareTo(BigDecimal.ZERO)<0){ + goodsRealPrice = BigDecimal.ZERO; + discountMoney = goodsTotalPrice; + } } memberCouponSJ.add(memberCouponId); } @@ -695,12 +703,14 @@ order.setDiscountMoney(couponDiscount); order.setReceivableMoney(orderPayMoney); order.setReceivableDeposit(orderPayDeposit); + order.setOfflinePayMoney(BigDecimal.ZERO); // 根据支付类型计算支付金额 if (appPlaceOrderDto.getPayType() == 1) { order.setPayMoney(orderPayMoney); order.setOnlinePayMoney(orderPayMoney); appPlaceOrderVo.setPayMoney(orderPayMoney); appPlaceOrderVo.setUnpaidMoney(order.getReceivableMoney().subtract(order.getPayMoney())); + order.setChangeReceivableMoney(orderGoodsMoney.subtract(couponDiscount)); order.setPayType(1); order.setCloseFlag(1); } else if (appPlaceOrderDto.getPayType() == 2) { @@ -708,10 +718,10 @@ order.setOnlinePayMoney(orderPayDeposit); appPlaceOrderVo.setPayMoney(orderPayDeposit); appPlaceOrderVo.setUnpaidMoney(order.getReceivableMoney().subtract(order.getPayMoney())); + order.setChangeReceivableMoney(orderGoodsMoney.subtract(couponDiscount).subtract(orderPayDeposit)); order.setPayType(2); order.setCloseFlag(0); } - order.setChangeReceivableMoney(appPlaceOrderVo.getUnpaidMoney()); order.setOrderRemark(appPlaceOrderDto.getOrderRemark()); order.setGoodsNum(goodsNum); order.setCreateTime(new Date()); @@ -1031,6 +1041,7 @@ order.setReceivableDeposit(orderPayDeposit); order.setActivityId(activityId); order.setActivityName(activityGoodsGetVo.getActivityName()); + order.setOfflinePayMoney(BigDecimal.ZERO); // 根据支付类型设置订单支付金额,在线支付金额,订单支付金额,未支付金额,关闭标志 if (appPlaceActivityDto.getPayType() == 1) { order.setPayMoney(orderPayMoney); @@ -1309,7 +1320,7 @@ merVerifyOrderVo.setCouponDiscount(order.getCouponMoney()); merVerifyOrderVo.setReceivableDeposit(order.getReceivableDeposit()); if(order.getPayType()==1){ - merVerifyOrderVo.setReceivableMoney(order.getOrderMoney().subtract(order.getPayMoney())); + merVerifyOrderVo.setReceivableMoney(order.getReceivableMoney()); }else{ merVerifyOrderVo.setReceivableMoney(order.getOrderMoney().subtract(order.getCouponMoney()).subtract(order.getReceivableDeposit())); } @@ -1669,6 +1680,7 @@ consumerGoods.setSourceFrom(1); consumerGoodsList.add(consumerGoods); } + remoteCouponService.useMemberCoupon(memberCoupon.getId()); consumerGoodsService.saveBatchConsumerGoods(consumerGoodsList); merVerifyCouponVo.setVerifyStatus(2); return merVerifyCouponVo; @@ -1691,10 +1703,38 @@ throw new ServiceException(AppErrorConstant.COUPON_USED); } ShopRelUserVo shopRelUserVo = remoteShopService.getShopByUserId(merVerifyPrizeDto.getUserId()).getData(); - if (!shopRelUserVo.getShopId().equals(memberGiftRecord.getShopId())) { + Shop shop = remoteShopService.getShop(shopRelUserVo.getShopId()).getData(); + if (memberGiftRecord.getGiftFrom() == 1) { + BirthdayCard birthdayCard = remoteMemberService.getBirthdayCard().getData(); + if(birthdayCard!=null){ + //判断指定区域全部店铺 + if(birthdayCard.getAreaFlag()==2&&birthdayCard.getShopFlag()==1&&!StringUtils.checkString(birthdayCard.getDesignatedArea(),shop.getShopCityCode())){ + throw new ServiceException(AppErrorConstant.VERIFY_SHOP_ERROR); + } + //判断指定店铺 + if(birthdayCard.getShopFlag()==2&&!StringUtils.checkString(birthdayCard.getApplicableShop(),shop.getShopId().toString())){ + throw new ServiceException(AppErrorConstant.VERIFY_SHOP_ERROR); + } + }else{ + throw new ServiceException(AppErrorConstant.VERIFY_SHOP_ERROR); + } + } + if (memberGiftRecord.getGiftFrom() == 2 && !memberGiftRecord.getShopId().equals(shop.getShopId())) { throw new ServiceException(AppErrorConstant.VERIFY_SHOP_ERROR); } Member member = remoteMemberService.getMember(memberGiftRecord.getUserId()).getData(); + if(member.getBindingFlag()==0){ + //绑定用户 + if(shop==null){ + shop = remoteShopService.getShop(shop.getShopId()).getData(); + } + AppMemberBindingDto appMemberBindingDto = new AppMemberBindingDto(); + appMemberBindingDto.setBindingFlag(1); + appMemberBindingDto.setShopId(shop.getShopId()); + appMemberBindingDto.setShopName(shop.getShopName()); + appMemberBindingDto.setUserId(memberGiftRecord.getUserId()); + remoteMemberService.updateMemberBinding(appMemberBindingDto); + } merVerifyAwardVo.setUserName(member.getRealName()); merVerifyAwardVo.setUserMobile(member.getMobile()); if (memberGiftRecord.getGiftFrom() == 1) { @@ -1752,13 +1792,14 @@ break; } merVerifyAwardVo.setCreateTime(memberGiftRecord.getCreateTime()); - memberGiftRecord.setVerifyStatus(2); - memberGiftRecord.setVerifyTime(new Date()); + MerVerifyPrizeFinalDto merVerifyPrizeFinalDto = new MerVerifyPrizeFinalDto(); + merVerifyPrizeFinalDto.setPrizeId(memberGiftRecord.getPrizeId()); + merVerifyPrizeFinalDto.setShopId(shop.getShopId()); + remoteMemberService.verifyPrize(merVerifyPrizeFinalDto); if (member.getBindingFlag() != 1) { AppMemberBindingDto appMemberBindingDto = new AppMemberBindingDto(); appMemberBindingDto.setBindingFlag(1); appMemberBindingDto.setShopId(merVerifyPrizeDto.getShopId()); - Shop shop = remoteShopService.getShop(merVerifyPrizeDto.getShopId()).getData(); appMemberBindingDto.setShopName(shop.getShopName()); appMemberBindingDto.setUserId(merVerifyPrizeDto.getUserId()); remoteMemberService.updateMemberBinding(appMemberBindingDto); @@ -1803,9 +1844,9 @@ order.setOffPayTime(new Date()); order.setPayMoney(order.getPayMoney().add(merCloseOrderDto.getPayMoney())); if (order.getPayMoney().compareTo(order.getChangeReceivableMoney()) >= 0) { - order.setCloseFlag(0); - } else { order.setCloseFlag(1); + } else { + order.setCloseFlag(0); } this.saveOrUpdate(order); //创建支付记录 @@ -2028,9 +2069,9 @@ order.setOffPayTime(nowTime); order.setPayType(1); if (order.getPayMoney().compareTo(order.getChangeReceivableMoney()) >= 0) { - order.setCloseFlag(0); - } else { order.setCloseFlag(1); + } else { + order.setCloseFlag(0); } this.save(order); //创建服务 @@ -2117,7 +2158,7 @@ payRecord.setDelFlag(0); payRecord.setOrderId(orderId); payRecord.setPayMoney(order.getPayMoney()); - payRecord.setPayTime(order.getPayTime()); + payRecord.setPayTime(order.getOffPayTime()); payRecord.setPayType(2); payRecordService.save(payRecord); } @@ -2157,7 +2198,6 @@ if (orderFrom == 1) { orderFromDesc = "商城订单"; } else if(orderFrom == 2){ - orderFromDesc = "店铺砍价活动("+merOrderPageVo.getActivityName()+")"; } else { orderFromDesc = "线下创建"; @@ -2166,7 +2206,6 @@ orderFromDesc = "商城订单"; } merOrderPageVo.setOrderFromDesc(orderFromDesc); - merOrderPageVo.setUnPaidMoney(merOrderPageVo.getPayMoney().subtract(merOrderPageVo.getReceiveMoney())); if (merOrderPageVo.getUnPaidMoney() == null) { merOrderPageVo.setUnPaidMoney(zeroBig); } @@ -2195,12 +2234,11 @@ * @return */ @Override - public List<MerMemberNoClearOrderVo> pageMerMemberOrder(Page page, MerMemberNoClearOrderDto merMemberNoClearOrderDto) { - List<MerMemberNoClearOrderVo> merMemberNoClearOrderVoList = orderMapper.pageMerMemberOrder(page, merMemberNoClearOrderDto.getMemberUserId()); + public List<MerMemberOrderVo> pageMerMemberOrder(Page page, MerMemberNoClearOrderDto merMemberNoClearOrderDto) { + List<MerMemberOrderVo> merMemberNoClearOrderVoList = orderMapper.pageMerMemberOrder(page, merMemberNoClearOrderDto.getMemberUserId()); if (merMemberNoClearOrderVoList != null && !merMemberNoClearOrderVoList.isEmpty()) { BigDecimal zeroBig = new BigDecimal("0.00"); - for (MerMemberNoClearOrderVo merMemberNoClearOrderVo : merMemberNoClearOrderVoList) { - merMemberNoClearOrderVo.setUnPaidMoney(merMemberNoClearOrderVo.getReceivableMoney().subtract(merMemberNoClearOrderVo.getPayMoney())); + for (MerMemberOrderVo merMemberNoClearOrderVo : merMemberNoClearOrderVoList) { if (merMemberNoClearOrderVo.getUnPaidMoney() == null) { merMemberNoClearOrderVo.setUnPaidMoney(zeroBig); } @@ -3157,8 +3195,8 @@ merVerifyCouponVo.setUserName(member.getRealName()); merVerifyCouponVo.setUserMobile(member.getMobile()); merVerifyCouponVo.setCouponFrom(verifyCouponGetVo.getCouponFrom()); - merVerifyCouponVo.setCouponName(verifyCouponGetVo.getMemberCoupon().getCouponName()); - merVerifyCouponVo.setCreateTime(verifyCouponGetVo.getMemberCoupon().getReceiveTime()); + merVerifyCouponVo.setCouponName(memberCoupon.getCouponName()); + merVerifyCouponVo.setCreateTime(memberCoupon.getReceiveTime()); // 将goodsList转换为MerCouponGoodsListVo列表,并设置相应属性 List<MerCouponGoodsListVo> merCouponGoodsList = goodsList.stream() .map(goods -> { @@ -3181,6 +3219,7 @@ // 设置merVerifyCouponVo的goodsList属性为merCouponGoodsList merVerifyCouponVo.setGoodsList(merCouponGoodsList); merVerifyCouponVo.setVerifyStatus(1); + merVerifyCouponVo.setMemberCouponId(memberCoupon.getId()); return merVerifyCouponVo; } @@ -3200,6 +3239,7 @@ throw new ServiceException(AppErrorConstant.COUPON_USED); } Shop shop = null; + Member member = remoteMemberService.getMember(memberGiftRecord.getUserId()).getData(); if (memberGiftRecord.getGiftFrom() == 1) { BirthdayCard birthdayCard = remoteMemberService.getBirthdayCard().getData(); if(birthdayCard!=null){ @@ -3219,19 +3259,8 @@ if (memberGiftRecord.getGiftFrom() == 2 && !memberGiftRecord.getShopId().equals(shopId)) { throw new ServiceException(AppErrorConstant.VERIFY_SHOP_ERROR); } - Member member = remoteMemberService.getMember(memberGiftRecord.getUserId()).getData(); - if(member.getBindingFlag()==0){ - //绑定用户 - if(shop==null){ - shop = remoteShopService.getShop(shopId).getData(); - } - AppMemberBindingDto appMemberBindingDto = new AppMemberBindingDto(); - appMemberBindingDto.setBindingFlag(1); - appMemberBindingDto.setShopId(shopId); - appMemberBindingDto.setShopName(shop.getShopName()); - appMemberBindingDto.setUserId(memberGiftRecord.getUserId()); - remoteMemberService.updateMemberBinding(appMemberBindingDto); - } + + merVerifyAwardVo.setUserName(member.getRealName()); merVerifyAwardVo.setUserMobile(member.getMobile()); if (memberGiftRecord.getGiftFrom() == 1) { -- Gitblit v1.7.1