package com.ruoyi.goods.service.impl.live;
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.ruoyi.goods.domain.pojo.live.XiaoeLiveAppointment;
|
import com.ruoyi.goods.domain.pojo.live.XiaoeLiveRecord;
|
import com.ruoyi.goods.mapper.live.XiaoeLiveAppointmentMapper;
|
import com.ruoyi.goods.service.live.IXiaoeLiveAppointmentService;
|
import com.ruoyi.goods.service.live.IXiaoeLiveRecordService;
|
import com.ruoyi.goods.utils.WeChatSubscribeMessageSender;
|
import com.ruoyi.system.api.domain.poji.member.Member;
|
import com.ruoyi.system.api.service.RemoteMemberService;
|
import lombok.RequiredArgsConstructor;
|
import lombok.extern.slf4j.Slf4j;
|
import org.springframework.stereotype.Service;
|
|
import java.util.Objects;
|
|
/**
|
* <p>
|
* 直播预约记录 服务实现类
|
* </p>
|
*
|
* @author mitao
|
* @since 2025-01-09
|
*/
|
@Slf4j
|
@Service
|
@RequiredArgsConstructor
|
public class XiaoeLiveAppointmentServiceImpl extends ServiceImpl<XiaoeLiveAppointmentMapper, XiaoeLiveAppointment> implements IXiaoeLiveAppointmentService {
|
private final RemoteMemberService remoteMemberService;
|
private final IXiaoeLiveRecordService xiaoeLiveRecordService;
|
|
/**
|
* 推送微信小程序订阅消息
|
* @param appointmentId
|
* @return
|
*/
|
@Override
|
public void push(Long appointmentId) {
|
log.info("开始推送预约id为:{}的订阅消息",appointmentId);
|
XiaoeLiveAppointment appointment = getById(appointmentId);
|
if (Objects.nonNull(appointment)) {
|
Member member = remoteMemberService.getMember(appointment.getUserId()).getData();
|
if (Objects.isNull(member)){
|
return;
|
}
|
XiaoeLiveRecord record = xiaoeLiveRecordService.getByLiveId(appointment.getLiveId());
|
if (Objects.isNull(record)) {
|
return;
|
}
|
//推送微信小程序订阅消息
|
WeChatSubscribeMessageSender.push(member.getMiniOpenid(), appointment.getTitle(), record.getShopName(), appointment.getAliveStartAt());
|
}
|
log.info("预约id为:{}的订阅消息推送成功",appointmentId);
|
}
|
|
}
|