| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140 |
- /**
- *
- */
- package cn.com.lzt.sysbug.entity;
- import java.text.SimpleDateFormat;
- import org.jeecgframework.core.util.ApplicationContextUtil;
- import org.jeecgframework.core.util.SendMailUtil;
- import org.jeecgframework.web.system.pojo.base.TSType;
- import org.jeecgframework.web.system.pojo.base.TSUser;
- import org.jeecgframework.web.system.service.SystemService;
- import org.springframework.util.StringUtils;
- /**
- * @author xzx
- *
- * 2019年4月6日
- *
- */
- public class TSSysbugMailSender extends Thread{
- TSSysbugEntity bugEntity;
- SystemService sysService;
- String emailUserId;
- private String emailTitle;
- public TSSysbugMailSender(TSSysbugEntity bugEntity,String emailUserId, String title) {
- this.bugEntity = bugEntity;
- this.emailUserId = emailUserId;
- this.emailTitle = title;
- }
- @Override
- public void run() {
- if(sysService == null) {
- sysService = ApplicationContextUtil.getContext().getBean(SystemService.class);
- }
- TSUser user = sysService.get(TSUser.class, emailUserId);
- if(user != null && user.getEmail()!=null && user.getEmail().length()>0) {
- String email = user.getEmail();
- String title = "Bug系统通知";
- if(this.emailTitle != null) {
- title = emailTitle;
- }
- SendMailUtil.sendCommonMail(email, title, getHtml(bugEntity));
- }
- }
-
- public String getHtml(TSSysbugEntity bugEntity) {
- StringBuffer sb = new StringBuffer();
- sb.append("<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\r\n" +
- "<html xmlns=\"http://www.w3.org/1999/xhtml\">\r\n" +
- " <head>\r\n" +
- " <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\r\n" +
- " <title></title>\r\n" +
- " <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"/>\r\n" +
- " </head>\r\n" +
- " <body style=\"margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0px; padding-top:0px;padding-bottom:0px;padding-left:0px;padding-right:0px;\">\r\n" +
- " <table align=\"left\" border=\"1\" cellpadding=\"0\" cellspacing=\"0\" width=\"600\" style=\"border-collapse: collapse;font-size:0px\">\r\n" );
-
- sb.append(getTbElements("缺陷ID", bugEntity.getId(),false));
- sb.append(getTbElements("缺陷类型", getDicText("bug_type", bugEntity.getBugType()),false));
- sb.append(getTbElements("紧急程度", getDicText("bug_level",bugEntity.getBugLevel()),false));
- sb.append(getTbElements("当前状态", getDicText("bug_status",bugEntity.getStatus()),false));
- if(!StringUtils.isEmpty(bugEntity.getReporter())) {
- sb.append(getTbElements("提交人", getUserName(bugEntity.getReporter()),false));
- }
- if(!StringUtils.isEmpty(bugEntity.getProducter())) {
- sb.append(getTbElements("产品负责人", getUserName(bugEntity.getProducter()),false));
- }
- if(!StringUtils.isEmpty(bugEntity.getCoder())) {
- sb.append(getTbElements("开发负责人", getUserName(bugEntity.getCoder()),false));
- }
- if(!StringUtils.isEmpty(bugEntity.getTester())) {
- sb.append(getTbElements("测试负责人", getUserName(bugEntity.getTester()),false));
- }
- if(!StringUtils.isEmpty(bugEntity.getLoginPerson1())) {
- sb.append(getTbElements("登陆账号", getUserName(bugEntity.getLoginPerson1()),false));
- }
- if(!StringUtils.isEmpty(bugEntity.getBugPerson1())) {
- sb.append(getTbElements("涉及的员工",getUserName(bugEntity.getBugPerson1()),false));
- sb.append(getTbElements("涉及的员工ID", bugEntity.getBugPerson1(),false));
- }
-
- SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
- if(!StringUtils.isEmpty(bugEntity.getEndTime())) {
- sb.append(getTbElements("解决时间", sdf.format(bugEntity.getEndTime()),false));
- }
- sb.append(getTbElements("问题描述", bugEntity.getDescription(),true));
-
- sb.append(" </table>\r\n" +
- "</body>\r\n" +
- "</html>");
- return sb.toString();
- }
- /**
- * @param status
- * @return
- */
- private String getDicText(String dicGroupcode, String typecode) {
- String text = "";
- TSType type = sysService.getType(typecode, dicGroupcode);
- if(type != null) {
- text = type.getTypename();
- }
- return text;
- }
- /**
- * @param producter
- * @return
- */
- private String getUserName(String id) {
- if(id != null) {
- TSUser user = sysService.get(TSUser.class, id);
- if(user!= null) {
- return user.getRealName();
- }
- }
- return null;
- }
- /**
- * @param bugLevel
- * @return
- */
- private static String getTbElements(String label, String bugel, boolean isMultiText) {
- String trtdstart = "<tr><td style=\"word-wrap:break-word;word-break:break-all;font-size:14px\" width=\"150px\">";
- StringBuffer sb = new StringBuffer();
- sb.append(trtdstart);
- sb.append(label).append("</td>");
- if(isMultiText) {
- sb.append("<td colspan=\"3\" style=\"word-wrap:break-word;word-break:break-all;font-size:14px\" width=\"400px\";>\r\n" +
- "<textarea rows=\"6\" cols=\"60\" wrap=\"hard\">");
- sb.append(bugel).append("</textarea>").append("</td>");
- }else {
- sb.append("<td colspan=\"3\" style=\"word-wrap:break-word;word-break:break-all;font-size:14px\" width=\"400px\";>\r\n");
-
- sb.append(bugel).append("</td>");
- }
- sb.append("</tr>");
- return sb.toString();
- }
- }
|