EmailTemplateInfoServiceImpl.java 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205
  1. package com.simuwang.manage.service.impl;
  2. import com.simuwang.base.common.support.MybatisPage;
  3. import com.simuwang.base.common.util.DateUtils;
  4. import com.simuwang.base.common.util.StringUtil;
  5. import com.simuwang.base.mapper.EmailTemplateApplicationRuleMapper;
  6. import com.simuwang.base.mapper.EmailTemplateDataRuleMapper;
  7. import com.simuwang.base.mapper.EmailTemplateInfoMapper;
  8. import com.simuwang.base.pojo.dos.EmailTemplateApplicationRuleDO;
  9. import com.simuwang.base.pojo.dos.EmailTemplateDataRuleDO;
  10. import com.simuwang.base.pojo.dos.EmailTemplateInfoDO;
  11. import com.simuwang.base.pojo.dto.query.EmailTemplateInfoPageQuery;
  12. import com.simuwang.base.pojo.vo.*;
  13. import com.simuwang.manage.service.EmailTemplateInfoService;
  14. import com.simuwang.shiro.utils.UserUtils;
  15. import org.springframework.beans.factory.annotation.Autowired;
  16. import org.springframework.stereotype.Service;
  17. import java.util.ArrayList;
  18. import java.util.List;
  19. import java.util.stream.Collectors;
  20. /**
  21. * FileName: EmailTemplateInfoServiceImpl
  22. * Author: chenjianhua
  23. * Date: 2024/9/25 18:50
  24. * Description: ${DESCRIPTION}
  25. */
  26. @Service
  27. public class EmailTemplateInfoServiceImpl implements EmailTemplateInfoService {
  28. @Autowired
  29. private EmailTemplateInfoMapper emailTemplateInfoMapper;
  30. @Autowired
  31. private EmailTemplateDataRuleMapper emailTemplateDataRuleMapper;
  32. @Autowired
  33. private EmailTemplateApplicationRuleMapper emailTemplateApplicationRuleMapper;
  34. @Override
  35. public MybatisPage<EmailTemplateInfoVO> searchTemplateList(EmailTemplateInfoPageQuery emailTemplateInfoPageQuery) {
  36. List<EmailTemplateInfoDO> emailTemplateInfoDOList = emailTemplateInfoMapper.searchTemplateList(emailTemplateInfoPageQuery);
  37. List<EmailTemplateInfoVO> emailTemplateInfoVOList = emailTemplateInfoDOList.stream().map(EmailTemplateInfoDO::toVO).collect(Collectors.toList());
  38. long total = emailTemplateInfoMapper.countTemplateList(emailTemplateInfoPageQuery);
  39. return MybatisPage.of(total,emailTemplateInfoVOList);
  40. }
  41. @Override
  42. public void deleteTemplateList(IdListVO idListVO) {
  43. Integer userId = UserUtils.getLoginUser().getUserId();
  44. List<Integer> idList = idListVO.getIdList();
  45. emailTemplateInfoMapper.deleteTemplateList(idList,userId);
  46. emailTemplateApplicationRuleMapper.deleteByTemplateId(idList,userId);
  47. emailTemplateDataRuleMapper.deleteByTemplateId(idList,userId);
  48. }
  49. @Override
  50. public void saveTemplateList(SaveTemplateInfoVO saveTemplateInfoVO) {
  51. EmailTemplateInfoVO emailTemplateInfoVO = saveTemplateInfoVO.getEmailTemplateInfoVO();
  52. EmailTemplateInfoDO emailDeletionInfoDO = toEmailTemplateInfoDO(emailTemplateInfoVO);
  53. Integer templateId;
  54. if(StringUtil.isNull(emailDeletionInfoDO.getId())){
  55. //保存
  56. templateId = emailTemplateInfoMapper.saveTemplateInfo(emailDeletionInfoDO);
  57. List<EmailTemplateDataRuleVO> emailTemplateDataRuleVOList = saveTemplateInfoVO.getEmailTemplateDataRuleVOList();
  58. if(emailTemplateDataRuleVOList.size() > 0){
  59. emailTemplateDataRuleVOList.forEach(e -> e.setTemplateId(templateId));
  60. List<EmailTemplateDataRuleDO> emailTemplateDataRuleDOList = new ArrayList<>();
  61. for(EmailTemplateDataRuleVO dataRuleVO : emailTemplateDataRuleVOList){
  62. EmailTemplateDataRuleDO emailTemplateDataRuleDO = toEmailTemplateDataRuleDO(dataRuleVO);
  63. emailTemplateDataRuleDOList.add(emailTemplateDataRuleDO);
  64. }
  65. emailTemplateDataRuleMapper.batchInsert(emailTemplateDataRuleDOList);
  66. }
  67. List<EmailTemplateApplicationRuleVO> emailTemplateApplicationRuleVOList = saveTemplateInfoVO.getEmailTemplateApplicationRuleVOList();
  68. if(emailTemplateApplicationRuleVOList.size() > 0){
  69. emailTemplateApplicationRuleVOList.forEach(e -> e.setTemplateId(templateId));
  70. List<EmailTemplateApplicationRuleDO> templateApplicationRuleDOList = new ArrayList<>();
  71. for(EmailTemplateApplicationRuleVO applicationRuleVO : emailTemplateApplicationRuleVOList){
  72. EmailTemplateApplicationRuleDO applicationRuleDO = toEmailTemplateApplicationRuleDO(applicationRuleVO);
  73. templateApplicationRuleDOList.add(applicationRuleDO);
  74. }
  75. emailTemplateApplicationRuleMapper.batchInsert(templateApplicationRuleDOList);
  76. }
  77. }else{
  78. templateId = emailDeletionInfoDO.getId();
  79. emailTemplateInfoMapper.updateTemplateInfo(emailDeletionInfoDO);
  80. List<EmailTemplateDataRuleVO> emailTemplateDataRuleVOList = saveTemplateInfoVO.getEmailTemplateDataRuleVOList();
  81. if(emailTemplateDataRuleVOList.size() > 0){
  82. emailTemplateDataRuleVOList.forEach(e -> e.setTemplateId(templateId));
  83. List<EmailTemplateDataRuleDO> addList = new ArrayList<>();
  84. List<EmailTemplateDataRuleDO> editList = new ArrayList<>();
  85. for(EmailTemplateDataRuleVO dataRuleVO : emailTemplateDataRuleVOList){
  86. EmailTemplateDataRuleDO emailTemplateDataRuleDO = toEmailTemplateDataRuleDO(dataRuleVO);
  87. if(StringUtil.isNull(emailTemplateDataRuleDO.getId())){
  88. addList.add(emailTemplateDataRuleDO);
  89. }else{
  90. addList.add(emailTemplateDataRuleDO);
  91. }
  92. }
  93. if(addList.size() > 0){
  94. emailTemplateDataRuleMapper.batchInsert(addList);
  95. }
  96. if(editList.size() > 0){
  97. emailTemplateDataRuleMapper.batchUpdate(editList);
  98. }
  99. }
  100. List<EmailTemplateApplicationRuleVO> emailTemplateApplicationRuleVOList = saveTemplateInfoVO.getEmailTemplateApplicationRuleVOList();
  101. if(emailTemplateApplicationRuleVOList.size() > 0){
  102. emailTemplateApplicationRuleVOList.forEach(e -> e.setTemplateId(templateId));
  103. List<EmailTemplateApplicationRuleDO> addList = new ArrayList<>();
  104. List<EmailTemplateApplicationRuleDO> editList = new ArrayList<>();
  105. for(EmailTemplateApplicationRuleVO applicationRuleVO : emailTemplateApplicationRuleVOList){
  106. EmailTemplateApplicationRuleDO applicationRuleDO = toEmailTemplateApplicationRuleDO(applicationRuleVO);
  107. if(StringUtil.isNull(applicationRuleDO.getId())){
  108. addList.add(applicationRuleDO);
  109. }else{
  110. editList.add(applicationRuleDO);
  111. }
  112. }
  113. if(addList.size() > 0){
  114. emailTemplateApplicationRuleMapper.batchInsert(addList);
  115. }
  116. if(editList.size() > 0){
  117. emailTemplateApplicationRuleMapper.batchUpdate(editList);
  118. }
  119. }
  120. }
  121. }
  122. @Override
  123. public void deleteApplicationRuleList(IdListVO idListVO) {
  124. Integer userId = UserUtils.getLoginUser().getUserId();
  125. emailTemplateApplicationRuleMapper.deleteByIdList(idListVO.getIdList(),userId);
  126. }
  127. @Override
  128. public void controlTemplateConfig(StatusVO statusVO) {
  129. EmailTemplateInfoDO emailTemplateInfoDO = emailTemplateInfoMapper.searchTemplateById(statusVO.getId());
  130. emailTemplateInfoDO.setStatus(statusVO.getStatus());
  131. Integer userId = UserUtils.getLoginUser().getUserId();
  132. emailTemplateInfoDO.setUpdaterId(userId);
  133. emailTemplateInfoDO.setUpdateTime(DateUtils.getNowDate());
  134. emailTemplateInfoMapper.updateTemplateInfo(emailTemplateInfoDO);
  135. }
  136. private EmailTemplateApplicationRuleDO toEmailTemplateApplicationRuleDO(EmailTemplateApplicationRuleVO applicationRuleVO) {
  137. Integer userId = UserUtils.getLoginUser().getUserId();
  138. EmailTemplateApplicationRuleDO applicationRuleDO = new EmailTemplateApplicationRuleDO();
  139. applicationRuleDO.setId(applicationRuleVO.getId());
  140. applicationRuleDO.setTemplateId(applicationRuleVO.getTemplateId());
  141. applicationRuleDO.setColumn(applicationRuleVO.getColumn());
  142. applicationRuleDO.setRow(applicationRuleVO.getRow());
  143. applicationRuleDO.setContainKeyword(applicationRuleVO.getContainKeyword());
  144. applicationRuleDO.setNotContainKeyword(applicationRuleVO.getNotContainKeyword());
  145. applicationRuleDO.setIsvalid(1);
  146. applicationRuleDO.setType(applicationRuleVO.getType());
  147. applicationRuleDO.setUpdaterId(userId);
  148. applicationRuleDO.setUpdateTime(DateUtils.getNowDate());
  149. if(StringUtil.isNull(applicationRuleDO.getId())){
  150. applicationRuleDO.setCreateTime(DateUtils.getNowDate());
  151. applicationRuleDO.setCreatorId(userId);
  152. }
  153. return applicationRuleDO;
  154. }
  155. private EmailTemplateDataRuleDO toEmailTemplateDataRuleDO(EmailTemplateDataRuleVO dataRuleVO) {
  156. Integer userId = UserUtils.getLoginUser().getUserId();
  157. EmailTemplateDataRuleDO emailTemplateDataRuleDO = new EmailTemplateDataRuleDO();
  158. emailTemplateDataRuleDO.setTemplateId(dataRuleVO.getTemplateId());
  159. emailTemplateDataRuleDO.setId(dataRuleVO.getId());
  160. emailTemplateDataRuleDO.setFieldRule(dataRuleVO.getFieldRule());
  161. emailTemplateDataRuleDO.setColumn(dataRuleVO.getColumn());
  162. emailTemplateDataRuleDO.setRow(dataRuleVO.getRow());
  163. emailTemplateDataRuleDO.setPosition(dataRuleVO.getPosition());
  164. emailTemplateDataRuleDO.setUnitConvert(dataRuleVO.getUnitConvert());
  165. emailTemplateDataRuleDO.setIsvalid(1);
  166. emailTemplateDataRuleDO.setUpdaterId(userId);
  167. emailTemplateDataRuleDO.setUpdateTime(DateUtils.getNowDate());
  168. if(StringUtil.isNull(dataRuleVO.getId())){
  169. emailTemplateDataRuleDO.setCreateTime(DateUtils.getNowDate());
  170. emailTemplateDataRuleDO.setCreatorId(userId);
  171. }
  172. return emailTemplateDataRuleDO;
  173. }
  174. private EmailTemplateInfoDO toEmailTemplateInfoDO(EmailTemplateInfoVO emailTemplateInfoVO) {
  175. Integer userId = UserUtils.getLoginUser().getUserId();
  176. EmailTemplateInfoDO emailDeletionInfoDO = new EmailTemplateInfoDO();
  177. emailDeletionInfoDO.setId(emailTemplateInfoVO.getId());
  178. emailDeletionInfoDO.setName(emailTemplateInfoVO.getName());
  179. emailDeletionInfoDO.setStatus(emailTemplateInfoVO.getStatus());
  180. emailDeletionInfoDO.setDescription(emailTemplateInfoVO.getDescription());
  181. emailDeletionInfoDO.setIsvalid(1);
  182. emailDeletionInfoDO.setUpdateTime(DateUtils.getNowDate());
  183. emailDeletionInfoDO.setUpdaterId(userId);
  184. if(StringUtil.isNull(emailTemplateInfoVO.getId())){
  185. emailDeletionInfoDO.setCreateTime(DateUtils.getNowDate());
  186. emailDeletionInfoDO.setCreatorId(userId);
  187. }
  188. return emailDeletionInfoDO;
  189. }
  190. }