package cn.iocoder.yudao.common.service.impl;

import cn.iocoder.yudao.common.SystemEnum;
import cn.iocoder.yudao.common.service.InspectionNoticeService;
import cn.iocoder.yudao.module.system.api.notify.NotifyMessageSendApi;
import cn.iocoder.yudao.module.system.api.notify.dto.NotifySendSingleToUserReqDTO;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;

import java.util.HashMap;
import java.util.Map;

import static cn.iocoder.yudao.common.BaseConstants.TICKET_EMPLOY;

@Service
@RequiredArgsConstructor
public class InspectionNoticeServiceImpl implements InspectionNoticeService {

    private final NotifyMessageSendApi sendApi;

    /**
     * 向指定用户发送消息
     *
     * @param userId 用户id
     * @param text   消息通知内容
     **/
    @Override
    public void sentMessage(Long userId, String text) {
        // 准备发送参数
        Map<String, Object> templateParams = new HashMap<>();
        // 发送模版内容
        templateParams.put("text", text);
        // 发送站内信
        sendApi.sendSingleMessageToAdmin(new NotifySendSingleToUserReqDTO()
                .setUserId(userId)
                .setTemplateCode(TICKET_EMPLOY)
                .setSystemCode(SystemEnum.INSPECTION.getCode())
                .setTemplateParams(templateParams));

    }
}
