bug
jiangqs
2023-08-10 a8e56f03a22c722ccf3f67a408919e6c8f256de3
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());