/** * */ 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("\r\n" + "\r\n" + " \r\n" + " \r\n" + " \r\n" + " \r\n" + " \r\n" + " \r\n" + " \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("
\r\n" + "\r\n" + ""); 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 = ""; StringBuffer sb = new StringBuffer(); sb.append(trtdstart); sb.append(label).append(""); if(isMultiText) { sb.append("\r\n" + "").append(""); }else { sb.append("\r\n"); sb.append(bugel).append(""); } sb.append(""); return sb.toString(); } }