package com.ruoyi.common.thread.Trainning;

import com.ruoyi.common.sendEmail.IMailService;
import com.ruoyi.project.system.domain.SysMessage;
import com.ruoyi.project.system.service.ISysMessageService;

import java.util.Date;

/**
 * @author Wang Zi Wen
 * @email wangggziwen@163.com
 * @date 2022/05/25 10:35:59
 */
public class MonthlyFeedbackMailThread implements Runnable {

    private IMailService mailService;
    private String email;   // 邮箱
    private String successorName;    // 学员用户名(中)
    private String successorNameEN;  // 学员用户名(英)
    private String mentorName;    // 导师用户名(中)
    private String mentorNameEN;  // 导师用户名(英)
    private String feedbackYear;    // 年
    private String feedbackMonth;  // 月
    private SysMessage message;
    private ISysMessageService sysMessageService;

    public MonthlyFeedbackMailThread() {
    }

    public MonthlyFeedbackMailThread(IMailService mailService, String email, String successorName,
                                     String successorNameEN, String mentorName, String mentorNameEN,
                                     String feedbackYear, String feedbackMonth, ISysMessageService sysMessageService,
                                     SysMessage message) {
        this.mailService = mailService;
        this.email = email;
        this.successorName = successorName;
        this.successorNameEN = successorNameEN;
        this.mentorName = mentorName;
        this.mentorNameEN = mentorNameEN;
        this.feedbackYear = feedbackYear;
        this.feedbackMonth = feedbackMonth;
        this.sysMessageService = sysMessageService;
        this.message = message;
    }

    @Override
    public void run() {
        this.sendMail();
        sysMessageService.insertSysMessage(message);
    }

    private void sendMail() {
        String jumpUrl = "/training/spec/monthlyfeedback";
        //写html开始内容
        String start = "<!DOCTYPE html><html><head><meta charset=\"utf-8\"><title></title></head><body><div style=\"background-color:#ECECEC; padding: 35px;\">" +
                "<table cellpadding=\"0\" align=\"center\"" +
                "style=\"width: 600px; margin: 0px auto; text-align: left; position: relative; border-top-left-radius: 5px; border-top-right-radius: 5px; border-bottom-right-radius: 5px; border-bottom-left-radius: 5px; font-size: 14px; font-family:微软雅黑, 黑体; line-height: 1.5; box-shadow: rgb(153, 153, 153) 0px 0px 5px; border-collapse: collapse; background-position: initial initial; background-repeat: initial initial;background:#fff;\">" +
                "<tbody><tr><th valign=\"middle\" style=\"height: 25px; line-height: 25px; padding: 15px 35px; border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: #42a3d3; background-color: #49bcff; border-top-left-radius: 5px; border-top-right-radius: 5px; border-bottom-right-radius: 0px; border-bottom-left-radius: 0px;\">" +
                "<font face=\"微软雅黑\" size=\"5\" style=\"color: rgb(255, 255, 255); \">CPMS管理系统 </font><font face=\"微软雅黑\" size=\"3\" style=\"color: rgb(255, 255, 255); \">CPMS System</font></th></tr>";
        //表html中间内容
        String prime = "";
        String center = "<tr><td><div style=\"padding:25px 35px 40px; background-color:#fff;\"><h2 style=\"margin: 5px 0px; \">" +
                "<font color=\"#333333\" style=\"line-height: 20px; \"><font style=\"line-height: 22px; \" size=\"4\">" +
                "亲爱的successorName</font><br><font style=\"line-height: 22px; \" size=\"4\">" +
                "Dear successorNameEN</font></font></h2>" +
                "<p>您的月度反馈有新状态：<br>" +
                "You have a new to-do task:<br>" +
                "导师：<b>mentorName</b><br>" +
                "反馈月份：<b>feedbackYear年feedbackMonth月</b><br>" +
                "请登录<a href=\"https://cpms.basf-ypc.net.cn/cpms/index.html#jumpUrl\">CPMS管理系统</a>查看。<br>" +
                "Please log in the <a href=\"https://cpms.basf-ypc.net.cn/cpms/index.html#jumpUrl\">CPMS</a> to handle it.</p>" +
                "<p align=\"right\">date</p>" +
                "<div style=\"width:700px;margin:0 auto;\">" +
                "<div style=\"padding:10px 10px 0;border-top:1px solid #ccc;color:#747474;margin-bottom:20px;line-height:1.3em;font-size:12px;\">" +
                "<p>此为系统邮件，请勿回复<br>This e-Mail is an automatic reminder sent by CPMS, please do not reply</p>" +
                "</div></div></div></td></tr>";
        String one = center.replaceFirst("successorName", successorName);
        String two = one.replaceFirst("successorNameEN", successorNameEN);
        String three = two.replaceFirst("mentorName", mentorName);
        String four = three.replaceFirst("feedbackYear",feedbackYear);
        String five = four.replaceFirst("feedbackMonth",feedbackMonth);
        String result = five.replaceFirst("date", String.valueOf(new Date())).replaceFirst("jumpUrl",jumpUrl).replaceFirst("jumpUrl",jumpUrl);
        prime = prime + result;
        //写html结尾内容
        String end = "</tbody></table></div></body></html>";
        //拼接html
        String html = start + prime + end;
        mailService.sendHtmlMail(email, "CPMS：您的导师已提交月度反馈 (" + feedbackYear + "年" + feedbackMonth + "月)", html);
    }

}
