puzhibing
2024-03-22 57f0ac728903401fd0123ee300eb178bb569a08e
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java
@@ -196,7 +196,7 @@
        String goodsId;
        Integer buyNum;
        BigDecimal buyNumBig;
        String memberCouponId;
        Long memberCouponId;
        Goods goods;
        BigDecimal goodsPrice;
        BigDecimal goodsTotalPrice;
@@ -226,7 +226,7 @@
        BigDecimal orderPayDeposit = new BigDecimal("0.00");
        BigDecimal orderPayMoney = new BigDecimal("0.00");
        // 遍历购买商品列表
        HashSet<String> userCouponIdSet = new HashSet<>();
        HashSet<Long> userCouponIdSet = new HashSet<>();
        for (AppBuyGoodsDto appBuyGoodsDto : appBuyGoodsDtoList) {
            appSureOrderGoodsVo = new AppSureOrderGoodsVo();
            discountMoney = BigDecimal.ZERO;
@@ -263,8 +263,11 @@
            goodsTotalPrice = goodsPrice.multiply(buyNumBig);
            goodsRealPrice = goodsTotalPrice;
            // 处理优惠券
            if (StringUtils.isNotBlank(memberCouponId)) {
                appMemberCouponVo = appMemberCouponVoMap.get(memberCouponId);
            if (null != memberCouponId) {
                appMemberCouponVo = appMemberCouponVoMap.get(memberCouponId.toString());
                System.err.println(JSON.toJSONString(appMemberCouponVoMap));
                System.err.println(memberCouponId);
                System.err.println(JSON.toJSONString(appMemberCouponVo));
                if (StringUtils.isBlank(appMemberCouponVo.getRelGoodsIds()) || appMemberCouponVo.getRelGoodsIds().contains(goodsId)) {
                    couponType = appMemberCouponVo.getCouponType();
                    if (couponType == 1 && appMemberCouponVo.getMoneyThreshold() != null && appMemberCouponVo.getDiscountMoney() != null) {
@@ -274,7 +277,7 @@
                            goodsRealPrice = goodsTotalPrice.subtract(discountMoney);
                            useCoupon = 1;
                            userCouponIdSet.add(memberCouponId);
                            appSureOrderGoodsVo.setMemberCouponId(memberCouponId);
                            appSureOrderGoodsVo.setMemberCouponId(memberCouponId.toString());
                        }
                    } else if (couponType == 2 && appMemberCouponVo.getDiscountPercent() != null) {
                        discountPercent = appMemberCouponVo.getDiscountPercent();
@@ -282,7 +285,7 @@
                        discountMoney = goodsTotalPrice.subtract(goodsRealPrice);
                        useCoupon = 1;
                        userCouponIdSet.add(memberCouponId);
                        appSureOrderGoodsVo.setMemberCouponId(memberCouponId);
                        appSureOrderGoodsVo.setMemberCouponId(memberCouponId.toString());
                    } else if (couponType == 3 && appMemberCouponVo.getDiscountMoney() != null) {
                        discountMoney = appMemberCouponVo.getDiscountMoney();
                        if (goodsTotalPrice.compareTo(discountMoney) > 0) {
@@ -292,7 +295,7 @@
                            }
                            useCoupon = 1;
                            userCouponIdSet.add(memberCouponId);
                            appSureOrderGoodsVo.setMemberCouponId(memberCouponId);
                            appSureOrderGoodsVo.setMemberCouponId(memberCouponId.toString());
                        }
                    }
                }
@@ -559,7 +562,7 @@
        BigDecimal buyNumBig;
        Integer serviceNum;
        Integer goodsNum = 0;
        String memberCouponId;
        Long memberCouponId;
        Goods goods = null;
        GoodsFile goodsFile;
        BigDecimal goodsPrice;
@@ -636,7 +639,7 @@
            goodsRealPrice = goodsTotalPrice;
            // 如果使用了优惠券,计算优惠后的价格
            if (memberCouponId != null) {
                appMemberCouponVo = appMemberCouponVoMap.get(memberCouponId);
                appMemberCouponVo = appMemberCouponVoMap.get(memberCouponId.toString());
                // 如果优惠券适用于该商品
                if (StringUtils.isBlank(appMemberCouponVo.getRelGoodsIds()) || appMemberCouponVo.getRelGoodsIds().contains(goodsId)) {
                    couponType = appMemberCouponVo.getCouponType();
@@ -663,7 +666,7 @@
                        discountMoney = goodsTotalPrice;
                    }
                }
                memberCouponSJ.add(memberCouponId);
                memberCouponSJ.add(memberCouponId + "");
            }
            appSureOrderGoodsVo.setUseCoupon(useCoupon);
            appSureOrderGoodsVo.setGoodsTotalPrice(goodsTotalPrice);
