From 20943c22ea68ef1dc4be8dd0e6721c7336ca3400 Mon Sep 17 00:00:00 2001 From: yanghb <yanghb> Date: 星期四, 11 四月 2024 16:09:16 +0800 Subject: [PATCH] 4.9 --- rest/src/main/java/cn/stylefeng/rest/modular/user/controller/CounsellingInfoController.java | 64 +++++++++++++++++---- rest/src/main/java/cn/stylefeng/rest/modular/work/OrderOutTimeCancelWork.java | 2 common-buiness/src/main/java/cn/stylefeng/guns/modular/business/service/impl/CounsellingOrderServiceImpl.java | 57 ++++++++++++++++++ rest/src/main/java/cn/stylefeng/rest/modular/work/MentalAppointmentWork.java | 5 + rest/src/main/java/cn/stylefeng/rest/modular/worker/controller/MentalAnalysisTimeConfigController.java | 1 5 files changed, 112 insertions(+), 17 deletions(-) diff --git a/common-buiness/src/main/java/cn/stylefeng/guns/modular/business/service/impl/CounsellingOrderServiceImpl.java b/common-buiness/src/main/java/cn/stylefeng/guns/modular/business/service/impl/CounsellingOrderServiceImpl.java index 1e08628..af8a114 100644 --- a/common-buiness/src/main/java/cn/stylefeng/guns/modular/business/service/impl/CounsellingOrderServiceImpl.java +++ b/common-buiness/src/main/java/cn/stylefeng/guns/modular/business/service/impl/CounsellingOrderServiceImpl.java @@ -16,6 +16,7 @@ import cn.stylefeng.guns.modular.business.service.*; import cn.stylefeng.guns.utils.GeneralUtil; import cn.stylefeng.roses.kernel.auth.api.context.LoginContext; +import cn.stylefeng.roses.kernel.customer.api.pojo.CustomerInfo; import cn.stylefeng.roses.kernel.customer.modular.entity.Customer; import cn.stylefeng.roses.kernel.customer.modular.service.CustomerService; import cn.stylefeng.roses.kernel.rule.enums.*; @@ -64,7 +65,8 @@ private ICounsellingUserService counsellingUserService; @Resource private IAreaService areaService; - + @Resource + IMentalAppointmentService mentalAppointmentService; @Override public Page<CounsellingOrderResponseDTO> findCounsellingOrderPage(Page<CounsellingOrderRequest> page, CounsellingOrderRequest counsellingOrderRequest) { @@ -154,6 +156,39 @@ counsellingOrder.setUserInfoJson(JSONUtil.toJsonStr(customerUpdateRequest)); } + + // 发送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()) + .content("预约成功"+",请注意预约时间:"+counsellingOrder.getEffectiveEndTime()+"~"+counsellingOrder.getEffectiveEndTime()) +// .content("预约成功!") + .objId(ObjUtil.toString(counsellingInfo.getId())) + .data1(ObjUtil.toString(counsellingOrder.getUserId())) + .data2(ObjUtil.toString(counsellingInfo.getUserId())) + .build(); + imBizService.messageSendPrivate( + ObjUtil.toString(counsellingOrder.getUserId()), + new String[]{ObjUtil.toString(counsellingInfo.getUserId())}, + pushData1 + + + ); + + //将此条消息加入到可聊天的表中t_mental_appointment + MentalAppointment mentalAppointment = MentalAppointment.builder() + .userId(counsellingOrder.getUserId()) + .appointmentDay(counsellingOrderRequest.getFirstAppointmentDate()) + .beginTimePoint(counsellingOrderRequest.getFirstAppointmentTimes().split("-")[0]) + .endTimePoint(counsellingOrderRequest.getFirstAppointmentTimes().split("-")[1]) + .workerId(counsellingInfo.getUserId()) + .build(); + // 用户信息 + CustomerInfo customerInfo = customerService.getCustomerInfoById(counsellingOrder.getUserId()); + mentalAppointment.setUserName(customerInfo.getRealName()); + mentalAppointment.setPhone(customerInfo.getLinkPhone()); + mentalAppointmentService.save(mentalAppointment); + } if (counsellingUserOld != null && counsellingUserOld.getConsultantUserId() != null){ counsellingOrder.setConsultantUserId(counsellingUserOld.getConsultantUserId()); @@ -179,6 +214,26 @@ } } +// iImGroupService.createGroup(2,null,null,counsellingInfo.getUserId(),null,null,counsellingOrder.getUserId(),counsellingOrder.getCounsellingInfoId()); + + + + + + + // 推送消息内容 + String pushContent = "你有新的预约,请注意查收。预约用户:"+customerOld.getNickName(); +// +"预约时间:"+counsellingOrder.getEffectiveEndTime()+"~"+counsellingOrder.getEffectiveEndTime(); + // IM推送数据json + ImPushDataDTO pushData = ImPushDataDTO.builder() + .type(ImPushTypeEnum.S_TO_W_TIP_CONSULT_PAY_GROUP_SUCCESS.getCode()) + .objId(ObjUtil.toString(counsellingInfo.getUserId())) + .title("通知") + .content(pushContent) +// .extra("去查看。") + .build(); + // 发送预约提示 + imBizService.messageSendSystem(counsellingOrder.getUserId()+"", new String[]{counsellingInfo.getUserId()+""}, pushData, ImUserTypeEnum.WORKER, PostIdEnum.PO_22, true); }else if (counsellingOrderRequest.getOrderType().intValue() ==2){ //获取下单人个人信息 Customer customerUser = this.customerService.getById(counsellingOrderRequest.getUserId()); 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 4995c54..e07c9c7 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 @@ -25,6 +25,7 @@ import cn.stylefeng.rest.ijpay.controller.AliPayController; import cn.stylefeng.rest.ijpay.controller.WxPayController; import cn.stylefeng.roses.kernel.auth.api.context.LoginContext; +import cn.stylefeng.roses.kernel.customer.api.pojo.CustomerInfo; import cn.stylefeng.roses.kernel.customer.modular.entity.Customer; import cn.stylefeng.roses.kernel.customer.modular.service.CustomerService; import cn.stylefeng.roses.kernel.db.api.factory.PageFactory; @@ -56,6 +57,8 @@ import javax.annotation.Resource; import java.math.BigDecimal; +import java.text.ParseException; +import java.text.SimpleDateFormat; import java.util.*; import java.util.concurrent.atomic.AtomicLong; import java.util.stream.Collectors; @@ -115,6 +118,8 @@ @Resource private AliPayController aliPayController; + @Resource + private IMentalAppointmentService mentalAppointmentService; @Value("${refund.alipay-url}") private String refundAlipayUrl; @@ -481,9 +486,10 @@ } + @ApiOperation("咨询订单预约") @PostResource(name = "咨询订单预约", path = "/counsellingOrderReservation/saveCounsellingOrderReservation") - public ResponseData<CounsellingOrderReservation> saveCounsellingOrderReservation(@RequestBody CounsellingReservationRequest counsellingReservationRequest){ + public ResponseData<CounsellingOrderReservation> saveCounsellingOrderReservation(@RequestBody CounsellingReservationRequest counsellingReservationRequest) throws ParseException { //查询咨询师当天是否取消预约 CounsellingSpecialTimeConfig specialTimeConfig = this.counsellingSpecialTimeConfigService.getOne(new LambdaQueryWrapper<CounsellingSpecialTimeConfig>().eq(CounsellingSpecialTimeConfig::getCounsellingInfoId,counsellingReservationRequest.getCounsellingId()) .eq(CounsellingSpecialTimeConfig::getSpecialDay,counsellingReservationRequest.getDayTime()).eq(CounsellingSpecialTimeConfig::getIsCancelDay,1)); @@ -576,18 +582,50 @@ this.counsellingOrderService.updateById(counsellingOrder); this.counsellingUserService.updateById(counsellingUserOld); - // 推送消息内容 - String pushContent = "你的预约("+DateUtil.formatDate(counsellingOrder.getFirstAppointmentDate())+" "+counsellingOrder.getFirstAppointmentTimes()+")已确认,请按时参加"; - // IM推送数据json - ImPushDataDTO pushData = ImPushDataDTO.builder() - .type(ImPushTypeEnum.S_TO_W_TIP_CONSULT_PAY_SUCCESS.getCode()) - .objId(ObjUtil.toString(counsellingOrderReservation.getId())) - .title("通知") - .content(pushContent) -// .extra("("+DateUtil.formatDate(counsellingOrder.getFirstAppointmentDate())+" "+counsellingOrder.getFirstAppointmentTimes()+")") + + //将此条消息加入到可聊天的表中t_mental_appointment + MentalAppointment mentalAppointment = MentalAppointment.builder() + .userId(counsellingOrder.getUserId()) + .statusFlag(1) + .appointmentDay(new SimpleDateFormat("yyyy-MM-dd").parse(counsellingReservationRequest.getDayTime())) + .beginTimePoint(counsellingReservationRequest.getTimePoint().split("-")[0]) + .endTimePoint(counsellingReservationRequest.getTimePoint().split("-")[1]) + .workerId(counsellingUserOld.getUserId()) .build(); - // 发送首次预约 - imBizService.messageSendSystem(counsellingOrderReservation.getUserId()+"", new String[]{counsellingOrderReservation.getUserId()+""}, pushData, ImUserTypeEnum.USER, null, true); + // 用户信息 + CustomerInfo customerInfo = customerService.getCustomerInfoById(counsellingOrder.getUserId()); + mentalAppointment.setUserName(customerInfo.getRealName()); + mentalAppointment.setPhone(customerInfo.getLinkPhone()); + mentalAppointmentService.save(mentalAppointment); + CounsellingInfo counsellingInfo = this.counsellingInfoService.getById(counsellingOrder.getCounsellingInfoId()); + + // 发送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()) + .content("预约成功"+",请注意预约时间:"+counsellingOrder.getEffectiveEndTime()+"~"+counsellingOrder.getEffectiveEndTime()) +// .content("预约成功!") + .objId(ObjUtil.toString(counsellingInfo.getId())) + .data1(ObjUtil.toString(counsellingOrder.getUserId())) + .data2(ObjUtil.toString(counsellingInfo.getUserId())) + .build(); + imBizService.messageSendPrivate( + ObjUtil.toString(counsellingOrder.getUserId()), + new String[]{ObjUtil.toString(counsellingInfo.getUserId())}, + pushData1); + +// // 推送消息内容 +// String pushContent = "你的预约("+DateUtil.formatDate(counsellingOrder.getFirstAppointmentDate())+" "+counsellingOrder.getFirstAppointmentTimes()+")已确认,请按时参加"; +// // IM推送数据json +// ImPushDataDTO pushData = ImPushDataDTO.builder() +// .type(ImPushTypeEnum.S_TO_W_TIP_CONSULT_PAY_SUCCESS.getCode()) +// .objId(ObjUtil.toString(counsellingOrderReservation.getId())) +// .title("通知") +// .content(pushContent) +//// .extra("("+DateUtil.formatDate(counsellingOrder.getFirstAppointmentDate())+" "+counsellingOrder.getFirstAppointmentTimes()+")") +// .build(); +// // 发送首次预约 +// imBizService.messageSendSystem(counsellingOrderReservation.getUserId()+"", new String[]{counsellingOrderReservation.getUserId()+""}, pushData, ImUserTypeEnum.USER, null, true); }else{ counsellingOrderReservation.setStauts(1); counsellingOrderReservation.setReservationType(2); @@ -664,6 +702,8 @@ counsellingOrderReservationRequestDTO.setCustomerId(LoginContext.me().getLoginUser().getUserId()); } Page<CounsellingOrderReservation> page = this.counsellingOrderReservationService.findReservationPage(PageFactory.defaultPage(), counsellingOrderReservationRequestDTO); + + return new SuccessResponseData<>(PageResultFactory.createPageResult(page)); } diff --git a/rest/src/main/java/cn/stylefeng/rest/modular/work/MentalAppointmentWork.java b/rest/src/main/java/cn/stylefeng/rest/modular/work/MentalAppointmentWork.java index c1e7e87..e166013 100644 --- a/rest/src/main/java/cn/stylefeng/rest/modular/work/MentalAppointmentWork.java +++ b/rest/src/main/java/cn/stylefeng/rest/modular/work/MentalAppointmentWork.java @@ -56,8 +56,9 @@ List<MentalAppointment> mentalAppointmentList = mentalAppointmentService.list( Wrappers.<MentalAppointment>lambdaUpdate() .eq(MentalAppointment::getStatusFlag, MentalAppointmentStatusEnum.WAIT_SERVICE.getCode()) - .le(MentalAppointment::getAppointmentDay, dateTime.toDateStr()) - .le(MentalAppointment::getBeginTimePoint, DateUtil.format(dateTime, "HH:mm")) + .apply("DATE_ADD(appointment_day, INTERVAL TIME_TO_SEC(begin_time_point) SECOND) < NOW()") +// .le(MentalAppointment::getAppointmentDay, dateTime.toDateStr()) +// .le(MentalAppointment::getBeginTimePoint, DateUtil.format(dateTime, "HH:mm")) ); // 我的测试(含题库信息) diff --git a/rest/src/main/java/cn/stylefeng/rest/modular/work/OrderOutTimeCancelWork.java b/rest/src/main/java/cn/stylefeng/rest/modular/work/OrderOutTimeCancelWork.java index 510c6cb..09a438b 100644 --- a/rest/src/main/java/cn/stylefeng/rest/modular/work/OrderOutTimeCancelWork.java +++ b/rest/src/main/java/cn/stylefeng/rest/modular/work/OrderOutTimeCancelWork.java @@ -459,7 +459,7 @@ } //查询服务中的预约 List<CounsellingOrderReservation> serviceList = this.counsellingOrderReservationService.list(new LambdaQueryWrapper<CounsellingOrderReservation>() - .ge(CounsellingOrderReservation::getReservationEndTime,startTime).le(CounsellingOrderReservation::getReservationEndTime,nowDate) + .le(CounsellingOrderReservation::getReservationEndTime,nowDate) .eq(CounsellingOrderReservation::getStauts,3)); if (CollectionUtil.isNotEmpty(serviceList)){ log.info("自动更新服务中的咨询,ids:"+serviceList.stream().map(CounsellingOrderReservation::getId).collect(Collectors.toList()).toString()); diff --git a/rest/src/main/java/cn/stylefeng/rest/modular/worker/controller/MentalAnalysisTimeConfigController.java b/rest/src/main/java/cn/stylefeng/rest/modular/worker/controller/MentalAnalysisTimeConfigController.java index 0b344fe..179962d 100644 --- a/rest/src/main/java/cn/stylefeng/rest/modular/worker/controller/MentalAnalysisTimeConfigController.java +++ b/rest/src/main/java/cn/stylefeng/rest/modular/worker/controller/MentalAnalysisTimeConfigController.java @@ -174,7 +174,6 @@ DateTime dateTime = DateUtil.date(); String day = DateUtil.formatDate(dateTime); String time = DateUtil.format(dateTime, "HH:mm"); - List<MentalAppointment> list = mentalAppointmentService.list( Wrappers.<MentalAppointment>lambdaUpdate() .in(MentalAppointment::getStatusFlag, Arrays.asList( -- Gitblit v1.7.1