From 122bb1142631e31ce50716495dba420102f58f56 Mon Sep 17 00:00:00 2001 From: jiangqs <jiangqs> Date: 星期一, 31 七月 2023 20:05:05 +0800 Subject: [PATCH] bug --- ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java | 194 ++++++++++++++++++++++++++++++++++-------------- 1 files changed, 138 insertions(+), 56 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 14598a7..9d319da 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 @@ -415,8 +415,12 @@ if (activityGoodsGetVo.getActivityStatus() == 2) { throw new ServiceException(AppErrorConstant.ACTIVITY_END); } - if (activityGoodsGetVo.getAvailableBuyNum() < 1) { + Integer surpNum = redisService.getCacheObject(SecurityConstant.ACTIVITY_GOODS+"-"+activityId+"-"+goodsId); + if(surpNum==null||surpNum<1){ throw new ServiceException(AppErrorConstant.ACTIVITY_GOODS_NULL); + } + if (activityGoodsGetVo.getAvailableBuyNum() < 1) { + throw new ServiceException(AppErrorConstant.ACTIVITY_GOODS_BEYOND); } if (activityGoodsGetVo.getAvailableBuyNum() < buyNum) { throw new ServiceException(AppErrorConstant.ACTIVITY_GOODS_BEYOND); @@ -1122,6 +1126,12 @@ appUserOrderGetVo.setShopName(shop.getShopName()); appUserOrderGetVo.setAppUserOrderGoodsPageVoList(appUserOrderGoodsPageVoList); appUserOrderGetVo.setVerifyCode("1-" + orderId); + //生成自动取消订单延时任务 + Integer delayTime = 30; + if(redisService.hasKey(SecurityConstant.AUTO_CANCEL_ORDER_TIME)){ + delayTime = redisService.getCacheObject(SecurityConstant.AUTO_CANCEL_ORDER_TIME); + } + appUserOrderGetVo.setEndTime(DateUtils.addMinutes(order.getCreateTime(),delayTime)); return appUserOrderGetVo; } @@ -1274,28 +1284,57 @@ Goods goods; List<ConsumerGoods> consumerGoodsList = new ArrayList<>(); for (AppUserOrderGoodsPageVo appUserOrderGoodsPageVo : appUserOrderGoodsPageVoList) { - consumerGoods = new ConsumerGoods(); - goods = goodsMap.get(appUserOrderGoodsPageVo.getGoodsId()); - consumerGoodsId = IdUtils.simpleUUID(); - consumerGoods.setConsumerGoodsId(consumerGoodsId); - consumerGoods.setDelFlag(0); - consumerGoods.setServiceStatus(1); - consumerGoods.setShopId(order.getShopId()); - consumerGoods.setUserId(order.getUserId()); - consumerGoods.setOrderId(orderId); - consumerGoods.setOrderGoodsId(appUserOrderGoodsPageVo.getOrderGoodsId()); - consumerGoods.setGoodsId(appUserOrderGoodsPageVo.getGoodsId()); - consumerGoods.setGoodsName(appUserOrderGoodsPageVo.getGoodsName()); - consumerGoods.setCycleNumFlag(appUserOrderGoodsPageVo.getCycleNumFlag()); - consumerGoods.setServiceNum(appUserOrderGoodsPageVo.getServiceNum()); - consumerGoods.setUsedNum(0); - consumerGoods.setGoodsType(appUserOrderGoodsPageVo.getGoodsType()); - consumerGoods.setCreateTime(nowTime); - consumerGoods.setGoodsIntroduction(goods.getGoodsIntroduction()); - consumerGoods.setGoodsPicture(appUserOrderGoodsPageVo.getGoodsPicture()); - consumerGoods.setGoodsNurses(goods.getGoodsNurses()); - consumerGoods.setSourceFrom(1); - consumerGoodsList.add(consumerGoods); + Integer buyNum = appUserOrderGoodsPageVo.getBuyNum(); + if(appUserOrderGoodsPageVo.getCycleNumFlag()==0){ + consumerGoods = new ConsumerGoods(); + goods = goodsMap.get(appUserOrderGoodsPageVo.getGoodsId()); + consumerGoodsId = IdUtils.simpleUUID(); + consumerGoods.setConsumerGoodsId(consumerGoodsId); + consumerGoods.setDelFlag(0); + consumerGoods.setServiceStatus(1); + consumerGoods.setShopId(order.getShopId()); + consumerGoods.setUserId(order.getUserId()); + consumerGoods.setOrderId(orderId); + consumerGoods.setOrderGoodsId(appUserOrderGoodsPageVo.getOrderGoodsId()); + consumerGoods.setGoodsId(appUserOrderGoodsPageVo.getGoodsId()); + consumerGoods.setGoodsName(appUserOrderGoodsPageVo.getGoodsName()); + consumerGoods.setCycleNumFlag(appUserOrderGoodsPageVo.getCycleNumFlag()); + consumerGoods.setServiceNum(appUserOrderGoodsPageVo.getServiceNum()); + consumerGoods.setUsedNum(0); + consumerGoods.setGoodsType(appUserOrderGoodsPageVo.getGoodsType()); + consumerGoods.setCreateTime(nowTime); + consumerGoods.setGoodsIntroduction(goods.getGoodsIntroduction()); + consumerGoods.setGoodsPicture(appUserOrderGoodsPageVo.getGoodsPicture()); + consumerGoods.setGoodsNurses(goods.getGoodsNurses()); + consumerGoods.setSourceFrom(1); + consumerGoods.setSureNum(buyNum); + consumerGoodsList.add(consumerGoods); + }else{ + for(int i=0;i<buyNum;i++){ + consumerGoods = new ConsumerGoods(); + goods = goodsMap.get(appUserOrderGoodsPageVo.getGoodsId()); + consumerGoodsId = IdUtils.simpleUUID(); + consumerGoods.setConsumerGoodsId(consumerGoodsId); + consumerGoods.setDelFlag(0); + consumerGoods.setServiceStatus(1); + consumerGoods.setShopId(order.getShopId()); + consumerGoods.setUserId(order.getUserId()); + consumerGoods.setOrderId(orderId); + consumerGoods.setOrderGoodsId(appUserOrderGoodsPageVo.getOrderGoodsId()); + consumerGoods.setGoodsId(appUserOrderGoodsPageVo.getGoodsId()); + consumerGoods.setGoodsName(appUserOrderGoodsPageVo.getGoodsName()); + consumerGoods.setCycleNumFlag(appUserOrderGoodsPageVo.getCycleNumFlag()); + consumerGoods.setServiceNum(appUserOrderGoodsPageVo.getServiceNum()); + consumerGoods.setUsedNum(0); + consumerGoods.setGoodsType(appUserOrderGoodsPageVo.getGoodsType()); + consumerGoods.setCreateTime(nowTime); + consumerGoods.setGoodsIntroduction(goods.getGoodsIntroduction()); + consumerGoods.setGoodsPicture(appUserOrderGoodsPageVo.getGoodsPicture()); + consumerGoods.setGoodsNurses(goods.getGoodsNurses()); + consumerGoods.setSourceFrom(1); + consumerGoodsList.add(consumerGoods); + } + } } consumerGoodsService.saveBatchConsumerGoods(consumerGoodsList); //生成返回 @@ -1792,29 +1831,61 @@ List<AppUserOrderGoodsPageVo> appUserOrderGoodsPageVoList = orderGoodsService.listAppVoByOrderId(orderId); ConsumerGoods consumerGoods; String consumerGoodsId; + List<ConsumerGoods> consumerGoodsList = new ArrayList<>(); for (AppUserOrderGoodsPageVo appUserOrderGoodsPageVo : appUserOrderGoodsPageVoList) { - consumerGoods = new ConsumerGoods(); - goods = remoteGoodsService.getGoods(appUserOrderGoodsPageVo.getGoodsId()).getData(); - consumerGoodsId = IdUtils.simpleUUID(); - consumerGoods.setConsumerGoodsId(consumerGoodsId); - consumerGoods.setDelFlag(0); - consumerGoods.setServiceStatus(1); - consumerGoods.setShopId(order.getShopId()); - consumerGoods.setUserId(order.getUserId()); - consumerGoods.setOrderId(orderId); - consumerGoods.setOrderGoodsId(appUserOrderGoodsPageVo.getOrderGoodsId()); - consumerGoods.setGoodsId(appUserOrderGoodsPageVo.getGoodsId()); - consumerGoods.setGoodsName(appUserOrderGoodsPageVo.getGoodsName()); - consumerGoods.setCycleNumFlag(appUserOrderGoodsPageVo.getCycleNumFlag()); - consumerGoods.setServiceNum(appUserOrderGoodsPageVo.getServiceNum()); - consumerGoods.setUsedNum(0); - consumerGoods.setGoodsType(appUserOrderGoodsPageVo.getGoodsType()); - consumerGoods.setCreateTime(nowTime); - consumerGoods.setGoodsIntroduction(goods.getGoodsIntroduction()); - consumerGoods.setGoodsPicture(appUserOrderGoodsPageVo.getGoodsPicture()); - consumerGoods.setGoodsNurses(goods.getGoodsNurses()); - consumerGoodsService.save(consumerGoods); + Integer buyGoodsNum = appUserOrderGoodsPageVo.getBuyNum(); + if(appUserOrderGoodsPageVo.getCycleNumFlag()==0){ + consumerGoods = new ConsumerGoods(); + goods = remoteGoodsService.getGoods(appUserOrderGoodsPageVo.getGoodsId()).getData(); + consumerGoodsId = IdUtils.simpleUUID(); + consumerGoods.setConsumerGoodsId(consumerGoodsId); + consumerGoods.setDelFlag(0); + consumerGoods.setServiceStatus(1); + consumerGoods.setShopId(order.getShopId()); + consumerGoods.setUserId(order.getUserId()); + consumerGoods.setOrderId(orderId); + consumerGoods.setOrderGoodsId(appUserOrderGoodsPageVo.getOrderGoodsId()); + consumerGoods.setGoodsId(appUserOrderGoodsPageVo.getGoodsId()); + consumerGoods.setGoodsName(appUserOrderGoodsPageVo.getGoodsName()); + consumerGoods.setCycleNumFlag(appUserOrderGoodsPageVo.getCycleNumFlag()); + consumerGoods.setServiceNum(appUserOrderGoodsPageVo.getServiceNum()); + consumerGoods.setUsedNum(0); + consumerGoods.setGoodsType(appUserOrderGoodsPageVo.getGoodsType()); + consumerGoods.setCreateTime(nowTime); + consumerGoods.setGoodsIntroduction(goods.getGoodsIntroduction()); + consumerGoods.setGoodsPicture(appUserOrderGoodsPageVo.getGoodsPicture()); + consumerGoods.setGoodsNurses(goods.getGoodsNurses()); + consumerGoods.setSourceFrom(1); + consumerGoods.setSureNum(buyGoodsNum); + consumerGoodsList.add(consumerGoods); + }else{ + for(int i=0;i<buyGoodsNum;i++) { + consumerGoods = new ConsumerGoods(); + goods = remoteGoodsService.getGoods(appUserOrderGoodsPageVo.getGoodsId()).getData(); + consumerGoodsId = IdUtils.simpleUUID(); + consumerGoods.setConsumerGoodsId(consumerGoodsId); + consumerGoods.setDelFlag(0); + consumerGoods.setServiceStatus(1); + consumerGoods.setShopId(order.getShopId()); + consumerGoods.setUserId(order.getUserId()); + consumerGoods.setOrderId(orderId); + consumerGoods.setOrderGoodsId(appUserOrderGoodsPageVo.getOrderGoodsId()); + consumerGoods.setGoodsId(appUserOrderGoodsPageVo.getGoodsId()); + consumerGoods.setGoodsName(appUserOrderGoodsPageVo.getGoodsName()); + consumerGoods.setCycleNumFlag(appUserOrderGoodsPageVo.getCycleNumFlag()); + consumerGoods.setServiceNum(appUserOrderGoodsPageVo.getServiceNum()); + consumerGoods.setUsedNum(0); + consumerGoods.setGoodsType(appUserOrderGoodsPageVo.getGoodsType()); + consumerGoods.setCreateTime(nowTime); + consumerGoods.setGoodsIntroduction(goods.getGoodsIntroduction()); + consumerGoods.setGoodsPicture(appUserOrderGoodsPageVo.getGoodsPicture()); + consumerGoods.setGoodsNurses(goods.getGoodsNurses()); + consumerGoods.setSourceFrom(1); + consumerGoodsList.add(consumerGoods); + } + } } + consumerGoodsService.saveBatchConsumerGoods(consumerGoodsList); Member member = remoteMemberService.getMember(userId).getData(); if (member != null && member.getBindingFlag() != 1) { //绑定商户 @@ -3004,9 +3075,9 @@ } MerOrderDistributionTotalVo orderDistributionTotalVo = new MerOrderDistributionTotalVo(); // 获取订单年龄用户列表 - List<MerOrderAgeUserVo> orderAgeUserVoList = remoteMemberService.listOrderAgeUser(merTotalDto).getData(); + //List<MerOrderAgeUserVo> orderAgeUserVoList = remoteMemberService.listOrderAgeUser(merTotalDto).getData(); // 如果订单年龄用户列表不为空 - if (orderAgeUserVoList != null && !orderAgeUserVoList.isEmpty()) { + /*if (orderAgeUserVoList != null && !orderAgeUserVoList.isEmpty()) { // 定义变量 Integer ageType; List<Long> userIdList; @@ -3047,12 +3118,23 @@ orderTotalValue[i] = 0; orderMoneyValue[i] = BigDecimal.ZERO; } + }*/ + List<MgtMapTotalPlusVo> mgtMapTotalPlusVoList = orderMapper.listMerOrderDistributionTotal(merTotalDto); + if(mgtMapTotalPlusVoList!=null&&!mgtMapTotalPlusVoList.isEmpty()) { + String[] orderTotalKey = new String[mgtMapTotalPlusVoList.size()]; + Integer[] orderTotalValue = new Integer[mgtMapTotalPlusVoList.size()]; + BigDecimal[] orderMoneyValue = new BigDecimal[mgtMapTotalPlusVoList.size()]; + MgtMapTotalPlusVo mgtMapTotalPlusVo; + for (int i = 0; i < mgtMapTotalPlusVoList.size(); i++) { + mgtMapTotalPlusVo = mgtMapTotalPlusVoList.get(i); + orderTotalKey[i] = mgtMapTotalPlusVo.getMapKey(); + orderTotalValue[i] = mgtMapTotalPlusVo.getMapValueFirst(); + orderMoneyValue[i] = mgtMapTotalPlusVo.getMapValueSecond(); + } + orderDistributionTotalVo.setOrderTotalKey(orderTotalKey); + orderDistributionTotalVo.setOrderTotalValue(orderTotalValue); + orderDistributionTotalVo.setOrderMoneyValue(orderMoneyValue); } - // 设置订单分布总数对象的属性值 - orderDistributionTotalVo.setOrderTotalKey(orderTotalKey); - orderDistributionTotalVo.setOrderTotalValue(orderTotalValue); - orderDistributionTotalVo.setOrderMoneyValue(orderMoneyValue); - } // 返回订单分布总数对象 return orderDistributionTotalVo; } @@ -3157,11 +3239,11 @@ } /** - * @param merBaseDto - * @return MerTotalOrderVo - * @description 商户端订单管理统计 - * @author jqs - * @date 2023/7/4 16:27 + * @description 商户端订单管理统计 + * @author jqs + * @date 2023/7/31 10:53 + * @param merOrderPageDto + * @return MerTotalOrderVo */ @Override public MerTotalOrderVo totalMerOrder(MerOrderPageDto merOrderPageDto) { -- Gitblit v1.7.1