@@ -2237,7 +2240,11 @@
    @Transactional
    @GlobalTransactional(rollbackFor = Exception.class)
    public MerVerifyCouponVo sureVerifyCoupon(MerVerifyCouponDto merVerifyCouponDto) {
        MerVerifyCouponGetVo verifyCouponGetVo = remoteCouponService.getVerifyCoupon(merVerifyCouponDto.getMemberCouponId()).getData();
        R<MerVerifyCouponGetVo> verifyCoupon = remoteCouponService.getVerifyCoupon(merVerifyCouponDto.getMemberCouponId());
        if(verifyCoupon.getCode() != 200){
            throw new ServiceException(verifyCoupon.getMsg());
        }
        MerVerifyCouponGetVo verifyCouponGetVo = verifyCoupon.getData();
        MemberCoupon memberCoupon = verifyCouponGetVo.getMemberCoupon();
        ShopRelUserVo shopRelUserVo = remoteShopService.getShopByUserId(merVerifyCouponDto.getUserId()).getData();
        Long userId = verifyCouponGetVo.getUserId();
@@ -2591,7 +2598,7 @@
        BigDecimal buyNumBig;
        Integer serviceNum;
        Integer goodsNum = 0;
        String memberCouponId;
        Long memberCouponId;
        Goods goods;
        BigDecimal goodsPrice;
        BigDecimal goodsTotalPrice;
@@ -2668,7 +2675,7 @@
                        goodsRealPrice = BigDecimal.ZERO;
                        discountMoney = goodsTotalPrice.subtract(goodsRealPrice);
                    }
                    memberCouponSJ.add(memberCouponId);
                    memberCouponSJ.add(memberCouponId + ",");
                }
            }
            goodsDeposit = goods.getSubscription();
