From a5c5fc7c86c37519dbe42b148b47ebfc00f89ca9 Mon Sep 17 00:00:00 2001 From: huliguo <2023611923@qq.com> Date: 星期三, 09 七月 2025 10:56:42 +0800 Subject: [PATCH] bug修改 --- ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java | 134 ++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 121 insertions(+), 13 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 41499eb..ee04d7b 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 @@ -72,7 +72,6 @@ import com.ruoyi.system.api.model.QwH5LoginVo; import com.ruoyi.system.api.model.QwUserDetailDto; import com.ruoyi.system.api.service.*; -import io.seata.spring.annotation.GlobalTransactional; import lombok.extern.log4j.Log4j2; import org.redisson.api.RLock; import org.redisson.api.RedissonClient; @@ -510,8 +509,8 @@ * @return */ @Override - @Transactional - @GlobalTransactional(rollbackFor = Exception.class) + @Transactional // todo 放开分布式事务注解 +// @GlobalTransactional(rollbackFor = Exception.class) public AppPlaceOrderVo placeOrder(AppPlaceOrderDto appPlaceOrderDto) { // 获取用户ID Long userId = appPlaceOrderDto.getUserId(); @@ -1039,7 +1038,7 @@ */ @Override @Transactional - @GlobalTransactional(rollbackFor = Exception.class) +// @GlobalTransactional(rollbackFor = Exception.class) todo 放开分布式事务注解 public AppPlaceOrderVo placeActivityOrder(AppPlaceActivityDto appPlaceActivityDto) { Long userId = appPlaceActivityDto.getUserId(); Member member = remoteMemberService.getMember(userId).getData(); @@ -1887,7 +1886,7 @@ */ @Override @Transactional - @GlobalTransactional(rollbackFor = Exception.class) +// @GlobalTransactional(rollbackFor = Exception.class) todo 放开分布式事务注解 public MerVerifyOrderVo sureVerifyOrder(MerVerifyOrderDto merVerifyOrderDto) { String orderId = merVerifyOrderDto.getOrderId(); BigDecimal relReceiveMoney = merVerifyOrderDto.getRelReceiveMoney(); @@ -2129,7 +2128,7 @@ */ @Override @Transactional - @GlobalTransactional(rollbackFor = Exception.class) +// @GlobalTransactional(rollbackFor = Exception.class) todo 放开分布式事务注解 public MerVerifyOrderVo sureVerifyOrderDouYin(MerVerifyOrderDto merVerifyOrderDto) { String phone = merVerifyOrderDto.getPhone(); String orderId = merVerifyOrderDto.getOrderId(); @@ -2550,7 +2549,7 @@ */ @Override @Transactional - @GlobalTransactional(rollbackFor = Exception.class) +// @GlobalTransactional(rollbackFor = Exception.class) todo 放开分布式事务注解 public MerVerifyCouponVo sureVerifyCoupon(MerVerifyCouponDto merVerifyCouponDto) { R<MerVerifyCouponGetVo> verifyCoupon = remoteCouponService.getVerifyCoupon(merVerifyCouponDto.getMemberCouponId()); if(verifyCoupon.getCode() != 200){ @@ -2690,7 +2689,7 @@ */ @Override @Transactional - @GlobalTransactional(rollbackFor = Exception.class) +// @GlobalTransactional(rollbackFor = Exception.class) todo 放开分布式事务注解 public MerVerifyAwardVo sureVerifyPrize(MerVerifyPrizeDto merVerifyPrizeDto) { MerVerifyAwardVo merVerifyAwardVo = new MerVerifyAwardVo(); MemberGiftRecord memberGiftRecord = remoteMemberService.getVerifyPrize(merVerifyPrizeDto.getPrizeId()).getData(); @@ -2929,7 +2928,7 @@ */ @Override @Transactional - @GlobalTransactional(rollbackFor = Exception.class) +// @GlobalTransactional(rollbackFor = Exception.class) todo 放开分布式事务注解 public void createNewOrder(MerNewOrderDto merNewOrderDto) { Long userId = merNewOrderDto.getBuyUserId(); Date nowTime = new Date(); @@ -5563,7 +5562,7 @@ */ @Override @Transactional - @GlobalTransactional(rollbackFor = Exception.class) +// @GlobalTransactional(rollbackFor = Exception.class) todo 放开分布式事务注解 public void autoCancelOrder(String orderId) { //更新订单信息 Order order = this.getById(orderId); @@ -5633,7 +5632,7 @@ */ @Override @Transactional - @GlobalTransactional(rollbackFor = Exception.class) +// @GlobalTransactional(rollbackFor = Exception.class) todo 放开分布式事务注解 public void payBack(PartnerTransactionsResult transaction, BigDecimal feeAmount) { log.info("订单支付回调---"+transaction.toString()); // 更新订单状态 outTradeNo @@ -5779,7 +5778,7 @@ */ @Override @Transactional - @GlobalTransactional(rollbackFor = Exception.class) +// @GlobalTransactional(rollbackFor = Exception.class) todo 放开分布式事务注解 public void refundOrder(String orderId) { // 更新订单信息 Order order = this.getById(orderId); @@ -6523,7 +6522,7 @@ } } - @GlobalTransactional(rollbackFor = Exception.class) +// @GlobalTransactional(rollbackFor = Exception.class) todo 放开分布式事务注解 private void autoTimeCancelOrder(Order order) { String orderId = order.getOrderId(); order.setOrderStatus(0); @@ -6777,4 +6776,113 @@ return R.ok(); } + + @Override + public List<MgtThirdOrderPageVo> pageMgtThirdOrder(Page<MgtThirdOrderPageVo> page, MgtThirdOrderPageDto dto) { + //如果区域代码不为null获取对应的商户id + if (StringUtils.isNotBlank(dto.getKeyword()) || StringUtils.isNotBlank(dto.getShopProvinceCode()) || StringUtils.isNotBlank(dto.getShopCityCode()) || StringUtils.isNotBlank(dto.getShopAreaCode())) { + MgtShopIdByCodeDto mgtShopIdByCodeDto = new MgtShopIdByCodeDto(); + mgtShopIdByCodeDto.setShopProvinceCode(dto.getShopProvinceCode()); + mgtShopIdByCodeDto.setShopCityCode(dto.getShopCityCode()); + mgtShopIdByCodeDto.setShopAreaCode(dto.getShopAreaCode()); + MgtShopIdByCodeVo mgtShopIdByCodeVo = remoteShopService.getShopIdByCode(mgtShopIdByCodeDto).getData(); + if (StringUtils.isNotBlank(mgtShopIdByCodeVo.getShopIds())) { + dto.setShopIds(mgtShopIdByCodeVo.getShopIds()); + } + } + //如果关键词不为null获取对应的用户id + if (StringUtils.isNotBlank(dto.getKeyword())) { + MgtUserIdByKeywordDto mgtUserIdByKeywordDto = new MgtUserIdByKeywordDto(); + mgtUserIdByKeywordDto.setKeyword(dto.getKeyword()); + MgtUserIdByKeywordVo mgtUserIdByKeywordVo = remoteMemberService.getUserIdByKeyword(mgtUserIdByKeywordDto).getData(); + if (StringUtils.isNotBlank(mgtUserIdByKeywordVo.getUserIds())) { + dto.setUserIds(mgtUserIdByKeywordVo.getUserIds()); + } + } + //数据权限 + List<Long> userId = remoteUserService.getScopeOfAuthorityUserId(); + 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(",")); + String shopIds = dto.getShopIds(); + if(StringUtils.isNotEmpty(shopIds)){ + shopIds = shopIds + "," + join; + }else{ + shopIds = join; + } + dto.setShopIds(shopIds); + } + + // 从数据库中获取第三方订单列表 + List<MgtThirdOrderPageVo> thirdOrderPageVoList = orderMapper.pageMgtThirdOrder(page, dto); + // 如果列表不为空 + if (!thirdOrderPageVoList.isEmpty()) { + // 定义变量 + HashSet<Long> shopIdSet = new HashSet<>(); + BigDecimal zeroBig = new BigDecimal("0.00"); + // 遍历列表,获取店铺 ID 和用户 ID + for (MgtThirdOrderPageVo mgtActivityOrderPageVo : thirdOrderPageVoList) { + if(mgtActivityOrderPageVo.getShopId()!=null){ + shopIdSet.add(mgtActivityOrderPageVo.getShopId()); + } + } + // 将店铺 ID 和用户 ID 转换为逗号分隔的字符串 + String shopJoinedString = String.join(",", shopIdSet.stream().map(Object::toString).collect(Collectors.toList())); + // 从远程服务获取店铺和用户信息 + MgtBaseBathDto mgtBaseBathDto = new MgtBaseBathDto(); + mgtBaseBathDto.setIds(shopJoinedString); + List<MgtSimpleShopVo> simpleShopVoList = remoteShopService.listShopSimpleVoByIds(mgtBaseBathDto).getData(); + Map<Long, MgtSimpleShopVo> shopMap = simpleShopVoList.stream() + .collect(Collectors.toMap(MgtSimpleShopVo::getShopId, Function.identity())); + mgtBaseBathDto = new MgtBaseBathDto(); + // 遍历列表,设置店铺名称 + for (MgtThirdOrderPageVo mgtActivityOrderPageVo : thirdOrderPageVoList) { + if(mgtActivityOrderPageVo.getShopId()!=null){ + MgtSimpleShopVo mgtSimpleShopVo = shopMap.get(mgtActivityOrderPageVo.getShopId()); + mgtActivityOrderPageVo.setShopName(null == mgtSimpleShopVo ? "" : mgtSimpleShopVo.getShopName()); + } + } + } + + return thirdOrderPageVoList; + + } + + @Override + public MgtPlTotalThirdOrderStaticsVO getPlTotalThirdOrderStatics(MgtBasePlatformDto mgtBasePlatformDto) { + MgtPlTotalThirdOrderStaticsVO vo = new MgtPlTotalThirdOrderStaticsVO(); + //数据权限 + List<Long> userIdList = mgtBasePlatformDto.getUserIdList(); + List<Long> userIds = remoteUserService.getScopeOfAuthorityUserId(); + if(null != userIds){ + if(null != userIdList){ + userIdList.addAll(userIds); + }else{ + userIdList = userIds; + } + mgtBasePlatformDto.setUserIdList(userIdList); + } + 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()){ + return vo; + } + } + if(mgtBasePlatformDto.getShopId()!=null){ + shopIdList = new ArrayList<>(); + shopIdList.add(mgtBasePlatformDto.getShopId()); + } + mgtBasePlatformDto.setShopIdList(shopIdList); + // 从数据库中获取第三方订单统计 + vo = orderMapper.getPlTotalThirdOrderStatics(mgtBasePlatformDto); + return vo; + } + + @Override + public StaticsShopMgtGoodsVO getGoodsSellStatic(List<String> goodsIdList) { + return orderGoodsService.getGoodsSellStatic(goodsIdList); + } } -- Gitblit v1.7.1