SmsTemplateServiceImpl.java 6.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169
  1. package com.fuint.common.service.impl;
  2. import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
  3. import com.baomidou.mybatisplus.core.toolkit.Wrappers;
  4. import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
  5. import com.fuint.common.dto.SmsTemplateDto;
  6. import com.fuint.common.enums.StatusEnum;
  7. import com.fuint.common.service.SmsTemplateService;
  8. import com.fuint.framework.annoation.OperationServiceLog;
  9. import com.fuint.framework.exception.BusinessCheckException;
  10. import com.fuint.framework.pagination.PaginationRequest;
  11. import com.fuint.framework.pagination.PaginationResponse;
  12. import com.fuint.repository.mapper.MtSmsTemplateMapper;
  13. import com.fuint.repository.model.MtSmsTemplate;
  14. import com.github.pagehelper.Page;
  15. import com.github.pagehelper.PageHelper;
  16. import lombok.AllArgsConstructor;
  17. import org.apache.commons.lang.StringUtils;
  18. import org.springframework.data.domain.PageImpl;
  19. import org.springframework.data.domain.PageRequest;
  20. import org.springframework.stereotype.Service;
  21. import org.springframework.transaction.annotation.Transactional;
  22. import java.util.Date;
  23. import java.util.HashMap;
  24. import java.util.List;
  25. import java.util.Map;
  26. /**
  27. * 短信模板业务实现类
  28. *
  29. * Created by FSQ
  30. * CopyRight https://www.fuint.cn
  31. */
  32. @Service
  33. @AllArgsConstructor
  34. public class SmsTemplateServiceImpl extends ServiceImpl<MtSmsTemplateMapper, MtSmsTemplate> implements SmsTemplateService {
  35. private MtSmsTemplateMapper mtSmsTemplateMapper;
  36. /**
  37. * 分页查询模板列表
  38. *
  39. * @param paginationRequest
  40. * @return
  41. */
  42. @Override
  43. public PaginationResponse<MtSmsTemplate> querySmsTemplateListByPagination(PaginationRequest paginationRequest) {
  44. Page<MtSmsTemplate> pageHelper = PageHelper.startPage(paginationRequest.getCurrentPage(), paginationRequest.getPageSize());
  45. LambdaQueryWrapper<MtSmsTemplate> lambdaQueryWrapper = Wrappers.lambdaQuery();
  46. lambdaQueryWrapper.ne(MtSmsTemplate::getStatus, StatusEnum.DISABLE.getKey());
  47. String merchantId = paginationRequest.getSearchParams().get("merchantId") == null ? "" : paginationRequest.getSearchParams().get("merchantId").toString();
  48. if (StringUtils.isNotBlank(merchantId)) {
  49. lambdaQueryWrapper.like(MtSmsTemplate::getMerchantId, merchantId);
  50. }
  51. String name = paginationRequest.getSearchParams().get("name") == null ? "" : paginationRequest.getSearchParams().get("name").toString();
  52. if (StringUtils.isNotBlank(name)) {
  53. lambdaQueryWrapper.like(MtSmsTemplate::getName, name);
  54. }
  55. String uname = paginationRequest.getSearchParams().get("uname") == null ? "" : paginationRequest.getSearchParams().get("uname").toString();
  56. if (StringUtils.isNotBlank(uname)) {
  57. lambdaQueryWrapper.eq(MtSmsTemplate::getUname, uname);
  58. }
  59. String code = paginationRequest.getSearchParams().get("code") == null ? "" : paginationRequest.getSearchParams().get("code").toString();
  60. if (StringUtils.isNotBlank(code)) {
  61. lambdaQueryWrapper.eq(MtSmsTemplate::getCode, code);
  62. }
  63. String status = paginationRequest.getSearchParams().get("status") == null ? "" : paginationRequest.getSearchParams().get("status").toString();
  64. if (StringUtils.isNotBlank(status)) {
  65. lambdaQueryWrapper.eq(MtSmsTemplate::getStatus, status);
  66. }
  67. lambdaQueryWrapper.orderByDesc(MtSmsTemplate::getId);
  68. List<MtSmsTemplate> dataList = mtSmsTemplateMapper.selectList(lambdaQueryWrapper);
  69. PageRequest pageRequest = PageRequest.of(paginationRequest.getCurrentPage(), paginationRequest.getPageSize());
  70. PageImpl pageImpl = new PageImpl(dataList, pageRequest, pageHelper.getTotal());
  71. PaginationResponse<MtSmsTemplate> paginationResponse = new PaginationResponse(pageImpl, MtSmsTemplate.class);
  72. paginationResponse.setTotalPages(pageHelper.getPages());
  73. paginationResponse.setTotalElements(pageHelper.getTotal());
  74. paginationResponse.setContent(dataList);
  75. return paginationResponse;
  76. }
  77. /**
  78. * 保存模板信息
  79. *
  80. * @param mtSmsTemplateDto
  81. * @return
  82. */
  83. @Override
  84. @Transactional(rollbackFor = Exception.class)
  85. @OperationServiceLog(description = "保存短信模板")
  86. public MtSmsTemplate saveSmsTemplate(SmsTemplateDto mtSmsTemplateDto) throws BusinessCheckException {
  87. MtSmsTemplate mtSmsTemplate = new MtSmsTemplate();
  88. mtSmsTemplate.setMerchantId(mtSmsTemplateDto.getMerchantId());
  89. mtSmsTemplate.setCode(mtSmsTemplateDto.getCode());
  90. mtSmsTemplate.setName(mtSmsTemplateDto.getName());
  91. mtSmsTemplate.setUname(mtSmsTemplateDto.getUname());
  92. mtSmsTemplate.setContent(mtSmsTemplateDto.getContent());
  93. mtSmsTemplate.setStatus(mtSmsTemplateDto.getStatus());
  94. mtSmsTemplate.setOperator(mtSmsTemplate.getOperator());
  95. if (mtSmsTemplateDto.getId() == null) {
  96. mtSmsTemplate.setCreateTime(new Date());
  97. mtSmsTemplate.setUpdateTime(new Date());
  98. mtSmsTemplateMapper.insert(mtSmsTemplate);
  99. } else {
  100. MtSmsTemplate oldSmsTemplate = getById(mtSmsTemplateDto.getId());
  101. if (oldSmsTemplate == null) {
  102. throw new BusinessCheckException("该短信模板不存在");
  103. }
  104. mtSmsTemplate.setMerchantId(oldSmsTemplate.getMerchantId());
  105. mtSmsTemplate.setId(mtSmsTemplateDto.getId());
  106. mtSmsTemplate.setUpdateTime(new Date());
  107. this.updateById(mtSmsTemplate);
  108. }
  109. return mtSmsTemplate;
  110. }
  111. /**
  112. * 根据ID删除数据
  113. *
  114. * @param id 模板ID
  115. * @param operator 操作人
  116. */
  117. @Override
  118. @Transactional(rollbackFor = Exception.class)
  119. @OperationServiceLog(description = "删除短信模板")
  120. public void deleteTemplate(Integer id, String operator) {
  121. MtSmsTemplate mtTemplate = mtSmsTemplateMapper.selectById(id);
  122. if (null == mtTemplate) {
  123. return;
  124. }
  125. mtTemplate.setStatus(StatusEnum.DISABLE.getKey());
  126. mtTemplate.setUpdateTime(new Date());
  127. mtSmsTemplateMapper.updateById(mtTemplate);
  128. }
  129. /**
  130. * 根据D获取信息
  131. *
  132. * @param id 模板ID
  133. * @return
  134. */
  135. @Override
  136. public MtSmsTemplate querySmsTemplateById(Integer id) {
  137. return mtSmsTemplateMapper.selectById(id);
  138. }
  139. /**
  140. * 根据参数查询短信模板
  141. *
  142. * @param params 查询参数
  143. * @return
  144. * */
  145. @Override
  146. public List<MtSmsTemplate> querySmsTemplateByParams(Map<String, Object> params) {
  147. if (params == null) {
  148. params = new HashMap<>();
  149. }
  150. List<MtSmsTemplate> result = mtSmsTemplateMapper.selectByMap(params);
  151. return result;
  152. }
  153. }