SceneApplyServiceImpl.java 3.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. package com.fdkankan.manage.service.impl;
  2. import cn.hutool.core.collection.CollUtil;
  3. import cn.hutool.extra.mail.MailAccount;
  4. import cn.hutool.extra.mail.MailUtil;
  5. import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
  6. import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
  7. import com.fdkankan.manage.common.ResultCode;
  8. import com.fdkankan.manage.exception.BusinessException;
  9. import com.fdkankan.manage.common.PageInfo;
  10. import com.fdkankan.manage.entity.AgentAudit;
  11. import com.fdkankan.manage.entity.MailTemplate;
  12. import com.fdkankan.manage.entity.SceneApply;
  13. import com.fdkankan.manage.mapper.ISceneApplyMapper;
  14. import com.fdkankan.manage.service.IMailTemplateService;
  15. import com.fdkankan.manage.service.ISceneApplyService;
  16. import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
  17. import com.fdkankan.manage.util.SendMailUtils;
  18. import com.fdkankan.manage.vo.request.AgentAuditListParam;
  19. import org.apache.commons.lang3.StringUtils;
  20. import org.springframework.beans.factory.annotation.Autowired;
  21. import org.springframework.stereotype.Service;
  22. import java.util.Arrays;
  23. /**
  24. * <p>
  25. * 服务实现类
  26. * </p>
  27. *
  28. * @author
  29. * @since 2022-09-22
  30. */
  31. @Service
  32. public class SceneApplyServiceImpl extends ServiceImpl<ISceneApplyMapper, SceneApply> implements ISceneApplyService {
  33. @Autowired
  34. IMailTemplateService mailTemplateService;
  35. @Override
  36. public PageInfo pageList(AgentAuditListParam param) {
  37. LambdaQueryWrapper<SceneApply> wrapper = new LambdaQueryWrapper<>();
  38. if(StringUtils.isNotBlank(param.getCompanyName())){
  39. wrapper.like(SceneApply::getCompany,param.getCompanyName());
  40. }
  41. if(StringUtils.isNotBlank(param.getStartTime())&& StringUtils.isNotBlank(param.getEndTime()) ) {
  42. wrapper.between(SceneApply::getCreateTime,param.getStartTime(),param.getEndTime());
  43. }
  44. if(param.getHandleState() == 1){
  45. wrapper.in(SceneApply::getState, Arrays.asList(1,2));
  46. }else {
  47. wrapper.eq(SceneApply::getState, 0);
  48. }
  49. wrapper.orderByDesc(SceneApply::getCreateTime);
  50. Page<SceneApply> page = this.page(new Page<>(param.getPageNum(), param.getPageSize()), wrapper);
  51. return PageInfo.PageInfo(page);
  52. }
  53. @Override
  54. public void sendEmail(Integer sceneApplyId, Integer emailTemplateId) {
  55. SceneApply sceneApply = this.getById(sceneApplyId);
  56. if(sceneApply == null){
  57. throw new BusinessException(ResultCode.MISSING_REQUIRED_PARAMETERS);
  58. }
  59. MailTemplate mailTemplate = mailTemplateService.getById(emailTemplateId);
  60. String msg = mailTemplate.getMsg();
  61. mailTemplate.setMsg( msg.replace("${username}",sceneApply.getName()));
  62. Boolean flag = mailTemplateService.sendMail(sceneApply.getEmail(), mailTemplate,null);
  63. if(!flag){
  64. throw new BusinessException(ResultCode.MAIL_SEND_ERROR);
  65. }
  66. sceneApply.setState(1);
  67. this.updateById(sceneApply);
  68. }
  69. }