package com.fdkankan.manage.service.impl; import cn.hutool.core.collection.CollUtil; import cn.hutool.extra.mail.MailAccount; import cn.hutool.extra.mail.MailUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.fdkankan.manage.common.ResultCode; import com.fdkankan.manage.exception.BusinessException; import com.fdkankan.manage.common.PageInfo; import com.fdkankan.manage.entity.AgentAudit; import com.fdkankan.manage.entity.MailTemplate; import com.fdkankan.manage.entity.SceneApply; import com.fdkankan.manage.mapper.ISceneApplyMapper; import com.fdkankan.manage.service.IMailTemplateService; import com.fdkankan.manage.service.ISceneApplyService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.fdkankan.manage.util.SendMailUtils; import com.fdkankan.manage.vo.request.AgentAuditListParam; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.Arrays; /** *

* 服务实现类 *

* * @author * @since 2022-09-22 */ @Service public class SceneApplyServiceImpl extends ServiceImpl implements ISceneApplyService { @Autowired IMailTemplateService mailTemplateService; @Override public PageInfo pageList(AgentAuditListParam param) { LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); if(StringUtils.isNotBlank(param.getCompanyName())){ wrapper.like(SceneApply::getCompany,param.getCompanyName()); } if(StringUtils.isNotBlank(param.getStartTime())&& StringUtils.isNotBlank(param.getEndTime()) ) { wrapper.between(SceneApply::getCreateTime,param.getStartTime(),param.getEndTime()); } if(param.getHandleState() == 1){ wrapper.in(SceneApply::getState, Arrays.asList(1,2)); }else { wrapper.eq(SceneApply::getState, 0); } wrapper.orderByDesc(SceneApply::getCreateTime); Page page = this.page(new Page<>(param.getPageNum(), param.getPageSize()), wrapper); return PageInfo.PageInfo(page); } @Override public void sendEmail(Integer sceneApplyId, Integer emailTemplateId) { SceneApply sceneApply = this.getById(sceneApplyId); if(sceneApply == null){ throw new BusinessException(ResultCode.MISSING_REQUIRED_PARAMETERS); } MailTemplate mailTemplate = mailTemplateService.getById(emailTemplateId); String msg = mailTemplate.getMsg(); mailTemplate.setMsg( msg.replace("${username}",sceneApply.getName())); Boolean flag = mailTemplateService.sendMail(sceneApply.getEmail(), mailTemplate,null); if(!flag){ throw new BusinessException(ResultCode.MAIL_SEND_ERROR); } sceneApply.setState(1); this.updateById(sceneApply); } }