From 57f0ac728903401fd0123ee300eb178bb569a08e Mon Sep 17 00:00:00 2001 From: puzhibing <393733352@qq.com> Date: 星期五, 22 三月 2024 14:44:11 +0800 Subject: [PATCH] 修改bug --- ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java | 131 +++++++++++++++++++++++++++---------------- 1 files changed, 82 insertions(+), 49 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 4701689..a4e598f 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 @@ -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(); -- Gitblit v1.7.1