package cn.timer.api.controller.zpgl.sevice;

import cn.timer.api.bean.email.SendMessage;
import cn.timer.api.bean.zpgl.ZpglRcxxOffer;
import cn.timer.api.utils.DateFormatUtils;
import cn.timer.api.utils.ZpglMessageTemplate;
import cn.timer.api.utils.email.EmailUtils;
import com.aliyun.tea.utils.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.mail.javamail.JavaMailSender;

import java.util.Date;

public class ZpglSendMessageThread implements Runnable {


    public JavaMailSender mailSender;
    private ZpglRcxxOffer zpglRcxxOffer;

    public ZpglSendMessageThread(JavaMailSender mailSender, ZpglRcxxOffer zpglRcxxOffer) {
        this.mailSender = mailSender;
        this.zpglRcxxOffer = zpglRcxxOffer;
    }

    @Override
    public void run() {
        try {
            EmailUtils.sendThymeleafMail(
                    mailSender,
                    ZpglMessageTemplate.print(ZpglMessageTemplate.OFFER_TEMPLATE, new String[]{
                            zpglRcxxOffer.getRcxxName(),
                            zpglRcxxOffer.getCompanyName(),
                            zpglRcxxOffer.getBumen(),
                            zpglRcxxOffer.getGangwei(),
                            DateFormatUtils.tranDate(zpglRcxxOffer.getRzTime(), DateFormatUtils.YYYYMMDD),
                            zpglRcxxOffer.getLinkName(),
                            StringUtils.isEmpty(zpglRcxxOffer.getLinkPhone()) ? "" : zpglRcxxOffer.getLinkPhone(),
                            StringUtils.isEmpty(zpglRcxxOffer.getLinkEmail()) ? "" : zpglRcxxOffer.getLinkEmail()}),
                    zpglRcxxOffer.getTitle(),
                    new String[]{zpglRcxxOffer.getReceiverEmail()});
            SendMessage sendMessage = SendMessage.builder().build();
            BeanUtils.copyProperties(zpglRcxxOffer, sendMessage);
            sendMessage.setCreatedTime(new Date());
            sendMessage.insert();

        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}