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 ++++++++++++++++++++++++++------ 1 files changed, 52 insertions(+), 12 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 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)); } -- Gitblit v1.7.1