From dbff53150cdc807faa56c0d1a947d24b69f372b9 Mon Sep 17 00:00:00 2001 From: jiangqs <jiangqs> Date: 星期四, 31 八月 2023 18:43:20 +0800 Subject: [PATCH] bug --- ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java | 84 +++++++++++++++++++++++++++++++----------- 1 files changed, 62 insertions(+), 22 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 e59af1b..5b5d2cd 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 @@ -813,7 +813,8 @@ * @param payerClientIp * @param goodsNameList */ - public void createWxPayInfo(AppPlaceOrderVo appPlaceOrderVo, Long userId, Long shopId, + + private void createWxPayInfo(AppPlaceOrderVo appPlaceOrderVo, Long userId, Long shopId, String goodsName, String outTradeNo, String orderId, BigDecimal payMoney, String openid, String payerClientIp, List<String> goodsNameList,Integer orderFrom){ @@ -1226,14 +1227,20 @@ List<AppUserOrderPageVo> appUserOrderPageVoList = orderMapper.pageUserOrder(page, appUserOrderPageDto); if (appUserOrderPageVoList != null && !appUserOrderPageVoList.isEmpty()) { Long shopId; + String activityId; Shop shop; - HashSet<Long> set = new HashSet<Long>(); + HashSet<Long> shopSet = new HashSet<Long>(); + HashSet<String> activitySet = new HashSet<String>(); for (AppUserOrderPageVo appUserOrderPageVo : appUserOrderPageVoList) { shopId = appUserOrderPageVo.getShopId(); - set.add(shopId); + shopSet.add(shopId); + if(appUserOrderPageVo.getOrderFrom()==2){ + activityId = appUserOrderPageVo.getActivityId(); + activitySet.add(activityId); + } } Map<Long, Shop> shopMap = new HashMap<>(); - set.forEach(shopIdLong -> { + shopSet.forEach(shopIdLong -> { Shop shopTemp = remoteShopService.getShop(shopIdLong).getData(); shopMap.put(shopIdLong, shopTemp); }); @@ -1625,7 +1632,10 @@ payRecord.setPayType(merVerifyOrderDto.getPayType()); payRecordService.save(payRecord); } - + //更新用户消费统计 + MemberTotalChangeDto memberTotalChangeDto = new MemberTotalChangeDto(); + memberTotalChangeDto.setConsumeTime(nowTime); + remoteMemberService.changeMemberTotal(memberTotalChangeDto); return merVerifyOrderVo; } @@ -2308,7 +2318,10 @@ if (StringUtils.isNotBlank(memberCouponSJ.toString())) { remoteCouponService.useMemberCoupon(memberCouponSJ.toString()); } - + //更新会员消费记录 + MemberTotalChangeDto memberTotalChangeDto = new MemberTotalChangeDto(); + memberTotalChangeDto.setConsumeTime(nowTime); + remoteMemberService.changeMemberTotal(memberTotalChangeDto); //更新商户统计 /*ShopTotalChangeDto shopTotalChangeDto = new ShopTotalChangeDto(); shopTotalChangeDto.setShopId(order.getShopId()); @@ -2369,7 +2382,7 @@ if (orderFrom == 1) { orderFromDesc = "商城订单"; } else if (orderFrom == 2) { - orderFromDesc = "店铺砍价活动(" + merOrderPageVo.getActivityName() + ")"; + orderFromDesc = "平台秒杀活动(" + merOrderPageVo.getActivityName() + ")"; } else { orderFromDesc = "线下创建"; } @@ -3447,9 +3460,11 @@ } //订单分布 //日期全部时固定为5天 + Boolean fillZero = false; if(StringUtils.isBlank(mgtBasePlatformDto.getStartDate())){ mgtBasePlatformDto.setEndDate(DateUtils.getDate()); mgtBasePlatformDto.setStartDate(DateUtils.parseDateToStr("yyyy-MM-dd",DateUtils.addDays(new Date(),-4))); + fillZero = true; } List<MgtMapTotalPlusVo> MgtMapIntTotalVos = orderMapper.listPlTotalOrderTotal(mgtBasePlatformDto); if (MgtMapIntTotalVos != null && MgtMapIntTotalVos.size() > 0) { @@ -3461,10 +3476,17 @@ orderTotalValue[i] = MgtMapIntTotalVos.get(i).getMapValueFirst(); orderMoneyValue[i] = MgtMapIntTotalVos.get(i).getMapValueSecond(); } - MerOrderDistributionTotalVo merOrderDistributionTotalVo = fillOrderTotalKeyAndValuesToRecentFiveDays(orderTotalKey,orderTotalValue,orderMoneyValue); - mgtTotalOrderTotalVo.setOrderTotalKey(merOrderDistributionTotalVo.getOrderTotalKey()); - mgtTotalOrderTotalVo.setOrderTotalValue(merOrderDistributionTotalVo.getOrderTotalValue()); - mgtTotalOrderTotalVo.setOrderMoneyValue(merOrderDistributionTotalVo.getOrderMoneyValue()); + if(fillZero){ + MerOrderDistributionTotalVo merOrderDistributionTotalVo = fillOrderTotalKeyAndValuesToRecentFiveDays(orderTotalKey,orderTotalValue,orderMoneyValue); + mgtTotalOrderTotalVo.setOrderTotalKey(merOrderDistributionTotalVo.getOrderTotalKey()); + mgtTotalOrderTotalVo.setOrderTotalValue(merOrderDistributionTotalVo.getOrderTotalValue()); + mgtTotalOrderTotalVo.setOrderMoneyValue(merOrderDistributionTotalVo.getOrderMoneyValue()); + }else{ + mgtTotalOrderTotalVo.setOrderTotalKey(orderTotalKey); + mgtTotalOrderTotalVo.setOrderTotalValue(orderTotalValue); + mgtTotalOrderTotalVo.setOrderMoneyValue(orderMoneyValue); + } + } return mgtTotalOrderTotalVo; } @@ -3497,6 +3519,10 @@ } }*/ List<Long> shopIdList = remoteShopService.listShopIdByPlTotal(mgtBasePlatformDto).getData(); + if(mgtBasePlatformDto.getShopId()!=null){ + shopIdList = new ArrayList<>(); + shopIdList.add(mgtBasePlatformDto.getShopId()); + } mgtBasePlatformDto.setShopIdList(shopIdList); //获取基础统计 MgtPlTotalActivityTotalVo totalActivityTotalVo = orderMapper.getPlTotalActivityTotal(mgtBasePlatformDto); @@ -3552,6 +3578,8 @@ mgtMapBigTotalVo.setMapKey("单品"); noGoods = false; } + goodsTypeTotalList.add(mgtMapIntTotalVo); + goodsTypeMoneyList.add(mgtMapBigTotalVo); } //补充缺少类型 if(noCycle){ @@ -4091,6 +4119,7 @@ */ @Override public MerOrderDistributionTotalVo MerOrderDistributionTotalVo(MerTotalDto merTotalDto) { + //获取查询的商户列表 if (merTotalDto.getShopAllFlag() != null && merTotalDto.getShopAllFlag() == 1) { List<Long> shopIdList = remoteShopService.listShopIdByShopId(merTotalDto.getShopId()).getData(); merTotalDto.setShopIdList(shopIdList); @@ -4149,6 +4178,7 @@ String[] orderTotalKey = new String[mgtMapTotalPlusVoList.size()]; Integer[] orderTotalValue = new Integer[mgtMapTotalPlusVoList.size()]; BigDecimal[] orderMoneyValue = new BigDecimal[mgtMapTotalPlusVoList.size()]; + //数据为空返回空数组 if (mgtMapTotalPlusVoList != null && !mgtMapTotalPlusVoList.isEmpty()) { MgtMapTotalPlusVo mgtMapTotalPlusVo; for (int i = 0; i < mgtMapTotalPlusVoList.size(); i++) { @@ -4157,6 +4187,7 @@ orderTotalValue[i] = mgtMapTotalPlusVo.getMapValueFirst(); orderMoneyValue[i] = mgtMapTotalPlusVo.getMapValueSecond(); } + //补充日期到近5日 orderDistributionTotalVo = fillOrderTotalKeyAndValuesToRecentFiveDays(orderTotalKey,orderTotalValue,orderMoneyValue); }else{ orderDistributionTotalVo.setOrderTotalKey(orderTotalKey); @@ -4546,6 +4577,8 @@ Integer bugGoodsNum = orderMapper.countUserBuyGoodsNum(order.getUserId(), orderGoods.getGoodsId()); if (bugGoodsNum == null || bugGoodsNum < 1) { goodsTotalChangeDto.setPersonNum(1); + }else{ + goodsTotalChangeDto.setPersonNum(0); } goodsTotalChangeDtoList.add(goodsTotalChangeDto); } @@ -4683,6 +4716,9 @@ Boolean haveService = false; Boolean haveExperience = false; Boolean haveGoods = false; + //商品统计回退 + List<GoodsTotalChangeDto> goodsTotalChangeDtoList = new ArrayList<>(); + GoodsTotalChangeDto goodsTotalChangeDto; List<OrderGoods> orderGoodsList = orderGoodsService.listByOrderId(orderId); if (orderGoodsList != null && !orderGoodsList.isEmpty()) { StringJoiner memberCouponSJ = new StringJoiner(","); @@ -4718,6 +4754,7 @@ } else { memberCouponSJ.add(orderGoods.getCouponId()); } + //会员统计更新 switch (orderGoods.getGoodsType()) { case 1: cycleMoney = cycleMoney.add(orderGoods.getGoodsReceivableMoney()); @@ -4738,7 +4775,21 @@ default: break; } + //商品统计更新 + goodsTotalChangeDto = new GoodsTotalChangeDto(); + goodsTotalChangeDto.setGoodsId(orderGoods.getGoodsId()); + goodsTotalChangeDto.setChangeType(2); + goodsTotalChangeDto.setChangeNum(orderGoods.getBuyNum()); + goodsTotalChangeDto.setMoney(orderGoods.getGoodsReceivableMoney()); + Integer bugGoodsNum = orderMapper.countUserBuyGoodsNum(order.getUserId(), orderGoods.getGoodsId()); + if (bugGoodsNum == null || bugGoodsNum <= orderGoods.getBuyNum()) { + goodsTotalChangeDto.setPersonNum(1); + }else{ + goodsTotalChangeDto.setPersonNum(0); + } + goodsTotalChangeDtoList.add(goodsTotalChangeDto); } + remoteGoodsService.changeGoodsTotal(goodsTotalChangeDtoList); //回退优惠券 if (memberCouponSJ != null) { remoteCouponService.backMemberCoupon(memberCouponSJ.toString()); @@ -5424,17 +5475,6 @@ for (MerOrderPageVo merOrderPageVo : merOrderPageVoList) { userId = merOrderPageVo.getUserId(); userIdSj.add(userId.toString()); - orderFrom = merOrderPageVo.getOrderFrom(); - if (orderFrom != null) { - if (orderFrom == 1) { - orderFromDesc = "商城订单"; - } else { - orderFromDesc = "线下创建"; - } - } else { - orderFromDesc = "商城订单"; - } - merOrderPageVo.setOrderFromDesc(orderFromDesc); if(merOrderPageVo.getUnPaidMoney().compareTo(zeroBig)<0){ merOrderPageVo.setUnPaidMoney(zeroBig); } -- Gitblit v1.7.1