serviceImpl.java.vm 7.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171
  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.framework.annoation.OperationServiceLog;
  6. import com.fuint.framework.exception.BusinessCheckException;
  7. import com.fuint.framework.pagination.PaginationRequest;
  8. import com.fuint.framework.pagination.PaginationResponse;
  9. import com.fuint.repository.model.${className};
  10. import com.fuint.common.service.${tableClass}Service;
  11. import com.fuint.common.enums.StatusEnum;
  12. import com.fuint.repository.mapper.${className}Mapper;
  13. import com.github.pagehelper.PageHelper;
  14. import lombok.AllArgsConstructor;
  15. import org.apache.commons.lang.StringUtils;
  16. import org.slf4j.Logger;
  17. import org.slf4j.LoggerFactory;
  18. import com.github.pagehelper.Page;
  19. import org.springframework.data.domain.PageImpl;
  20. import org.springframework.data.domain.PageRequest;
  21. import org.springframework.stereotype.Service;
  22. import org.springframework.transaction.annotation.Transactional;
  23. import java.util.*;
  24. /**
  25. * ${moduleName}服务接口
  26. *
  27. * Created by ${author}
  28. * CopyRight https://www.fuint.cn
  29. */
  30. @Service
  31. @AllArgsConstructor
  32. public class ${tableClass}ServiceImpl extends ServiceImpl<${className}Mapper, ${className}> implements ${tableClass}Service {
  33. private static final Logger logger = LoggerFactory.getLogger(${tableClass}ServiceImpl.class);
  34. private ${className}Mapper ${tablePrefix}${tableClass}Mapper;
  35. /**
  36. * 分页查询数据列表
  37. *
  38. * @param paginationRequest
  39. * @return
  40. */
  41. @Override
  42. public PaginationResponse<${className}> query${tableClass}ListByPagination(PaginationRequest paginationRequest) {
  43. Page<${className}> pageHelper = PageHelper.startPage(paginationRequest.getCurrentPage(), paginationRequest.getPageSize());
  44. LambdaQueryWrapper<${className}> lambdaQueryWrapper = Wrappers.lambdaQuery();
  45. lambdaQueryWrapper.ne(${className}::getStatus, StatusEnum.DISABLE.getKey());
  46. lambdaQueryWrapper.orderByAsc(${className}::getSort);
  47. List<${className}> dataList = ${tablePrefix}${tableClass}Mapper.selectList(lambdaQueryWrapper);
  48. PageRequest pageRequest = PageRequest.of(paginationRequest.getCurrentPage(), paginationRequest.getPageSize());
  49. PageImpl pageImpl = new PageImpl(dataList, pageRequest, pageHelper.getTotal());
  50. PaginationResponse<${className}> paginationResponse = new PaginationResponse(pageImpl, ${className}.class);
  51. paginationResponse.setTotalPages(pageHelper.getPages());
  52. paginationResponse.setTotalElements(pageHelper.getTotal());
  53. paginationResponse.setContent(dataList);
  54. return paginationResponse;
  55. }
  56. /**
  57. * 添加${moduleName}
  58. *
  59. * @param ${tablePrefix}${tableClass} ${moduleName}信息
  60. * @return
  61. */
  62. @Override
  63. @OperationServiceLog(description = "新增${moduleName}")
  64. public ${className} add${tableClass}(${className} ${tablePrefix}${tableClass}) throws BusinessCheckException {
  65. ${tablePrefix}${tableClass}.setStatus(StatusEnum.ENABLED.getKey());
  66. ${tablePrefix}${tableClass}.setUpdateTime(new Date());
  67. ${tablePrefix}${tableClass}.setCreateTime(new Date());
  68. Integer id = ${tablePrefix}${tableClass}Mapper.insert(${tablePrefix}${tableClass});
  69. if (id > 0) {
  70. return ${tablePrefix}${tableClass};
  71. } else {
  72. throw new BusinessCheckException("新增${moduleName}数据失败");
  73. }
  74. }
  75. /**
  76. * 根据ID获${moduleName}取息
  77. *
  78. * @param id ${moduleName}ID
  79. * @return
  80. */
  81. @Override
  82. public ${className} query${tableClass}ById(Integer id) {
  83. return ${tablePrefix}${tableClass}Mapper.selectById(id);
  84. }
  85. /**
  86. * 根据ID删除${moduleName}
  87. *
  88. * @param id ${moduleName}ID
  89. * @param operator 操作人
  90. * @return
  91. */
  92. @Override
  93. @Transactional(rollbackFor = Exception.class)
  94. @OperationServiceLog(description = "删除${moduleName}")
  95. public void delete${tableClass}(Integer id, String operator) {
  96. ${className} ${tablePrefix}${tableClass} = query${tableClass}ById(id);
  97. if (null == ${tablePrefix}${tableClass}) {
  98. return;
  99. }
  100. ${tablePrefix}${tableClass}.setStatus(StatusEnum.DISABLE.getKey());
  101. ${tablePrefix}${tableClass}.setUpdateTime(new Date());
  102. ${tablePrefix}${tableClass}Mapper..updateById(${tablePrefix}${tableClass});
  103. }
  104. /**
  105. * 修改${moduleName}数据
  106. *
  107. * @param ${tablePrefix}${tableClass}
  108. * @throws BusinessCheckException
  109. * @return
  110. */
  111. @Override
  112. @Transactional(rollbackFor = Exception.class)
  113. @OperationServiceLog(description = "更新${moduleName}")
  114. public ${className} update${tableClass}(${className} ${tablePrefix}${tableClass}) throws BusinessCheckException {
  115. ${tablePrefix}${tableClass} = query${tableClass}ById(${tablePrefix}${tableClass}.getId());
  116. if (${tablePrefix}${tableClass} == null) {
  117. throw new BusinessCheckException("该${moduleName}状态异常");
  118. }
  119. ${tablePrefix}${tableClass}.setUpdateTime(new Date());
  120. ${tablePrefix}${tableClass}Mapper.updateById(${tablePrefix}${tableClass});
  121. return ${tablePrefix}${tableClass};
  122. }
  123. /**
  124. * 根据条件搜索${moduleName}
  125. *
  126. * @param params 查询参数
  127. * @throws BusinessCheckException
  128. * @return
  129. * */
  130. @Override
  131. public List<${className}> query${tableClass}ListByParams(Map<String, Object> params) {
  132. String status = params.get("status") == null ? StatusEnum.ENABLED.getKey(): params.get("status").toString();
  133. String storeId = params.get("storeId") == null ? "" : params.get("storeId").toString();
  134. String merchantId = params.get("merchantId") == null ? "" : params.get("merchantId").toString();
  135. String title = params.get("title") == null ? "" : params.get("title").toString();
  136. LambdaQueryWrapper<${className}> lambdaQueryWrapper = Wrappers.lambdaQuery();
  137. if (StringUtils.isNotBlank(title)) {
  138. lambdaQueryWrapper.like(${className}::getTitle, title);
  139. }
  140. if (StringUtils.isNotBlank(status)) {
  141. lambdaQueryWrapper.eq(${className}::getStatus, status);
  142. }
  143. if (StringUtils.isNotBlank(merchantId)) {
  144. lambdaQueryWrapper.eq(${className}::getMerchantId, merchantId);
  145. }
  146. if (StringUtils.isNotBlank(storeId)) {
  147. lambdaQueryWrapper.and(wq -> wq
  148. .eq(${className}::getStoreId, 0)
  149. .or()
  150. .eq(${className}::getStoreId, storeId));
  151. }
  152. lambdaQueryWrapper.orderByAsc(${className}::getSort);
  153. List<${className}> dataList = ${tablePrefix}${tableClass}Mapper.selectList(lambdaQueryWrapper);
  154. return dataList;
  155. }
  156. }