mitao
2025-01-10 b9679b6f96bbe8b52ee1d699033d9021d5fe870f
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
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);
    }
 
}