123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154 |
- package com.fdkankan.ucenter.service.impl;
- import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
- import com.fdkankan.common.exception.BusinessException;
- import com.fdkankan.ucenter.common.constants.ResultCode;
- import com.fdkankan.ucenter.entity.*;
- import com.fdkankan.ucenter.mapper.IMailTemplateMapper;
- import com.fdkankan.ucenter.service.IMailTemplateService;
- import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
- import com.fdkankan.ucenter.service.IScenePlusExtService;
- import com.fdkankan.ucenter.util.SendMailUtils;
- import lombok.extern.slf4j.Slf4j;
- import org.apache.commons.lang3.StringUtils;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Service;
- import java.util.HashMap;
- import java.util.List;
- /**
- * <p>
- * 服务实现类
- * </p>
- *
- * @author
- * @since 2023-01-10
- */
- @Service
- @Slf4j
- public class MailTemplateServiceImpl extends ServiceImpl<IMailTemplateMapper, MailTemplate> implements IMailTemplateService {
- @Autowired
- IScenePlusExtService scenePlusExtService;
- @Override
- public Boolean sendMail(String email , MailTemplate mailTemplate, String file) {
- if(mailTemplate == null){
- throw new BusinessException(ResultCode.FAILURE_CODE_400005,ResultCode.FAILURE_MSG_400005);
- }
- return SendMailUtils.sendMail(mailTemplate.getSendMail(), mailTemplate.getSendPassword(), mailTemplate.getSendHost(),
- email, mailTemplate.getSubject(), mailTemplate.getMsg(), file);
- }
- @Override
- public MailTemplate getTemplate(Integer type,String lang) {
- LambdaQueryWrapper<MailTemplate> wrapper = new LambdaQueryWrapper<>();
- wrapper.eq(MailTemplate::getType,type);
- wrapper.eq(MailTemplate::getLang,lang);
- return this.getOne(wrapper);
- }
- @Override
- public Boolean sendCodeMail(String email, String code,String lang) {
- MailTemplate mailTemplate = this.getTemplate(2,lang);
- if(mailTemplate != null){
- String msg = mailTemplate.getMsg();
- if(StringUtils.isNotBlank(code)){
- msg = msg.replace("{code}",code);
- }
- mailTemplate.setMsg(msg);
- }
- return sendMail(email,mailTemplate,null);
- }
- @Override
- public Boolean sendPeExMail(String email) {
- MailTemplate mailTemplate = this.getTemplate(3,"en");
- return sendMail(email,mailTemplate,null);
- }
- @Override
- public Boolean sendPeNoExMail(String email,Integer day) {
- MailTemplate mailTemplate = this.getTemplate(4,"en");
- if(mailTemplate != null){
- String msg = mailTemplate.getMsg();
- if(day != null && day >0){
- msg = msg.replace("{day}",day.toString());
- }
- mailTemplate.setMsg(msg);
- }
- return sendMail(email,mailTemplate,null);
- }
- @Override
- public Boolean sendPeTodayExMail(String email) {
- MailTemplate mailTemplate = this.getTemplate(5,"en");
- return sendMail(email,mailTemplate,null);
- }
- @Override
- public Boolean sendSceneCooperation(List<ScenePro> proList, List<ScenePlus> plusList, String username,String lang) {
- try {
- if(proList.size()<=0 && plusList.size() <=0){
- return false;
- }
- StringBuilder webSites = new StringBuilder();
- for (ScenePro scenePro : proList) {
- webSites.append(scenePro.getWebSite()).append("<p> </p>");
- }
- for (ScenePlus scenePlus : plusList) {
- ScenePlusExt scenePlusExt = scenePlusExtService.getByPlusId(scenePlus.getId());
- if(scenePlusExt != null){
- webSites.append(scenePlusExt.getWebSite()).append("<p> </p>");
- }
- }
- if(StringUtils.isBlank(webSites)){
- return false;
- }
- MailTemplate mailTemplate = this.getTemplate(6,lang);
- if(mailTemplate != null){
- String msg = mailTemplate.getMsg();
- if(StringUtils.isNotBlank(webSites)){
- msg = msg.replace("{sceneWebSites}",webSites.toString());
- }
- mailTemplate.setMsg(msg);
- }
- return sendMail(username,mailTemplate,null);
- }catch (Exception e){
- log.error("邮件发送失败,type:{},error:{}","协作场景邮件",e);
- }
- return false;
- }
- @Override
- public Boolean sendCameraCooperation(HashMap<Long, Camera> cameraMap, String username, String lang) {
- try {
- if(cameraMap.size()<=0 ){
- return false;
- }
- StringBuilder snCodes = new StringBuilder();
- for (Long cameraId : cameraMap.keySet()) {
- if(cameraMap.get(cameraId) != null){
- snCodes.append(cameraMap.get(cameraId).getSnCode()).append("<p> </p>");
- }
- }
- if(StringUtils.isBlank(snCodes)){
- return false;
- }
- MailTemplate mailTemplate = this.getTemplate(8,lang);
- if(mailTemplate != null){
- String msg = mailTemplate.getMsg();
- if(StringUtils.isNotBlank(snCodes)){
- msg = msg.replace("{snCodes}",snCodes.toString());
- }
- mailTemplate.setMsg(msg);
- }
- return sendMail(username,mailTemplate,null);
- }catch (Exception e){
- log.error("邮件发送失败,type:{},error:{}","协作场景邮件",e);
- }
- return false;
- }
- }
|