From 533558ecfbb188f43cbb151e5245abff1b1aa818 Mon Sep 17 00:00:00 2001 From: luodangjia <luodangjia> Date: 星期日, 12 五月 2024 13:57:01 +0800 Subject: [PATCH] 1 --- rest/src/main/java/cn/stylefeng/rest/modular/user/controller/CounsellingInfoController.java | 19 +++++++++++-------- 1 files changed, 11 insertions(+), 8 deletions(-) diff --git a/rest/src/main/java/cn/stylefeng/rest/modular/user/controller/CounsellingInfoController.java b/rest/src/main/java/cn/stylefeng/rest/modular/user/controller/CounsellingInfoController.java index 926eb8b..7366928 100644 --- a/rest/src/main/java/cn/stylefeng/rest/modular/user/controller/CounsellingInfoController.java +++ b/rest/src/main/java/cn/stylefeng/rest/modular/user/controller/CounsellingInfoController.java @@ -308,7 +308,8 @@ List<Customer> customerList = this.customerService.list(new LambdaQueryWrapper<Customer>().select(Customer::getCustomerId,Customer::getNickName).in(Customer::getCustomerId,custommerIds)); //查询套餐最低价 List<Map<String,Object>> lowMapList = this.counsellingSetMealService.listMaps(new QueryWrapper<CounsellingSetMeal>().select(" counselling_info_id counsellingInfoId,IFNULL(min(price),0) price ").lambda().in(CounsellingSetMeal::getCounsellingInfoId,counseIds) - .eq(CounsellingSetMeal::getSetMealType,1).eq(CounsellingSetMeal::getIsDelete,0)); + .eq(CounsellingSetMeal::getSetMealType,1).eq(CounsellingSetMeal::getIsDelete,0) + .groupBy(CounsellingSetMeal::getCounsellingInfoId)); List<CounsellinginfoResponseDTO> counsellinginfoResponseDTOS = BeanUtil.copyToList(page.getRecords(),CounsellinginfoResponseDTO.class, CopyOptions.create()); counsellinginfoResponseDTOS.stream().forEach(counsellinginfoResponseDTO -> { @@ -335,7 +336,7 @@ if (CollectionUtil.isNotEmpty(lowMapList)){ lowMapList.stream().forEach(stringObjectMap -> { - if (stringObjectMap.get("counsellingInfoId") != null){ + if (stringObjectMap.get("counsellingInfoId") != null && stringObjectMap.get("counsellingInfoId").toString().equals(counsellinginfoResponseDTO.getId().toString()) ){ counsellinginfoResponseDTO.setLowPrice(new BigDecimal(stringObjectMap.get("price").toString())); } }); @@ -624,10 +625,12 @@ if (counsellingOrder == null){ throw new ServiceException("没有在咨询的订单,无法进行预约!"); } - RLock lock = redissonClient.getLock("counsel:" + counsellingReservationRequest.getCounsellingId()+"_"+counsellingReservationRequest.getDayTime()+"_"+counsellingReservationRequest.getTimePoint()); + String key = "counsel:" + counsellingReservationRequest.getCounsellingId()+"_"+counsellingReservationRequest.getDayTime()+"_"+counsellingReservationRequest.getTimePoint(); + RLock lock = redissonClient.getLock(key); boolean tryLock = false; try { - tryLock = lock.tryLock(10, TimeUnit.SECONDS); + log.info("咨询key:"+key+",userId:"+counsellingOrder.getUserId()); + tryLock = lock.tryLock(20, TimeUnit.SECONDS); if (!tryLock) { throw new ServiceException("当前时间段已预约,请选择其他时间段!"); } @@ -708,8 +711,8 @@ // 发送IM消息 ImPushDataDTO pushData1 = ImPushDataDTO.builder() - .type(ImPushTypeEnum.C_TO_W_IM_1V1_START_CONSULT.getCode()) - .title(ImPushTypeEnum.C_TO_W_IM_1V1_START_CONSULT.getName()) + .type(ImPushTypeEnum.C_TO_W_IM_1V1_START_CONSULT_FIRST.getCode()) + .title(ImPushTypeEnum.C_TO_W_IM_1V1_START_CONSULT_FIRST.getName()) .content("预约成功"+",请注意预约时间:"+counsellingReservationRequest.getDayTime()+counsellingReservationRequest.getTimePoint()) // .content("预约成功!") .objId(ObjUtil.toString(counsellingInfo.getId())) @@ -796,7 +799,7 @@ return new SuccessResponseData<>(counsellingOrderReservation); }catch (Exception ex){ log.error("咨询预约服务异常",ex.getStackTrace()); - throw new ServiceException("服务异常,请稍后再试"); + throw new ServiceException("当前时间段已在进行预约,请稍后再试!"); }finally { if(tryLock){ lock.unlock(); @@ -811,7 +814,7 @@ public ResponseData<CounsellingOrderResponseDTO> getCounsellingOrderInfoById(Long counsellingOrderId){ CounsellingOrder counsellingOrder = this.counsellingOrderService.getById(counsellingOrderId); CounsellingOrderResponseDTO counsellingOrderResponseDTO = BeanUtil.copyProperties(counsellingOrder,CounsellingOrderResponseDTO.class); - CounsellingInfo counsellingInfo = this.counsellingInfoService.getById(counsellingOrderResponseDTO.getCounsellingInfoId()); + CounsellingInfo counsellingInfo = this.counsellingInfoService.getById(counsellingOrder.getCounsellingInfoId()); Customer customer = this.customerService.getById(counsellingInfo.getUserId()); counsellingOrderResponseDTO.setCounsellingName(customer.getNickName()); return new SuccessResponseData<>(counsellingOrderResponseDTO); -- Gitblit v1.7.1