@@ -3031,7 +3038,9 @@
        }
        //数据权限
        List<Long> userId = remoteUserService.getScopeOfAuthorityUserId();
        List<Shop> shops = remoteShopService.getShopBySysUserIds(userId);
        BoardMemberTotalDto boardMemberTotalDto = new BoardMemberTotalDto();
        boardMemberTotalDto.setUserIds(userId);
        List<Shop> shops = remoteShopService.getShopBySysUserIds(boardMemberTotalDto);
        if (!shops.isEmpty()) {
            List<Long> collect = shops.stream().map(Shop::getShopId).collect(Collectors.toList());
            String join = collect.stream().map(Object::toString).collect(Collectors.joining(","));
@@ -3126,7 +3135,9 @@
        }
        //数据权限
        List<Long> userId = remoteUserService.getScopeOfAuthorityUserId();
        List<Shop> shops = remoteShopService.getShopBySysUserIds(userId);
        BoardMemberTotalDto boardMemberTotalDto = new BoardMemberTotalDto();
        boardMemberTotalDto.setUserIds(userId);
        List<Shop> shops = remoteShopService.getShopBySysUserIds(boardMemberTotalDto);
        if (!shops.isEmpty()) {
            List<Long> collect = shops.stream().map(Shop::getShopId).collect(Collectors.toList());
            String join = collect.stream().map(Object::toString).collect(Collectors.joining(","));
@@ -3187,7 +3198,9 @@
        }
        //数据权限
        List<Long> userId = remoteUserService.getScopeOfAuthorityUserId();
        List<Shop> shops = remoteShopService.getShopBySysUserIds(userId);
        BoardMemberTotalDto boardMemberTotalDto = new BoardMemberTotalDto();
        boardMemberTotalDto.setUserIds(userId);
        List<Shop> shops = remoteShopService.getShopBySysUserIds(boardMemberTotalDto);
        if (!shops.isEmpty()) {
            List<Long> collect = shops.stream().map(Shop::getShopId).collect(Collectors.toList());
            String join = collect.stream().map(Object::toString).collect(Collectors.joining(","));
@@ -3360,7 +3373,9 @@
     */
    @Override
    public MgtBulletinBoardVo boardOrderTotal(List<Long> userIds) {
        List<Shop> shopList = remoteShopService.getShopBySysUserIds(userIds);
        BoardMemberTotalDto boardMemberTotalDto = new BoardMemberTotalDto();
        boardMemberTotalDto.setUserIds(userIds);
        List<Shop> shopList = remoteShopService.getShopBySysUserIds(boardMemberTotalDto);
        List<Long> collect = shopList.stream().map(Shop::getShopId).collect(Collectors.toList());
        MgtBulletinBoardVo mgtBulletinBoardVo = orderMapper.boardOrderTotal(collect);
        Integer activityUserTotal = orderMapper.activityUserTotal(collect);
@@ -3862,7 +3877,7 @@
                userIdList.add(mgtBasePlatformDto.getUserId());
            } else {
                MgtUserIdByDept mgtUserIdByDept = new MgtUserIdByDept();
                mgtUserIdByDept.setDeptId(mgtBasePlatformDto.getUserId());
                mgtUserIdByDept.setDeptId(mgtBasePlatformDto.getDeptId());
                mgtUserIdByDept = remoteConfigService.getUserIdByDept(mgtUserIdByDept).getData();
                userIdList = mgtUserIdByDept.getUserIdList();
            }
@@ -3871,14 +3886,16 @@
            }
        }
        //数据权限
        List<Long> userIdList = mgtBasePlatformDto.getUserIdList();
        List<Long> userIds = remoteUserService.getScopeOfAuthorityUserId();
        if(null != userIdList){
            userIdList.addAll(userIds);
        }else{
            userIdList = userIds;
        if(null != userIds){
            List<Long> userIdList = mgtBasePlatformDto.getUserIdList();
            if(null != userIdList){
                userIdList.addAll(userIds);
            }else{
                userIdList = userIds;
            }
            mgtBasePlatformDto.setUserIdList(userIdList);
        }
        mgtBasePlatformDto.setUserIdList(userIdList);
        List<Long> shopIdList = new ArrayList<>();
@@ -3893,8 +3910,10 @@
        MgtSimpleShopVo simpleShopVo;
        HashSet<String> set = new HashSet<>();
        // 遍历MgtMemberOrderPageVoList,获取shopId并添加到set中
        for (Long entity : shopIdList) {
            set.add(entity.toString());
        if(null != shopIdList){
            for (Long entity : shopIdList) {
                set.add(entity.toString());
            }
        }
        String joinedString = String.join(",", set);
        MgtBaseBathDto mgtBaseBathDto = new MgtBaseBathDto();
@@ -3935,10 +3954,8 @@
            if (mgtBasePlatformDto.getUserId() != null) {
                userIdList.add(mgtBasePlatformDto.getUserId());
            } else {
                MgtUserIdByDept mgtUserIdByDept = new MgtUserIdByDept();
                mgtUserIdByDept.setDeptId(mgtBasePlatformDto.getUserId());
                mgtUserIdByDept = remoteConfigService.getUserIdByDept(mgtUserIdByDept).getData();
                userIdList = mgtUserIdByDept.getUserIdList();
                List<SysUser> data = remoteUserService.getUsersByDeptId(mgtBasePlatformDto.getDeptId()).getData();
                userIdList.addAll(data.stream().map(SysUser::getUserId).collect(Collectors.toList()));
            }
            if (!userIdList.isEmpty()) {
                mgtBasePlatformDto.setUserIdList(userIdList);
@@ -3947,12 +3964,14 @@
        //数据权限
        List<Long> userIdList = mgtBasePlatformDto.getUserIdList();
        List<Long> userIds = remoteUserService.getScopeOfAuthorityUserId();
        if(null != userIdList){
            userIdList.addAll(userIds);
        }else{
            userIdList = userIds;
        if(null != userIds){
            if(null != userIdList){
                userIdList.addAll(userIds);
            }else{
                userIdList = userIds;
            }
            mgtBasePlatformDto.setUserIdList(userIdList);
        }
        mgtBasePlatformDto.setUserIdList(userIdList);
        MgtTotalOrderTotalVo mgtTotalOrderTotalVo = new MgtTotalOrderTotalVo();
@@ -3979,6 +3998,7 @@
        mgtTotalOrderTotalVo.setGoodsTypeMoneyList(Lists.newArrayList());
        mgtTotalOrderTotalVo.setGoodsRankList(Lists.newArrayList());
        mgtTotalOrderTotalVo.setOrderFromRankList(Lists.newArrayList());
        List<Long> shopIdList = remoteShopService.listShopIdByPlTotal(mgtBasePlatformDto).getData();
        if (mgtBasePlatformDto.getUserId() != null || StringUtils.isNotBlank(mgtBasePlatformDto.getShopProvinceCode()) || StringUtils.isNotBlank(mgtBasePlatformDto.getShopCityCode()) || StringUtils.isNotBlank(mgtBasePlatformDto.getShopAreaCode())) {
            if(shopIdList==null||shopIdList.isEmpty()){
@@ -4183,6 +4203,17 @@
            return totalActivityTotalVo;
        }
        //数据权限
        List<Long> userIds = remoteUserService.getScopeOfAuthorityUserId();
        if(null != userIds){
            List<Long> userIdList = mgtBasePlatformDto.getUserIdList();
            if(null == userIdList){
                userIdList = new ArrayList<>();
            }
            userIdList.addAll(userIds);
            mgtBasePlatformDto.setUserIdList(userIdList);
        }
        List<Long> shopIdList = remoteShopService.listShopIdByPlTotal(mgtBasePlatformDto).getData();
        if (StringUtils.isNotBlank(mgtBasePlatformDto.getShopProvinceCode()) || StringUtils.isNotBlank(mgtBasePlatformDto.getShopCityCode()) || StringUtils.isNotBlank(mgtBasePlatformDto.getShopAreaCode())) {
            if(shopIdList==null||shopIdList.isEmpty()){
@@ -4193,16 +4224,8 @@
            shopIdList = new ArrayList<>();
            shopIdList.add(mgtBasePlatformDto.getShopId());
        }
        //数据权限
        List<Long> userIds = remoteUserService.getScopeOfAuthorityUserId();
        List<Shop> shopList = remoteShopService.getShopBySysUserIds(userIds);
        List<Long> collect = shopList.stream().map(Shop::getShopId).collect(Collectors.toList());
        if(null != shopIdList){
            shopIdList.addAll(collect);
        }else{
            shopIdList = collect;
        }
        mgtBasePlatformDto.setShopIdList(shopIdList);
        //获取基础统计
        MgtPlTotalActivityTotalVo mgtTotalActivityTotalVo = orderMapper.getPlTotalActivityTotal(mgtBasePlatformDto);
        totalActivityTotalVo.setOrderTotal(mgtTotalActivityTotalVo.getOrderTotal());
@@ -4309,8 +4332,10 @@
        }
        HashSet<String> set = new HashSet<>();
        // 遍历MgtMemberOrderPageVoList,获取shopId并添加到set中
        for (Long shopId : mgtBasePlatformDto.getShopIdList()) {
            set.add(shopId.toString());
        if(null != mgtBasePlatformDto.getShopIdList()){
            for (Long shopId : mgtBasePlatformDto.getShopIdList()) {
                set.add(shopId.toString());
            }
        }
        // 将set中的shopId转换为逗号分隔的字符串
        String joinedString = String.join(",", set);
@@ -4411,7 +4436,9 @@
        }
        List<Long> userIds = remoteUserService.getScopeOfAuthorityUserId();
        List<Shop> shopList = remoteShopService.getShopBySysUserIds(userIds);
        BoardMemberTotalDto boardMemberTotalDto = new BoardMemberTotalDto();
        boardMemberTotalDto.setUserIds(userIds);
        List<Shop> shopList = remoteShopService.getShopBySysUserIds(boardMemberTotalDto);
        List<Long> collect = shopList.stream().map(Shop::getShopId).collect(Collectors.toList());
        if(null != shopIdList){
            shopIdList.addAll(collect);
@@ -4482,7 +4509,9 @@
        }
        //数据权限
        List<Long> userIds = remoteUserService.getScopeOfAuthorityUserId();
        List<Shop> shopList = remoteShopService.getShopBySysUserIds(userIds);
        BoardMemberTotalDto boardMemberTotalDto = new BoardMemberTotalDto();
        boardMemberTotalDto.setUserIds(userIds);
        List<Shop> shopList = remoteShopService.getShopBySysUserIds(boardMemberTotalDto);
        List<Long> collect = shopList.stream().map(Shop::getShopId).collect(Collectors.toList());
        if(null != shopIdList){
            shopIdList.addAll(collect);
@@ -4577,7 +4606,11 @@
        // 创建MerVerifyCouponVo对象
        MerVerifyCouponVo merVerifyCouponVo = new MerVerifyCouponVo();
        // 调用remoteCouponService的getVerifyCoupon方法获取MerVerifyCouponGetVo对象
        MerVerifyCouponGetVo verifyCouponGetVo = remoteCouponService.getVerifyCoupon(verifyCode).getData();
        R<MerVerifyCouponGetVo> verifyCoupon = remoteCouponService.getVerifyCoupon(Long.valueOf(verifyCode));
        if(verifyCoupon.getCode() != 200){
            throw new ServiceException(verifyCoupon.getMsg());
        }
        MerVerifyCouponGetVo verifyCouponGetVo = verifyCoupon.getData();
        MemberCoupon memberCoupon = verifyCouponGetVo.getMemberCoupon();
        // 检查优惠券状态
        int couponStatus = memberCoupon.getCouponStatus();