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