From a8e56f03a22c722ccf3f67a408919e6c8f256de3 Mon Sep 17 00:00:00 2001 From: jiangqs <jiangqs> Date: 星期四, 10 八月 2023 01:45:01 +0800 Subject: [PATCH] bug --- ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java | 61 ++++++++++++++++++++++++------ 1 files changed, 49 insertions(+), 12 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 791b67c..865eb95 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 @@ -41,6 +41,7 @@ import com.ruoyi.system.api.domain.poji.goods.Goods; import com.ruoyi.system.api.domain.poji.goods.GoodsFile; import com.ruoyi.system.api.domain.poji.goods.ShopGoods; +import com.ruoyi.system.api.domain.poji.member.BirthdayCard; import com.ruoyi.system.api.domain.poji.member.Member; import com.ruoyi.system.api.domain.poji.member.MemberCoupon; import com.ruoyi.system.api.domain.poji.member.MemberGiftRecord; @@ -694,7 +695,6 @@ order.setDiscountMoney(couponDiscount); order.setReceivableMoney(orderPayMoney); order.setReceivableDeposit(orderPayDeposit); - order.setChangeReceivableMoney(orderPayMoney); // 根据支付类型计算支付金额 if (appPlaceOrderDto.getPayType() == 1) { order.setPayMoney(orderPayMoney); @@ -711,6 +711,7 @@ order.setPayType(2); order.setCloseFlag(0); } + order.setChangeReceivableMoney(appPlaceOrderVo.getUnpaidMoney()); order.setOrderRemark(appPlaceOrderDto.getOrderRemark()); order.setGoodsNum(goodsNum); order.setCreateTime(new Date()); @@ -1028,7 +1029,6 @@ order.setDiscountMoney(couponDiscount); order.setReceivableMoney(orderPayMoney); order.setReceivableDeposit(orderPayDeposit); - order.setChangeReceivableMoney(orderPayMoney); order.setActivityId(activityId); order.setActivityName(activityGoodsGetVo.getActivityName()); // 根据支付类型设置订单支付金额,在线支付金额,订单支付金额,未支付金额,关闭标志 @@ -1039,6 +1039,7 @@ appPlaceOrderVo.setUnpaidMoney(order.getReceivableMoney().subtract(order.getPayMoney())); order.setPayType(1); order.setCloseFlag(1); + order.setChangeReceivableMoney(orderGoodsMoney.subtract(couponDiscount)); } else if (appPlaceActivityDto.getPayType() == 2) { order.setPayMoney(orderPayDeposit); order.setOnlinePayMoney(orderPayDeposit); @@ -1046,6 +1047,7 @@ appPlaceOrderVo.setUnpaidMoney(order.getReceivableMoney().subtract(order.getPayMoney())); order.setPayType(2); order.setCloseFlag(0); + order.setChangeReceivableMoney(orderGoodsMoney.subtract(couponDiscount).subtract(orderPayDeposit)); } // 设置订单备注,商品数量,创建时间 order.setOrderRemark(appPlaceActivityDto.getOrderRemark()); @@ -1306,7 +1308,11 @@ merVerifyOrderVo.setOrderGoodsMoney(order.getOrderMoney()); merVerifyOrderVo.setCouponDiscount(order.getCouponMoney()); merVerifyOrderVo.setReceivableDeposit(order.getReceivableDeposit()); - merVerifyOrderVo.setReceivableMoney(order.getReceivableMoney()); + if(order.getPayType()==1){ + merVerifyOrderVo.setReceivableMoney(order.getOrderMoney().subtract(order.getPayMoney())); + }else{ + merVerifyOrderVo.setReceivableMoney(order.getOrderMoney().subtract(order.getCouponMoney()).subtract(order.getReceivableDeposit())); + } merVerifyOrderVo.setPayMoney(order.getPayMoney()); merVerifyOrderVo.setOrderRemark(order.getOrderRemark()); merVerifyOrderVo.setCreateTime(order.getCreateTime()); @@ -1324,7 +1330,7 @@ merVerifyOrderVo.setReceiveMoney(BigDecimal.ZERO); } } - merVerifyOrderVo.setUnReceiveMoney(merVerifyOrderVo.getRealReceiveMoney().subtract(order.getReceivableMoney())); + merVerifyOrderVo.setUnReceiveMoney(merVerifyOrderVo.getRealReceiveMoney().subtract(merVerifyOrderVo.getReceiveMoney())); // 根据订单用户ID获取用户信息 Member member = remoteMemberService.getMember(order.getUserId()).getData(); merVerifyOrderVo.setUserId(order.getUserId()); @@ -1450,7 +1456,11 @@ merVerifyOrderVo.setOrderGoodsMoney(order.getOrderMoney()); merVerifyOrderVo.setCouponDiscount(order.getCouponMoney()); merVerifyOrderVo.setReceivableDeposit(order.getReceivableDeposit()); - merVerifyOrderVo.setReceivableMoney(order.getReceivableMoney()); + if(order.getPayType()==1){ + merVerifyOrderVo.setReceivableMoney(order.getOrderMoney().subtract(order.getPayMoney())); + }else{ + merVerifyOrderVo.setReceivableMoney(order.getOrderMoney().subtract(order.getCouponMoney()).subtract(order.getReceivableDeposit())); + } merVerifyOrderVo.setPayMoney(order.getPayMoney()); merVerifyOrderVo.setOrderRemark(order.getOrderRemark()); merVerifyOrderVo.setAppUserOrderGoodsPageVoList(appUserOrderGoodsPageVoList); @@ -1468,7 +1478,7 @@ merVerifyOrderVo.setReceiveMoney(BigDecimal.ZERO); } } - merVerifyOrderVo.setUnReceiveMoney(merVerifyOrderVo.getRealReceiveMoney().subtract(order.getReceivableMoney())); + merVerifyOrderVo.setUnReceiveMoney(merVerifyOrderVo.getRealReceiveMoney().subtract(merVerifyOrderVo.getReceiveMoney())); Member member = remoteMemberService.getMember(order.getUserId()).getData(); merVerifyOrderVo.setUserId(order.getUserId()); merVerifyOrderVo.setUserName(member.getRealName()); @@ -3189,10 +3199,39 @@ if (memberGiftRecord == null || memberGiftRecord.getVerifyStatus() != 1) { throw new ServiceException(AppErrorConstant.COUPON_USED); } + Shop shop = null; + if (memberGiftRecord.getGiftFrom() == 1) { + BirthdayCard birthdayCard = remoteMemberService.getBirthdayCard().getData(); + if(birthdayCard!=null){ + shop = remoteShopService.getShop(shopId).getData(); + //判断指定区域全部店铺 + 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(),shopId.toString())){ + throw new ServiceException(AppErrorConstant.VERIFY_SHOP_ERROR); + } + }else{ + throw new ServiceException(AppErrorConstant.VERIFY_SHOP_ERROR); + } + } 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) { @@ -3200,8 +3239,8 @@ } else { merVerifyAwardVo.setGiftFrom("商户生日卡"); } - merVerifyAwardVo.setGiftType(memberGiftRecord.getGiftType()); + //礼物类型1优惠券2商品3现金4实物 switch (memberGiftRecord.getGiftType()) { case 1: merVerifyAwardVo.setGiftName(memberGiftRecord.getCouponName()); @@ -3260,11 +3299,6 @@ */ @Override public MerOrderTotalVo getMerOrderTotal(MerTotalDto merTotalDto) { - if (merTotalDto.getShopAllFlag() != null && merTotalDto.getShopAllFlag() == 1) { - List<Long> shopIdList = remoteShopService.listShopIdByShopId(merTotalDto.getShopId()).getData(); - merTotalDto.setShopIdList(shopIdList); - merTotalDto.setShopId(null); - } if (merTotalDto.getShopAllFlag() != null && merTotalDto.getShopAllFlag() == 1) { List<Long> shopIdList = remoteShopService.listShopIdByShopId(merTotalDto.getShopId()).getData(); merTotalDto.setShopIdList(shopIdList); @@ -3675,6 +3709,7 @@ goodsTotalChangeDtoList.add(goodsTotalChangeDto); } //更新商品统计 + remoteGoodsService.changeGoodsTotal(goodsTotalChangeDtoList); // 更新商户统计信息 ShopTotalChangeDto shopTotalChangeDto = new ShopTotalChangeDto(); shopTotalChangeDto.setShopId(order.getShopId()); @@ -3695,6 +3730,8 @@ Integer integral = Integer.valueOf(integralBig.toString()); memberTotalChangeDto.setChangeIntegral(integral); memberTotalChangeDto.setTypeIntegral(1); + memberTotalChangeDto.setOrderId(orderId); + memberTotalChangeDto.setOrderNo(order.getOrderNo()); } // 设置会员支付金额和支付时间 memberTotalChangeDto.setPayMoney(order.getPayMoney()); -- Gitblit v1.7.1